skill-creator 1.4.3 → 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.
- package/dist/chunk-Da8dvM5T.mjs +1 -0
- package/dist/cli.d.mts +1016 -0
- package/dist/cli.d.mts.map +1 -0
- package/dist/cli.mjs +36 -0
- package/dist/cli.mjs.map +1 -0
- package/dist/contentManager-8rmWJMb6.mjs +22 -0
- package/dist/contentManager-8rmWJMb6.mjs.map +1 -0
- package/dist/contentManager-Xt8N5psY.mjs +1 -0
- package/dist/dist-DZL34HNo.mjs +8 -0
- package/dist/dist-DZL34HNo.mjs.map +1 -0
- package/dist/dist-X_kVEzbK.mjs +1 -0
- package/dist/esm-8qfZdcpd.mjs +33 -0
- package/dist/esm-8qfZdcpd.mjs.map +1 -0
- package/dist/esm-BF5pvSbc.mjs +1 -0
- package/dist/esm-BbhxxeGF.mjs +4 -0
- package/dist/esm-BbhxxeGF.mjs.map +1 -0
- package/dist/index.d.mts +1964 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +21 -0
- package/dist/index.mjs.map +1 -0
- package/dist/listContext7-DKXzgWdn.mjs +2 -0
- package/dist/listContext7-DKXzgWdn.mjs.map +1 -0
- package/dist/package-B4FNst2t.mjs +2 -0
- package/dist/package-B4FNst2t.mjs.map +1 -0
- package/dist/path-CuoiIaIe.mjs +2 -0
- package/dist/path-CuoiIaIe.mjs.map +1 -0
- package/dist/removeContext7-DOXrTXeI.mjs +3 -0
- package/dist/removeContext7-DOXrTXeI.mjs.map +1 -0
- package/dist/removeSkill-C-ehFexk.mjs +5 -0
- package/dist/removeSkill-C-ehFexk.mjs.map +1 -0
- package/dist/removeSkill-DWwhvzej.mjs +1 -0
- package/dist/runScript-Cr9RRN9y.mjs +14 -0
- package/dist/runScript-Cr9RRN9y.mjs.map +1 -0
- package/dist/search_format-DIs-1lKk.mjs +5 -0
- package/dist/search_format-DIs-1lKk.mjs.map +1 -0
- package/dist/shared-CFoY2Xhg.mjs +2 -0
- package/dist/shared-CFoY2Xhg.mjs.map +1 -0
- package/dist/skillMdManager-DP8fGZb7.mjs +7 -0
- package/dist/skillMdManager-DP8fGZb7.mjs.map +1 -0
- package/dist/unifiedSearch-CGZXw0NB.mjs +1 -0
- package/dist/unifiedSearch-l-lrSc9C.mjs +4 -0
- package/dist/unifiedSearch-l-lrSc9C.mjs.map +1 -0
- package/package.json +30 -17
- package/dist/cli.d.ts +0 -8
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -513
- package/dist/cli.js.map +0 -1
- package/dist/commands/addContent.d.ts +0 -5
- package/dist/commands/addContent.d.ts.map +0 -1
- package/dist/commands/addContent.js +0 -88
- package/dist/commands/addContent.js.map +0 -1
- package/dist/commands/buildIndex.d.ts +0 -5
- package/dist/commands/buildIndex.d.ts.map +0 -1
- package/dist/commands/buildIndex.js +0 -16
- package/dist/commands/buildIndex.js.map +0 -1
- package/dist/commands/createSkill.d.ts +0 -6
- package/dist/commands/createSkill.d.ts.map +0 -1
- package/dist/commands/createSkill.js +0 -32
- package/dist/commands/createSkill.js.map +0 -1
- package/dist/commands/downloadContext7.d.ts +0 -5
- package/dist/commands/downloadContext7.d.ts.map +0 -1
- package/dist/commands/downloadContext7.js +0 -71
- package/dist/commands/downloadContext7.js.map +0 -1
- package/dist/commands/init.d.ts +0 -5
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -95
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/listContent.d.ts +0 -5
- package/dist/commands/listContent.d.ts.map +0 -1
- package/dist/commands/listContent.js +0 -34
- package/dist/commands/listContent.js.map +0 -1
- package/dist/commands/listContext7.d.ts +0 -5
- package/dist/commands/listContext7.d.ts.map +0 -1
- package/dist/commands/listContext7.js +0 -26
- package/dist/commands/listContext7.js.map +0 -1
- package/dist/commands/listSkills.d.ts +0 -5
- package/dist/commands/listSkills.d.ts.map +0 -1
- package/dist/commands/listSkills.js +0 -34
- package/dist/commands/listSkills.js.map +0 -1
- package/dist/commands/removeContext7.d.ts +0 -5
- package/dist/commands/removeContext7.d.ts.map +0 -1
- package/dist/commands/removeContext7.js +0 -54
- package/dist/commands/removeContext7.js.map +0 -1
- package/dist/commands/removeSkill.d.ts +0 -5
- package/dist/commands/removeSkill.d.ts.map +0 -1
- package/dist/commands/removeSkill.js +0 -83
- package/dist/commands/removeSkill.js.map +0 -1
- package/dist/commands/searchContent.d.ts +0 -5
- package/dist/commands/searchContent.d.ts.map +0 -1
- package/dist/commands/searchContent.js +0 -99
- package/dist/commands/searchContent.js.map +0 -1
- package/dist/commands/shared.d.ts +0 -21
- package/dist/commands/shared.d.ts.map +0 -1
- package/dist/commands/shared.js +0 -80
- package/dist/commands/shared.js.map +0 -1
- package/dist/core/autoSearchAdapter.d.ts +0 -42
- package/dist/core/autoSearchAdapter.d.ts.map +0 -1
- package/dist/core/autoSearchAdapter.js +0 -116
- package/dist/core/autoSearchAdapter.js.map +0 -1
- package/dist/core/chromaSearch.d.ts +0 -24
- package/dist/core/chromaSearch.d.ts.map +0 -1
- package/dist/core/chromaSearch.js +0 -194
- package/dist/core/chromaSearch.js.map +0 -1
- package/dist/core/chromaSearchAdapter.d.ts +0 -86
- package/dist/core/chromaSearchAdapter.d.ts.map +0 -1
- package/dist/core/chromaSearchAdapter.js +0 -477
- package/dist/core/chromaSearchAdapter.js.map +0 -1
- package/dist/core/chromaServerManager.d.ts +0 -64
- package/dist/core/chromaServerManager.d.ts.map +0 -1
- package/dist/core/chromaServerManager.js +0 -186
- package/dist/core/chromaServerManager.js.map +0 -1
- package/dist/core/contentManager.d.ts +0 -65
- package/dist/core/contentManager.d.ts.map +0 -1
- package/dist/core/contentManager.js +0 -533
- package/dist/core/contentManager.js.map +0 -1
- package/dist/core/fuzzySearchAdapter.d.ts +0 -33
- package/dist/core/fuzzySearchAdapter.d.ts.map +0 -1
- package/dist/core/fuzzySearchAdapter.js +0 -185
- package/dist/core/fuzzySearchAdapter.js.map +0 -1
- package/dist/core/portUtils.d.ts +0 -51
- package/dist/core/portUtils.d.ts.map +0 -1
- package/dist/core/portUtils.js +0 -120
- package/dist/core/portUtils.js.map +0 -1
- package/dist/core/runScript.d.ts +0 -5
- package/dist/core/runScript.d.ts.map +0 -1
- package/dist/core/runScript.js +0 -40
- package/dist/core/runScript.js.map +0 -1
- package/dist/core/searchAdapter.d.ts +0 -48
- package/dist/core/searchAdapter.d.ts.map +0 -1
- package/dist/core/searchAdapter.js +0 -6
- package/dist/core/searchAdapter.js.map +0 -1
- package/dist/core/searchEngineFactory.d.ts +0 -30
- package/dist/core/searchEngineFactory.d.ts.map +0 -1
- package/dist/core/searchEngineFactory.js +0 -41
- package/dist/core/searchEngineFactory.js.map +0 -1
- package/dist/core/skillCreator.d.ts +0 -12
- package/dist/core/skillCreator.d.ts.map +0 -1
- package/dist/core/skillCreator.js +0 -79
- package/dist/core/skillCreator.js.map +0 -1
- package/dist/core/templateManager.d.ts +0 -28
- package/dist/core/templateManager.d.ts.map +0 -1
- package/dist/core/templateManager.js +0 -583
- package/dist/core/templateManager.js.map +0 -1
- package/dist/core/unifiedSearch.d.ts +0 -69
- package/dist/core/unifiedSearch.d.ts.map +0 -1
- package/dist/core/unifiedSearch.js +0 -105
- package/dist/core/unifiedSearch.js.map +0 -1
- package/dist/index.d.ts +0 -13
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -11
- package/dist/index.js.map +0 -1
- package/dist/search_format/enhancedFormatter.d.ts +0 -109
- package/dist/search_format/enhancedFormatter.d.ts.map +0 -1
- package/dist/search_format/enhancedFormatter.js +0 -262
- package/dist/search_format/enhancedFormatter.js.map +0 -1
- package/dist/search_format/index.d.ts +0 -10
- package/dist/search_format/index.d.ts.map +0 -1
- package/dist/search_format/index.js +0 -22
- package/dist/search_format/index.js.map +0 -1
- package/dist/search_format/listFormatter.d.ts +0 -16
- package/dist/search_format/listFormatter.d.ts.map +0 -1
- package/dist/search_format/listFormatter.js +0 -51
- package/dist/search_format/listFormatter.js.map +0 -1
- package/dist/search_format/types.d.ts +0 -69
- package/dist/search_format/types.d.ts.map +0 -1
- package/dist/search_format/types.js +0 -5
- package/dist/search_format/types.js.map +0 -1
- package/dist/types/index.d.ts +0 -74
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -2
- package/dist/types/index.js.map +0 -1
- package/dist/utils/claudeCodeDetection.d.ts +0 -27
- package/dist/utils/claudeCodeDetection.d.ts.map +0 -1
- package/dist/utils/claudeCodeDetection.js +0 -81
- package/dist/utils/claudeCodeDetection.js.map +0 -1
- package/dist/utils/config.d.ts +0 -23
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js +0 -41
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/package.d.ts +0 -88
- package/dist/utils/package.d.ts.map +0 -1
- package/dist/utils/package.js +0 -221
- package/dist/utils/package.js.map +0 -1
- package/dist/utils/skillMdManager.d.ts +0 -45
- package/dist/utils/skillMdManager.d.ts.map +0 -1
- package/dist/utils/skillMdManager.js +0 -173
- package/dist/utils/skillMdManager.js.map +0 -1
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unified Search Engine
|
|
3
|
-
* Acts as a coordinator between search adapters and formatters
|
|
4
|
-
* Provides a clean interface for the complete search pipeline
|
|
5
|
-
*/
|
|
6
|
-
import { createFormatter } from '../search_format/index.js';
|
|
7
|
-
import { buildSearchEngine } from './searchEngineFactory.js';
|
|
8
|
-
/**
|
|
9
|
-
* Unified Search Engine
|
|
10
|
-
* Coordinates search adapters with formatters for complete search experience
|
|
11
|
-
*/
|
|
12
|
-
export class UnifiedSearchEngine {
|
|
13
|
-
searchEngine = null;
|
|
14
|
-
formatter = null;
|
|
15
|
-
options;
|
|
16
|
-
constructor(options) {
|
|
17
|
-
this.options = options;
|
|
18
|
-
// Note: actual engine creation happens asynchronously
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Initialize the search engine
|
|
22
|
-
*/
|
|
23
|
-
async initialize() {
|
|
24
|
-
const { skillDir = '', referencesDir = '', config, mode = 'auto', adapterOptions = {}, } = this.options;
|
|
25
|
-
this.searchEngine = await buildSearchEngine({
|
|
26
|
-
mode,
|
|
27
|
-
skillDir,
|
|
28
|
-
referencesDir,
|
|
29
|
-
config,
|
|
30
|
-
adapterOptions,
|
|
31
|
-
});
|
|
32
|
-
// Initialize formatter if format is specified
|
|
33
|
-
if (this.options.format) {
|
|
34
|
-
this.formatter = createFormatter(this.options.format);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Build search index
|
|
39
|
-
*/
|
|
40
|
-
async buildIndex(referencesDir) {
|
|
41
|
-
await this.ensureInitialized();
|
|
42
|
-
if (this.searchEngine) {
|
|
43
|
-
await this.searchEngine.buildIndex(referencesDir);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Search and optionally format results
|
|
48
|
-
*/
|
|
49
|
-
async search(query, topK = 5, where) {
|
|
50
|
-
await this.ensureInitialized();
|
|
51
|
-
if (!this.searchEngine) {
|
|
52
|
-
return [];
|
|
53
|
-
}
|
|
54
|
-
return this.searchEngine.search(query, { topK, where });
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Search and return formatted results
|
|
58
|
-
*/
|
|
59
|
-
async searchAndFormat(query, topK = 5, where) {
|
|
60
|
-
const results = await this.search(query, topK, where);
|
|
61
|
-
if (!this.formatter) {
|
|
62
|
-
throw new Error('No formatter configured. Use format option in constructor.');
|
|
63
|
-
}
|
|
64
|
-
const formattingOptions = {
|
|
65
|
-
skillPath: this.options.skillPath || process.cwd(),
|
|
66
|
-
maxPreviewLength: this.options.formatting?.maxPreviewLength || 200,
|
|
67
|
-
showFullContentThreshold: this.options.formatting?.showFullContentThreshold || 0.15,
|
|
68
|
-
minScoreForPreview: this.options.formatting?.minScoreForPreview || 0.1,
|
|
69
|
-
showLineNumbers: this.options.formatting?.showLineNumbers ?? true,
|
|
70
|
-
};
|
|
71
|
-
return this.formatter.format(results, formattingOptions);
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Check if search index is built
|
|
75
|
-
*/
|
|
76
|
-
async isBuilt() {
|
|
77
|
-
await this.ensureInitialized();
|
|
78
|
-
return this.searchEngine?.isBuilt() || false;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Get search statistics
|
|
82
|
-
*/
|
|
83
|
-
async getStats() {
|
|
84
|
-
await this.ensureInitialized();
|
|
85
|
-
return this.searchEngine?.getStats() || { totalDocuments: 0 };
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Clear search index
|
|
89
|
-
*/
|
|
90
|
-
async clearIndex() {
|
|
91
|
-
await this.ensureInitialized();
|
|
92
|
-
if (this.searchEngine && 'clearIndex' in this.searchEngine) {
|
|
93
|
-
this.searchEngine.clearIndex();
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Ensure engine is initialized
|
|
98
|
-
*/
|
|
99
|
-
async ensureInitialized() {
|
|
100
|
-
if (!this.searchEngine) {
|
|
101
|
-
await this.initialize();
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
//# sourceMappingURL=unifiedSearch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"unifiedSearch.js","sourceRoot":"","sources":["../../src/core/unifiedSearch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAmB5D;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IACtB,YAAY,GAAyD,IAAI,CAAA;IACzE,SAAS,GAA2B,IAAI,CAAA;IACxC,OAAO,CAAsB;IAErC,YAAY,OAA6B;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,sDAAsD;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,EACJ,QAAQ,GAAG,EAAE,EACb,aAAa,GAAG,EAAE,EAClB,MAAM,EACN,IAAI,GAAG,MAAM,EACb,cAAc,GAAG,EAAE,GACpB,GAAG,IAAI,CAAC,OAAO,CAAA;QAEhB,IAAI,CAAC,YAAY,GAAG,MAAM,iBAAiB,CAAC;YAC1C,IAAI;YACJ,QAAQ;YACR,aAAa;YACb,MAAM;YACN,cAAc;SACf,CAAC,CAAA;QAEF,8CAA8C;QAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,MAA6B,CAAC,CAAA;QAC9E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,aAAqB;QACpC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC9B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QACnD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,KAAa,EACb,OAAe,CAAC,EAChB,KAA2B;QAE3B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC9B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,KAAa,EACb,OAAe,CAAC,EAChB,KAA2B;QAE3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAErD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;QAC/E,CAAC;QAED,MAAM,iBAAiB,GAAsB;YAC3C,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE;YAClD,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,gBAAgB,IAAI,GAAG;YAClE,wBAAwB,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,wBAAwB,IAAI,IAAI;YACnF,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,IAAI,GAAG;YACtE,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,eAAe,IAAI,IAAI;SAClE,CAAA;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC9B,OAAO,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,KAAK,CAAA;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC9B,OAAO,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,CAAA;IAC/D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC9B,IAAI,IAAI,CAAC,YAAY,IAAI,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3D,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAA;QAChC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB;QAC7B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QACzB,CAAC;IACH,CAAC;CACF"}
|
package/dist/index.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Skill Creator - Main exports
|
|
3
|
-
*/
|
|
4
|
-
export { SkillCreator } from './core/skillCreator.js';
|
|
5
|
-
export type { SearchEngine } from './core/searchAdapter.js';
|
|
6
|
-
export { ChromaSearchAdapter } from './core/chromaSearchAdapter.js';
|
|
7
|
-
export { FuzzySearchAdapter } from './core/fuzzySearchAdapter.js';
|
|
8
|
-
export { UnifiedSearchEngine } from './core/unifiedSearch.js';
|
|
9
|
-
export { ContentManager } from './core/contentManager.js';
|
|
10
|
-
export { Config } from './utils/config.js';
|
|
11
|
-
export { PackageUtils } from './utils/package.js';
|
|
12
|
-
export type { SkillConfig, SearchResult, ContentStats, ContentItem, CreateSkillOptions, CreateSkillResult, UpdateContext7Result, AddContentResult, PackageVersion, Context7Library, } from './types/index.js';
|
|
13
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,MAAM,kBAAkB,CAAA"}
|
package/dist/index.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Skill Creator - Main exports
|
|
3
|
-
*/
|
|
4
|
-
export { SkillCreator } from './core/skillCreator.js';
|
|
5
|
-
export { ChromaSearchAdapter } from './core/chromaSearchAdapter.js';
|
|
6
|
-
export { FuzzySearchAdapter } from './core/fuzzySearchAdapter.js';
|
|
7
|
-
export { UnifiedSearchEngine } from './core/unifiedSearch.js';
|
|
8
|
-
export { ContentManager } from './core/contentManager.js';
|
|
9
|
-
export { Config } from './utils/config.js';
|
|
10
|
-
export { PackageUtils } from './utils/package.js';
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhanced formatter for search results
|
|
3
|
-
* Implements three-tier display strategy based on search quality scores
|
|
4
|
-
*
|
|
5
|
-
* ===================== ENHANCED MODE 客观需求标准 =====================
|
|
6
|
-
*
|
|
7
|
-
* 用户明确要求的三层显示策略:
|
|
8
|
-
*
|
|
9
|
-
* 🔴 Tier 1 (高分结果): 显示 FileContent (完整内容)
|
|
10
|
-
* - 标准: 匹配度最高的结果
|
|
11
|
-
* - 显示: 完整的文档内容,不做截断
|
|
12
|
-
* - 格式: <content lines="N">完整内容</content>
|
|
13
|
-
*
|
|
14
|
-
* 🟡 Tier 2 (中等分数): 显示 Preview with line numbers (带行号的部分内容)
|
|
15
|
-
* - 标准: 部分匹配的结果
|
|
16
|
-
* - 显示: 文档的关键片段,带行号指示
|
|
17
|
-
* - 格式: <limit-content lines-indexs="1,5,10">片段内容</limit-content>
|
|
18
|
-
*
|
|
19
|
-
* 🟢 Tier 3 (低分数): 显示 Metadata only (只显示元数据)
|
|
20
|
-
* - 标准: 匹配度较低的结果
|
|
21
|
-
* - 显示: 仅标题、文件路径等元数据信息
|
|
22
|
-
* - 格式: Content: (No preview - metadata only)
|
|
23
|
-
*
|
|
24
|
-
* ===================== 关键要求 =====================
|
|
25
|
-
* 1. 必须基于实际的搜索质量分数进行分层
|
|
26
|
-
* 2. 不能所有结果都显示为 "metadata-only"
|
|
27
|
-
* 3. 高质量结果必须显示完整内容,不能截断
|
|
28
|
-
* 4. 中等质量结果必须显示带行号的预览
|
|
29
|
-
* 5. 阈值设置要合理,确保三层都有分布
|
|
30
|
-
*
|
|
31
|
-
* ===================== 实现要点 =====================
|
|
32
|
-
* - 基于用户的中位数思路:去掉一个最高分和最低分,再取平均值
|
|
33
|
-
* - 边缘情况处理:当结果<=2个时,直接使用最低分作为平均值
|
|
34
|
-
* - maxScore必然显示完整内容:score == maxScore 时显示 FileContent
|
|
35
|
-
* - 动态阈值:不使用固定阈值,基于实际分数分布计算
|
|
36
|
-
*
|
|
37
|
-
* ===================== 具体算法 =====================
|
|
38
|
-
* 1. modifiedAverageScore = 去掉最高分和最低分后,剩余分数的平均值
|
|
39
|
-
* 2. 只有1-2个结果时:modifiedAverageScore = 最低分
|
|
40
|
-
* 3. 3个以上结果时:sortedScores.slice(1, -1) 去掉首尾后平均
|
|
41
|
-
*
|
|
42
|
-
* ===================== 分层标准 =====================
|
|
43
|
-
* - Tier 1 (score == maxScore): FileContent (完整内容)
|
|
44
|
-
* - Tier 2 (score >= modifiedAverageScore): Preview with line numbers (带行号预览)
|
|
45
|
-
* - Tier 3 (score < modifiedAverageScore): Metadata only (只显示元数据)
|
|
46
|
-
*
|
|
47
|
-
* ===================== 关键要求 =====================
|
|
48
|
-
* 1. maxScore 必然显示完整内容,这是最高优先级策略
|
|
49
|
-
* 2. 不使用固定阈值,避免全部落入某一层
|
|
50
|
-
* 3. 基于实际分数分布动态调整分层
|
|
51
|
-
* 4. 确保三层都有合理分布
|
|
52
|
-
*
|
|
53
|
-
* ===================== 当前修复重点 =====================
|
|
54
|
-
* - 修复 Score 计算问题(从 0.00 到合理的 0.1-1.0 范围)
|
|
55
|
-
* - 实现中位数算法的阈值计算
|
|
56
|
-
* - 确保 maxScore 的结果显示完整内容
|
|
57
|
-
* - 移除固定阈值依赖,使用动态算法
|
|
58
|
-
*
|
|
59
|
-
* ===================== 用户反馈问题 =====================
|
|
60
|
-
* - "默认enhanced模式,没有如期工作"
|
|
61
|
-
* - "Score居然是负数/0.00,太不合理"
|
|
62
|
-
* - 所有结果都显示 "(No preview - metadata only)"
|
|
63
|
-
*
|
|
64
|
-
* ===================== 验收标准 =====================
|
|
65
|
-
* - 高分结果显示完整文档内容
|
|
66
|
-
* - 中等分数结果显示带行号的预览
|
|
67
|
-
* - 低分结果显示元数据
|
|
68
|
-
* - 三层都有合理分布,不是全部落在某一层
|
|
69
|
-
*
|
|
70
|
-
* ======================================================================
|
|
71
|
-
*/
|
|
72
|
-
import type { SearchResult, FormattingOptions, FormattedResult, SearchFormatter } from './types.js';
|
|
73
|
-
/**
|
|
74
|
-
* Enhanced formatter - three-tier display based on search quality
|
|
75
|
-
*
|
|
76
|
-
* Tier 1 (score >= maxScore): Show full content
|
|
77
|
-
* Tier 2 (score >= modifiedAverageScore): Show preview with line numbers
|
|
78
|
-
* Tier 3 (score < modifiedAverageScore): Show metadata only
|
|
79
|
-
*/
|
|
80
|
-
export declare class EnhancedFormatter implements SearchFormatter {
|
|
81
|
-
getName(): string;
|
|
82
|
-
getDescription(): string;
|
|
83
|
-
format(results: SearchResult[], options: FormattingOptions): FormattedResult[];
|
|
84
|
-
/**
|
|
85
|
-
* Calculate quality metrics for search results
|
|
86
|
-
*/
|
|
87
|
-
private calculateQualityMetrics;
|
|
88
|
-
/**
|
|
89
|
-
* Enhance search results with quality information
|
|
90
|
-
*/
|
|
91
|
-
private enhanceResults;
|
|
92
|
-
/**
|
|
93
|
-
* Format content based on display tier
|
|
94
|
-
*/
|
|
95
|
-
private formatByTier;
|
|
96
|
-
/**
|
|
97
|
-
* Get content type for styling
|
|
98
|
-
*/
|
|
99
|
-
private getContentType;
|
|
100
|
-
/**
|
|
101
|
-
* Create enhanced preview with line numbers
|
|
102
|
-
*/
|
|
103
|
-
private createEnhancedPreview;
|
|
104
|
-
/**
|
|
105
|
-
* Wrap content in appropriate tags
|
|
106
|
-
*/
|
|
107
|
-
private wrapContent;
|
|
108
|
-
}
|
|
109
|
-
//# sourceMappingURL=enhancedFormatter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enhancedFormatter.d.ts","sourceRoot":"","sources":["../../src/search_format/enhancedFormatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AAEH,OAAO,KAAK,EACV,YAAY,EAEZ,iBAAiB,EACjB,eAAe,EACf,eAAe,EAChB,MAAM,YAAY,CAAA;AAGnB;;;;;;GAMG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACvD,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIxB,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,iBAAiB,GAAG,eAAe,EAAE;IAyB9E;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmC/B;;OAEG;IACH,OAAO,CAAC,cAAc;IAwDtB;;OAEG;IACH,OAAO,CAAC,YAAY;IA+BpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA4B7B;;OAEG;IACH,OAAO,CAAC,WAAW;CASpB"}
|
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhanced formatter for search results
|
|
3
|
-
* Implements three-tier display strategy based on search quality scores
|
|
4
|
-
*
|
|
5
|
-
* ===================== ENHANCED MODE 客观需求标准 =====================
|
|
6
|
-
*
|
|
7
|
-
* 用户明确要求的三层显示策略:
|
|
8
|
-
*
|
|
9
|
-
* 🔴 Tier 1 (高分结果): 显示 FileContent (完整内容)
|
|
10
|
-
* - 标准: 匹配度最高的结果
|
|
11
|
-
* - 显示: 完整的文档内容,不做截断
|
|
12
|
-
* - 格式: <content lines="N">完整内容</content>
|
|
13
|
-
*
|
|
14
|
-
* 🟡 Tier 2 (中等分数): 显示 Preview with line numbers (带行号的部分内容)
|
|
15
|
-
* - 标准: 部分匹配的结果
|
|
16
|
-
* - 显示: 文档的关键片段,带行号指示
|
|
17
|
-
* - 格式: <limit-content lines-indexs="1,5,10">片段内容</limit-content>
|
|
18
|
-
*
|
|
19
|
-
* 🟢 Tier 3 (低分数): 显示 Metadata only (只显示元数据)
|
|
20
|
-
* - 标准: 匹配度较低的结果
|
|
21
|
-
* - 显示: 仅标题、文件路径等元数据信息
|
|
22
|
-
* - 格式: Content: (No preview - metadata only)
|
|
23
|
-
*
|
|
24
|
-
* ===================== 关键要求 =====================
|
|
25
|
-
* 1. 必须基于实际的搜索质量分数进行分层
|
|
26
|
-
* 2. 不能所有结果都显示为 "metadata-only"
|
|
27
|
-
* 3. 高质量结果必须显示完整内容,不能截断
|
|
28
|
-
* 4. 中等质量结果必须显示带行号的预览
|
|
29
|
-
* 5. 阈值设置要合理,确保三层都有分布
|
|
30
|
-
*
|
|
31
|
-
* ===================== 实现要点 =====================
|
|
32
|
-
* - 基于用户的中位数思路:去掉一个最高分和最低分,再取平均值
|
|
33
|
-
* - 边缘情况处理:当结果<=2个时,直接使用最低分作为平均值
|
|
34
|
-
* - maxScore必然显示完整内容:score == maxScore 时显示 FileContent
|
|
35
|
-
* - 动态阈值:不使用固定阈值,基于实际分数分布计算
|
|
36
|
-
*
|
|
37
|
-
* ===================== 具体算法 =====================
|
|
38
|
-
* 1. modifiedAverageScore = 去掉最高分和最低分后,剩余分数的平均值
|
|
39
|
-
* 2. 只有1-2个结果时:modifiedAverageScore = 最低分
|
|
40
|
-
* 3. 3个以上结果时:sortedScores.slice(1, -1) 去掉首尾后平均
|
|
41
|
-
*
|
|
42
|
-
* ===================== 分层标准 =====================
|
|
43
|
-
* - Tier 1 (score == maxScore): FileContent (完整内容)
|
|
44
|
-
* - Tier 2 (score >= modifiedAverageScore): Preview with line numbers (带行号预览)
|
|
45
|
-
* - Tier 3 (score < modifiedAverageScore): Metadata only (只显示元数据)
|
|
46
|
-
*
|
|
47
|
-
* ===================== 关键要求 =====================
|
|
48
|
-
* 1. maxScore 必然显示完整内容,这是最高优先级策略
|
|
49
|
-
* 2. 不使用固定阈值,避免全部落入某一层
|
|
50
|
-
* 3. 基于实际分数分布动态调整分层
|
|
51
|
-
* 4. 确保三层都有合理分布
|
|
52
|
-
*
|
|
53
|
-
* ===================== 当前修复重点 =====================
|
|
54
|
-
* - 修复 Score 计算问题(从 0.00 到合理的 0.1-1.0 范围)
|
|
55
|
-
* - 实现中位数算法的阈值计算
|
|
56
|
-
* - 确保 maxScore 的结果显示完整内容
|
|
57
|
-
* - 移除固定阈值依赖,使用动态算法
|
|
58
|
-
*
|
|
59
|
-
* ===================== 用户反馈问题 =====================
|
|
60
|
-
* - "默认enhanced模式,没有如期工作"
|
|
61
|
-
* - "Score居然是负数/0.00,太不合理"
|
|
62
|
-
* - 所有结果都显示 "(No preview - metadata only)"
|
|
63
|
-
*
|
|
64
|
-
* ===================== 验收标准 =====================
|
|
65
|
-
* - 高分结果显示完整文档内容
|
|
66
|
-
* - 中等分数结果显示带行号的预览
|
|
67
|
-
* - 低分结果显示元数据
|
|
68
|
-
* - 三层都有合理分布,不是全部落在某一层
|
|
69
|
-
*
|
|
70
|
-
* ======================================================================
|
|
71
|
-
*/
|
|
72
|
-
import { relative } from 'node:path';
|
|
73
|
-
/**
|
|
74
|
-
* Enhanced formatter - three-tier display based on search quality
|
|
75
|
-
*
|
|
76
|
-
* Tier 1 (score >= maxScore): Show full content
|
|
77
|
-
* Tier 2 (score >= modifiedAverageScore): Show preview with line numbers
|
|
78
|
-
* Tier 3 (score < modifiedAverageScore): Show metadata only
|
|
79
|
-
*/
|
|
80
|
-
export class EnhancedFormatter {
|
|
81
|
-
getName() {
|
|
82
|
-
return 'enhanced';
|
|
83
|
-
}
|
|
84
|
-
getDescription() {
|
|
85
|
-
return 'Three-tier enhanced format with intelligent content display';
|
|
86
|
-
}
|
|
87
|
-
format(results, options) {
|
|
88
|
-
if (results.length === 0) {
|
|
89
|
-
return [];
|
|
90
|
-
}
|
|
91
|
-
// Calculate search quality metrics
|
|
92
|
-
const qualityMetrics = this.calculateQualityMetrics(results);
|
|
93
|
-
// Enhance results with quality information
|
|
94
|
-
const enhancedResults = this.enhanceResults(results, qualityMetrics, options);
|
|
95
|
-
// Format based on display tiers
|
|
96
|
-
return enhancedResults.map((result, index) => {
|
|
97
|
-
const formattedContent = this.formatByTier(result, options);
|
|
98
|
-
const contentType = this.getContentType(result);
|
|
99
|
-
return {
|
|
100
|
-
result,
|
|
101
|
-
content: formattedContent,
|
|
102
|
-
contentType,
|
|
103
|
-
priority: index,
|
|
104
|
-
};
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Calculate quality metrics for search results
|
|
109
|
-
*/
|
|
110
|
-
calculateQualityMetrics(results) {
|
|
111
|
-
if (results.length === 0) {
|
|
112
|
-
return { maxScore: 0, averageScore: 0, modifiedAverageScore: 0 };
|
|
113
|
-
}
|
|
114
|
-
const scores = results.map((r) => r.score);
|
|
115
|
-
const maxScore = Math.max(...scores);
|
|
116
|
-
// 用户要求:使用中位数思路,去掉一个最高分和最低分
|
|
117
|
-
let modifiedAverageScore;
|
|
118
|
-
if (scores.length <= 2) {
|
|
119
|
-
// 如果只有2个或更少的结果,直接使用较低的分数作为平均分
|
|
120
|
-
modifiedAverageScore = Math.min(...scores);
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
// 去掉最高分和最低分,然后计算平均分
|
|
124
|
-
const sortedScores = [...scores].sort((a, b) => a - b);
|
|
125
|
-
const middleScores = sortedScores.slice(1, -1); // 去掉第一个(最低)和最后一个(最高)
|
|
126
|
-
modifiedAverageScore =
|
|
127
|
-
middleScores.reduce((sum, score) => sum + score, 0) / middleScores.length;
|
|
128
|
-
}
|
|
129
|
-
const averageScore = scores.reduce((sum, score) => sum + score, 0) / scores.length;
|
|
130
|
-
console.log(`📊 质量指标计算: maxScore=${maxScore.toFixed(3)}, modifiedAverageScore=${modifiedAverageScore.toFixed(3)}, averageScore=${averageScore.toFixed(3)}`);
|
|
131
|
-
return {
|
|
132
|
-
maxScore,
|
|
133
|
-
averageScore,
|
|
134
|
-
modifiedAverageScore,
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Enhance search results with quality information
|
|
139
|
-
*/
|
|
140
|
-
enhanceResults(results, qualityMetrics, options) {
|
|
141
|
-
const { maxScore, modifiedAverageScore } = qualityMetrics;
|
|
142
|
-
const { skillPath } = options;
|
|
143
|
-
return results.map((result) => {
|
|
144
|
-
const enhancedResult = result;
|
|
145
|
-
const score = result.score;
|
|
146
|
-
// 用户要求的三层显示策略
|
|
147
|
-
let displayTier;
|
|
148
|
-
let fullContent;
|
|
149
|
-
let preview;
|
|
150
|
-
console.log(`🔍 Enhanced分层判断: Score=${score.toFixed(3)}, maxScore=${maxScore.toFixed(3)}, modifiedAverageScore=${modifiedAverageScore.toFixed(3)}`);
|
|
151
|
-
// 最高优先级:maxScore 必然显示完整内容
|
|
152
|
-
if (score === maxScore) {
|
|
153
|
-
// Tier 1: 最高分 - 显示完整内容
|
|
154
|
-
displayTier = 'full';
|
|
155
|
-
fullContent = this.wrapContent(result.content, 'content');
|
|
156
|
-
console.log(`✅ score == maxScore,分配到完整内容模式`);
|
|
157
|
-
}
|
|
158
|
-
else if (score >= modifiedAverageScore) {
|
|
159
|
-
// Tier 2: 中等分数 - 显示带行号的预览
|
|
160
|
-
displayTier = 'preview';
|
|
161
|
-
preview = this.createEnhancedPreview(result.content);
|
|
162
|
-
console.log(`✅ score >= modifiedAverageScore,分配到预览模式`);
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
// Tier 3: 低分数 - 仅显示元数据
|
|
166
|
-
displayTier = 'metadata-only';
|
|
167
|
-
console.log(`⚠️ score < modifiedAverageScore,分配到元数据模式`);
|
|
168
|
-
}
|
|
169
|
-
// 设置相对路径
|
|
170
|
-
enhancedResult.relativePath = relative(skillPath, result.file_path);
|
|
171
|
-
// 添加质量元数据
|
|
172
|
-
enhancedResult.metadata = {
|
|
173
|
-
...result.metadata,
|
|
174
|
-
displayTier,
|
|
175
|
-
maxScore,
|
|
176
|
-
averageScore: qualityMetrics.averageScore,
|
|
177
|
-
};
|
|
178
|
-
if (fullContent)
|
|
179
|
-
enhancedResult.fullContent = fullContent;
|
|
180
|
-
if (preview)
|
|
181
|
-
enhancedResult.preview = preview;
|
|
182
|
-
return enhancedResult;
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Format content based on display tier
|
|
187
|
-
*/
|
|
188
|
-
formatByTier(result, options) {
|
|
189
|
-
const score = result.score;
|
|
190
|
-
const tier = result.metadata.displayTier;
|
|
191
|
-
const contentLength = result.content?.length || 0;
|
|
192
|
-
// 添加调试信息显示分数和层级
|
|
193
|
-
const debugInfo = `<!-- Score: ${score.toFixed(3)}, Tier: ${tier}, ContentLength: ${contentLength} -->`;
|
|
194
|
-
console.log(`🔍 Enhanced格式化: Score=${score.toFixed(3)}, Tier=${tier}, ContentLength=${contentLength}`);
|
|
195
|
-
switch (tier) {
|
|
196
|
-
case 'full':
|
|
197
|
-
console.log(`📝 使用完整内容模式,内容长度: ${result.fullContent?.length || 0}`);
|
|
198
|
-
return `${debugInfo}\n${result.fullContent || ''}`;
|
|
199
|
-
case 'preview':
|
|
200
|
-
console.log(`👁️ 使用预览模式,预览长度: ${result.preview?.length || 0}`);
|
|
201
|
-
return `${debugInfo}\n${result.preview || ''}`;
|
|
202
|
-
case 'metadata-only':
|
|
203
|
-
console.log(`📋 使用元数据模式`);
|
|
204
|
-
return `${debugInfo}\nContent: (No preview - metadata only)`;
|
|
205
|
-
default:
|
|
206
|
-
console.log(`⚠️ 未知层级,使用默认模式`);
|
|
207
|
-
return `${debugInfo}\n${result.content.substring(0, 200).replace(/\n/g, ' ')}...`;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Get content type for styling
|
|
212
|
-
*/
|
|
213
|
-
getContentType(result) {
|
|
214
|
-
switch (result.metadata.displayTier) {
|
|
215
|
-
case 'full':
|
|
216
|
-
return 'full-content';
|
|
217
|
-
case 'preview':
|
|
218
|
-
return 'preview';
|
|
219
|
-
default:
|
|
220
|
-
return 'metadata-only';
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Create enhanced preview with line numbers
|
|
225
|
-
*/
|
|
226
|
-
createEnhancedPreview(content) {
|
|
227
|
-
const lines = content.split('\n');
|
|
228
|
-
const lineNumbers = [];
|
|
229
|
-
// Select representative lines (first, middle, last)
|
|
230
|
-
const selectedLines = [];
|
|
231
|
-
if (lines.length > 0) {
|
|
232
|
-
selectedLines.push(lines[0]);
|
|
233
|
-
lineNumbers.push(1);
|
|
234
|
-
}
|
|
235
|
-
if (lines.length > 2) {
|
|
236
|
-
const middleLine = Math.floor(lines.length / 2);
|
|
237
|
-
selectedLines.push(lines[middleLine]);
|
|
238
|
-
lineNumbers.push(middleLine + 1);
|
|
239
|
-
}
|
|
240
|
-
if (lines.length > 1) {
|
|
241
|
-
selectedLines.push(lines[lines.length - 1]);
|
|
242
|
-
lineNumbers.push(lines.length);
|
|
243
|
-
}
|
|
244
|
-
const previewContent = selectedLines.join('\n');
|
|
245
|
-
const lineIndexes = lineNumbers.join(',');
|
|
246
|
-
return this.wrapContent(previewContent, 'limit-content', lineIndexes);
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* Wrap content in appropriate tags
|
|
250
|
-
*/
|
|
251
|
-
wrapContent(content, tag, lineIndexes) {
|
|
252
|
-
if (tag === 'limit-content' && lineIndexes) {
|
|
253
|
-
return `<${tag} lines-indexs="${lineIndexes}">\n${content}\n</${tag}>`;
|
|
254
|
-
}
|
|
255
|
-
else if (tag === 'content') {
|
|
256
|
-
const lines = content.split('\n').length;
|
|
257
|
-
return `<${tag} lines="${lines}">\n${content}\n</${tag}>`;
|
|
258
|
-
}
|
|
259
|
-
return content;
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
//# sourceMappingURL=enhancedFormatter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enhancedFormatter.js","sourceRoot":"","sources":["../../src/search_format/enhancedFormatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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,GAChB,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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,iBAAiB,GAAG,eAAe,EAAE;IA+B9E,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,aAAa;CAQtB"}
|
|
@@ -1,51 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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,CAAC,OAAuB,EAAE,OAA0B;QACxD,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,CAC/C,6CAA6C,CAC9C,CAAA;gBACD,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"}
|