@skillsmith/cli 0.6.3 → 0.6.5

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.
Files changed (182) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/commands/__meta__/telemetry-coverage.test.d.ts +20 -0
  4. package/dist/src/commands/__meta__/telemetry-coverage.test.d.ts.map +1 -0
  5. package/dist/src/commands/__meta__/telemetry-coverage.test.js +118 -0
  6. package/dist/src/commands/__meta__/telemetry-coverage.test.js.map +1 -0
  7. package/dist/src/commands/ab-test.d.ts +1 -0
  8. package/dist/src/commands/ab-test.d.ts.map +1 -1
  9. package/dist/src/commands/ab-test.js +17 -8
  10. package/dist/src/commands/ab-test.js.map +1 -1
  11. package/dist/src/commands/analyze.d.ts +1 -0
  12. package/dist/src/commands/analyze.d.ts.map +1 -1
  13. package/dist/src/commands/analyze.js +32 -23
  14. package/dist/src/commands/analyze.js.map +1 -1
  15. package/dist/src/commands/audit-collisions.d.ts +1 -4
  16. package/dist/src/commands/audit-collisions.d.ts.map +1 -1
  17. package/dist/src/commands/audit-collisions.js +32 -23
  18. package/dist/src/commands/audit-collisions.js.map +1 -1
  19. package/dist/src/commands/audit-sources.action.d.ts +37 -0
  20. package/dist/src/commands/audit-sources.action.d.ts.map +1 -0
  21. package/dist/src/commands/audit-sources.action.js +321 -0
  22. package/dist/src/commands/audit-sources.action.js.map +1 -0
  23. package/dist/src/commands/audit-sources.d.ts +37 -0
  24. package/dist/src/commands/audit-sources.d.ts.map +1 -0
  25. package/dist/src/commands/audit-sources.js +55 -0
  26. package/dist/src/commands/audit-sources.js.map +1 -0
  27. package/dist/src/commands/audit-sources.test.d.ts +9 -0
  28. package/dist/src/commands/audit-sources.test.d.ts.map +1 -0
  29. package/dist/src/commands/audit-sources.test.js +228 -0
  30. package/dist/src/commands/audit-sources.test.js.map +1 -0
  31. package/dist/src/commands/audit.d.ts +2 -6
  32. package/dist/src/commands/audit.d.ts.map +1 -1
  33. package/dist/src/commands/audit.js +52 -31
  34. package/dist/src/commands/audit.js.map +1 -1
  35. package/dist/src/commands/author/index.d.ts +2 -1
  36. package/dist/src/commands/author/index.d.ts.map +1 -1
  37. package/dist/src/commands/author/index.js +4 -1
  38. package/dist/src/commands/author/index.js.map +1 -1
  39. package/dist/src/commands/author/init.action.d.ts +29 -0
  40. package/dist/src/commands/author/init.action.d.ts.map +1 -0
  41. package/dist/src/commands/author/init.action.js +131 -0
  42. package/dist/src/commands/author/init.action.js.map +1 -0
  43. package/dist/src/commands/author/init.d.ts +0 -14
  44. package/dist/src/commands/author/init.d.ts.map +1 -1
  45. package/dist/src/commands/author/init.js +3 -87
  46. package/dist/src/commands/author/init.js.map +1 -1
  47. package/dist/src/commands/author/mcp-init.d.ts +1 -0
  48. package/dist/src/commands/author/mcp-init.d.ts.map +1 -1
  49. package/dist/src/commands/author/mcp-init.js +21 -13
  50. package/dist/src/commands/author/mcp-init.js.map +1 -1
  51. package/dist/src/commands/author/subagent.d.ts +1 -0
  52. package/dist/src/commands/author/subagent.d.ts.map +1 -1
  53. package/dist/src/commands/author/subagent.js +23 -15
  54. package/dist/src/commands/author/subagent.js.map +1 -1
  55. package/dist/src/commands/author/transform.d.ts +1 -0
  56. package/dist/src/commands/author/transform.d.ts.map +1 -1
  57. package/dist/src/commands/author/transform.js +23 -15
  58. package/dist/src/commands/author/transform.js.map +1 -1
  59. package/dist/src/commands/config.d.ts +2 -0
  60. package/dist/src/commands/config.d.ts.map +1 -1
  61. package/dist/src/commands/config.js +43 -28
  62. package/dist/src/commands/config.js.map +1 -1
  63. package/dist/src/commands/create.d.ts +1 -0
  64. package/dist/src/commands/create.d.ts.map +1 -1
  65. package/dist/src/commands/create.js +28 -19
  66. package/dist/src/commands/create.js.map +1 -1
  67. package/dist/src/commands/diff.d.ts +4 -0
  68. package/dist/src/commands/diff.d.ts.map +1 -1
  69. package/dist/src/commands/diff.js +90 -54
  70. package/dist/src/commands/diff.js.map +1 -1
  71. package/dist/src/commands/diff.test.js +52 -0
  72. package/dist/src/commands/diff.test.js.map +1 -1
  73. package/dist/src/commands/import-local.d.ts +7 -0
  74. package/dist/src/commands/import-local.d.ts.map +1 -1
  75. package/dist/src/commands/import-local.js +43 -34
  76. package/dist/src/commands/import-local.js.map +1 -1
  77. package/dist/src/commands/import.d.ts +6 -0
  78. package/dist/src/commands/import.d.ts.map +1 -1
  79. package/dist/src/commands/import.js +23 -14
  80. package/dist/src/commands/import.js.map +1 -1
  81. package/dist/src/commands/info.d.ts +7 -0
  82. package/dist/src/commands/info.d.ts.map +1 -1
  83. package/dist/src/commands/info.js +77 -68
  84. package/dist/src/commands/info.js.map +1 -1
  85. package/dist/src/commands/install-skill.d.ts +3 -0
  86. package/dist/src/commands/install-skill.d.ts.map +1 -1
  87. package/dist/src/commands/install-skill.js +23 -15
  88. package/dist/src/commands/install-skill.js.map +1 -1
  89. package/dist/src/commands/install.d.ts +21 -0
  90. package/dist/src/commands/install.d.ts.map +1 -1
  91. package/dist/src/commands/install.js +154 -139
  92. package/dist/src/commands/install.js.map +1 -1
  93. package/dist/src/commands/login.d.ts +4 -0
  94. package/dist/src/commands/login.d.ts.map +1 -1
  95. package/dist/src/commands/login.js +56 -47
  96. package/dist/src/commands/login.js.map +1 -1
  97. package/dist/src/commands/logout.d.ts +1 -0
  98. package/dist/src/commands/logout.d.ts.map +1 -1
  99. package/dist/src/commands/logout.js +36 -27
  100. package/dist/src/commands/logout.js.map +1 -1
  101. package/dist/src/commands/manage.d.ts +3 -9
  102. package/dist/src/commands/manage.d.ts.map +1 -1
  103. package/dist/src/commands/manage.js +69 -45
  104. package/dist/src/commands/manage.js.map +1 -1
  105. package/dist/src/commands/merge.d.ts +7 -0
  106. package/dist/src/commands/merge.d.ts.map +1 -1
  107. package/dist/src/commands/merge.js +117 -108
  108. package/dist/src/commands/merge.js.map +1 -1
  109. package/dist/src/commands/pin.d.ts +2 -0
  110. package/dist/src/commands/pin.d.ts.map +1 -1
  111. package/dist/src/commands/pin.js +88 -73
  112. package/dist/src/commands/pin.js.map +1 -1
  113. package/dist/src/commands/recommend.d.ts +1 -0
  114. package/dist/src/commands/recommend.d.ts.map +1 -1
  115. package/dist/src/commands/recommend.js +35 -27
  116. package/dist/src/commands/recommend.js.map +1 -1
  117. package/dist/src/commands/search-formatters.d.ts +1 -0
  118. package/dist/src/commands/search-formatters.d.ts.map +1 -1
  119. package/dist/src/commands/search-formatters.js +3 -0
  120. package/dist/src/commands/search-formatters.js.map +1 -1
  121. package/dist/src/commands/search.action.d.ts +16 -0
  122. package/dist/src/commands/search.action.d.ts.map +1 -0
  123. package/dist/src/commands/search.action.js +384 -0
  124. package/dist/src/commands/search.action.js.map +1 -0
  125. package/dist/src/commands/search.d.ts +3 -0
  126. package/dist/src/commands/search.d.ts.map +1 -1
  127. package/dist/src/commands/search.js +5 -354
  128. package/dist/src/commands/search.js.map +1 -1
  129. package/dist/src/commands/sync.action.d.ts +39 -0
  130. package/dist/src/commands/sync.action.d.ts.map +1 -0
  131. package/dist/src/commands/sync.action.js +353 -0
  132. package/dist/src/commands/sync.action.js.map +1 -0
  133. package/dist/src/commands/sync.d.ts +3 -0
  134. package/dist/src/commands/sync.d.ts.map +1 -1
  135. package/dist/src/commands/sync.js +8 -310
  136. package/dist/src/commands/sync.js.map +1 -1
  137. package/dist/src/commands/telemetry.action.d.ts +38 -0
  138. package/dist/src/commands/telemetry.action.d.ts.map +1 -0
  139. package/dist/src/commands/telemetry.action.js +350 -0
  140. package/dist/src/commands/telemetry.action.js.map +1 -0
  141. package/dist/src/commands/telemetry.d.ts +5 -13
  142. package/dist/src/commands/telemetry.d.ts.map +1 -1
  143. package/dist/src/commands/telemetry.js +13 -302
  144. package/dist/src/commands/telemetry.js.map +1 -1
  145. package/dist/src/commands/whoami.d.ts +1 -0
  146. package/dist/src/commands/whoami.d.ts.map +1 -1
  147. package/dist/src/commands/whoami.js +29 -21
  148. package/dist/src/commands/whoami.js.map +1 -1
  149. package/dist/src/utils/open-database.d.ts +10 -2
  150. package/dist/src/utils/open-database.d.ts.map +1 -1
  151. package/dist/src/utils/open-database.js +15 -2
  152. package/dist/src/utils/open-database.js.map +1 -1
  153. package/dist/src/utils/skills-directory.d.ts.map +1 -1
  154. package/dist/src/utils/skills-directory.js +5 -1
  155. package/dist/src/utils/skills-directory.js.map +1 -1
  156. package/dist/tests/e2e/audit-sources-affix.test.d.ts +11 -0
  157. package/dist/tests/e2e/audit-sources-affix.test.d.ts.map +1 -0
  158. package/dist/tests/e2e/audit-sources-affix.test.js +121 -0
  159. package/dist/tests/e2e/audit-sources-affix.test.js.map +1 -0
  160. package/dist/tests/e2e/audit-sources-apply.test.d.ts +13 -0
  161. package/dist/tests/e2e/audit-sources-apply.test.d.ts.map +1 -0
  162. package/dist/tests/e2e/audit-sources-apply.test.js +166 -0
  163. package/dist/tests/e2e/audit-sources-apply.test.js.map +1 -0
  164. package/dist/tests/e2e/audit-sources-recovery.test.d.ts +15 -0
  165. package/dist/tests/e2e/audit-sources-recovery.test.d.ts.map +1 -0
  166. package/dist/tests/e2e/audit-sources-recovery.test.js +179 -0
  167. package/dist/tests/e2e/audit-sources-recovery.test.js.map +1 -0
  168. package/dist/tests/e2e/audit-sources-roundtrip.test.d.ts +23 -0
  169. package/dist/tests/e2e/audit-sources-roundtrip.test.d.ts.map +1 -0
  170. package/dist/tests/e2e/audit-sources-roundtrip.test.js +139 -0
  171. package/dist/tests/e2e/audit-sources-roundtrip.test.js.map +1 -0
  172. package/dist/tests/e2e/utils/source-recovery-fixture.d.ts +49 -0
  173. package/dist/tests/e2e/utils/source-recovery-fixture.d.ts.map +1 -0
  174. package/dist/tests/e2e/utils/source-recovery-fixture.js +106 -0
  175. package/dist/tests/e2e/utils/source-recovery-fixture.js.map +1 -0
  176. package/dist/tests/init.test.js +2 -1
  177. package/dist/tests/init.test.js.map +1 -1
  178. package/dist/tests/install-quarantine.test.d.ts +10 -0
  179. package/dist/tests/install-quarantine.test.d.ts.map +1 -0
  180. package/dist/tests/install-quarantine.test.js +86 -0
  181. package/dist/tests/install-quarantine.test.js.map +1 -0
  182. package/package.json +4 -5
