@skill-map/cli 0.38.0 → 0.39.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.js +1217 -1133
- package/dist/cli.js.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/kernel/index.d.ts +13 -13
- package/dist/kernel/index.js +3 -2
- package/dist/kernel/index.js.map +1 -1
- package/dist/ui/{chunk-O5N7UH37.js → chunk-AALYQ3RG.js} +1 -1
- package/dist/ui/{chunk-KKOZFBXQ.js → chunk-JECPBFFX.js} +1 -1
- package/dist/ui/{chunk-QZM2G474.js → chunk-LGLLRAJ6.js} +1 -1
- package/dist/ui/{chunk-NTM2J2WO.js → chunk-NHI5UPNK.js} +1 -1
- package/dist/ui/{chunk-4CDTW64C.js → chunk-PVVKVGJ6.js} +1 -1
- package/dist/ui/{chunk-5AZ5S6JB.js → chunk-SKA7ZFUX.js} +1 -1
- package/dist/ui/{chunk-Z4LANJFK.js → chunk-VDMXHCXR.js} +1 -1
- package/dist/ui/{chunk-AAR3Y55J.js → chunk-VZIYRREA.js} +1 -1
- package/dist/ui/chunk-XRDZZC5F.js +123 -0
- package/dist/ui/{chunk-47MG5XH2.js → chunk-YPO2DTMO.js} +8 -8
- package/dist/ui/{chunk-G5CKBDBB.js → chunk-ZYIKNMFV.js} +1 -1
- package/dist/ui/index.html +1 -1
- package/dist/ui/main-TYWMNAII.js +2 -0
- package/package.json +2 -2
- package/dist/ui/chunk-4XEJUDPL.js +0 -123
- package/dist/ui/main-EO5QNLE4.js +0 -2
package/dist/kernel/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* and each kind's code carries its own fuller type where needed.
|
|
8
8
|
*
|
|
9
9
|
* **Spec § A.6, qualified ids.** Every extension is keyed in the registry
|
|
10
|
-
* by `<pluginId>/<id>` (e.g. `core/annotations`, `core/slash`,
|
|
10
|
+
* by `<pluginId>/<id>` (e.g. `core/annotations`, `core/slash-command`,
|
|
11
11
|
* `my-plugin/my-extractor`). `IExtension.id` carries the **short** id as authored;
|
|
12
12
|
* `IExtension.pluginId` carries the namespace; the registry composes the
|
|
13
13
|
* qualifier internally and exposes lookup APIs that operate on either form
|
|
@@ -490,7 +490,7 @@ interface IExtensionBase {
|
|
|
490
490
|
* This alias survives because:
|
|
491
491
|
* - claude-specific code legitimately wants to switch on the four
|
|
492
492
|
* hard-coded values (filter widgets, kind-aware UI cards, the
|
|
493
|
-
* `
|
|
493
|
+
* `schema-violation` built-in rule that maps each kind to its
|
|
494
494
|
* frontmatter schema);
|
|
495
495
|
* - sorting helpers want a stable `KIND_ORDER` for the canonical
|
|
496
496
|
* catalog;
|
|
@@ -560,7 +560,7 @@ interface LinkLocation {
|
|
|
560
560
|
* target), or when the same extractor walks an extractor-internal
|
|
561
561
|
* dedup boundary. Today the merged edge's `trigger` / `location`
|
|
562
562
|
* mirror the FIRST occurrence; the array carries every site so the
|
|
563
|
-
* `core/redundant
|
|
563
|
+
* `core/reference-redundant` analyzer can flag multi-form
|
|
564
564
|
* references and rename operations can find every author surface.
|
|
565
565
|
*/
|
|
566
566
|
interface LinkOccurrence {
|
|
@@ -722,7 +722,7 @@ interface Link {
|
|
|
722
722
|
* same `(source, target, kind, normalizedTrigger)` key. Empty / absent
|
|
723
723
|
* for legacy emits or for synthetic links (frontmatter-driven
|
|
724
724
|
* references, sidecar annotations) that have no body position. The
|
|
725
|
-
* `core/redundant
|
|
725
|
+
* `core/reference-redundant` analyzer walks this array to
|
|
726
726
|
* detect multi-form references to the same target from one body.
|
|
727
727
|
*/
|
|
728
728
|
occurrences?: LinkOccurrence[];
|
|
@@ -2156,7 +2156,7 @@ interface IProvider extends IExtensionBase {
|
|
|
2156
2156
|
*
|
|
2157
2157
|
* Two consumers share the catalog:
|
|
2158
2158
|
*
|
|
2159
|
-
* 1. The `core/reserved
|
|
2159
|
+
* 1. The `core/name-reserved` analyzer scans every user node and
|
|
2160
2160
|
* emits a `warn` issue when the node's normalised identifiers
|
|
2161
2161
|
* (per `IProviderKind.identifiers`) intersect the reserved list
|
|
2162
2162
|
* for its provider + kind. The user file is silently shadowed
|
|
@@ -2433,7 +2433,7 @@ interface IAnalyzerContext {
|
|
|
2433
2433
|
* Step 9.6.6, raw parsed sidecar root keyed by `node.path`. Populated
|
|
2434
2434
|
* by the orchestrator alongside the public `Node.sidecar` overlay so
|
|
2435
2435
|
* analyzers that inspect plugin namespaces (e.g. the built-in
|
|
2436
|
-
* `core/
|
|
2436
|
+
* `core/annotation-field-unknown` Analyzer) can walk the full tree without
|
|
2437
2437
|
* re-reading the file from disk. Absent (or `undefined` per node)
|
|
2438
2438
|
* when no sidecar accompanies the node, or when the sidecar failed
|
|
2439
2439
|
* to parse. Treat as read-only.
|
|
@@ -2463,7 +2463,7 @@ interface IAnalyzerContext {
|
|
|
2463
2463
|
/**
|
|
2464
2464
|
* Absolute paths of `*.md` files under the project's
|
|
2465
2465
|
* `.skill-map/jobs/` that no `state_jobs.filePath` references, the
|
|
2466
|
-
* built-in `core/job-orphan
|
|
2466
|
+
* built-in `core/job-file-orphan` analyzer projects each as a `warn`
|
|
2467
2467
|
* issue. Pre-computed by the driving adapter (CLI / BFF) inside its
|
|
2468
2468
|
* already-open storage transaction (mirrors the `orphanSidecars`
|
|
2469
2469
|
* pattern: detection lives outside the analyzer, the analyzer only
|
|
@@ -2478,7 +2478,7 @@ interface IAnalyzerContext {
|
|
|
2478
2478
|
* adapter walks each configured path before the scan and collects
|
|
2479
2479
|
* every existing file's absolute path here. Files in this set are
|
|
2480
2480
|
* NOT indexed as graph nodes, the only consumer is
|
|
2481
|
-
* `core/broken
|
|
2481
|
+
* `core/reference-broken`, which suppresses its `warn` issue when a
|
|
2482
2482
|
* path-style link target falls into the set. Absent / empty when
|
|
2483
2483
|
* the operator left `scan.referencePaths` empty or when the
|
|
2484
2484
|
* adapter does not maintain the side index. Treat as read-only.
|
|
@@ -2492,7 +2492,7 @@ interface IAnalyzerContext {
|
|
|
2492
2492
|
* computed once per scan by the orchestrator (mirroring the same
|
|
2493
2493
|
* set threaded to the post-walk confidence-lift transform), so
|
|
2494
2494
|
* analyzers consume it without re-deriving every node's
|
|
2495
|
-
* identifiers. The single consumer today is `core/reserved
|
|
2495
|
+
* identifiers. The single consumer today is `core/name-reserved`,
|
|
2496
2496
|
* which projects one warn issue per entry; future analyzers MAY
|
|
2497
2497
|
* read the set for cross-rule cohesion (e.g. an action that
|
|
2498
2498
|
* suggests rename targets). Absent for legacy callers (older
|
|
@@ -2503,7 +2503,7 @@ interface IAnalyzerContext {
|
|
|
2503
2503
|
* Absolute path of the scan's project root (cwd of the invocation).
|
|
2504
2504
|
* Threaded into the analyzer pass so an analyzer that needs to
|
|
2505
2505
|
* resolve a relative `link.target` to an absolute filesystem path
|
|
2506
|
-
* (today only `core/broken
|
|
2506
|
+
* (today only `core/reference-broken`, when consulting
|
|
2507
2507
|
* `referenceablePaths`) does not have to derive it from
|
|
2508
2508
|
* `nodes[0].path` heuristics. Absent for legacy callers (older
|
|
2509
2509
|
* `runScan` sites that never wired the field through). Always an
|
|
@@ -3153,7 +3153,7 @@ interface RunScanOptions {
|
|
|
3153
3153
|
/**
|
|
3154
3154
|
* Step 9.6.6, runtime catalog of plugin-contributed annotation keys
|
|
3155
3155
|
* (the same shape `kernel.getRegisteredAnnotationKeys()` returns).
|
|
3156
|
-
* Threaded into the rule pass so `core/
|
|
3156
|
+
* Threaded into the rule pass so `core/annotation-field-unknown` can
|
|
3157
3157
|
* legitimise registered plugin namespaces / root keys without
|
|
3158
3158
|
* re-walking the manifests. Absent → empty catalog (every plugin
|
|
3159
3159
|
* key is treated as unknown). Built-in catalog from
|
|
@@ -3271,7 +3271,7 @@ interface RunScanOptions {
|
|
|
3271
3271
|
* Pre-computed absolute paths of orphan job MD files (files under
|
|
3272
3272
|
* `.skill-map/jobs/` whose absolute path appears nowhere in
|
|
3273
3273
|
* `state_jobs.filePath`). Threaded into the rule pass so the
|
|
3274
|
-
* built-in `core/job-orphan
|
|
3274
|
+
* built-in `core/job-file-orphan` rule can project each as a `warn`
|
|
3275
3275
|
* issue without the kernel reaching for the storage port or doing
|
|
3276
3276
|
* its own FS walk. The driving adapter (CLI, BFF) computes this
|
|
3277
3277
|
* inside its already-open storage transaction via
|
|
@@ -3286,7 +3286,7 @@ interface RunScanOptions {
|
|
|
3286
3286
|
* Side set of absolute file paths the operator opted into for
|
|
3287
3287
|
* link-validation purposes via `scan.referencePaths`. Threaded
|
|
3288
3288
|
* through to `IAnalyzerContext.referenceablePaths` so the built-in
|
|
3289
|
-
* `core/broken
|
|
3289
|
+
* `core/reference-broken` rule can suppress its `warn` for path-style
|
|
3290
3290
|
* links whose target lands in the set. Files are NOT walked by
|
|
3291
3291
|
* the kernel, the driving adapter populates the set before
|
|
3292
3292
|
* calling `runScan`. Absent / empty when the operator left
|
package/dist/kernel/index.js
CHANGED
|
@@ -101,7 +101,7 @@ import cl100k_base from "js-tiktoken/ranks/cl100k_base";
|
|
|
101
101
|
// package.json
|
|
102
102
|
var package_default = {
|
|
103
103
|
name: "@skill-map/cli",
|
|
104
|
-
version: "0.
|
|
104
|
+
version: "0.39.0",
|
|
105
105
|
description: "skill-map reference implementation \u2014 kernel + CLI + adapters.",
|
|
106
106
|
license: "MIT",
|
|
107
107
|
type: "module",
|
|
@@ -1426,7 +1426,8 @@ function recomputeLinkCounts(nodes, links) {
|
|
|
1426
1426
|
for (const link of links) {
|
|
1427
1427
|
const source = byPath2.get(link.source);
|
|
1428
1428
|
if (source) source.linksOutCount += 1;
|
|
1429
|
-
const
|
|
1429
|
+
const targetKey = link.resolvedTarget ?? link.target;
|
|
1430
|
+
const target = byPath2.get(targetKey);
|
|
1430
1431
|
if (target) target.linksInCount += 1;
|
|
1431
1432
|
}
|
|
1432
1433
|
}
|