@skillsmith/core 0.8.1 → 0.8.2

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.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @skillsmith/core - Core functionality for skill discovery
3
3
  */
4
- export declare const VERSION = "0.8.1";
4
+ export declare const VERSION = "0.8.2";
5
5
  export * from './exports/services.js';
6
6
  export * from './exports/repositories.js';
7
7
  export { createDatabaseSync, createDatabaseAsync } from './db/createDatabase.js';
package/dist/src/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * @skillsmith/core - Core functionality for skill discovery
3
3
  */
4
4
  // Version
5
- export const VERSION = '0.8.1';
5
+ export const VERSION = '0.8.2';
6
6
  // ============================================================================
7
7
  // Grouped Exports from Barrel Files
8
8
  // ============================================================================
@@ -8,8 +8,11 @@
8
8
  * git remote (exact) -> plugin manifest (high) -> registry name
9
9
  * (medium/low, review-only) -> embedding (opt-in) -> hints (opt-in) -> unknown.
10
10
  *
11
- * The git and plugin tiers are local file reads and return BEFORE any injected
12
- * dependency is invoked, so an offline run never touches the network.
11
+ * The git and plugin tiers are local file reads: they resolve the SOURCE
12
+ * before any injected dependency is invoked. They then make a best-effort,
13
+ * OFFLINE call to the optional `findRegistryIdByRepoUrl` (local catalog lookup)
14
+ * to enrich the manifest id with a registry UUID (SMI-5411) -- never network,
15
+ * never throws. An offline run never touches the network.
13
16
  */
14
17
  import type { RecoveryDeps, RecoveryReport, SkillRecoveryResult } from './types.js';
15
18
  /** Options for a full recovery run. */
