skill-creator 0.0.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/README.md +148 -19
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +265 -260
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/addContent.d.ts +5 -0
  6. package/dist/commands/addContent.d.ts.map +1 -0
  7. package/dist/commands/addContent.js +74 -0
  8. package/dist/commands/addContent.js.map +1 -0
  9. package/dist/commands/buildIndex.d.ts +5 -0
  10. package/dist/commands/buildIndex.d.ts.map +1 -0
  11. package/dist/commands/buildIndex.js +17 -0
  12. package/dist/commands/buildIndex.js.map +1 -0
  13. package/dist/commands/downloadContext7.d.ts +5 -0
  14. package/dist/commands/downloadContext7.d.ts.map +1 -0
  15. package/dist/commands/downloadContext7.js +62 -0
  16. package/dist/commands/downloadContext7.js.map +1 -0
  17. package/dist/commands/init.d.ts +5 -0
  18. package/dist/commands/init.d.ts.map +1 -0
  19. package/dist/commands/init.js +89 -0
  20. package/dist/commands/init.js.map +1 -0
  21. package/dist/commands/initCc.d.ts +5 -0
  22. package/dist/commands/initCc.d.ts.map +1 -0
  23. package/dist/commands/initCc.js +26 -0
  24. package/dist/commands/initCc.js.map +1 -0
  25. package/dist/commands/listContent.d.ts +5 -0
  26. package/dist/commands/listContent.d.ts.map +1 -0
  27. package/dist/commands/listContent.js +35 -0
  28. package/dist/commands/listContent.js.map +1 -0
  29. package/dist/commands/searchContent.d.ts +5 -0
  30. package/dist/commands/searchContent.d.ts.map +1 -0
  31. package/dist/commands/searchContent.js +98 -0
  32. package/dist/commands/searchContent.js.map +1 -0
  33. package/dist/commands/shared.d.ts +23 -0
  34. package/dist/commands/shared.d.ts.map +1 -0
  35. package/dist/commands/shared.js +92 -0
  36. package/dist/commands/shared.js.map +1 -0
  37. package/dist/commands/updateContext7.d.ts +5 -0
  38. package/dist/commands/updateContext7.d.ts.map +1 -0
  39. package/dist/commands/updateContext7.js +28 -0
  40. package/dist/commands/updateContext7.js.map +1 -0
  41. package/dist/core/autoSearchAdapter.d.ts +42 -0
  42. package/dist/core/autoSearchAdapter.d.ts.map +1 -0
  43. package/dist/core/autoSearchAdapter.js +116 -0
  44. package/dist/core/autoSearchAdapter.js.map +1 -0
  45. package/dist/core/chromaLocalSearch.d.ts +26 -0
  46. package/dist/core/chromaLocalSearch.d.ts.map +1 -0
  47. package/dist/core/chromaLocalSearch.js +212 -0
  48. package/dist/core/chromaLocalSearch.js.map +1 -0
  49. package/dist/core/chromaLocalSimple.d.ts +24 -0
  50. package/dist/core/chromaLocalSimple.d.ts.map +1 -0
  51. package/dist/core/chromaLocalSimple.js +216 -0
  52. package/dist/core/chromaLocalSimple.js.map +1 -0
  53. package/dist/core/chromaSearchAdapter.d.ts +86 -0
  54. package/dist/core/chromaSearchAdapter.d.ts.map +1 -0
  55. package/dist/core/chromaSearchAdapter.js +477 -0
  56. package/dist/core/chromaSearchAdapter.js.map +1 -0
  57. package/dist/core/chromaSearchImproved.d.ts +29 -0
  58. package/dist/core/chromaSearchImproved.d.ts.map +1 -0
  59. package/dist/core/chromaSearchImproved.js +259 -0
  60. package/dist/core/chromaSearchImproved.js.map +1 -0
  61. package/dist/core/chromaServerManager.d.ts +64 -0
  62. package/dist/core/chromaServerManager.d.ts.map +1 -0
  63. package/dist/core/chromaServerManager.js +186 -0
  64. package/dist/core/chromaServerManager.js.map +1 -0
  65. package/dist/core/contentManager.d.ts +1 -0
  66. package/dist/core/contentManager.d.ts.map +1 -1
  67. package/dist/core/contentManager.js +75 -21
  68. package/dist/core/contentManager.js.map +1 -1
  69. package/dist/core/fuseSearch.d.ts +25 -0
  70. package/dist/core/fuseSearch.d.ts.map +1 -0
  71. package/dist/core/fuseSearch.js +198 -0
  72. package/dist/core/fuseSearch.js.map +1 -0
  73. package/dist/core/fuzzySearch.d.ts +66 -0
  74. package/dist/core/fuzzySearch.d.ts.map +1 -0
  75. package/dist/core/fuzzySearch.js +271 -0
  76. package/dist/core/fuzzySearch.js.map +1 -0
  77. package/dist/core/fuzzySearchAdapter.d.ts +33 -0
  78. package/dist/core/fuzzySearchAdapter.d.ts.map +1 -0
  79. package/dist/core/fuzzySearchAdapter.js +185 -0
  80. package/dist/core/fuzzySearchAdapter.js.map +1 -0
  81. package/dist/core/portUtils.d.ts +51 -0
  82. package/dist/core/portUtils.d.ts.map +1 -0
  83. package/dist/core/portUtils.js +120 -0
  84. package/dist/core/portUtils.js.map +1 -0
  85. package/dist/core/runScript.d.ts +1 -1
  86. package/dist/core/runScript.d.ts.map +1 -1
  87. package/dist/core/runScript.js +27 -210
  88. package/dist/core/runScript.js.map +1 -1
  89. package/dist/core/searchAdapter.d.ts +48 -0
  90. package/dist/core/searchAdapter.d.ts.map +1 -0
  91. package/dist/core/searchAdapter.js +6 -0
  92. package/dist/core/searchAdapter.js.map +1 -0
  93. package/dist/core/searchEngineFactory.d.ts +30 -0
  94. package/dist/core/searchEngineFactory.d.ts.map +1 -0
  95. package/dist/core/searchEngineFactory.js +41 -0
  96. package/dist/core/searchEngineFactory.js.map +1 -0
  97. package/dist/core/simpleLocalSearch.d.ts +50 -0
  98. package/dist/core/simpleLocalSearch.d.ts.map +1 -0
  99. package/dist/core/simpleLocalSearch.js +406 -0
  100. package/dist/core/simpleLocalSearch.js.map +1 -0
  101. package/dist/core/skillCreator.d.ts +0 -2
  102. package/dist/core/skillCreator.d.ts.map +1 -1
  103. package/dist/core/skillCreator.js +20 -92
  104. package/dist/core/skillCreator.js.map +1 -1
  105. package/dist/core/unifiedSearch.d.ts +57 -11
  106. package/dist/core/unifiedSearch.d.ts.map +1 -1
  107. package/dist/core/unifiedSearch.js +88 -29
  108. package/dist/core/unifiedSearch.js.map +1 -1
  109. package/dist/index.d.ts +4 -1
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js +3 -1
  112. package/dist/index.js.map +1 -1
  113. package/dist/search_format/enhancedFormatter.d.ts +109 -0
  114. package/dist/search_format/enhancedFormatter.d.ts.map +1 -0
  115. package/dist/search_format/enhancedFormatter.js +262 -0
  116. package/dist/search_format/enhancedFormatter.js.map +1 -0
  117. package/dist/search_format/index.d.ts +10 -0
  118. package/dist/search_format/index.d.ts.map +1 -0
  119. package/dist/search_format/index.js +22 -0
  120. package/dist/search_format/index.js.map +1 -0
  121. package/dist/search_format/listFormatter.d.ts +16 -0
  122. package/dist/search_format/listFormatter.d.ts.map +1 -0
  123. package/dist/search_format/listFormatter.js +51 -0
  124. package/dist/search_format/listFormatter.js.map +1 -0
  125. package/dist/search_format/types.d.ts +69 -0
  126. package/dist/search_format/types.d.ts.map +1 -0
  127. package/dist/search_format/types.js +5 -0
  128. package/dist/search_format/types.js.map +1 -0
  129. package/dist/test/testFuzzy.d.ts +3 -0
  130. package/dist/test/testFuzzy.d.ts.map +1 -0
  131. package/dist/test/testFuzzy.js +72 -0
  132. package/dist/test/testFuzzy.js.map +1 -0
  133. package/dist/test-fuzzy.d.ts +6 -0
  134. package/dist/test-fuzzy.d.ts.map +1 -0
  135. package/dist/test-fuzzy.js +65 -0
  136. package/dist/test-fuzzy.js.map +1 -0
  137. package/dist/types/index.d.ts +5 -0
  138. package/dist/types/index.d.ts.map +1 -1
  139. package/dist/utils/package.d.ts +17 -0
  140. package/dist/utils/package.d.ts.map +1 -1
  141. package/dist/utils/package.js +51 -14
  142. package/dist/utils/package.js.map +1 -1
  143. package/package.json +9 -8
  144. package/templates/skill-creator.md +65 -153
  145. package/templates/skill-creator.zh-CN.md +93 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhancedFormatter.js","sourceRoot":"","sources":["../../src/search_format/enhancedFormatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Search result formatting module
