@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,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic caching utility for tool discovery with TTL and memory limits
|
|
3
|
+
*/
|
|
4
|
+
import { Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
5
|
+
export interface CacheEntry<T> {
|
|
6
|
+
value: T;
|
|
7
|
+
timestamp: number;
|
|
8
|
+
hits: number;
|
|
9
|
+
}
|
|
10
|
+
export interface CacheStats {
|
|
11
|
+
hits: number;
|
|
12
|
+
misses: number;
|
|
13
|
+
size: number;
|
|
14
|
+
maxSize: number;
|
|
15
|
+
hitRate: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Generic cache with TTL support and memory limit protection
|
|
19
|
+
*/
|
|
20
|
+
export declare class ToolCache<T = any> {
|
|
21
|
+
private cache;
|
|
22
|
+
private readonly maxEntries;
|
|
23
|
+
private readonly ttlMs;
|
|
24
|
+
private stats;
|
|
25
|
+
constructor(maxEntries?: number, ttlMinutes?: number);
|
|
26
|
+
/**
|
|
27
|
+
* Get cached value if valid, otherwise return undefined
|
|
28
|
+
*/
|
|
29
|
+
get(key: string): T | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Set cached value with automatic memory limit enforcement
|
|
32
|
+
*/
|
|
33
|
+
set(key: string, value: T): void;
|
|
34
|
+
/**
|
|
35
|
+
* Check if key exists and is not expired
|
|
36
|
+
*/
|
|
37
|
+
has(key: string): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Clear specific cache entry
|
|
40
|
+
*/
|
|
41
|
+
delete(key: string): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Clear all cached entries
|
|
44
|
+
*/
|
|
45
|
+
clear(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Get cache statistics
|
|
48
|
+
*/
|
|
49
|
+
getStats(): CacheStats;
|
|
50
|
+
/**
|
|
51
|
+
* Remove oldest entries when cache is full
|
|
52
|
+
*/
|
|
53
|
+
private evictOldest;
|
|
54
|
+
/**
|
|
55
|
+
* Clean up expired entries (can be called periodically)
|
|
56
|
+
*/
|
|
57
|
+
cleanup(): number;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Specialized cache for MCP Tool discovery results
|
|
61
|
+
*/
|
|
62
|
+
export declare class ToolDiscoveryCache extends ToolCache<Tool[]> {
|
|
63
|
+
private static readonly CACHE_KEY;
|
|
64
|
+
constructor();
|
|
65
|
+
/**
|
|
66
|
+
* Get cached tool list
|
|
67
|
+
*/
|
|
68
|
+
getToolList(): Tool[] | undefined;
|
|
69
|
+
/**
|
|
70
|
+
* Cache tool list
|
|
71
|
+
*/
|
|
72
|
+
setToolList(tools: Tool[]): void;
|
|
73
|
+
/**
|
|
74
|
+
* Invalidate cached tool list
|
|
75
|
+
*/
|
|
76
|
+
invalidateToolList(): void;
|
|
77
|
+
/**
|
|
78
|
+
* Log performance metrics
|
|
79
|
+
*/
|
|
80
|
+
logPerformance(): void;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=ToolCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolCache.d.ts","sourceRoot":"","sources":["../../src/utils/ToolCache.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAG1D,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,SAAS,CAAC,CAAC,GAAG,GAAG;IAC5B,OAAO,CAAC,KAAK,CAAyC;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,KAAK,CAGX;gBAEU,UAAU,GAAE,MAAY,EAAE,UAAU,GAAE,MAAU;IAK5D;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAwB/B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAiBhC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAQ5B;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;OAEG;IACH,QAAQ,IAAI,UAAU;IAWtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAoBnB;;OAEG;IACH,OAAO,IAAI,MAAM;CAiBlB;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAyB;;IAO1D;;OAEG;IACH,WAAW,IAAI,IAAI,EAAE,GAAG,SAAS;IAgBjC;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAYhC;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAO1B;;OAEG;IACH,cAAc,IAAI,IAAI;CAUvB"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic caching utility for tool discovery with TTL and memory limits
|
|
3
|
+
*/
|
|
4
|
+
import { logger } from './logger.js';
|
|
5
|
+
/**
|
|
6
|
+
* Generic cache with TTL support and memory limit protection
|
|
7
|
+
*/
|
|
8
|
+
export class ToolCache {
|
|
9
|
+
cache = new Map();
|
|
10
|
+
maxEntries;
|
|
11
|
+
ttlMs;
|
|
12
|
+
stats = {
|
|
13
|
+
hits: 0,
|
|
14
|
+
misses: 0
|
|
15
|
+
};
|
|
16
|
+
constructor(maxEntries = 100, ttlMinutes = 1) {
|
|
17
|
+
this.maxEntries = maxEntries;
|
|
18
|
+
this.ttlMs = ttlMinutes * 60 * 1000; // Convert minutes to milliseconds
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get cached value if valid, otherwise return undefined
|
|
22
|
+
*/
|
|
23
|
+
get(key) {
|
|
24
|
+
const entry = this.cache.get(key);
|
|
25
|
+
if (!entry) {
|
|
26
|
+
this.stats.misses++;
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
// Check if entry has expired
|
|
30
|
+
const now = Date.now();
|
|
31
|
+
if (now - entry.timestamp > this.ttlMs) {
|
|
32
|
+
this.cache.delete(key);
|
|
33
|
+
this.stats.misses++;
|
|
34
|
+
logger.debug('ToolCache: Cache entry expired', { key, age: now - entry.timestamp });
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
// Entry is valid
|
|
38
|
+
entry.hits++;
|
|
39
|
+
this.stats.hits++;
|
|
40
|
+
logger.debug('ToolCache: Cache hit', { key, hits: entry.hits, age: now - entry.timestamp });
|
|
41
|
+
return entry.value;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Set cached value with automatic memory limit enforcement
|
|
45
|
+
*/
|
|
46
|
+
set(key, value) {
|
|
47
|
+
const now = Date.now();
|
|
48
|
+
// Enforce memory limit by removing oldest entries if needed
|
|
49
|
+
while (this.cache.size >= this.maxEntries && !this.cache.has(key)) {
|
|
50
|
+
this.evictOldest();
|
|
51
|
+
}
|
|
52
|
+
this.cache.set(key, {
|
|
53
|
+
value,
|
|
54
|
+
timestamp: now,
|
|
55
|
+
hits: 0
|
|
56
|
+
});
|
|
57
|
+
logger.debug('ToolCache: Cache set', { key, cacheSize: this.cache.size });
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Check if key exists and is not expired
|
|
61
|
+
*/
|
|
62
|
+
has(key) {
|
|
63
|
+
return this.get(key) !== undefined;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Clear specific cache entry
|
|
67
|
+
*/
|
|
68
|
+
delete(key) {
|
|
69
|
+
const deleted = this.cache.delete(key);
|
|
70
|
+
if (deleted) {
|
|
71
|
+
logger.debug('ToolCache: Cache entry deleted', { key });
|
|
72
|
+
}
|
|
73
|
+
return deleted;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Clear all cached entries
|
|
77
|
+
*/
|
|
78
|
+
clear() {
|
|
79
|
+
this.cache.clear();
|
|
80
|
+
this.stats.hits = 0;
|
|
81
|
+
this.stats.misses = 0;
|
|
82
|
+
logger.debug('ToolCache: Cache cleared');
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Get cache statistics
|
|
86
|
+
*/
|
|
87
|
+
getStats() {
|
|
88
|
+
const totalRequests = this.stats.hits + this.stats.misses;
|
|
89
|
+
return {
|
|
90
|
+
hits: this.stats.hits,
|
|
91
|
+
misses: this.stats.misses,
|
|
92
|
+
size: this.cache.size,
|
|
93
|
+
maxSize: this.maxEntries,
|
|
94
|
+
hitRate: totalRequests > 0 ? this.stats.hits / totalRequests : 0
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Remove oldest entries when cache is full
|
|
99
|
+
*/
|
|
100
|
+
evictOldest() {
|
|
101
|
+
if (this.cache.size === 0)
|
|
102
|
+
return;
|
|
103
|
+
// Find the oldest entry (lowest timestamp)
|
|
104
|
+
let oldestKey;
|
|
105
|
+
let oldestTimestamp = Date.now();
|
|
106
|
+
for (const [key, entry] of this.cache.entries()) {
|
|
107
|
+
if (entry.timestamp < oldestTimestamp) {
|
|
108
|
+
oldestTimestamp = entry.timestamp;
|
|
109
|
+
oldestKey = key;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (oldestKey) {
|
|
113
|
+
this.cache.delete(oldestKey);
|
|
114
|
+
logger.debug('ToolCache: Evicted oldest entry', { key: oldestKey, age: Date.now() - oldestTimestamp });
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Clean up expired entries (can be called periodically)
|
|
119
|
+
*/
|
|
120
|
+
cleanup() {
|
|
121
|
+
const now = Date.now();
|
|
122
|
+
let cleaned = 0;
|
|
123
|
+
for (const [key, entry] of this.cache.entries()) {
|
|
124
|
+
if (now - entry.timestamp > this.ttlMs) {
|
|
125
|
+
this.cache.delete(key);
|
|
126
|
+
cleaned++;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
if (cleaned > 0) {
|
|
130
|
+
logger.debug('ToolCache: Cleaned up expired entries', { cleaned, remaining: this.cache.size });
|
|
131
|
+
}
|
|
132
|
+
return cleaned;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Specialized cache for MCP Tool discovery results
|
|
137
|
+
*/
|
|
138
|
+
export class ToolDiscoveryCache extends ToolCache {
|
|
139
|
+
static CACHE_KEY = 'tool_discovery_list';
|
|
140
|
+
constructor() {
|
|
141
|
+
// 1-minute TTL, max 100 entries (though we'll likely only use 1 key)
|
|
142
|
+
super(100, 1);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Get cached tool list
|
|
146
|
+
*/
|
|
147
|
+
getToolList() {
|
|
148
|
+
const startTime = Date.now();
|
|
149
|
+
const result = this.get(ToolDiscoveryCache.CACHE_KEY);
|
|
150
|
+
const duration = Date.now() - startTime;
|
|
151
|
+
if (result) {
|
|
152
|
+
logger.info('ToolDiscoveryCache: Retrieved cached tool list', {
|
|
153
|
+
toolCount: result.length,
|
|
154
|
+
duration: `${duration}ms`,
|
|
155
|
+
stats: this.getStats()
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
return result;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Cache tool list
|
|
162
|
+
*/
|
|
163
|
+
setToolList(tools) {
|
|
164
|
+
const startTime = Date.now();
|
|
165
|
+
this.set(ToolDiscoveryCache.CACHE_KEY, tools);
|
|
166
|
+
const duration = Date.now() - startTime;
|
|
167
|
+
logger.info('ToolDiscoveryCache: Cached tool list', {
|
|
168
|
+
toolCount: tools.length,
|
|
169
|
+
duration: `${duration}ms`,
|
|
170
|
+
stats: this.getStats()
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Invalidate cached tool list
|
|
175
|
+
*/
|
|
176
|
+
invalidateToolList() {
|
|
177
|
+
const deleted = this.delete(ToolDiscoveryCache.CACHE_KEY);
|
|
178
|
+
if (deleted) {
|
|
179
|
+
logger.info('ToolDiscoveryCache: Invalidated cached tool list');
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Log performance metrics
|
|
184
|
+
*/
|
|
185
|
+
logPerformance() {
|
|
186
|
+
const stats = this.getStats();
|
|
187
|
+
logger.info('ToolDiscoveryCache: Performance metrics', {
|
|
188
|
+
hitRate: `${(stats.hitRate * 100).toFixed(1)}%`,
|
|
189
|
+
hits: stats.hits,
|
|
190
|
+
misses: stats.misses,
|
|
191
|
+
cacheSize: stats.size,
|
|
192
|
+
efficiency: stats.hits > 0 ? 'GOOD' : 'NEEDS_WARMUP'
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9vbENhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL1Rvb2xDYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUdILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFnQnJDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7SUFDWixLQUFLLEdBQStCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDckMsVUFBVSxDQUFTO0lBQ25CLEtBQUssQ0FBUztJQUN2QixLQUFLLEdBQUc7UUFDZCxJQUFJLEVBQUUsQ0FBQztRQUNQLE1BQU0sRUFBRSxDQUFDO0tBQ1YsQ0FBQztJQUVGLFlBQVksYUFBcUIsR0FBRyxFQUFFLGFBQXFCLENBQUM7UUFDMUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLGtDQUFrQztJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsR0FBVztRQUNiLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWxDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELDZCQUE2QjtRQUM3QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FB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S0FBSyxDQUFDLENBQUM7UUFDOUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FBQztRQUV4QyxNQUFNLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxFQUFFO1lBQ2xELFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTTtZQUN2QixRQUFRLEVBQUUsR0FBRyxRQUFRLElBQUk7WUFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCO1FBQ2hCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0RBQWtELENBQUMsQ0FBQztRQUNsRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYztRQUNaLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxFQUFFO1lBQ3JELE9BQU8sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUc7WUFDL0MsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDckIsVUFBVSxFQUFFLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGNBQWM7U0FDckQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJpYyBjYWNoaW5nIHV0aWxpdHkgZm9yIHRvb2wgZGlzY292ZXJ5IHdpdGggVFRMIGFuZCBtZW1vcnkgbGltaXRzXG4gKi9cblxuaW1wb3J0IHsgVG9vbCB9IGZyb20gXCJAbW9kZWxjb250ZXh0cHJvdG9jb2wvc2RrL3R5cGVzLmpzXCI7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuL2xvZ2dlci5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FjaGVFbnRyeTxUPiB7XG4gIHZhbHVlOiBUO1xuICB0aW1lc3RhbXA6IG51bWJlcjtcbiAgaGl0czogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhY2hlU3RhdHMge1xuICBoaXRzOiBudW1iZXI7XG4gIG1pc3NlczogbnVtYmVyO1xuICBzaXplOiBudW1iZXI7XG4gIG1heFNpemU6IG51bWJlcjtcbiAgaGl0UmF0ZTogbnVtYmVyO1xufVxuXG4vKipcbiAqIEdlbmVyaWMgY2FjaGUgd2l0aCBUVEwgc3VwcG9ydCBhbmQgbWVtb3J5IGxpbWl0IHByb3RlY3Rpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFRvb2xDYWNoZTxUID0gYW55PiB7XG4gIHByaXZhdGUgY2FjaGU6IE1hcDxzdHJpbmcsIENhY2hlRW50cnk8VD4+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IG1heEVudHJpZXM6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSB0dGxNczogbnVtYmVyO1xuICBwcml2YXRlIHN0YXRzID0ge1xuICAgIGhpdHM6IDAsXG4gICAgbWlzc2VzOiAwXG4gIH07XG5cbiAgY29uc3RydWN0b3IobWF4RW50cmllczogbnVtYmVyID0gMTAwLCB0dGxNaW51dGVzOiBudW1iZXIgPSAxKSB7XG4gICAgdGhpcy5tYXhFbnRyaWVzID0gbWF4RW50cmllcztcbiAgICB0aGlzLnR0bE1zID0gdHRsTWludXRlcyAqIDYwICogMTAwMDsgLy8gQ29udmVydCBtaW51dGVzIHRvIG1pbGxpc2Vjb25kc1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjYWNoZWQgdmFsdWUgaWYgdmFsaWQsIG90aGVyd2lzZSByZXR1cm4gdW5kZWZpbmVkXG4gICAqL1xuICBnZXQoa2V5OiBzdHJpbmcpOiBUIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuY2FjaGUuZ2V0KGtleSk7XG4gICAgXG4gICAgaWYgKCFlbnRyeSkge1xuICAgICAgdGhpcy5zdGF0cy5taXNzZXMrKztcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgaWYgZW50cnkgaGFzIGV4cGlyZWRcbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgIGlmIChub3cgLSBlbnRyeS50aW1lc3RhbXAgPiB0aGlzLnR0bE1zKSB7XG4gICAgICB0aGlzLmNhY2hlLmRlbGV0ZShrZXkpO1xuICAgICAgdGhpcy5zdGF0cy5taXNzZXMrKztcbiAgICAgIGxvZ2dlci5kZWJ1ZygnVG9vbENhY2hlOiBDYWNoZSBlbnRyeSBleHBpcmVkJywgeyBrZXksIGFnZTogbm93IC0gZW50cnkudGltZXN0YW1wIH0pO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyBFbnRyeSBpcyB2YWxpZFxuICAgIGVudHJ5LmhpdHMrKztcbiAgICB0aGlzLnN0YXRzLmhpdHMrKztcbiAgICBsb2dnZXIuZGVidWcoJ1Rvb2xDYWNoZTogQ2FjaGUgaGl0JywgeyBrZXksIGhpdHM6IGVudHJ5LmhpdHMsIGFnZTogbm93IC0gZW50cnkudGltZXN0YW1wIH0pO1xuICAgIHJldHVybiBlbnRyeS52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgY2FjaGVkIHZhbHVlIHdpdGggYXV0b21hdGljIG1lbW9yeSBsaW1pdCBlbmZvcmNlbWVudFxuICAgKi9cbiAgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogVCk6IHZvaWQge1xuICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgXG4gICAgLy8gRW5mb3JjZSBtZW1vcnkgbGltaXQgYnkgcmVtb3Zpbmcgb2xkZXN0IGVudHJpZXMgaWYgbmVlZGVkXG4gICAgd2hpbGUgKHRoaXMuY2FjaGUuc2l6ZSA+PSB0aGlzLm1heEVudHJpZXMgJiYgIXRoaXMuY2FjaGUuaGFzKGtleSkpIHtcbiAgICAgIHRoaXMuZXZpY3RPbGRlc3QoKTtcbiAgICB9XG5cbiAgICB0aGlzLmNhY2hlLnNldChrZXksIHtcbiAgICAgIHZhbHVlLFxuICAgICAgdGltZXN0YW1wOiBub3csXG4gICAgICBoaXRzOiAwXG4gICAgfSk7XG5cbiAgICBsb2dnZXIuZGVidWcoJ1Rvb2xDYWNoZTogQ2FjaGUgc2V0JywgeyBrZXksIGNhY2hlU2l6ZTogdGhpcy5jYWNoZS5zaXplIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGtleSBleGlzdHMgYW5kIGlzIG5vdCBleHBpcmVkXG4gICAqL1xuICBoYXMoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoa2V5KSAhPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIHNwZWNpZmljIGNhY2hlIGVudHJ5XG4gICAqL1xuICBkZWxldGUoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBkZWxldGVkID0gdGhpcy5jYWNoZS5kZWxldGUoa2V5KTtcbiAgICBpZiAoZGVsZXRlZCkge1xuICAgICAgbG9nZ2VyLmRlYnVnKCdUb29sQ2FjaGU6IENhY2hlIGVudHJ5IGRlbGV0ZWQnLCB7IGtleSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGRlbGV0ZWQ7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgYWxsIGNhY2hlZCBlbnRyaWVzXG4gICAqL1xuICBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmNhY2hlLmNsZWFyKCk7XG4gICAgdGhpcy5zdGF0cy5oaXRzID0gMDtcbiAgICB0aGlzLnN0YXRzLm1pc3NlcyA9IDA7XG4gICAgbG9nZ2VyLmRlYnVnKCdUb29sQ2FjaGU6IENhY2hlIGNsZWFyZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY2FjaGUgc3RhdGlzdGljc1xuICAgKi9cbiAgZ2V0U3RhdHMoKTogQ2FjaGVTdGF0cyB7XG4gICAgY29uc3QgdG90YWxSZXF1ZXN0cyA9IHRoaXMuc3RhdHMuaGl0cyArIHRoaXMuc3RhdHMubWlzc2VzO1xuICAgIHJldHVybiB7XG4gICAgICBoaXRzOiB0aGlzLnN0YXRzLmhpdHMsXG4gICAgICBtaXNzZXM6IHRoaXMuc3RhdHMubWlzc2VzLFxuICAgICAgc2l6ZTogdGhpcy5jYWNoZS5zaXplLFxuICAgICAgbWF4U2l6ZTogdGhpcy5tYXhFbnRyaWVzLFxuICAgICAgaGl0UmF0ZTogdG90YWxSZXF1ZXN0cyA+IDAgPyB0aGlzLnN0YXRzLmhpdHMgLyB0b3RhbFJlcXVlc3RzIDogMFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIG9sZGVzdCBlbnRyaWVzIHdoZW4gY2FjaGUgaXMgZnVsbFxuICAgKi9cbiAgcHJpdmF0ZSBldmljdE9sZGVzdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYWNoZS5zaXplID09PSAwKSByZXR1cm47XG5cbiAgICAvLyBGaW5kIHRoZSBvbGRlc3QgZW50cnkgKGxvd2VzdCB0aW1lc3RhbXApXG4gICAgbGV0IG9sZGVzdEtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGxldCBvbGRlc3RUaW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuXG4gICAgZm9yIChjb25zdCBba2V5LCBlbnRyeV0gb2YgdGhpcy5jYWNoZS5lbnRyaWVzKCkpIHtcbiAgICAgIGlmIChlbnRyeS50aW1lc3RhbXAgPCBvbGRlc3RUaW1lc3RhbXApIHtcbiAgICAgICAgb2xkZXN0VGltZXN0YW1wID0gZW50cnkudGltZXN0YW1wO1xuICAgICAgICBvbGRlc3RLZXkgPSBrZXk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG9sZGVzdEtleSkge1xuICAgICAgdGhpcy5jYWNoZS5kZWxldGUob2xkZXN0S2V5KTtcbiAgICAgIGxvZ2dlci5kZWJ1ZygnVG9vbENhY2hlOiBFdmljdGVkIG9sZGVzdCBlbnRyeScsIHsga2V5OiBvbGRlc3RLZXksIGFnZTogRGF0ZS5ub3coKSAtIG9sZGVzdFRpbWVzdGFtcCB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xlYW4gdXAgZXhwaXJlZCBlbnRyaWVzIChjYW4gYmUgY2FsbGVkIHBlcmlvZGljYWxseSlcbiAgICovXG4gIGNsZWFudXAoKTogbnVtYmVyIHtcbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgIGxldCBjbGVhbmVkID0gMDtcblxuICAgIGZvciAoY29uc3QgW2tleSwgZW50cnldIG9mIHRoaXMuY2FjaGUuZW50cmllcygpKSB7XG4gICAgICBpZiAobm93IC0gZW50cnkudGltZXN0YW1wID4gdGhpcy50dGxNcykge1xuICAgICAgICB0aGlzLmNhY2hlLmRlbGV0ZShrZXkpO1xuICAgICAgICBjbGVhbmVkKys7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNsZWFuZWQgPiAwKSB7XG4gICAgICBsb2dnZXIuZGVidWcoJ1Rvb2xDYWNoZTogQ2xlYW5lZCB1cCBleHBpcmVkIGVudHJpZXMnLCB7IGNsZWFuZWQsIHJlbWFpbmluZzogdGhpcy5jYWNoZS5zaXplIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBjbGVhbmVkO1xuICB9XG59XG5cbi8qKlxuICogU3BlY2lhbGl6ZWQgY2FjaGUgZm9yIE1DUCBUb29sIGRpc2NvdmVyeSByZXN1bHRzXG4gKi9cbmV4cG9ydCBjbGFzcyBUb29sRGlzY292ZXJ5Q2FjaGUgZXh0ZW5kcyBUb29sQ2FjaGU8VG9vbFtdPiB7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENBQ0hFX0tFWSA9ICd0b29sX2Rpc2NvdmVyeV9saXN0JztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyAxLW1pbnV0ZSBUVEwsIG1heCAxMDAgZW50cmllcyAodGhvdWdoIHdlJ2xsIGxpa2VseSBvbmx5IHVzZSAxIGtleSlcbiAgICBzdXBlcigxMDAsIDEpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjYWNoZWQgdG9vbCBsaXN0XG4gICAqL1xuICBnZXRUb29sTGlzdCgpOiBUb29sW10gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHN0YXJ0VGltZSA9IERhdGUubm93KCk7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5nZXQoVG9vbERpc2NvdmVyeUNhY2hlLkNBQ0hFX0tFWSk7XG4gICAgY29uc3QgZHVyYXRpb24gPSBEYXRlLm5vdygpIC0gc3RhcnRUaW1lO1xuICAgIFxuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIGxvZ2dlci5pbmZvKCdUb29sRGlzY292ZXJ5Q2FjaGU6IFJldHJpZXZlZCBjYWNoZWQgdG9vbCBsaXN0JywgeyBcbiAgICAgICAgdG9vbENvdW50OiByZXN1bHQubGVuZ3RoLCBcbiAgICAgICAgZHVyYXRpb246IGAke2R1cmF0aW9ufW1zYCxcbiAgICAgICAgc3RhdHM6IHRoaXMuZ2V0U3RhdHMoKVxuICAgICAgfSk7XG4gICAgfVxuICAgIFxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQ2FjaGUgdG9vbCBsaXN0XG4gICAqL1xuICBzZXRUb29sTGlzdCh0b29sczogVG9vbFtdKTogdm9pZCB7XG4gICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICB0aGlzLnNldChUb29sRGlzY292ZXJ5Q2FjaGUuQ0FDSEVfS0VZLCB0b29scyk7XG4gICAgY29uc3QgZHVyYXRpb24gPSBEYXRlLm5vdygpIC0gc3RhcnRUaW1lO1xuICAgIFxuICAgIGxvZ2dlci5pbmZvKCdUb29sRGlzY292ZXJ5Q2FjaGU6IENhY2hlZCB0b29sIGxpc3QnLCB7IFxuICAgICAgdG9vbENvdW50OiB0b29scy5sZW5ndGgsIFxuICAgICAgZHVyYXRpb246IGAke2R1cmF0aW9ufW1zYCxcbiAgICAgIHN0YXRzOiB0aGlzLmdldFN0YXRzKClcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnZhbGlkYXRlIGNhY2hlZCB0b29sIGxpc3RcbiAgICovXG4gIGludmFsaWRhdGVUb29sTGlzdCgpOiB2b2lkIHtcbiAgICBjb25zdCBkZWxldGVkID0gdGhpcy5kZWxldGUoVG9vbERpc2NvdmVyeUNhY2hlLkNBQ0hFX0tFWSk7XG4gICAgaWYgKGRlbGV0ZWQpIHtcbiAgICAgIGxvZ2dlci5pbmZvKCdUb29sRGlzY292ZXJ5Q2FjaGU6IEludmFsaWRhdGVkIGNhY2hlZCB0b29sIGxpc3QnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTG9nIHBlcmZvcm1hbmNlIG1ldHJpY3NcbiAgICovXG4gIGxvZ1BlcmZvcm1hbmNlKCk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXRzID0gdGhpcy5nZXRTdGF0cygpO1xuICAgIGxvZ2dlci5pbmZvKCdUb29sRGlzY292ZXJ5Q2FjaGU6IFBlcmZvcm1hbmNlIG1ldHJpY3MnLCB7XG4gICAgICBoaXRSYXRlOiBgJHsoc3RhdHMuaGl0UmF0ZSAqIDEwMCkudG9GaXhlZCgxKX0lYCxcbiAgICAgIGhpdHM6IHN0YXRzLmhpdHMsXG4gICAgICBtaXNzZXM6IHN0YXRzLm1pc3NlcyxcbiAgICAgIGNhY2hlU2l6ZTogc3RhdHMuc2l6ZSxcbiAgICAgIGVmZmljaWVuY3k6IHN0YXRzLmhpdHMgPiAwID8gJ0dPT0QnIDogJ05FRURTX1dBUk1VUCdcbiAgICB9KTtcbiAgfVxufSJdfQ==
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized error codes for consistent error handling across the application.
|
|
3
|
+
* Error codes follow the pattern: CATEGORY_SPECIFIC_ERROR
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Validation error codes - Input validation failures
|
|
7
|
+
*/
|
|
8
|
+
export declare const ValidationErrorCodes: {
|
|
9
|
+
readonly INVALID_INPUT: "VALIDATION_INVALID_INPUT";
|
|
10
|
+
readonly REQUIRED_FIELD: "VALIDATION_REQUIRED_FIELD";
|
|
11
|
+
readonly INVALID_FORMAT: "VALIDATION_INVALID_FORMAT";
|
|
12
|
+
readonly INVALID_LENGTH: "VALIDATION_INVALID_LENGTH";
|
|
13
|
+
readonly INVALID_RANGE: "VALIDATION_INVALID_RANGE";
|
|
14
|
+
readonly INVALID_TYPE: "VALIDATION_INVALID_TYPE";
|
|
15
|
+
readonly INVALID_PERSONA_ID: "VALIDATION_INVALID_PERSONA_ID";
|
|
16
|
+
readonly INVALID_SEARCH_QUERY: "VALIDATION_INVALID_SEARCH_QUERY";
|
|
17
|
+
readonly INVALID_COLLECTION_PATH: "VALIDATION_INVALID_COLLECTION_PATH";
|
|
18
|
+
readonly INVALID_URL: "VALIDATION_INVALID_URL";
|
|
19
|
+
readonly INVALID_FILENAME: "VALIDATION_INVALID_FILENAME";
|
|
20
|
+
readonly INVALID_PATH: "VALIDATION_INVALID_PATH";
|
|
21
|
+
readonly PATH_TRAVERSAL: "VALIDATION_PATH_TRAVERSAL";
|
|
22
|
+
readonly INVALID_CHARACTER: "VALIDATION_INVALID_CHARACTER";
|
|
23
|
+
readonly CONFIRMATION_REQUIRED: "VALIDATION_CONFIRMATION_REQUIRED";
|
|
24
|
+
readonly INVALID_CATEGORY: "VALIDATION_INVALID_CATEGORY";
|
|
25
|
+
readonly CONTENT_TOO_LARGE: "VALIDATION_CONTENT_TOO_LARGE";
|
|
26
|
+
readonly TEMPLATE_TOO_LARGE: "VALIDATION_TEMPLATE_TOO_LARGE";
|
|
27
|
+
readonly TOO_MANY_VARIABLES: "VALIDATION_TOO_MANY_VARIABLES";
|
|
28
|
+
readonly INVALID_INCLUDE_PATH: "VALIDATION_INVALID_INCLUDE_PATH";
|
|
29
|
+
readonly MAX_INCLUDE_DEPTH: "VALIDATION_MAX_INCLUDE_DEPTH";
|
|
30
|
+
readonly REQUIRED_VARIABLE: "VALIDATION_REQUIRED_VARIABLE";
|
|
31
|
+
readonly DANGEROUS_PATTERN: "VALIDATION_DANGEROUS_PATTERN";
|
|
32
|
+
readonly PATTERN_TOO_COMPLEX: "VALIDATION_PATTERN_TOO_COMPLEX";
|
|
33
|
+
readonly PATTERN_MISMATCH: "VALIDATION_PATTERN_MISMATCH";
|
|
34
|
+
readonly INVALID_PATTERN: "VALIDATION_INVALID_PATTERN";
|
|
35
|
+
readonly INVALID_OPTIONS: "VALIDATION_INVALID_OPTIONS";
|
|
36
|
+
readonly INVALID_NUMBER: "VALIDATION_INVALID_NUMBER";
|
|
37
|
+
readonly INVALID_DATE: "VALIDATION_INVALID_DATE";
|
|
38
|
+
readonly INVALID_ARRAY: "VALIDATION_INVALID_ARRAY";
|
|
39
|
+
readonly INVALID_OBJECT: "VALIDATION_INVALID_OBJECT";
|
|
40
|
+
readonly INVALID_FRAMEWORK: "VALIDATION_INVALID_FRAMEWORK";
|
|
41
|
+
readonly INVALID_RISK_TOLERANCE: "VALIDATION_INVALID_RISK_TOLERANCE";
|
|
42
|
+
readonly MAX_GOALS_EXCEEDED: "VALIDATION_MAX_GOALS_EXCEEDED";
|
|
43
|
+
readonly GOAL_TOO_SHORT: "VALIDATION_GOAL_TOO_SHORT";
|
|
44
|
+
readonly HARMFUL_CONTENT: "VALIDATION_HARMFUL_CONTENT";
|
|
45
|
+
readonly DEPENDENCY_CYCLE: "VALIDATION_DEPENDENCY_CYCLE";
|
|
46
|
+
readonly GOAL_NOT_FOUND: "VALIDATION_GOAL_NOT_FOUND";
|
|
47
|
+
readonly INVALID_GOAL_STATUS: "VALIDATION_INVALID_GOAL_STATUS";
|
|
48
|
+
readonly CONTEXT_TOO_LARGE: "VALIDATION_CONTEXT_TOO_LARGE";
|
|
49
|
+
readonly STATE_TOO_LARGE: "VALIDATION_STATE_TOO_LARGE";
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Network error codes - API and network failures
|
|
53
|
+
*/
|
|
54
|
+
export declare const NetworkErrorCodes: {
|
|
55
|
+
readonly REQUEST_FAILED: "NETWORK_REQUEST_FAILED";
|
|
56
|
+
readonly INVALID_RESPONSE: "NETWORK_INVALID_RESPONSE";
|
|
57
|
+
readonly RESPONSE_TOO_LARGE: "NETWORK_RESPONSE_TOO_LARGE";
|
|
58
|
+
readonly API_ERROR: "NETWORK_API_ERROR";
|
|
59
|
+
readonly RATE_LIMIT_EXCEEDED: "NETWORK_RATE_LIMIT_EXCEEDED";
|
|
60
|
+
readonly FETCH_FAILED: "NETWORK_FETCH_FAILED";
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* System error codes - Internal system failures
|
|
64
|
+
*/
|
|
65
|
+
export declare const SystemErrorCodes: {
|
|
66
|
+
readonly LOAD_FAILED: "SYSTEM_LOAD_FAILED";
|
|
67
|
+
readonly SAVE_FAILED: "SYSTEM_SAVE_FAILED";
|
|
68
|
+
readonly DELETE_FAILED: "SYSTEM_DELETE_FAILED";
|
|
69
|
+
readonly IMPORT_FAILED: "SYSTEM_IMPORT_FAILED";
|
|
70
|
+
readonly EXPORT_FAILED: "SYSTEM_EXPORT_FAILED";
|
|
71
|
+
readonly DESERIALIZATION_FAILED: "SYSTEM_DESERIALIZATION_FAILED";
|
|
72
|
+
readonly UNKNOWN_FRAMEWORK: "SYSTEM_UNKNOWN_FRAMEWORK";
|
|
73
|
+
readonly UNSUPPORTED_FORMAT: "SYSTEM_UNSUPPORTED_FORMAT";
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* All error codes combined for easy access
|
|
77
|
+
*/
|
|
78
|
+
export declare const ErrorCodes: {
|
|
79
|
+
readonly LOAD_FAILED: "SYSTEM_LOAD_FAILED";
|
|
80
|
+
readonly SAVE_FAILED: "SYSTEM_SAVE_FAILED";
|
|
81
|
+
readonly DELETE_FAILED: "SYSTEM_DELETE_FAILED";
|
|
82
|
+
readonly IMPORT_FAILED: "SYSTEM_IMPORT_FAILED";
|
|
83
|
+
readonly EXPORT_FAILED: "SYSTEM_EXPORT_FAILED";
|
|
84
|
+
readonly DESERIALIZATION_FAILED: "SYSTEM_DESERIALIZATION_FAILED";
|
|
85
|
+
readonly UNKNOWN_FRAMEWORK: "SYSTEM_UNKNOWN_FRAMEWORK";
|
|
86
|
+
readonly UNSUPPORTED_FORMAT: "SYSTEM_UNSUPPORTED_FORMAT";
|
|
87
|
+
readonly REQUEST_FAILED: "NETWORK_REQUEST_FAILED";
|
|
88
|
+
readonly INVALID_RESPONSE: "NETWORK_INVALID_RESPONSE";
|
|
89
|
+
readonly RESPONSE_TOO_LARGE: "NETWORK_RESPONSE_TOO_LARGE";
|
|
90
|
+
readonly API_ERROR: "NETWORK_API_ERROR";
|
|
91
|
+
readonly RATE_LIMIT_EXCEEDED: "NETWORK_RATE_LIMIT_EXCEEDED";
|
|
92
|
+
readonly FETCH_FAILED: "NETWORK_FETCH_FAILED";
|
|
93
|
+
readonly INVALID_INPUT: "VALIDATION_INVALID_INPUT";
|
|
94
|
+
readonly REQUIRED_FIELD: "VALIDATION_REQUIRED_FIELD";
|
|
95
|
+
readonly INVALID_FORMAT: "VALIDATION_INVALID_FORMAT";
|
|
96
|
+
readonly INVALID_LENGTH: "VALIDATION_INVALID_LENGTH";
|
|
97
|
+
readonly INVALID_RANGE: "VALIDATION_INVALID_RANGE";
|
|
98
|
+
readonly INVALID_TYPE: "VALIDATION_INVALID_TYPE";
|
|
99
|
+
readonly INVALID_PERSONA_ID: "VALIDATION_INVALID_PERSONA_ID";
|
|
100
|
+
readonly INVALID_SEARCH_QUERY: "VALIDATION_INVALID_SEARCH_QUERY";
|
|
101
|
+
readonly INVALID_COLLECTION_PATH: "VALIDATION_INVALID_COLLECTION_PATH";
|
|
102
|
+
readonly INVALID_URL: "VALIDATION_INVALID_URL";
|
|
103
|
+
readonly INVALID_FILENAME: "VALIDATION_INVALID_FILENAME";
|
|
104
|
+
readonly INVALID_PATH: "VALIDATION_INVALID_PATH";
|
|
105
|
+
readonly PATH_TRAVERSAL: "VALIDATION_PATH_TRAVERSAL";
|
|
106
|
+
readonly INVALID_CHARACTER: "VALIDATION_INVALID_CHARACTER";
|
|
107
|
+
readonly CONFIRMATION_REQUIRED: "VALIDATION_CONFIRMATION_REQUIRED";
|
|
108
|
+
readonly INVALID_CATEGORY: "VALIDATION_INVALID_CATEGORY";
|
|
109
|
+
readonly CONTENT_TOO_LARGE: "VALIDATION_CONTENT_TOO_LARGE";
|
|
110
|
+
readonly TEMPLATE_TOO_LARGE: "VALIDATION_TEMPLATE_TOO_LARGE";
|
|
111
|
+
readonly TOO_MANY_VARIABLES: "VALIDATION_TOO_MANY_VARIABLES";
|
|
112
|
+
readonly INVALID_INCLUDE_PATH: "VALIDATION_INVALID_INCLUDE_PATH";
|
|
113
|
+
readonly MAX_INCLUDE_DEPTH: "VALIDATION_MAX_INCLUDE_DEPTH";
|
|
114
|
+
readonly REQUIRED_VARIABLE: "VALIDATION_REQUIRED_VARIABLE";
|
|
115
|
+
readonly DANGEROUS_PATTERN: "VALIDATION_DANGEROUS_PATTERN";
|
|
116
|
+
readonly PATTERN_TOO_COMPLEX: "VALIDATION_PATTERN_TOO_COMPLEX";
|
|
117
|
+
readonly PATTERN_MISMATCH: "VALIDATION_PATTERN_MISMATCH";
|
|
118
|
+
readonly INVALID_PATTERN: "VALIDATION_INVALID_PATTERN";
|
|
119
|
+
readonly INVALID_OPTIONS: "VALIDATION_INVALID_OPTIONS";
|
|
120
|
+
readonly INVALID_NUMBER: "VALIDATION_INVALID_NUMBER";
|
|
121
|
+
readonly INVALID_DATE: "VALIDATION_INVALID_DATE";
|
|
122
|
+
readonly INVALID_ARRAY: "VALIDATION_INVALID_ARRAY";
|
|
123
|
+
readonly INVALID_OBJECT: "VALIDATION_INVALID_OBJECT";
|
|
124
|
+
readonly INVALID_FRAMEWORK: "VALIDATION_INVALID_FRAMEWORK";
|
|
125
|
+
readonly INVALID_RISK_TOLERANCE: "VALIDATION_INVALID_RISK_TOLERANCE";
|
|
126
|
+
readonly MAX_GOALS_EXCEEDED: "VALIDATION_MAX_GOALS_EXCEEDED";
|
|
127
|
+
readonly GOAL_TOO_SHORT: "VALIDATION_GOAL_TOO_SHORT";
|
|
128
|
+
readonly HARMFUL_CONTENT: "VALIDATION_HARMFUL_CONTENT";
|
|
129
|
+
readonly DEPENDENCY_CYCLE: "VALIDATION_DEPENDENCY_CYCLE";
|
|
130
|
+
readonly GOAL_NOT_FOUND: "VALIDATION_GOAL_NOT_FOUND";
|
|
131
|
+
readonly INVALID_GOAL_STATUS: "VALIDATION_INVALID_GOAL_STATUS";
|
|
132
|
+
readonly CONTEXT_TOO_LARGE: "VALIDATION_CONTEXT_TOO_LARGE";
|
|
133
|
+
readonly STATE_TOO_LARGE: "VALIDATION_STATE_TOO_LARGE";
|
|
134
|
+
};
|
|
135
|
+
export type ErrorCode = typeof ErrorCodes[keyof typeof ErrorCodes];
|
|
136
|
+
//# sourceMappingURL=errorCodes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorCodes.d.ts","sourceRoot":"","sources":["../../src/utils/errorCodes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDvB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;CAOpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;CASnB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIb,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized error codes for consistent error handling across the application.
|
|
3
|
+
* Error codes follow the pattern: CATEGORY_SPECIFIC_ERROR
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Validation error codes - Input validation failures
|
|
7
|
+
*/
|
|
8
|
+
export const ValidationErrorCodes = {
|
|
9
|
+
// General validation
|
|
10
|
+
INVALID_INPUT: 'VALIDATION_INVALID_INPUT',
|
|
11
|
+
REQUIRED_FIELD: 'VALIDATION_REQUIRED_FIELD',
|
|
12
|
+
INVALID_FORMAT: 'VALIDATION_INVALID_FORMAT',
|
|
13
|
+
INVALID_LENGTH: 'VALIDATION_INVALID_LENGTH',
|
|
14
|
+
INVALID_RANGE: 'VALIDATION_INVALID_RANGE',
|
|
15
|
+
INVALID_TYPE: 'VALIDATION_INVALID_TYPE',
|
|
16
|
+
// Specific validation
|
|
17
|
+
INVALID_PERSONA_ID: 'VALIDATION_INVALID_PERSONA_ID',
|
|
18
|
+
INVALID_SEARCH_QUERY: 'VALIDATION_INVALID_SEARCH_QUERY',
|
|
19
|
+
INVALID_COLLECTION_PATH: 'VALIDATION_INVALID_COLLECTION_PATH',
|
|
20
|
+
INVALID_URL: 'VALIDATION_INVALID_URL',
|
|
21
|
+
INVALID_FILENAME: 'VALIDATION_INVALID_FILENAME',
|
|
22
|
+
INVALID_PATH: 'VALIDATION_INVALID_PATH',
|
|
23
|
+
PATH_TRAVERSAL: 'VALIDATION_PATH_TRAVERSAL',
|
|
24
|
+
INVALID_CHARACTER: 'VALIDATION_INVALID_CHARACTER',
|
|
25
|
+
CONFIRMATION_REQUIRED: 'VALIDATION_CONFIRMATION_REQUIRED',
|
|
26
|
+
INVALID_CATEGORY: 'VALIDATION_INVALID_CATEGORY',
|
|
27
|
+
CONTENT_TOO_LARGE: 'VALIDATION_CONTENT_TOO_LARGE',
|
|
28
|
+
// Template validation
|
|
29
|
+
TEMPLATE_TOO_LARGE: 'VALIDATION_TEMPLATE_TOO_LARGE',
|
|
30
|
+
TOO_MANY_VARIABLES: 'VALIDATION_TOO_MANY_VARIABLES',
|
|
31
|
+
INVALID_INCLUDE_PATH: 'VALIDATION_INVALID_INCLUDE_PATH',
|
|
32
|
+
MAX_INCLUDE_DEPTH: 'VALIDATION_MAX_INCLUDE_DEPTH',
|
|
33
|
+
REQUIRED_VARIABLE: 'VALIDATION_REQUIRED_VARIABLE',
|
|
34
|
+
DANGEROUS_PATTERN: 'VALIDATION_DANGEROUS_PATTERN',
|
|
35
|
+
PATTERN_TOO_COMPLEX: 'VALIDATION_PATTERN_TOO_COMPLEX',
|
|
36
|
+
PATTERN_MISMATCH: 'VALIDATION_PATTERN_MISMATCH',
|
|
37
|
+
INVALID_PATTERN: 'VALIDATION_INVALID_PATTERN',
|
|
38
|
+
INVALID_OPTIONS: 'VALIDATION_INVALID_OPTIONS',
|
|
39
|
+
INVALID_NUMBER: 'VALIDATION_INVALID_NUMBER',
|
|
40
|
+
INVALID_DATE: 'VALIDATION_INVALID_DATE',
|
|
41
|
+
INVALID_ARRAY: 'VALIDATION_INVALID_ARRAY',
|
|
42
|
+
INVALID_OBJECT: 'VALIDATION_INVALID_OBJECT',
|
|
43
|
+
// Agent validation
|
|
44
|
+
INVALID_FRAMEWORK: 'VALIDATION_INVALID_FRAMEWORK',
|
|
45
|
+
INVALID_RISK_TOLERANCE: 'VALIDATION_INVALID_RISK_TOLERANCE',
|
|
46
|
+
MAX_GOALS_EXCEEDED: 'VALIDATION_MAX_GOALS_EXCEEDED',
|
|
47
|
+
GOAL_TOO_SHORT: 'VALIDATION_GOAL_TOO_SHORT',
|
|
48
|
+
HARMFUL_CONTENT: 'VALIDATION_HARMFUL_CONTENT',
|
|
49
|
+
DEPENDENCY_CYCLE: 'VALIDATION_DEPENDENCY_CYCLE',
|
|
50
|
+
GOAL_NOT_FOUND: 'VALIDATION_GOAL_NOT_FOUND',
|
|
51
|
+
INVALID_GOAL_STATUS: 'VALIDATION_INVALID_GOAL_STATUS',
|
|
52
|
+
CONTEXT_TOO_LARGE: 'VALIDATION_CONTEXT_TOO_LARGE',
|
|
53
|
+
STATE_TOO_LARGE: 'VALIDATION_STATE_TOO_LARGE',
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Network error codes - API and network failures
|
|
57
|
+
*/
|
|
58
|
+
export const NetworkErrorCodes = {
|
|
59
|
+
REQUEST_FAILED: 'NETWORK_REQUEST_FAILED',
|
|
60
|
+
INVALID_RESPONSE: 'NETWORK_INVALID_RESPONSE',
|
|
61
|
+
RESPONSE_TOO_LARGE: 'NETWORK_RESPONSE_TOO_LARGE',
|
|
62
|
+
API_ERROR: 'NETWORK_API_ERROR',
|
|
63
|
+
RATE_LIMIT_EXCEEDED: 'NETWORK_RATE_LIMIT_EXCEEDED',
|
|
64
|
+
FETCH_FAILED: 'NETWORK_FETCH_FAILED',
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* System error codes - Internal system failures
|
|
68
|
+
*/
|
|
69
|
+
export const SystemErrorCodes = {
|
|
70
|
+
LOAD_FAILED: 'SYSTEM_LOAD_FAILED',
|
|
71
|
+
SAVE_FAILED: 'SYSTEM_SAVE_FAILED',
|
|
72
|
+
DELETE_FAILED: 'SYSTEM_DELETE_FAILED',
|
|
73
|
+
IMPORT_FAILED: 'SYSTEM_IMPORT_FAILED',
|
|
74
|
+
EXPORT_FAILED: 'SYSTEM_EXPORT_FAILED',
|
|
75
|
+
DESERIALIZATION_FAILED: 'SYSTEM_DESERIALIZATION_FAILED',
|
|
76
|
+
UNKNOWN_FRAMEWORK: 'SYSTEM_UNKNOWN_FRAMEWORK',
|
|
77
|
+
UNSUPPORTED_FORMAT: 'SYSTEM_UNSUPPORTED_FORMAT',
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* All error codes combined for easy access
|
|
81
|
+
*/
|
|
82
|
+
export const ErrorCodes = {
|
|
83
|
+
...ValidationErrorCodes,
|
|
84
|
+
...NetworkErrorCodes,
|
|
85
|
+
...SystemErrorCodes,
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JDb2Rlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9lcnJvckNvZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUc7SUFDbEMscUJBQXFCO0lBQ3JCLGFBQWEsRUFBRSwwQkFBMEI7SUFDekMsY0FBYyxFQUFFLDJCQUEyQjtJQUMzQyxjQUFjLEVBQUUsMkJBQTJCO0lBQzNDLGNBQWMsRUFBRSwyQkFBMkI7SUFDM0MsYUFBYSxFQUFFLDBCQUEwQjtJQUN6QyxZQUFZLEVBQUUseUJBQXlCO0lBRXZDLHNCQUFzQjtJQUN0QixrQkFBa0IsRUFBRSwrQkFBK0I7SUFDbkQsb0JBQW9CLEVBQUUsaUNBQWlDO0lBQ3ZELHVCQUF1QixFQUFFLG9DQUFvQztJQUM3RCxXQUFXLEVBQUUsd0JBQXdCO0lBQ3JDLGdCQUFnQixFQUFFLDZCQUE2QjtJQUMvQyxZQUFZLEVBQUUseUJBQXlCO0lBQ3ZDLGNBQWMsRUFBRSwyQkFBMkI7SUFDM0MsaUJBQWlCLEVBQUUsOEJBQThCO0lBQ2pELHFCQUFxQixFQUFFLGtDQUFrQztJQUN6RCxnQkFBZ0IsRUFBRSw2QkFBNkI7SUFDL0MsaUJBQWlCLEVBQUUsOEJBQThCO0lBRWpELHNCQUFzQjtJQUN0QixrQkFBa0IsRUFBRSwrQkFBK0I7SUFDbkQsa0JBQWtCLEVBQUUsK0JBQStCO0lBQ25ELG9CQUFvQixFQUFFLGlDQUFpQztJQUN2RCxpQkFBaUIsRUFBRSw4QkFBOEI7SUFDakQsaUJBQWlCLEVBQUUsOEJBQThCO0lBQ2pELGlCQUFpQixFQUFFLDhCQUE4QjtJQUNqRCxtQkFBbUIsRUFBRSxnQ0FBZ0M7SUFDckQsZ0JBQWdCLEVBQUUsNkJBQTZCO0lBQy9DLGVBQWUsRUFBRSw0QkFBNEI7SUFDN0MsZUFBZSxFQUFFLDRCQUE0QjtJQUM3QyxjQUFjLEVBQUUsMkJBQTJCO0lBQzNDLFlBQVksRUFBRSx5QkFBeUI7SUFDdkMsYUFBYSxFQUFFLDBCQUEwQjtJQUN6QyxjQUFjLEVBQUUsMkJBQTJCO0lBRTNDLG1CQUFtQjtJQUNuQixpQkFBaUIsRUFBRSw4QkFBOEI7SUFDakQsc0JBQXNCLEVBQUUsbUNBQW1DO0lBQzNELGtCQUFrQixFQUFFLCtCQUErQjtJQUNuRCxjQUFjLEVBQUUsMkJBQTJCO0lBQzNDLGVBQWUsRUFBRSw0QkFBNEI7SUFDN0MsZ0JBQWdCLEVBQUUsNkJBQTZCO0lBQy9DLGNBQWMsRUFBRSwyQkFBMkI7SUFDM0MsbUJBQW1CLEVBQUUsZ0NBQWdDO0lBQ3JELGlCQUFpQixFQUFFLDhCQUE4QjtJQUNqRCxlQUFlLEVBQUUsNEJBQTRCO0NBQ3JDLENBQUM7QUFFWDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLGNBQWMsRUFBRSx3QkFBd0I7SUFDeEMsZ0JBQWdCLEVBQUUsMEJBQTBCO0lBQzVDLGtCQUFrQixFQUFFLDRCQUE0QjtJQUNoRCxTQUFTLEVBQUUsbUJBQW1CO0lBQzlCLG1CQUFtQixFQUFFLDZCQUE2QjtJQUNsRCxZQUFZLEVBQUUsc0JBQXNCO0NBQzVCLENBQUM7QUFFWDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLFdBQVcsRUFBRSxvQkFBb0I7SUFDakMsV0FBVyxFQUFFLG9CQUFvQjtJQUNqQyxhQUFhLEVBQUUsc0JBQXNCO0lBQ3JDLGFBQWEsRUFBRSxzQkFBc0I7SUFDckMsYUFBYSxFQUFFLHNCQUFzQjtJQUNyQyxzQkFBc0IsRUFBRSwrQkFBK0I7SUFDdkQsaUJBQWlCLEVBQUUsMEJBQTBCO0lBQzdDLGtCQUFrQixFQUFFLDJCQUEyQjtDQUN2QyxDQUFDO0FBRVg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsR0FBRyxvQkFBb0I7SUFDdkIsR0FBRyxpQkFBaUI7SUFDcEIsR0FBRyxnQkFBZ0I7Q0FDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDZW50cmFsaXplZCBlcnJvciBjb2RlcyBmb3IgY29uc2lzdGVudCBlcnJvciBoYW5kbGluZyBhY3Jvc3MgdGhlIGFwcGxpY2F0aW9uLlxuICogRXJyb3IgY29kZXMgZm9sbG93IHRoZSBwYXR0ZXJuOiBDQVRFR09SWV9TUEVDSUZJQ19FUlJPUlxuICovXG5cbi8qKlxuICogVmFsaWRhdGlvbiBlcnJvciBjb2RlcyAtIElucHV0IHZhbGlkYXRpb24gZmFpbHVyZXNcbiAqL1xuZXhwb3J0IGNvbnN0IFZhbGlkYXRpb25FcnJvckNvZGVzID0ge1xuICAvLyBHZW5lcmFsIHZhbGlkYXRpb25cbiAgSU5WQUxJRF9JTlBVVDogJ1ZBTElEQVRJT05fSU5WQUxJRF9JTlBVVCcsXG4gIFJFUVVJUkVEX0ZJRUxEOiAnVkFMSURBVElPTl9SRVFVSVJFRF9GSUVMRCcsXG4gIElOVkFMSURfRk9STUFUOiAnVkFMSURBVElPTl9JTlZBTElEX0ZPUk1BVCcsXG4gIElOVkFMSURfTEVOR1RIOiAnVkFMSURBVElPTl9JTlZBTElEX0xFTkdUSCcsXG4gIElOVkFMSURfUkFOR0U6ICdWQUxJREFUSU9OX0lOVkFMSURfUkFOR0UnLFxuICBJTlZBTElEX1RZUEU6ICdWQUxJREFUSU9OX0lOVkFMSURfVFlQRScsXG4gIFxuICAvLyBTcGVjaWZpYyB2YWxpZGF0aW9uXG4gIElOVkFMSURfUEVSU09OQV9JRDogJ1ZBTElEQVRJT05fSU5WQUxJRF9QRVJTT05BX0lEJyxcbiAgSU5WQUxJRF9TRUFSQ0hfUVVFUlk6ICdWQUxJREFUSU9OX0lOVkFMSURfU0VBUkNIX1FVRVJZJyxcbiAgSU5WQUxJRF9DT0xMRUNUSU9OX1BBVEg6ICdWQUxJREFUSU9OX0lOVkFMSURfQ09MTEVDVElPTl9QQVRIJyxcbiAgSU5WQUxJRF9VUkw6ICdWQUxJREFUSU9OX0lOVkFMSURfVVJMJyxcbiAgSU5WQUxJRF9GSUxFTkFNRTogJ1ZBTElEQVRJT05fSU5WQUxJRF9GSUxFTkFNRScsXG4gIElOVkFMSURfUEFUSDogJ1ZBTElEQVRJT05fSU5WQUxJRF9QQVRIJyxcbiAgUEFUSF9UUkFWRVJTQUw6ICdWQUxJREFUSU9OX1BBVEhfVFJBVkVSU0FMJyxcbiAgSU5WQUxJRF9DSEFSQUNURVI6ICdWQUxJREFUSU9OX0lOVkFMSURfQ0hBUkFDVEVSJyxcbiAgQ09ORklSTUFUSU9OX1JFUVVJUkVEOiAnVkFMSURBVElPTl9DT05GSVJNQVRJT05fUkVRVUlSRUQnLFxuICBJTlZBTElEX0NBVEVHT1JZOiAnVkFMSURBVElPTl9JTlZBTElEX0NBVEVHT1JZJyxcbiAgQ09OVEVOVF9UT09fTEFSR0U6ICdWQUxJREFUSU9OX0NPTlRFTlRfVE9PX0xBUkdFJyxcbiAgXG4gIC8vIFRlbXBsYXRlIHZhbGlkYXRpb25cbiAgVEVNUExBVEVfVE9PX0xBUkdFOiAnVkFMSURBVElPTl9URU1QTEFURV9UT09fTEFSR0UnLFxuICBUT09fTUFOWV9WQVJJQUJMRVM6ICdWQUxJREFUSU9OX1RPT19NQU5ZX1ZBUklBQkxFUycsXG4gIElOVkFMSURfSU5DTFVERV9QQVRIOiAnVkFMSURBVElPTl9JTlZBTElEX0lOQ0xVREVfUEFUSCcsXG4gIE1BWF9JTkNMVURFX0RFUFRIOiAnVkFMSURBVElPTl9NQVhfSU5DTFVERV9ERVBUSCcsXG4gIFJFUVVJUkVEX1ZBUklBQkxFOiAnVkFMSURBVElPTl9SRVFVSVJFRF9WQVJJQUJMRScsXG4gIERBTkdFUk9VU19QQVRURVJOOiAnVkFMSURBVElPTl9EQU5HRVJPVVNfUEFUVEVSTicsXG4gIFBBVFRFUk5fVE9PX0NPTVBMRVg6ICdWQUxJREFUSU9OX1BBVFRFUk5fVE9PX0NPTVBMRVgnLFxuICBQQVRURVJOX01JU01BVENIOiAnVkFMSURBVElPTl9QQVRURVJOX01JU01BVENIJyxcbiAgSU5WQUxJRF9QQVRURVJOOiAnVkFMSURBVElPTl9JTlZBTElEX1BBVFRFUk4nLFxuICBJTlZBTElEX09QVElPTlM6ICdWQUxJREFUSU9OX0lOVkFMSURfT1BUSU9OUycsXG4gIElOVkFMSURfTlVNQkVSOiAnVkFMSURBVElPTl9JTlZBTElEX05VTUJFUicsXG4gIElOVkFMSURfREFURTogJ1ZBTElEQVRJT05fSU5WQUxJRF9EQVRFJyxcbiAgSU5WQUxJRF9BUlJBWTogJ1ZBTElEQVRJT05fSU5WQUxJRF9BUlJBWScsXG4gIElOVkFMSURfT0JKRUNUOiAnVkFMSURBVElPTl9JTlZBTElEX09CSkVDVCcsXG4gIFxuICAvLyBBZ2VudCB2YWxpZGF0aW9uXG4gIElOVkFMSURfRlJBTUVXT1JLOiAnVkFMSURBVElPTl9JTlZBTElEX0ZSQU1FV09SSycsXG4gIElOVkFMSURfUklTS19UT0xFUkFOQ0U6ICdWQUxJREFUSU9OX0lOVkFMSURfUklTS19UT0xFUkFOQ0UnLFxuICBNQVhfR09BTFNfRVhDRUVERUQ6ICdWQUxJREFUSU9OX01BWF9HT0FMU19FWENFRURFRCcsXG4gIEdPQUxfVE9PX1NIT1JUOiAnVkFMSURBVElPTl9HT0FMX1RPT19TSE9SVCcsXG4gIEhBUk1GVUxfQ09OVEVOVDogJ1ZBTElEQVRJT05fSEFSTUZVTF9DT05URU5UJyxcbiAgREVQRU5ERU5DWV9DWUNMRTogJ1ZBTElEQVRJT05fREVQRU5ERU5DWV9DWUNMRScsXG4gIEdPQUxfTk9UX0ZPVU5EOiAnVkFMSURBVElPTl9HT0FMX05PVF9GT1VORCcsXG4gIElOVkFMSURfR09BTF9TVEFUVVM6ICdWQUxJREFUSU9OX0lOVkFMSURfR09BTF9TVEFUVVMnLFxuICBDT05URVhUX1RPT19MQVJHRTogJ1ZBTElEQVRJT05fQ09OVEVYVF9UT09fTEFSR0UnLFxuICBTVEFURV9UT09fTEFSR0U6ICdWQUxJREFUSU9OX1NUQVRFX1RPT19MQVJHRScsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIE5ldHdvcmsgZXJyb3IgY29kZXMgLSBBUEkgYW5kIG5ldHdvcmsgZmFpbHVyZXNcbiAqL1xuZXhwb3J0IGNvbnN0IE5ldHdvcmtFcnJvckNvZGVzID0ge1xuICBSRVFVRVNUX0ZBSUxFRDogJ05FVFdPUktfUkVRVUVTVF9GQUlMRUQnLFxuICBJTlZBTElEX1JFU1BPTlNFOiAnTkVUV09SS19JTlZBTElEX1JFU1BPTlNFJyxcbiAgUkVTUE9OU0VfVE9PX0xBUkdFOiAnTkVUV09SS19SRVNQT05TRV9UT09fTEFSR0UnLFxuICBBUElfRVJST1I6ICdORVRXT1JLX0FQSV9FUlJPUicsXG4gIFJBVEVfTElNSVRfRVhDRUVERUQ6ICdORVRXT1JLX1JBVEVfTElNSVRfRVhDRUVERUQnLFxuICBGRVRDSF9GQUlMRUQ6ICdORVRXT1JLX0ZFVENIX0ZBSUxFRCcsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIFN5c3RlbSBlcnJvciBjb2RlcyAtIEludGVybmFsIHN5c3RlbSBmYWlsdXJlc1xuICovXG5leHBvcnQgY29uc3QgU3lzdGVtRXJyb3JDb2RlcyA9IHtcbiAgTE9BRF9GQUlMRUQ6ICdTWVNURU1fTE9BRF9GQUlMRUQnLFxuICBTQVZFX0ZBSUxFRDogJ1NZU1RFTV9TQVZFX0ZBSUxFRCcsXG4gIERFTEVURV9GQUlMRUQ6ICdTWVNURU1fREVMRVRFX0ZBSUxFRCcsXG4gIElNUE9SVF9GQUlMRUQ6ICdTWVNURU1fSU1QT1JUX0ZBSUxFRCcsXG4gIEVYUE9SVF9GQUlMRUQ6ICdTWVNURU1fRVhQT1JUX0ZBSUxFRCcsXG4gIERFU0VSSUFMSVpBVElPTl9GQUlMRUQ6ICdTWVNURU1fREVTRVJJQUxJWkFUSU9OX0ZBSUxFRCcsXG4gIFVOS05PV05fRlJBTUVXT1JLOiAnU1lTVEVNX1VOS05PV05fRlJBTUVXT1JLJyxcbiAgVU5TVVBQT1JURURfRk9STUFUOiAnU1lTVEVNX1VOU1VQUE9SVEVEX0ZPUk1BVCcsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIEFsbCBlcnJvciBjb2RlcyBjb21iaW5lZCBmb3IgZWFzeSBhY2Nlc3NcbiAqL1xuZXhwb3J0IGNvbnN0IEVycm9yQ29kZXMgPSB7XG4gIC4uLlZhbGlkYXRpb25FcnJvckNvZGVzLFxuICAuLi5OZXR3b3JrRXJyb3JDb2RlcyxcbiAgLi4uU3lzdGVtRXJyb3JDb2Rlcyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIEVycm9yQ29kZSA9IHR5cGVvZiBFcnJvckNvZGVzW2tleW9mIHR5cGVvZiBFcnJvckNvZGVzXTsiXX0=
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -4,4 +4,7 @@
|
|
|
4
4
|
export * from './git.js';
|
|
5
5
|
export * from './filesystem.js';
|
|
6
6
|
export * from './version.js';
|
|
7
|
-
|
|
7
|
+
export * from './SecureDownloader.js';
|
|
8
|
+
export * from './RateLimiter.js';
|
|
9
|
+
export * from './ToolCache.js';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVdGlsaXRpZXMgbW9kdWxlIGV4cG9ydHNcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2dpdC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGVzeXN0ZW0uanMnO1xuZXhwb3J0ICogZnJvbSAnLi92ZXJzaW9uLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vU2VjdXJlRG93bmxvYWRlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL1JhdGVMaW1pdGVyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vVG9vbENhY2hlLmpzJzsiXX0=
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
export type InstallationType = 'npm' | 'git' | 'unknown';
|
|
6
6
|
export declare class InstallationDetector {
|
|
7
7
|
private static cachedType;
|
|
8
|
-
private static
|
|
8
|
+
private static readonly MAX_SEARCH_DEPTH;
|
|
9
9
|
/**
|
|
10
10
|
* Detect the installation type (npm global, git clone, or unknown)
|
|
11
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installation.d.ts","sourceRoot":"","sources":["../../src/utils/installation.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"installation.d.ts","sourceRoot":"","sources":["../../src/utils/installation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;AAEzD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAiC;IAG1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAM;IAE9C;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,gBAAgB;IAgE9C;;OAEG;IACH,MAAM,CAAC,gBAAgB,IAAI,MAAM,GAAG,IAAI;IA6BxC;;OAEG;IACH,MAAM,CAAC,oBAAoB,IAAI,MAAM,GAAG,IAAI;IA4B5C;;OAEG;IACH,MAAM,CAAC,0BAA0B,IAAI,MAAM;IAqB3C;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;CAG1B"}
|