@skillsmith/core 0.4.15 → 0.4.16

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 (96) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/src/analysis/DependencyMerger.d.ts +39 -0
  3. package/dist/src/analysis/DependencyMerger.d.ts.map +1 -0
  4. package/dist/src/analysis/DependencyMerger.js +191 -0
  5. package/dist/src/analysis/DependencyMerger.js.map +1 -0
  6. package/dist/src/analysis/DependencyMerger.test.d.ts +2 -0
  7. package/dist/src/analysis/DependencyMerger.test.d.ts.map +1 -0
  8. package/dist/src/analysis/DependencyMerger.test.js +258 -0
  9. package/dist/src/analysis/DependencyMerger.test.js.map +1 -0
  10. package/dist/src/analysis/McpReferenceExtractor.d.ts +42 -0
  11. package/dist/src/analysis/McpReferenceExtractor.d.ts.map +1 -0
  12. package/dist/src/analysis/McpReferenceExtractor.js +92 -0
  13. package/dist/src/analysis/McpReferenceExtractor.js.map +1 -0
  14. package/dist/src/analysis/McpReferenceExtractor.test.d.ts +2 -0
  15. package/dist/src/analysis/McpReferenceExtractor.test.d.ts.map +1 -0
  16. package/dist/src/analysis/McpReferenceExtractor.test.js +262 -0
  17. package/dist/src/analysis/McpReferenceExtractor.test.js.map +1 -0
  18. package/dist/src/api/schemas.d.ts +4 -4
  19. package/dist/src/db/drivers/sqljsDriver.d.ts.map +1 -1
  20. package/dist/src/db/drivers/sqljsDriver.js +4 -8
  21. package/dist/src/db/drivers/sqljsDriver.js.map +1 -1
  22. package/dist/src/db/migrations/v10-dependencies.d.ts +18 -0
  23. package/dist/src/db/migrations/v10-dependencies.d.ts.map +1 -0
  24. package/dist/src/db/migrations/v10-dependencies.js +50 -0
  25. package/dist/src/db/migrations/v10-dependencies.js.map +1 -0
  26. package/dist/src/db/migrations/v2-phase5-columns.d.ts +7 -0
  27. package/dist/src/db/migrations/v2-phase5-columns.d.ts.map +1 -0
  28. package/dist/src/db/migrations/v2-phase5-columns.js +16 -0
  29. package/dist/src/db/migrations/v2-phase5-columns.js.map +1 -0
  30. package/dist/src/db/migrations/v3-sync-tables.d.ts +6 -0
  31. package/dist/src/db/migrations/v3-sync-tables.d.ts.map +1 -0
  32. package/dist/src/db/migrations/v3-sync-tables.js +41 -0
  33. package/dist/src/db/migrations/v3-sync-tables.js.map +1 -0
  34. package/dist/src/db/migrations/v4-security-columns.d.ts +7 -0
  35. package/dist/src/db/migrations/v4-security-columns.d.ts.map +1 -0
  36. package/dist/src/db/migrations/v4-security-columns.js +17 -0
  37. package/dist/src/db/migrations/v4-security-columns.js.map +1 -0
  38. package/dist/src/db/schema.d.ts +1 -1
  39. package/dist/src/db/schema.d.ts.map +1 -1
  40. package/dist/src/db/schema.js +14 -58
  41. package/dist/src/db/schema.js.map +1 -1
  42. package/dist/src/exports/repositories.d.ts +1 -0
  43. package/dist/src/exports/repositories.d.ts.map +1 -1
  44. package/dist/src/exports/repositories.js +4 -0
  45. package/dist/src/exports/repositories.js.map +1 -1
  46. package/dist/src/exports/services.d.ts +2 -0
  47. package/dist/src/exports/services.d.ts.map +1 -1
  48. package/dist/src/exports/services.js +5 -0
  49. package/dist/src/exports/services.js.map +1 -1
  50. package/dist/src/exports/types.d.ts +1 -0
  51. package/dist/src/exports/types.d.ts.map +1 -1
  52. package/dist/src/exports/types.js.map +1 -1
  53. package/dist/src/indexer/GitHubIndexer.d.ts +3 -1
  54. package/dist/src/indexer/GitHubIndexer.d.ts.map +1 -1
  55. package/dist/src/indexer/GitHubIndexer.js.map +1 -1
  56. package/dist/src/indexer/SkillParser.d.ts +20 -9
  57. package/dist/src/indexer/SkillParser.d.ts.map +1 -1
  58. package/dist/src/indexer/SkillParser.js +17 -10
  59. package/dist/src/indexer/SkillParser.js.map +1 -1
  60. package/dist/src/repositories/IndexerRepository.d.ts.map +1 -1
  61. package/dist/src/repositories/IndexerRepository.js +5 -1
  62. package/dist/src/repositories/IndexerRepository.js.map +1 -1
  63. package/dist/src/repositories/SkillDependencyRepository.d.ts +73 -0
  64. package/dist/src/repositories/SkillDependencyRepository.d.ts.map +1 -0
  65. package/dist/src/repositories/SkillDependencyRepository.js +199 -0
  66. package/dist/src/repositories/SkillDependencyRepository.js.map +1 -0
  67. package/dist/src/scripts/validation/types.d.ts +2 -2
  68. package/dist/src/sources/SourceIndexer.d.ts +3 -1
  69. package/dist/src/sources/SourceIndexer.d.ts.map +1 -1
  70. package/dist/src/sources/SourceIndexer.js.map +1 -1
  71. package/dist/src/types/dependencies.d.ts +85 -0
  72. package/dist/src/types/dependencies.d.ts.map +1 -0
  73. package/dist/src/types/dependencies.js +11 -0
  74. package/dist/src/types/dependencies.js.map +1 -0
  75. package/dist/src/types/skill.d.ts +3 -0
  76. package/dist/src/types/skill.d.ts.map +1 -1
  77. package/dist/src/types/skill.js.map +1 -1
  78. package/dist/src/types.d.ts +2 -0
  79. package/dist/src/types.d.ts.map +1 -1
  80. package/dist/tests/DailyIndexPipeline.test.js +3 -3
  81. package/dist/tests/DailyIndexPipeline.test.js.map +1 -1
  82. package/dist/tests/GitHubIndexer.test.js +4 -2
  83. package/dist/tests/GitHubIndexer.test.js.map +1 -1
  84. package/dist/tests/edge-cases/EdgeCases.test.js +4 -1
  85. package/dist/tests/edge-cases/EdgeCases.test.js.map +1 -1
  86. package/dist/tests/repositories/SkillDependencyRepository.test.d.ts +10 -0
  87. package/dist/tests/repositories/SkillDependencyRepository.test.d.ts.map +1 -0
  88. package/dist/tests/repositories/SkillDependencyRepository.test.js +336 -0
  89. package/dist/tests/repositories/SkillDependencyRepository.test.js.map +1 -0
  90. package/dist/tests/sources.test.js +1 -1
  91. package/dist/tests/sources.test.js.map +1 -1
  92. package/dist/tests/unit/migrations/v10-dependencies.test.d.ts +6 -0
  93. package/dist/tests/unit/migrations/v10-dependencies.test.d.ts.map +1 -0
  94. package/dist/tests/unit/migrations/v10-dependencies.test.js +166 -0
  95. package/dist/tests/unit/migrations/v10-dependencies.test.js.map +1 -0
  96. package/package.json +1 -1