3
+ * Provides various formatting options for search results
4
+ */
5
+ export type { FormattableSearchResult, FormattingOptions, FormattedResult, SearchFormatter } from './types.js';
6
+ export { ListFormatter } from './listFormatter.js';
7
+ export { EnhancedFormatter } from './enhancedFormatter.js';
8
+ import type { SearchFormatter } from './types.js';
9
+ export declare function createFormatter(type: 'list' | 'enhanced'): SearchFormatter;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/search_format/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACV,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,eAAe,EAChB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAO1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,eAAe,CAS1E"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Search result formatting module
3
+ * Provides various formatting options for search results
4
+ */
5
+ export { ListFormatter } from './listFormatter.js';
6
+ export { EnhancedFormatter } from './enhancedFormatter.js';
7
+ /**
8
+ * Factory function to create appropriate formatter
9
+ */
10
+ import { ListFormatter } from './listFormatter.js';
11
+ import { EnhancedFormatter } from './enhancedFormatter.js';
12
+ export function createFormatter(type) {
13
+ switch (type) {
14
+ case 'list':
15
+ return new ListFormatter();
16
+ case 'enhanced':
17
+ return new EnhancedFormatter();
18
+ default:
19
+ throw new Error(`Unknown formatter type: ${type}`);
20
+ }
21
+ }
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/search_format/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAG1D,MAAM,UAAU,eAAe,CAAC,IAAyB;IACvD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,IAAI,aAAa,EAAE,CAAA;QAC5B,KAAK,UAAU;YACb,OAAO,IAAI,iBAAiB,EAAE,CAAA;QAChC;YACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAA;IACtD,CAAC;AACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Simple list formatter for search results
3
+ * Shows basic information with minimal preview
4
+ */
5
+ import type { SearchResult, FormattingOptions, FormattedResult, SearchFormatter } from './types.js';
6
+ /**
7
+ * List formatter - simple, clean display with basic preview
8
+ */
9
+ export declare class ListFormatter implements SearchFormatter {
10
+ getName(): string;
11
+ getDescription(): string;
12
+ format(results: SearchResult[], options: FormattingOptions): FormattedResult[];
13
+ private getRelativePath;
14
+ private createPreview;
15
+ }
16
+ //# sourceMappingURL=listFormatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listFormatter.d.ts","sourceRoot":"","sources":["../../src/search_format/listFormatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,YAAY,EAEZ,iBAAiB,EACjB,eAAe,EACf,eAAe,EAChB,MAAM,YAAY,CAAA;AAGnB;;GAEG;AACH,qBAAa,aAAc,YAAW,eAAe;IACnD,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIxB,MAAM,CACJ,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,iBAAiB,GACzB,eAAe,EAAE;IA6BpB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,aAAa;CAQtB"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Simple list formatter for search results
3
+ * Shows basic information with minimal preview
4
+ */
5
+ import { relative } from 'node:path';
6
+ /**
7
+ * List formatter - simple, clean display with basic preview
8
+ */
9
+ export class ListFormatter {
10
+ getName() {
11
+ return 'list';
12
+ }
13
+ getDescription() {
14
+ return 'Simple list format with basic preview';
15
+ }
16
+ format(results, options) {
17
+ const maxPreviewLength = options.maxPreviewLength || 200;
18
+ return results.map((result, index) => {
19
+ const formattableResult = result;
20
+ const relativePath = this.getRelativePath(formattableResult, options.skillPath);
21
+ // Extract content for preview
22
+ let previewContent = result.content;
23
+ if (formattableResult.fullContent) {
24
+ // Extract original content from <content lines="N">...</content> format
25
+ const match = formattableResult.fullContent.match(/^<content lines="\d+">\n(.*)\n<\/content>$/s);
26
+ if (match) {
27
+ previewContent = match[1];
28
+ }
29
+ }
30
+ // Create preview
31
+ const preview = this.createPreview(previewContent, maxPreviewLength);
32
+ return {
33
+ result: formattableResult,
34
+ content: preview,
35
+ contentType: 'preview',
36
+ priority: index
37
+ };
38
+ });
39
+ }
40
+ getRelativePath(result, skillPath) {
41
+ return result.relativePath || relative(skillPath, result.file_path);
42
+ }
43
+ createPreview(content, maxLength) {
44
+ if (content.length <= maxLength) {
45
+ return content.replace(/\n/g, ' ');
46
+ }
47
+ const preview = content.substring(0, maxLength);
48
+ return preview.replace(/\n/g, ' ') + '...';
49
+ }
50
+ }
51
+ //# sourceMappingURL=listFormatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listFormatter.js","sourceRoot":"","sources":["../../src/search_format/listFormatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC;;GAEG;AACH,MAAM,OAAO,aAAa;IACxB,OAAO;QACL,OAAO,MAAM,CAAA;IACf,CAAC;IAED,cAAc;QACZ,OAAO,uCAAuC,CAAA;IAChD,CAAC;IAED,MAAM,CACJ,OAAuB,EACvB,OAA0B;QAE1B,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,GAAG,CAAA;QAExD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACnC,MAAM,iBAAiB,GAAG,MAAiC,CAAA;YAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;YAE/E,8BAA8B;YAC9B,IAAI,cAAc,GAAG,MAAM,CAAC,OAAO,CAAA;YACnC,IAAI,iBAAiB,CAAC,WAAW,EAAE,CAAC;gBAClC,wEAAwE;gBACxE,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;gBAChG,IAAI,KAAK,EAAE,CAAC;oBACV,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC3B,CAAC;YACH,CAAC;YAED,iBAAiB;YACjB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAA;YAEpE,OAAO;gBACL,MAAM,EAAE,iBAAiB;gBACzB,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,SAAS;gBACtB,QAAQ,EAAE,KAAK;aAChB,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,eAAe,CAAC,MAA+B,EAAE,SAAiB;QACxE,OAAO,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;IACrE,CAAC;IAEO,aAAa,CAAC,OAAe,EAAE,SAAiB;QACtD,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACpC,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QAC/C,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAA;IAC5C,CAAC;CACF"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Search result formatting types and interfaces
3
+ */
4
+ import type { SearchResult } from '../core/searchAdapter.js';
5
+ export type { SearchResult };
6
+ /**
7
+ * Enhanced search result with additional metadata for formatting
8
+ */
9
+ export interface FormattableSearchResult extends SearchResult {
10
+ /** Relative file path from skill root */
11
+ relativePath?: string;
12
+ /** Full content (for high-quality matches) */
13
+ fullContent?: string;
14
+ /** Preview content with line numbers (for medium-quality matches) */
15
+ preview?: string;
16
+ /** Display tier information */
17
+ metadata: SearchResult['metadata'] & {
18
+ displayTier?: 'full' | 'preview' | 'metadata-only';
19
+ maxScore?: number;
20
+ averageScore?: number;
21
+ matchRanges?: number[][];
22
+ };
23
+ }
24
+ /**
25
+ * Formatting options for search results
26
+ */
27
+ export interface FormattingOptions {
28
+ /** Skill path for relative path calculation */
29
+ skillPath: string;
30
+ /** Threshold for showing full content */
31
+ showFullContentThreshold?: number;
32
+ /** Minimum score for showing preview */
33
+ minScoreForPreview?: number;
34
+ /** Maximum preview length */
35
+ maxPreviewLength?: number;
36
+ /** Whether to show line numbers */
37
+ showLineNumbers?: boolean;
38
+ }
39
+ /**
40
+ * Formatted search result ready for display
41
+ */
42
+ export interface FormattedResult {
43
+ /** Original result */
44
+ result: FormattableSearchResult;
45
+ /** Formatted display content */
46
+ content: string;
47
+ /** Content type for styling */
48
+ contentType: 'full-content' | 'preview' | 'metadata-only';
49
+ /** Display priority */
50
+ priority: number;
51
+ }
52
+ /**
53
+ * Base interface for search result formatters
54
+ */
55
+ export interface SearchFormatter {
56
+ /**
57
+ * Format search results for display
58
+ */
59
+ format(results: SearchResult[], options: FormattingOptions): FormattedResult[];
60
+ /**
61
+ * Get formatter name
62
+ */
63
+ getName(): string;
64
+ /**
65
+ * Get formatter description
66
+ */
67
+ getDescription(): string;
68
+ }
69
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/search_format/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAG5D,YAAY,EAAE,YAAY,EAAE,CAAA;AAE5B;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+BAA+B;IAC/B,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,GAAG;QACnC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAAA;QAClD,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,CAAA;KACzB,CAAA;CACF;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAA;IACjB,yCAAyC;IACzC,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,6BAA6B;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mCAAmC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,MAAM,EAAE,uBAAuB,CAAA;IAC/B,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,+BAA+B;IAC/B,WAAW,EAAE,cAAc,GAAG,SAAS,GAAG,eAAe,CAAA;IACzD,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,iBAAiB,GAAG,eAAe,EAAE,CAAA;IAE9E;;OAEG;IACH,OAAO,IAAI,MAAM,CAAA;IAEjB;;OAEG;IACH,cAAc,IAAI,MAAM,CAAA;CACzB"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Search result formatting types and interfaces
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/search_format/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env tsx
2
+ export {};
3
+ //# sourceMappingURL=testFuzzy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testFuzzy.d.ts","sourceRoot":"","sources":["../../src/test/testFuzzy.ts"],"names":[],"mappings":""}
@@ -0,0 +1,72 @@
1
+ #!/usr/bin/env tsx
2
+ import uFuzzy from '@leeoniya/ufuzzy';
3
+ /**
4
+ * Test script to verify uFuzzy behavior and debug issues
5
+ */
6
+ function testBasicFuzzySearch() {
7
+ console.log('🧪 Testing basic uFuzzy behavior...\n');
8
+ const haystack = ['My Note', 'My Love', 'Another Document', 'Love Story'];
9
+ const needle = 'love';
10
+ console.log(`Haystack: ${JSON.stringify(haystack)}`);
11
+ console.log(`Needle: "${needle}"\n`);
12
+ const fuzzy = new uFuzzy({ unicode: true });
13
+ // Step 1: Filter
14
+ console.log('Step 1: Filter candidates');
15
+ const idxs = fuzzy.filter(haystack, needle);
16
+ console.log(`Filtered indices: ${JSON.stringify(idxs)}`);
17
+ if (!idxs || idxs.length === 0) {
18
+ console.log('No matches found by filter\n');
19
+ return;
20
+ }
21
+ // Step 2: Info
22
+ console.log('\nStep 2: Get detailed info');
23
+ const info = fuzzy.info(idxs, haystack, needle);
24
+ console.log(`Info: ${JSON.stringify(info, null, 2)}`);
25
+ // Step 3: Sort
26
+ console.log('\nStep 3: Sort results');
27
+ const order = fuzzy.sort(info, haystack, needle);
28
+ console.log(`Order: ${JSON.stringify(order)}`);
29
+ // Step 4: Map back to original indices
30
+ console.log('\nStep 4: Map back to original indices');
31
+ const resultIndices = order.map((sortedIdx) => {
32
+ const originalIdx = info.idx[sortedIdx];
33
+ return idxs[originalIdx];
34
+ });
35
+ console.log(`Final result indices: ${JSON.stringify(resultIndices)}`);
36
+ // Show actual matched strings
37
+ console.log('\nMatched strings:');
38
+ resultIndices.forEach(idx => {
39
+ console.log(` [${idx}] "${haystack[idx]}"`);
40
+ });
41
+ }
42
+ function testOurWrapper() {
43
+ console.log('\n\n🔧 Testing our wrapper function...\n');
44
+ const haystack = ['My Note', 'My Love', 'Another Document', 'Love Story'];
45
+ const needle = 'love';
46
+ function fuzzySearch(haystack, needle) {
47
+ const fuzzy = new uFuzzy({ unicode: true });
48
+ const idxs = fuzzy.filter(haystack, needle);
49
+ if (!idxs || idxs.length === 0)
50
+ return [];
51
+ const info = fuzzy.info(idxs, haystack, needle);
52
+ const order = fuzzy.sort(info, haystack, needle);
53
+ return order.map((sortedIdx) => idxs[info.idx[sortedIdx]]);
54
+ }
55
+ const result = fuzzySearch(haystack, needle);
56
+ console.log(`fuzzySearch(${JSON.stringify(haystack)}, "${needle}")`);
57
+ console.log(`Result: ${JSON.stringify(result)}`);
58
+ // Test with exact match
59
+ const exactResult = fuzzySearch(haystack, 'My Love');
60
+ console.log(`\nfuzzySearch(${JSON.stringify(haystack)}, "My Love")`);
61
+ console.log(`Result: ${JSON.stringify(exactResult)}`);
62
+ // Test with partial match
63
+ const partialResult = fuzzySearch(haystack, 'Note');
64
+ console.log(`\nfuzzySearch(${JSON.stringify(haystack)}, "Note")`);
65
+ console.log(`Result: ${JSON.stringify(partialResult)}`);
66
+ }
67
+ // Run tests
68
+ if (import.meta.url === `file://${process.argv[1]}`) {
69
+ testBasicFuzzySearch();
70
+ testOurWrapper();
71
+ }
72
+ //# sourceMappingURL=testFuzzy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testFuzzy.js","sourceRoot":"","sources":["../../src/test/testFuzzy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env tsx
2
+ /**
3
+ * Test script to verify uFuzzy search logic
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=test-fuzzy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-fuzzy.d.ts","sourceRoot":"","sources":["../src/test-fuzzy.ts"],"names":[],"mappings":";AAEA;;GAEG"}
@@ -0,0 +1,65 @@
1
+ #!/usr/bin/env tsx
2
+ /**
3
+ * Test script to verify uFuzzy search logic
4
+ */
5
+ import uFuzzy from '@leeoniya/ufuzzy';
6
+ import { FuzzySearchAdapter } from './core/fuzzySearchAdapter';
7
+ console.log('🧪 Testing uFuzzy search logic...\n');
8
+ // Test 1: Direct uFuzzy usage
9
+ console.log('📋 Test 1: Direct uFuzzy usage');
10
+ const fuzzy = new uFuzzy({ unicode: true });
11
+ const testHaystack = ['My Note', 'My Love', 'Another Note'];
12
+ const testNeedle = 'love';
13
+ console.log(`Haystack: ${JSON.stringify(testHaystack)}`);
14
+ console.log(`Needle: "${testNeedle}"`);
15
+ // Step by step debugging
16
+ console.log('\n--- uFuzzy Steps ---');
17
+ const idxs = fuzzy.filter(testHaystack, testNeedle);
18
+ console.log(`Filter result: ${JSON.stringify(idxs)}`);
19
+ if (idxs && idxs.length > 0) {
20
+ const info = fuzzy.info(idxs, testHaystack, testNeedle);
21
+ console.log(`Info result: ${JSON.stringify(info)}`);
22
+ const order = fuzzy.sort(info, testHaystack, testNeedle);
23
+ console.log(`Order result: ${JSON.stringify(order)}`);
24
+ // This is the correct mapping
25
+ const result = order.map((sortedIdx) => {
26
+ console.log(` Processing sortedIdx: ${sortedIdx}`);
27
+ console.log(` info.idx[${sortedIdx}]: ${info.idx[sortedIdx]}`);
28
+ console.log(` idxs[${info.idx[sortedIdx]}]: ${idxs[info.idx[sortedIdx]]}`);
29
+ return idxs[info.idx[sortedIdx]];
30
+ });
31
+ console.log(`Final result: ${JSON.stringify(result)}`);
32
+ // Debug the direct approach
33
+ console.log('\n--- Direct approach ---');
34
+ console.log('Since idxs = [1] and info.idx = [1], the result should be idxs[1]');
35
+ console.log(`But idxs[1] = ${idxs[1]} which is undefined!`);
36
+ console.log("This means the logic should be just: idxs[sortedIdx] when there's only one result");
37
+ }
38
+ else {
39
+ console.log('No matches found');
40
+ }
41
+ // Test 2: Using our adapter
42
+ console.log('\n📋 Test 2: Using FuzzySearchAdapter');
43
+ const adapter = new FuzzySearchAdapter();
44
+ const adapterResult = adapter.testFuzzySearch(testHaystack, testNeedle);
45
+ console.log(`Adapter result: ${JSON.stringify(adapterResult)}`);
46
+ // Test 3: More comprehensive tests
47
+ console.log('\n📋 Test 3: Comprehensive tests');
48
+ const testCases = [
49
+ { haystack: ['My Note', 'My Love'], needle: 'love', expected: [1] },
50
+ { haystack: ['Zod String Validation', 'Zod Number Validation'], needle: 'string', expected: [0] },
51
+ { haystack: ['User Guide', 'Context7 Docs'], needle: 'user', expected: [0] },
52
+ { haystack: ['TypeScript Guide', 'JavaScript Guide'], needle: 'script', expected: [0, 1] }, // fuzzy match
53
+ ];
54
+ testCases.forEach((testCase, index) => {
55
+ console.log(`\nCase ${index + 1}:`);
56
+ console.log(` Haystack: ${JSON.stringify(testCase.haystack)}`);
57
+ console.log(` Needle: "${testCase.needle}"`);
58
+ console.log(` Expected: ${JSON.stringify(testCase.expected)}`);
59
+ const result = adapter.testFuzzySearch(testCase.haystack, testCase.needle);
60
+ console.log(` Got: ${JSON.stringify(result)}`);
61
+ const passed = JSON.stringify(result) === JSON.stringify(testCase.expected);
62
+ console.log(` Status: ${passed ? '✅ PASS' : '❌ FAIL'}`);
63
+ });
64
+ console.log('\n🎯 Testing complete!');
65
+ //# sourceMappingURL=test-fuzzy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-fuzzy.js","sourceRoot":"","sources":["../src/test-fuzzy.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,7 @@ export interface CreateSkillOptions {
44
44
  noInitDocs?: boolean;