@@ -0,0 +1,139 @@
1
+ /**
2
+ * @fileoverview SMI-5407 end-to-end — GATE (write half): recover -> backfill.
3
+ *
4
+ * Drives the REAL CLI apply path (`audit sources --apply --yes --min-confidence
5
+ * medium`) into a REAL temp manifest and asserts the load-bearing backfill keys:
6
+ * - a single registry-name match (medium) writes the registry UUID as `id`
7
+ * (the only id form `skill_outdated` can resolve a registry skill by);
8
+ * - a git remote (exact) writes an owner/skill-name `id` (no UUID — the git
9
+ * tier has none);
10
+ * - both write an https `source` that `buildRawUrl` accepts (View-Changes).
11
+ *
12
+ * The READ half — that real `skill_outdated` resolves the UUID id (and NOT the
13
+ * owner/skill-name, owner/repo, or URL decoy forms), while the git owner/skill-
14
+ * name id resolves to `unknown` yet keeps a working View-Changes source — lives
15
+ * in `packages/mcp-server/src/__tests__/skill-outdated-resolution.test.ts`.
16
+ * It cannot live here: importing the mcp-server `executeOutdated`/`ToolContext`
17
+ * source across the package boundary is structurally invalid under the CLI
18
+ * tsconfig rootDir (TS6059/TS6307), and those symbols are not part of the
19
+ * mcp-server package's public exports. The shared REG_UUID + manifest shape are
20
+ * the contract linking the two halves.
21
+ */
22
+ import { describe, it, expect, beforeAll, afterAll, beforeEach } from 'vitest';
23
+ import * as fs from 'node:fs';
24
+ import * as os from 'node:os';
25
+ import * as path from 'node:path';
26
+ import { writeSourceFixture, seedSkillsDb, buildRawUrl, FIXTURE_DIRS, GIT_OWNER, GIT_REPO, } from './utils/source-recovery-fixture.js';
27
+ let runAuditSources;
28
+ let tempHome = '';
29
+ let skillsRoot = '';
30
+ let manifestPath = '';
31
+ let originalHome;
32
+ let dbCounter = 0;
33
+ // git tier: owner/skill-name id (no registry UUID).
34
+ const GIT_ID = `${GIT_OWNER}/${FIXTURE_DIRS.git}`;
35
+ // git tier canonical recovered source (both git fixtures share owner/repo).
36
+ const GIT_SOURCE = `https://github.com/${GIT_OWNER}/${GIT_REPO}`;
37
+ // SMI-5411: registry UUID a catalog-known git repo enriches its manifest id to.
38
+ const GIT_REG_UUID = 'b2c3d4e5-0000-4000-8000-000000000002';
39
+ // registry tier: a single-name match carrying the UUID.
40
+ const REG_UUID = 'a1b2c3d4-0000-4000-8000-000000000001';
41
+ const REG_OWNER = 'regowner';
42
+ const REG_REPO = 'regrepo';
43
+ const REG_SOURCE = `https://github.com/${REG_OWNER}/${REG_REPO}`;
44
+ function makeOpts(o) {
45
+ return {
46
+ skillsRoot,
47
+ apply: o.apply ?? false,
48
+ yes: o.yes ?? false,
49
+ set: o.set,
50
+ minConfidence: o.minConfidence ?? 'high',
51
+ json: o.json ?? false,
52
+ embedding: false,
53
+ catalogHint: false,
54
+ writeFrontmatter: false,
55
+ forceWriteFrontmatter: false,
56
+ db: o.db,
57
+ };
58
+ }
59
+ function entry(name) {
60
+ const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
61
+ return manifest.installedSkills[name];
62
+ }
63
+ beforeAll(async () => {
64
+ originalHome = process.env['HOME'];
65
+ tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'smi5407-rt-home-'));
66
+ process.env['HOME'] = tempHome;
67
+ skillsRoot = fs.mkdtempSync(path.join(os.tmpdir(), 'smi5407-rt-skills-'));
68
+ manifestPath = path.join(tempHome, '.skillsmith', 'manifest.json');
69
+ writeSourceFixture(skillsRoot);
70
+ ({ runAuditSources } = await import('../../src/commands/audit-sources.action.js'));
71
+ });
72
+ afterAll(() => {
73
+ if (originalHome === undefined)
74
+ delete process.env['HOME'];
75
+ else
76
+ process.env['HOME'] = originalHome;
77
+ for (const dir of [tempHome, skillsRoot]) {
78
+ if (dir)
79
+ fs.rmSync(dir, { recursive: true, force: true });
80
+ }
81
+ });
82
+ beforeEach(() => {
83
+ fs.rmSync(manifestPath, { force: true });
84
+ });
85
+ describe('SMI-5407 e2e GATE (write) — recover -> backfill (scenario 2)', () => {
86
+ it('writes the registry UUID id (medium) and the git owner/skill-name id (exact)', async () => {
87
+ const db = path.join(tempHome, `rt-${dbCounter++}.db`);
88
+ await seedSkillsDb(db, [{ id: REG_UUID, name: FIXTURE_DIRS.registry, repoUrl: REG_SOURCE }]);
89
+ // --min-confidence medium so the single registry-name match qualifies
90
+ // (fixed qualifies(): the minConfidence floor IS the gate, no AUTO_QUALIFY).
91
+ await runAuditSources(makeOpts({ db, apply: true, yes: true, minConfidence: 'medium' }));
92
+ // registry: the load-bearing UUID id + https owner/repo source.
93
+ const registry = entry(FIXTURE_DIRS.registry);
94
+ expect(registry.id).toBe(REG_UUID);
95
+ expect(registry.source).toBe(REG_SOURCE);
96
+ expect(buildRawUrl(registry.source)).toBe(`https://raw.githubusercontent.com/${REG_OWNER}/${REG_REPO}/main/SKILL.md`);
97
+ // git: exact, owner/skill-name id, buildRawUrl-parseable source.
98
+ const git = entry(FIXTURE_DIRS.git);
99
+ expect(git.id).toBe(GIT_ID);
100
+ expect(git.source).toBe(`https://github.com/${GIT_OWNER}/${GIT_REPO}`);
101
+ expect(buildRawUrl(git.source)).not.toBeNull();
102
+ });
103
+ it('default min-confidence (high) leaves the medium registry match unwritten', async () => {
104
+ const db = path.join(tempHome, `rt-${dbCounter++}.db`);
105
+ await seedSkillsDb(db, [{ id: REG_UUID, name: FIXTURE_DIRS.registry, repoUrl: REG_SOURCE }]);
106
+ await runAuditSources(makeOpts({ db, apply: true, yes: true }));
107
+ expect(entry(FIXTURE_DIRS.registry)).toBeUndefined();
108
+ expect(entry(FIXTURE_DIRS.git)).toBeDefined();
109
+ });
110
+ // SMI-5411: when the git skill's recovered repo_url IS in the local catalog,
111
+ // `audit sources --apply` enriches its manifest id from owner/skill-name to the
112
+ // registry UUID (so skill_outdated can resolve it) WITHOUT changing the exact
113
+ // git SOURCE (View-Changes unchanged). The READ half — that real
114
+ // skill_outdated resolves this UUID id and rejects decoy forms — lives in
115
+ // packages/mcp-server/src/__tests__/skill-outdated-resolution.test.ts.
116
+ it('enriches a catalog-known git skill id to the registry UUID at default confidence', async () => {
117
+ const db = path.join(tempHome, `rt-${dbCounter++}.db`);
118
+ // Seed a catalog row whose repo_url matches the git fixture's recovered
119
+ // source. `name` is distinct from the git fixture dir so the name-match tier
120
+ // is never reached — the git tier short-circuits and only the id is enriched.
121
+ await seedSkillsDb(db, [{ id: GIT_REG_UUID, name: GIT_REPO, repoUrl: GIT_SOURCE }]);
122
+ await runAuditSources(makeOpts({ db, apply: true, yes: true }));
123
+ const git = entry(FIXTURE_DIRS.git);
124
+ expect(git.id).toBe(GIT_REG_UUID); // enriched UUID, not owner/skill-name
125
+ expect(git.id).not.toBe(GIT_ID); // the un-enriched decoy form must not win
126
+ expect(git.source).toBe(GIT_SOURCE); // exact git source unchanged
127
+ expect(buildRawUrl(git.source)).toBe(`https://raw.githubusercontent.com/${GIT_OWNER}/${GIT_REPO}/main/SKILL.md`);
128
+ });
129
+ it('leaves the git id as owner/skill-name when the repo is NOT catalog-known (graceful)', async () => {
130
+ const db = path.join(tempHome, `rt-${dbCounter++}.db`);
131
+ // No skills row for the git repo_url -> findRegistryIdByRepoUrl returns null.
132
+ await seedSkillsDb(db, [{ id: REG_UUID, name: FIXTURE_DIRS.registry, repoUrl: REG_SOURCE }]);
133
+ await runAuditSources(makeOpts({ db, apply: true, yes: true }));
134
+ const git = entry(FIXTURE_DIRS.git);
135
+ expect(git.id).toBe(GIT_ID); // unchanged fallback
136
+ expect(git.source).toBe(GIT_SOURCE);
137
+ });
138
+ });
139
+ //# sourceMappingURL=audit-sources-roundtrip.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-sources-roundtrip.test.js","sourceRoot":"","sources":["../../../tests/e2e/audit-sources-roundtrip.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @fileoverview Shared real-filesystem fixture for the SMI-5407 source-recovery
3
+ * end-to-end / integration suite.
4
+ * @see SMI-5407
5
+ *
6
+ * NOT a `*.test.ts` file, so vitest never executes it as a test. It only
7
+ * touches `fs` / `path` and the `@skillsmith/core` DB factory; it computes no
8
+ * homedir-derived state, so it is safe to import statically (the homedir-frozen
9
+ * manifest modules are imported dynamically by the test files themselves).
10
+ */
11
+ /** A minimal but parser-valid SKILL.md body. `extra` lands inside frontmatter. */
12
+ export declare function skillMd(name: string, extra?: string): string;
13
+ /** Directory basenames produced by {@link writeSourceFixture}. */
14
+ export declare const FIXTURE_DIRS: {
15
+ readonly git: "git-skill";
16
+ readonly https: "https-skill";
17
+ readonly plugin: "plugin-skill";
18
+ readonly registry: "registry-skill";
19
+ readonly collision: "collision-skill";
20
+ readonly backup: "something.backup-20260101-120000";
21
+ readonly unknown: "unknown-skill";
22
+ };
23
+ /** Canonical GitHub owner/repo carried by both git fixtures (ssh + https). */
24
+ export declare const GIT_OWNER = "wrsmith108";
25
+ export declare const GIT_REPO = "linear-claude-skill";
26
+ /**
27
+ * Materialize the canonical fixture tree under `root`. Returns the absolute
28
+ * directory paths keyed by {@link FIXTURE_DIRS} key.
29
+ */
30
+ export declare function writeSourceFixture(root: string): Record<keyof typeof FIXTURE_DIRS, string>;
31
+ /** A skills-row seed spec for the CLI candidate-lookup database. */
32
+ export interface SkillSeedRow {
33
+ id: string;
34
+ name: string;
35
+ repoUrl: string;
36
+ qualityScore?: number;
37
+ }
38
+ /**
39
+ * Create a file-backed skills DB at `dbPath` and insert `rows` into `skills`.
40
+ * Opened and closed synchronously so the CLI can re-open the same file.
41
+ */
42
+ export declare function seedSkillsDb(dbPath: string, rows: SkillSeedRow[]): Promise<void>;
43
+ /**
44
+ * Replica of `diff.ts:buildRawUrl` (SMI-5406) — used to assert a backfilled
45
+ * `source` is in the exact form View-Changes accepts. Kept byte-identical to
46
+ * the production regex so the assertion stays load-bearing.
47
+ */
48
+ export declare function buildRawUrl(source: string): string | null;
49
+ //# sourceMappingURL=source-recovery-fixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-recovery-fixture.d.ts","sourceRoot":"","sources":["../../../../tests/e2e/utils/source-recovery-fixture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,kFAAkF;AAClF,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAW5D;AAiBD,kEAAkE;AAClE,eAAO,MAAM,YAAY;;;;;;;;CAQf,CAAA;AAEV,8EAA8E;AAC9E,eAAO,MAAM,SAAS,eAAe,CAAA;AACrC,eAAO,MAAM,QAAQ,wBAAwB,CAAA;AAE7C;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,OAAO,YAAY,EAAE,MAAM,CAAC,CA8B1F;AAED,oEAAoE;AACpE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAatF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMzD"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * @fileoverview Shared real-filesystem fixture for the SMI-5407 source-recovery
3
+ * end-to-end / integration suite.
4
+ * @see SMI-5407
5
+ *
6
+ * NOT a `*.test.ts` file, so vitest never executes it as a test. It only
7
+ * touches `fs` / `path` and the `@skillsmith/core` DB factory; it computes no
8
+ * homedir-derived state, so it is safe to import statically (the homedir-frozen
9
+ * manifest modules are imported dynamically by the test files themselves).
10
+ */
11
+ import * as fs from 'node:fs';
12
+ import * as path from 'node:path';
13
+ import { createDatabaseAsync, initializeSchema } from '@skillsmith/core';
14
+ /** A minimal but parser-valid SKILL.md body. `extra` lands inside frontmatter. */
15
+ export function skillMd(name, extra) {
16
+ const extraLine = extra ? `\n${extra}` : '';
17
+ return (`---\n` +
18
+ `name: ${name}\n` +
19
+ `description: ${name} fixture for source recovery\n` +
20
+ `author: fixtureowner${extraLine}\n` +
21
+ `---\n\n` +
22
+ `# ${name}\n\n` +
23
+ `Body content for ${name}.\n`);
24
+ }
25
+ function writeSkillDir(root, name, body) {
26
+ const dir = path.join(root, name);
27
+ fs.mkdirSync(dir, { recursive: true });
28
+ fs.writeFileSync(path.join(dir, 'SKILL.md'), body);
29
+ return dir;
30
+ }
31
+ function writeGitConfig(dir, originUrl) {
32
+ const config = `[core]\n\trepositoryformatversion = 0\n` +
33
+ `[remote "origin"]\n\turl = ${originUrl}\n\tfetch = +refs/heads/*:refs/remotes/origin/*\n`;
34
+ fs.mkdirSync(path.join(dir, '.git'), { recursive: true });
35
+ fs.writeFileSync(path.join(dir, '.git', 'config'), config);
36
+ }
37
+ /** Directory basenames produced by {@link writeSourceFixture}. */
38
+ export const FIXTURE_DIRS = {
39
+ git: 'git-skill',
40
+ https: 'https-skill',
41
+ plugin: 'plugin-skill',
42
+ registry: 'registry-skill',
43
+ collision: 'collision-skill',
44
+ backup: 'something.backup-20260101-120000',
45
+ unknown: 'unknown-skill',
46
+ };
47
+ /** Canonical GitHub owner/repo carried by both git fixtures (ssh + https). */
48
+ export const GIT_OWNER = 'wrsmith108';
49
+ export const GIT_REPO = 'linear-claude-skill';
50
+ /**
51
+ * Materialize the canonical fixture tree under `root`. Returns the absolute
52
+ * directory paths keyed by {@link FIXTURE_DIRS} key.
53
+ */
54
+ export function writeSourceFixture(root) {
55
+ fs.mkdirSync(root, { recursive: true });
56
+ // (a) git remote — scp/ssh form.
57
+ const git = writeSkillDir(root, FIXTURE_DIRS.git, skillMd(FIXTURE_DIRS.git));
58
+ writeGitConfig(git, `git@github.com:${GIT_OWNER}/${GIT_REPO}.git`);
59
+ // git remote — https form (same owner/repo as the ssh fixture).
60
+ const https = writeSkillDir(root, FIXTURE_DIRS.https, skillMd(FIXTURE_DIRS.https));
61
+ writeGitConfig(https, `https://github.com/${GIT_OWNER}/${GIT_REPO}.git`);
62
+ // (b) plugin manifest.
63
+ const plugin = writeSkillDir(root, FIXTURE_DIRS.plugin, skillMd(FIXTURE_DIRS.plugin));
64
+ fs.mkdirSync(path.join(plugin, '.claude-plugin'), { recursive: true });
65
+ fs.writeFileSync(path.join(plugin, '.claude-plugin', 'plugin.json'), JSON.stringify({ repository: 'https://github.com/o/r' }, null, 2));
66
+ // (c) registry single-name match; (d) collision two-name match.
67
+ const registry = writeSkillDir(root, FIXTURE_DIRS.registry, skillMd(FIXTURE_DIRS.registry));
68
+ const collision = writeSkillDir(root, FIXTURE_DIRS.collision, skillMd(FIXTURE_DIRS.collision));
69
+ // (e) backup snapshot dir — listed, never scanned.
70
+ const backup = writeSkillDir(root, FIXTURE_DIRS.backup, skillMd('something'));
71
+ // (f) no .git, no plugin, no registry row.
72
+ const unknown = writeSkillDir(root, FIXTURE_DIRS.unknown, skillMd(FIXTURE_DIRS.unknown));
73
+ return { git, https, plugin, registry, collision, backup, unknown };
74
+ }
75
+ /**
76
+ * Create a file-backed skills DB at `dbPath` and insert `rows` into `skills`.
77
+ * Opened and closed synchronously so the CLI can re-open the same file.
78
+ */
79
+ export async function seedSkillsDb(dbPath, rows) {
80
+ const db = await createDatabaseAsync(dbPath);
81
+ try {
82
+ initializeSchema(db);
83
+ const insert = db.prepare('INSERT INTO skills (id, name, repo_url, quality_score) VALUES (?, ?, ?, ?)');
84
+ for (const row of rows) {
85
+ insert.run(row.id, row.name, row.repoUrl, row.qualityScore ?? 0.5);
86
+ }
87
+ }
88
+ finally {
89
+ db.close();
90
+ }
91
+ }
92
+ /**
93
+ * Replica of `diff.ts:buildRawUrl` (SMI-5406) — used to assert a backfilled
94
+ * `source` is in the exact form View-Changes accepts. Kept byte-identical to
95
+ * the production regex so the assertion stays load-bearing.
96
+ */
97
+ export function buildRawUrl(source) {
98
+ if (source.startsWith('https://raw.githubusercontent.com/'))
99
+ return source;
100
+ const m = /^https:\/\/github\.com\/([^/]+)\/([^/]+)(?:\/tree\/([^/]+))?/.exec(source);
101
+ if (!m)
102
+ return null;
103
+ const [, owner, repo, ref = 'main'] = m;
104
+ return `https://raw.githubusercontent.com/${owner}/${repo}/${ref}/SKILL.md`;
105
+ }
106
+ //# sourceMappingURL=source-recovery-fixture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-recovery-fixture.js","sourceRoot":"","sources":["../../../../tests/e2e/utils/source-recovery-fixture.ts"],"names":[],"mappings":"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"}
@@ -306,7 +306,8 @@ describe('SMI-4314: createInitCommand wrapper maps errors to exit codes', () =>
306
306
  await rm(tmpRoot, { recursive: true, force: true });
307
307
  });
