@skill-map/cli 0.52.0 → 0.53.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-tutorial/SKILL.md +239 -1659
- package/dist/cli/tutorial/sm-tutorial/references/_core.md +332 -0
- package/dist/cli/tutorial/sm-tutorial/references/_manifest.yml +175 -0
- package/dist/cli/tutorial/sm-tutorial/references/fixtures.md +251 -0
- package/dist/cli/tutorial/{sm-master/references/tour-authoring.md → sm-tutorial/references/part-authoring.md} +14 -15
- package/dist/cli/tutorial/sm-tutorial/references/part-cli.md +267 -0
- package/dist/cli/tutorial/sm-tutorial/references/part-connect-harness.md +180 -0
- package/dist/cli/tutorial/sm-tutorial/references/part-fundamentals.md +424 -0
- package/dist/cli/tutorial/sm-tutorial/references/part-live-site.md +156 -0
- package/dist/cli/tutorial/sm-tutorial/references/part-maintain.md +286 -0
- package/dist/cli/tutorial/sm-tutorial/references/part-mcp.md +78 -0
- package/dist/cli/tutorial/{sm-master/references/tour-plugins.md → sm-tutorial/references/part-plugins.md} +11 -11
- package/dist/cli/tutorial/sm-tutorial/references/part-project-kickoff.md +186 -0
- package/dist/cli/tutorial/{sm-master/references/tour-settings.md → sm-tutorial/references/part-settings.md} +22 -24
- package/dist/cli.js +1213 -550
- package/dist/index.d.ts +1 -1
- package/dist/index.js +334 -207
- package/dist/kernel/index.d.ts +320 -15
- package/dist/kernel/index.js +334 -207
- package/dist/migrations/001_initial.sql +36 -0
- package/dist/ui/chunk-EQ72PEHT.js +1 -0
- package/dist/ui/chunk-GBKHMJ4B.js +1110 -0
- package/dist/ui/chunk-GEI6INVH.js +515 -0
- package/dist/ui/chunk-JXRIGHET.js +552 -0
- package/dist/ui/{chunk-WQMZOINB.js → chunk-K2MAVAHG.js} +1 -1
- package/dist/ui/{chunk-BV323KTK.js → chunk-KHARMPTZ.js} +1 -1
- package/dist/ui/chunk-L4NIF75A.js +2 -0
- package/dist/ui/chunk-LCOYSPKE.js +1 -0
- package/dist/ui/chunk-OFDQMBSJ.js +1 -0
- package/dist/ui/chunk-P2DAPRK7.js +2 -0
- package/dist/ui/chunk-Q2A6FWC7.js +4 -0
- package/dist/ui/{chunk-ZNDMBION.js → chunk-TXTY24G4.js} +28 -30
- package/dist/ui/chunk-UBQUCSQ4.js +1 -0
- package/dist/ui/chunk-WFLPMCK4.js +392 -0
- package/dist/ui/chunk-YQFIXHKM.js +123 -0
- package/dist/ui/index.html +2 -2
- package/dist/ui/{main-2DWVSRRX.js → main-OYITFJ7B.js} +3 -3
- package/dist/ui/{styles-QBTVKEVX.css → styles-Q4NCOJQY.css} +1 -1
- package/migrations/001_initial.sql +36 -0
- package/package.json +10 -8
- package/dist/cli/tutorial/sm-master/SKILL.md +0 -688
- package/dist/cli/tutorial/sm-master/references/fixture-templates.md +0 -212
- package/dist/ui/chunk-5MCXQKRN.js +0 -1066
- package/dist/ui/chunk-6B5EAHIM.js +0 -1110
- package/dist/ui/chunk-AEA5GIA7.js +0 -1
- package/dist/ui/chunk-AQN27TN2.js +0 -123
- package/dist/ui/chunk-CAJ7ZI44.js +0 -1
- package/dist/ui/chunk-E2XO4JVD.js +0 -1
- package/dist/ui/chunk-VJ57LHDR.js +0 -4
- package/dist/ui/chunk-WMGW2UAL.js +0 -2
|
@@ -431,6 +431,42 @@ CREATE TABLE scan_contributions (
|
|
|
431
431
|
CREATE INDEX ix_scan_contributions_node_path ON scan_contributions(node_path);
|
|
432
432
|
CREATE INDEX ix_scan_contributions_plugin_id ON scan_contributions(plugin_id);
|
|
433
433
|
|
|
434
|
+
-- scan_contribution_errors: per-scan record of view contributions the
|
|
435
|
+
-- orchestrator REJECTED at emit time (the "off-shape visible" follow-up).
|
|
436
|
+
-- Each row is one `ctx.emitContribution(...)` call that did NOT survive
|
|
437
|
+
-- validation, with the same diagnostic the ephemeral `extension.error`
|
|
438
|
+
-- event (kind `contribution-rejected`) already carried. Two rejection
|
|
439
|
+
-- shapes land here:
|
|
440
|
+
-- 1. `undeclared-contribution-ref` — the extension passed a `ref` that
|
|
441
|
+
-- is not one of its declared `viewContributions` objects (a spread
|
|
442
|
+
-- copy / inline literal). `contribution_id` and `slot` are NULL.
|
|
443
|
+
-- 2. AJV failure — the payload failed the slot's payload schema. `reason`
|
|
444
|
+
-- carries the AJV error string; `contribution_id` and `slot` name the
|
|
445
|
+
-- target contribution / slot.
|
|
446
|
+
--
|
|
447
|
+
-- Belongs to the `scan_*` family. Plain REPLACE-ALL per scan (delete all,
|
|
448
|
+
-- then insert), the same posture as `scan_issues` — NOT the orphan/catalog/
|
|
449
|
+
-- per-tuple sweep `scan_contributions` uses. A rejected emission is a
|
|
450
|
+
-- transient scan finding, not durable state: every scan re-derives the
|
|
451
|
+
-- full set, so there is no cached-node row to preserve and no compound PK
|
|
452
|
+
-- (the nullable `contribution_id` / `slot` columns rule a compound PK out
|
|
453
|
+
-- anyway). Indexes on `plugin_id` (the `sm plugins doctor` group-by) and
|
|
454
|
+
-- `node_path` (the rename heuristic + per-node lookups).
|
|
455
|
+
CREATE TABLE scan_contribution_errors (
|
|
456
|
+
plugin_id TEXT NOT NULL,
|
|
457
|
+
extension_id TEXT NOT NULL,
|
|
458
|
+
node_path TEXT NOT NULL,
|
|
459
|
+
reason TEXT NOT NULL,
|
|
460
|
+
message TEXT NOT NULL,
|
|
461
|
+
-- NULL for the `undeclared-contribution-ref` shape (the orchestrator
|
|
462
|
+
-- never resolved a contribution id / slot for the rejected ref).
|
|
463
|
+
contribution_id TEXT,
|
|
464
|
+
slot TEXT,
|
|
465
|
+
emitted_at INTEGER NOT NULL
|
|
466
|
+
);
|
|
467
|
+
CREATE INDEX ix_scan_contribution_errors_plugin_id ON scan_contribution_errors(plugin_id);
|
|
468
|
+
CREATE INDEX ix_scan_contribution_errors_node_path ON scan_contribution_errors(node_path);
|
|
469
|
+
|
|
434
470
|
-- scan_node_tags: tag system. One row per (node_path, tag) pair.
|
|
435
471
|
-- Projected at persist time from `sidecar.annotations.tags`. Tags are
|
|
436
472
|
-- a skill-map concept (no vendor carries `tags` in frontmatter), so the
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as l,d,h as p}from"./chunk-OFDQMBSJ.js";import{K as o,P as s,ga as r,sc as a}from"./chunk-Q2A6FWC7.js";import{a as c}from"./chunk-WCABR6TI.js";var S={triggerLabel:"Settings",triggerTooltip:"Settings",modalTitle:"Settings",closeLabel:"Close",sections:{plugins:"Plugins",general:"General",project:"Project",changelog:"Changelog",about:"About"},general:{heading:"General",intro:"Per-machine preferences.",loadErrorPrefix:"Could not load preferences:",saveErrorPrefix:"Could not save preferences:",toggles:{"updateCheck.enabled":{label:"Check for updates",description:"Check npm for newer @skill-map/cli releases."},telemetry:{label:"Send anonymous error & usage reports",description:"Report crashes and which features you use. No file contents or paths.",hint:"Restart sm for this to take effect."}},extraTheme:{label:"Theme",description:"Pick a specialty theme.",options:{none:{label:"None",description:"Use the topbar dark/light toggle."}}},storageHintLabel:"Settings are stored in:",storageHintPath:"~/.skill-map/settings.json"},project:{heading:"Project",introPrefix:"These settings apply only to this project and are saved in",introPath:".skill-map/settings.local.json",introSuffix:".",loadErrorPrefix:"Could not load project settings:",saveErrorPrefix:"Could not save project settings:",referencePathsLabel:"Folders for link validation",referencePathsDescription:"If your notes link to files outside this project, list those folders here. Skill-map checks them only to confirm the links work, nothing from these folders shows up in the map.",referencePathsPlaceholder:"~/Documents/research",referencePathsInputAriaLabel:"New folder path",commaForbidden:"Add one path at a time, without commas.",addPathLabel:"Add path",removePathLabel:"Remove",confirmDialogHeader:"Allow access to folders outside this project?",confirmDialogIntro:"This change lets the scan read files in:",confirmDialogAccept:"Allow access",confirmDialogReject:"Cancel",ignorePatternsLabel:"Ignored patterns",ignorePatternsDescriptionPrefix:"Patterns that exclude files and folders from the scan, stored in",ignorePatternsDescriptionFile:".skillmapignore",ignorePatternsDescriptionMiddle:"at the project root. Same syntax as",ignorePatternsDescriptionGitignore:".gitignore",ignorePatternsDescriptionSuffix:"(one pattern per line).",ignorePatternsPlaceholder:"secrets.md",ignorePatternsInputAriaLabel:"New ignore pattern",ignorePatternEmpty:"Pattern cannot be empty or whitespace-only.",ignorePatternHasControlChar:"Pattern must be a single line without control characters.",ignorePatternDuplicate:"This pattern is already in the list.",addIgnorePatternLabel:"Add pattern",removeIgnorePatternLabel:"Remove",activeProviderLabel:"Active provider",activeProviderDescription:"Selects which provider sees this project. The map reflects how the chosen provider interprets your files.",activeProviderSourceAutodetect:"Auto-detected from your files (no value saved yet).",activeProviderSourceNone:"No provider detected. Install or enable a provider to start.",activeProviderDetectedPrefix:"Detected:",activeProviderEmptyOption:"(none)",activeProviderDisabledSuffix:"(disabled)",activeProviderConfirmHeader:"Switch the active provider?",activeProviderConfirmIntro:"Switching will clear the persisted scan (nodes, links, issues). Jobs and history are kept. You will need to run `sm scan` after the switch.",activeProviderConfirmAccept:"Switch and clear scan",activeProviderConfirmReject:"Cancel",activeProviderSwitchedPrefix:"Lens switched. Cleared",activeProviderSwitchedSuffix:"scan table(s). Run `sm scan` to repopulate.",activeProviderSwitchedNoDb:"Lens switched. Run `sm scan` to populate the map under the new lens."},changelogHeading:"Changelog",changelogIntro:"What's new in skill-map. Each entry covers a release of @skill-map/cli (the CLI + bundled UI) and lists the user-facing changes plus the workspace(s) each one affects.",changelogEmpty:"No release notes yet. Future releases will populate this list automatically from the changesets shipped in each PR.",changelogInternalRelease:"Internal release. Focus on stability, infra, and refactors. No user-facing changes this time.",changelogAffectedPackages:"Affected packages",changelogFooterText:"Want the full changelog?",changelogFooterLinkLabel:"See it on GitHub \u2192",changelogFooterUrl:"https://github.com/crystian/skill-map/blob/main/src/CHANGELOG.md",aboutHeading:"About",aboutIntro:"Version information for the running CLI / server.",aboutCliLabel:"skill-map CLI",aboutSpecLabel:"Spec version",aboutSchemaLabel:"Schema version",aboutFolderLabel:"Project folder",aboutDbLabel:"Project DB",aboutDbValue:(e,i)=>e==="present"?i:`${e} \xB7 ${i}`,aboutLoading:"Loading\u2026",aboutUnknown:"-",aboutErrorPrefix:"Could not read health endpoint:",aboutLinksHeading:"Links",aboutWebsiteLabel:"Website",aboutGithubLabel:"GitHub",aboutWebsiteUrl:"https://skill-map.ai/",aboutGithubUrl:"https://github.com/crystian/skill-map",aboutStarHeading:"Enjoying skill-map?",aboutStarBody:"If it's useful to you, drop us a star on GitHub, it helps a lot and keeps the project alive.",aboutStarCta:"Star on GitHub",aboutStarA11y:"Open the skill-map repository on GitHub to give it a star",pluginsHeading:"Plugins",pluginsIntro:"Enable or disable installed plugins.",pluginsSearchPlaceholder:"Filter by name\u2026",pluginsSearchA11y:"Filter plugins by name",pluginsSearchEmpty:e=>`No plugins match "${e}".`,pluginsKindFilterAll:"All",pluginsKindFilterOptionA11y:(e,i)=>i?`Show only ${e} extensions`:"Show all kinds",pluginsSourceFilterOptionA11y:(e,i)=>i?`Show only ${e} plugins`:"Show all sources",pluginsFilterA11y:"Filter plugins by source and kind",pluginsFilterAllA11y:"Show every plugin (clear the source and kind filters)",pluginsProjectEmpty:"No project plugins yet. Drop one under .skill-map/plugins/ or create it with sm plugins create <id>.",unsavedChangesMessage:e=>e===1?'1 unsaved change. Click "Apply" to persist it.':`${e} unsaved changes. Click "Apply" to persist them.`,startsAsDisabledRowHint:"This plugin started disabled and is not loaded in memory. Restart `sm serve` for the change to take effect.",startsAsDisabledFooterHint:"Some plugins were disabled when the server started. Consider restarting `sm serve` so they take effect.",discardChanges:"Discard",applyAndClose:"Apply",discardA11y:"Discard pending plugin changes",applyA11y:"Apply pending plugin changes and refresh the map",confirmCloseTitle:"Apply pending changes?",confirmCloseBody:e=>e===1?"You have 1 unsaved change.":`You have ${e} unsaved changes.`,keepEditing:"Keep editing",sourceBuiltIn:"Built-in",sourceProject:"Project",enabledLabel:"Enabled",disabledLabel:"Disabled",lockedLabel:"Locked",lockedTooltip:"Locked by the host (cannot be toggled).",expandLabel:"Show extensions",collapseLabel:"Hide extensions",runtimeErrors:{badge:e=>e===1?"1 runtime error":`${e} runtime errors`,badgeTooltip:"This plugin loaded fine, but some of its contributions were rejected during the last scan. Expand for details.",expandLabel:"Show runtime errors",collapseLabel:"Hide runtime errors",extensionPrefix:"Extension:",slotPrefix:"Slot:",contributionPrefix:"Contribution:",a11y:{toggle:(e,i)=>`Runtime errors for plugin ${e} (${i})`}},statusFailure:{"incompatible-spec":"Incompatible spec version","invalid-manifest":"Invalid manifest","load-error":"Failed to load","id-collision":"Plugin id collision"},loading:"Loading plugins\u2026",empty:"No plugins installed.",errorPrefix:"Could not load plugins:",toggleErrorPrefix:"Toggle failed:",a11y:{triggerLabel:"Open settings",pluginToggle:(e,i)=>i?`Enable plugin ${e}`:`Disable plugin ${e}`,extensionToggle:(e,i)=>i?`Enable ${e}`:`Disable ${e}`,pluginRow:e=>`Plugin ${e} row`,extensionRow:e=>`Extension ${e} row`}};var y="#9ca3af",P="#6b7280",A=(()=>{class e{_entries=r([]);providers=this._entries.asReadonly();index=a(()=>{let t=new Map;for(let n of this._entries())t.set(n.id,n);return t});ingest(t){if(!t)return;let n=[];for(let[b,v]of Object.entries(t))n.push(c({id:b},v));k(this._entries(),n)||this._entries.set(n)}lookup(t){return this.index().get(t)}cardChip(t){if(!t)return null;let n=this.lookup(t);return n?n.hideChip?null:u(n):g(t)}lensChip(t){if(!t)return null;let n=this.lookup(t);return n?u(n):g(t)}static \u0275fac=function(n){return new(n||e)};static \u0275prov=o({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function u(e){let i={label:e.label,color:e.color};return e.colorDark!==void 0&&(i.colorDark=e.colorDark),i}function g(e){return{label:e,color:y,colorDark:P}}function k(e,i){if(e.length!==i.length)return!1;for(let t=0;t<e.length;t++)if(JSON.stringify(e[t])!==JSON.stringify(i[t]))return!1;return!0}var f={available:"Update available",copiedLabel:"Copied!",tooltip:e=>`v${e} is available. Click to copy the install command.`,copyCommand:"npm i -g @skill-map/cli@latest",copiedTooltip:"Copied! Paste it in your terminal.",npmLinkUrl:"https://www.npmjs.com/package/@skill-map/cli",npmLinkTooltip:"Open on npm",npmLinkA11y:"Open the @skill-map/cli package page on npm",a11yLabel:e=>`Update available: version ${e}, click to copy the install command`,versionLabel:e=>`v${e}`,versionTooltip:e=>`skill-map CLI v${e}`,versionA11yLabel:e=>`Running version ${e}`,fetchFailed:e=>`UpdateCheckService: fetch failed (${e})`};var R=(()=>{class e{dataSource=s(l);status=r(null);isOutdated=a(()=>this.status()?.isOutdated===!0);latest=a(()=>this.status()?.latest??null);current=a(()=>this.status()?.current??null);async load(){try{let t=await this.dataSource.getUpdateStatus();this.status.set(t)}catch(t){let n=t instanceof Error?t.message:String(t);console.warn(f.fetchFailed(n))}}static \u0275fac=function(n){return new(n||e)};static \u0275prov=o({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var m={scanFailed:e=>`scan-trigger failed: ${e}`};var M=(()=>{class e{dataSource=s(l);loader=s(p);scanning=r(!1);scanError=r(null);async run(){if(!this.scanning()){this.scanning.set(!0),this.scanError.set(null);try{await this.dataSource.runScan(),await this.loader.load()}catch(t){let n=t instanceof d||t instanceof Error?t.message:String(t);this.scanError.set(n),console.warn(m.scanFailed(n))}finally{this.scanning.set(!1)}}}static \u0275fac=function(n){return new(n||e)};static \u0275prov=o({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();export{A as a,f as b,R as c,S as d,M as e};
|