45
45
  storage?: 'project' | 'user';
46
46
  version?: string;
47
+ force?: boolean;
47
48
  }
48
49
  export interface CreateSkillResult {
49
50
  created: boolean;
@@ -70,6 +71,10 @@ export interface AddContentResult {
70
71
  source: string;
71
72
  preview: string;
72
73
  }>;
74
+ existingFile?: {
75
+ path: string;
76
+ content: string;
77
+ };
73
78
  }
74
79
  export interface PackageVersion {
75
80
  version: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,OAAO,CAAA;IACtB,iBAAiB,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,IAAI,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,KAAK,CAAC;QACrB,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,CAAA;KAChB,CAAC,CAAA;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,8BAA8B,EAAE,MAAM,CAAA;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,9 @@ export interface SearchResult {
8
8
  date: string;
9
9
  publisher: string;
10
10
  score: number;
11
+ homepage?: string;
12
+ repository?: string;
13
+ skill_dir_name?: string;
11
14
  }
12
15
  export interface SearchOptions {
13
16
  limit?: number;
@@ -18,6 +21,20 @@ export declare class PackageUtils {
18
21
  * Get package version from npm registry
19
22
  */
20
23
  static getPackageVersion(packageName: string): Promise<string | null>;
24
+ /**
25
+ * Get full package info from npm registry for the latest version
26
+ */
27
+ static getPackageInfo(packageName: string): Promise<{
28
+ name: string;
29
+ version: string;
30
+ description: string;
31
+ homepage?: string;
32
+ repository?: {
33
+ type: string;
34
+ url: string;
35
+ };
36
+ [key: string]: any;
37
+ } | null>;
21
38
  /**
22
39
  * Format version according to doc-downloader rules
23
40
  */
@@ -1 +1 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../src/utils/package.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,YAAY;IACvB;;OAEG;WACU,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAY3E;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAqB7C;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAY1E;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAOxD;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAUxD;;OAEG;WACU,cAAc,CACzB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,EAAE,CAAC;IAkC1B;;OAEG;WACU,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAoBhF;;OAEG;WACU,eAAe,CAC1B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,EAAE,CAAC;IAqB1B;;OAEG;WACU,aAAa,CACxB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAsBrD"}
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../src/utils/package.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,YAAY;IACvB;;OAEG;WACU,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAY3E;;OAEG;WACU,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QACxD,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;QAC1C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KACnB,GAAG,IAAI,CAAC;IAkBT;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAqB7C;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAY1E;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAOxD;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAUxD;;OAEG;WACU,cAAc,CACzB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,EAAE,CAAC;IA0C1B;;OAEG;WACU,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAqBhF;;OAEG;WACU,eAAe,CAC1B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,EAAE,CAAC;IAgC1B;;OAEG;WACU,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAoB7F"}
@@ -17,6 +17,27 @@ export class PackageUtils {
17
17
  return null;
18
18
  }
19
19
  }
20
+ /**
21
+ * Get full package info from npm registry for the latest version
22
+ */
23
+ static async getPackageInfo(packageName) {
24
+ try {
25
+ const response = await fetch(`https://registry.npmjs.org/${packageName}`);
26
+ if (!response.ok)
27
+ return null;
28
+ const data = await response.json();
29
+ const latestVersionTag = data['dist-tags']?.latest;
30
+ if (!latestVersionTag)
31
+ return null;
32
+ const latestVersionInfo = data.versions?.[latestVersionTag];
33
+ if (!latestVersionInfo)
34
+ return null;
35
+ return latestVersionInfo;
36
+ }
37
+ catch {
38
+ return null;
39
+ }
40
+ }
20
41
  /**
21
42
  * Format version according to doc-downloader rules
22
43
  */
@@ -88,6 +109,8 @@ export class PackageUtils {
88
109
  for (const pkg of data.objects || []) {
89
110
  const score = pkg.score?.detail?.popularity || 0;
90
111
  if (score >= minScore) {
112
+ // Get detailed package information including homepage
113
+ const packageInfo = await this.getPackageInfo(pkg.package.name);
91
114
  results.push({
92
115
  name: pkg.package.name,
93
116
  description: pkg.package.description || '',
@@ -95,6 +118,11 @@ export class PackageUtils {
95
118
  date: pkg.package.date,
96
119
  publisher: pkg.package.publisher?.username || 'unknown',
97
120
  score,
121
+ homepage: packageInfo?.homepage,
122
+ repository: packageInfo?.repository?.url,
123
+ skill_dir_name: packageInfo
124
+ ? this.createSkillFolderName(packageInfo.name, packageInfo.version)
125
+ : undefined,
98
126
  });
99
127
  }
100
128
  }
@@ -109,17 +137,19 @@ export class PackageUtils {
109
137
  */
110
138
  static async findExactPackage(packageName) {
111
139
  try {
112
- const response = await fetch(`https://registry.npmjs.org/${packageName}/latest`);
113
- if (!response.ok)
140
+ const packageInfo = await this.getPackageInfo(packageName);
141
+ if (!packageInfo)
114
142
  return null;
115
- const data = await response.json();
116
143
  return {
117
- name: data.name,
118
- description: data.description || '',
119
- version: data.version,
120
- date: data.time?.modified || new Date().toISOString(),
121
- publisher: data.publisher?.username || 'unknown',
144
+ name: packageInfo.name,
145
+ description: packageInfo.description || '',
146
+ version: packageInfo.version,
147
+ date: packageInfo.time?.modified || new Date().toISOString(),
148
+ publisher: packageInfo.publisher?.username || 'unknown',
122
149
  score: 1.0,
150
+ homepage: packageInfo.homepage,
151
+ repository: packageInfo.repository?.url,
152
+ skill_dir_name: this.createSkillFolderName(packageInfo.name, packageInfo.version),
123
153
  };
124
154
  }
125
155
  catch {
@@ -130,22 +160,29 @@ export class PackageUtils {
130
160
  * Suggest packages based on keywords
131
161
  */
132
162
  static async suggestPackages(input, options = {}) {
133
- // Check if input looks like an exact package name
163
+ const results = [];
164
+ // Check if input looks like an exact package name and include it as first result
134
165
  if (PackageUtils.validatePackageName(input)) {
135
166
  const exact = await PackageUtils.findExactPackage(input);
136
- if (exact)
137
- return [exact];
167
+ if (exact) {
168
+ results.push(exact);
169
+ }
138
170
  }
171
+ // Always perform broader search to find related packages
139
172
  // Extract keywords from input
140
173
  const keywords = input
141
174
  .split(/[\s-]+/)
142
- .filter(word => word.length > 2)
175
+ .filter((word) => word.length > 2)
143
176
  .slice(0, 3);
144
177
  if (keywords.length === 0) {
145
178
  // Fallback: search with the whole input
146
179
  keywords.push(input);
147
180
  }
148
- return PackageUtils.searchPackages(keywords, options);
181
+ const searchResults = await PackageUtils.searchPackages(keywords, options);
182
+ // Merge exact match with search results, avoiding duplicates
183
+ const exactMatchNames = new Set(results.map((r) => r.name));
184
+ const additionalResults = searchResults.filter((r) => !exactMatchNames.has(r.name));
185
+ return [...results, ...additionalResults].slice(0, options.limit || 10);
149
186
  }
150
187
  /**
151
188
  * Select package from multiple options
@@ -162,7 +199,7 @@ export class PackageUtils {
162
199
  }
163
200
  // Multiple options found - would need interactive selection in CLI
164
201
  // For now, return the highest scored package
165
- const best = suggestions.reduce((prev, curr) => curr.score > prev.score ? curr : prev);
202
+ const best = suggestions.reduce((prev, curr) => (curr.score > prev.score ? curr : prev));
166
203
  const version = await PackageUtils.getPackageVersion(best.name);
167
204
  return { name: best.name, version: version || best.version };
168
205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/utils/package.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/utils/package.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqBH,MAAM,OAAO,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QAChD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,8BAA8B,WAAW,SAAS,CAAC,CAAA;YAChF,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAA;YAE7B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAClC,OAAO,IAAI,CAAC,OAAiB,CAAA;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,WAAmB;QAQ7C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,8BAA8B,WAAW,EAAE,CAAC,CAAA;YACzE,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAA;YAE7B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAClC,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;YAClD,IAAI,CAAC,gBAAgB;gBAAE,OAAO,IAAI,CAAA;YAElC,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC,CAAA;YAC3D,IAAI,CAAC,iBAAiB;gBAAE,OAAO,IAAI,CAAA;YAEnC,OAAO,iBAAiB,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAe;QAClC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAA;QAEvB,+BAA+B;QAC/B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC5B,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YACpC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;YACtB,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;YAC/B,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,WAAmB,EAAE,OAAe;QAC/D,sDAAsD;QACtD,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAEpD,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,GAAG,WAAW,IAAI,gBAAgB,EAAE,CAAA;QAC7C,CAAC;aAAM,CAAC;YACN,OAAO,WAAW,CAAA;QACpB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,WAAmB;QAC7C,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC7B,CAAC;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,WAAmB;QAC5C,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAA;QACd,CAAC;QAED,yCAAyC;QACzC,MAAM,gBAAgB,GAAG,wDAAwD,CAAA;QACjF,OAAO,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC3C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,CACzB,QAAkB,EAClB,UAAyB,EAAE;QAE3B,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAG,OAAO,CAAA;QAE9C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAChC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,+CAA+C,kBAAkB,CAAC,KAAK,CAAC,SAAS,KAAK,GAAG,CAAC,EAAE,CAC7F,CAAA;YAED,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,OAAO,EAAE,CAAA;YAE3B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAClC,MAAM,OAAO,GAAmB,EAAE,CAAA;YAElC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,IAAI,CAAC,CAAA;gBAChD,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;oBACtB,sDAAsD;oBACtD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;oBAE/D,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI;wBACtB,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE;wBAC1C,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO;wBAC5B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI;wBACtB,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,IAAI,SAAS;wBACvD,KAAK;wBACL,QAAQ,EAAE,WAAW,EAAE,QAAQ;wBAC/B,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG;wBACxC,cAAc,EAAE,WAAW;4BACzB,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;4BACnE,CAAC,CAAC,SAAS;qBACd,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAED,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAmB;QAC/C,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;YAC1D,IAAI,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAA;YAE7B,OAAO;gBACL,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,EAAE;gBAC1C,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC5D,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,QAAQ,IAAI,SAAS;gBACvD,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,GAAG;gBACvC,cAAc,EAAE,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;aAClF,CAAA;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,eAAe,CAC1B,KAAa,EACb,UAAyB,EAAE;QAE3B,MAAM,OAAO,GAAmB,EAAE,CAAA;QAElC,iFAAiF;QACjF,IAAI,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;YACxD,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;QAED,yDAAyD;QACzD,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,KAAK;aACnB,KAAK,CAAC,QAAQ,CAAC;aACf,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAEd,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,wCAAwC;YACxC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAE1E,6DAA6D;QAC7D,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAC3D,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAEnF,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IACzE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAa;QACtC,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QAE3E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;YAC1B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC9D,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,CAAA;QAC5D,CAAC;QAED,mEAAmE;QACnE,6CAA6C;QAC7C,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAExF,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/D,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAA;IAC9D,CAAC;CACF"}