@dollhousemcp/mcp-server 1.5.2 → 1.6.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 (272) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +494 -111
  3. package/data/agents/code-reviewer.md +8 -1
  4. package/data/agents/research-assistant.md +8 -1
  5. package/data/agents/task-manager.md +8 -1
  6. package/data/ensembles/business-advisor.md +8 -1
  7. package/data/ensembles/creative-studio.md +8 -1
  8. package/data/ensembles/development-team.md +8 -1
  9. package/data/ensembles/security-analysis-team.md +8 -1
  10. package/data/memories/conversation-history.md +8 -1
  11. package/data/memories/learning-progress.md +8 -1
  12. package/data/memories/project-context.md +8 -1
  13. package/data/personas/business-consultant.md +8 -1
  14. package/data/personas/creative-writer.md +8 -1
  15. package/data/personas/debug-detective.md +8 -1
  16. package/data/personas/eli5-explainer.md +8 -1
  17. package/data/personas/security-analyst.md +8 -1
  18. package/data/personas/technical-analyst.md +8 -1
  19. package/data/skills/code-review.md +8 -1
  20. package/data/skills/creative-writing.md +8 -1
  21. package/data/skills/data-analysis.md +8 -1
  22. package/data/skills/penetration-testing.md +8 -1
  23. package/data/skills/research.md +8 -1
  24. package/data/skills/threat-modeling.md +8 -1
  25. package/data/skills/translation.md +8 -1
  26. package/data/templates/code-documentation.md +8 -1
  27. package/data/templates/email-professional.md +8 -1
  28. package/data/templates/meeting-notes.md +8 -1
  29. package/data/templates/penetration-test-report.md +8 -1
  30. package/data/templates/project-brief.md +8 -1
  31. package/data/templates/report-executive.md +8 -1
  32. package/data/templates/security-vulnerability-report.md +8 -1
  33. package/data/templates/threat-assessment-report.md +8 -1
  34. package/dist/auth/GitHubAuthManager.d.ts +6 -1
  35. package/dist/auth/GitHubAuthManager.d.ts.map +1 -1
  36. package/dist/auth/GitHubAuthManager.js +45 -18
  37. package/dist/benchmarks/IndexPerformanceBenchmark.d.ts +98 -0
  38. package/dist/benchmarks/IndexPerformanceBenchmark.d.ts.map +1 -0
  39. package/dist/benchmarks/IndexPerformanceBenchmark.js +531 -0
  40. package/dist/cache/CollectionCache.d.ts.map +1 -1
  41. package/dist/cache/CollectionCache.js +13 -3
  42. package/dist/cache/CollectionIndexCache.d.ts +77 -0
  43. package/dist/cache/CollectionIndexCache.d.ts.map +1 -0
  44. package/dist/cache/CollectionIndexCache.js +349 -0
  45. package/dist/cache/LRUCache.d.ts +93 -0
  46. package/dist/cache/LRUCache.d.ts.map +1 -0
  47. package/dist/cache/LRUCache.js +299 -0
  48. package/dist/cache/index.d.ts +1 -0
  49. package/dist/cache/index.d.ts.map +1 -1
  50. package/dist/cache/index.js +2 -1
  51. package/dist/collection/CollectionBrowser.d.ts +21 -1
  52. package/dist/collection/CollectionBrowser.d.ts.map +1 -1
  53. package/dist/collection/CollectionBrowser.js +130 -10
  54. package/dist/collection/CollectionIndexManager.d.ts +151 -0
  55. package/dist/collection/CollectionIndexManager.d.ts.map +1 -0
  56. package/dist/collection/CollectionIndexManager.js +499 -0
  57. package/dist/collection/CollectionSearch.d.ts +55 -0
  58. package/dist/collection/CollectionSearch.d.ts.map +1 -1
  59. package/dist/collection/CollectionSearch.js +338 -13
  60. package/dist/collection/CollectionSeeder.d.ts.map +1 -1
  61. package/dist/collection/CollectionSeeder.js +38 -1
  62. package/dist/collection/ElementInstaller.d.ts +31 -0
  63. package/dist/collection/ElementInstaller.d.ts.map +1 -1
  64. package/dist/collection/ElementInstaller.js +77 -15
  65. package/dist/collection/PersonaSubmitter.d.ts +1 -1
  66. package/dist/collection/PersonaSubmitter.d.ts.map +1 -1
  67. package/dist/collection/PersonaSubmitter.js +2 -2
  68. package/dist/collection/index.d.ts +1 -0
  69. package/dist/collection/index.d.ts.map +1 -1
  70. package/dist/collection/index.js +2 -1
  71. package/dist/config/ConfigManager.d.ts +78 -0
  72. package/dist/config/ConfigManager.d.ts.map +1 -0
  73. package/dist/config/ConfigManager.js +216 -0
  74. package/dist/config/element-types.d.ts +135 -0
  75. package/dist/config/element-types.d.ts.map +1 -0
  76. package/dist/config/element-types.js +108 -0
  77. package/dist/config/index.d.ts +2 -0
  78. package/dist/config/index.d.ts.map +1 -1
  79. package/dist/config/index.js +3 -1
  80. package/dist/config/portfolio-constants.d.ts +83 -0
  81. package/dist/config/portfolio-constants.d.ts.map +1 -0
  82. package/dist/config/portfolio-constants.js +99 -0
  83. package/dist/elements/BaseElement.d.ts +14 -2
  84. package/dist/elements/BaseElement.d.ts.map +1 -1
  85. package/dist/elements/BaseElement.js +88 -6
  86. package/dist/elements/agents/Agent.d.ts +10 -1
  87. package/dist/elements/agents/Agent.d.ts.map +1 -1
  88. package/dist/elements/agents/Agent.js +66 -19
  89. package/dist/elements/agents/AgentManager.d.ts +2 -0
  90. package/dist/elements/agents/AgentManager.d.ts.map +1 -1
  91. package/dist/elements/agents/AgentManager.js +12 -10
  92. package/dist/elements/skills/Skill.d.ts +10 -1
  93. package/dist/elements/skills/Skill.d.ts.map +1 -1
  94. package/dist/elements/skills/Skill.js +40 -3
  95. package/dist/elements/skills/SkillManager.d.ts +1 -0
  96. package/dist/elements/skills/SkillManager.d.ts.map +1 -1
  97. package/dist/elements/skills/SkillManager.js +10 -4
  98. package/dist/elements/templates/Template.d.ts +10 -1
  99. package/dist/elements/templates/Template.d.ts.map +1 -1
  100. package/dist/elements/templates/Template.js +35 -18
  101. package/dist/elements/templates/TemplateManager.d.ts +1 -1
  102. package/dist/elements/templates/TemplateManager.d.ts.map +1 -1
  103. package/dist/elements/templates/TemplateManager.js +6 -5
  104. package/dist/generated/version.d.ts +2 -2
  105. package/dist/generated/version.js +3 -3
  106. package/dist/index.barrel.d.ts +1 -2
  107. package/dist/index.barrel.d.ts.map +1 -1
  108. package/dist/index.barrel.js +2 -4
  109. package/dist/index.d.ts +143 -25
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js +1883 -310
  112. package/dist/persona/PersonaElement.d.ts +10 -0
  113. package/dist/persona/PersonaElement.d.ts.map +1 -1
  114. package/dist/persona/PersonaElement.js +55 -32
  115. package/dist/persona/PersonaElementManager.d.ts.map +1 -1
  116. package/dist/persona/PersonaElementManager.js +13 -11
  117. package/dist/persona/PersonaLoader.d.ts.map +1 -1
  118. package/dist/persona/PersonaLoader.js +8 -2
  119. package/dist/persona/export-import/PersonaImporter.d.ts.map +1 -1
  120. package/dist/persona/export-import/PersonaImporter.js +24 -5
  121. package/dist/persona/export-import/PersonaSharer.d.ts +21 -0
  122. package/dist/persona/export-import/PersonaSharer.d.ts.map +1 -1
  123. package/dist/persona/export-import/PersonaSharer.js +198 -22
  124. package/dist/portfolio/DefaultElementProvider.d.ts +90 -0
  125. package/dist/portfolio/DefaultElementProvider.d.ts.map +1 -1
  126. package/dist/portfolio/DefaultElementProvider.js +499 -7
  127. package/dist/portfolio/GitHubPortfolioIndexer.d.ts +129 -0
  128. package/dist/portfolio/GitHubPortfolioIndexer.d.ts.map +1 -0
  129. package/dist/portfolio/GitHubPortfolioIndexer.js +475 -0
  130. package/dist/portfolio/MigrationManager.d.ts.map +1 -1
  131. package/dist/portfolio/MigrationManager.js +136 -3
  132. package/dist/portfolio/PortfolioIndexManager.d.ts +130 -0
  133. package/dist/portfolio/PortfolioIndexManager.d.ts.map +1 -0
  134. package/dist/portfolio/PortfolioIndexManager.js +478 -0
  135. package/dist/portfolio/PortfolioManager.d.ts +5 -0
  136. package/dist/portfolio/PortfolioManager.d.ts.map +1 -1
  137. package/dist/portfolio/PortfolioManager.js +61 -20
  138. package/dist/portfolio/PortfolioRepoManager.d.ts +75 -0
  139. package/dist/portfolio/PortfolioRepoManager.d.ts.map +1 -0
  140. package/dist/portfolio/PortfolioRepoManager.js +337 -0
  141. package/dist/portfolio/UnifiedIndexManager.d.ts +388 -0
  142. package/dist/portfolio/UnifiedIndexManager.d.ts.map +1 -0
  143. package/dist/portfolio/UnifiedIndexManager.js +1434 -0
  144. package/dist/portfolio/index.d.ts +15 -0
  145. package/dist/portfolio/index.d.ts.map +1 -0
  146. package/dist/portfolio/index.js +15 -0
  147. package/dist/portfolio/types.d.ts +7 -0
  148. package/dist/portfolio/types.d.ts.map +1 -1
  149. package/dist/portfolio/types.js +6 -1
  150. package/dist/security/InputValidator.d.ts.map +1 -1
  151. package/dist/security/InputValidator.js +50 -48
  152. package/dist/security/audit/SecurityAuditor.d.ts.map +1 -1
  153. package/dist/security/audit/SecurityAuditor.js +17 -9
  154. package/dist/security/audit/config/suppressions.d.ts.map +1 -1
  155. package/dist/security/audit/config/suppressions.js +19 -3
  156. package/dist/security/contentValidator.d.ts +2 -0
  157. package/dist/security/contentValidator.d.ts.map +1 -1
  158. package/dist/security/contentValidator.js +115 -4
  159. package/dist/security/secureYamlParser.d.ts +1 -0
  160. package/dist/security/secureYamlParser.d.ts.map +1 -1
  161. package/dist/security/secureYamlParser.js +29 -7
  162. package/dist/security/securityMonitor.d.ts +1 -1
  163. package/dist/security/securityMonitor.d.ts.map +1 -1
  164. package/dist/security/securityMonitor.js +1 -1
  165. package/dist/security/tokenManager.d.ts +1 -1
  166. package/dist/security/tokenManager.d.ts.map +1 -1
  167. package/dist/security/tokenManager.js +30 -10
  168. package/dist/server/ServerSetup.d.ts +22 -2
  169. package/dist/server/ServerSetup.d.ts.map +1 -1
  170. package/dist/server/ServerSetup.js +77 -12
  171. package/dist/server/tools/AuthTools.d.ts.map +1 -1
  172. package/dist/server/tools/AuthTools.js +33 -1
  173. package/dist/server/tools/BuildInfoTools.d.ts +25 -0
  174. package/dist/server/tools/BuildInfoTools.d.ts.map +1 -0
  175. package/dist/server/tools/BuildInfoTools.js +36 -0
  176. package/dist/server/tools/CollectionTools.d.ts.map +1 -1
  177. package/dist/server/tools/CollectionTools.js +55 -46
  178. package/dist/server/tools/ConfigTools.d.ts.map +1 -1
  179. package/dist/server/tools/ConfigTools.js +29 -1
  180. package/dist/server/tools/PersonaTools.d.ts +4 -2
  181. package/dist/server/tools/PersonaTools.d.ts.map +1 -1
  182. package/dist/server/tools/PersonaTools.js +5 -152
  183. package/dist/server/tools/PortfolioTools.d.ts +12 -0
  184. package/dist/server/tools/PortfolioTools.d.ts.map +1 -0
  185. package/dist/server/tools/PortfolioTools.js +221 -0
  186. package/dist/server/tools/index.d.ts +3 -1
  187. package/dist/server/tools/index.d.ts.map +1 -1
  188. package/dist/server/tools/index.js +4 -2
  189. package/dist/server/types.d.ts +40 -5
  190. package/dist/server/types.d.ts.map +1 -1
  191. package/dist/server/types.js +1 -1
  192. package/dist/services/BuildInfoService.d.ts +84 -0
  193. package/dist/services/BuildInfoService.d.ts.map +1 -0
  194. package/dist/services/BuildInfoService.js +271 -0
  195. package/dist/tools/portfolio/PortfolioElementAdapter.d.ts +54 -0
  196. package/dist/tools/portfolio/PortfolioElementAdapter.d.ts.map +1 -0
  197. package/dist/tools/portfolio/PortfolioElementAdapter.js +229 -0
  198. package/dist/tools/portfolio/submitToPortfolioTool.d.ts +164 -0
  199. package/dist/tools/portfolio/submitToPortfolioTool.d.ts.map +1 -0
  200. package/dist/tools/portfolio/submitToPortfolioTool.js +1523 -0
  201. package/dist/tools/portfolio/types.d.ts +41 -0
  202. package/dist/tools/portfolio/types.d.ts.map +1 -0
  203. package/dist/tools/portfolio/types.js +15 -0
  204. package/dist/types/collection.d.ts +51 -0
  205. package/dist/types/collection.d.ts.map +1 -1
  206. package/dist/types/collection.js +1 -1
  207. package/dist/utils/EarlyTerminationSearch.d.ts +41 -0
  208. package/dist/utils/EarlyTerminationSearch.d.ts.map +1 -0
  209. package/dist/utils/EarlyTerminationSearch.js +164 -0
  210. package/dist/utils/ErrorHandler.d.ts +86 -0
  211. package/dist/utils/ErrorHandler.d.ts.map +1 -0
  212. package/dist/utils/ErrorHandler.js +201 -0
  213. package/dist/utils/FileDiscoveryUtil.d.ts +53 -0
  214. package/dist/utils/FileDiscoveryUtil.d.ts.map +1 -0
  215. package/dist/utils/FileDiscoveryUtil.js +169 -0
  216. package/dist/utils/GitHubRateLimiter.d.ts +88 -0
  217. package/dist/utils/GitHubRateLimiter.d.ts.map +1 -0
  218. package/dist/utils/GitHubRateLimiter.js +315 -0
  219. package/dist/utils/PerformanceMonitor.d.ts +134 -0
  220. package/dist/utils/PerformanceMonitor.d.ts.map +1 -0
  221. package/dist/utils/PerformanceMonitor.js +347 -0
  222. package/dist/utils/RateLimiter.d.ts.map +1 -0
  223. package/dist/utils/RateLimiter.js +172 -0
  224. package/dist/utils/SecureDownloader.d.ts +241 -0
  225. package/dist/utils/SecureDownloader.d.ts.map +1 -0
  226. package/dist/utils/SecureDownloader.js +759 -0
  227. package/dist/utils/ToolCache.d.ts +82 -0
  228. package/dist/utils/ToolCache.d.ts.map +1 -0
  229. package/dist/utils/ToolCache.js +196 -0
  230. package/dist/utils/errorCodes.d.ts +136 -0
  231. package/dist/utils/errorCodes.d.ts.map +1 -0
  232. package/dist/utils/errorCodes.js +87 -0
  233. package/dist/utils/index.d.ts +3 -0
  234. package/dist/utils/index.d.ts.map +1 -1
  235. package/dist/utils/index.js +4 -1
  236. package/dist/utils/installation.d.ts +1 -1
  237. package/dist/utils/installation.d.ts.map +1 -1
  238. package/dist/utils/installation.js +9 -8
  239. package/dist/utils/searchUtils.d.ts +31 -0
  240. package/dist/utils/searchUtils.d.ts.map +1 -1
  241. package/dist/utils/searchUtils.js +62 -1
  242. package/package.json +17 -7
  243. package/dist/config/updateConfig.d.ts +0 -84
  244. package/dist/config/updateConfig.d.ts.map +0 -1
  245. package/dist/config/updateConfig.js +0 -148
  246. package/dist/server/tools/UpdateTools.d.ts +0 -10
  247. package/dist/server/tools/UpdateTools.d.ts.map +0 -1
  248. package/dist/server/tools/UpdateTools.js +0 -85
  249. package/dist/update/BackupManager.d.ts +0 -63
  250. package/dist/update/BackupManager.d.ts.map +0 -1
  251. package/dist/update/BackupManager.js +0 -370
  252. package/dist/update/DependencyChecker.d.ts +0 -41
  253. package/dist/update/DependencyChecker.d.ts.map +0 -1
  254. package/dist/update/DependencyChecker.js +0 -132
  255. package/dist/update/RateLimiter.d.ts.map +0 -1
  256. package/dist/update/RateLimiter.js +0 -172
  257. package/dist/update/SignatureVerifier.d.ts +0 -71
  258. package/dist/update/SignatureVerifier.d.ts.map +0 -1
  259. package/dist/update/SignatureVerifier.js +0 -214
  260. package/dist/update/UpdateChecker.d.ts +0 -132
  261. package/dist/update/UpdateChecker.d.ts.map +0 -1
  262. package/dist/update/UpdateChecker.js +0 -506
  263. package/dist/update/UpdateManager.d.ts +0 -60
  264. package/dist/update/UpdateManager.d.ts.map +0 -1
  265. package/dist/update/UpdateManager.js +0 -730
  266. package/dist/update/VersionManager.d.ts +0 -31
  267. package/dist/update/VersionManager.d.ts.map +0 -1
  268. package/dist/update/VersionManager.js +0 -181
  269. package/dist/update/index.d.ts +0 -9
  270. package/dist/update/index.d.ts.map +0 -1
  271. package/dist/update/index.js +0 -9
  272. /package/dist/{update → utils}/RateLimiter.d.ts +0 -0
