skill-creator 1.4.2 → 1.5.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 (187) hide show
  1. package/dist/chunk-Da8dvM5T.mjs +1 -0
  2. package/dist/cli.d.mts +1016 -0
  3. package/dist/cli.d.mts.map +1 -0
  4. package/dist/cli.mjs +36 -0
  5. package/dist/cli.mjs.map +1 -0
  6. package/dist/contentManager-8rmWJMb6.mjs +22 -0
  7. package/dist/contentManager-8rmWJMb6.mjs.map +1 -0
  8. package/dist/contentManager-Xt8N5psY.mjs +1 -0
  9. package/dist/dist-DZL34HNo.mjs +8 -0
  10. package/dist/dist-DZL34HNo.mjs.map +1 -0
  11. package/dist/dist-X_kVEzbK.mjs +1 -0
  12. package/dist/esm-8qfZdcpd.mjs +33 -0
  13. package/dist/esm-8qfZdcpd.mjs.map +1 -0
  14. package/dist/esm-BF5pvSbc.mjs +1 -0
  15. package/dist/esm-BbhxxeGF.mjs +4 -0
  16. package/dist/esm-BbhxxeGF.mjs.map +1 -0
  17. package/dist/index.d.mts +1964 -0
  18. package/dist/index.d.mts.map +1 -0
  19. package/dist/index.mjs +21 -0
  20. package/dist/index.mjs.map +1 -0
  21. package/dist/listContext7-DKXzgWdn.mjs +2 -0
  22. package/dist/listContext7-DKXzgWdn.mjs.map +1 -0
  23. package/dist/package-B4FNst2t.mjs +2 -0
  24. package/dist/package-B4FNst2t.mjs.map +1 -0
  25. package/dist/path-CuoiIaIe.mjs +2 -0
  26. package/dist/path-CuoiIaIe.mjs.map +1 -0
  27. package/dist/removeContext7-DOXrTXeI.mjs +3 -0
  28. package/dist/removeContext7-DOXrTXeI.mjs.map +1 -0
  29. package/dist/removeSkill-C-ehFexk.mjs +5 -0
  30. package/dist/removeSkill-C-ehFexk.mjs.map +1 -0
  31. package/dist/removeSkill-DWwhvzej.mjs +1 -0
  32. package/dist/runScript-Cr9RRN9y.mjs +14 -0
  33. package/dist/runScript-Cr9RRN9y.mjs.map +1 -0
  34. package/dist/search_format-DIs-1lKk.mjs +5 -0
  35. package/dist/search_format-DIs-1lKk.mjs.map +1 -0
  36. package/dist/shared-CFoY2Xhg.mjs +2 -0
  37. package/dist/shared-CFoY2Xhg.mjs.map +1 -0
  38. package/dist/skillMdManager-DP8fGZb7.mjs +7 -0
  39. package/dist/skillMdManager-DP8fGZb7.mjs.map +1 -0
  40. package/dist/unifiedSearch-CGZXw0NB.mjs +1 -0
  41. package/dist/unifiedSearch-l-lrSc9C.mjs +4 -0
  42. package/dist/unifiedSearch-l-lrSc9C.mjs.map +1 -0
  43. package/package.json +30 -16
  44. package/dist/cli.d.ts +0 -8
  45. package/dist/cli.d.ts.map +0 -1
  46. package/dist/cli.js +0 -513
  47. package/dist/cli.js.map +0 -1
  48. package/dist/commands/addContent.d.ts +0 -5
  49. package/dist/commands/addContent.d.ts.map +0 -1
  50. package/dist/commands/addContent.js +0 -88
  51. package/dist/commands/addContent.js.map +0 -1
  52. package/dist/commands/buildIndex.d.ts +0 -5
  53. package/dist/commands/buildIndex.d.ts.map +0 -1
  54. package/dist/commands/buildIndex.js +0 -16
  55. package/dist/commands/buildIndex.js.map +0 -1
  56. package/dist/commands/createSkill.d.ts +0 -6
  57. package/dist/commands/createSkill.d.ts.map +0 -1
  58. package/dist/commands/createSkill.js +0 -32
  59. package/dist/commands/createSkill.js.map +0 -1
  60. package/dist/commands/downloadContext7.d.ts +0 -5
  61. package/dist/commands/downloadContext7.d.ts.map +0 -1
  62. package/dist/commands/downloadContext7.js +0 -71
  63. package/dist/commands/downloadContext7.js.map +0 -1
  64. package/dist/commands/init.d.ts +0 -5
  65. package/dist/commands/init.d.ts.map +0 -1
  66. package/dist/commands/init.js +0 -95
  67. package/dist/commands/init.js.map +0 -1
  68. package/dist/commands/listContent.d.ts +0 -5
  69. package/dist/commands/listContent.d.ts.map +0 -1
  70. package/dist/commands/listContent.js +0 -34
  71. package/dist/commands/listContent.js.map +0 -1
  72. package/dist/commands/listContext7.d.ts +0 -5
  73. package/dist/commands/listContext7.d.ts.map +0 -1
  74. package/dist/commands/listContext7.js +0 -26
  75. package/dist/commands/listContext7.js.map +0 -1
  76. package/dist/commands/listSkills.d.ts +0 -5
  77. package/dist/commands/listSkills.d.ts.map +0 -1
  78. package/dist/commands/listSkills.js +0 -34
  79. package/dist/commands/listSkills.js.map +0 -1
  80. package/dist/commands/removeContext7.d.ts +0 -5
  81. package/dist/commands/removeContext7.d.ts.map +0 -1
  82. package/dist/commands/removeContext7.js +0 -54
  83. package/dist/commands/removeContext7.js.map +0 -1
  84. package/dist/commands/removeSkill.d.ts +0 -5
  85. package/dist/commands/removeSkill.d.ts.map +0 -1
  86. package/dist/commands/removeSkill.js +0 -83
  87. package/dist/commands/removeSkill.js.map +0 -1
  88. package/dist/commands/searchContent.d.ts +0 -5
  89. package/dist/commands/searchContent.d.ts.map +0 -1
  90. package/dist/commands/searchContent.js +0 -99
  91. package/dist/commands/searchContent.js.map +0 -1
  92. package/dist/commands/shared.d.ts +0 -21
  93. package/dist/commands/shared.d.ts.map +0 -1
  94. package/dist/commands/shared.js +0 -80
  95. package/dist/commands/shared.js.map +0 -1
  96. package/dist/core/autoSearchAdapter.d.ts +0 -42
  97. package/dist/core/autoSearchAdapter.d.ts.map +0 -1
  98. package/dist/core/autoSearchAdapter.js +0 -116
  99. package/dist/core/autoSearchAdapter.js.map +0 -1
  100. package/dist/core/chromaSearch.d.ts +0 -24
  101. package/dist/core/chromaSearch.d.ts.map +0 -1
  102. package/dist/core/chromaSearch.js +0 -194
  103. package/dist/core/chromaSearch.js.map +0 -1
  104. package/dist/core/chromaSearchAdapter.d.ts +0 -86
  105. package/dist/core/chromaSearchAdapter.d.ts.map +0 -1
  106. package/dist/core/chromaSearchAdapter.js +0 -477
  107. package/dist/core/chromaSearchAdapter.js.map +0 -1
  108. package/dist/core/chromaServerManager.d.ts +0 -64
  109. package/dist/core/chromaServerManager.d.ts.map +0 -1
  110. package/dist/core/chromaServerManager.js +0 -186
  111. package/dist/core/chromaServerManager.js.map +0 -1
  112. package/dist/core/contentManager.d.ts +0 -65
  113. package/dist/core/contentManager.d.ts.map +0 -1
  114. package/dist/core/contentManager.js +0 -533
  115. package/dist/core/contentManager.js.map +0 -1
  116. package/dist/core/fuzzySearchAdapter.d.ts +0 -33
  117. package/dist/core/fuzzySearchAdapter.d.ts.map +0 -1
  118. package/dist/core/fuzzySearchAdapter.js +0 -185
  119. package/dist/core/fuzzySearchAdapter.js.map +0 -1
  120. package/dist/core/portUtils.d.ts +0 -51
  121. package/dist/core/portUtils.d.ts.map +0 -1
  122. package/dist/core/portUtils.js +0 -120
  123. package/dist/core/portUtils.js.map +0 -1
  124. package/dist/core/runScript.d.ts +0 -5
  125. package/dist/core/runScript.d.ts.map +0 -1
  126. package/dist/core/runScript.js +0 -40
  127. package/dist/core/runScript.js.map +0 -1
  128. package/dist/core/searchAdapter.d.ts +0 -48
  129. package/dist/core/searchAdapter.d.ts.map +0 -1
  130. package/dist/core/searchAdapter.js +0 -6
  131. package/dist/core/searchAdapter.js.map +0 -1
  132. package/dist/core/searchEngineFactory.d.ts +0 -30
  133. package/dist/core/searchEngineFactory.d.ts.map +0 -1
  134. package/dist/core/searchEngineFactory.js +0 -41
  135. package/dist/core/searchEngineFactory.js.map +0 -1
  136. package/dist/core/skillCreator.d.ts +0 -12
  137. package/dist/core/skillCreator.d.ts.map +0 -1
  138. package/dist/core/skillCreator.js +0 -75
  139. package/dist/core/skillCreator.js.map +0 -1
  140. package/dist/core/templateManager.d.ts +0 -28
  141. package/dist/core/templateManager.d.ts.map +0 -1
  142. package/dist/core/templateManager.js +0 -583
  143. package/dist/core/templateManager.js.map +0 -1
  144. package/dist/core/unifiedSearch.d.ts +0 -69
  145. package/dist/core/unifiedSearch.d.ts.map +0 -1
  146. package/dist/core/unifiedSearch.js +0 -105
  147. package/dist/core/unifiedSearch.js.map +0 -1
  148. package/dist/index.d.ts +0 -13
  149. package/dist/index.d.ts.map +0 -1
  150. package/dist/index.js +0 -11
  151. package/dist/index.js.map +0 -1
  152. package/dist/search_format/enhancedFormatter.d.ts +0 -109
  153. package/dist/search_format/enhancedFormatter.d.ts.map +0 -1
  154. package/dist/search_format/enhancedFormatter.js +0 -262
  155. package/dist/search_format/enhancedFormatter.js.map +0 -1
  156. package/dist/search_format/index.d.ts +0 -10
  157. package/dist/search_format/index.d.ts.map +0 -1
  158. package/dist/search_format/index.js +0 -22
  159. package/dist/search_format/index.js.map +0 -1
  160. package/dist/search_format/listFormatter.d.ts +0 -16
  161. package/dist/search_format/listFormatter.d.ts.map +0 -1
  162. package/dist/search_format/listFormatter.js +0 -51
  163. package/dist/search_format/listFormatter.js.map +0 -1
  164. package/dist/search_format/types.d.ts +0 -69
  165. package/dist/search_format/types.d.ts.map +0 -1
  166. package/dist/search_format/types.js +0 -5
  167. package/dist/search_format/types.js.map +0 -1
  168. package/dist/types/index.d.ts +0 -74
  169. package/dist/types/index.d.ts.map +0 -1
  170. package/dist/types/index.js +0 -2
  171. package/dist/types/index.js.map +0 -1
  172. package/dist/utils/claudeCodeDetection.d.ts +0 -27
  173. package/dist/utils/claudeCodeDetection.d.ts.map +0 -1
  174. package/dist/utils/claudeCodeDetection.js +0 -81
  175. package/dist/utils/claudeCodeDetection.js.map +0 -1
  176. package/dist/utils/config.d.ts +0 -23
  177. package/dist/utils/config.d.ts.map +0 -1
  178. package/dist/utils/config.js +0 -41
  179. package/dist/utils/config.js.map +0 -1
  180. package/dist/utils/package.d.ts +0 -88
  181. package/dist/utils/package.d.ts.map +0 -1
  182. package/dist/utils/package.js +0 -221
  183. package/dist/utils/package.js.map +0 -1
  184. package/dist/utils/skillMdManager.d.ts +0 -44
  185. package/dist/utils/skillMdManager.d.ts.map +0 -1
  186. package/dist/utils/skillMdManager.js +0 -157
  187. package/dist/utils/skillMdManager.js.map +0 -1
