@skill-map/cli 0.62.2 → 0.63.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 +1 -1
- package/dist/cli/tutorial/sm-tutorial/references/_core.md +8 -8
- package/dist/cli/tutorial/sm-tutorial/references/part-authoring.md +22 -11
- package/dist/cli/tutorial/sm-tutorial/references/part-project-kickoff.md +2 -2
- package/dist/cli/tutorial/sm-tutorial/references/part-settings.md +2 -2
- package/dist/cli.js +183 -203
- package/dist/index.js +20 -13
- package/dist/kernel/index.d.ts +10 -18
- package/dist/kernel/index.js +20 -13
- package/dist/ui/{chunk-ECKRC6XD.js → chunk-JEWVC3KW.js} +1 -1
- package/dist/ui/chunk-PEBQMYAG.js +1 -0
- package/dist/ui/chunk-PNEFOABG.js +3 -0
- package/dist/ui/{chunk-CM4YB7L4.js → chunk-SR2EXRNN.js} +1 -1
- package/dist/ui/index.html +1 -1
- package/dist/ui/{main-FUEU25PM.js → main-BCFZVCQW.js} +3 -3
- package/package.json +2 -2
- package/dist/ui/chunk-NC3HOVDG.js +0 -1
- package/dist/ui/chunk-RXGORKP5.js +0 -3
- /package/dist/ui/{chunk-IYC5ZW4L.js → chunk-WDCUTF3U.js} +0 -0
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]="33aa5dcf-6bc0-53c8-8982-afd24237bdae")}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.63.0",
|
|
106
106
|
description: "skill-map reference implementation \u2014 kernel + CLI + adapters.",
|
|
107
107
|
license: "MIT",
|
|
108
108
|
type: "module",
|
|
@@ -787,6 +787,17 @@ var ORCHESTRATOR_TEXTS = {
|
|
|
787
787
|
// kernel/scan/detect-providers.ts
|
|
788
788
|
import { existsSync as existsSync3 } from "fs";
|
|
789
789
|
import { join as join3 } from "path";
|
|
790
|
+
|
|
791
|
+
// kernel/config/plugin-resolver.ts
|
|
792
|
+
var SHIPS_DISABLED = /* @__PURE__ */ new Set([
|
|
793
|
+
"experimental",
|
|
794
|
+
"deprecated"
|
|
795
|
+
]);
|
|
796
|
+
function installedDefaultEnabled(stability) {
|
|
797
|
+
return stability === void 0 || !SHIPS_DISABLED.has(stability);
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
// kernel/scan/detect-providers.ts
|
|
790
801
|
function detectProvidersFromFilesystem(cwd, providers) {
|
|
791
802
|
const seen = /* @__PURE__ */ new Set();
|
|
792
803
|
const out = [];
|
|
@@ -799,7 +810,7 @@ function detectProvidersFromFilesystem(cwd, providers) {
|
|
|
799
810
|
return out;
|
|
800
811
|
}
|
|
801
812
|
function isDetectableUnderCwd(cwd, provider) {
|
|
802
|
-
if (provider.
|
|
813
|
+
if (!installedDefaultEnabled(provider.stability)) return false;
|
|
803
814
|
const markers = provider.detect?.markers;
|
|
804
815
|
if (!markers || markers.length === 0) return false;
|
|
805
816
|
return markers.some((marker) => existsSync3(join3(cwd, marker)));
|
|
@@ -1548,8 +1559,7 @@ function matchesKindPrecondition(ex, kind) {
|
|
|
1548
1559
|
function matchesProviderPrecondition(ex, activeProvider) {
|
|
1549
1560
|
const providers = ex.precondition?.provider;
|
|
1550
1561
|
if (!providers || providers.length === 0) return true;
|
|
1551
|
-
|
|
1552
|
-
return providers.includes(activeProvider);
|
|
1562
|
+
return activeProvider !== null && providers.includes(activeProvider);
|
|
1553
1563
|
}
|
|
1554
1564
|
function splitLegacy(applicableExtractors, applicableQualifiedIds, nodeHashCacheEligible) {
|
|
1555
1565
|
const cachedQualifiedIds = /* @__PURE__ */ new Set();
|
|
@@ -3127,7 +3137,6 @@ function buildPriorMtimes(opts) {
|
|
|
3127
3137
|
}
|
|
3128
3138
|
function providerParticipates(provider, activeProvider) {
|
|
3129
3139
|
if (!provider.gatedByActiveLens) return true;
|
|
3130
|
-
if (activeProvider === null) return true;
|
|
3131
3140
|
return provider.id === activeProvider;
|
|
3132
3141
|
}
|
|
3133
3142
|
function createWalkAccumulators() {
|
|
@@ -3549,8 +3558,7 @@ function buildPostWalkTransformCtx(providers, nodes, activeProvider) {
|
|
|
3549
3558
|
const reservedNodePaths = buildReservedNodePaths(
|
|
3550
3559
|
nodes,
|
|
3551
3560
|
kindRegistry,
|
|
3552
|
-
reservedNamesByProviderKind
|
|
3553
|
-
activeProvider
|
|
3561
|
+
reservedNamesByProviderKind
|
|
3554
3562
|
);
|
|
3555
3563
|
return { kindRegistry, providerResolution, activeProvider, reservedNodePaths };
|
|
3556
3564
|
}
|
|
@@ -3581,15 +3589,14 @@ function indexReservedNames(provider, out) {
|
|
|
3581
3589
|
}
|
|
3582
3590
|
}
|
|
3583
3591
|
}
|
|
3584
|
-
function buildReservedNodePaths(nodes, kindRegistry, reservedNamesByProviderKind
|
|
3592
|
+
function buildReservedNodePaths(nodes, kindRegistry, reservedNamesByProviderKind) {
|
|
3585
3593
|
const out = /* @__PURE__ */ new Set();
|
|
3586
3594
|
for (const node of nodes) {
|
|
3587
3595
|
const selfKey = `${node.provider}/${node.kind}`;
|
|
3588
3596
|
const selfReserved = reservedNamesByProviderKind.get(selfKey);
|
|
3589
|
-
|
|
3590
|
-
if (!hasEntries(selfReserved) && !hasEntries(lensReserved)) continue;
|
|
3597
|
+
if (!hasEntries(selfReserved)) continue;
|
|
3591
3598
|
const ids = deriveNodeIdentifiers(node, kindRegistry.get(selfKey));
|
|
3592
|
-
if (ids.some((id) => selfReserved?.has(id) === true
|
|
3599
|
+
if (ids.some((id) => selfReserved?.has(id) === true)) {
|
|
3593
3600
|
out.add(node.path);
|
|
3594
3601
|
}
|
|
3595
3602
|
}
|
|
@@ -4123,4 +4130,4 @@ export {
|
|
|
4123
4130
|
runScanWithRenames
|
|
4124
4131
|
};
|
|
4125
4132
|
//# sourceMappingURL=index.js.map
|
|
4126
|
-
//# debugId=
|
|
4133
|
+
//# debugId=33aa5dcf-6bc0-53c8-8982-afd24237bdae
|
package/dist/kernel/index.d.ts
CHANGED
|
@@ -2561,17 +2561,6 @@ interface IProviderUi {
|
|
|
2561
2561
|
* topbar lens chip; only the per-card badge is suppressed.
|
|
2562
2562
|
*/
|
|
2563
2563
|
hideChip?: boolean;
|
|
2564
|
-
/**
|
|
2565
|
-
* When `true`, this Provider is registered but NOT yet selectable as
|
|
2566
|
-
* the active lens. Auto-detect skips it (`detectProvidersFromFilesystem`),
|
|
2567
|
-
* the BFF drops it from the `selectable` set, and the UI greys it with
|
|
2568
|
-
* a `(coming soon)` suffix. It still ships in `providerRegistry` so
|
|
2569
|
-
* node chips render. Mirrors
|
|
2570
|
-
* `spec/schemas/extensions/provider.schema.json#/properties/presentation/properties/comingSoon`.
|
|
2571
|
-
* Distinct from `hideChip` and from the operator toggle
|
|
2572
|
-
* `plugins[<id>].enabled = false`. Defaults to `false` (selectable).
|
|
2573
|
-
*/
|
|
2574
|
-
comingSoon?: boolean;
|
|
2575
2564
|
}
|
|
2576
2565
|
/**
|
|
2577
2566
|
* Auto-detection markers for the active-provider lens. The lens resolver
|
|
@@ -2794,10 +2783,10 @@ interface IProvider extends IExtensionBase {
|
|
|
2794
2783
|
* this `false`: their territory is consumed by every vendor and they
|
|
2795
2784
|
* MUST run on every scan, regardless of the active lens.
|
|
2796
2785
|
*
|
|
2797
|
-
*
|
|
2798
|
-
*
|
|
2799
|
-
*
|
|
2800
|
-
*
|
|
2786
|
+
* There is no unlensed state: a project with no provider markers
|
|
2787
|
+
* resolves to the universal `core/markdown` lens (id `markdown`),
|
|
2788
|
+
* under which every gated Provider stays off (only the universal
|
|
2789
|
+
* Providers run). The resolver never yields a null lens.
|
|
2801
2790
|
*
|
|
2802
2791
|
* Default `undefined` ≡ `false` ≡ universal. The field affects
|
|
2803
2792
|
* classification ONLY; extractors continue to filter via their own
|
|
@@ -4184,14 +4173,17 @@ interface RunScanOptions {
|
|
|
4184
4173
|
* - `string`: explicit lens. Provider-specific extractors run only
|
|
4185
4174
|
* when their declared `precondition.provider` includes BOTH this
|
|
4186
4175
|
* value AND the node's provider.
|
|
4187
|
-
* - `null`:
|
|
4188
|
-
* unconditionally skipped
|
|
4176
|
+
* - `null`: "no lens" for bare callers. Provider-specific extractors
|
|
4177
|
+
* are unconditionally skipped, the same shape as the universal
|
|
4178
|
+
* markdown lens. Production never reaches this: the resolver in
|
|
4179
|
+
* `core/runtime` always yields a concrete lens (a vendor id, or
|
|
4180
|
+
* the markdown id when no marker is present).
|
|
4189
4181
|
* - `undefined`: kernel auto-detects from `options.roots[0]` using
|
|
4190
4182
|
* filesystem markers (`.claude/`, `.codex/`, `AGENTS.md`).
|
|
4191
4183
|
* Convenient default for out-of-band callers
|
|
4192
4184
|
* (integration tests, embedders) that don't thread a settings
|
|
4193
4185
|
* reader. Production callers (scan-runner) resolve upstream and
|
|
4194
|
-
* pass
|
|
4186
|
+
* pass a concrete lens string explicitly, never `undefined`.
|
|
4195
4187
|
*/
|
|
4196
4188
|
activeProvider?: string | null;
|
|
4197
4189
|
/**
|
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]="1cbc1ad0-b202-5d2a-a4b2-7498564c5261")}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.63.0",
|
|
106
106
|
description: "skill-map reference implementation \u2014 kernel + CLI + adapters.",
|
|
107
107
|
license: "MIT",
|
|
108
108
|
type: "module",
|
|
@@ -787,6 +787,17 @@ var ORCHESTRATOR_TEXTS = {
|
|
|
787
787
|
// kernel/scan/detect-providers.ts
|
|
788
788
|
import { existsSync as existsSync3 } from "fs";
|
|
789
789
|
import { join as join3 } from "path";
|
|
790
|
+
|
|
791
|
+
// kernel/config/plugin-resolver.ts
|
|
792
|
+
var SHIPS_DISABLED = /* @__PURE__ */ new Set([
|
|
793
|
+
"experimental",
|
|
794
|
+
"deprecated"
|
|
795
|
+
]);
|
|
796
|
+
function installedDefaultEnabled(stability) {
|
|
797
|
+
return stability === void 0 || !SHIPS_DISABLED.has(stability);
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
// kernel/scan/detect-providers.ts
|
|
790
801
|
function detectProvidersFromFilesystem(cwd, providers) {
|
|
791
802
|
const seen = /* @__PURE__ */ new Set();
|
|
792
803
|
const out = [];
|
|
@@ -799,7 +810,7 @@ function detectProvidersFromFilesystem(cwd, providers) {
|
|
|
799
810
|
return out;
|
|
800
811
|
}
|
|
801
812
|
function isDetectableUnderCwd(cwd, provider) {
|
|
802
|
-
if (provider.
|
|
813
|
+
if (!installedDefaultEnabled(provider.stability)) return false;
|
|
803
814
|
const markers = provider.detect?.markers;
|
|
804
815
|
if (!markers || markers.length === 0) return false;
|
|
805
816
|
return markers.some((marker) => existsSync3(join3(cwd, marker)));
|
|
@@ -1548,8 +1559,7 @@ function matchesKindPrecondition(ex, kind) {
|
|
|
1548
1559
|
function matchesProviderPrecondition(ex, activeProvider) {
|
|
1549
1560
|
const providers = ex.precondition?.provider;
|
|
1550
1561
|
if (!providers || providers.length === 0) return true;
|
|
1551
|
-
|
|
1552
|
-
return providers.includes(activeProvider);
|
|
1562
|
+
return activeProvider !== null && providers.includes(activeProvider);
|
|
1553
1563
|
}
|
|
1554
1564
|
function splitLegacy(applicableExtractors, applicableQualifiedIds, nodeHashCacheEligible) {
|
|
1555
1565
|
const cachedQualifiedIds = /* @__PURE__ */ new Set();
|
|
@@ -3127,7 +3137,6 @@ function buildPriorMtimes(opts) {
|
|
|
3127
3137
|
}
|
|
3128
3138
|
function providerParticipates(provider, activeProvider) {
|
|
3129
3139
|
if (!provider.gatedByActiveLens) return true;
|
|
3130
|
-
if (activeProvider === null) return true;
|
|
3131
3140
|
return provider.id === activeProvider;
|
|
3132
3141
|
}
|
|
3133
3142
|
function createWalkAccumulators() {
|
|
@@ -3549,8 +3558,7 @@ function buildPostWalkTransformCtx(providers, nodes, activeProvider) {
|
|
|
3549
3558
|
const reservedNodePaths = buildReservedNodePaths(
|
|
3550
3559
|
nodes,
|
|
3551
3560
|
kindRegistry,
|
|
3552
|
-
reservedNamesByProviderKind
|
|
3553
|
-
activeProvider
|
|
3561
|
+
reservedNamesByProviderKind
|
|
3554
3562
|
);
|
|
3555
3563
|
return { kindRegistry, providerResolution, activeProvider, reservedNodePaths };
|
|
3556
3564
|
}
|
|
@@ -3581,15 +3589,14 @@ function indexReservedNames(provider, out) {
|
|
|
3581
3589
|
}
|
|
3582
3590
|
}
|
|
3583
3591
|
}
|
|
3584
|
-
function buildReservedNodePaths(nodes, kindRegistry, reservedNamesByProviderKind
|
|
3592
|
+
function buildReservedNodePaths(nodes, kindRegistry, reservedNamesByProviderKind) {
|
|
3585
3593
|
const out = /* @__PURE__ */ new Set();
|
|
3586
3594
|
for (const node of nodes) {
|
|
3587
3595
|
const selfKey = `${node.provider}/${node.kind}`;
|
|
3588
3596
|
const selfReserved = reservedNamesByProviderKind.get(selfKey);
|
|
3589
|
-
|
|
3590
|
-
if (!hasEntries(selfReserved) && !hasEntries(lensReserved)) continue;
|
|
3597
|
+
if (!hasEntries(selfReserved)) continue;
|
|
3591
3598
|
const ids = deriveNodeIdentifiers(node, kindRegistry.get(selfKey));
|
|
3592
|
-
if (ids.some((id) => selfReserved?.has(id) === true
|
|
3599
|
+
if (ids.some((id) => selfReserved?.has(id) === true)) {
|
|
3593
3600
|
out.add(node.path);
|
|
3594
3601
|
}
|
|
3595
3602
|
}
|
|
@@ -4123,4 +4130,4 @@ export {
|
|
|
4123
4130
|
runScanWithRenames
|
|
4124
4131
|
};
|
|
4125
4132
|
//# sourceMappingURL=index.js.map
|
|
4126
|
-
//# debugId=
|
|
4133
|
+
//# debugId=1cbc1ad0-b202-5d2a-a4b2-7498564c5261
|