@@ -33,11 +36,21 @@ export declare function defaultSkillsRoot(): string;
33
36
  export declare class SourceRecoveryService {
34
37
  private readonly deps;
35
38
  constructor(deps: RecoveryDeps);
39
+ /**
40
+ * Best-effort OFFLINE registry-UUID enrichment for a git/plugin source URL.
41
+ * Returns the catalog UUID for `url`'s repo when the optional dep is wired and
42
+ * a match exists; null otherwise. NEVER throws -- a missing dep, a no-match, or
43
+ * a dep failure all degrade to null so the already-resolved (exact/high) source
44
+ * is never lost. SMI-5411.
45
+ */
46
+ private enrichRegistryId;
36
47
  /** Scan `skillsRoot` and resolve every (non-filtered) skill's source. */
37
48
  recoverSources(opts?: RecoverSourcesOptions): Promise<RecoveryReport>;
38
49
  /**
39
- * Resolve a single skill directory. Tiers short-circuit on the first hit;
40
- * the git and plugin tiers return before any dependency call.
50
+ * Resolve a single skill directory. Tiers short-circuit on the first hit; the
51
+ * git and plugin tiers resolve the source before any dependency call, then
52
+ * best-effort enrich the manifest id with a registry UUID via the optional,
53
+ * OFFLINE `findRegistryIdByRepoUrl`.
41
54
  */
42
55
  recoverOne(dir: string, skillName: string, skillMd: string | null, opts?: RecoverOneOptions): Promise<SkillRecoveryResult>;
43
56
  /** Tier 4: embedding tiebreak over an ambiguous candidate set (opt-in). */
@@ -1 +1 @@
1
- {"version":3,"file":"SourceRecoveryService.d.ts","sourceRoot":"","sources":["../../../src/provenance/SourceRecoveryService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH,OAAO,KAAK,EAGV,YAAY,EACZ,cAAc,EAEd,mBAAmB,EACpB,MAAM,YAAY,CAAA;AAEnB,uCAAuC;AACvC,MAAM,WAAW,qBAAqB;IACpC,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,2DAA2D;IAC3D,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,mDAAmD;AACnD,MAAM,WAAW,iBAAiB;IAChC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAID,yDAAyD;AACzD,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAwED,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,YAAY;IAE/C,yEAAyE;IACnE,cAAc,CAAC,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC,cAAc,CAAC;IAwB/E;;;OAGG;IACG,UAAU,CACd,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,mBAAmB,CAAC;IAoC/B,2EAA2E;YAC7D,gBAAgB;IAmC9B,6EAA6E;YAC/D,WAAW;CA4B1B"}
1
+ {"version":3,"file":"SourceRecoveryService.d.ts","sourceRoot":"","sources":["../../../src/provenance/SourceRecoveryService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH,OAAO,KAAK,EAGV,YAAY,EACZ,cAAc,EAEd,mBAAmB,EACpB,MAAM,YAAY,CAAA;AAEnB,uCAAuC;AACvC,MAAM,WAAW,qBAAqB;IACpC,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,2DAA2D;IAC3D,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,mDAAmD;AACnD,MAAM,WAAW,iBAAiB;IAChC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAID,yDAAyD;AACzD,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAwED,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,YAAY;IAE/C;;;;;;OAMG;YACW,gBAAgB;IAS9B,yEAAyE;IACnE,cAAc,CAAC,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC,cAAc,CAAC;IAwB/E;;;;;OAKG;IACG,UAAU,CACd,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,mBAAmB,CAAC;IA2C/B,2EAA2E;YAC7D,gBAAgB;IAmC9B,6EAA6E;YAC/D,WAAW;CA4B1B"}
@@ -8,8 +8,11 @@
8
8
  * git remote (exact) -> plugin manifest (high) -> registry name
9
9
  * (medium/low, review-only) -> embedding (opt-in) -> hints (opt-in) -> unknown.
10
10
  *
11
- * The git and plugin tiers are local file reads and return BEFORE any injected
12
- * dependency is invoked, so an offline run never touches the network.
11
+ * The git and plugin tiers are local file reads: they resolve the SOURCE
12
+ * before any injected dependency is invoked. They then make a best-effort,
13
+ * OFFLINE call to the optional `findRegistryIdByRepoUrl` (local catalog lookup)
14
+ * to enrich the manifest id with a registry UUID (SMI-5411) -- never network,
15
+ * never throws. An offline run never touches the network.
13
16
  */
14
17
  import * as os from 'os';
15
18
  import * as path from 'path';
@@ -83,6 +86,23 @@ export class SourceRecoveryService {
83
86
  constructor(deps) {
84
87
  this.deps = deps;
85
88
  }
89
+ /**
90
+ * Best-effort OFFLINE registry-UUID enrichment for a git/plugin source URL.
91
+ * Returns the catalog UUID for `url`'s repo when the optional dep is wired and
92
+ * a match exists; null otherwise. NEVER throws -- a missing dep, a no-match, or
93
+ * a dep failure all degrade to null so the already-resolved (exact/high) source
94
+ * is never lost. SMI-5411.
95
+ */
96
+ async enrichRegistryId(url) {
97
+ if (!this.deps.findRegistryIdByRepoUrl)
98
+ return null;
99
+ try {
100
+ return await this.deps.findRegistryIdByRepoUrl(url);
101
+ }
102
+ catch {
103
+ return null;
104
+ }
105
+ }
86
106
  /** Scan `skillsRoot` and resolve every (non-filtered) skill's source. */
87
107
  async recoverSources(opts = {}) {
88
108
  const skillsRoot = opts.skillsRoot ?? defaultSkillsRoot();
@@ -103,18 +123,25 @@ export class SourceRecoveryService {
103
123
  return { skills, summary: computeSummary(skills) };
104
124
  }
105
125
  /**
106
- * Resolve a single skill directory. Tiers short-circuit on the first hit;
107
- * the git and plugin tiers return before any dependency call.
126
+ * Resolve a single skill directory. Tiers short-circuit on the first hit; the
127
+ * git and plugin tiers resolve the source before any dependency call, then
128
+ * best-effort enrich the manifest id with a registry UUID via the optional,
129
+ * OFFLINE `findRegistryIdByRepoUrl`.
108
130
  */
109
131
  async recoverOne(dir, skillName, skillMd, opts = {}) {
110
- // Tier 1: git remote (exact) -- offline, returns before any dep call.
132
+ // Tier 1: git remote (exact) -- source is offline; the id enrichment is a
133
+ // best-effort offline catalog lookup (SMI-5411).
111
134
  const git = parseGitConfigRemote(dir);
112
- if (git)
113
- return resolvedResult(skillName, dir, git, 'git-remote', 'exact', null);
114
- // Tier 2: plugin manifest (high) -- offline.
135
+ if (git) {
136
+ const registryId = await this.enrichRegistryId(git.url);
137
+ return resolvedResult(skillName, dir, git, 'git-remote', 'exact', registryId);
138
+ }
139
+ // Tier 2: plugin manifest (high) -- same offline id enrichment.
115
140
  const plugin = parsePluginManifestRepository(dir);
116
- if (plugin)
117
- return resolvedResult(skillName, dir, plugin, 'plugin-json', 'high', null);
141
+ if (plugin) {
142
+ const registryId = await this.enrichRegistryId(plugin.url);
143
+ return resolvedResult(skillName, dir, plugin, 'plugin-json', 'high', registryId);
144
+ }
118
145
  // Tier 3: registry name match (medium/low) -- REVIEW ONLY.
119
146
  const candidates = await this.deps.findCandidatesByName(skillName);
120
147
  if (candidates.length === 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"SourceRecoveryService.js","sourceRoot":"","sources":["../../../src/provenance/SourceRecoveryService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AA4BvD,MAAM,iBAAiB,GAAG,IAAI,WAAW,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;AAEjE,yDAAyD;AACzD,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AACrD,CAAC;AAED,SAAS,eAAe,CAAC,SAA4B;IACnD,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,CAAA;AAC7E,CAAC;AAED,SAAS,cAAc,CACrB,SAAiB,EACjB,WAAmB,EACnB,MAAuB,EACvB,MAAqC,EACrC,UAA6C,EAC7C,UAAyB,EACzB,aAAkC,EAAE;IAEpC,OAAO;QACL,SAAS;QACT,WAAW;QACX,eAAe,EAAE,MAAM;QACvB,UAAU;QACV,MAAM;QACN,UAAU;QACV,UAAU;QACV,MAAM,EAAE,WAAW;KACpB,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB,EAAE,WAAmB;IAC3D,OAAO;QACL,SAAS;QACT,WAAW;QACX,eAAe,EAAE,IAAI;QACrB,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,SAAS;KAClB,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,WAAmB;IAC1D,OAAO;QACL,SAAS;QACT,WAAW;QACX,eAAe,EAAE,IAAI;QACrB,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,gBAAgB;KACzB,CAAA;AACH,CAAC;AAED,wFAAwF;AACxF,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,iDAAiD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACtE,CAAC;AAED,SAAS,cAAc,CAAC,MAA6B;IACnD,MAAM,OAAO,GAAoB;QAC/B,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,SAAS,EAAE,CAAC;QACZ,eAAe,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;QACV,cAAc,EAAE,CAAC;KAClB,CAAA;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,OAAO,qBAAqB;IACH;IAA7B,YAA6B,IAAkB;QAAlB,SAAI,GAAJ,IAAI,CAAc;IAAG,CAAC;IAEnD,yEAAyE;IACzE,KAAK,CAAC,cAAc,CAAC,OAA8B,EAAE;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,iBAAiB,EAAE,CAAA;QACzD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAA;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACtB,MAAM,QAAQ,GACZ,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QAEvF,MAAM,MAAM,GAA0B,EAAE,CAAA;QACxC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;gBACrD,SAAQ;YACV,CAAC;YACD,MAAM,CAAC,IAAI,CACT,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE;gBAC/D,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;aAC1C,CAAC,CACH,CAAA;QACH,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,CAAA;IACpD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CACd,GAAW,EACX,SAAiB,EACjB,OAAsB,EACtB,OAA0B,EAAE;QAE5B,sEAAsE;QACtE,MAAM,GAAG,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;QACrC,IAAI,GAAG;YAAE,OAAO,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QAEhF,6CAA6C;QAC7C,MAAM,MAAM,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAA;QACjD,IAAI,MAAM;YAAE,OAAO,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAEtF,2DAA2D;QAC3D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;QAClE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;YAC/B,OAAO,cAAc,CACnB,SAAS,EACT,GAAG,EACH,eAAe,CAAC,SAAS,CAAC,EAC1B,eAAe,EACf,QAAQ,EACR,SAAS,CAAC,EAAE,CACb,CAAA;QACH,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;QACzE,CAAC;QAED,+BAA+B;QAC/B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;YAC5D,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAA;QACvB,CAAC;QAED,mBAAmB;QACnB,OAAO,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IACtC,CAAC;IAED,2EAA2E;IACnE,KAAK,CAAC,gBAAgB,CAC5B,GAAW,EACX,SAAiB,EACjB,OAAsB,EACtB,UAA+B,EAC/B,IAAuB;QAEvB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,OAAO,EAAE,CAAC;YACjE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;YAC9E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;gBACrB,OAAO,cAAc,CACnB,SAAS,EACT,GAAG,EACH,eAAe,CAAC,GAAG,CAAC,EACpB,oBAAoB,EACpB,KAAK,EACL,GAAG,CAAC,EAAE,EACN,MAAM,CACP,CAAA;YACH,CAAC;QACH,CAAC;QACD,+DAA+D;QAC/D,OAAO;YACL,SAAS;YACT,WAAW,EAAE,GAAG;YAChB,eAAe,EAAE,IAAI;YACrB,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,eAAe;YACvB,UAAU,EAAE,KAAK;YACjB,UAAU;YACV,MAAM,EAAE,SAAS;SAClB,CAAA;IACH,CAAC;IAED,6EAA6E;IACrE,KAAK,CAAC,WAAW,CACvB,GAAW,EACX,SAAiB,EACjB,OAAsB;QAEtB,IAAI,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;YAC3D,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;gBACzC,IAAI,MAAM;oBAAE,OAAO,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;YACtF,CAAC;QACH,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,EAAE,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;YACxD,MAAM,MAAM,GAAG,OAAO,EAAE,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACrE,IAAI,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAoB;oBAC9B,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,SAAS;oBACf,GAAG,EAAE,sBAAsB,MAAM,IAAI,SAAS,EAAE;iBACjD,CAAA;gBACD,OAAO,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;YAC3E,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"SourceRecoveryService.js","sourceRoot":"","sources":["../../../src/provenance/SourceRecoveryService.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,6 @@ export { parsePluginManifestRepository } from './plugin-manifest.js';
8
8
  export { scanLocalSkills, type LocalSkillEntry } from './local-skill-scan.js';
9
9
  export { SourceRecoveryService, defaultSkillsRoot, type RecoverSourcesOptions, type RecoverOneOptions, } from './SourceRecoveryService.js';
10
10
  export { backfillManifest, type BackfillOptions, type BackfillOutcome } from './backfill.js';
11
+ export { normalizeSkillName, skillNameVariants } from './name-variants.js';
11
12
  export { METHOD_LABELS, type RecoveryMethod, type RecoveryConfidence, type RecoveredSource, type RecoveryCandidate, type SkillRecoveryStatus, type SkillRecoveryResult, type RecoverySummary, type RecoveryReport, type RecoveryDeps, } from './types.js';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/provenance/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,GACvB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AAC5F,OAAO,EACL,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/provenance/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,GACvB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AAC5F,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EACL,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAA"}
@@ -8,5 +8,6 @@ export { parsePluginManifestRepository } from './plugin-manifest.js';
8
8
  export { scanLocalSkills } from './local-skill-scan.js';
9
9
  export { SourceRecoveryService, defaultSkillsRoot, } from './SourceRecoveryService.js';
10
10
  export { backfillManifest } from './backfill.js';
11
+ export { normalizeSkillName, skillNameVariants } from './name-variants.js';
11
12
  export { METHOD_LABELS, } from './types.js';
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/provenance/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,eAAe,EAAwB,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAGlB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAA8C,MAAM,eAAe,CAAA;AAC5F,OAAO,EACL,aAAa,GAUd,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/provenance/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,eAAe,EAAwB,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAGlB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAA8C,MAAM,eAAe,CAAA;AAC5F,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EACL,aAAa,GAUd,MAAM,YAAY,CAAA"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @fileoverview Affix-tolerant skill-name matching for registry recovery.
3
+ * @module @skillsmith/core/provenance/name-variants
4
+ * @see SMI-5413
5
+ *
6
+ * Skills are commonly installed under a short local directory name (e.g.
7
+ * `ci-doctor`) while their published registry name carries a convention affix
8
+ * (`wrsmith108/claude-skill-ci-doctor`, `vercel-react-best-practices`). The
9
+ * recovery's registry-name tier originally matched on the EXACT name, so it
10
+ * missed these. {@link skillNameVariants} expands a name into the small,
11
+ * bounded set of convention variants to query the registry by; callers keep the
12
+ * existing review-only confidence gating (a single match is `medium`, multiple
13
+ * are `low` + candidates) and a PREFER-EXACT rule (see callers) so a genuine
14
+ * exact match is never downgraded to ambiguous by the broadened query.
15
+ */
16
+ /**
17
+ * Strip a single known convention affix (prefix and/or suffix) to the bare
18
+ * skill name. Lower-cased + trimmed. Never reduces the name to empty.
19
+ */
20
+ export declare function normalizeSkillName(name: string): string;
21
+ /**
22
+ * Expand a skill name into the bounded set of convention variants to query the
23
+ * registry by — the original name, its affix-stripped bare form, and the bare
24
+ * form re-wrapped in each known prefix/suffix. Deduplicated; empties removed.
25
+ *
26
+ * Order is irrelevant: callers prefer an exact-name match over any variant,
27
+ * and multi-candidate results stay review-only, so the broadened query only
28
+ * ever SURFACES more candidates for review — it never auto-binds a generic
29
+ * short name (e.g. `docker`) to an unrelated `docker-*` repo.
30
+ */
31
+ export declare function skillNameVariants(name: string): string[];
32
+ //# sourceMappingURL=name-variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"name-variants.d.ts","sourceRoot":"","sources":["../../../src/provenance/name-variants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAevD;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAMxD"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @fileoverview Affix-tolerant skill-name matching for registry recovery.
3
+ * @module @skillsmith/core/provenance/name-variants
4
+ * @see SMI-5413
5
+ *
6
+ * Skills are commonly installed under a short local directory name (e.g.
7
+ * `ci-doctor`) while their published registry name carries a convention affix
8
+ * (`wrsmith108/claude-skill-ci-doctor`, `vercel-react-best-practices`). The
9
+ * recovery's registry-name tier originally matched on the EXACT name, so it
10
+ * missed these. {@link skillNameVariants} expands a name into the small,
11
+ * bounded set of convention variants to query the registry by; callers keep the
12
+ * existing review-only confidence gating (a single match is `medium`, multiple
13
+ * are `low` + candidates) and a PREFER-EXACT rule (see callers) so a genuine
14
+ * exact match is never downgraded to ambiguous by the broadened query.
15
+ */
16
+ /** Convention prefixes stripped/added when normalizing a skill name. */
17
+ const PREFIXES = ['claude-skill-', 'claude-'];
18
+ /** Convention suffixes stripped/added when normalizing a skill name (longest first). */
19
+ const SUFFIXES = ['-claude-skill', '-skills', '-skill'];
20
+ /**
21
+ * Strip a single known convention affix (prefix and/or suffix) to the bare
22
+ * skill name. Lower-cased + trimmed. Never reduces the name to empty.
23
+ */
24
+ export function normalizeSkillName(name) {
25
+ let n = name.toLowerCase().trim();
26
+ for (const p of PREFIXES) {
27
+ if (n.startsWith(p) && n.length > p.length) {
28
+ n = n.slice(p.length);
29
+ break;
30
+ }
31
+ }
32
+ for (const s of SUFFIXES) {
33
+ if (n.endsWith(s) && n.length > s.length) {
34
+ n = n.slice(0, -s.length);
35
+ break;
36
+ }
37
+ }
38
+ return n;
39
+ }
40
+ /**
41
+ * Expand a skill name into the bounded set of convention variants to query the
42
+ * registry by — the original name, its affix-stripped bare form, and the bare
43
+ * form re-wrapped in each known prefix/suffix. Deduplicated; empties removed.
44
+ *
45
+ * Order is irrelevant: callers prefer an exact-name match over any variant,
46
+ * and multi-candidate results stay review-only, so the broadened query only
47
+ * ever SURFACES more candidates for review — it never auto-binds a generic
48
+ * short name (e.g. `docker`) to an unrelated `docker-*` repo.
49
+ */
50
+ export function skillNameVariants(name) {
51
+ const bare = normalizeSkillName(name);
52
+ const out = new Set([name, name.toLowerCase().trim(), bare]);
53
+ for (const p of PREFIXES)
54
+ out.add(p + bare);
55
+ for (const s of SUFFIXES)
56
+ out.add(bare + s);
57
+ return [...out].filter((v) => v.length > 0);
58
+ }
59
+ //# sourceMappingURL=name-variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"name-variants.js","sourceRoot":"","sources":["../../../src/provenance/name-variants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,wEAAwE;AACxE,MAAM,QAAQ,GAAG,CAAC,eAAe,EAAE,SAAS,CAAU,CAAA;AACtD,wFAAwF;AACxF,MAAM,QAAQ,GAAG,CAAC,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAA;AAEhE;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAA;IACjC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YAC3C,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YACrB,MAAK;QACP,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YACzC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YACzB,MAAK;QACP,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACrC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAS,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;IACpE,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IAC3C,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;IAC3C,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAC7C,CAAC"}
@@ -80,6 +80,18 @@ export interface RecoveryDeps {
80
80
  rankByEmbedding?: (skillName: string, skillMd: string, candidates: RecoveryCandidate[]) => Promise<RecoveryCandidate[]>;
81
81
  /** Opt-in local catalog hint; returns a GitHub repo_url or null. */
82
82
  lookupCatalogRepoUrl?: (name: string) => Promise<string | null>;
83
+ /**
84
+ * Opt-in OFFLINE registry-UUID enrichment for a git/plugin-recovered source
85
+ * (SMI-5411). Given the canonical recovered URL (`https://github.com/<owner>/
86
+ * <repo>`), return the local catalog's registry UUID for that `repo_url`, else
87
+ * null. Lets `skill_outdated` resolve git/plugin-recovered skills that ARE
88
+ * registry-published, WITHOUT changing the (exact/high) SOURCE resolution:
89
+ * the source stays the https URL (View-Changes already works); only the
90
+ * manifest `id` is upgraded from `owner/skill-name` to the UUID when the repo
91
+ * is catalog-known. Best-effort and graceful — an absent dep, no match, or a
92
+ * throw all degrade to null (the source is never lost).
93
+ */
94
+ findRegistryIdByRepoUrl?: (repoUrl: string) => Promise<string | null>;
83
95
  }
84
96
  /** Human-readable label per recovery method (CLI rendering). */
85
97
  export declare const METHOD_LABELS: Record<RecoveryMethod, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/provenance/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,YAAY,GACZ,aAAa,GACb,eAAe,GACf,oBAAoB,GACpB,aAAa,GACb,YAAY,GACZ,gBAAgB,CAAA;AAEpB;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,gBAAgB,GAAG,SAAS,CAAA;AAEnG,gGAAgG;AAChG,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,oEAAoE;IACpE,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,yCAAyC;AACzC,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,iBAAiB,GAAG,SAAS,GAAG,gBAAgB,CAAA;AAEhG,0DAA0D;AAC1D,MAAM,WAAW,mBAAmB;IAClC,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAA;IACnB,6DAA6D;IAC7D,eAAe,EAAE,eAAe,GAAG,IAAI,CAAA;IACvC,6EAA6E;IAC7E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,uEAAuE;IACvE,MAAM,EAAE,cAAc,GAAG,IAAI,CAAA;IAC7B,UAAU,EAAE,kBAAkB,CAAA;IAC9B,qEAAqE;IACrE,UAAU,EAAE,iBAAiB,EAAE,CAAA;IAC/B,MAAM,EAAE,mBAAmB,CAAA;CAC5B;AAED,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,4BAA4B;AAC5B,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,mBAAmB,EAAE,CAAA;IAC7B,OAAO,EAAE,eAAe,CAAA;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,yDAAyD;IACzD,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAA;IACxC,4EAA4E;IAC5E,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAA;IACpE,yEAAyE;IACzE,eAAe,CAAC,EAAE,CAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,iBAAiB,EAAE,KAC5B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAA;IACjC,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CAChE;AAED,gEAAgE;AAChE,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAQxD,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/provenance/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,YAAY,GACZ,aAAa,GACb,eAAe,GACf,oBAAoB,GACpB,aAAa,GACb,YAAY,GACZ,gBAAgB,CAAA;AAEpB;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,gBAAgB,GAAG,SAAS,CAAA;AAEnG,gGAAgG;AAChG,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,oEAAoE;IACpE,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,yCAAyC;AACzC,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,iBAAiB,GAAG,SAAS,GAAG,gBAAgB,CAAA;AAEhG,0DAA0D;AAC1D,MAAM,WAAW,mBAAmB;IAClC,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAA;IACnB,6DAA6D;IAC7D,eAAe,EAAE,eAAe,GAAG,IAAI,CAAA;IACvC,6EAA6E;IAC7E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,uEAAuE;IACvE,MAAM,EAAE,cAAc,GAAG,IAAI,CAAA;IAC7B,UAAU,EAAE,kBAAkB,CAAA;IAC9B,qEAAqE;IACrE,UAAU,EAAE,iBAAiB,EAAE,CAAA;IAC/B,MAAM,EAAE,mBAAmB,CAAA;CAC5B;AAED,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,4BAA4B;AAC5B,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,mBAAmB,EAAE,CAAA;IAC7B,OAAO,EAAE,eAAe,CAAA;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,yDAAyD;IACzD,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAA;IACxC,4EAA4E;IAC5E,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAA;IACpE,yEAAyE;IACzE,eAAe,CAAC,EAAE,CAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,iBAAiB,EAAE,KAC5B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAA;IACjC,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC/D;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CACtE;AAED,gEAAgE;AAChE,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAQxD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/provenance/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA+FH,gEAAgE;AAChE,MAAM,CAAC,MAAM,aAAa,GAAmC;IAC3D,YAAY,EAAE,YAAY;IAC1B,aAAa,EAAE,iBAAiB;IAChC,eAAe,EAAE,qBAAqB;IACtC,oBAAoB,EAAE,0BAA0B;IAChD,aAAa,EAAE,yBAAyB;IACxC,YAAY,EAAE,kBAAkB;IAChC,gBAAgB,EAAE,gBAAgB;CACnC,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/provenance/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA2GH,gEAAgE;AAChE,MAAM,CAAC,MAAM,aAAa,GAAmC;IAC3D,YAAY,EAAE,YAAY;IAC1B,aAAa,EAAE,iBAAiB;IAChC,eAAe,EAAE,qBAAqB;IACtC,oBAAoB,EAAE,0BAA0B;IAChD,aAAa,EAAE,yBAAyB;IACxC,YAAY,EAAE,kBAAkB;IAChC,gBAAgB,EAAE,gBAAgB;CACnC,CAAA"}
@@ -57,6 +57,79 @@ describe('SourceRecoveryService.recoverOne', () => {
57
57
  expect(result.status).toBe('recovered');
58
58
  expect(findCandidatesByName).not.toHaveBeenCalled();
59
59
  });
60
+ // SMI-5411: a git/plugin source whose repo IS in the local catalog gets its
61
+ // manifest id enriched with the registry UUID, while the (exact/high) SOURCE
62
+ // resolution stays unchanged. Enrichment is best-effort and never throws.
63
+ it('git remote enriches registryId from findRegistryIdByRepoUrl (UUID; source unchanged)', async () => {
64
+ const dir = tmpDir();
65
+ writeGitConfig(dir, 'git@github.com:owner/repo.git');
66
+ const findRegistryIdByRepoUrl = vi.fn(async (url) => url === 'https://github.com/owner/repo' ? 'reg-uuid-1' : null);
67
+ const svc = new SourceRecoveryService({
68
+ hashContent,
69
+ findCandidatesByName: async () => [],
70
+ findRegistryIdByRepoUrl,
71
+ });
72
+ const result = await svc.recoverOne(dir, 'repo', null);
73
+ expect(result.method).toBe('git-remote');
74
+ expect(result.confidence).toBe('exact');
75
+ expect(result.registryId).toBe('reg-uuid-1');
76
+ expect(result.recoveredSource?.url).toBe('https://github.com/owner/repo');
77
+ expect(findRegistryIdByRepoUrl).toHaveBeenCalledWith('https://github.com/owner/repo');
78
+ });
79
+ it('plugin manifest enriches registryId from findRegistryIdByRepoUrl', async () => {
80
+ const dir = tmpDir();
81
+ writePlugin(dir, 'https://github.com/o/r');
82
+ const findRegistryIdByRepoUrl = vi.fn(async () => 'plugin-uuid');
83
+ const svc = new SourceRecoveryService({
84
+ hashContent,
85
+ findCandidatesByName: async () => [],
86
+ findRegistryIdByRepoUrl,
87
+ });
88
+ const result = await svc.recoverOne(dir, 'r', null);
89
+ expect(result.method).toBe('plugin-json');
90
+ expect(result.confidence).toBe('high');
91
+ expect(result.registryId).toBe('plugin-uuid');
92
+ expect(findRegistryIdByRepoUrl).toHaveBeenCalledWith('https://github.com/o/r');
93
+ });
94
+ it('git remote keeps registryId null when the repo is not catalog-known', async () => {
95
+ const dir = tmpDir();
96
+ writeGitConfig(dir, 'git@github.com:owner/repo.git');
97
+ const findRegistryIdByRepoUrl = vi.fn(async () => null);
98
+ const svc = new SourceRecoveryService({
99
+ hashContent,
100
+ findCandidatesByName: async () => [],
101
+ findRegistryIdByRepoUrl,
102
+ });
103
+ const result = await svc.recoverOne(dir, 'repo', null);
104
+ expect(result.method).toBe('git-remote');
105
+ expect(result.registryId).toBeNull();
106
+ });
107
+ it('git remote keeps registryId null when the enrichment dep is absent', async () => {
108
+ const dir = tmpDir();
109
+ writeGitConfig(dir, 'git@github.com:owner/repo.git');
110
+ const svc = new SourceRecoveryService({ hashContent, findCandidatesByName: async () => [] });
111
+ const result = await svc.recoverOne(dir, 'repo', null);
112
+ expect(result.method).toBe('git-remote');
113
+ expect(result.registryId).toBeNull();
114
+ });
115
+ it('git remote degrades to null registryId when the enrichment dep throws', async () => {
116
+ const dir = tmpDir();
117
+ writeGitConfig(dir, 'git@github.com:owner/repo.git');
118
+ const findRegistryIdByRepoUrl = vi.fn(async () => {
119
+ throw new Error('catalog unavailable');
120
+ });
121
+ const svc = new SourceRecoveryService({
122
+ hashContent,
123
+ findCandidatesByName: async () => [],
124
+ findRegistryIdByRepoUrl,
125
+ });
126
+ const result = await svc.recoverOne(dir, 'repo', null);
127
+ // The throw must NOT fail recovery — the source still resolves exact.
128
+ expect(result.method).toBe('git-remote');
129
+ expect(result.confidence).toBe('exact');
130
+ expect(result.recoveredSource?.url).toBe('https://github.com/owner/repo');
131
+ expect(result.registryId).toBeNull();
132
+ });
60
133
  it('a single name match resolves at medium with a registry id', async () => {
61
134
  const dir = tmpDir();
62
135
  const findCandidatesByName = vi.fn(async () => [candidate('uuid-1', 'foo', 'acme', 'foo')]);
@@ -1 +1 @@
1
- {"version":3,"file":"SourceRecoveryService.test.js","sourceRoot":"","sources":["../../../tests/provenance/SourceRecoveryService.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SourceRecoveryService.test.js","sourceRoot":"","sources":["../../../tests/provenance/SourceRecoveryService.test.ts"],"names":[],"mappings":"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"}
@@ -94,6 +94,24 @@ describe('backfillManifest', () => {
94
94
  expect(reg.id).toBe('uuid-xyz');
95
95
  expect(reg.source).toBe('https://github.com/acme/regrepo');
96
96
  });
97
+ it('SMI-5411: a git result carrying a registryId writes the UUID id with the git source', async () => {
98
+ const dir = mkSkillDir('gitskill');
99
+ const enriched = {
100
+ ...gitResult(dir, 'gitskill'),
101
+ registryId: 'reg-uuid-5411', // git source IS catalog-known -> enriched id
102
+ };
103
+ const outcome = await backfillManifest(report(enriched), {
104
+ manifestPath,
105
+ apply: true,
106
+ now: NOW,
107
+ });
108
+ expect(outcome.written).toEqual(['gitskill']);
109
+ const entry = loadManifest().installedSkills.gitskill;
110
+ // The id is the registry UUID (skill_outdated keys on it), NOT owner/skill-
111
+ // name; the source stays the exact git remote (View-Changes unchanged).
112
+ expect(entry.id).toBe('reg-uuid-5411');
113
+ expect(entry.source).toBe('https://github.com/acme/gitrepo');
114
+ });
97
115
  it('default min-confidence (high) excludes a medium registry-name match', async () => {
98
116
  const dir = mkSkillDir('namematch');
99
117
  const outcome = await backfillManifest(report(registryResult(dir, 'namematch', 'medium')), {
@@ -1 +1 @@
1
- {"version":3,"file":"backfill.test.js","sourceRoot":"","sources":["../../../tests/provenance/backfill.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backfill.test.js","sourceRoot":"","sources":["../../../tests/provenance/backfill.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=name-variants.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"name-variants.test.d.ts","sourceRoot":"","sources":["../../../tests/provenance/name-variants.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @see SMI-5413 — affix-tolerant registry-name matching
3
+ */
4
+ import { describe, it, expect } from 'vitest';
5
+ import { normalizeSkillName, skillNameVariants } from '../../src/provenance/name-variants.js';
6
+ describe('normalizeSkillName', () => {
7
+ it('strips a claude-skill- prefix', () => {
8
+ expect(normalizeSkillName('claude-skill-ci-doctor')).toBe('ci-doctor');
9
+ });
10
+ it('strips a claude- prefix', () => {
11
+ expect(normalizeSkillName('claude-ci-doctor')).toBe('ci-doctor');
12
+ });
13
+ it('strips a -claude-skill / -skill / -skills suffix', () => {
14
+ expect(normalizeSkillName('ci-doctor-claude-skill')).toBe('ci-doctor');
15
+ expect(normalizeSkillName('ci-doctor-skill')).toBe('ci-doctor');
16
+ expect(normalizeSkillName('ci-doctor-skills')).toBe('ci-doctor');
17
+ });
18
+ it('leaves a bare name unchanged and lower-cases', () => {
19
+ expect(normalizeSkillName('ci-doctor')).toBe('ci-doctor');
20
+ expect(normalizeSkillName('CI-Doctor')).toBe('ci-doctor');
21
+ });
22
+ it('does NOT strip an unrelated vendor prefix', () => {
23
+ // vercel- is not a known skill affix — only convention claude affixes strip.
24
+ expect(normalizeSkillName('vercel-react-best-practices')).toBe('vercel-react-best-practices');
25
+ });
26
+ it('never reduces to empty (affix-only name kept)', () => {
27
+ // Length-guarded: a same-length affix is not stripped; a shorter one may be,
28
+ // but the result is never empty.
29
+ expect(normalizeSkillName('-skill')).toBe('-skill');
30
+ expect(normalizeSkillName('claude-skill-').length).toBeGreaterThan(0);
31
+ });
32
+ });
33
+ describe('skillNameVariants', () => {
34
+ it('expands a bare name to the affixed registry forms', () => {
35
+ const v = skillNameVariants('ci-doctor');
36
+ expect(v).toContain('ci-doctor');
37
+ expect(v).toContain('claude-skill-ci-doctor');
38
+ expect(v).toContain('ci-doctor-skill');
39
+ });
40
+ it('expands an affixed name back to its bare form', () => {
41
+ const v = skillNameVariants('claude-skill-ci-doctor');
42
+ expect(v).toContain('ci-doctor');
43
+ expect(v).toContain('claude-skill-ci-doctor');
44
+ });
45
+ it('is deduplicated and non-empty', () => {
46
+ const v = skillNameVariants('ci-doctor');
47
+ expect(new Set(v).size).toBe(v.length);
48
+ expect(v.every((s) => s.length > 0)).toBe(true);
49
+ });
50
+ });
51
+ //# sourceMappingURL=name-variants.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"name-variants.test.js","sourceRoot":"","sources":["../../../tests/provenance/name-variants.test.ts"],"names":[],"mappings":"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"}