@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,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool for submitting content to GitHub portfolio repositories
|
|
3
|
+
* Replaces the broken issue-based submission with direct repository saves
|
|
4
|
+
*
|
|
5
|
+
* FIXES IMPLEMENTED (PR #503):
|
|
6
|
+
* 1. TYPE SAFETY FIX #1 (Issue #497): Changed apiCache from 'any' to proper APICache type
|
|
7
|
+
* 2. TYPE SAFETY FIX #2 (Issue #497): Replaced complex type casting with PortfolioElementAdapter
|
|
8
|
+
* 3. PERFORMANCE (PR #496 recommendation): Using FileDiscoveryUtil for optimized file search
|
|
9
|
+
*/
|
|
10
|
+
import { ElementType } from '../../portfolio/types.js';
|
|
11
|
+
import { APICache } from '../../cache/APICache.js';
|
|
12
|
+
import { PortfolioElementMetadata } from '../../config/portfolio-constants.js';
|
|
13
|
+
export interface SubmitToPortfolioParams {
|
|
14
|
+
name: string;
|
|
15
|
+
type?: ElementType;
|
|
16
|
+
}
|
|
17
|
+
export interface PortfolioElement {
|
|
18
|
+
type: ElementType;
|
|
19
|
+
metadata: PortfolioElementMetadata;
|
|
20
|
+
content: string;
|
|
21
|
+
}
|
|
22
|
+
export interface SubmitToPortfolioResult {
|
|
23
|
+
success: boolean;
|
|
24
|
+
message: string;
|
|
25
|
+
url?: string;
|
|
26
|
+
error?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface ElementDetectionMatch {
|
|
29
|
+
type: ElementType;
|
|
30
|
+
path: string;
|
|
31
|
+
}
|
|
32
|
+
export interface ElementDetectionResult {
|
|
33
|
+
found: boolean;
|
|
34
|
+
matches: ElementDetectionMatch[];
|
|
35
|
+
}
|
|
36
|
+
export declare class SubmitToPortfolioTool {
|
|
37
|
+
private authManager;
|
|
38
|
+
private portfolioManager;
|
|
39
|
+
private contentValidator;
|
|
40
|
+
constructor(apiCache: APICache);
|
|
41
|
+
/**
|
|
42
|
+
* Validates and normalizes input parameters to prevent Unicode attacks and ensure data safety
|
|
43
|
+
* @param params The input parameters from the user
|
|
44
|
+
* @returns Validation result with normalized name or error response
|
|
45
|
+
*/
|
|
46
|
+
private validateAndNormalizeParams;
|
|
47
|
+
/**
|
|
48
|
+
* Checks if the user is authenticated with GitHub
|
|
49
|
+
* @returns Authentication check result with status or error response
|
|
50
|
+
*/
|
|
51
|
+
private checkAuthentication;
|
|
52
|
+
/**
|
|
53
|
+
* Discovers content locally with smart type detection
|
|
54
|
+
* @param safeName The normalized name to search for
|
|
55
|
+
* @param explicitType Optional explicit element type provided by user
|
|
56
|
+
* @param originalName Original user-provided name for error messages
|
|
57
|
+
* @returns Content discovery result with element type and path or error response
|
|
58
|
+
*/
|
|
59
|
+
private discoverContentWithTypeDetection;
|
|
60
|
+
/**
|
|
61
|
+
* Validates file size and content security before processing
|
|
62
|
+
* @param localPath Path to the local file to validate
|
|
63
|
+
* @returns Validation result with content or error response
|
|
64
|
+
*/
|
|
65
|
+
private validateFileAndContent;
|
|
66
|
+
/**
|
|
67
|
+
* Prepares metadata for the portfolio element
|
|
68
|
+
* @param safeName The normalized name of the element
|
|
69
|
+
* @param elementType The type of the element
|
|
70
|
+
* @param authStatus Authentication status containing username
|
|
71
|
+
* @returns Metadata object for the element
|
|
72
|
+
*/
|
|
73
|
+
private prepareElementMetadata;
|
|
74
|
+
/**
|
|
75
|
+
* Validates GitHub token and checks for expiration before usage
|
|
76
|
+
* SECURITY ENHANCEMENT (Task #5): Token expiration validation to prevent stale token usage
|
|
77
|
+
* @param token The GitHub token to validate
|
|
78
|
+
* @returns Validation result with status and expiration info
|
|
79
|
+
*/
|
|
80
|
+
private validateTokenBeforeUsage;
|
|
81
|
+
/**
|
|
82
|
+
* Enhanced path validation for portfolio operations with comprehensive security checks
|
|
83
|
+
* SECURITY ENHANCEMENT (Task #7): Additional validation for special characters and malicious patterns
|
|
84
|
+
* @param filePath The file path to validate
|
|
85
|
+
* @returns Validation result with secure path or error response
|
|
86
|
+
*/
|
|
87
|
+
private validatePortfolioPath;
|
|
88
|
+
/**
|
|
89
|
+
* Smart token management for long operations with refresh-like capabilities
|
|
90
|
+
* SECURITY ENHANCEMENT (Task #14): Token refresh logic for long operations
|
|
91
|
+
*
|
|
92
|
+
* Note: GitHub OAuth device flow tokens don't have traditional refresh tokens,
|
|
93
|
+
* but we can implement smart validation and guidance for long operations
|
|
94
|
+
*
|
|
95
|
+
* @param operationType Type of operation being performed
|
|
96
|
+
* @returns Token management result with recommendations
|
|
97
|
+
*/
|
|
98
|
+
private manageTokenForLongOperation;
|
|
99
|
+
/**
|
|
100
|
+
* Provides user guidance for token refresh when operations fail due to token issues
|
|
101
|
+
* SECURITY ENHANCEMENT (Task #14): User guidance for authentication refresh
|
|
102
|
+
*/
|
|
103
|
+
private formatTokenRefreshGuidance;
|
|
104
|
+
/**
|
|
105
|
+
* Sets up GitHub repository access and ensures portfolio repository exists
|
|
106
|
+
* @param authStatus Authentication status containing username
|
|
107
|
+
* @returns Setup result or error response
|
|
108
|
+
*/
|
|
109
|
+
private setupGitHubRepository;
|
|
110
|
+
/**
|
|
111
|
+
* Submits element to portfolio and handles the complete response workflow
|
|
112
|
+
* @param safeName The normalized name of the element
|
|
113
|
+
* @param elementType The type of the element
|
|
114
|
+
* @param metadata The metadata for the element
|
|
115
|
+
* @param content The content of the element
|
|
116
|
+
* @param authStatus Authentication status containing username and token
|
|
117
|
+
* @returns Complete submission result with success message or error
|
|
118
|
+
*/
|
|
119
|
+
private submitElementAndHandleResponse;
|
|
120
|
+
execute(params: SubmitToPortfolioParams): Promise<SubmitToPortfolioResult>;
|
|
121
|
+
/**
|
|
122
|
+
* Prompts user to submit content to the DollhouseMCP collection
|
|
123
|
+
* ENHANCEMENT (Issue #549): Complete the community contribution workflow
|
|
124
|
+
*/
|
|
125
|
+
private promptForCollectionSubmission;
|
|
126
|
+
/**
|
|
127
|
+
* Creates an issue in the DollhouseMCP/collection repository
|
|
128
|
+
* ENHANCEMENT (Issue #549): GitHub API integration for collection submission
|
|
129
|
+
*/
|
|
130
|
+
private createCollectionIssue;
|
|
131
|
+
private findLocalContent;
|
|
132
|
+
/**
|
|
133
|
+
* Smart element type detection - searches across ALL element types for content
|
|
134
|
+
* PERFORMANCE OPTIMIZATION (Task #9): Uses early termination for exact matches
|
|
135
|
+
* This replaces the previous hardcoded default to PERSONA and enables proper type detection
|
|
136
|
+
*
|
|
137
|
+
* @param name The content name to search for
|
|
138
|
+
* @returns Detection result with found matches across all element types
|
|
139
|
+
*/
|
|
140
|
+
private detectElementType;
|
|
141
|
+
/**
|
|
142
|
+
* UX IMPROVEMENT: Generate name suggestions for similar content
|
|
143
|
+
* PERFORMANCE OPTIMIZATION (Task #8): Enhanced batch operation handling with clear partial failure reporting
|
|
144
|
+
* Helps users find content when exact matches fail
|
|
145
|
+
*/
|
|
146
|
+
private generateNameSuggestions;
|
|
147
|
+
/**
|
|
148
|
+
* Simple similarity calculation using Levenshtein-like approach
|
|
149
|
+
* Returns value between 0 and 1, where 1 is identical
|
|
150
|
+
*/
|
|
151
|
+
private calculateSimilarity;
|
|
152
|
+
/**
|
|
153
|
+
* UX IMPROVEMENT: Save element with automatic retry logic for transient failures
|
|
154
|
+
* Handles common GitHub API issues like rate limits and temporary network problems
|
|
155
|
+
*/
|
|
156
|
+
private saveElementWithRetry;
|
|
157
|
+
/**
|
|
158
|
+
* Determine if an error is worth retrying
|
|
159
|
+
* Retryable: network issues, rate limits, temporary GitHub API problems
|
|
160
|
+
* Non-retryable: authentication issues, validation errors, permanent failures
|
|
161
|
+
*/
|
|
162
|
+
private isRetryableError;
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=submitToPortfolioTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submitToPortfolioTool.d.ts","sourceRoot":"","sources":["../../../src/tools/portfolio/submitToPortfolioTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAKvD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAInD,OAAO,EAKL,wBAAwB,EAGzB,MAAM,qCAAqC,CAAC;AAM7C,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,wBAAwB,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,gBAAgB,CAAmB;gBAE/B,QAAQ,EAAE,QAAQ;IAS9B;;;;OAIG;YACW,0BAA0B;IA8BxC;;;OAGG;YACW,mBAAmB;IA2BjC;;;;;;OAMG;YACW,gCAAgC;IAuH9C;;;;OAIG;YACW,sBAAsB;IA+DpC;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;;;OAKG;YACW,wBAAwB;IAgHtC;;;;;OAKG;YACW,qBAAqB;IA8MnC;;;;;;;;;OASG;YACW,2BAA2B;IA4GzC;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAwBlC;;;;OAIG;YACW,qBAAqB;IA+CnC;;;;;;;;OAQG;YACW,8BAA8B;IAiGtC,OAAO,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA2FhF;;;OAGG;YACW,6BAA6B;IAgD3C;;;OAGG;YACW,qBAAqB;YA+IrB,gBAAgB;IA2G9B;;;;;;;OAOG;YACW,iBAAiB;IAoH/B;;;;OAIG;YACW,uBAAuB;IA8HrC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAwB3B;;;OAGG;YACW,oBAAoB;IAyElC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CAmDzB"}
|