@@ -0,0 +1,388 @@
1
+ /**
2
+ * Unified Index Manager - Combines local, GitHub, and collection portfolio indexing
3
+ *
4
+ * Features:
5
+ * - Unified search across local, GitHub, and collection portfolios
6
+ * - Intelligent result merging and deduplication
7
+ * - Version conflict detection and resolution
8
+ * - Performance optimization with parallel indexing
9
+ * - Advanced fallback strategies for resilient operation
10
+ * - Comprehensive search capabilities with pagination
11
+ * - Smart result ranking and duplicate detection
12
+ */
13
+ import { ElementType } from './types.js';
14
+ export interface UnifiedSearchOptions {
15
+ query: string;
16
+ includeLocal?: boolean;
17
+ includeGitHub?: boolean;
18
+ includeCollection?: boolean;
19
+ elementType?: ElementType;
20
+ page?: number;
21
+ pageSize?: number;
22
+ sortBy?: 'relevance' | 'source' | 'name' | 'version';
23
+ streamResults?: boolean;
24
+ cursor?: string;
25
+ maxResults?: number;
26
+ lazyLoad?: boolean;
27
+ }
28
+ export interface VersionConflict {
29
+ local?: string;
30
+ github?: string;
31
+ collection?: string;
32
+ recommended: 'local' | 'github' | 'collection';
33
+ reason: string;
34
+ }
35
+ export interface DuplicateInfo {
36
+ name: string;
37
+ elementType: ElementType;
38
+ sources: Array<{
39
+ source: 'local' | 'github' | 'collection';
40
+ version?: string;
41
+ lastModified: Date;
42
+ path?: string;
43
+ }>;
44
+ hasVersionConflict: boolean;
45
+ versionConflict?: VersionConflict;
46
+ }
47
+ export interface VersionInfo {
48
+ name: string;
49
+ elementType: ElementType;
50
+ versions: {
51
+ local?: {
52
+ version: string;
53
+ lastModified: Date;
54
+ path: string;
55
+ };
56
+ github?: {
57
+ version: string;
58
+ lastModified: Date;
59
+ path: string;
60
+ };
61
+ collection?: {
62
+ version: string;
63
+ lastModified: Date;
64
+ path: string;
65
+ };
66
+ };
67
+ recommended: {
68
+ source: 'local' | 'github' | 'collection';
69
+ reason: string;
70
+ };
71
+ updateAvailable: boolean;
72
+ updateFrom?: 'local' | 'github' | 'collection';
73
+ }
74
+ export interface UnifiedIndexEntry {
75
+ name: string;
76
+ description?: string;
77
+ version?: string;
78
+ author?: string;
79
+ elementType: ElementType;
80
+ lastModified: Date;
81
+ source: 'local' | 'github' | 'collection';
82
+ localFilePath?: string;
83
+ filename?: string;
84
+ tags?: string[];
85
+ keywords?: string[];
86
+ triggers?: string[];
87
+ category?: string;
88
+ githubPath?: string;
89
+ githubSha?: string;
90
+ githubHtmlUrl?: string;
91
+ githubDownloadUrl?: string;
92
+ githubSize?: number;
93
+ collectionPath?: string;
94
+ collectionSha?: string;
95
+ collectionTags?: string[];
96
+ collectionCategory?: string;
97
+ collectionLicense?: string;
98
+ }
99
+ export interface UnifiedSearchResult {
100
+ source: 'local' | 'github' | 'collection';
101
+ entry: UnifiedIndexEntry;
102
+ matchType: string;
103
+ score: number;
104
+ version?: string;
105
+ isDuplicate?: boolean;
106
+ versionConflict?: VersionConflict;
107
+ cursor?: string;
108
+ }
109
+ export interface StreamedSearchResult {
110
+ results: UnifiedSearchResult[];
111
+ hasMore: boolean;
112
+ nextCursor?: string;
113
+ totalEstimate?: number;
114
+ processingTimeMs: number;
115
+ }
116
+ export interface UnifiedIndexStats {
117
+ local: {
118
+ totalElements: number;
119
+ elementsByType: Record<ElementType, number>;
120
+ lastBuilt: Date | null;
121
+ isStale: boolean;
122
+ };
123
+ github: {
124
+ totalElements: number;
125
+ elementsByType: Record<ElementType, number>;
126
+ lastFetched: Date | null;
127
+ isStale: boolean;
128
+ username?: string;
129
+ repository?: string;
130
+ };
131
+ collection: {
132
+ totalElements: number;
133
+ elementsByType: Record<string, number>;
134
+ lastFetched: Date | null;
135
+ isStale: boolean;
136
+ version?: string;
137
+ };
138
+ combined: {
139
+ totalElements: number;
140
+ uniqueElements: number;
141
+ duplicates: number;
142
+ };
143
+ performance: {
144
+ averageSearchTime: number;
145
+ cacheHitRate: number;
146
+ lastOptimized: Date | null;
147
+ };
148
+ }
149
+ export declare class UnifiedIndexManager {
150
+ private static instance;
151
+ private localIndexManager;
152
+ private githubIndexer;
153
+ private collectionIndexCache;
154
+ private githubClient;
155
+ private performanceMonitor;
156
+ private resultCache;
157
+ private indexCache;
158
+ private readonly BATCH_SIZE;
159
+ private readonly MAX_CONCURRENT_SOURCES;
160
+ private constructor();
161
+ static getInstance(): UnifiedIndexManager;
162
+ /**
163
+ * Enhanced search across local, GitHub, and collection portfolios with performance optimization
164
+ */
165
+ search(searchOptions: UnifiedSearchOptions): Promise<UnifiedSearchResult[]>;
166
+ /**
167
+ * Find element by name across all portfolios
168
+ */
169
+ findByName(name: string, options?: Partial<UnifiedSearchOptions>): Promise<UnifiedIndexEntry | null>;
170
+ /**
171
+ * Get elements by type from all portfolios
172
+ */
173
+ getElementsByType(elementType: ElementType, options?: Partial<UnifiedSearchOptions>): Promise<UnifiedIndexEntry[]>;
174
+ /**
175
+ * Check for duplicates across all sources
176
+ */
177
+ checkDuplicates(name: string): Promise<DuplicateInfo[]>;
178
+ /**
179
+ * Get version comparison across all sources
180
+ */
181
+ getVersionComparison(name: string): Promise<VersionInfo | null>;
182
+ /**
183
+ * Get comprehensive statistics across all sources
184
+ */
185
+ getStats(): Promise<UnifiedIndexStats>;
186
+ /**
187
+ * Invalidate caches after user actions with performance monitoring
188
+ */
189
+ invalidateAfterAction(action: string): void;
190
+ /**
191
+ * Force rebuild of all indexes with performance optimization
192
+ */
193
+ rebuildAll(): Promise<void>;
194
+ /**
195
+ * Search with fallback strategies for resilient operation
196
+ */
197
+ private searchWithFallback;
198
+ /**
199
+ * Handle search fallback strategies
200
+ */
201
+ private handleSearchFallback;
202
+ /**
203
+ * Search local portfolio
204
+ */
205
+ private searchLocal;
206
+ /**
207
+ * Search local with stale data fallback
208
+ */
209
+ private searchLocalStale;
210
+ /**
211
+ * Search GitHub portfolio
212
+ */
213
+ private searchGitHub;
214
+ /**
215
+ * Search GitHub with cached data fallback
216
+ */
217
+ private searchGitHubCached;
218
+ /**
219
+ * Search collection portfolio
220
+ */
221
+ private searchCollection;
222
+ /**
223
+ * Search collection with cached data fallback
224
+ */
225
+ private searchCollectionCached;
226
+ /**
227
+ * Process search results with advanced features
228
+ */
229
+ private processSearchResults;
230
+ /**
231
+ * Apply smart result ranking
232
+ */
233
+ private applySmartRanking;
234
+ /**
235
+ * Detect duplicates and version conflicts
236
+ */
237
+ private detectDuplicatesAndConflicts;
238
+ /**
239
+ * Apply pagination to results
240
+ */
241
+ private applyPagination;
242
+ /**
243
+ * Apply sorting to results
244
+ */
245
+ private applySorting;
246
+ /**
247
+ * Calculate match score for GitHub entries
248
+ */
249
+ private calculateGitHubMatchScore;
250
+ /**
251
+ * Calculate match score for collection entries
252
+ */
253
+ private calculateCollectionMatchScore;
254
+ /**
255
+ * Get all elements by type across sources
256
+ */
257
+ private getAllElementsByType;
258
+ /**
259
+ * Get local elements by type
260
+ */
261
+ private getLocalElementsByType;
262
+ /**
263
+ * Get GitHub elements by type
264
+ */
265
+ private getGitHubElementsByType;
266
+ /**
267
+ * Get collection elements by type
268
+ */
269
+ private getCollectionElementsByType;
270
+ /**
271
+ * Get local portfolio statistics
272
+ */
273
+ private getLocalStats;
274
+ /**
275
+ * Get GitHub portfolio statistics
276
+ */
277
+ private getGitHubStats;
278
+ /**
279
+ * Get collection portfolio statistics
280
+ */
281
+ private getCollectionStats;
282
+ /**
283
+ * Calculate duplicates count across all sources
284
+ */
285
+ private calculateDuplicatesCount;
286
+ /**
287
+ * Convert local index entry to unified format
288
+ */
289
+ private convertLocalEntry;
290
+ /**
291
+ * Convert GitHub index entry to unified format
292
+ */
293
+ private convertGitHubEntry;
294
+ /**
295
+ * Convert collection index entry to unified format
296
+ */
297
+ private convertCollectionEntry;
298
+ /**
299
+ * Map string to ElementType enum
300
+ */
301
+ private mapStringToElementType;
302
+ /**
303
+ * Convert unified search options to local search options
304
+ */
305
+ private convertToLocalOptions;
306
+ /**
307
+ * Determine match type for GitHub entries
308
+ */
309
+ private determineMatchType;
310
+ /**
311
+ * Determine match type for collection entries
312
+ */
313
+ private determineCollectionMatchType;
314
+ /**
315
+ * Get path from unified entry
316
+ */
317
+ private getPathFromEntry;
318
+ /**
319
+ * Detect version conflict from sources
320
+ */
321
+ private detectVersionConflict;
322
+ /**
323
+ * Detect version conflict from search results
324
+ */
325
+ private detectVersionConflictFromResults;
326
+ /**
327
+ * Determine version recommendation from version info
328
+ */
329
+ private determineVersionRecommendation;
330
+ /**
331
+ * Determine version recommendation from sources
332
+ */
333
+ private determineVersionRecommendationFromSources;
334
+ /**
335
+ * Compare semantic versions
336
+ */
337
+ private compareVersions;
338
+ /**
339
+ * Remove duplicate results based on name and type
340
+ */
341
+ private deduplicateResults;
342
+ /**
343
+ * Remove duplicate entries based on name and type
344
+ */
345
+ private deduplicateEntries;
346
+ /**
347
+ * Stream search results for better performance with large datasets
348
+ */
349
+ private streamSearch;
350
+ /**
351
+ * Process search results with memory-efficient batching
352
+ */
353
+ private processSearchResultsOptimized;
354
+ /**
355
+ * Get enabled search sources
356
+ */
357
+ private getEnabledSources;
358
+ /**
359
+ * Batch sources for concurrent processing
360
+ */
361
+ private batchSources;
362
+ /**
363
+ * Generate cursor for pagination
364
+ */
365
+ private generateCursor;
366
+ /**
367
+ * Trigger memory cleanup when usage is high
368
+ */
369
+ private triggerMemoryCleanup;
370
+ /**
371
+ * Record search performance metrics
372
+ */
373
+ private recordSearchMetrics;
374
+ /**
375
+ * Create cache key for search options
376
+ */
377
+ private createCacheKey;
378
+ /**
379
+ * Get performance statistics
380
+ */
381
+ getPerformanceStats(): {
382
+ searchStats: any;
383
+ memoryStats: any;
384
+ cacheStats: any;
385
+ trends: any;
386
+ };
387
+ }
388
+ //# sourceMappingURL=UnifiedIndexManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnifiedIndexManager.d.ts","sourceRoot":"","sources":["../../src/portfolio/UnifiedIndexManager.ts"],"names":[],"mappings":"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"}