oh-my-claude-sisyphus 3.4.3 → 3.5.1

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 (52) hide show
  1. package/README.md +74 -0
  2. package/dist/__tests__/learner/auto-learner.test.d.ts +7 -0
  3. package/dist/__tests__/learner/auto-learner.test.d.ts.map +1 -0
  4. package/dist/__tests__/learner/auto-learner.test.js +507 -0
  5. package/dist/__tests__/learner/auto-learner.test.js.map +1 -0
  6. package/dist/__tests__/learner/matcher.test.d.ts +2 -0
  7. package/dist/__tests__/learner/matcher.test.d.ts.map +1 -0
  8. package/dist/__tests__/learner/matcher.test.js +330 -0
  9. package/dist/__tests__/learner/matcher.test.js.map +1 -0
  10. package/dist/analytics/analytics-summary.d.ts.map +1 -1
  11. package/dist/analytics/analytics-summary.js +12 -11
  12. package/dist/analytics/analytics-summary.js.map +1 -1
  13. package/dist/analytics/backfill-dedup.d.ts.map +1 -1
  14. package/dist/analytics/backfill-dedup.js +8 -11
  15. package/dist/analytics/backfill-dedup.js.map +1 -1
  16. package/dist/analytics/backfill-engine.d.ts.map +1 -1
  17. package/dist/analytics/backfill-engine.js +12 -3
  18. package/dist/analytics/backfill-engine.js.map +1 -1
  19. package/dist/analytics/query-engine.d.ts.map +1 -1
  20. package/dist/analytics/query-engine.js +3 -2
  21. package/dist/analytics/query-engine.js.map +1 -1
  22. package/dist/analytics/token-tracker.d.ts.map +1 -1
  23. package/dist/analytics/token-tracker.js +22 -27
  24. package/dist/analytics/token-tracker.js.map +1 -1
  25. package/dist/analytics/transcript-token-extractor.d.ts +17 -1
  26. package/dist/analytics/transcript-token-extractor.d.ts.map +1 -1
  27. package/dist/analytics/transcript-token-extractor.js +66 -19
  28. package/dist/analytics/transcript-token-extractor.js.map +1 -1
  29. package/dist/analytics/types.d.ts +13 -0
  30. package/dist/analytics/types.d.ts.map +1 -1
  31. package/dist/analytics/types.js.map +1 -1
  32. package/dist/cli/index.js +2 -2
  33. package/dist/cli/index.js.map +1 -1
  34. package/dist/hooks/learner/auto-invoke.d.ts +82 -0
  35. package/dist/hooks/learner/auto-invoke.d.ts.map +1 -0
  36. package/dist/hooks/learner/auto-invoke.js +234 -0
  37. package/dist/hooks/learner/auto-invoke.js.map +1 -0
  38. package/dist/hooks/learner/auto-learner.d.ts +55 -0
  39. package/dist/hooks/learner/auto-learner.d.ts.map +1 -0
  40. package/dist/hooks/learner/auto-learner.js +361 -0
  41. package/dist/hooks/learner/auto-learner.js.map +1 -0
  42. package/dist/hooks/learner/index.d.ts +3 -0
  43. package/dist/hooks/learner/index.d.ts.map +1 -1
  44. package/dist/hooks/learner/index.js +4 -0
  45. package/dist/hooks/learner/index.js.map +1 -1
  46. package/dist/hooks/learner/matcher.d.ts +40 -0
  47. package/dist/hooks/learner/matcher.d.ts.map +1 -0
  48. package/dist/hooks/learner/matcher.js +230 -0
  49. package/dist/hooks/learner/matcher.js.map +1 -0
  50. package/package.json +1 -1
  51. package/skills/local-skills-setup/SKILL.md +465 -0
  52. package/skills/skill/SKILL.md +406 -0