@@ -1,185 +0,0 @@
1
- /**
2
- * Fuzzy Search Engine Adapter
3
- * Implements the SearchEngine interface using uFuzzy library
4
- * Clean, focused implementation - formatting handled by separate formatters
5
- */
6
- import uFuzzy from '@leeoniya/ufuzzy';
7
- import { glob } from 'glob';
8
- import { readFileSync } from 'node:fs';
9
- import { join, basename } from 'node:path';
10
- /**
11
- * uFuzzy-based Search Engine Adapter
12
- * Clean implementation focused only on search functionality
13
- */
14
- export class FuzzySearchAdapter {
15
- documents = [];
16
- fuzzy;
17
- lastSearchInfo = new Map();
18
- constructor() {
19
- // Initialize uFuzzy with sensible defaults
20
- this.fuzzy = new uFuzzy({
21
- unicode: true,
22
- });
23
- }
24
- async buildIndex(referencesDir) {
25
- console.log('🔨 Building fuzzy search index with uFuzzy...');
26
- const files = await glob('**/*.md', { cwd: referencesDir });
27
- if (files.length === 0) {
28
- console.log('No documentation files found to index');
29
- return;
30
- }
31
- this.documents = [];
32
- for (const filePath of files) {
33
- try {
34
- const fullPath = join(referencesDir, filePath);
35
- const content = readFileSync(fullPath, 'utf-8');
36
- // Extract title from first line or filename
37
- const lines = content.split('\n');
38
- const title = lines[0]?.replace(/^#+\s*/, '').trim() || basename(filePath, '.md').replace(/[-_]/g, ' ');
39
- const source = filePath.includes('context7/') ? 'context7' : 'user';
40
- this.documents.push({
41
- id: filePath,
42
- title,
43
- content,
44
- source,
45
- file_path: fullPath,
46
- metadata: {
47
- file_name: basename(filePath),
48
- file_path: filePath,
49
- },
50
- });
51
- }
52
- catch (error) {
53
- console.warn(`Warning: Failed to index file ${filePath}:`, error);
54
- }
55
- }
56
- console.log(`✅ Fuzzy search index built with ${this.documents.length} documents`);
57
- }
58
- async search(query, options = {}) {
59
- const { topK = 5, where } = options;
60
- if (this.documents.length === 0) {
61
- console.warn('Search index not built. Call buildIndex() first.');
62
- return [];
63
- }
64
- // Filter documents by source if specified
65
- let searchableDocs = this.documents;
66
- if (where?.source) {
67
- searchableDocs = this.documents.filter((doc) => doc.source === where.source);
68
- }
69
- if (searchableDocs.length === 0) {
70
- return [];
71
- }
72
- const results = [];
73
- const seenIds = new Set();
74
- // Prepare search arrays
75
- const titles = searchableDocs.map((doc) => doc.title);
76
- const contents = searchableDocs.map((doc) => doc.content);
77
- const fileNames = searchableDocs.map((doc) => doc.metadata.file_name);
78
- // Search in titles (highest priority - score 1.0)
79
- const titleMatches = this.fuzzySearch(titles, query);
80
- titleMatches.forEach((idx) => {
81
- const doc = searchableDocs[idx];
82
- if (doc && !seenIds.has(doc.id)) {
83
- seenIds.add(doc.id);
84
- results.push({
85
- id: doc.id,
86
- title: doc.title,
87
- content: doc.content,
88
- source: doc.source,
89
- file_path: doc.file_path,
90
- score: 1.0,
91
- metadata: {
92
- ...doc.metadata,
93
- matchType: 'title',
94
- },
95
- });
96
- }
97
- });
98
- // Search in content (medium priority - score 0.7)
99
- const contentMatches = this.fuzzySearch(contents, query);
100
- contentMatches.forEach((idx) => {
101
- const doc = searchableDocs[idx];
102
- if (doc && !seenIds.has(doc.id)) {
103
- seenIds.add(doc.id);
104
- results.push({
105
- id: doc.id,
106
- title: doc.title,
107
- content: doc.content,
108
- source: doc.source,
109
- file_path: doc.file_path,
110
- score: 0.7,
111
- metadata: {
112
- ...doc.metadata,
113
- matchType: 'content',
114
- },
115
- });
116
- }
117
- });
118
- // Search in file names (lowest priority - score 0.5)
119
- const fileNameMatches = this.fuzzySearch(fileNames, query);
120
- fileNameMatches.forEach((idx) => {
121
- const doc = searchableDocs[idx];
122
- if (doc && !seenIds.has(doc.id)) {
123
- seenIds.add(doc.id);
124
- results.push({
125
- id: doc.id,
126
- title: doc.title,
127
- content: doc.content,
128
- source: doc.source,
129
- file_path: doc.file_path,
130
- score: 0.5,
131
- metadata: {
132
- ...doc.metadata,
133
- matchType: 'filename',
134
- },
135
- });
136
- }
137
- });
138
- // Sort by score and limit to topK
139
- return results.sort((a, b) => b.score - a.score).slice(0, topK);
140
- }
141
- /**
142
- * Basic fuzzy search using uFuzzy
143
- */
144
- fuzzySearch(haystack, needle) {
145
- const result = this.fuzzySearchWithInfo(haystack, needle);
146
- return result.indices;
147
- }
148
- /**
149
- * Enhanced fuzzy search that returns both indices and detailed info
150
- */
151
- fuzzySearchWithInfo(haystack, needle) {
152
- if (!needle || needle.length < 1)
153
- return { indices: [], info: null };
154
- if (!haystack || haystack.length === 0)
155
- return { indices: [], info: null };
156
- const idxs = this.fuzzy.filter(haystack, needle);
157
- if (!idxs || idxs.length === 0) {
158
- return { indices: [], info: null };
159
- }
160
- const info = this.fuzzy.info(idxs, haystack, needle);
161
- const order = this.fuzzy.sort(info, haystack, needle);
162
- // Store info for later use
163
- const searchKey = `${needle}-${JSON.stringify(haystack.slice(0, 3))}`;
164
- this.lastSearchInfo.set(searchKey, info);
165
- const indices = order.map((sortedIdx) => {
166
- return info.idx[sortedIdx];
167
- });
168
- return { indices, info };
169
- }
170
- isBuilt() {
171
- return this.documents.length > 0;
172
- }
173
- async getStats() {
174
- return { totalDocuments: this.documents.length };
175
- }
176
- async searchByPriority(query, topK = 5) {
177
- // For fuzzy search, this is the same as regular search
178
- return this.search(query, { topK });
179
- }
180
- clearIndex() {
181
- this.documents = [];
182
- this.lastSearchInfo.clear();
183
- }
184
- }
185
- //# sourceMappingURL=fuzzySearchAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fuzzySearchAdapter.js","sourceRoot":"","sources":["../../src/core/fuzzySearchAdapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,MAAM,MAAM,kBAAkB,CAAA;AAErC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAE1C;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IACrB,SAAS,GAOZ,EAAE,CAAA;IAEC,KAAK,CAAQ;IACb,cAAc,GAAqB,IAAI,GAAG,EAAE,CAAA;IAEpD;QACE,2CAA2C;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC;YACtB,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,aAAqB;QACpC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAA;QAE5D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAA;QAE3D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;YACpD,OAAM;QACR,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QAEnB,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;gBAC9C,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;gBAE/C,4CAA4C;gBAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBACjC,MAAM,KAAK,GACT,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;gBAE3F,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAA;gBAEnE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAClB,EAAE,EAAE,QAAQ;oBACZ,KAAK;oBACL,OAAO;oBACP,MAAM;oBACN,SAAS,EAAE,QAAQ;oBACnB,QAAQ,EAAE;wBACR,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC;wBAC7B,SAAS,EAAE,QAAQ;qBACpB;iBACF,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,iCAAiC,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,MAAM,YAAY,CAAC,CAAA;IACnF,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,UAAyB,EAAE;QACrD,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;QAEnC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAA;YAChE,OAAO,EAAE,CAAA;QACX,CAAC;QAED,0CAA0C;QAC1C,IAAI,cAAc,GAAG,IAAI,CAAC,SAAS,CAAA;QACnC,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;YAClB,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAA;QAC9E,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,OAAO,GAAmB,EAAE,CAAA;QAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;QAEjC,wBAAwB;QACxB,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACrD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACzD,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAErE,kDAAkD;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACpD,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3B,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;YAC/B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACnB,OAAO,CAAC,IAAI,CAAC;oBACX,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,KAAK,EAAE,GAAG;oBACV,QAAQ,EAAE;wBACR,GAAG,GAAG,CAAC,QAAQ;wBACf,SAAS,EAAE,OAAO;qBACnB;iBACF,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,kDAAkD;QAClD,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACxD,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7B,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;YAC/B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACnB,OAAO,CAAC,IAAI,CAAC;oBACX,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,KAAK,EAAE,GAAG;oBACV,QAAQ,EAAE;wBACR,GAAG,GAAG,CAAC,QAAQ;wBACf,SAAS,EAAE,SAAS;qBACrB;iBACF,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,qDAAqD;QACrD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC1D,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9B,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;YAC/B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACnB,OAAO,CAAC,IAAI,CAAC;oBACX,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,KAAK,EAAE,GAAG;oBACV,QAAQ,EAAE;wBACR,GAAG,GAAG,CAAC,QAAQ;wBACf,SAAS,EAAE,UAAU;qBACtB;iBACF,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,kCAAkC;QAClC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACjE,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,QAAkB,EAAE,MAAc;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACzD,OAAO,MAAM,CAAC,OAAO,CAAA;IACvB,CAAC;IAED;;OAEG;IACK,mBAAmB,CACzB,QAAkB,EAClB,MAAc;QAKd,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACpE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QAE1E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAEhD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACpC,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;QAErD,2BAA2B;QAC3B,MAAM,SAAS,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACrE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAExC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE;YAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;QAEF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAA;IAClD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,OAAe,CAAC;QACpD,uDAAuD;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IACrC,CAAC;IAED,UAAU;QACR,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACnB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;IAC7B,CAAC;CACF"}
@@ -1,51 +0,0 @@
1
- /**
2
- * 端口管理工具
3
- * 用于动态分配和管理 ChromaDB 服务器端口
4
- */
5
- /**
6
- * 查找可用的端口
7
- * @param startPort 起始端口号
8
- * @param maxPort 最大端口号
9
- * @returns 可用的端口号
10
- */
11
- export declare function findAvailablePort(): Promise<number>;
12
- /**
13
- * 检查端口是否可用
14
- * @param port 端口号
15
- * @returns 端口是否可用
16
- */
17
- export declare function isPortAvailable(port: number): Promise<boolean>;
18
- /**
19
- * 等待端口上的服务启动
20
- * @param port 端口号
21
- * @param timeout 超时时间(毫秒)
22
- * @returns 服务是否成功启动
23
- */
24
- export declare function waitForService(port: number, timeout?: number): Promise<boolean>;
25
- /**
26
- * 端口管理器类
27
- */
28
- export declare class PortManager {
29
- private usedPorts;
30
- private basePort;
31
- constructor(basePort?: number);
32
- /**
33
- * 分配一个可用端口
34
- * @returns 分配的端口号
35
- */
36
- allocatePort(): Promise<number>;
37
- /**
38
- * 释放端口
39
- * @param port 要释放的端口号
40
- */
41
- releasePort(port: number): void;
42
- /**
43
- * 获取当前已使用的端口数量
44
- */
45
- getUsedPortCount(): number;
46
- /**
47
- * 清理所有端口
48
- */
49
- cleanup(): void;
50
- }
51
- //# sourceMappingURL=portUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portUtils.d.ts","sourceRoot":"","sources":["../../src/core/portUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAezD;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAepE;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,MAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAgC5F;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,QAAQ,GAAE,MAAa;IAInC;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAYrC;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB"}
@@ -1,120 +0,0 @@
1
- /**
2
- * 端口管理工具
3
- * 用于动态分配和管理 ChromaDB 服务器端口
4
- */
5
- import { createServer } from 'node:net';
6
- import { createRequire } from 'node:module';
7
- /**
8
- * 查找可用的端口
9
- * @param startPort 起始端口号
10
- * @param maxPort 最大端口号
11
- * @returns 可用的端口号
12
- */
13
- export async function findAvailablePort() {
14
- return new Promise((resolve, reject) => {
15
- const tryPort = () => {
16
- const server = createServer();
17
- server.listen(0, () => {
18
- const actualPort = server.address()?.port;
19
- server.close(() => {
20
- resolve(actualPort);
21
- });
22
- });
23
- };
24
- tryPort();
25
- });
26
- }
27
- /**
28
- * 检查端口是否可用
29
- * @param port 端口号
30
- * @returns 端口是否可用
31
- */
32
- export async function isPortAvailable(port) {
33
- return new Promise((resolve) => {
34
- const server = createServer();
35
- server.listen(port, () => {
36
- const actualPort = server.address()?.port;
37
- server.close(() => {
38
- resolve(actualPort === port);
39
- });
40
- });
41
- server.on('error', () => {
42
- resolve(false);
43
- });
44
- });
45
- }
46
- /**
47
- * 等待端口上的服务启动
48
- * @param port 端口号
49
- * @param timeout 超时时间(毫秒)
50
- * @returns 服务是否成功启动
51
- */
52
- export async function waitForService(port, timeout = 10000) {
53
- return new Promise((resolve) => {
54
- const startTime = Date.now();
55
- const checkService = () => {
56
- if (Date.now() - startTime > timeout) {
57
- resolve(false);
58
- return;
59
- }
60
- const require = createRequire(import.meta.url);
61
- const socket = new (require('net').Socket)();
62
- socket.setTimeout(1000);
63
- socket.connect(port, 'localhost', () => {
64
- socket.destroy();
65
- resolve(true);
66
- });
67
- socket.on('error', () => {
68
- setTimeout(checkService, 500);
69
- });
70
- socket.on('timeout', () => {
71
- socket.destroy();
72
- setTimeout(checkService, 500);
73
- });
74
- };
75
- checkService();
76
- });
77
- }
78
- /**
79
- * 端口管理器类
80
- */
81
- export class PortManager {
82
- usedPorts = new Set();
83
- basePort;
84
- constructor(basePort = 8000) {
85
- this.basePort = basePort;
86
- }
87
- /**
88
- * 分配一个可用端口
89
- * @returns 分配的端口号
90
- */
91
- async allocatePort() {
92
- let port = this.basePort;
93
- // 找到下一个可用端口
94
- while (this.usedPorts.has(port) || !(await isPortAvailable(port))) {
95
- port++;
96
- }
97
- this.usedPorts.add(port);
98
- return port;
99
- }
100
- /**
101
- * 释放端口
102
- * @param port 要释放的端口号
103
- */
104
- releasePort(port) {
105
- this.usedPorts.delete(port);
106
- }
107
- /**
108
- * 获取当前已使用的端口数量
109
- */
110
- getUsedPortCount() {
111
- return this.usedPorts.size;
112
- }
113
- /**
114
- * 清理所有端口
115
- */
116
- cleanup() {
117
- this.usedPorts.clear();
118
- }
119
- }
120
- //# sourceMappingURL=portUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portUtils.js","sourceRoot":"","sources":["../../src/core/portUtils.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Execute skill scripts - simplified version using individual command files
3
- */
4
- export declare function runScript(script: string, args: string[]): Promise<void>;
5
- //# sourceMappingURL=runScript.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runScript.d.ts","sourceRoot":"","sources":["../../src/core/runScript.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwBH,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB7E"}
@@ -1,40 +0,0 @@
1
- /**
2
- * Execute skill scripts - simplified version using individual command files
3
- */
4
- import { searchContent } from '../commands/searchContent.js';
5
- import { addContent } from '../commands/addContent.js';
6
- import { downloadContext7 } from '../commands/downloadContext7.js';
7
- import { init } from '../commands/init.js';
8
- import { buildIndex } from '../commands/buildIndex.js';
9
- import { listSkills } from '../commands/listSkills.js';
10
- import { removeSkill } from '../commands/removeSkill.js';
11
- const commands = {
12
- 'search-skill': searchContent,
13
- add: addContent,
14
- 'add-skill': addContent,
15
- 'download-context7': downloadContext7,
16
- init: init,
17
- 'build-index': buildIndex,
18
- 'list-skills': listSkills,
19
- 'list-content': listSkills, // Backward compatibility
20
- 'remove-skill': removeSkill,
21
- };
22
- export async function runScript(script, args) {
23
- // Normalize script name
24
- const normalizedScript = script.toLowerCase();
25
- // Find the command
26
- const command = commands[normalizedScript] || commands[script];
27
- if (!command) {
28
- console.error(`❌ Unknown script: ${script}`);
29
- console.error(`Available scripts: ${Object.keys(commands).join(', ')}`);
30
- process.exit(1);
31
- }
32
- try {
33
- await command(args);
34
- }
35
- catch (error) {
36
- console.error(`❌ Error executing ${script}:`, error);
37
- process.exit(1);
38
- }
39
- }
40
- //# sourceMappingURL=runScript.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runScript.js","sourceRoot":"","sources":["../../src/core/runScript.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAIxD,MAAM,QAAQ,GAAoC;IAChD,cAAc,EAAE,aAAa;IAC7B,GAAG,EAAE,UAAU;IACf,WAAW,EAAE,UAAU;IACvB,mBAAmB,EAAE,gBAAgB;IACrC,IAAI,EAAE,IAAI;IACV,aAAa,EAAE,UAAU;IACzB,aAAa,EAAE,UAAU;IACzB,cAAc,EAAE,UAAU,EAAE,yBAAyB;IACrD,cAAc,EAAE,WAAW;CAC5B,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAc,EAAE,IAAc;IAC5D,wBAAwB;IACxB,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IAE7C,mBAAmB;IACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;IAE9D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAA;QAC5C,OAAO,CAAC,KAAK,CAAC,sBAAsB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,qBAAqB,MAAM,GAAG,EAAE,KAAK,CAAC,CAAA;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC"}
@@ -1,48 +0,0 @@
1
- /**
2
- * Search Engine Adapter Interface
3
- * Provides a unified interface for different search implementations
4
- */
5
- export interface SearchResult {
6
- id: string;
7
- title: string;
8
- content: string;
9
- source: 'user' | 'context7';
10
- file_path: string;
11
- score: number;
12
- metadata: any;
13
- }
14
- export interface SearchOptions {
15
- topK?: number;
16
- where?: Record<string, any>;
17
- fuzzyThreshold?: number;
18
- }
19
- export interface SearchEngine {
20
- /**
21
- * Build search index from files
22
- */
23
- buildIndex(referencesDir: string): Promise<void>;
24
- /**
25
- * Search for documents matching the query
26
- */
27
- search(query: string, options?: SearchOptions): Promise<SearchResult[]>;
28
- /**
29
- * Check if the search index is built and ready
30
- */
31
- isBuilt(): boolean;
32
- /**
33
- * Get search engine statistics
34
- */
35
- getStats(): any;
36
- /**
37
- * Clear the search index
38
- */
39
- clearIndex(): void;
40
- }
41
- /**
42
- * Simple fuzzy search function for testing
43
- * Should return array of indices, not undefined values
44
- */
45
- export interface FuzzySearchFunction {
46
- (haystack: string[], needle: string): number[];
47
- }
48
- //# sourceMappingURL=searchAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"searchAdapter.d.ts","sourceRoot":"","sources":["../../src/core/searchAdapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,GAAG,CAAA;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhD;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAEvE;;OAEG;IACH,OAAO,IAAI,OAAO,CAAA;IAElB;;OAEG;IACH,QAAQ,IAAI,GAAG,CAAA;IAEf;;OAEG;IACH,UAAU,IAAI,IAAI,CAAA;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC/C"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Search Engine Adapter Interface
3
- * Provides a unified interface for different search implementations
4
- */
5
- export {};
6
- //# sourceMappingURL=searchAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"searchAdapter.js","sourceRoot":"","sources":["../../src/core/searchAdapter.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1,30 +0,0 @@
1
- /**
2
- * Search Engine Factory
3
- * Provides a simple way to create appropriate search engines based on options
4
- */
5
- import type { SearchEngine } from './searchAdapter.js';
6
- import type { SkillConfig } from '../types/index.js';
7
- export interface SearchEngineOptions {
8
- /** Search mode: auto, fuzzy, or chroma */
9
- mode?: 'auto' | 'fuzzy' | 'chroma';
10
- /** Skill directory for file operations */
11
- skillDir?: string;
12
- /** References directory containing documentation */
13
- referencesDir?: string;
14
- /** Skill configuration */
15
- config?: SkillConfig;
16
- /** Additional options for adapters */
17
- adapterOptions?: {
18
- /** Enable ChromaDB fallback on failure */
19
- enableChromaFallback?: boolean;
20
- /** ChromaDB startup timeout */
21
- chromaStartupTimeout?: number;
22
- /** Auto search quality threshold */
23
- qualityThreshold?: number;
24
- };
25
- }
26
- /**
27
- * Build and return appropriate search engine based on options
28
- */
29
- export declare function buildSearchEngine(options?: SearchEngineOptions): Promise<SearchEngine>;
30
- //# sourceMappingURL=searchEngineFactory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"searchEngineFactory.d.ts","sourceRoot":"","sources":["../../src/core/searchEngineFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAItD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;IAClC,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,sCAAsC;IACtC,cAAc,CAAC,EAAE;QACf,0CAA0C;QAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAA;QAC9B,+BAA+B;QAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAA;QAC7B,oCAAoC;QACpC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAC1B,CAAA;CACF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,YAAY,CAAC,CAmChG"}
@@ -1,41 +0,0 @@
1
- /**
2
- * Search Engine Factory
3
- * Provides a simple way to create appropriate search engines based on options
4
- */
5
- import { AutoSearchAdapter } from './autoSearchAdapter.js';
6
- import { FuzzySearchAdapter } from './fuzzySearchAdapter.js';
7
- import { ChromaSearchAdapter } from './chromaSearchAdapter.js';
8
- /**
9
- * Build and return appropriate search engine based on options
10
- */
11
- export async function buildSearchEngine(options = {}) {
12
- const { mode = 'auto', skillDir = '', referencesDir = '', config, adapterOptions = {} } = options;
13
- switch (mode) {
14
- case 'auto':
15
- if (!config) {
16
- throw new Error('Config is required for auto mode');
17
- }
18
- return new AutoSearchAdapter({
19
- skillDir,
20
- collectionName: `skills`,
21
- enableChromaFallback: adapterOptions.enableChromaFallback ?? true,
22
- chromaStartupTimeout: adapterOptions.chromaStartupTimeout ?? 15000,
23
- qualityThreshold: adapterOptions.qualityThreshold ?? 0.3,
24
- });
25
- case 'fuzzy':
26
- return new FuzzySearchAdapter();
27
- case 'chroma':
28
- if (!config) {
29
- throw new Error('Config is required for chroma mode');
30
- }
31
- return new ChromaSearchAdapter({
32
- skillDir,
33
- collectionName: `skills`,
34
- startupTimeout: adapterOptions.chromaStartupTimeout ?? 15000,
35
- enableFallback: adapterOptions.enableChromaFallback ?? true,
36
- });
37
- default:
38
- throw new Error(`Invalid search mode: ${mode}. Use 'auto', 'fuzzy', or 'chroma'.`);
39
- }
40
- }
41
- //# sourceMappingURL=searchEngineFactory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"searchEngineFactory.js","sourceRoot":"","sources":["../../src/core/searchEngineFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAuB9D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAA+B,EAAE;IACvE,MAAM,EAAE,IAAI,GAAG,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,EAAE,MAAM,EAAE,cAAc,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;IAEjG,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;YACrD,CAAC;YAED,OAAO,IAAI,iBAAiB,CAAC;gBAC3B,QAAQ;gBACR,cAAc,EAAE,QAAQ;gBACxB,oBAAoB,EAAE,cAAc,CAAC,oBAAoB,IAAI,IAAI;gBACjE,oBAAoB,EAAE,cAAc,CAAC,oBAAoB,IAAI,KAAK;gBAClE,gBAAgB,EAAE,cAAc,CAAC,gBAAgB,IAAI,GAAG;aACzD,CAAC,CAAA;QAEJ,KAAK,OAAO;YACV,OAAO,IAAI,kBAAkB,EAAE,CAAA;QAEjC,KAAK,QAAQ;YACX,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;YACvD,CAAC;YAED,OAAO,IAAI,mBAAmB,CAAC;gBAC7B,QAAQ;gBACR,cAAc,EAAE,QAAQ;gBACxB,cAAc,EAAE,cAAc,CAAC,oBAAoB,IAAI,KAAK;gBAC5D,cAAc,EAAE,cAAc,CAAC,oBAAoB,IAAI,IAAI;aAC5D,CAAC,CAAA;QAEJ;YACE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,qCAAqC,CAAC,CAAA;IACtF,CAAC;AACH,CAAC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Main skill creator class
3
- */
4
- import type { CreateSkillOptions, CreateSkillResult } from '../types/index.js';
5
- export declare class SkillCreator {
6
- private templateDir;
7
- constructor();
8
- createSkill(options: CreateSkillOptions): Promise<CreateSkillResult>;
9
- private createDirectoryStructure;
10
- private createSkillMdFromTemplate;
11
- }
12
- //# sourceMappingURL=skillCreator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skillCreator.d.ts","sourceRoot":"","sources":["../../src/core/skillCreator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAQ9E,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAQ;;IAMrB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA2C1E,OAAO,CAAC,wBAAwB;YAgBlB,yBAAyB;CAwBxC"}