@skill-map/cli 0.53.5 → 0.54.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 +4 -2
- package/dist/cli/tutorial/sm-tutorial/references/_core.md +33 -7
- package/dist/cli/tutorial/sm-tutorial/references/_manifest.yml +1 -1
- package/dist/cli/tutorial/sm-tutorial/references/fixtures.md +0 -16
- package/dist/cli/tutorial/sm-tutorial/references/part-cli.md +8 -32
- package/dist/cli/tutorial/sm-tutorial/references/part-connect-harness.md +1 -16
- package/dist/cli/tutorial/sm-tutorial/references/part-fundamentals.md +4 -22
- package/dist/cli/tutorial/sm-tutorial/references/part-live-site.md +3 -3
- package/dist/cli/tutorial/sm-tutorial/references/part-maintain.md +17 -18
- package/dist/cli/tutorial/sm-tutorial/references/part-project-kickoff.md +0 -2
- package/dist/cli.js +459 -241
- package/dist/index.js +5 -5
- package/dist/kernel/index.d.ts +30 -3
- package/dist/kernel/index.js +5 -5
- package/dist/migrations/001_initial.sql +1 -1
- package/dist/ui/{chunk-7OJPO3XD.js → chunk-BUNPMGDX.js} +16 -15
- package/dist/ui/{chunk-NBXEOYS4.js → chunk-CXTU4HQV.js} +1 -1
- package/dist/ui/chunk-DSNBKMYU.js +2 -0
- package/dist/ui/chunk-MVRQGDZJ.js +123 -0
- package/dist/ui/index.html +2 -2
- package/dist/ui/{main-QLIHFXBC.js → main-HP3MOLI2.js} +3 -3
- package/dist/ui/{styles-L6FZYH7X.css → styles-4SNVM34O.css} +1 -1
- package/migrations/001_initial.sql +1 -1
- package/package.json +2 -2
- package/dist/ui/chunk-HWQTV6ZL.js +0 -2
- package/dist/ui/chunk-MWDBZ2BE.js +0 -123
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// kernel/i18n/registry.texts.ts
|
|
2
2
|
|
|
3
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
3
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f476faaa-267b-52a2-84d7-7b8859286768")}catch(e){}}();
|
|
4
4
|
var REGISTRY_TEXTS = {
|
|
5
5
|
duplicateExtension: "Extension already registered: {{kind}}:{{qualifiedId}}",
|
|
6
6
|
unknownKind: "Unknown extension kind: {{kind}}",
|
|
@@ -102,7 +102,7 @@ import { Tiktoken as Tiktoken2 } from "js-tiktoken/lite";
|
|
|
102
102
|
// package.json
|
|
103
103
|
var package_default = {
|
|
104
104
|
name: "@skill-map/cli",
|
|
105
|
-
version: "0.
|
|
105
|
+
version: "0.54.0",
|
|
106
106
|
description: "skill-map reference implementation \u2014 kernel + CLI + adapters.",
|
|
107
107
|
license: "MIT",
|
|
108
108
|
type: "module",
|
|
@@ -1027,8 +1027,9 @@ function buildVirtualNode(extractor, emitted, emitter) {
|
|
|
1027
1027
|
if (emitted.frontmatter) node.frontmatter = emitted.frontmatter;
|
|
1028
1028
|
return node;
|
|
1029
1029
|
}
|
|
1030
|
+
var KNOWN_LINK_KINDS = ["invokes", "references", "mentions", "supersedes", "points"];
|
|
1030
1031
|
function validateLink(extractor, link, emitter) {
|
|
1031
|
-
const knownKinds =
|
|
1032
|
+
const knownKinds = KNOWN_LINK_KINDS;
|
|
1032
1033
|
if (!knownKinds.includes(link.kind)) {
|
|
1033
1034
|
const qualifiedId = `${extractor.pluginId}/${extractor.id}`;
|
|
1034
1035
|
emitter.emit(
|
|
@@ -1063,7 +1064,6 @@ function validateLink(extractor, link, emitter) {
|
|
|
1063
1064
|
const confidence = c ?? ConfidenceTier.MEDIUM;
|
|
1064
1065
|
return { ...link, confidence };
|
|
1065
1066
|
}
|
|
1066
|
-
var KNOWN_LINK_KINDS = ["invokes", "references", "mentions", "supersedes"];
|
|
1067
1067
|
function validateSignal(extractor, signal, emitter) {
|
|
1068
1068
|
const qualifiedId = qualifiedExtensionId(extractor.pluginId, extractor.id);
|
|
1069
1069
|
if (!Array.isArray(signal.candidates) || signal.candidates.length === 0) {
|
|
@@ -3632,4 +3632,4 @@ export {
|
|
|
3632
3632
|
runScanWithRenames
|
|
3633
3633
|
};
|
|
3634
3634
|
//# sourceMappingURL=index.js.map
|
|
3635
|
-
//# debugId=
|
|
3635
|
+
//# debugId=f476faaa-267b-52a2-84d7-7b8859286768
|
package/dist/kernel/index.d.ts
CHANGED
|
@@ -553,6 +553,19 @@ type TSettingValue = string | string[] | boolean | number | ISetting_KeyValueLis
|
|
|
553
553
|
* folder name and is injected at load time.
|
|
554
554
|
*/
|
|
555
555
|
|
|
556
|
+
/**
|
|
557
|
+
* Lifecycle label an extension manifest MAY declare. Presentation-only
|
|
558
|
+
* metadata: the non-default values render as a badge next to the
|
|
559
|
+
* extension in `sm plugins list` / `sm plugins show` and the Settings
|
|
560
|
+
* plugins panel, and the kernel never gates behaviour on it (a
|
|
561
|
+
* `deprecated` extension still runs). Default: missing == `stable`,
|
|
562
|
+
* and `stable` (declared or defaulted) renders no badge. Mirrors
|
|
563
|
+
* `spec/schemas/extensions/base.schema.json#/properties/stability`.
|
|
564
|
+
* Deliberately a superset of the node-level annotations enum (which has
|
|
565
|
+
* no `beta`): this describes the maturity of the extension itself, not
|
|
566
|
+
* of a scanned node.
|
|
567
|
+
*/
|
|
568
|
+
type TExtensionStability = 'experimental' | 'beta' | 'stable' | 'deprecated';
|
|
556
569
|
/**
|
|
557
570
|
* Single declaration of an extension's optional sidecar annotation
|
|
558
571
|
* contribution. The annotation key is the extension's id (the leaf folder
|
|
@@ -605,6 +618,12 @@ interface IExtensionBase {
|
|
|
605
618
|
version: string;
|
|
606
619
|
/** Required short description shown by `sm <kind>s list` / UI. */
|
|
607
620
|
description: string;
|
|
621
|
+
/**
|
|
622
|
+
* Optional lifecycle label (`experimental` / `beta` / `stable` /
|
|
623
|
+
* `deprecated`). Missing == `stable`, no badge rendered. See
|
|
624
|
+
* `TExtensionStability` for the full semantics.
|
|
625
|
+
*/
|
|
626
|
+
stability?: TExtensionStability;
|
|
608
627
|
/**
|
|
609
628
|
* Optional inspector-only ordering hint (default 100). Inside the
|
|
610
629
|
* owning plugin's inspector section, orders this extension's
|
|
@@ -748,7 +767,7 @@ interface IExtensionBase {
|
|
|
748
767
|
* `NodeKind` when the code is intentionally claude-catalog-specific.
|
|
749
768
|
*/
|
|
750
769
|
type NodeKind = 'skill' | 'agent' | 'command' | 'markdown';
|
|
751
|
-
type LinkKind = 'invokes' | 'references' | 'mentions' | 'supersedes';
|
|
770
|
+
type LinkKind = 'invokes' | 'references' | 'mentions' | 'supersedes' | 'points';
|
|
752
771
|
/**
|
|
753
772
|
* Extractor's self-assessed confidence, normalized to `[0..1]`. Drives
|
|
754
773
|
* UI edge opacity in the graph view (more confident = more opaque edge).
|
|
@@ -1441,6 +1460,14 @@ interface ILoadedExtension {
|
|
|
1441
1460
|
*/
|
|
1442
1461
|
pluginId: string;
|
|
1443
1462
|
version: string;
|
|
1463
|
+
/**
|
|
1464
|
+
* Optional lifecycle label copied verbatim from the validated
|
|
1465
|
+
* manifest (`IExtensionBase.stability`). Stamped here by the loader
|
|
1466
|
+
* so consumers (CLI list/show, BFF projection) read a typed field
|
|
1467
|
+
* instead of shape-checking `instance`. Absent when the manifest
|
|
1468
|
+
* does not declare it.
|
|
1469
|
+
*/
|
|
1470
|
+
stability?: TExtensionStability;
|
|
1444
1471
|
entryPath: string;
|
|
1445
1472
|
/** Raw module namespace as returned by the dynamic `import()`. */
|
|
1446
1473
|
module: unknown;
|
|
@@ -2736,8 +2763,8 @@ interface IEmittedNode {
|
|
|
2736
2763
|
interface IExtractorCallbacks {
|
|
2737
2764
|
/**
|
|
2738
2765
|
* Emit a single Link. Validated against the global closed enum of
|
|
2739
|
-
* link kinds (`invokes`, `references`, `mentions`, `supersedes
|
|
2740
|
-
* before insertion; off-enum kinds drop silently with an
|
|
2766
|
+
* link kinds (`invokes`, `references`, `mentions`, `supersedes`,
|
|
2767
|
+
* `points`) before insertion; off-enum kinds drop silently with an
|
|
2741
2768
|
* `extension.error` event.
|
|
2742
2769
|
*/
|
|
2743
2770
|
emitLink(link: Link): void;
|
package/dist/kernel/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// kernel/i18n/registry.texts.ts
|
|
2
2
|
|
|
3
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
3
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="6e48fcae-efdb-598f-b908-26a9d46853cc")}catch(e){}}();
|
|
4
4
|
var REGISTRY_TEXTS = {
|
|
5
5
|
duplicateExtension: "Extension already registered: {{kind}}:{{qualifiedId}}",
|
|
6
6
|
unknownKind: "Unknown extension kind: {{kind}}",
|
|
@@ -102,7 +102,7 @@ import { Tiktoken as Tiktoken2 } from "js-tiktoken/lite";
|
|
|
102
102
|
// package.json
|
|
103
103
|
var package_default = {
|
|
104
104
|
name: "@skill-map/cli",
|
|
105
|
-
version: "0.
|
|
105
|
+
version: "0.54.0",
|
|
106
106
|
description: "skill-map reference implementation \u2014 kernel + CLI + adapters.",
|
|
107
107
|
license: "MIT",
|
|
108
108
|
type: "module",
|
|
@@ -1027,8 +1027,9 @@ function buildVirtualNode(extractor, emitted, emitter) {
|
|
|
1027
1027
|
if (emitted.frontmatter) node.frontmatter = emitted.frontmatter;
|
|
1028
1028
|
return node;
|
|
1029
1029
|
}
|
|
1030
|
+
var KNOWN_LINK_KINDS = ["invokes", "references", "mentions", "supersedes", "points"];
|
|
1030
1031
|
function validateLink(extractor, link, emitter) {
|
|
1031
|
-
const knownKinds =
|
|
1032
|
+
const knownKinds = KNOWN_LINK_KINDS;
|
|
1032
1033
|
if (!knownKinds.includes(link.kind)) {
|
|
1033
1034
|
const qualifiedId = `${extractor.pluginId}/${extractor.id}`;
|
|
1034
1035
|
emitter.emit(
|
|
@@ -1063,7 +1064,6 @@ function validateLink(extractor, link, emitter) {
|
|
|
1063
1064
|
const confidence = c ?? ConfidenceTier.MEDIUM;
|
|
1064
1065
|
return { ...link, confidence };
|
|
1065
1066
|
}
|
|
1066
|
-
var KNOWN_LINK_KINDS = ["invokes", "references", "mentions", "supersedes"];
|
|
1067
1067
|
function validateSignal(extractor, signal, emitter) {
|
|
1068
1068
|
const qualifiedId = qualifiedExtensionId(extractor.pluginId, extractor.id);
|
|
1069
1069
|
if (!Array.isArray(signal.candidates) || signal.candidates.length === 0) {
|
|
@@ -3632,4 +3632,4 @@ export {
|
|
|
3632
3632
|
runScanWithRenames
|
|
3633
3633
|
};
|
|
3634
3634
|
//# sourceMappingURL=index.js.map
|
|
3635
|
-
//# debugId=
|
|
3635
|
+
//# debugId=6e48fcae-efdb-598f-b908-26a9d46853cc
|
|
@@ -99,7 +99,7 @@ CREATE TABLE scan_links (
|
|
|
99
99
|
-- `.claude/agents/real-agent.md`.
|
|
100
100
|
resolved_target TEXT,
|
|
101
101
|
raw TEXT,
|
|
102
|
-
CONSTRAINT ck_scan_links_kind CHECK (kind IN ('invokes','references','mentions','supersedes')),
|
|
102
|
+
CONSTRAINT ck_scan_links_kind CHECK (kind IN ('invokes','references','mentions','supersedes','points')),
|
|
103
103
|
CONSTRAINT ck_scan_links_confidence CHECK (confidence >= 0.0 AND confidence <= 1.0)
|
|
104
104
|
);
|
|
105
105
|
CREATE INDEX ix_scan_links_source_path ON scan_links(source_path);
|