@@ -0,0 +1,92 @@
1
+ /**
2
+ * @fileoverview Extracts MCP tool references from SKILL.md content
3
+ * @module @skillsmith/core/analysis/McpReferenceExtractor
4
+ * @see SMI-3145: Build McpReferenceExtractor
5
+ *
6
+ * Scans skill content for `mcp__<server>__<tool>` patterns,
7
+ * tracking whether each reference appears inside a fenced code block.
8
+ */
9
+ /** Maximum input size in bytes before truncation */
10
+ const MAX_INPUT_BYTES = 100 * 1024;
11
+ /**
12
+ * Pattern matching `mcp__<server>__<tool>` identifiers.
13
+ * Server: lowercase letter followed by lowercase alphanumeric or hyphens.
14
+ * Tool: lowercase letter followed by lowercase alphanumeric or underscores.
15
+ */
16
+ const MCP_PATTERN = /mcp__([a-z][a-z0-9-]*)__([a-z][a-z0-9_]*)/g;
17
+ /** Matches the opening or closing of a fenced code block */
18
+ const FENCE_PATTERN = /^(`{3,}|~{3,})/;
19
+ /**
20
+ * Extract all MCP tool references from skill content.
21
+ *
22
+ * Scans each line for `mcp__server__tool` patterns, tracking fenced
23
+ * code block state to distinguish high-confidence (prose) references
24
+ * from low-confidence (code example) references.
25
+ *
26
+ * @param content - Raw SKILL.md content (markdown)
27
+ * @returns Extraction result with references, servers, and confidence info
28
+ */
29
+ export function extractMcpReferences(content) {
30
+ let truncated;
31
+ // Cap input at 100KB
32
+ if (new TextEncoder().encode(content).byteLength > MAX_INPUT_BYTES) {
33
+ content = content.slice(0, MAX_INPUT_BYTES);
34
+ truncated = true;
35
+ }
36
+ const lines = content.split('\n');
37
+ const references = [];
38
+ const serverSet = new Set();
39
+ const highConfidenceSet = new Set();
40
+ let inCodeBlock = false;
41
+ let fenceChar = null;
42
+ let fenceLength = 0;
43
+ for (let i = 0; i < lines.length; i++) {
44
+ const line = lines[i];
45
+ const lineNumber = i + 1;
46
+ // Check for fence toggle
47
+ const fenceMatch = FENCE_PATTERN.exec(line);
48
+ if (fenceMatch) {
49
+ const matchChar = fenceMatch[1][0];
50
+ const matchLength = fenceMatch[1].length;
51
+ if (!inCodeBlock) {
52
+ inCodeBlock = true;
53
+ fenceChar = matchChar;
54
+ fenceLength = matchLength;
55
+ }
56
+ else if (matchChar === fenceChar && matchLength >= fenceLength) {
57
+ // Closing fence must use same character and be at least as long
58
+ inCodeBlock = false;
59
+ fenceChar = null;
60
+ fenceLength = 0;
61
+ }
62
+ }
63
+ // Find all MCP references on this line
64
+ let match;
65
+ // Reset lastIndex for each line since we reuse the global regex
66
+ MCP_PATTERN.lastIndex = 0;
67
+ while ((match = MCP_PATTERN.exec(line)) !== null) {
68
+ const server = match[1];
69
+ const tool = match[2];
70
+ references.push({
71
+ server,
72
+ tool,
73
+ line: lineNumber,
74
+ inCodeBlock,
75
+ });
76
+ serverSet.add(server);
77
+ if (!inCodeBlock) {
78
+ highConfidenceSet.add(server);
79
+ }
80
+ }
81
+ }
82
+ const result = {
83
+ references,
84
+ servers: [...serverSet].sort(),
85
+ highConfidenceServers: [...highConfidenceSet].sort(),
86
+ };
87
+ if (truncated) {
88
+ result.truncated = true;
89
+ }
90
+ return result;
91
+ }
92
+ //# sourceMappingURL=McpReferenceExtractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpReferenceExtractor.js","sourceRoot":"","sources":["../../../src/analysis/McpReferenceExtractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=McpReferenceExtractor.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpReferenceExtractor.test.d.ts","sourceRoot":"","sources":["../../../src/analysis/McpReferenceExtractor.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,262 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { extractMcpReferences } from './McpReferenceExtractor.js';
3
+ describe('McpReferenceExtractor', () => {
4
+ describe('extractMcpReferences', () => {
5
+ it('should extract a basic MCP reference', () => {
6
+ const content = 'Use mcp__linear__save_issue to create issues.';
7
+ const result = extractMcpReferences(content);
8
+ expect(result.references).toHaveLength(1);
9
+ expect(result.references[0]).toEqual({
10
+ server: 'linear',
11
+ tool: 'save_issue',
12
+ line: 1,
13
+ inCodeBlock: false,
14
+ });
15
+ expect(result.servers).toEqual(['linear']);
16
+ expect(result.highConfidenceServers).toEqual(['linear']);
17
+ });
18
+ it('should detect references inside fenced code blocks', () => {
19
+ const content = [
20
+ 'Some text',
21
+ '```typescript',
22
+ 'await mcp__linear__save_issue({ title: "test" })',
23
+ '```',
24
+ 'More text',
25
+ ].join('\n');
26
+ const result = extractMcpReferences(content);
27
+ expect(result.references).toHaveLength(1);
28
+ expect(result.references[0].inCodeBlock).toBe(true);
29
+ expect(result.servers).toEqual(['linear']);
30
+ // Inside code block only -> not high confidence
31
+ expect(result.highConfidenceServers).toEqual([]);
32
+ });
33
+ it('should handle multiple servers', () => {
34
+ const content = [
35
+ 'Use mcp__linear__save_issue for issues.',
36
+ 'Use mcp__claude-flow__agent_spawn for agents.',
37
+ 'Use mcp__skillsmith__search for skills.',
38
+ ].join('\n');
39
+ const result = extractMcpReferences(content);
40
+ expect(result.references).toHaveLength(3);
41
+ expect(result.servers).toEqual(['claude-flow', 'linear', 'skillsmith']);
42
+ });
43
+ it('should handle servers with hyphens', () => {
44
+ const content = 'Use mcp__claude-flow__agent_spawn for agents.';
45
+ const result = extractMcpReferences(content);
46
+ expect(result.references).toHaveLength(1);
47
+ expect(result.references[0].server).toBe('claude-flow');
48
+ expect(result.references[0].tool).toBe('agent_spawn');
49
+ });
50
+ it('should return empty result for plain markdown', () => {
51
+ const content = [
52
+ '# My Skill',
53
+ '',
54
+ 'This skill does something cool.',
55
+ '',
56
+ '## Usage',
57
+ '',
58
+ 'Just install and use it.',
59
+ ].join('\n');
60
+ const result = extractMcpReferences(content);
61
+ expect(result.references).toEqual([]);
62
+ expect(result.servers).toEqual([]);
63
+ expect(result.highConfidenceServers).toEqual([]);
64
+ expect(result.truncated).toBeUndefined();
65
+ });
66
+ it('should handle nested code blocks with tilde fences', () => {
67
+ const content = [
68
+ 'Outside text with mcp__linear__get_issue',
69
+ '~~~',
70
+ 'Inside tilde block mcp__linear__save_issue',
71
+ '~~~',
72
+ 'Outside again mcp__linear__list_issues',
73
+ ].join('\n');
74
+ const result = extractMcpReferences(content);
75
+ expect(result.references).toHaveLength(3);
76
+ expect(result.references[0].inCodeBlock).toBe(false);
77
+ expect(result.references[1].inCodeBlock).toBe(true);
78
+ expect(result.references[2].inCodeBlock).toBe(false);
79
+ });
80
+ it('should require matching fence characters', () => {
81
+ const content = [
82
+ '```',
83
+ 'Inside backtick block mcp__linear__save_issue',
84
+ '~~~',
85
+ 'Still inside (tilde cannot close backtick) mcp__linear__get_issue',
86
+ '```',
87
+ 'Outside mcp__linear__list_issues',
88
+ ].join('\n');
89
+ const result = extractMcpReferences(content);
90
+ expect(result.references[0].inCodeBlock).toBe(true);
91
+ expect(result.references[1].inCodeBlock).toBe(true);
92
+ expect(result.references[2].inCodeBlock).toBe(false);
93
+ });
94
+ it('should truncate input exceeding 100KB', () => {
95
+ // Create content > 100KB: each line ~50 chars, need ~2048 lines for 100KB
96
+ const line = 'x'.repeat(100) + '\n';
97
+ const content = line.repeat(1100); // ~110KB
98
+ const result = extractMcpReferences(content);
99
+ expect(result.truncated).toBe(true);
100
+ expect(result.references).toEqual([]);
101
+ });
102
+ it('should not truncate content under 100KB', () => {
103
+ const content = 'mcp__linear__save_issue\n'.repeat(10);
104
+ const result = extractMcpReferences(content);
105
+ expect(result.truncated).toBeUndefined();
106
+ expect(result.references).toHaveLength(10);
107
+ });
108
+ it('should not match partial patterns like mcp__partial', () => {
109
+ const content = 'This has mcp__partial without a second delimiter.';
110
+ const result = extractMcpReferences(content);
111
+ expect(result.references).toEqual([]);
112
+ });
113
+ it('should match references embedded in URLs or paths', () => {
114
+ const content = 'See https://example.com/docs/mcp__linear__save_issue for details.';
115
+ const result = extractMcpReferences(content);
116
+ expect(result.references).toHaveLength(1);
117
+ expect(result.references[0].server).toBe('linear');
118
+ });
119
+ it('should extract multiple references on one line', () => {
120
+ const content = 'Use mcp__linear__save_issue and mcp__linear__get_issue together.';
121
+ const result = extractMcpReferences(content);
122
+ expect(result.references).toHaveLength(2);
123
+ expect(result.references[0].tool).toBe('save_issue');
124
+ expect(result.references[1].tool).toBe('get_issue');
125
+ expect(result.references[0].line).toBe(1);
126
+ expect(result.references[1].line).toBe(1);
127
+ });
128
+ it('should populate highConfidenceServers only for outside-code-block refs', () => {
129
+ const content = [
130
+ 'Use mcp__linear__save_issue in your workflow.',
131
+ '```',
132
+ 'mcp__claude-flow__agent_spawn({ type: "coder" })',
133
+ '```',
134
+ ].join('\n');
135
+ const result = extractMcpReferences(content);
136
+ expect(result.servers).toEqual(['claude-flow', 'linear']);
137
+ expect(result.highConfidenceServers).toEqual(['linear']);
138
+ });
139
+ it('should handle a server appearing both inside and outside code blocks', () => {
140
+ const content = [
141
+ 'Call mcp__linear__save_issue to create.',
142
+ '```',
143
+ 'mcp__linear__get_issue({ id: "123" })',
144
+ '```',
145
+ ].join('\n');
146
+ const result = extractMcpReferences(content);
147
+ expect(result.references).toHaveLength(2);
148
+ expect(result.servers).toEqual(['linear']);
149
+ // linear appears outside code block, so it's high confidence
150
+ expect(result.highConfidenceServers).toEqual(['linear']);
151
+ });
152
+ it('should handle longer fence sequences', () => {
153
+ const content = [
154
+ '````',
155
+ 'mcp__linear__save_issue inside 4-backtick block',
156
+ '```',
157
+ 'still inside (3 backticks cannot close 4-backtick fence)',
158
+ 'mcp__linear__get_issue',
159
+ '````',
160
+ 'mcp__linear__list_issues outside',
161
+ ].join('\n');
162
+ const result = extractMcpReferences(content);
163
+ expect(result.references[0].inCodeBlock).toBe(true);
164
+ expect(result.references[1].inCodeBlock).toBe(true);
165
+ expect(result.references[2].inCodeBlock).toBe(false);
166
+ });
167
+ describe('realistic SKILL.md validation (SMI-3147)', () => {
168
+ it('should correctly extract from a realistic SKILL.md body', () => {
169
+ const realisticSkill = [
170
+ '# Linear Integration Skill',
171
+ '',
172
+ '## Overview',
173
+ '',
174
+ 'This skill integrates with Linear project management.',
175
+ 'It uses mcp__linear__save_issue for creating issues',
176
+ 'and mcp__linear__get_issue for retrieving them.',
177
+ '',
178
+ '## Requirements',
179
+ '',
180
+ 'You need the mcp__skillsmith__search tool to find related skills.',
181
+ '',
182
+ '## Usage',
183
+ '',
184
+ '### Creating an issue',
185
+ '',
186
+ '```typescript',
187
+ '// Create a new Linear issue',
188
+ 'const result = await mcp__linear__save_issue({',
189
+ ' title: "Fix bug",',
190
+ ' teamId: "team-123",',
191
+ '})',
192
+ '```',
193
+ '',
194
+ '### Spawning agents',
195
+ '',
196
+ '```bash',
197
+ 'mcp__claude-flow__agent_spawn --type coder',
198
+ 'mcp__claude-flow__task_orchestrate --plan auto',
199
+ '```',
200
+ '',
201
+ '## Notes',
202
+ '',
203
+ 'The mcp__linear__list_issues tool is also helpful.',
204
+ ].join('\n');
205
+ const result = extractMcpReferences(realisticSkill);
206
+ // Verify references
207
+ expect(result.references.length).toBeGreaterThanOrEqual(7);
208
+ // Verify servers
209
+ expect(result.servers).toEqual(['claude-flow', 'linear', 'skillsmith']);
210
+ // High-confidence: linear and skillsmith appear outside code blocks
211
+ // claude-flow appears only inside code blocks
212
+ expect(result.highConfidenceServers).toEqual(['linear', 'skillsmith']);
213
+ // Verify code block detection for specific references
214
+ const proseRefs = result.references.filter((r) => !r.inCodeBlock);
215
+ const codeRefs = result.references.filter((r) => r.inCodeBlock);
216
+ // Outside code blocks: save_issue(l6), get_issue(l7),
217
+ // search(l11), list_issues(l32)
218
+ expect(proseRefs).toHaveLength(4);
219
+ // Inside code blocks: save_issue(l19),
220
+ // agent_spawn(l26), task_orchestrate(l27)
221
+ expect(codeRefs).toHaveLength(3);
222
+ expect(result.truncated).toBeUndefined();
223
+ });
224
+ it('should handle SKILL.md with no MCP references', () => {
225
+ const plainSkill = [
226
+ '# Simple Skill',
227
+ '',
228
+ '## Overview',
229
+ '',
230
+ 'A skill that uses no MCP tools.',
231
+ '',
232
+ '## Usage',
233
+ '',
234
+ '```bash',
235
+ 'echo "Hello world"',
236
+ '```',
237
+ ].join('\n');
238
+ const result = extractMcpReferences(plainSkill);
239
+ expect(result.references).toEqual([]);
240
+ expect(result.servers).toEqual([]);
241
+ expect(result.highConfidenceServers).toEqual([]);
242
+ });
243
+ it('should handle SKILL.md with only code block references', () => {
244
+ const codeOnlySkill = [
245
+ '# Agent Skill',
246
+ '',
247
+ 'This skill orchestrates agents.',
248
+ '',
249
+ '```javascript',
250
+ 'mcp__claude-flow__agent_spawn({ type: "coder" })',
251
+ 'mcp__claude-flow__memory_usage({ action: "store" })',
252
+ '```',
253
+ ].join('\n');
254
+ const result = extractMcpReferences(codeOnlySkill);
255
+ expect(result.references).toHaveLength(2);
256
+ expect(result.servers).toEqual(['claude-flow']);
257
+ expect(result.highConfidenceServers).toEqual([]);
258
+ });
259
+ });
260
+ });
261
+ });
262
+ //# sourceMappingURL=McpReferenceExtractor.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpReferenceExtractor.test.js","sourceRoot":"","sources":["../../../src/analysis/McpReferenceExtractor.test.ts"],"names":[],"mappings":"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"}
@@ -9,11 +9,11 @@ import { z } from 'zod';
9
9
  * Trust tier enum values