308
308
  it('InitSkillError → prints err.message exactly once and exits with err.exitCode', async () => {
309
- const { createInitCommand } = await import('../src/commands/author/init.js');
309
+ // SMI-5129: createInitCommand moved to init.action.ts (sibling-split).
310
+ const { createInitCommand } = await import('../src/commands/author/init.action.js');
310
311
  const cmd = createInitCommand();
311
312
  // commander treats process.exit inside .action as a real exit; our stub
312
313
  // throws a marker so parseAsync rejects.
@@ -1 +1 @@
1
- {"version":3,"file":"init.test.js","sourceRoot":"","sources":["../../tests/init.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.test.js","sourceRoot":"","sources":["../../tests/init.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * SMI-5358 GAP-07: createDbRegistryLookup quarantine enforcement
3
+ *
4
+ * Verifies that createDbRegistryLookup consults the QuarantineRepository
5
+ * so quarantined skills surface quarantined===true in the lookup result —
6
+ * allowing SkillInstallationService to block the install. A regression to
7
+ * hardcoded quarantined:false must fail assertion (1).
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=install-quarantine.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-quarantine.test.d.ts","sourceRoot":"","sources":["../../tests/install-quarantine.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * SMI-5358 GAP-07: createDbRegistryLookup quarantine enforcement
3
+ *
4
+ * Verifies that createDbRegistryLookup consults the QuarantineRepository
5
+ * so quarantined skills surface quarantined===true in the lookup result —
6
+ * allowing SkillInstallationService to block the install. A regression to
7
+ * hardcoded quarantined:false must fail assertion (1).
8
+ */
9
+ import { describe, it, expect, afterEach } from 'vitest';
10
+ import { SkillRepository, QuarantineRepository, closeDatabase, } from '@skillsmith/core';
11
+ import { openCliDatabase } from '../src/utils/open-database.js';
12
+ import { createDbRegistryLookup } from '../src/commands/install.js';
13
+ describe('SMI-5358 GAP-07: createDbRegistryLookup quarantine enforcement', () => {
14
+ const opened = [];
15
+ afterEach(() => {
16
+ for (const db of opened)
17
+ closeDatabase(db);
18
+ opened.length = 0;
19
+ });
20
+ async function open() {
21
+ const db = await openCliDatabase(':memory:');
22
+ opened.push(db);
23
+ return db;
24
+ }
25
+ it('(1) quarantined skill resolves with quarantined===true', async () => {
26
+ const db = await open();
27
+ const skillRepo = new SkillRepository(db);
28
+ // Insert a skill with a known registry-format ID and a repoUrl so the lookup
29
+ // does not bail out at the "no repoUrl" guard.
30
+ skillRepo.create({
31
+ id: 'test-author/quarantined-skill',
32
+ name: 'Quarantined Skill',
33
+ repoUrl: 'https://github.com/test-author/quarantined-skill',
34
+ });
35
+ // Quarantine the skill via the same DB so isQuarantined() returns true.
36
+ const quarantineRepo = new QuarantineRepository(db);
37
+ quarantineRepo.create({
38
+ skillId: 'test-author/quarantined-skill',
39
+ source: 'github',
40
+ quarantineReason: 'Obfuscated code detected',
41
+ severity: 'SUSPICIOUS',
42
+ });
43
+ const lookup = createDbRegistryLookup(skillRepo, db);
44
+ const result = await lookup.lookup('test-author/quarantined-skill');
45
+ // Regression-catch: reverting createDbRegistryLookup to hardcoded false
46
+ // would make this assertion fail.
47
+ expect(result).not.toBeNull();
48
+ expect(result.quarantined).toBe(true);
49
+ });
50
+ it('(2) clean (non-quarantined) skill resolves with quarantined===false', async () => {
51
+ const db = await open();
52
+ const skillRepo = new SkillRepository(db);
53
+ skillRepo.create({
54
+ id: 'test-author/clean-skill',
55
+ name: 'Clean Skill',
56
+ repoUrl: 'https://github.com/test-author/clean-skill',
57
+ });
58
+ // No quarantine entry for this skill — QuarantineRepository table is
59
+ // created by the constructor but contains no rows for this ID.
60
+ const lookup = createDbRegistryLookup(skillRepo, db);
61
+ const result = await lookup.lookup('test-author/clean-skill');
62
+ expect(result).not.toBeNull();
63
+ expect(result.quarantined).toBe(false);
64
+ });
65
+ it('(3) skill with no repoUrl resolves to null', async () => {
66
+ const db = await open();
67
+ const skillRepo = new SkillRepository(db);
68
+ // Insert a skill WITHOUT a repoUrl (metadata-only seed data pattern).
69
+ skillRepo.create({
70
+ id: 'test-author/no-repo-skill',
71
+ name: 'No Repo Skill',
72
+ // repoUrl intentionally omitted
73
+ });
74
+ const lookup = createDbRegistryLookup(skillRepo, db);
75
+ const result = await lookup.lookup('test-author/no-repo-skill');
76
+ expect(result).toBeNull();
77
+ });
78
+ it('unknown skill ID resolves to null', async () => {
79
+ const db = await open();
80
+ const skillRepo = new SkillRepository(db);
81
+ const lookup = createDbRegistryLookup(skillRepo, db);
82
+ const result = await lookup.lookup('nobody/does-not-exist');
83
+ expect(result).toBeNull();
84
+ });
85
+ });
86
+ //# sourceMappingURL=install-quarantine.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-quarantine.test.js","sourceRoot":"","sources":["../../tests/install-quarantine.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skillsmith/cli",
3
- "version": "0.6.3",
3
+ "version": "0.6.5",
4
4
  "description": "CLI tools for Skillsmith skill discovery and authentication",
5
5
  "type": "module",
6
6
  "bin": {
@@ -17,13 +17,12 @@
17
17
  },
18
18
  "dependencies": {
19
19
  "@inquirer/prompts": "7.10.1",
20
- "@skillsmith/core": "^0.8.0",
21
- "@skillsmith/mcp-server": "^0.5.3",
20
+ "@skillsmith/core": "^0.8.2",
21
+ "@skillsmith/mcp-server": "^0.5.5",
22
22
  "chalk": "5.6.2",
23
23
  "chokidar": "4.0.3",
24
24
  "cli-table3": "0.6.5",
25
25
  "commander": "14.0.3",
26
- "esbuild": "0.27.2",
27
26
  "gray-matter": "4.0.3",
28
27
  "open": "11.0.0",
29
28
  "ora": "9.3.0"
@@ -32,7 +31,7 @@
32
31
  "@isaacs/keytar": "7.9.0"
33
32
  },
34
33
  "devDependencies": {
35
- "@types/node": "^25.9.0",
34
+ "@types/node": "^25.9.3",
36
35
  "vitest": "4.1.6"
37
36
  },
38
37
  "peerDependencies": {