@@ -0,0 +1,361 @@
1
+ /**
2
+ * Auto-Learner Module
3
+ *
4
+ * Automatically detects skill-worthy patterns during work sessions.
5
+ * Tracks problem-solution pairs and suggests skill extraction.
6
+ */
7
+ import { createHash } from 'crypto';
8
+ /**
9
+ * Default threshold for suggesting skills.
10
+ */
11
+ const DEFAULT_SUGGESTION_THRESHOLD = 70;
12
+ /**
13
+ * Keywords that boost skill-worthiness score.
14
+ */
15
+ const HIGH_VALUE_KEYWORDS = [
16
+ 'error',
17
+ 'failed',
18
+ 'crash',
19
+ 'bug',
20
+ 'fix',
21
+ 'workaround',
22
+ 'solution',
23
+ 'resolved',
24
+ ];
25
+ /**
26
+ * Common file extensions that indicate technical content.
27
+ */
28
+ const TECHNICAL_EXTENSIONS = [
29
+ '.ts',
30
+ '.tsx',
31
+ '.js',
32
+ '.jsx',
33
+ '.py',
34
+ '.go',
35
+ '.rs',
36
+ '.java',
37
+ '.c',
38
+ '.cpp',
39
+ '.h',
40
+ ];
41
+ /**
42
+ * Generic patterns that lower skill-worthiness.
43
+ */
44
+ const GENERIC_PATTERNS = [
45
+ 'try again',
46
+ 'restart',
47
+ 'check the docs',
48
+ 'google it',
49
+ 'look at the error',
50
+ ];
51
+ /**
52
+ * Initialize state for a session.
53
+ */
54
+ export function initAutoLearner(sessionId) {
55
+ return {
56
+ sessionId,
57
+ patterns: new Map(),
58
+ suggestedSkills: [],
59
+ };
60
+ }
61
+ /**
62
+ * Generate a content hash for deduplication.
63
+ */
64
+ function generateContentHash(problem, solution) {
65
+ const normalized = `${problem.toLowerCase().trim()}::${solution.toLowerCase().trim()}`;
66
+ return createHash('sha256').update(normalized).digest('hex').slice(0, 16);
67
+ }
68
+ /**
69
+ * Extract file paths from text.
70
+ */
71
+ function extractFilePaths(text) {
72
+ const paths = [];
73
+ // Match common path patterns
74
+ const pathPatterns = [
75
+ // Absolute paths: /path/to/file.ext or C:\path\to\file.ext
76
+ /(?:^|\s)((?:[A-Z]:)?(?:\/|\\)[\w\/\\.-]+\.\w+)/gi,
77
+ // Relative paths: ./path/to/file.ext or ../path/to/file.ext
78
+ /(?:^|\s)(\.\.?\/[\w\/.-]+\.\w+)/gi,
79
+ // Simple paths: src/components/Button.tsx
80
+ /(?:^|\s)([\w-]+(?:\/[\w-]+)+\.\w+)/gi,
81
+ ];
82
+ for (const pattern of pathPatterns) {
83
+ const matches = text.matchAll(pattern);
84
+ for (const match of matches) {
85
+ if (match[1]) {
86
+ paths.push(match[1].trim());
87
+ }
88
+ }
89
+ }
90
+ return [...new Set(paths)];
91
+ }
92
+ /**
93
+ * Extract error messages from text.
94
+ */
95
+ function extractErrorMessages(text) {
96
+ const errors = [];
97
+ // Match common error patterns
98
+ const errorPatterns = [
99
+ // "Error: message"
100
+ /(?:Error|Exception|Warning):\s*([^\n]+)/gi,
101
+ // "TypeError: message"
102
+ /(?:Type|Reference|Syntax|Range|URI)Error:\s*([^\n]+)/gi,
103
+ // "ENOENT: no such file"
104
+ /E[A-Z]+:\s*([^\n]+)/gi,
105
+ ];
106
+ for (const pattern of errorPatterns) {
107
+ const matches = text.matchAll(pattern);
108
+ for (const match of matches) {
109
+ if (match[1]) {
110
+ errors.push(match[1].trim());
111
+ }
112
+ }
113
+ }
114
+ return [...new Set(errors)];
115
+ }
116
+ /**
117
+ * Extract key technical terms from text.
118
+ */
119
+ function extractKeyTerms(text) {
120
+ const terms = [];
121
+ // Extract quoted strings (likely command names or technical terms)
122
+ const quotedPattern = /['"`]([^'"`]+)['"`]/g;
123
+ const quotedMatches = text.matchAll(quotedPattern);
124
+ for (const match of quotedMatches) {
125
+ if (match[1] && match[1].length > 2 && match[1].length < 30) {
126
+ terms.push(match[1]);
127
+ }
128
+ }
129
+ // Extract capitalized technical terms (like React, TypeScript, etc.)
130
+ const capitalizedPattern = /\b([A-Z][a-zA-Z0-9]{2,})\b/g;
131
+ const capitalizedMatches = text.matchAll(capitalizedPattern);
132
+ for (const match of capitalizedMatches) {
133
+ if (match[1] && !['The', 'This', 'That', 'There'].includes(match[1])) {
134
+ terms.push(match[1]);
135
+ }
136
+ }
137
+ return [...new Set(terms)];
138
+ }
139
+ /**
140
+ * Extract triggers from problem and solution text.
141
+ */
142
+ export function extractTriggers(problem, solution) {
143
+ const triggers = new Set();
144
+ // Add error messages as triggers
145
+ const errors = extractErrorMessages(problem);
146
+ for (const error of errors.slice(0, 3)) {
147
+ // Limit to 3 errors
148
+ // Take first 5 words of error message
149
+ const words = error.split(/\s+/).slice(0, 5).join(' ');
150
+ if (words.length > 5) {
151
+ triggers.add(words);
152
+ }
153
+ }
154
+ // Add file paths (basenames only)
155
+ const paths = extractFilePaths(problem + ' ' + solution);
156
+ for (const path of paths.slice(0, 3)) {
157
+ // Limit to 3 paths
158
+ const basename = path.split(/[/\\]/).pop();
159
+ if (basename && basename.length > 3) {
160
+ triggers.add(basename);
161
+ }
162
+ }
163
+ // Add key terms
164
+ const terms = extractKeyTerms(problem + ' ' + solution);
165
+ for (const term of terms.slice(0, 5)) {
166
+ // Limit to 5 terms
167
+ if (term.length > 3 && term.length < 30) {
168
+ triggers.add(term.toLowerCase());
169
+ }
170
+ }
171
+ // Add high-value keywords if present
172
+ const combinedText = (problem + ' ' + solution).toLowerCase();
173
+ for (const keyword of HIGH_VALUE_KEYWORDS) {
174
+ if (combinedText.includes(keyword)) {
175
+ triggers.add(keyword);
176
+ }
177
+ }
178
+ return Array.from(triggers).slice(0, 10); // Max 10 triggers
179
+ }
180
+ /**
181
+ * Generate tags based on content analysis.
182
+ */
183
+ function generateTags(problem, solution) {
184
+ const tags = new Set();
185
+ const combinedText = (problem + ' ' + solution).toLowerCase();
186
+ // Language/framework detection
187
+ const langMap = {
188
+ typescript: 'typescript',
189
+ javascript: 'javascript',
190
+ python: 'python',
191
+ react: 'react',
192
+ vue: 'vue',
193
+ angular: 'angular',
194
+ node: 'nodejs',
195
+ 'node.js': 'nodejs',
196
+ rust: 'rust',
197
+ go: 'golang',
198
+ };
199
+ for (const [keyword, tag] of Object.entries(langMap)) {
200
+ if (combinedText.includes(keyword)) {
201
+ tags.add(tag);
202
+ }
203
+ }
204
+ // Problem category detection
205
+ if (combinedText.includes('error') || combinedText.includes('bug')) {
206
+ tags.add('debugging');
207
+ }
208
+ if (combinedText.includes('test') || combinedText.includes('spec')) {
209
+ tags.add('testing');
210
+ }
211
+ if (combinedText.includes('build') || combinedText.includes('compile')) {
212
+ tags.add('build');
213
+ }
214
+ if (combinedText.includes('performance') || combinedText.includes('slow')) {
215
+ tags.add('performance');
216
+ }
217
+ if (combinedText.includes('security') || combinedText.includes('vulnerability')) {
218
+ tags.add('security');
219
+ }
220
+ // File type detection
221
+ const paths = extractFilePaths(problem + ' ' + solution);
222
+ for (const path of paths) {
223
+ for (const ext of TECHNICAL_EXTENSIONS) {
224
+ if (path.endsWith(ext)) {
225
+ tags.add('code');
226
+ break;
227
+ }
228
+ }
229
+ }
230
+ return Array.from(tags).slice(0, 5); // Max 5 tags
231
+ }
232
+ /**
233
+ * Calculate skill-worthiness score (0-100).
234
+ */
235
+ export function calculateSkillWorthiness(pattern) {
236
+ let score = 50; // Base score
237
+ const combinedText = (pattern.problem + ' ' + pattern.solution).toLowerCase();
238
+ // Boost for specificity
239
+ const hasFilePaths = extractFilePaths(pattern.problem + ' ' + pattern.solution).length > 0;
240
+ if (hasFilePaths) {
241
+ score += 15;
242
+ }
243
+ const hasErrorMessages = extractErrorMessages(pattern.problem).length > 0;
244
+ if (hasErrorMessages) {
245
+ score += 15;
246
+ }
247
+ // Boost for high-value keywords
248
+ let keywordCount = 0;
249
+ for (const keyword of HIGH_VALUE_KEYWORDS) {
250
+ if (combinedText.includes(keyword)) {
251
+ keywordCount++;
252
+ }
253
+ }
254
+ score += Math.min(keywordCount * 5, 20); // Max 20 points from keywords
255
+ // Boost for multiple occurrences
256
+ if (pattern.occurrences > 1) {
257
+ score += Math.min((pattern.occurrences - 1) * 10, 30); // Max 30 points
258
+ }
259
+ // Boost for detailed solution (longer is better, to a point)
260
+ const solutionLength = pattern.solution.length;
261
+ if (solutionLength > 100) {
262
+ score += 10;
263
+ }
264
+ if (solutionLength > 300) {
265
+ score += 10;
266
+ }
267
+ // Penalty for generic patterns
268
+ for (const generic of GENERIC_PATTERNS) {
269
+ if (combinedText.includes(generic)) {
270
+ score -= 15;
271
+ }
272
+ }
273
+ // Penalty for very short content
274
+ if (pattern.problem.length < 20 || pattern.solution.length < 30) {
275
+ score -= 20;
276
+ }
277
+ // Penalty for missing triggers
278
+ if (pattern.suggestedTriggers.length === 0) {
279
+ score -= 25;
280
+ }
281
+ // Ensure score is in valid range
282
+ return Math.max(0, Math.min(100, score));
283
+ }
284
+ /**
285
+ * Record a problem-solution pair.
286
+ * Returns the pattern if it's new or updated, null if ignored.
287
+ */
288
+ export function recordPattern(state, problem, solution) {
289
+ // Basic validation
290
+ if (!problem || !solution) {
291
+ return null;
292
+ }
293
+ const trimmedProblem = problem.trim();
294
+ const trimmedSolution = solution.trim();
295
+ if (trimmedProblem.length < 10 || trimmedSolution.length < 20) {
296
+ return null;
297
+ }
298
+ // Generate hash for deduplication
299
+ const hash = generateContentHash(trimmedProblem, trimmedSolution);
300
+ // Check if pattern already exists
301
+ const existingPattern = state.patterns.get(hash);
302
+ if (existingPattern) {
303
+ // Update existing pattern
304
+ existingPattern.occurrences++;
305
+ existingPattern.lastSeen = Date.now();
306
+ existingPattern.confidence = calculateSkillWorthiness(existingPattern);
307
+ // Re-evaluate for suggestion
308
+ if (existingPattern.confidence >= DEFAULT_SUGGESTION_THRESHOLD &&
309
+ !state.suggestedSkills.find(p => p.id === existingPattern.id)) {
310
+ state.suggestedSkills.push(existingPattern);
311
+ }
312
+ return existingPattern;
313
+ }
314
+ // Create new pattern
315
+ const triggers = extractTriggers(trimmedProblem, trimmedSolution);
316
+ const tags = generateTags(trimmedProblem, trimmedSolution);
317
+ const newPattern = {
318
+ id: hash,
319
+ problem: trimmedProblem,
320
+ solution: trimmedSolution,
321
+ occurrences: 1,
322
+ firstSeen: Date.now(),
323
+ lastSeen: Date.now(),
324
+ suggestedTriggers: triggers,
325
+ suggestedTags: tags,
326
+ confidence: 0, // Will be calculated below
327
+ };
328
+ // Calculate initial confidence
329
+ newPattern.confidence = calculateSkillWorthiness(newPattern);
330
+ // Store pattern
331
+ state.patterns.set(hash, newPattern);
332
+ // Add to suggestions if worthy
333
+ if (newPattern.confidence >= DEFAULT_SUGGESTION_THRESHOLD) {
334
+ state.suggestedSkills.push(newPattern);
335
+ }
336
+ return newPattern;
337
+ }
338
+ /**
339
+ * Get ready-to-suggest skills (confidence above threshold).
340
+ */
341
+ export function getSuggestedSkills(state, threshold = DEFAULT_SUGGESTION_THRESHOLD) {
342
+ return state.suggestedSkills.filter(p => p.confidence >= threshold).sort((a, b) => b.confidence - a.confidence);
343
+ }
344
+ /**
345
+ * Convert pattern to skill metadata (partial).
346
+ */
347
+ export function patternToSkillMetadata(pattern) {
348
+ // Generate a descriptive name from the problem
349
+ const problemWords = pattern.problem.split(/\s+/).slice(0, 6).join(' ');
350
+ const name = problemWords.length > 50 ? problemWords.slice(0, 50) + '...' : problemWords;
351
+ return {
352
+ name,
353
+ description: pattern.problem.slice(0, 200),
354
+ triggers: pattern.suggestedTriggers,
355
+ tags: pattern.suggestedTags,
356
+ source: 'extracted',
357
+ quality: pattern.confidence,
358
+ usageCount: 0,
359
+ };
360
+ }
361
+ //# sourceMappingURL=auto-learner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-learner.js","sourceRoot":"","sources":["../../../src/hooks/learner/auto-learner.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,9 @@ export * from './detector.js';
16
16
  export * from './detection-hook.js';
17
17
  export * from './promotion.js';
18
18
  export * from './config.js';
19
+ export * from './matcher.js';
20
+ export * from './auto-invoke.js';
21
+ export { type PatternDetection, type AutoLearnerState, initAutoLearner, calculateSkillWorthiness, extractTriggers, getSuggestedSkills, patternToSkillMetadata, recordPattern as recordSkillPattern, } from './auto-learner.js';
19
22
  /**
20
23
  * Check if feature is enabled.
21
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/learner/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAO5B;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAkCD;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,EAAE,CAAA;CAAE,CAsC9C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,YAAY,EAAE,CAEvE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAE9D;;OAEG;8BACuB,MAAM,aAAa,MAAM;kBA9DxC,MAAM;gBAAU,YAAY,EAAE;;IAkEzC;;OAEG;8BACuB,MAAM;IAIhC;;OAEG;;IAGH;;OAEG;;EAGN"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/learner/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,IAAI,kBAAkB,GACpC,MAAM,mBAAmB,CAAC;AAO3B;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAkCD;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,EAAE,CAAA;CAAE,CAsC9C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,YAAY,EAAE,CAEvE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAE9D;;OAEG;8BACuB,MAAM,aAAa,MAAM;kBA9DxC,MAAM;gBAAU,YAAY,EAAE;;IAkEzC;;OAEG;8BACuB,MAAM;IAIhC;;OAEG;;IAGH;;OAEG;;EAGN"}
@@ -20,6 +20,10 @@ export * from './detector.js';
20
20
  export * from './detection-hook.js';
21
21
  export * from './promotion.js';
22
22
  export * from './config.js';
23
+ export * from './matcher.js';
24
+ export * from './auto-invoke.js';
25
+ // Note: auto-learner exports are renamed to avoid collision with ralph's recordPattern
26
+ export { initAutoLearner, calculateSkillWorthiness, extractTriggers, getSuggestedSkills, patternToSkillMetadata, recordPattern as recordSkillPattern, } from './auto-learner.js';
23
27
  /**
24
28
  * Session cache for tracking injected skills.
25
29
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/learner/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/learner/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ export interface MatchResult {
2
+ skillId: string;
3
+ confidence: number;
4
+ matchedTriggers: string[];
5
+ matchType: 'exact' | 'fuzzy' | 'pattern' | 'semantic';
6
+ context: MatchContext;
7
+ }
8
+ export interface MatchContext {
9
+ detectedErrors: string[];
10
+ detectedFiles: string[];
11
+ detectedPatterns: string[];
12
+ }
13
+ interface SkillInput {
14
+ id: string;
15
+ triggers: string[];
16
+ tags?: string[];
17
+ }
18
+ interface MatchOptions {
19
+ threshold?: number;
20
+ maxResults?: number;
21
+ }
22
+ /**
23
+ * Match skills against a prompt using multiple matching strategies
24
+ */
25
+ export declare function matchSkills(prompt: string, skills: SkillInput[], options?: MatchOptions): MatchResult[];
26
+ /**
27
+ * Fuzzy string matching using Levenshtein distance
28
+ * Returns confidence score 0-100
29
+ */
30
+ export declare function fuzzyMatch(text: string, pattern: string): number;
31
+ /**
32
+ * Extract contextual information from the prompt
33
+ */
34
+ export declare function extractContext(prompt: string): MatchContext;
35
+ /**
36
+ * Calculate confidence score based on match metrics
37
+ */
38
+ export declare function calculateConfidence(matches: number, total: number, matchType: string): number;
39
+ export {};
40
+ //# sourceMappingURL=matcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../../../src/hooks/learner/matcher.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;IACtD,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,UAAU,YAAY;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,EAAE,EACpB,OAAO,GAAE,YAAiB,GACzB,WAAW,EAAE,CAmEf;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAuBhE;AA0ED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAgE3D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,MAAM,CAkBR"}