@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.
- package/CHANGELOG.md +56 -0
- package/README.md +494 -111
- package/data/agents/code-reviewer.md +8 -1
- package/data/agents/research-assistant.md +8 -1
- package/data/agents/task-manager.md +8 -1
- package/data/ensembles/business-advisor.md +8 -1
- package/data/ensembles/creative-studio.md +8 -1
- package/data/ensembles/development-team.md +8 -1
- package/data/ensembles/security-analysis-team.md +8 -1
- package/data/memories/conversation-history.md +8 -1
- package/data/memories/learning-progress.md +8 -1
- package/data/memories/project-context.md +8 -1
- package/data/personas/business-consultant.md +8 -1
- package/data/personas/creative-writer.md +8 -1
- package/data/personas/debug-detective.md +8 -1
- package/data/personas/eli5-explainer.md +8 -1
- package/data/personas/security-analyst.md +8 -1
- package/data/personas/technical-analyst.md +8 -1
- package/data/skills/code-review.md +8 -1
- package/data/skills/creative-writing.md +8 -1
- package/data/skills/data-analysis.md +8 -1
- package/data/skills/penetration-testing.md +8 -1
- package/data/skills/research.md +8 -1
- package/data/skills/threat-modeling.md +8 -1
- package/data/skills/translation.md +8 -1
- package/data/templates/code-documentation.md +8 -1
- package/data/templates/email-professional.md +8 -1
- package/data/templates/meeting-notes.md +8 -1
- package/data/templates/penetration-test-report.md +8 -1
- package/data/templates/project-brief.md +8 -1
- package/data/templates/report-executive.md +8 -1
- package/data/templates/security-vulnerability-report.md +8 -1
- package/data/templates/threat-assessment-report.md +8 -1
- package/dist/auth/GitHubAuthManager.d.ts +6 -1
- package/dist/auth/GitHubAuthManager.d.ts.map +1 -1
- package/dist/auth/GitHubAuthManager.js +45 -18
- package/dist/benchmarks/IndexPerformanceBenchmark.d.ts +98 -0
- package/dist/benchmarks/IndexPerformanceBenchmark.d.ts.map +1 -0
- package/dist/benchmarks/IndexPerformanceBenchmark.js +531 -0
- package/dist/cache/CollectionCache.d.ts.map +1 -1
- package/dist/cache/CollectionCache.js +13 -3
- package/dist/cache/CollectionIndexCache.d.ts +77 -0
- package/dist/cache/CollectionIndexCache.d.ts.map +1 -0
- package/dist/cache/CollectionIndexCache.js +349 -0
- package/dist/cache/LRUCache.d.ts +93 -0
- package/dist/cache/LRUCache.d.ts.map +1 -0
- package/dist/cache/LRUCache.js +299 -0
- package/dist/cache/index.d.ts +1 -0
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +2 -1
- package/dist/collection/CollectionBrowser.d.ts +21 -1
- package/dist/collection/CollectionBrowser.d.ts.map +1 -1
- package/dist/collection/CollectionBrowser.js +130 -10
- package/dist/collection/CollectionIndexManager.d.ts +151 -0
- package/dist/collection/CollectionIndexManager.d.ts.map +1 -0
- package/dist/collection/CollectionIndexManager.js +499 -0
- package/dist/collection/CollectionSearch.d.ts +55 -0
- package/dist/collection/CollectionSearch.d.ts.map +1 -1
- package/dist/collection/CollectionSearch.js +338 -13
- package/dist/collection/CollectionSeeder.d.ts.map +1 -1
- package/dist/collection/CollectionSeeder.js +38 -1
- package/dist/collection/ElementInstaller.d.ts +31 -0
- package/dist/collection/ElementInstaller.d.ts.map +1 -1
- package/dist/collection/ElementInstaller.js +77 -15
- package/dist/collection/PersonaSubmitter.d.ts +1 -1
- package/dist/collection/PersonaSubmitter.d.ts.map +1 -1
- package/dist/collection/PersonaSubmitter.js +2 -2
- package/dist/collection/index.d.ts +1 -0
- package/dist/collection/index.d.ts.map +1 -1
- package/dist/collection/index.js +2 -1
- package/dist/config/ConfigManager.d.ts +78 -0
- package/dist/config/ConfigManager.d.ts.map +1 -0
- package/dist/config/ConfigManager.js +216 -0
- package/dist/config/element-types.d.ts +135 -0
- package/dist/config/element-types.d.ts.map +1 -0
- package/dist/config/element-types.js +108 -0
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +3 -1
- package/dist/config/portfolio-constants.d.ts +83 -0
- package/dist/config/portfolio-constants.d.ts.map +1 -0
- package/dist/config/portfolio-constants.js +99 -0
- package/dist/elements/BaseElement.d.ts +14 -2
- package/dist/elements/BaseElement.d.ts.map +1 -1
- package/dist/elements/BaseElement.js +88 -6
- package/dist/elements/agents/Agent.d.ts +10 -1
- package/dist/elements/agents/Agent.d.ts.map +1 -1
- package/dist/elements/agents/Agent.js +66 -19
- package/dist/elements/agents/AgentManager.d.ts +2 -0
- package/dist/elements/agents/AgentManager.d.ts.map +1 -1
- package/dist/elements/agents/AgentManager.js +12 -10
- package/dist/elements/skills/Skill.d.ts +10 -1
- package/dist/elements/skills/Skill.d.ts.map +1 -1
- package/dist/elements/skills/Skill.js +40 -3
- package/dist/elements/skills/SkillManager.d.ts +1 -0
- package/dist/elements/skills/SkillManager.d.ts.map +1 -1
- package/dist/elements/skills/SkillManager.js +10 -4
- package/dist/elements/templates/Template.d.ts +10 -1
- package/dist/elements/templates/Template.d.ts.map +1 -1
- package/dist/elements/templates/Template.js +35 -18
- package/dist/elements/templates/TemplateManager.d.ts +1 -1
- package/dist/elements/templates/TemplateManager.d.ts.map +1 -1
- package/dist/elements/templates/TemplateManager.js +6 -5
- package/dist/generated/version.d.ts +2 -2
- package/dist/generated/version.js +3 -3
- package/dist/index.barrel.d.ts +1 -2
- package/dist/index.barrel.d.ts.map +1 -1
- package/dist/index.barrel.js +2 -4
- package/dist/index.d.ts +143 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1883 -310
- package/dist/persona/PersonaElement.d.ts +10 -0
- package/dist/persona/PersonaElement.d.ts.map +1 -1
- package/dist/persona/PersonaElement.js +55 -32
- package/dist/persona/PersonaElementManager.d.ts.map +1 -1
- package/dist/persona/PersonaElementManager.js +13 -11
- package/dist/persona/PersonaLoader.d.ts.map +1 -1
- package/dist/persona/PersonaLoader.js +8 -2
- package/dist/persona/export-import/PersonaImporter.d.ts.map +1 -1
- package/dist/persona/export-import/PersonaImporter.js +24 -5
- package/dist/persona/export-import/PersonaSharer.d.ts +21 -0
- package/dist/persona/export-import/PersonaSharer.d.ts.map +1 -1
- package/dist/persona/export-import/PersonaSharer.js +198 -22
- package/dist/portfolio/DefaultElementProvider.d.ts +90 -0
- package/dist/portfolio/DefaultElementProvider.d.ts.map +1 -1
- package/dist/portfolio/DefaultElementProvider.js +499 -7
- package/dist/portfolio/GitHubPortfolioIndexer.d.ts +129 -0
- package/dist/portfolio/GitHubPortfolioIndexer.d.ts.map +1 -0
- package/dist/portfolio/GitHubPortfolioIndexer.js +475 -0
- package/dist/portfolio/MigrationManager.d.ts.map +1 -1
- package/dist/portfolio/MigrationManager.js +136 -3
- package/dist/portfolio/PortfolioIndexManager.d.ts +130 -0
- package/dist/portfolio/PortfolioIndexManager.d.ts.map +1 -0
- package/dist/portfolio/PortfolioIndexManager.js +478 -0
- package/dist/portfolio/PortfolioManager.d.ts +5 -0
- package/dist/portfolio/PortfolioManager.d.ts.map +1 -1
- package/dist/portfolio/PortfolioManager.js +61 -20
- package/dist/portfolio/PortfolioRepoManager.d.ts +75 -0
- package/dist/portfolio/PortfolioRepoManager.d.ts.map +1 -0
- package/dist/portfolio/PortfolioRepoManager.js +337 -0
- package/dist/portfolio/UnifiedIndexManager.d.ts +388 -0
- package/dist/portfolio/UnifiedIndexManager.d.ts.map +1 -0
- package/dist/portfolio/UnifiedIndexManager.js +1434 -0
- package/dist/portfolio/index.d.ts +15 -0
- package/dist/portfolio/index.d.ts.map +1 -0
- package/dist/portfolio/index.js +15 -0
- package/dist/portfolio/types.d.ts +7 -0
- package/dist/portfolio/types.d.ts.map +1 -1
- package/dist/portfolio/types.js +6 -1
- package/dist/security/InputValidator.d.ts.map +1 -1
- package/dist/security/InputValidator.js +50 -48
- package/dist/security/audit/SecurityAuditor.d.ts.map +1 -1
- package/dist/security/audit/SecurityAuditor.js +17 -9
- package/dist/security/audit/config/suppressions.d.ts.map +1 -1
- package/dist/security/audit/config/suppressions.js +19 -3
- package/dist/security/contentValidator.d.ts +2 -0
- package/dist/security/contentValidator.d.ts.map +1 -1
- package/dist/security/contentValidator.js +115 -4
- package/dist/security/secureYamlParser.d.ts +1 -0
- package/dist/security/secureYamlParser.d.ts.map +1 -1
- package/dist/security/secureYamlParser.js +29 -7
- package/dist/security/securityMonitor.d.ts +1 -1
- package/dist/security/securityMonitor.d.ts.map +1 -1
- package/dist/security/securityMonitor.js +1 -1
- package/dist/security/tokenManager.d.ts +1 -1
- package/dist/security/tokenManager.d.ts.map +1 -1
- package/dist/security/tokenManager.js +30 -10
- package/dist/server/ServerSetup.d.ts +22 -2
- package/dist/server/ServerSetup.d.ts.map +1 -1
- package/dist/server/ServerSetup.js +77 -12
- package/dist/server/tools/AuthTools.d.ts.map +1 -1
- package/dist/server/tools/AuthTools.js +33 -1
- package/dist/server/tools/BuildInfoTools.d.ts +25 -0
- package/dist/server/tools/BuildInfoTools.d.ts.map +1 -0
- package/dist/server/tools/BuildInfoTools.js +36 -0
- package/dist/server/tools/CollectionTools.d.ts.map +1 -1
- package/dist/server/tools/CollectionTools.js +55 -46
- package/dist/server/tools/ConfigTools.d.ts.map +1 -1
- package/dist/server/tools/ConfigTools.js +29 -1
- package/dist/server/tools/PersonaTools.d.ts +4 -2
- package/dist/server/tools/PersonaTools.d.ts.map +1 -1
- package/dist/server/tools/PersonaTools.js +5 -152
- package/dist/server/tools/PortfolioTools.d.ts +12 -0
- package/dist/server/tools/PortfolioTools.d.ts.map +1 -0
- package/dist/server/tools/PortfolioTools.js +221 -0
- package/dist/server/tools/index.d.ts +3 -1
- package/dist/server/tools/index.d.ts.map +1 -1
- package/dist/server/tools/index.js +4 -2
- package/dist/server/types.d.ts +40 -5
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/types.js +1 -1
- package/dist/services/BuildInfoService.d.ts +84 -0
- package/dist/services/BuildInfoService.d.ts.map +1 -0
- package/dist/services/BuildInfoService.js +271 -0
- package/dist/tools/portfolio/PortfolioElementAdapter.d.ts +54 -0
- package/dist/tools/portfolio/PortfolioElementAdapter.d.ts.map +1 -0
- package/dist/tools/portfolio/PortfolioElementAdapter.js +229 -0
- package/dist/tools/portfolio/submitToPortfolioTool.d.ts +164 -0
- package/dist/tools/portfolio/submitToPortfolioTool.d.ts.map +1 -0
- package/dist/tools/portfolio/submitToPortfolioTool.js +1523 -0
- package/dist/tools/portfolio/types.d.ts +41 -0
- package/dist/tools/portfolio/types.d.ts.map +1 -0
- package/dist/tools/portfolio/types.js +15 -0
- package/dist/types/collection.d.ts +51 -0
- package/dist/types/collection.d.ts.map +1 -1
- package/dist/types/collection.js +1 -1
- package/dist/utils/EarlyTerminationSearch.d.ts +41 -0
- package/dist/utils/EarlyTerminationSearch.d.ts.map +1 -0
- package/dist/utils/EarlyTerminationSearch.js +164 -0
- package/dist/utils/ErrorHandler.d.ts +86 -0
- package/dist/utils/ErrorHandler.d.ts.map +1 -0
- package/dist/utils/ErrorHandler.js +201 -0
- package/dist/utils/FileDiscoveryUtil.d.ts +53 -0
- package/dist/utils/FileDiscoveryUtil.d.ts.map +1 -0
- package/dist/utils/FileDiscoveryUtil.js +169 -0
- package/dist/utils/GitHubRateLimiter.d.ts +88 -0
- package/dist/utils/GitHubRateLimiter.d.ts.map +1 -0
- package/dist/utils/GitHubRateLimiter.js +315 -0
- package/dist/utils/PerformanceMonitor.d.ts +134 -0
- package/dist/utils/PerformanceMonitor.d.ts.map +1 -0
- package/dist/utils/PerformanceMonitor.js +347 -0
- package/dist/utils/RateLimiter.d.ts.map +1 -0
- package/dist/utils/RateLimiter.js +172 -0
- package/dist/utils/SecureDownloader.d.ts +241 -0
- package/dist/utils/SecureDownloader.d.ts.map +1 -0
- package/dist/utils/SecureDownloader.js +759 -0
- package/dist/utils/ToolCache.d.ts +82 -0
- package/dist/utils/ToolCache.d.ts.map +1 -0
- package/dist/utils/ToolCache.js +196 -0
- package/dist/utils/errorCodes.d.ts +136 -0
- package/dist/utils/errorCodes.d.ts.map +1 -0
- package/dist/utils/errorCodes.js +87 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -1
- package/dist/utils/installation.d.ts +1 -1
- package/dist/utils/installation.d.ts.map +1 -1
- package/dist/utils/installation.js +9 -8
- package/dist/utils/searchUtils.d.ts +31 -0
- package/dist/utils/searchUtils.d.ts.map +1 -1
- package/dist/utils/searchUtils.js +62 -1
- package/package.json +17 -7
- package/dist/config/updateConfig.d.ts +0 -84
- package/dist/config/updateConfig.d.ts.map +0 -1
- package/dist/config/updateConfig.js +0 -148
- package/dist/server/tools/UpdateTools.d.ts +0 -10
- package/dist/server/tools/UpdateTools.d.ts.map +0 -1
- package/dist/server/tools/UpdateTools.js +0 -85
- package/dist/update/BackupManager.d.ts +0 -63
- package/dist/update/BackupManager.d.ts.map +0 -1
- package/dist/update/BackupManager.js +0 -370
- package/dist/update/DependencyChecker.d.ts +0 -41
- package/dist/update/DependencyChecker.d.ts.map +0 -1
- package/dist/update/DependencyChecker.js +0 -132
- package/dist/update/RateLimiter.d.ts.map +0 -1
- package/dist/update/RateLimiter.js +0 -172
- package/dist/update/SignatureVerifier.d.ts +0 -71
- package/dist/update/SignatureVerifier.d.ts.map +0 -1
- package/dist/update/SignatureVerifier.js +0 -214
- package/dist/update/UpdateChecker.d.ts +0 -132
- package/dist/update/UpdateChecker.d.ts.map +0 -1
- package/dist/update/UpdateChecker.js +0 -506
- package/dist/update/UpdateManager.d.ts +0 -60
- package/dist/update/UpdateManager.d.ts.map +0 -1
- package/dist/update/UpdateManager.js +0 -730
- package/dist/update/VersionManager.d.ts +0 -31
- package/dist/update/VersionManager.d.ts.map +0 -1
- package/dist/update/VersionManager.js +0 -181
- package/dist/update/index.d.ts +0 -9
- package/dist/update/index.d.ts.map +0 -1
- package/dist/update/index.js +0 -9
- /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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"}
|