10
10
  */
11
11
  export declare const TrustTierSchema: z.ZodEnum<{
12
+ unknown: "unknown";
12
13
  verified: "verified";
13
14
  curated: "curated";
14
15
  community: "community";
15
16
  experimental: "experimental";
16
- unknown: "unknown";
17
17
  }>;
18
18
  /**
19
19
  * Schema for individual search result from API
@@ -28,11 +28,11 @@ export declare const ApiSearchResultSchema: z.ZodObject<{
28
28
  repo_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
29
29
  quality_score: z.ZodNullable<z.ZodNumber>;
30
30
  trust_tier: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
31
+ unknown: "unknown";
31
32
  verified: "verified";
32
33
  curated: "curated";
33
34
  community: "community";
34
35
  experimental: "experimental";
35
- unknown: "unknown";
36
36
  }>>>;
37
37
  tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
38
38
  stars: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -69,11 +69,11 @@ export declare const SearchResponseSchema: z.ZodObject<{
69
69
  repo_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
70
70
  quality_score: z.ZodNullable<z.ZodNumber>;
71
71
  trust_tier: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
72
+ unknown: "unknown";
72
73
  verified: "verified";
73
74
  curated: "curated";
74
75
  community: "community";
75
76
  experimental: "experimental";
76
- unknown: "unknown";
77
77
  }>>>;
78
78
  tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
79
79
  stars: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -96,11 +96,11 @@ export declare const SingleSkillResponseSchema: z.ZodObject<{
96
96
  repo_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
97
97
  quality_score: z.ZodNullable<z.ZodNumber>;
98
98
  trust_tier: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
99
+ unknown: "unknown";
99
100
  verified: "verified";
100
101
  curated: "curated";
101
102
  community: "community";
102
103
  experimental: "experimental";
103
- unknown: "unknown";
104
104
  }>>>;
105
105
  tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
106
106
  stars: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -1 +1 @@
1
- {"version":3,"file":"sqljsDriver.d.ts","sourceRoot":"","sources":["../../../../src/db/drivers/sqljsDriver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAa,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAY/F,UAAU,aAAa;IACrB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;IACpC,MAAM,IAAI,UAAU,CAAA;IACpB,KAAK,IAAI,IAAI,CAAA;CACd;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAA;IACvC,IAAI,IAAI,OAAO,CAAA;IACf,GAAG,IAAI,UAAU,EAAE,CAAA;IACnB,cAAc,IAAI,MAAM,EAAE,CAAA;IAC1B,KAAK,IAAI,IAAI,CAAA;IACb,IAAI,IAAI,IAAI,CAAA;CACb;AAGD,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,CAAA;AACrD,KAAK,eAAe,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;AAgLhE;;GAEG;AACH,qBAAa,oBAAqB,YAAW,QAAQ;IAQjD,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAR3B,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,iBAAiB,CAAI;gBAGV,EAAE,EAAE,aAAa,EACjB,QAAQ,EAAE,MAAM,EACjC,OAAO,CAAC,EAAE,eAAe;IAM3B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvB,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAI/C,WAAW,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC;IAuC3F,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAsB/B,KAAK,IAAI,IAAI;IAYb;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf;;;OAGG;IACH,MAAM,IAAI,UAAU;IAIpB,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,aAAa,CAE1B;CACF;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,GAAE,MAAmB,EACzB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,oBAAoB,CAAC,CAqB/B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAO1C"}
1
+ {"version":3,"file":"sqljsDriver.d.ts","sourceRoot":"","sources":["../../../../src/db/drivers/sqljsDriver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAa,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAY/F,UAAU,aAAa;IACrB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;IACpC,MAAM,IAAI,UAAU,CAAA;IACpB,KAAK,IAAI,IAAI,CAAA;CACd;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAA;IACvC,IAAI,IAAI,OAAO,CAAA;IACf,GAAG,IAAI,UAAU,EAAE,CAAA;IACnB,cAAc,IAAI,MAAM,EAAE,CAAA;IAC1B,KAAK,IAAI,IAAI,CAAA;IACb,IAAI,IAAI,IAAI,CAAA;CACb;AAGD,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,CAAA;AACrD,KAAK,eAAe,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;AA2KhE;;GAEG;AACH,qBAAa,oBAAqB,YAAW,QAAQ;IAQjD,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAR3B,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,iBAAiB,CAAI;gBAGV,EAAE,EAAE,aAAa,EACjB,QAAQ,EAAE,MAAM,EACjC,OAAO,CAAC,EAAE,eAAe;IAM3B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvB,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAI/C,WAAW,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC;IAuC3F,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAsB/B,KAAK,IAAI,IAAI;IAYb;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf;;;OAGG;IACH,MAAM,IAAI,UAAU;IAIpB,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,aAAa,CAE1B;CACF;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,GAAE,MAAmB,EACzB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,oBAAoB,CAAC,CAqB/B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAO1C"}
@@ -31,14 +31,10 @@ async function loadSqlJs() {
31
31
  try {
32
32
  // Dynamic import to avoid loading at module evaluation time
33
33
  // Using fts5-sql-bundle for FTS5 full-text search support
34
- // Handle both ESM and CJS module formats. fts5-sql-bundle's declared types
35
- // don't fully reflect its runtime export shapes, so we cast through unknown.
36
- const module = (await import('fts5-sql-bundle'));
37
- // Extract initSqlJs function from various export shapes:
38
- // - ESM named export: module.initSqlJs
39
- // - ESM default with named: module.default.initSqlJs
40
- // - CJS interop: module.default.default
41
- const initSqlJs = module.initSqlJs || module.default?.initSqlJs || module.default?.default || module.default;
34
+ // Typed via ambient declaration in fts5-sql-bundle.d.ts (SMI-2742)
35
+ const module = await import('fts5-sql-bundle');
36
+ const fallback = module.default;
37
+ const initSqlJs = module.initSqlJs || fallback?.initSqlJs || fallback?.default || fallback;
42
38
  if (!initSqlJs) {
43
39
  throw new Error('[Skillsmith] fts5-sql-bundle: could not locate initSqlJs export');
44
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sqljsDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/sqljsDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqljsDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/sqljsDriver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @fileoverview Migration v10 — skill_dependencies table
3
+ * @module @skillsmith/core/db/migrations/v10-dependencies
4
+ * @see Architecture: ../research/skill-dependency-intelligence-architecture.md §4
5
+ *
6
+ * Stores declared and inferred dependency records for skills.
7
+ * Three signal sources: author declaration, static mcp__* analysis,
8
+ * and co-install behavioral inference.
9
+ *
10
+ * Design notes:
11
+ * - No FK on skill_id — soft reference, dep records survive skill removal
12
+ * (matches SkillVersionRepository pattern)
13
+ * - dep_source distinguishes declared vs inferred for confidence filtering
14
+ * - Unique index on (skill_id, dep_type, dep_target, dep_source) prevents
15
+ * duplicate rows from repeated inference runs
16
+ */
17
+ export declare const MIGRATION_V10_SQL = "\nCREATE TABLE IF NOT EXISTS skill_dependencies (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n skill_id TEXT NOT NULL,\n dep_type TEXT NOT NULL CHECK (dep_type IN (\n 'skill_hard', 'skill_soft', 'skill_peer',\n 'mcp_server',\n 'model_minimum', 'model_capability',\n 'env_tool', 'env_os', 'env_node',\n 'cli_version',\n 'conflict'\n )),\n dep_target TEXT NOT NULL,\n dep_version TEXT,\n dep_source TEXT NOT NULL CHECK (dep_source IN (\n 'declared',\n 'inferred_static',\n 'inferred_coinstall'\n )),\n confidence REAL CHECK (confidence IS NULL OR (confidence >= 0.0 AND confidence <= 1.0)),\n metadata TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_skill_deps_skill ON skill_dependencies(skill_id);\nCREATE INDEX IF NOT EXISTS idx_skill_deps_target ON skill_dependencies(dep_target);\nCREATE INDEX IF NOT EXISTS idx_skill_deps_type ON skill_dependencies(dep_type);\nCREATE INDEX IF NOT EXISTS idx_skill_deps_source ON skill_dependencies(dep_source);\n\nCREATE UNIQUE INDEX IF NOT EXISTS idx_skill_deps_unique\n ON skill_dependencies(skill_id, dep_type, dep_target, dep_source);\n";
18
+ //# sourceMappingURL=v10-dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v10-dependencies.d.ts","sourceRoot":"","sources":["../../../../src/db/migrations/v10-dependencies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,usCAgC7B,CAAA"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * @fileoverview Migration v10 — skill_dependencies table
3
+ * @module @skillsmith/core/db/migrations/v10-dependencies
4
+ * @see Architecture: ../research/skill-dependency-intelligence-architecture.md §4
5
+ *
6
+ * Stores declared and inferred dependency records for skills.
7
+ * Three signal sources: author declaration, static mcp__* analysis,
8
+ * and co-install behavioral inference.
9
+ *
10
+ * Design notes:
11
+ * - No FK on skill_id — soft reference, dep records survive skill removal
12
+ * (matches SkillVersionRepository pattern)
13
+ * - dep_source distinguishes declared vs inferred for confidence filtering
14
+ * - Unique index on (skill_id, dep_type, dep_target, dep_source) prevents
15
+ * duplicate rows from repeated inference runs
16
+ */
17
+ export const MIGRATION_V10_SQL = `
18
+ CREATE TABLE IF NOT EXISTS skill_dependencies (
19
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
20
+ skill_id TEXT NOT NULL,
21
+ dep_type TEXT NOT NULL CHECK (dep_type IN (
22
+ 'skill_hard', 'skill_soft', 'skill_peer',
23
+ 'mcp_server',
24
+ 'model_minimum', 'model_capability',
25
+ 'env_tool', 'env_os', 'env_node',
26
+ 'cli_version',
27
+ 'conflict'
28
+ )),
29
+ dep_target TEXT NOT NULL,
30
+ dep_version TEXT,
31
+ dep_source TEXT NOT NULL CHECK (dep_source IN (
32
+ 'declared',
33
+ 'inferred_static',
34
+ 'inferred_coinstall'
35
+ )),
36
+ confidence REAL CHECK (confidence IS NULL OR (confidence >= 0.0 AND confidence <= 1.0)),
37
+ metadata TEXT,
38
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
39
+ updated_at TEXT NOT NULL DEFAULT (datetime('now'))
40
+ );
41
+
42
+ CREATE INDEX IF NOT EXISTS idx_skill_deps_skill ON skill_dependencies(skill_id);
43
+ CREATE INDEX IF NOT EXISTS idx_skill_deps_target ON skill_dependencies(dep_target);
44
+ CREATE INDEX IF NOT EXISTS idx_skill_deps_type ON skill_dependencies(dep_type);
45
+ CREATE INDEX IF NOT EXISTS idx_skill_deps_source ON skill_dependencies(dep_source);
46
+
47
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_skill_deps_unique
48
+ ON skill_dependencies(skill_id, dep_type, dep_target, dep_source);
49
+ `;
50
+ //# sourceMappingURL=v10-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v10-dependencies.js","sourceRoot":"","sources":["../../../../src/db/migrations/v10-dependencies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgChC,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @fileoverview Migration v2 — Add missing columns for Phase 5 imported databases
3
+ * @module @skillsmith/core/db/migrations/v2-phase5-columns
4
+ * @see SMI-974
5
+ */
6
+ export declare const MIGRATION_V2_SQL = "\n-- Add updated_at column if missing (for Phase 5 imported databases)\nALTER TABLE skills ADD COLUMN updated_at TEXT NOT NULL DEFAULT (datetime('now'));\n\n-- Add source column if missing (from import scripts)\nALTER TABLE skills ADD COLUMN source TEXT;\n\n-- Add stars column if missing (from import scripts)\nALTER TABLE skills ADD COLUMN stars INTEGER;\n";
7
+ //# sourceMappingURL=v2-phase5-columns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v2-phase5-columns.d.ts","sourceRoot":"","sources":["../../../../src/db/migrations/v2-phase5-columns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,2WAS5B,CAAA"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @fileoverview Migration v2 — Add missing columns for Phase 5 imported databases
3
+ * @module @skillsmith/core/db/migrations/v2-phase5-columns
4
+ * @see SMI-974
5
+ */
6
+ export const MIGRATION_V2_SQL = `
7
+ -- Add updated_at column if missing (for Phase 5 imported databases)
8
+ ALTER TABLE skills ADD COLUMN updated_at TEXT NOT NULL DEFAULT (datetime('now'));
9
+
10
+ -- Add source column if missing (from import scripts)
11
+ ALTER TABLE skills ADD COLUMN source TEXT;
12
+
13
+ -- Add stars column if missing (from import scripts)
14
+ ALTER TABLE skills ADD COLUMN stars INTEGER;
15
+ `;
16
+ //# sourceMappingURL=v2-phase5-columns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v2-phase5-columns.js","sourceRoot":"","sources":["../../../../src/db/migrations/v2-phase5-columns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;CAS/B,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @fileoverview Migration v3 — Registry sync tables for local-to-live synchronization
3
+ * @module @skillsmith/core/db/migrations/v3-sync-tables
4
+ */
5
+ export declare const MIGRATION_V3_SQL = "\n-- Sync configuration table (singleton pattern)\nCREATE TABLE IF NOT EXISTS sync_config (\n id TEXT PRIMARY KEY DEFAULT 'default',\n enabled INTEGER NOT NULL DEFAULT 1,\n frequency TEXT NOT NULL DEFAULT 'daily' CHECK(frequency IN ('daily', 'weekly')),\n interval_ms INTEGER NOT NULL DEFAULT 86400000,\n last_sync_at TEXT,\n next_sync_at TEXT,\n last_sync_count INTEGER DEFAULT 0,\n last_sync_error TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Initialize default config if empty\nINSERT OR IGNORE INTO sync_config (id) VALUES ('default');\n\n-- Sync history table for tracking sync runs\nCREATE TABLE IF NOT EXISTS sync_history (\n id TEXT PRIMARY KEY,\n started_at TEXT NOT NULL,\n completed_at TEXT,\n status TEXT NOT NULL DEFAULT 'running' CHECK(status IN ('running', 'success', 'failed', 'partial')),\n skills_added INTEGER DEFAULT 0,\n skills_updated INTEGER DEFAULT 0,\n skills_unchanged INTEGER DEFAULT 0,\n error_message TEXT,\n duration_ms INTEGER,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Index for efficient history queries\nCREATE INDEX IF NOT EXISTS idx_sync_history_started ON sync_history(started_at DESC);\nCREATE INDEX IF NOT EXISTS idx_sync_history_status ON sync_history(status);\n";
6
+ //# sourceMappingURL=v3-sync-tables.d.ts.map