@dollhousemcp/mcp-server 1.3.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 +132 -0
- package/LICENSE +51 -0
- package/README.md +1124 -0
- package/data/agents/code-reviewer.md +296 -0
- package/data/agents/research-assistant.md +259 -0
- package/data/agents/task-manager.md +206 -0
- package/data/ensembles/business-advisor.md +354 -0
- package/data/ensembles/creative-studio.md +288 -0
- package/data/ensembles/development-team.md +292 -0
- package/data/ensembles/security-analysis-team.md +438 -0
- package/data/memories/conversation-history.md +146 -0
- package/data/memories/learning-progress.md +376 -0
- package/data/memories/project-context.md +268 -0
- package/data/personas/business-consultant.md +50 -0
- package/data/personas/creative-writer.md +44 -0
- package/data/personas/debug-detective.md +59 -0
- package/data/personas/eli5-explainer.md +49 -0
- package/data/personas/security-analyst.md +161 -0
- package/data/personas/technical-analyst.md +43 -0
- package/data/skills/code-review.md +112 -0
- package/data/skills/creative-writing.md +174 -0
- package/data/skills/data-analysis.md +160 -0
- package/data/skills/penetration-testing.md +374 -0
- package/data/skills/research.md +181 -0
- package/data/skills/threat-modeling.md +469 -0
- package/data/skills/translation.md +148 -0
- package/data/templates/code-documentation.md +409 -0
- package/data/templates/email-professional.md +158 -0
- package/data/templates/meeting-notes.md +141 -0
- package/data/templates/penetration-test-report.md +608 -0
- package/data/templates/project-brief.md +234 -0
- package/data/templates/report-executive.md +258 -0
- package/data/templates/security-vulnerability-report.md +457 -0
- package/data/templates/threat-assessment-report.md +774 -0
- package/dist/cache/APICache.d.ts +23 -0
- package/dist/cache/APICache.d.ts.map +1 -0
- package/dist/cache/APICache.js +42 -0
- package/dist/cache/index.d.ts +5 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +5 -0
- package/dist/collection/CollectionBrowser.d.ts +24 -0
- package/dist/collection/CollectionBrowser.d.ts.map +1 -0
- package/dist/collection/CollectionBrowser.js +120 -0
- package/dist/collection/CollectionSearch.d.ts +18 -0
- package/dist/collection/CollectionSearch.d.ts.map +1 -0
- package/dist/collection/CollectionSearch.js +48 -0
- package/dist/collection/ElementInstaller.d.ts +33 -0
- package/dist/collection/ElementInstaller.d.ts.map +1 -0
- package/dist/collection/ElementInstaller.js +142 -0
- package/dist/collection/GitHubClient.d.ts +22 -0
- package/dist/collection/GitHubClient.d.ts.map +1 -0
- package/dist/collection/GitHubClient.js +114 -0
- package/dist/collection/MarketplaceBrowser.d.ts +24 -0
- package/dist/collection/MarketplaceBrowser.d.ts.map +1 -0
- package/dist/collection/MarketplaceBrowser.js +115 -0
- package/dist/collection/MarketplaceSearch.d.ts +18 -0
- package/dist/collection/MarketplaceSearch.d.ts.map +1 -0
- package/dist/collection/MarketplaceSearch.js +48 -0
- package/dist/collection/PersonaDetails.d.ts +22 -0
- package/dist/collection/PersonaDetails.d.ts.map +1 -0
- package/dist/collection/PersonaDetails.js +71 -0
- package/dist/collection/PersonaInstaller.d.ts +26 -0
- package/dist/collection/PersonaInstaller.d.ts.map +1 -0
- package/dist/collection/PersonaInstaller.js +103 -0
- package/dist/collection/PersonaSubmitter.d.ts +19 -0
- package/dist/collection/PersonaSubmitter.d.ts.map +1 -0
- package/dist/collection/PersonaSubmitter.js +57 -0
- package/dist/collection/index.d.ts +10 -0
- package/dist/collection/index.d.ts.map +1 -0
- package/dist/collection/index.js +10 -0
- package/dist/config/constants.d.ts +25 -0
- package/dist/config/constants.d.ts.map +1 -0
- package/dist/config/constants.js +34 -0
- package/dist/config/index.d.ts +6 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +6 -0
- package/dist/config/indicator-config.d.ts +107 -0
- package/dist/config/indicator-config.d.ts.map +1 -0
- package/dist/config/indicator-config.js +158 -0
- package/dist/constants/defaultPersonas.d.ts +10 -0
- package/dist/constants/defaultPersonas.d.ts.map +1 -0
- package/dist/constants/defaultPersonas.js +18 -0
- package/dist/constants/limits.d.ts +10 -0
- package/dist/constants/limits.d.ts.map +1 -0
- package/dist/constants/limits.js +13 -0
- package/dist/elements/BaseElement.d.ts +81 -0
- package/dist/elements/BaseElement.d.ts.map +1 -0
- package/dist/elements/BaseElement.js +381 -0
- package/dist/elements/FeedbackProcessor.d.ts +57 -0
- package/dist/elements/FeedbackProcessor.d.ts.map +1 -0
- package/dist/elements/FeedbackProcessor.js +418 -0
- package/dist/elements/agents/Agent.d.ts +145 -0
- package/dist/elements/agents/Agent.d.ts.map +1 -0
- package/dist/elements/agents/Agent.js +848 -0
- package/dist/elements/agents/AgentManager.d.ts +125 -0
- package/dist/elements/agents/AgentManager.d.ts.map +1 -0
- package/dist/elements/agents/AgentManager.js +615 -0
- package/dist/elements/agents/constants.d.ts +42 -0
- package/dist/elements/agents/constants.d.ts.map +1 -0
- package/dist/elements/agents/constants.js +45 -0
- package/dist/elements/agents/goalTemplates.d.ts +44 -0
- package/dist/elements/agents/goalTemplates.d.ts.map +1 -0
- package/dist/elements/agents/goalTemplates.js +297 -0
- package/dist/elements/agents/index.d.ts +8 -0
- package/dist/elements/agents/index.d.ts.map +1 -0
- package/dist/elements/agents/index.js +8 -0
- package/dist/elements/agents/ruleEngineConfig.d.ts +76 -0
- package/dist/elements/agents/ruleEngineConfig.d.ts.map +1 -0
- package/dist/elements/agents/ruleEngineConfig.js +143 -0
- package/dist/elements/agents/types.d.ts +97 -0
- package/dist/elements/agents/types.d.ts.map +1 -0
- package/dist/elements/agents/types.js +5 -0
- package/dist/elements/ensembles/Ensemble.d.ts +144 -0
- package/dist/elements/ensembles/Ensemble.d.ts.map +1 -0
- package/dist/elements/ensembles/Ensemble.js +860 -0
- package/dist/elements/ensembles/EnsembleManager.d.ts +85 -0
- package/dist/elements/ensembles/EnsembleManager.d.ts.map +1 -0
- package/dist/elements/ensembles/EnsembleManager.js +378 -0
- package/dist/elements/ensembles/constants.d.ts +73 -0
- package/dist/elements/ensembles/constants.d.ts.map +1 -0
- package/dist/elements/ensembles/constants.js +92 -0
- package/dist/elements/ensembles/index.d.ts +8 -0
- package/dist/elements/ensembles/index.d.ts.map +1 -0
- package/dist/elements/ensembles/index.js +8 -0
- package/dist/elements/ensembles/types.d.ts +92 -0
- package/dist/elements/ensembles/types.d.ts.map +1 -0
- package/dist/elements/ensembles/types.js +8 -0
- package/dist/elements/index.d.ts +11 -0
- package/dist/elements/index.d.ts.map +1 -0
- package/dist/elements/index.js +12 -0
- package/dist/elements/memories/Memory.d.ts +110 -0
- package/dist/elements/memories/Memory.d.ts.map +1 -0
- package/dist/elements/memories/Memory.js +470 -0
- package/dist/elements/memories/MemoryManager.d.ts +86 -0
- package/dist/elements/memories/MemoryManager.d.ts.map +1 -0
- package/dist/elements/memories/MemoryManager.js +435 -0
- package/dist/elements/memories/constants.d.ts +42 -0
- package/dist/elements/memories/constants.d.ts.map +1 -0
- package/dist/elements/memories/constants.js +49 -0
- package/dist/elements/memories/index.d.ts +6 -0
- package/dist/elements/memories/index.d.ts.map +1 -0
- package/dist/elements/memories/index.js +6 -0
- package/dist/elements/skills/Skill.d.ts +109 -0
- package/dist/elements/skills/Skill.d.ts.map +1 -0
- package/dist/elements/skills/Skill.js +381 -0
- package/dist/elements/skills/index.d.ts +5 -0
- package/dist/elements/skills/index.d.ts.map +1 -0
- package/dist/elements/skills/index.js +5 -0
- package/dist/elements/templates/Template.d.ts +138 -0
- package/dist/elements/templates/Template.d.ts.map +1 -0
- package/dist/elements/templates/Template.js +673 -0
- package/dist/elements/templates/TemplateManager.d.ts +104 -0
- package/dist/elements/templates/TemplateManager.d.ts.map +1 -0
- package/dist/elements/templates/TemplateManager.js +501 -0
- package/dist/elements/templates/index.d.ts +6 -0
- package/dist/elements/templates/index.d.ts.map +1 -0
- package/dist/elements/templates/index.js +6 -0
- package/dist/errors/SecurityError.d.ts +29 -0
- package/dist/errors/SecurityError.d.ts.map +1 -0
- package/dist/errors/SecurityError.js +47 -0
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +2 -0
- package/dist/index.barrel.d.ts +21 -0
- package/dist/index.barrel.d.ts.map +1 -0
- package/dist/index.barrel.js +31 -0
- package/dist/index.d.ts +223 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1606 -0
- package/dist/marketplace/GitHubClient.d.ts +22 -0
- package/dist/marketplace/GitHubClient.d.ts.map +1 -0
- package/dist/marketplace/GitHubClient.js +112 -0
- package/dist/marketplace/MarketplaceBrowser.d.ts +24 -0
- package/dist/marketplace/MarketplaceBrowser.d.ts.map +1 -0
- package/dist/marketplace/MarketplaceBrowser.js +115 -0
- package/dist/marketplace/MarketplaceSearch.d.ts +18 -0
- package/dist/marketplace/MarketplaceSearch.d.ts.map +1 -0
- package/dist/marketplace/MarketplaceSearch.js +48 -0
- package/dist/marketplace/PersonaDetails.d.ts +22 -0
- package/dist/marketplace/PersonaDetails.d.ts.map +1 -0
- package/dist/marketplace/PersonaDetails.js +71 -0
- package/dist/marketplace/PersonaInstaller.d.ts +25 -0
- package/dist/marketplace/PersonaInstaller.d.ts.map +1 -0
- package/dist/marketplace/PersonaInstaller.js +100 -0
- package/dist/marketplace/PersonaSubmitter.d.ts +19 -0
- package/dist/marketplace/PersonaSubmitter.d.ts.map +1 -0
- package/dist/marketplace/PersonaSubmitter.js +57 -0
- package/dist/marketplace/index.d.ts +10 -0
- package/dist/marketplace/index.d.ts.map +1 -0
- package/dist/marketplace/index.js +10 -0
- package/dist/persona/PersonaElement.d.ts +64 -0
- package/dist/persona/PersonaElement.d.ts.map +1 -0
- package/dist/persona/PersonaElement.js +223 -0
- package/dist/persona/PersonaElementManager.d.ts +97 -0
- package/dist/persona/PersonaElementManager.d.ts.map +1 -0
- package/dist/persona/PersonaElementManager.js +348 -0
- package/dist/persona/PersonaLoader.d.ts +34 -0
- package/dist/persona/PersonaLoader.d.ts.map +1 -0
- package/dist/persona/PersonaLoader.js +145 -0
- package/dist/persona/PersonaManager.d.ts +112 -0
- package/dist/persona/PersonaManager.d.ts.map +1 -0
- package/dist/persona/PersonaManager.js +341 -0
- package/dist/persona/PersonaValidator.d.ts +39 -0
- package/dist/persona/PersonaValidator.d.ts.map +1 -0
- package/dist/persona/PersonaValidator.js +161 -0
- package/dist/persona/export-import/PersonaExporter.d.ts +43 -0
- package/dist/persona/export-import/PersonaExporter.d.ts.map +1 -0
- package/dist/persona/export-import/PersonaExporter.js +99 -0
- package/dist/persona/export-import/PersonaImporter.d.ts +65 -0
- package/dist/persona/export-import/PersonaImporter.d.ts.map +1 -0
- package/dist/persona/export-import/PersonaImporter.js +315 -0
- package/dist/persona/export-import/PersonaSharer.d.ts +60 -0
- package/dist/persona/export-import/PersonaSharer.d.ts.map +1 -0
- package/dist/persona/export-import/PersonaSharer.js +502 -0
- package/dist/persona/export-import/index.d.ts +10 -0
- package/dist/persona/export-import/index.d.ts.map +1 -0
- package/dist/persona/export-import/index.js +7 -0
- package/dist/persona/index.d.ts +7 -0
- package/dist/persona/index.d.ts.map +1 -0
- package/dist/persona/index.js +7 -0
- package/dist/portfolio/MigrationManager.d.ts +44 -0
- package/dist/portfolio/MigrationManager.d.ts.map +1 -0
- package/dist/portfolio/MigrationManager.js +163 -0
- package/dist/portfolio/PortfolioManager.d.ts +54 -0
- package/dist/portfolio/PortfolioManager.d.ts.map +1 -0
- package/dist/portfolio/PortfolioManager.js +224 -0
- package/dist/portfolio/types.d.ts +18 -0
- package/dist/portfolio/types.d.ts.map +1 -0
- package/dist/portfolio/types.js +13 -0
- package/dist/security/InputValidator.d.ts +80 -0
- package/dist/security/InputValidator.d.ts.map +1 -0
- package/dist/security/InputValidator.js +448 -0
- package/dist/security/audit/SecurityAuditor.d.ts +44 -0
- package/dist/security/audit/SecurityAuditor.d.ts.map +1 -0
- package/dist/security/audit/SecurityAuditor.js +274 -0
- package/dist/security/audit/config/suppressions.d.ts +34 -0
- package/dist/security/audit/config/suppressions.d.ts.map +1 -0
- package/dist/security/audit/config/suppressions.js +575 -0
- package/dist/security/audit/index.d.ts +14 -0
- package/dist/security/audit/index.d.ts.map +1 -0
- package/dist/security/audit/index.js +15 -0
- package/dist/security/audit/reporters/ConsoleReporter.d.ts +46 -0
- package/dist/security/audit/reporters/ConsoleReporter.d.ts.map +1 -0
- package/dist/security/audit/reporters/ConsoleReporter.js +174 -0
- package/dist/security/audit/reporters/JsonReporter.d.ts +13 -0
- package/dist/security/audit/reporters/JsonReporter.d.ts.map +1 -0
- package/dist/security/audit/reporters/JsonReporter.js +25 -0
- package/dist/security/audit/reporters/MarkdownReporter.d.ts +13 -0
- package/dist/security/audit/reporters/MarkdownReporter.d.ts.map +1 -0
- package/dist/security/audit/reporters/MarkdownReporter.js +79 -0
- package/dist/security/audit/rules/SecurityRules.d.ts +20 -0
- package/dist/security/audit/rules/SecurityRules.d.ts.map +1 -0
- package/dist/security/audit/rules/SecurityRules.js +244 -0
- package/dist/security/audit/scanners/CodeScanner.d.ts +47 -0
- package/dist/security/audit/scanners/CodeScanner.d.ts.map +1 -0
- package/dist/security/audit/scanners/CodeScanner.js +174 -0
- package/dist/security/audit/scanners/ConfigurationScanner.d.ts +13 -0
- package/dist/security/audit/scanners/ConfigurationScanner.d.ts.map +1 -0
- package/dist/security/audit/scanners/ConfigurationScanner.js +22 -0
- package/dist/security/audit/scanners/DependencyScanner.d.ts +13 -0
- package/dist/security/audit/scanners/DependencyScanner.d.ts.map +1 -0
- package/dist/security/audit/scanners/DependencyScanner.js +22 -0
- package/dist/security/audit/types.d.ts +94 -0
- package/dist/security/audit/types.d.ts.map +1 -0
- package/dist/security/audit/types.js +6 -0
- package/dist/security/commandValidator.d.ts +7 -0
- package/dist/security/commandValidator.d.ts.map +1 -0
- package/dist/security/commandValidator.js +78 -0
- package/dist/security/constants.d.ts +24 -0
- package/dist/security/constants.d.ts.map +1 -0
- package/dist/security/constants.js +26 -0
- package/dist/security/contentValidator.d.ts +47 -0
- package/dist/security/contentValidator.d.ts.map +1 -0
- package/dist/security/contentValidator.js +301 -0
- package/dist/security/errorHandler.d.ts +42 -0
- package/dist/security/errorHandler.d.ts.map +1 -0
- package/dist/security/errorHandler.js +166 -0
- package/dist/security/errors.d.ts +14 -0
- package/dist/security/errors.d.ts.map +1 -0
- package/dist/security/errors.js +28 -0
- package/dist/security/fileLockManager.d.ts +70 -0
- package/dist/security/fileLockManager.d.ts.map +1 -0
- package/dist/security/fileLockManager.js +187 -0
- package/dist/security/index.d.ts +12 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +14 -0
- package/dist/security/pathValidator.d.ts +9 -0
- package/dist/security/pathValidator.d.ts.map +1 -0
- package/dist/security/pathValidator.js +102 -0
- package/dist/security/regexValidator.d.ts +59 -0
- package/dist/security/regexValidator.d.ts.map +1 -0
- package/dist/security/regexValidator.js +214 -0
- package/dist/security/secureYamlParser.d.ts +46 -0
- package/dist/security/secureYamlParser.d.ts.map +1 -0
- package/dist/security/secureYamlParser.js +203 -0
- package/dist/security/securityMonitor.d.ts +58 -0
- package/dist/security/securityMonitor.d.ts.map +1 -0
- package/dist/security/securityMonitor.js +108 -0
- package/dist/security/tokenManager.d.ts +85 -0
- package/dist/security/tokenManager.d.ts.map +1 -0
- package/dist/security/tokenManager.js +286 -0
- package/dist/security/validators/unicodeValidator.d.ts +97 -0
- package/dist/security/validators/unicodeValidator.d.ts.map +1 -0
- package/dist/security/validators/unicodeValidator.js +312 -0
- package/dist/security/yamlValidator.d.ts +21 -0
- package/dist/security/yamlValidator.d.ts.map +1 -0
- package/dist/security/yamlValidator.js +164 -0
- package/dist/server/ServerSetup.d.ts +35 -0
- package/dist/server/ServerSetup.d.ts.map +1 -0
- package/dist/server/ServerSetup.js +116 -0
- package/dist/server/index.d.ts +7 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +7 -0
- package/dist/server/startup.d.ts +31 -0
- package/dist/server/startup.d.ts.map +1 -0
- package/dist/server/startup.js +67 -0
- package/dist/server/tools/CollectionTools.d.ts +10 -0
- package/dist/server/tools/CollectionTools.d.ts.map +1 -0
- package/dist/server/tools/CollectionTools.js +96 -0
- package/dist/server/tools/ConfigTools.d.ts +10 -0
- package/dist/server/tools/ConfigTools.d.ts.map +1 -0
- package/dist/server/tools/ConfigTools.js +63 -0
- package/dist/server/tools/MarketplaceTools.d.ts +10 -0
- package/dist/server/tools/MarketplaceTools.d.ts.map +1 -0
- package/dist/server/tools/MarketplaceTools.js +96 -0
- package/dist/server/tools/PersonaTools.d.ts +10 -0
- package/dist/server/tools/PersonaTools.d.ts.map +1 -0
- package/dist/server/tools/PersonaTools.js +257 -0
- package/dist/server/tools/ToolRegistry.d.ts +37 -0
- package/dist/server/tools/ToolRegistry.d.ts.map +1 -0
- package/dist/server/tools/ToolRegistry.js +40 -0
- package/dist/server/tools/UpdateTools.d.ts +10 -0
- package/dist/server/tools/UpdateTools.d.ts.map +1 -0
- package/dist/server/tools/UpdateTools.js +64 -0
- package/dist/server/tools/UserTools.d.ts +10 -0
- package/dist/server/tools/UserTools.d.ts.map +1 -0
- package/dist/server/tools/UserTools.js +51 -0
- package/dist/server/tools/index.d.ts +10 -0
- package/dist/server/tools/index.d.ts.map +1 -0
- package/dist/server/tools/index.js +10 -0
- package/dist/server/types.d.ts +34 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/types.js +5 -0
- package/dist/src/cache/APICache.d.ts +23 -0
- package/dist/src/cache/APICache.d.ts.map +1 -0
- package/dist/src/cache/APICache.js +42 -0
- package/dist/src/cache/index.d.ts +5 -0
- package/dist/src/cache/index.d.ts.map +1 -0
- package/dist/src/cache/index.js +5 -0
- package/dist/src/config/constants.d.ts +25 -0
- package/dist/src/config/constants.d.ts.map +1 -0
- package/dist/src/config/constants.js +30 -0
- package/dist/src/config/index.d.ts +6 -0
- package/dist/src/config/index.d.ts.map +1 -0
- package/dist/src/config/index.js +6 -0
- package/dist/src/config/indicator-config.d.ts +107 -0
- package/dist/src/config/indicator-config.d.ts.map +1 -0
- package/dist/src/config/indicator-config.js +158 -0
- package/dist/src/constants/defaultPersonas.d.ts +10 -0
- package/dist/src/constants/defaultPersonas.d.ts.map +1 -0
- package/dist/src/constants/defaultPersonas.js +18 -0
- package/dist/src/constants/limits.d.ts +10 -0
- package/dist/src/constants/limits.d.ts.map +1 -0
- package/dist/src/constants/limits.js +13 -0
- package/dist/src/errors/SecurityError.d.ts +29 -0
- package/dist/src/errors/SecurityError.d.ts.map +1 -0
- package/dist/src/errors/SecurityError.js +47 -0
- package/dist/src/errors/index.d.ts +2 -0
- package/dist/src/errors/index.d.ts.map +1 -0
- package/dist/src/errors/index.js +2 -0
- package/dist/src/index.barrel.d.ts +21 -0
- package/dist/src/index.barrel.d.ts.map +1 -0
- package/dist/src/index.barrel.js +31 -0
- package/dist/src/index.d.ts +220 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +1559 -0
- package/dist/src/marketplace/GitHubClient.d.ts +22 -0
- package/dist/src/marketplace/GitHubClient.d.ts.map +1 -0
- package/dist/src/marketplace/GitHubClient.js +112 -0
- package/dist/src/marketplace/MarketplaceBrowser.d.ts +21 -0
- package/dist/src/marketplace/MarketplaceBrowser.d.ts.map +1 -0
- package/dist/src/marketplace/MarketplaceBrowser.js +45 -0
- package/dist/src/marketplace/MarketplaceSearch.d.ts +18 -0
- package/dist/src/marketplace/MarketplaceSearch.d.ts.map +1 -0
- package/dist/src/marketplace/MarketplaceSearch.js +36 -0
- package/dist/src/marketplace/PersonaDetails.d.ts +22 -0
- package/dist/src/marketplace/PersonaDetails.d.ts.map +1 -0
- package/dist/src/marketplace/PersonaDetails.js +71 -0
- package/dist/src/marketplace/PersonaInstaller.d.ts +25 -0
- package/dist/src/marketplace/PersonaInstaller.d.ts.map +1 -0
- package/dist/src/marketplace/PersonaInstaller.js +100 -0
- package/dist/src/marketplace/PersonaSubmitter.d.ts +19 -0
- package/dist/src/marketplace/PersonaSubmitter.d.ts.map +1 -0
- package/dist/src/marketplace/PersonaSubmitter.js +57 -0
- package/dist/src/marketplace/index.d.ts +10 -0
- package/dist/src/marketplace/index.d.ts.map +1 -0
- package/dist/src/marketplace/index.js +10 -0
- package/dist/src/persona/PersonaLoader.d.ts +33 -0
- package/dist/src/persona/PersonaLoader.d.ts.map +1 -0
- package/dist/src/persona/PersonaLoader.js +139 -0
- package/dist/src/persona/PersonaManager.d.ts +112 -0
- package/dist/src/persona/PersonaManager.d.ts.map +1 -0
- package/dist/src/persona/PersonaManager.js +341 -0
- package/dist/src/persona/PersonaValidator.d.ts +33 -0
- package/dist/src/persona/PersonaValidator.d.ts.map +1 -0
- package/dist/src/persona/PersonaValidator.js +157 -0
- package/dist/src/persona/export-import/PersonaExporter.d.ts +43 -0
- package/dist/src/persona/export-import/PersonaExporter.d.ts.map +1 -0
- package/dist/src/persona/export-import/PersonaExporter.js +99 -0
- package/dist/src/persona/export-import/PersonaImporter.d.ts +65 -0
- package/dist/src/persona/export-import/PersonaImporter.d.ts.map +1 -0
- package/dist/src/persona/export-import/PersonaImporter.js +313 -0
- package/dist/src/persona/export-import/PersonaSharer.d.ts +60 -0
- package/dist/src/persona/export-import/PersonaSharer.d.ts.map +1 -0
- package/dist/src/persona/export-import/PersonaSharer.js +363 -0
- package/dist/src/persona/export-import/index.d.ts +10 -0
- package/dist/src/persona/export-import/index.d.ts.map +1 -0
- package/dist/src/persona/export-import/index.js +7 -0
- package/dist/src/persona/index.d.ts +7 -0
- package/dist/src/persona/index.d.ts.map +1 -0
- package/dist/src/persona/index.js +7 -0
- package/dist/src/security/InputValidator.d.ts +69 -0
- package/dist/src/security/InputValidator.d.ts.map +1 -0
- package/dist/src/security/InputValidator.js +381 -0
- package/dist/src/security/commandValidator.d.ts +7 -0
- package/dist/src/security/commandValidator.d.ts.map +1 -0
- package/dist/src/security/commandValidator.js +77 -0
- package/dist/src/security/constants.d.ts +21 -0
- package/dist/src/security/constants.d.ts.map +1 -0
- package/dist/src/security/constants.js +23 -0
- package/dist/src/security/contentValidator.d.ts +47 -0
- package/dist/src/security/contentValidator.d.ts.map +1 -0
- package/dist/src/security/contentValidator.js +188 -0
- package/dist/src/security/fileLockManager.d.ts +70 -0
- package/dist/src/security/fileLockManager.d.ts.map +1 -0
- package/dist/src/security/fileLockManager.js +187 -0
- package/dist/src/security/index.d.ts +12 -0
- package/dist/src/security/index.d.ts.map +1 -0
- package/dist/src/security/index.js +14 -0
- package/dist/src/security/pathValidator.d.ts +9 -0
- package/dist/src/security/pathValidator.d.ts.map +1 -0
- package/dist/src/security/pathValidator.js +97 -0
- package/dist/src/security/secureYamlParser.d.ts +46 -0
- package/dist/src/security/secureYamlParser.d.ts.map +1 -0
- package/dist/src/security/secureYamlParser.js +203 -0
- package/dist/src/security/securityMonitor.d.ts +58 -0
- package/dist/src/security/securityMonitor.d.ts.map +1 -0
- package/dist/src/security/securityMonitor.js +108 -0
- package/dist/src/security/tokenManager.d.ts +59 -0
- package/dist/src/security/tokenManager.d.ts.map +1 -0
- package/dist/src/security/tokenManager.js +216 -0
- package/dist/src/security/yamlValidator.d.ts +20 -0
- package/dist/src/security/yamlValidator.d.ts.map +1 -0
- package/dist/src/security/yamlValidator.js +138 -0
- package/dist/src/server/ServerSetup.d.ts +31 -0
- package/dist/src/server/ServerSetup.d.ts.map +1 -0
- package/dist/src/server/ServerSetup.js +79 -0
- package/dist/src/server/index.d.ts +7 -0
- package/dist/src/server/index.d.ts.map +1 -0
- package/dist/src/server/index.js +7 -0
- package/dist/src/server/tools/ConfigTools.d.ts +10 -0
- package/dist/src/server/tools/ConfigTools.d.ts.map +1 -0
- package/dist/src/server/tools/ConfigTools.js +63 -0
- package/dist/src/server/tools/MarketplaceTools.d.ts +10 -0
- package/dist/src/server/tools/MarketplaceTools.d.ts.map +1 -0
- package/dist/src/server/tools/MarketplaceTools.js +92 -0
- package/dist/src/server/tools/PersonaTools.d.ts +10 -0
- package/dist/src/server/tools/PersonaTools.d.ts.map +1 -0
- package/dist/src/server/tools/PersonaTools.js +257 -0
- package/dist/src/server/tools/ToolRegistry.d.ts +37 -0
- package/dist/src/server/tools/ToolRegistry.d.ts.map +1 -0
- package/dist/src/server/tools/ToolRegistry.js +40 -0
- package/dist/src/server/tools/UpdateTools.d.ts +10 -0
- package/dist/src/server/tools/UpdateTools.d.ts.map +1 -0
- package/dist/src/server/tools/UpdateTools.js +64 -0
- package/dist/src/server/tools/UserTools.d.ts +10 -0
- package/dist/src/server/tools/UserTools.d.ts.map +1 -0
- package/dist/src/server/tools/UserTools.js +51 -0
- package/dist/src/server/tools/index.d.ts +10 -0
- package/dist/src/server/tools/index.d.ts.map +1 -0
- package/dist/src/server/tools/index.js +10 -0
- package/dist/src/server/types.d.ts +34 -0
- package/dist/src/server/types.d.ts.map +1 -0
- package/dist/src/server/types.js +5 -0
- package/dist/src/tools/debug.d.ts +20 -0
- package/dist/src/tools/debug.d.ts.map +1 -0
- package/dist/src/tools/debug.js +37 -0
- package/dist/src/types/cache.d.ts +8 -0
- package/dist/src/types/cache.d.ts.map +1 -0
- package/dist/src/types/cache.js +5 -0
- package/dist/src/types/index.d.ts +8 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +8 -0
- package/dist/src/types/marketplace.d.ts +23 -0
- package/dist/src/types/marketplace.d.ts.map +1 -0
- package/dist/src/types/marketplace.js +5 -0
- package/dist/src/types/mcp.d.ts +161 -0
- package/dist/src/types/mcp.d.ts.map +1 -0
- package/dist/src/types/mcp.js +75 -0
- package/dist/src/types/persona.d.ts +30 -0
- package/dist/src/types/persona.d.ts.map +1 -0
- package/dist/src/types/persona.js +5 -0
- package/dist/src/update/BackupManager.d.ts +46 -0
- package/dist/src/update/BackupManager.d.ts.map +1 -0
- package/dist/src/update/BackupManager.js +261 -0
- package/dist/src/update/DependencyChecker.d.ts +41 -0
- package/dist/src/update/DependencyChecker.d.ts.map +1 -0
- package/dist/src/update/DependencyChecker.js +132 -0
- package/dist/src/update/RateLimiter.d.ts +80 -0
- package/dist/src/update/RateLimiter.d.ts.map +1 -0
- package/dist/src/update/RateLimiter.js +172 -0
- package/dist/src/update/SignatureVerifier.d.ts +71 -0
- package/dist/src/update/SignatureVerifier.d.ts.map +1 -0
- package/dist/src/update/SignatureVerifier.js +214 -0
- package/dist/src/update/UpdateChecker.d.ts +127 -0
- package/dist/src/update/UpdateChecker.d.ts.map +1 -0
- package/dist/src/update/UpdateChecker.js +460 -0
- package/dist/src/update/UpdateManager.d.ts +41 -0
- package/dist/src/update/UpdateManager.d.ts.map +1 -0
- package/dist/src/update/UpdateManager.js +260 -0
- package/dist/src/update/VersionManager.d.ts +31 -0
- package/dist/src/update/VersionManager.d.ts.map +1 -0
- package/dist/src/update/VersionManager.js +134 -0
- package/dist/src/update/index.d.ts +9 -0
- package/dist/src/update/index.d.ts.map +1 -0
- package/dist/src/update/index.js +9 -0
- package/dist/src/utils/filesystem.d.ts +32 -0
- package/dist/src/utils/filesystem.d.ts.map +1 -0
- package/dist/src/utils/filesystem.js +73 -0
- package/dist/src/utils/git.d.ts +32 -0
- package/dist/src/utils/git.d.ts.map +1 -0
- package/dist/src/utils/git.js +65 -0
- package/dist/src/utils/index.d.ts +7 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +7 -0
- package/dist/src/utils/logger.d.ts +45 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/utils/logger.js +91 -0
- package/dist/src/utils/version.d.ts +25 -0
- package/dist/src/utils/version.d.ts.map +1 -0
- package/dist/src/utils/version.js +97 -0
- package/dist/test/src/cache/APICache.d.ts +23 -0
- package/dist/test/src/cache/APICache.d.ts.map +1 -0
- package/dist/test/src/cache/APICache.js +42 -0
- package/dist/test/src/cache/index.d.ts +5 -0
- package/dist/test/src/cache/index.d.ts.map +1 -0
- package/dist/test/src/cache/index.js +5 -0
- package/dist/test/src/collection/CollectionBrowser.d.ts +24 -0
- package/dist/test/src/collection/CollectionBrowser.d.ts.map +1 -0
- package/dist/test/src/collection/CollectionBrowser.js +115 -0
- package/dist/test/src/collection/CollectionSearch.d.ts +18 -0
- package/dist/test/src/collection/CollectionSearch.d.ts.map +1 -0
- package/dist/test/src/collection/CollectionSearch.js +48 -0
- package/dist/test/src/collection/GitHubClient.d.ts +22 -0
- package/dist/test/src/collection/GitHubClient.d.ts.map +1 -0
- package/dist/test/src/collection/GitHubClient.js +114 -0
- package/dist/test/src/collection/PersonaDetails.d.ts +22 -0
- package/dist/test/src/collection/PersonaDetails.d.ts.map +1 -0
- package/dist/test/src/collection/PersonaDetails.js +71 -0
- package/dist/test/src/collection/PersonaInstaller.d.ts +26 -0
- package/dist/test/src/collection/PersonaInstaller.d.ts.map +1 -0
- package/dist/test/src/collection/PersonaInstaller.js +103 -0
- package/dist/test/src/collection/PersonaSubmitter.d.ts +19 -0
- package/dist/test/src/collection/PersonaSubmitter.d.ts.map +1 -0
- package/dist/test/src/collection/PersonaSubmitter.js +57 -0
- package/dist/test/src/collection/index.d.ts +10 -0
- package/dist/test/src/collection/index.d.ts.map +1 -0
- package/dist/test/src/collection/index.js +10 -0
- package/dist/test/src/config/constants.d.ts +25 -0
- package/dist/test/src/config/constants.d.ts.map +1 -0
- package/dist/test/src/config/constants.js +30 -0
- package/dist/test/src/config/index.d.ts +6 -0
- package/dist/test/src/config/index.d.ts.map +1 -0
- package/dist/test/src/config/index.js +6 -0
- package/dist/test/src/config/indicator-config.d.ts +107 -0
- package/dist/test/src/config/indicator-config.d.ts.map +1 -0
- package/dist/test/src/config/indicator-config.js +158 -0
- package/dist/test/src/constants/defaultPersonas.d.ts +10 -0
- package/dist/test/src/constants/defaultPersonas.d.ts.map +1 -0
- package/dist/test/src/constants/defaultPersonas.js +18 -0
- package/dist/test/src/constants/limits.d.ts +10 -0
- package/dist/test/src/constants/limits.d.ts.map +1 -0
- package/dist/test/src/constants/limits.js +13 -0
- package/dist/test/src/elements/BaseElement.d.ts +81 -0
- package/dist/test/src/elements/BaseElement.d.ts.map +1 -0
- package/dist/test/src/elements/BaseElement.js +381 -0
- package/dist/test/src/elements/FeedbackProcessor.d.ts +57 -0
- package/dist/test/src/elements/FeedbackProcessor.d.ts.map +1 -0
- package/dist/test/src/elements/FeedbackProcessor.js +418 -0
- package/dist/test/src/elements/agents/Agent.d.ts +145 -0
- package/dist/test/src/elements/agents/Agent.d.ts.map +1 -0
- package/dist/test/src/elements/agents/Agent.js +848 -0
- package/dist/test/src/elements/agents/AgentManager.d.ts +125 -0
- package/dist/test/src/elements/agents/AgentManager.d.ts.map +1 -0
- package/dist/test/src/elements/agents/AgentManager.js +608 -0
- package/dist/test/src/elements/agents/constants.d.ts +42 -0
- package/dist/test/src/elements/agents/constants.d.ts.map +1 -0
- package/dist/test/src/elements/agents/constants.js +45 -0
- package/dist/test/src/elements/agents/goalTemplates.d.ts +44 -0
- package/dist/test/src/elements/agents/goalTemplates.d.ts.map +1 -0
- package/dist/test/src/elements/agents/goalTemplates.js +297 -0
- package/dist/test/src/elements/agents/index.d.ts +8 -0
- package/dist/test/src/elements/agents/index.d.ts.map +1 -0
- package/dist/test/src/elements/agents/index.js +8 -0
- package/dist/test/src/elements/agents/ruleEngineConfig.d.ts +76 -0
- package/dist/test/src/elements/agents/ruleEngineConfig.d.ts.map +1 -0
- package/dist/test/src/elements/agents/ruleEngineConfig.js +143 -0
- package/dist/test/src/elements/agents/types.d.ts +97 -0
- package/dist/test/src/elements/agents/types.d.ts.map +1 -0
- package/dist/test/src/elements/agents/types.js +5 -0
- package/dist/test/src/elements/index.d.ts +6 -0
- package/dist/test/src/elements/index.d.ts.map +1 -0
- package/dist/test/src/elements/index.js +6 -0
- package/dist/test/src/elements/memories/Memory.d.ts +110 -0
- package/dist/test/src/elements/memories/Memory.d.ts.map +1 -0
- package/dist/test/src/elements/memories/Memory.js +470 -0
- package/dist/test/src/elements/memories/MemoryManager.d.ts +86 -0
- package/dist/test/src/elements/memories/MemoryManager.d.ts.map +1 -0
- package/dist/test/src/elements/memories/MemoryManager.js +435 -0
- package/dist/test/src/elements/memories/constants.d.ts +42 -0
- package/dist/test/src/elements/memories/constants.d.ts.map +1 -0
- package/dist/test/src/elements/memories/constants.js +49 -0
- package/dist/test/src/elements/memories/index.d.ts +6 -0
- package/dist/test/src/elements/memories/index.d.ts.map +1 -0
- package/dist/test/src/elements/memories/index.js +6 -0
- package/dist/test/src/elements/skills/Skill.d.ts +109 -0
- package/dist/test/src/elements/skills/Skill.d.ts.map +1 -0
- package/dist/test/src/elements/skills/Skill.js +381 -0
- package/dist/test/src/elements/templates/Template.d.ts +138 -0
- package/dist/test/src/elements/templates/Template.d.ts.map +1 -0
- package/dist/test/src/elements/templates/Template.js +673 -0
- package/dist/test/src/elements/templates/TemplateManager.d.ts +104 -0
- package/dist/test/src/elements/templates/TemplateManager.d.ts.map +1 -0
- package/dist/test/src/elements/templates/TemplateManager.js +496 -0
- package/dist/test/src/elements/templates/index.d.ts +6 -0
- package/dist/test/src/elements/templates/index.d.ts.map +1 -0
- package/dist/test/src/elements/templates/index.js +6 -0
- package/dist/test/src/errors/SecurityError.d.ts +29 -0
- package/dist/test/src/errors/SecurityError.d.ts.map +1 -0
- package/dist/test/src/errors/SecurityError.js +47 -0
- package/dist/test/src/errors/index.d.ts +2 -0
- package/dist/test/src/errors/index.d.ts.map +1 -0
- package/dist/test/src/errors/index.js +2 -0
- package/dist/test/src/index.barrel.d.ts +21 -0
- package/dist/test/src/index.barrel.d.ts.map +1 -0
- package/dist/test/src/index.barrel.js +31 -0
- package/dist/test/src/index.d.ts +223 -0
- package/dist/test/src/index.d.ts.map +1 -0
- package/dist/test/src/index.js +1594 -0
- package/dist/test/src/marketplace/GitHubClient.d.ts +22 -0
- package/dist/test/src/marketplace/GitHubClient.d.ts.map +1 -0
- package/dist/test/src/marketplace/GitHubClient.js +112 -0
- package/dist/test/src/marketplace/MarketplaceBrowser.d.ts +21 -0
- package/dist/test/src/marketplace/MarketplaceBrowser.d.ts.map +1 -0
- package/dist/test/src/marketplace/MarketplaceBrowser.js +45 -0
- package/dist/test/src/marketplace/MarketplaceSearch.d.ts +18 -0
- package/dist/test/src/marketplace/MarketplaceSearch.d.ts.map +1 -0
- package/dist/test/src/marketplace/MarketplaceSearch.js +36 -0
- package/dist/test/src/marketplace/PersonaDetails.d.ts +22 -0
- package/dist/test/src/marketplace/PersonaDetails.d.ts.map +1 -0
- package/dist/test/src/marketplace/PersonaDetails.js +71 -0
- package/dist/test/src/marketplace/PersonaInstaller.d.ts +25 -0
- package/dist/test/src/marketplace/PersonaInstaller.d.ts.map +1 -0
- package/dist/test/src/marketplace/PersonaInstaller.js +100 -0
- package/dist/test/src/marketplace/PersonaSubmitter.d.ts +19 -0
- package/dist/test/src/marketplace/PersonaSubmitter.d.ts.map +1 -0
- package/dist/test/src/marketplace/PersonaSubmitter.js +57 -0
- package/dist/test/src/marketplace/index.d.ts +10 -0
- package/dist/test/src/marketplace/index.d.ts.map +1 -0
- package/dist/test/src/marketplace/index.js +10 -0
- package/dist/test/src/persona/PersonaElement.d.ts +64 -0
- package/dist/test/src/persona/PersonaElement.d.ts.map +1 -0
- package/dist/test/src/persona/PersonaElement.js +223 -0
- package/dist/test/src/persona/PersonaElementManager.d.ts +97 -0
- package/dist/test/src/persona/PersonaElementManager.d.ts.map +1 -0
- package/dist/test/src/persona/PersonaElementManager.js +342 -0
- package/dist/test/src/persona/PersonaLoader.d.ts +34 -0
- package/dist/test/src/persona/PersonaLoader.d.ts.map +1 -0
- package/dist/test/src/persona/PersonaLoader.js +145 -0
- package/dist/test/src/persona/PersonaManager.d.ts +112 -0
- package/dist/test/src/persona/PersonaManager.d.ts.map +1 -0
- package/dist/test/src/persona/PersonaManager.js +341 -0
- package/dist/test/src/persona/PersonaValidator.d.ts +33 -0
- package/dist/test/src/persona/PersonaValidator.d.ts.map +1 -0
- package/dist/test/src/persona/PersonaValidator.js +157 -0
- package/dist/test/src/persona/export-import/PersonaExporter.d.ts +43 -0
- package/dist/test/src/persona/export-import/PersonaExporter.d.ts.map +1 -0
- package/dist/test/src/persona/export-import/PersonaExporter.js +99 -0
- package/dist/test/src/persona/export-import/PersonaImporter.d.ts +65 -0
- package/dist/test/src/persona/export-import/PersonaImporter.d.ts.map +1 -0
- package/dist/test/src/persona/export-import/PersonaImporter.js +315 -0
- package/dist/test/src/persona/export-import/PersonaSharer.d.ts +60 -0
- package/dist/test/src/persona/export-import/PersonaSharer.d.ts.map +1 -0
- package/dist/test/src/persona/export-import/PersonaSharer.js +502 -0
- package/dist/test/src/persona/export-import/index.d.ts +10 -0
- package/dist/test/src/persona/export-import/index.d.ts.map +1 -0
- package/dist/test/src/persona/export-import/index.js +7 -0
- package/dist/test/src/persona/index.d.ts +7 -0
- package/dist/test/src/persona/index.d.ts.map +1 -0
- package/dist/test/src/persona/index.js +7 -0
- package/dist/test/src/portfolio/MigrationManager.d.ts +44 -0
- package/dist/test/src/portfolio/MigrationManager.d.ts.map +1 -0
- package/dist/test/src/portfolio/MigrationManager.js +163 -0
- package/dist/test/src/portfolio/PortfolioManager.d.ts +54 -0
- package/dist/test/src/portfolio/PortfolioManager.d.ts.map +1 -0
- package/dist/test/src/portfolio/PortfolioManager.js +224 -0
- package/dist/test/src/portfolio/types.d.ts +18 -0
- package/dist/test/src/portfolio/types.d.ts.map +1 -0
- package/dist/test/src/portfolio/types.js +13 -0
- package/dist/test/src/security/InputValidator.d.ts +80 -0
- package/dist/test/src/security/InputValidator.d.ts.map +1 -0
- package/dist/test/src/security/InputValidator.js +436 -0
- package/dist/test/src/security/audit/SecurityAuditor.d.ts +44 -0
- package/dist/test/src/security/audit/SecurityAuditor.d.ts.map +1 -0
- package/dist/test/src/security/audit/SecurityAuditor.js +274 -0
- package/dist/test/src/security/audit/config/suppressions.d.ts +34 -0
- package/dist/test/src/security/audit/config/suppressions.d.ts.map +1 -0
- package/dist/test/src/security/audit/config/suppressions.js +575 -0
- package/dist/test/src/security/audit/index.d.ts +14 -0
- package/dist/test/src/security/audit/index.d.ts.map +1 -0
- package/dist/test/src/security/audit/index.js +15 -0
- package/dist/test/src/security/audit/reporters/ConsoleReporter.d.ts +46 -0
- package/dist/test/src/security/audit/reporters/ConsoleReporter.d.ts.map +1 -0
- package/dist/test/src/security/audit/reporters/ConsoleReporter.js +174 -0
- package/dist/test/src/security/audit/reporters/JsonReporter.d.ts +13 -0
- package/dist/test/src/security/audit/reporters/JsonReporter.d.ts.map +1 -0
- package/dist/test/src/security/audit/reporters/JsonReporter.js +25 -0
- package/dist/test/src/security/audit/reporters/MarkdownReporter.d.ts +13 -0
- package/dist/test/src/security/audit/reporters/MarkdownReporter.d.ts.map +1 -0
- package/dist/test/src/security/audit/reporters/MarkdownReporter.js +79 -0
- package/dist/test/src/security/audit/rules/SecurityRules.d.ts +20 -0
- package/dist/test/src/security/audit/rules/SecurityRules.d.ts.map +1 -0
- package/dist/test/src/security/audit/rules/SecurityRules.js +244 -0
- package/dist/test/src/security/audit/scanners/CodeScanner.d.ts +47 -0
- package/dist/test/src/security/audit/scanners/CodeScanner.d.ts.map +1 -0
- package/dist/test/src/security/audit/scanners/CodeScanner.js +174 -0
- package/dist/test/src/security/audit/scanners/ConfigurationScanner.d.ts +13 -0
- package/dist/test/src/security/audit/scanners/ConfigurationScanner.d.ts.map +1 -0
- package/dist/test/src/security/audit/scanners/ConfigurationScanner.js +22 -0
- package/dist/test/src/security/audit/scanners/DependencyScanner.d.ts +13 -0
- package/dist/test/src/security/audit/scanners/DependencyScanner.d.ts.map +1 -0
- package/dist/test/src/security/audit/scanners/DependencyScanner.js +22 -0
- package/dist/test/src/security/audit/types.d.ts +94 -0
- package/dist/test/src/security/audit/types.d.ts.map +1 -0
- package/dist/test/src/security/audit/types.js +6 -0
- package/dist/test/src/security/commandValidator.d.ts +7 -0
- package/dist/test/src/security/commandValidator.d.ts.map +1 -0
- package/dist/test/src/security/commandValidator.js +78 -0
- package/dist/test/src/security/constants.d.ts +24 -0
- package/dist/test/src/security/constants.d.ts.map +1 -0
- package/dist/test/src/security/constants.js +26 -0
- package/dist/test/src/security/contentValidator.d.ts +47 -0
- package/dist/test/src/security/contentValidator.d.ts.map +1 -0
- package/dist/test/src/security/contentValidator.js +301 -0
- package/dist/test/src/security/errors.d.ts +14 -0
- package/dist/test/src/security/errors.d.ts.map +1 -0
- package/dist/test/src/security/errors.js +28 -0
- package/dist/test/src/security/fileLockManager.d.ts +70 -0
- package/dist/test/src/security/fileLockManager.d.ts.map +1 -0
- package/dist/test/src/security/fileLockManager.js +187 -0
- package/dist/test/src/security/index.d.ts +12 -0
- package/dist/test/src/security/index.d.ts.map +1 -0
- package/dist/test/src/security/index.js +14 -0
- package/dist/test/src/security/pathValidator.d.ts +9 -0
- package/dist/test/src/security/pathValidator.d.ts.map +1 -0
- package/dist/test/src/security/pathValidator.js +98 -0
- package/dist/test/src/security/regexValidator.d.ts +59 -0
- package/dist/test/src/security/regexValidator.d.ts.map +1 -0
- package/dist/test/src/security/regexValidator.js +214 -0
- package/dist/test/src/security/secureYamlParser.d.ts +46 -0
- package/dist/test/src/security/secureYamlParser.d.ts.map +1 -0
- package/dist/test/src/security/secureYamlParser.js +203 -0
- package/dist/test/src/security/securityMonitor.d.ts +58 -0
- package/dist/test/src/security/securityMonitor.d.ts.map +1 -0
- package/dist/test/src/security/securityMonitor.js +108 -0
- package/dist/test/src/security/tokenManager.d.ts +85 -0
- package/dist/test/src/security/tokenManager.d.ts.map +1 -0
- package/dist/test/src/security/tokenManager.js +286 -0
- package/dist/test/src/security/validators/unicodeValidator.d.ts +97 -0
- package/dist/test/src/security/validators/unicodeValidator.d.ts.map +1 -0
- package/dist/test/src/security/validators/unicodeValidator.js +312 -0
- package/dist/test/src/security/yamlValidator.d.ts +21 -0
- package/dist/test/src/security/yamlValidator.d.ts.map +1 -0
- package/dist/test/src/security/yamlValidator.js +164 -0
- package/dist/test/src/server/ServerSetup.d.ts +35 -0
- package/dist/test/src/server/ServerSetup.d.ts.map +1 -0
- package/dist/test/src/server/ServerSetup.js +116 -0
- package/dist/test/src/server/index.d.ts +7 -0
- package/dist/test/src/server/index.d.ts.map +1 -0
- package/dist/test/src/server/index.js +7 -0
- package/dist/test/src/server/startup.d.ts +31 -0
- package/dist/test/src/server/startup.d.ts.map +1 -0
- package/dist/test/src/server/startup.js +67 -0
- package/dist/test/src/server/tools/CollectionTools.d.ts +10 -0
- package/dist/test/src/server/tools/CollectionTools.d.ts.map +1 -0
- package/dist/test/src/server/tools/CollectionTools.js +96 -0
- package/dist/test/src/server/tools/ConfigTools.d.ts +10 -0
- package/dist/test/src/server/tools/ConfigTools.d.ts.map +1 -0
- package/dist/test/src/server/tools/ConfigTools.js +63 -0
- package/dist/test/src/server/tools/MarketplaceTools.d.ts +10 -0
- package/dist/test/src/server/tools/MarketplaceTools.d.ts.map +1 -0
- package/dist/test/src/server/tools/MarketplaceTools.js +92 -0
- package/dist/test/src/server/tools/PersonaTools.d.ts +10 -0
- package/dist/test/src/server/tools/PersonaTools.d.ts.map +1 -0
- package/dist/test/src/server/tools/PersonaTools.js +257 -0
- package/dist/test/src/server/tools/ToolRegistry.d.ts +37 -0
- package/dist/test/src/server/tools/ToolRegistry.d.ts.map +1 -0
- package/dist/test/src/server/tools/ToolRegistry.js +40 -0
- package/dist/test/src/server/tools/UpdateTools.d.ts +10 -0
- package/dist/test/src/server/tools/UpdateTools.d.ts.map +1 -0
- package/dist/test/src/server/tools/UpdateTools.js +64 -0
- package/dist/test/src/server/tools/UserTools.d.ts +10 -0
- package/dist/test/src/server/tools/UserTools.d.ts.map +1 -0
- package/dist/test/src/server/tools/UserTools.js +51 -0
- package/dist/test/src/server/tools/index.d.ts +10 -0
- package/dist/test/src/server/tools/index.d.ts.map +1 -0
- package/dist/test/src/server/tools/index.js +10 -0
- package/dist/test/src/server/types.d.ts +34 -0
- package/dist/test/src/server/types.d.ts.map +1 -0
- package/dist/test/src/server/types.js +5 -0
- package/dist/test/src/tools/debug.d.ts +20 -0
- package/dist/test/src/tools/debug.d.ts.map +1 -0
- package/dist/test/src/tools/debug.js +37 -0
- package/dist/test/src/types/cache.d.ts +8 -0
- package/dist/test/src/types/cache.d.ts.map +1 -0
- package/dist/test/src/types/cache.js +5 -0
- package/dist/test/src/types/collection.d.ts +23 -0
- package/dist/test/src/types/collection.d.ts.map +1 -0
- package/dist/test/src/types/collection.js +5 -0
- package/dist/test/src/types/elements/IElement.d.ts +123 -0
- package/dist/test/src/types/elements/IElement.d.ts.map +1 -0
- package/dist/test/src/types/elements/IElement.js +30 -0
- package/dist/test/src/types/elements/IElementManager.d.ts +65 -0
- package/dist/test/src/types/elements/IElementManager.d.ts.map +1 -0
- package/dist/test/src/types/elements/IElementManager.js +6 -0
- package/dist/test/src/types/elements/IRatingManager.d.ts +109 -0
- package/dist/test/src/types/elements/IRatingManager.d.ts.map +1 -0
- package/dist/test/src/types/elements/IRatingManager.js +6 -0
- package/dist/test/src/types/elements/IReferenceResolver.d.ts +52 -0
- package/dist/test/src/types/elements/IReferenceResolver.d.ts.map +1 -0
- package/dist/test/src/types/elements/IReferenceResolver.js +6 -0
- package/dist/test/src/types/elements/RatingBreakdowns.d.ts +49 -0
- package/dist/test/src/types/elements/RatingBreakdowns.d.ts.map +1 -0
- package/dist/test/src/types/elements/RatingBreakdowns.js +6 -0
- package/dist/test/src/types/elements/index.d.ts +9 -0
- package/dist/test/src/types/elements/index.d.ts.map +1 -0
- package/dist/test/src/types/elements/index.js +11 -0
- package/dist/test/src/types/index.d.ts +9 -0
- package/dist/test/src/types/index.d.ts.map +1 -0
- package/dist/test/src/types/index.js +9 -0
- package/dist/test/src/types/marketplace.d.ts +23 -0
- package/dist/test/src/types/marketplace.d.ts.map +1 -0
- package/dist/test/src/types/marketplace.js +5 -0
- package/dist/test/src/types/mcp.d.ts +84 -0
- package/dist/test/src/types/mcp.d.ts.map +1 -0
- package/dist/test/src/types/mcp.js +80 -0
- package/dist/test/src/types/persona.d.ts +30 -0
- package/dist/test/src/types/persona.d.ts.map +1 -0
- package/dist/test/src/types/persona.js +5 -0
- package/dist/test/src/update/BackupManager.d.ts +46 -0
- package/dist/test/src/update/BackupManager.d.ts.map +1 -0
- package/dist/test/src/update/BackupManager.js +261 -0
- package/dist/test/src/update/DependencyChecker.d.ts +41 -0
- package/dist/test/src/update/DependencyChecker.d.ts.map +1 -0
- package/dist/test/src/update/DependencyChecker.js +132 -0
- package/dist/test/src/update/RateLimiter.d.ts +80 -0
- package/dist/test/src/update/RateLimiter.d.ts.map +1 -0
- package/dist/test/src/update/RateLimiter.js +172 -0
- package/dist/test/src/update/SignatureVerifier.d.ts +71 -0
- package/dist/test/src/update/SignatureVerifier.d.ts.map +1 -0
- package/dist/test/src/update/SignatureVerifier.js +214 -0
- package/dist/test/src/update/UpdateChecker.d.ts +127 -0
- package/dist/test/src/update/UpdateChecker.d.ts.map +1 -0
- package/dist/test/src/update/UpdateChecker.js +469 -0
- package/dist/test/src/update/UpdateManager.d.ts +41 -0
- package/dist/test/src/update/UpdateManager.d.ts.map +1 -0
- package/dist/test/src/update/UpdateManager.js +260 -0
- package/dist/test/src/update/VersionManager.d.ts +31 -0
- package/dist/test/src/update/VersionManager.d.ts.map +1 -0
- package/dist/test/src/update/VersionManager.js +134 -0
- package/dist/test/src/update/index.d.ts +9 -0
- package/dist/test/src/update/index.d.ts.map +1 -0
- package/dist/test/src/update/index.js +9 -0
- package/dist/test/src/utils/filesystem.d.ts +29 -0
- package/dist/test/src/utils/filesystem.d.ts.map +1 -0
- package/dist/test/src/utils/filesystem.js +94 -0
- package/dist/test/src/utils/git.d.ts +32 -0
- package/dist/test/src/utils/git.d.ts.map +1 -0
- package/dist/test/src/utils/git.js +65 -0
- package/dist/test/src/utils/index.d.ts +7 -0
- package/dist/test/src/utils/index.d.ts.map +1 -0
- package/dist/test/src/utils/index.js +7 -0
- package/dist/test/src/utils/logger.d.ts +45 -0
- package/dist/test/src/utils/logger.d.ts.map +1 -0
- package/dist/test/src/utils/logger.js +91 -0
- package/dist/test/src/utils/version.d.ts +25 -0
- package/dist/test/src/utils/version.d.ts.map +1 -0
- package/dist/test/src/utils/version.js +97 -0
- package/dist/test/test/__tests__/integration/helpers/file-utils.d.ts +33 -0
- package/dist/test/test/__tests__/integration/helpers/file-utils.d.ts.map +1 -0
- package/dist/test/test/__tests__/integration/helpers/file-utils.js +83 -0
- package/dist/test/test/__tests__/integration/helpers/test-fixtures.d.ts +26 -0
- package/dist/test/test/__tests__/integration/helpers/test-fixtures.d.ts.map +1 -0
- package/dist/test/test/__tests__/integration/helpers/test-fixtures.js +95 -0
- package/dist/test/test/__tests__/integration/helpers/test-server.d.ts +26 -0
- package/dist/test/test/__tests__/integration/helpers/test-server.d.ts.map +1 -0
- package/dist/test/test/__tests__/integration/helpers/test-server.js +41 -0
- package/dist/test/test/__tests__/integration/setup.d.ts +8 -0
- package/dist/test/test/__tests__/integration/setup.d.ts.map +1 -0
- package/dist/test/test/__tests__/integration/setup.js +31 -0
- package/dist/test/test/__tests__/integration/teardown.d.ts +5 -0
- package/dist/test/test/__tests__/integration/teardown.d.ts.map +1 -0
- package/dist/test/test/__tests__/integration/teardown.js +23 -0
- package/dist/test/test/__tests__/security/framework/RapidSecurityTesting.d.ts +34 -0
- package/dist/test/test/__tests__/security/framework/RapidSecurityTesting.d.ts.map +1 -0
- package/dist/test/test/__tests__/security/framework/RapidSecurityTesting.js +224 -0
- package/dist/test/test/__tests__/security/framework/SecurityTestFramework.d.ts +89 -0
- package/dist/test/test/__tests__/security/framework/SecurityTestFramework.d.ts.map +1 -0
- package/dist/test/test/__tests__/security/framework/SecurityTestFramework.js +543 -0
- package/dist/test/test/__tests__/security/index.d.ts +46 -0
- package/dist/test/test/__tests__/security/index.d.ts.map +1 -0
- package/dist/test/test/__tests__/security/index.js +98 -0
- package/dist/test/test/__tests__/security/setup.d.ts +3 -0
- package/dist/test/test/__tests__/security/setup.d.ts.map +1 -0
- package/dist/test/test/__tests__/security/setup.js +23 -0
- package/dist/tools/debug.d.ts +20 -0
- package/dist/tools/debug.d.ts.map +1 -0
- package/dist/tools/debug.js +37 -0
- package/dist/types/cache.d.ts +8 -0
- package/dist/types/cache.d.ts.map +1 -0
- package/dist/types/cache.js +5 -0
- package/dist/types/collection.d.ts +23 -0
- package/dist/types/collection.d.ts.map +1 -0
- package/dist/types/collection.js +5 -0
- package/dist/types/elements/IElement.d.ts +123 -0
- package/dist/types/elements/IElement.d.ts.map +1 -0
- package/dist/types/elements/IElement.js +30 -0
- package/dist/types/elements/IElementManager.d.ts +65 -0
- package/dist/types/elements/IElementManager.d.ts.map +1 -0
- package/dist/types/elements/IElementManager.js +6 -0
- package/dist/types/elements/IRatingManager.d.ts +109 -0
- package/dist/types/elements/IRatingManager.d.ts.map +1 -0
- package/dist/types/elements/IRatingManager.js +6 -0
- package/dist/types/elements/IReferenceResolver.d.ts +52 -0
- package/dist/types/elements/IReferenceResolver.d.ts.map +1 -0
- package/dist/types/elements/IReferenceResolver.js +6 -0
- package/dist/types/elements/RatingBreakdowns.d.ts +49 -0
- package/dist/types/elements/RatingBreakdowns.d.ts.map +1 -0
- package/dist/types/elements/RatingBreakdowns.js +6 -0
- package/dist/types/elements/index.d.ts +9 -0
- package/dist/types/elements/index.d.ts.map +1 -0
- package/dist/types/elements/index.js +11 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +9 -0
- package/dist/types/marketplace.d.ts +23 -0
- package/dist/types/marketplace.d.ts.map +1 -0
- package/dist/types/marketplace.js +5 -0
- package/dist/types/mcp.d.ts +84 -0
- package/dist/types/mcp.d.ts.map +1 -0
- package/dist/types/mcp.js +80 -0
- package/dist/types/persona.d.ts +30 -0
- package/dist/types/persona.d.ts.map +1 -0
- package/dist/types/persona.js +5 -0
- package/dist/update/BackupManager.d.ts +46 -0
- package/dist/update/BackupManager.d.ts.map +1 -0
- package/dist/update/BackupManager.js +261 -0
- package/dist/update/DependencyChecker.d.ts +41 -0
- package/dist/update/DependencyChecker.d.ts.map +1 -0
- package/dist/update/DependencyChecker.js +132 -0
- package/dist/update/RateLimiter.d.ts +80 -0
- package/dist/update/RateLimiter.d.ts.map +1 -0
- package/dist/update/RateLimiter.js +172 -0
- package/dist/update/SignatureVerifier.d.ts +71 -0
- package/dist/update/SignatureVerifier.d.ts.map +1 -0
- package/dist/update/SignatureVerifier.js +214 -0
- package/dist/update/UpdateChecker.d.ts +127 -0
- package/dist/update/UpdateChecker.d.ts.map +1 -0
- package/dist/update/UpdateChecker.js +469 -0
- package/dist/update/UpdateManager.d.ts +41 -0
- package/dist/update/UpdateManager.d.ts.map +1 -0
- package/dist/update/UpdateManager.js +260 -0
- package/dist/update/VersionManager.d.ts +31 -0
- package/dist/update/VersionManager.d.ts.map +1 -0
- package/dist/update/VersionManager.js +134 -0
- package/dist/update/index.d.ts +9 -0
- package/dist/update/index.d.ts.map +1 -0
- package/dist/update/index.js +9 -0
- package/dist/utils/filesystem.d.ts +29 -0
- package/dist/utils/filesystem.d.ts.map +1 -0
- package/dist/utils/filesystem.js +94 -0
- package/dist/utils/git.d.ts +32 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +65 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/logger.d.ts +45 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +91 -0
- package/dist/utils/version.d.ts +25 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +97 -0
- package/package.json +128 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Install content from collection
|
|
3
|
+
*/
|
|
4
|
+
import * as fs from 'fs/promises';
|
|
5
|
+
import * as path from 'path';
|
|
6
|
+
import { validatePath, validateFilename, validateContentSize } from '../security/InputValidator.js';
|
|
7
|
+
import { SECURITY_LIMITS } from '../security/constants.js';
|
|
8
|
+
import { ContentValidator } from '../security/contentValidator.js';
|
|
9
|
+
import { SecureYamlParser } from '../security/secureYamlParser.js';
|
|
10
|
+
import { SecurityError } from '../errors/SecurityError.js';
|
|
11
|
+
import { PortfolioManager, ElementType } from '../portfolio/PortfolioManager.js';
|
|
12
|
+
export class PersonaInstaller {
|
|
13
|
+
githubClient;
|
|
14
|
+
personasDir;
|
|
15
|
+
portfolioManager;
|
|
16
|
+
baseUrl = 'https://api.github.com/repos/DollhouseMCP/collection/contents';
|
|
17
|
+
constructor(githubClient, personasDir) {
|
|
18
|
+
this.githubClient = githubClient;
|
|
19
|
+
this.portfolioManager = PortfolioManager.getInstance();
|
|
20
|
+
this.personasDir = personasDir || this.portfolioManager.getElementDir(ElementType.PERSONA);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Install content from the collection
|
|
24
|
+
*/
|
|
25
|
+
async installContent(inputPath) {
|
|
26
|
+
// Validate and sanitize the input path
|
|
27
|
+
const sanitizedPath = validatePath(inputPath);
|
|
28
|
+
// Ensure the path ends with .md
|
|
29
|
+
if (!sanitizedPath.endsWith('.md')) {
|
|
30
|
+
throw new Error('Invalid file type. Only .md files are allowed.');
|
|
31
|
+
}
|
|
32
|
+
const url = `${this.baseUrl}/${sanitizedPath}`;
|
|
33
|
+
const data = await this.githubClient.fetchFromGitHub(url);
|
|
34
|
+
if (data.type !== 'file') {
|
|
35
|
+
throw new Error('Path does not point to a file');
|
|
36
|
+
}
|
|
37
|
+
// Check file size before downloading
|
|
38
|
+
if (data.size > SECURITY_LIMITS.MAX_PERSONA_SIZE_BYTES) {
|
|
39
|
+
throw new Error(`File too large (${data.size} bytes, max ${SECURITY_LIMITS.MAX_PERSONA_SIZE_BYTES} bytes)`);
|
|
40
|
+
}
|
|
41
|
+
// Decode Base64 content
|
|
42
|
+
const content = Buffer.from(data.content, 'base64').toString('utf-8');
|
|
43
|
+
// Validate content size after decoding
|
|
44
|
+
validateContentSize(content, SECURITY_LIMITS.MAX_PERSONA_SIZE_BYTES);
|
|
45
|
+
// Sanitize content for security threats
|
|
46
|
+
const sanitizedContent = ContentValidator.sanitizePersonaContent(content);
|
|
47
|
+
// Use secure YAML parser
|
|
48
|
+
let parsed;
|
|
49
|
+
try {
|
|
50
|
+
parsed = SecureYamlParser.safeMatter(sanitizedContent);
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
if (error instanceof SecurityError) {
|
|
54
|
+
throw new Error(`Security threat in content: ${error.message}`);
|
|
55
|
+
}
|
|
56
|
+
throw error;
|
|
57
|
+
}
|
|
58
|
+
const metadata = parsed.data;
|
|
59
|
+
// Additional metadata validation for injection attacks
|
|
60
|
+
const metadataValidation = ContentValidator.validateMetadata(metadata);
|
|
61
|
+
if (!metadataValidation.isValid) {
|
|
62
|
+
throw new Error(`Security validation failed: ${metadataValidation.detectedPatterns?.join(', ')}`);
|
|
63
|
+
}
|
|
64
|
+
// Validate metadata
|
|
65
|
+
if (!metadata.name || !metadata.description) {
|
|
66
|
+
throw new Error('Invalid content: missing required name or description');
|
|
67
|
+
}
|
|
68
|
+
// Generate and validate local filename
|
|
69
|
+
const originalFilename = sanitizedPath.split('/').pop() || 'downloaded-persona.md';
|
|
70
|
+
const filename = validateFilename(originalFilename);
|
|
71
|
+
const localPath = path.join(this.personasDir, filename);
|
|
72
|
+
// Check if file already exists
|
|
73
|
+
try {
|
|
74
|
+
await fs.access(localPath);
|
|
75
|
+
return {
|
|
76
|
+
success: false,
|
|
77
|
+
message: `Content already exists: ${filename}\n\nUse \`reload_personas\` to refresh if you've updated it manually.`
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
// File doesn't exist, proceed with installation
|
|
82
|
+
}
|
|
83
|
+
// Write the sanitized file
|
|
84
|
+
await fs.writeFile(localPath, sanitizedContent, 'utf-8');
|
|
85
|
+
return {
|
|
86
|
+
success: true,
|
|
87
|
+
message: `Content installed successfully!`,
|
|
88
|
+
metadata,
|
|
89
|
+
filename
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Format installation success message
|
|
94
|
+
*/
|
|
95
|
+
formatInstallSuccess(metadata, filename, totalPersonas, personaIndicator = '') {
|
|
96
|
+
return `${personaIndicator}✅ **Content Installed Successfully!**\n\n` +
|
|
97
|
+
`🎭 **${metadata.name}** by ${metadata.author}\n` +
|
|
98
|
+
`📁 Saved as: ${filename}\n` +
|
|
99
|
+
`📊 Total personas: ${totalPersonas}\n\n` +
|
|
100
|
+
`🎯 **Ready to use:** \`activate_persona "${metadata.name}"\``;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyc29uYUluc3RhbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xsZWN0aW9uL1BlcnNvbmFJbnN0YWxsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsQyxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUk3QixPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFakYsTUFBTSxPQUFPLGdCQUFnQjtJQUNuQixZQUFZLENBQWU7SUFDM0IsV0FBVyxDQUFTO0lBQ3BCLGdCQUFnQixDQUFtQjtJQUNuQyxPQUFPLEdBQUcsK0RBQStELENBQUM7SUFFbEYsWUFBWSxZQUEwQixFQUFFLFdBQW9CO1FBQzFELElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQWlCO1FBTXBDLHVDQUF1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T0FBTztnQkFDTCxPQUFPLEVBQUUsS0FBSztnQkFDZCxPQUFPLEVBQUUsMkJBQTJCLFFBQVEsdUVBQXVFO2FBQ3BILENBQUM7UUFDSixDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsZ0RBQWdEO1FBQ2xELENBQUM7UUFFRCwyQkFBMkI7UUFDM0IsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUV6RCxPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsaUNBQWlDO1lBQzFDLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQixDQUFDLFFBQXlCLEVBQUUsUUFBZ0IsRUFBRSxhQUFxQixFQUFFLG1CQUEyQixFQUFFO1FBQ3BILE9BQU8sR0FBRyxnQkFBZ0IsMkNBQTJDO1lBQ25FLFFBQVEsUUFBUSxDQUFDLElBQUksU0FBUyxRQUFRLENBQUMsTUFBTSxJQUFJO1lBQ2pELGdCQUFnQixRQUFRLElBQUk7WUFDNUIsc0JBQXNCLGFBQWEsTUFBTTtZQUN6Qyw0Q0FBNEMsUUFBUSxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ25FLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSW5zdGFsbCBjb250ZW50IGZyb20gY29sbGVjdGlvblxuICovXG5cbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzL3Byb21pc2VzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgbWF0dGVyIGZyb20gJ2dyYXktbWF0dGVyJztcbmltcG9ydCB7IEdpdEh1YkNsaWVudCB9IGZyb20gJy4vR2l0SHViQ2xpZW50LmpzJztcbmltcG9ydCB7IFBlcnNvbmFNZXRhZGF0YSB9IGZyb20gJy4uL3R5cGVzL3BlcnNvbmEuanMnO1xuaW1wb3J0IHsgdmFsaWRhdGVQYXRoLCB2YWxpZGF0ZUZpbGVuYW1lLCB2YWxpZGF0ZUNvbnRlbnRTaXplIH0gZnJvbSAnLi4vc2VjdXJpdHkvSW5wdXRWYWxpZGF0b3IuanMnO1xuaW1wb3J0IHsgU0VDVVJJVFlfTElNSVRTIH0gZnJvbSAnLi4vc2VjdXJpdHkvY29uc3RhbnRzLmpzJztcbmltcG9ydCB7IENvbnRlbnRWYWxpZGF0b3IgfSBmcm9tICcuLi9zZWN1cml0eS9jb250ZW50VmFsaWRhdG9yLmpzJztcbmltcG9ydCB7IFNlY3VyZVlhbWxQYXJzZXIgfSBmcm9tICcuLi9zZWN1cml0eS9zZWN1cmVZYW1sUGFyc2VyLmpzJztcbmltcG9ydCB7IFNlY3VyaXR5RXJyb3IgfSBmcm9tICcuLi9lcnJvcnMvU2VjdXJpdHlFcnJvci5qcyc7XG5pbXBvcnQgeyBQb3J0Zm9saW9NYW5hZ2VyLCBFbGVtZW50VHlwZSB9IGZyb20gJy4uL3BvcnRmb2xpby9Qb3J0Zm9saW9NYW5hZ2VyLmpzJztcblxuZXhwb3J0IGNsYXNzIFBlcnNvbmFJbnN0YWxsZXIge1xuICBwcml2YXRlIGdpdGh1YkNsaWVudDogR2l0SHViQ2xpZW50O1xuICBwcml2YXRlIHBlcnNvbmFzRGlyOiBzdHJpbmc7XG4gIHByaXZhdGUgcG9ydGZvbGlvTWFuYWdlcjogUG9ydGZvbGlvTWFuYWdlcjtcbiAgcHJpdmF0ZSBiYXNlVXJsID0gJ2h0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvRG9sbGhvdXNlTUNQL2NvbGxlY3Rpb24vY29udGVudHMnO1xuICBcbiAgY29uc3RydWN0b3IoZ2l0aHViQ2xpZW50OiBHaXRIdWJDbGllbnQsIHBlcnNvbmFzRGlyPzogc3RyaW5nKSB7XG4gICAgdGhpcy5naXRodWJDbGllbnQgPSBnaXRodWJDbGllbnQ7XG4gICAgdGhpcy5wb3J0Zm9saW9NYW5hZ2VyID0gUG9ydGZvbGlvTWFuYWdlci5nZXRJbnN0YW5jZSgpO1xuICAgIHRoaXMucGVyc29uYXNEaXIgPSBwZXJzb25hc0RpciB8fCB0aGlzLnBvcnRmb2xpb01hbmFnZXIuZ2V0RWxlbWVudERpcihFbGVtZW50VHlwZS5QRVJTT05BKTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIEluc3RhbGwgY29udGVudCBmcm9tIHRoZSBjb2xsZWN0aW9uXG4gICAqL1xuICBhc3luYyBpbnN0YWxsQ29udGVudChpbnB1dFBhdGg6IHN0cmluZyk6IFByb21pc2U8eyBcbiAgICBzdWNjZXNzOiBib29sZWFuOyBcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgbWV0YWRhdGE/OiBQZXJzb25hTWV0YWRhdGE7XG4gICAgZmlsZW5hbWU/OiBzdHJpbmc7XG4gIH0+IHtcbiAgICAvLyBWYWxpZGF0ZSBhbmQgc2FuaXRpemUgdGhlIGlucHV0IHBhdGhcbiAgICBjb25zdCBzYW5pdGl6ZWRQYXRoID0gdmFsaWRhdGVQYXRoKGlucHV0UGF0aCk7XG4gICAgXG4gICAgLy8gRW5zdXJlIHRoZSBwYXRoIGVuZHMgd2l0aCAubWRcbiAgICBpZiAoIXNhbml0aXplZFBhdGguZW5kc1dpdGgoJy5tZCcpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZmlsZSB0eXBlLiBPbmx5IC5tZCBmaWxlcyBhcmUgYWxsb3dlZC4nKTtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5iYXNlVXJsfS8ke3Nhbml0aXplZFBhdGh9YDtcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5naXRodWJDbGllbnQuZmV0Y2hGcm9tR2l0SHViKHVybCk7XG4gICAgXG4gICAgaWYgKGRhdGEudHlwZSAhPT0gJ2ZpbGUnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BhdGggZG9lcyBub3QgcG9pbnQgdG8gYSBmaWxlJyk7XG4gICAgfVxuICAgIFxuICAgIC8vIENoZWNrIGZpbGUgc2l6ZSBiZWZvcmUgZG93bmxvYWRpbmdcbiAgICBpZiAoZGF0YS5zaXplID4gU0VDVVJJVFlfTElNSVRTLk1BWF9QRVJTT05BX1NJWkVfQllURVMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmlsZSB0b28gbGFyZ2UgKCR7ZGF0YS5zaXplfSBieXRlcywgbWF4ICR7U0VDVVJJVFlfTElNSVRTLk1BWF9QRVJTT05BX1NJWkVfQllURVN9IGJ5dGVzKWApO1xuICAgIH1cbiAgICBcbiAgICAvLyBEZWNvZGUgQmFzZTY0IGNvbnRlbnRcbiAgICBjb25zdCBjb250ZW50ID0gQnVmZmVyLmZyb20oZGF0YS5jb250ZW50LCAnYmFzZTY0JykudG9TdHJpbmcoJ3V0Zi04Jyk7XG4gICAgXG4gICAgLy8gVmFsaWRhdGUgY29udGVudCBzaXplIGFmdGVyIGRlY29kaW5nXG4gICAgdmFsaWRhdGVDb250ZW50U2l6ZShjb250ZW50LCBTRUNVUklUWV9MSU1JVFMuTUFYX1BFUlNPTkFfU0laRV9CWVRFUyk7XG4gICAgXG4gICAgLy8gU2FuaXRpemUgY29udGVudCBmb3Igc2VjdXJpdHkgdGhyZWF0c1xuICAgIGNvbnN0IHNhbml0aXplZENvbnRlbnQgPSBDb250ZW50VmFsaWRhdG9yLnNhbml0aXplUGVyc29uYUNvbnRlbnQoY29udGVudCk7XG4gICAgXG4gICAgLy8gVXNlIHNlY3VyZSBZQU1MIHBhcnNlclxuICAgIGxldCBwYXJzZWQ7XG4gICAgdHJ5IHtcbiAgICAgIHBhcnNlZCA9IFNlY3VyZVlhbWxQYXJzZXIuc2FmZU1hdHRlcihzYW5pdGl6ZWRDb250ZW50KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgU2VjdXJpdHlFcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFNlY3VyaXR5IHRocmVhdCBpbiBjb250ZW50OiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgbWV0YWRhdGEgPSBwYXJzZWQuZGF0YSBhcyBQZXJzb25hTWV0YWRhdGE7XG4gICAgXG4gICAgLy8gQWRkaXRpb25hbCBtZXRhZGF0YSB2YWxpZGF0aW9uIGZvciBpbmplY3Rpb24gYXR0YWNrc1xuICAgIGNvbnN0IG1ldGFkYXRhVmFsaWRhdGlvbiA9IENvbnRlbnRWYWxpZGF0b3IudmFsaWRhdGVNZXRhZGF0YShtZXRhZGF0YSk7XG4gICAgaWYgKCFtZXRhZGF0YVZhbGlkYXRpb24uaXNWYWxpZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTZWN1cml0eSB2YWxpZGF0aW9uIGZhaWxlZDogJHttZXRhZGF0YVZhbGlkYXRpb24uZGV0ZWN0ZWRQYXR0ZXJucz8uam9pbignLCAnKX1gKTtcbiAgICB9XG4gICAgXG4gICAgLy8gVmFsaWRhdGUgbWV0YWRhdGFcbiAgICBpZiAoIW1ldGFkYXRhLm5hbWUgfHwgIW1ldGFkYXRhLmRlc2NyaXB0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29udGVudDogbWlzc2luZyByZXF1aXJlZCBuYW1lIG9yIGRlc2NyaXB0aW9uJyk7XG4gICAgfVxuICAgIFxuICAgIC8vIEdlbmVyYXRlIGFuZCB2YWxpZGF0ZSBsb2NhbCBmaWxlbmFtZVxuICAgIGNvbnN0IG9yaWdpbmFsRmlsZW5hbWUgPSBzYW5pdGl6ZWRQYXRoLnNwbGl0KCcvJykucG9wKCkgfHwgJ2Rvd25sb2FkZWQtcGVyc29uYS5tZCc7XG4gICAgY29uc3QgZmlsZW5hbWUgPSB2YWxpZGF0ZUZpbGVuYW1lKG9yaWdpbmFsRmlsZW5hbWUpO1xuICAgIGNvbnN0IGxvY2FsUGF0aCA9IHBhdGguam9pbih0aGlzLnBlcnNvbmFzRGlyLCBmaWxlbmFtZSk7XG4gICAgXG4gICAgLy8gQ2hlY2sgaWYgZmlsZSBhbHJlYWR5IGV4aXN0c1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBmcy5hY2Nlc3MobG9jYWxQYXRoKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBtZXNzYWdlOiBgQ29udGVudCBhbHJlYWR5IGV4aXN0czogJHtmaWxlbmFtZX1cXG5cXG5Vc2UgXFxgcmVsb2FkX3BlcnNvbmFzXFxgIHRvIHJlZnJlc2ggaWYgeW91J3ZlIHVwZGF0ZWQgaXQgbWFudWFsbHkuYFxuICAgICAgfTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIEZpbGUgZG9lc24ndCBleGlzdCwgcHJvY2VlZCB3aXRoIGluc3RhbGxhdGlvblxuICAgIH1cbiAgICBcbiAgICAvLyBXcml0ZSB0aGUgc2FuaXRpemVkIGZpbGVcbiAgICBhd2FpdCBmcy53cml0ZUZpbGUobG9jYWxQYXRoLCBzYW5pdGl6ZWRDb250ZW50LCAndXRmLTgnKTtcbiAgICBcbiAgICByZXR1cm4ge1xuICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgIG1lc3NhZ2U6IGBDb250ZW50IGluc3RhbGxlZCBzdWNjZXNzZnVsbHkhYCxcbiAgICAgIG1ldGFkYXRhLFxuICAgICAgZmlsZW5hbWVcbiAgICB9O1xuICB9XG4gIFxuICAvKipcbiAgICogRm9ybWF0IGluc3RhbGxhdGlvbiBzdWNjZXNzIG1lc3NhZ2VcbiAgICovXG4gIGZvcm1hdEluc3RhbGxTdWNjZXNzKG1ldGFkYXRhOiBQZXJzb25hTWV0YWRhdGEsIGZpbGVuYW1lOiBzdHJpbmcsIHRvdGFsUGVyc29uYXM6IG51bWJlciwgcGVyc29uYUluZGljYXRvcjogc3RyaW5nID0gJycpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtwZXJzb25hSW5kaWNhdG9yfeKchSAqKkNvbnRlbnQgSW5zdGFsbGVkIFN1Y2Nlc3NmdWxseSEqKlxcblxcbmAgK1xuICAgICAgYPCfjq0gKioke21ldGFkYXRhLm5hbWV9KiogYnkgJHttZXRhZGF0YS5hdXRob3J9XFxuYCArXG4gICAgICBg8J+TgSBTYXZlZCBhczogJHtmaWxlbmFtZX1cXG5gICtcbiAgICAgIGDwn5OKIFRvdGFsIHBlcnNvbmFzOiAke3RvdGFsUGVyc29uYXN9XFxuXFxuYCArXG4gICAgICBg8J+OryAqKlJlYWR5IHRvIHVzZToqKiBcXGBhY3RpdmF0ZV9wZXJzb25hIFwiJHttZXRhZGF0YS5uYW1lfVwiXFxgYDtcbiAgfVxufSJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Submit personas to the collection
|
|
3
|
+
*/
|
|
4
|
+
import { Persona } from '../types/persona.js';
|
|
5
|
+
export declare class PersonaSubmitter {
|
|
6
|
+
/**
|
|
7
|
+
* Generate GitHub issue for persona submission
|
|
8
|
+
*/
|
|
9
|
+
generateSubmissionIssue(persona: Persona): {
|
|
10
|
+
issueTitle: string;
|
|
11
|
+
issueBody: string;
|
|
12
|
+
githubIssueUrl: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Format submission response
|
|
16
|
+
*/
|
|
17
|
+
formatSubmissionResponse(persona: Persona, githubIssueUrl: string, personaIndicator?: string): string;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=PersonaSubmitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PersonaSubmitter.d.ts","sourceRoot":"","sources":["../../../../src/collection/PersonaSubmitter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG;QACzC,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAA;KACvB;IAqCD;;OAEG;IACH,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAW,GAAG,MAAM;CAW1G"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Submit personas to the collection
|
|
3
|
+
*/
|
|
4
|
+
export class PersonaSubmitter {
|
|
5
|
+
/**
|
|
6
|
+
* Generate GitHub issue for persona submission
|
|
7
|
+
*/
|
|
8
|
+
generateSubmissionIssue(persona) {
|
|
9
|
+
const issueTitle = `New Persona Submission: ${persona.metadata.name}`;
|
|
10
|
+
const issueBody = `## Persona Submission
|
|
11
|
+
|
|
12
|
+
**Name:** ${persona.metadata.name}
|
|
13
|
+
**Author:** ${persona.metadata.author || 'Unknown'}
|
|
14
|
+
**Category:** ${persona.metadata.category || 'General'}
|
|
15
|
+
**Description:** ${persona.metadata.description}
|
|
16
|
+
|
|
17
|
+
### Persona Content:
|
|
18
|
+
\`\`\`markdown
|
|
19
|
+
---
|
|
20
|
+
${Object.entries(persona.metadata)
|
|
21
|
+
.map(([key, value]) => `${key}: ${Array.isArray(value) ? JSON.stringify(value) : JSON.stringify(value)}`)
|
|
22
|
+
.join('\n')}
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
${persona.content}
|
|
26
|
+
\`\`\`
|
|
27
|
+
|
|
28
|
+
### Submission Details:
|
|
29
|
+
- Submitted via DollhouseMCP client
|
|
30
|
+
- Filename: ${persona.filename}
|
|
31
|
+
- Unique ID: ${persona.unique_id}
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
*Please review this persona for inclusion in the collection.*`;
|
|
35
|
+
const githubIssueUrl = `https://github.com/DollhouseMCP/collection/issues/new?title=${encodeURIComponent(issueTitle)}&body=${encodeURIComponent(issueBody)}`;
|
|
36
|
+
return {
|
|
37
|
+
issueTitle,
|
|
38
|
+
issueBody,
|
|
39
|
+
githubIssueUrl
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Format submission response
|
|
44
|
+
*/
|
|
45
|
+
formatSubmissionResponse(persona, githubIssueUrl, personaIndicator = '') {
|
|
46
|
+
return `${personaIndicator}📤 **Persona Submission Prepared**\n\n` +
|
|
47
|
+
`🎭 **${persona.metadata.name}** is ready for collection submission!\n\n` +
|
|
48
|
+
`**Next Steps:**\n` +
|
|
49
|
+
`1. Click this link to create a GitHub issue: \n` +
|
|
50
|
+
` ${githubIssueUrl}\n\n` +
|
|
51
|
+
`2. Review the pre-filled content\n` +
|
|
52
|
+
`3. Click "Submit new issue"\n` +
|
|
53
|
+
`4. The maintainers will review your submission\n\n` +
|
|
54
|
+
`⭐ **Tip:** You can also submit via pull request if you're familiar with Git!`;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyc29uYVN1Ym1pdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xsZWN0aW9uL1BlcnNvbmFTdWJtaXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCOztPQUVHO0lBQ0gsdUJBQXVCLENBQUMsT0FBZ0I7UUFLdEMsTUFBTSxVQUFVLEdBQUcsMkJBQTJCLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEUsTUFBTSxTQUFTLEdBQUc7O1lBRVYsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJO2NBQ25CLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLFNBQVM7Z0JBQ2xDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLFNBQVM7bUJBQ25DLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVzs7Ozs7RUFLN0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO2FBQy9CLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsS0FBSyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7YUFDeEcsSUFBSSxDQUFDLElBQUksQ0FBQzs7O0VBR1gsT0FBTyxDQUFDLE9BQU87Ozs7O2NBS0gsT0FBTyxDQUFDLFFBQVE7ZUFDZixPQUFPLENBQUMsU0FBUzs7OzhEQUc4QixDQUFDO1FBRTNELE1BQU0sY0FBYyxHQUFHLCtEQUErRCxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBRTdKLE9BQU87WUFDTCxVQUFVO1lBQ1YsU0FBUztZQUNULGNBQWM7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsd0JBQXdCLENBQUMsT0FBZ0IsRUFBRSxjQUFzQixFQUFFLG1CQUEyQixFQUFFO1FBQzlGLE9BQU8sR0FBRyxnQkFBZ0Isd0NBQXdDO1lBQ2hFLFFBQVEsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLDRDQUE0QztZQUN6RSxtQkFBbUI7WUFDbkIsaURBQWlEO1lBQ2pELE1BQU0sY0FBYyxNQUFNO1lBQzFCLG9DQUFvQztZQUNwQywrQkFBK0I7WUFDL0Isb0RBQW9EO1lBQ3BELDhFQUE4RSxDQUFDO0lBQ25GLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3VibWl0IHBlcnNvbmFzIHRvIHRoZSBjb2xsZWN0aW9uXG4gKi9cblxuaW1wb3J0IHsgUGVyc29uYSB9IGZyb20gJy4uL3R5cGVzL3BlcnNvbmEuanMnO1xuXG5leHBvcnQgY2xhc3MgUGVyc29uYVN1Ym1pdHRlciB7XG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBHaXRIdWIgaXNzdWUgZm9yIHBlcnNvbmEgc3VibWlzc2lvblxuICAgKi9cbiAgZ2VuZXJhdGVTdWJtaXNzaW9uSXNzdWUocGVyc29uYTogUGVyc29uYSk6IHsgXG4gICAgaXNzdWVUaXRsZTogc3RyaW5nOyBcbiAgICBpc3N1ZUJvZHk6IHN0cmluZzsgXG4gICAgZ2l0aHViSXNzdWVVcmw6IHN0cmluZyBcbiAgfSB7XG4gICAgY29uc3QgaXNzdWVUaXRsZSA9IGBOZXcgUGVyc29uYSBTdWJtaXNzaW9uOiAke3BlcnNvbmEubWV0YWRhdGEubmFtZX1gO1xuICAgIGNvbnN0IGlzc3VlQm9keSA9IGAjIyBQZXJzb25hIFN1Ym1pc3Npb25cblxuKipOYW1lOioqICR7cGVyc29uYS5tZXRhZGF0YS5uYW1lfVxuKipBdXRob3I6KiogJHtwZXJzb25hLm1ldGFkYXRhLmF1dGhvciB8fCAnVW5rbm93bid9XG4qKkNhdGVnb3J5OioqICR7cGVyc29uYS5tZXRhZGF0YS5jYXRlZ29yeSB8fCAnR2VuZXJhbCd9XG4qKkRlc2NyaXB0aW9uOioqICR7cGVyc29uYS5tZXRhZGF0YS5kZXNjcmlwdGlvbn1cblxuIyMjIFBlcnNvbmEgQ29udGVudDpcblxcYFxcYFxcYG1hcmtkb3duXG4tLS1cbiR7T2JqZWN0LmVudHJpZXMocGVyc29uYS5tZXRhZGF0YSlcbiAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9OiAke0FycmF5LmlzQXJyYXkodmFsdWUpID8gSlNPTi5zdHJpbmdpZnkodmFsdWUpIDogSlNPTi5zdHJpbmdpZnkodmFsdWUpfWApXG4gIC5qb2luKCdcXG4nKX1cbi0tLVxuXG4ke3BlcnNvbmEuY29udGVudH1cblxcYFxcYFxcYFxuXG4jIyMgU3VibWlzc2lvbiBEZXRhaWxzOlxuLSBTdWJtaXR0ZWQgdmlhIERvbGxob3VzZU1DUCBjbGllbnRcbi0gRmlsZW5hbWU6ICR7cGVyc29uYS5maWxlbmFtZX1cbi0gVW5pcXVlIElEOiAke3BlcnNvbmEudW5pcXVlX2lkfVxuXG4tLS1cbipQbGVhc2UgcmV2aWV3IHRoaXMgcGVyc29uYSBmb3IgaW5jbHVzaW9uIGluIHRoZSBjb2xsZWN0aW9uLipgO1xuICAgIFxuICAgIGNvbnN0IGdpdGh1Yklzc3VlVXJsID0gYGh0dHBzOi8vZ2l0aHViLmNvbS9Eb2xsaG91c2VNQ1AvY29sbGVjdGlvbi9pc3N1ZXMvbmV3P3RpdGxlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGlzc3VlVGl0bGUpfSZib2R5PSR7ZW5jb2RlVVJJQ29tcG9uZW50KGlzc3VlQm9keSl9YDtcbiAgICBcbiAgICByZXR1cm4ge1xuICAgICAgaXNzdWVUaXRsZSxcbiAgICAgIGlzc3VlQm9keSxcbiAgICAgIGdpdGh1Yklzc3VlVXJsXG4gICAgfTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIEZvcm1hdCBzdWJtaXNzaW9uIHJlc3BvbnNlXG4gICAqL1xuICBmb3JtYXRTdWJtaXNzaW9uUmVzcG9uc2UocGVyc29uYTogUGVyc29uYSwgZ2l0aHViSXNzdWVVcmw6IHN0cmluZywgcGVyc29uYUluZGljYXRvcjogc3RyaW5nID0gJycpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtwZXJzb25hSW5kaWNhdG9yffCfk6QgKipQZXJzb25hIFN1Ym1pc3Npb24gUHJlcGFyZWQqKlxcblxcbmAgK1xuICAgICAgYPCfjq0gKioke3BlcnNvbmEubWV0YWRhdGEubmFtZX0qKiBpcyByZWFkeSBmb3IgY29sbGVjdGlvbiBzdWJtaXNzaW9uIVxcblxcbmAgK1xuICAgICAgYCoqTmV4dCBTdGVwczoqKlxcbmAgK1xuICAgICAgYDEuIENsaWNrIHRoaXMgbGluayB0byBjcmVhdGUgYSBHaXRIdWIgaXNzdWU6IFxcbmAgK1xuICAgICAgYCAgICR7Z2l0aHViSXNzdWVVcmx9XFxuXFxuYCArXG4gICAgICBgMi4gUmV2aWV3IHRoZSBwcmUtZmlsbGVkIGNvbnRlbnRcXG5gICtcbiAgICAgIGAzLiBDbGljayBcIlN1Ym1pdCBuZXcgaXNzdWVcIlxcbmAgK1xuICAgICAgYDQuIFRoZSBtYWludGFpbmVycyB3aWxsIHJldmlldyB5b3VyIHN1Ym1pc3Npb25cXG5cXG5gICtcbiAgICAgIGDirZAgKipUaXA6KiogWW91IGNhbiBhbHNvIHN1Ym1pdCB2aWEgcHVsbCByZXF1ZXN0IGlmIHlvdSdyZSBmYW1pbGlhciB3aXRoIEdpdCFgO1xuICB9XG59Il19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collection module exports
|
|
3
|
+
*/
|
|
4
|
+
export * from './GitHubClient.js';
|
|
5
|
+
export * from './CollectionBrowser.js';
|
|
6
|
+
export * from './CollectionSearch.js';
|
|
7
|
+
export * from './PersonaDetails.js';
|
|
8
|
+
export * from './PersonaInstaller.js';
|
|
9
|
+
export * from './PersonaSubmitter.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/collection/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collection module exports
|
|
3
|
+
*/
|
|
4
|
+
export * from './GitHubClient.js';
|
|
5
|
+
export * from './CollectionBrowser.js';
|
|
6
|
+
export * from './CollectionSearch.js';
|
|
7
|
+
export * from './PersonaDetails.js';
|
|
8
|
+
export * from './PersonaInstaller.js';
|
|
9
|
+
export * from './PersonaSubmitter.js';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29sbGVjdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb2xsZWN0aW9uIG1vZHVsZSBleHBvcnRzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9HaXRIdWJDbGllbnQuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db2xsZWN0aW9uQnJvd3Nlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbGxlY3Rpb25TZWFyY2guanMnO1xuZXhwb3J0ICogZnJvbSAnLi9QZXJzb25hRGV0YWlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL1BlcnNvbmFJbnN0YWxsZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9QZXJzb25hU3VibWl0dGVyLmpzJzsiXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Application-wide constants and configuration
|
|
3
|
+
*/
|
|
4
|
+
export declare const REPO_OWNER = "DollhouseMCP";
|
|
5
|
+
export declare const REPO_NAME = "mcp-server";
|
|
6
|
+
export declare const REPO_URL = "https://github.com/DollhouseMCP/mcp-server";
|
|
7
|
+
export declare const RELEASES_API_URL = "https://api.github.com/repos/DollhouseMCP/mcp-server/releases/latest";
|
|
8
|
+
export declare const MARKETPLACE_REPO_OWNER = "DollhouseMCP";
|
|
9
|
+
export declare const MARKETPLACE_REPO_NAME = "personas";
|
|
10
|
+
export declare const DEPENDENCY_REQUIREMENTS: {
|
|
11
|
+
git: {
|
|
12
|
+
minimum: string;
|
|
13
|
+
maximum: string;
|
|
14
|
+
recommended: string;
|
|
15
|
+
};
|
|
16
|
+
npm: {
|
|
17
|
+
minimum: string;
|
|
18
|
+
maximum: string;
|
|
19
|
+
recommended: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export declare const ADJECTIVES: string[];
|
|
23
|
+
export declare const ANIMALS: string[];
|
|
24
|
+
export declare const VALID_CATEGORIES: string[];
|
|
25
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/config/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,UAAU,iBAAiB,CAAC;AACzC,eAAO,MAAM,SAAS,eAAe,CAAC;AACtC,eAAO,MAAM,QAAQ,+CAAkD,CAAC;AACxE,eAAO,MAAM,gBAAgB,yEAA4E,CAAC;AAG1G,eAAO,MAAM,sBAAsB,iBAAiB,CAAC;AACrD,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAGhD,eAAO,MAAM,uBAAuB;;;;;;;;;;;CAWnC,CAAC;AAGF,eAAO,MAAM,UAAU,UAA0F,CAAC;AAClH,eAAO,MAAM,OAAO,UAAkF,CAAC;AAGvG,eAAO,MAAM,gBAAgB,UAAoE,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Application-wide constants and configuration
|
|
3
|
+
*/
|
|
4
|
+
// Repository configuration
|
|
5
|
+
export const REPO_OWNER = 'DollhouseMCP';
|
|
6
|
+
export const REPO_NAME = 'mcp-server';
|
|
7
|
+
export const REPO_URL = `https://github.com/${REPO_OWNER}/${REPO_NAME}`;
|
|
8
|
+
export const RELEASES_API_URL = `https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/releases/latest`;
|
|
9
|
+
// Marketplace repository configuration
|
|
10
|
+
export const MARKETPLACE_REPO_OWNER = 'DollhouseMCP';
|
|
11
|
+
export const MARKETPLACE_REPO_NAME = 'personas';
|
|
12
|
+
// Dependency version requirements
|
|
13
|
+
export const DEPENDENCY_REQUIREMENTS = {
|
|
14
|
+
git: {
|
|
15
|
+
minimum: '2.20.0', // Required for modern features and security
|
|
16
|
+
maximum: '2.50.0', // Latest tested working version
|
|
17
|
+
recommended: '2.40.0' // Optimal version for stability
|
|
18
|
+
},
|
|
19
|
+
npm: {
|
|
20
|
+
minimum: '8.0.0', // Required for package-lock v2 and modern features
|
|
21
|
+
maximum: '12.0.0', // Latest tested working version
|
|
22
|
+
recommended: '10.0.0' // Optimal version for stability
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
// Anonymous ID generation
|
|
26
|
+
export const ADJECTIVES = ['clever', 'swift', 'bright', 'bold', 'wise', 'calm', 'keen', 'witty', 'sharp', 'cool'];
|
|
27
|
+
export const ANIMALS = ['fox', 'owl', 'cat', 'wolf', 'bear', 'hawk', 'deer', 'lion', 'eagle', 'tiger'];
|
|
28
|
+
// Valid persona categories
|
|
29
|
+
export const VALID_CATEGORIES = ['creative', 'professional', 'educational', 'gaming', 'personal'];
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbmZpZy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCwyQkFBMkI7QUFDM0IsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxzQkFBc0IsVUFBVSxJQUFJLFNBQVMsRUFBRSxDQUFDO0FBQ3hFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGdDQUFnQyxVQUFVLElBQUksU0FBUyxrQkFBa0IsQ0FBQztBQUUxRyx1Q0FBdUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLFVBQVUsQ0FBQztBQUVoRCxrQ0FBa0M7QUFDbEMsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDckMsR0FBRyxFQUFFO1FBQ0gsT0FBTyxFQUFFLFFBQVEsRUFBSyw0Q0FBNEM7UUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBSyxnQ0FBZ0M7UUFDdEQsV0FBVyxFQUFFLFFBQVEsQ0FBQyxnQ0FBZ0M7S0FDdkQ7SUFDRCxHQUFHLEVBQUU7UUFDSCxPQUFPLEVBQUUsT0FBTyxFQUFNLHFEQUFxRDtRQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUFLLGdDQUFnQztRQUN0RCxXQUFXLEVBQUUsUUFBUSxDQUFDLGdDQUFnQztLQUN2RDtDQUNGLENBQUM7QUFFRiwwQkFBMEI7QUFDMUIsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDbEgsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFFdkcsMkJBQTJCO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsVUFBVSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBcHBsaWNhdGlvbi13aWRlIGNvbnN0YW50cyBhbmQgY29uZmlndXJhdGlvblxuICovXG5cbi8vIFJlcG9zaXRvcnkgY29uZmlndXJhdGlvblxuZXhwb3J0IGNvbnN0IFJFUE9fT1dORVIgPSAnRG9sbGhvdXNlTUNQJztcbmV4cG9ydCBjb25zdCBSRVBPX05BTUUgPSAnbWNwLXNlcnZlcic7XG5leHBvcnQgY29uc3QgUkVQT19VUkwgPSBgaHR0cHM6Ly9naXRodWIuY29tLyR7UkVQT19PV05FUn0vJHtSRVBPX05BTUV9YDtcbmV4cG9ydCBjb25zdCBSRUxFQVNFU19BUElfVVJMID0gYGh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvJHtSRVBPX09XTkVSfS8ke1JFUE9fTkFNRX0vcmVsZWFzZXMvbGF0ZXN0YDtcblxuLy8gTWFya2V0cGxhY2UgcmVwb3NpdG9yeSBjb25maWd1cmF0aW9uXG5leHBvcnQgY29uc3QgTUFSS0VUUExBQ0VfUkVQT19PV05FUiA9ICdEb2xsaG91c2VNQ1AnO1xuZXhwb3J0IGNvbnN0IE1BUktFVFBMQUNFX1JFUE9fTkFNRSA9ICdwZXJzb25hcyc7XG5cbi8vIERlcGVuZGVuY3kgdmVyc2lvbiByZXF1aXJlbWVudHNcbmV4cG9ydCBjb25zdCBERVBFTkRFTkNZX1JFUVVJUkVNRU5UUyA9IHtcbiAgZ2l0OiB7XG4gICAgbWluaW11bTogJzIuMjAuMCcsICAgIC8vIFJlcXVpcmVkIGZvciBtb2Rlcm4gZmVhdHVyZXMgYW5kIHNlY3VyaXR5XG4gICAgbWF4aW11bTogJzIuNTAuMCcsICAgIC8vIExhdGVzdCB0ZXN0ZWQgd29ya2luZyB2ZXJzaW9uXG4gICAgcmVjb21tZW5kZWQ6ICcyLjQwLjAnIC8vIE9wdGltYWwgdmVyc2lvbiBmb3Igc3RhYmlsaXR5XG4gIH0sXG4gIG5wbToge1xuICAgIG1pbmltdW06ICc4LjAuMCcsICAgICAvLyBSZXF1aXJlZCBmb3IgcGFja2FnZS1sb2NrIHYyIGFuZCBtb2Rlcm4gZmVhdHVyZXMgIFxuICAgIG1heGltdW06ICcxMi4wLjAnLCAgICAvLyBMYXRlc3QgdGVzdGVkIHdvcmtpbmcgdmVyc2lvblxuICAgIHJlY29tbWVuZGVkOiAnMTAuMC4wJyAvLyBPcHRpbWFsIHZlcnNpb24gZm9yIHN0YWJpbGl0eVxuICB9XG59O1xuXG4vLyBBbm9ueW1vdXMgSUQgZ2VuZXJhdGlvblxuZXhwb3J0IGNvbnN0IEFESkVDVElWRVMgPSBbJ2NsZXZlcicsICdzd2lmdCcsICdicmlnaHQnLCAnYm9sZCcsICd3aXNlJywgJ2NhbG0nLCAna2VlbicsICd3aXR0eScsICdzaGFycCcsICdjb29sJ107XG5leHBvcnQgY29uc3QgQU5JTUFMUyA9IFsnZm94JywgJ293bCcsICdjYXQnLCAnd29sZicsICdiZWFyJywgJ2hhd2snLCAnZGVlcicsICdsaW9uJywgJ2VhZ2xlJywgJ3RpZ2VyJ107XG5cbi8vIFZhbGlkIHBlcnNvbmEgY2F0ZWdvcmllc1xuZXhwb3J0IGNvbnN0IFZBTElEX0NBVEVHT1JJRVMgPSBbJ2NyZWF0aXZlJywgJ3Byb2Zlc3Npb25hbCcsICdlZHVjYXRpb25hbCcsICdnYW1pbmcnLCAncGVyc29uYWwnXTsiXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Central export point for configuration
|
|
3
|
+
*/
|
|
4
|
+
export * from './constants.js';
|
|
5
|
+
export * from './indicator-config.js';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29uZmlnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDZW50cmFsIGV4cG9ydCBwb2ludCBmb3IgY29uZmlndXJhdGlvblxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vY29uc3RhbnRzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vaW5kaWNhdG9yLWNvbmZpZy5qcyc7Il19
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration interface for the persona active indicator system.
|
|
3
|
+
* Controls how persona information is displayed in AI responses.
|
|
4
|
+
*
|
|
5
|
+
* @interface IndicatorConfig
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* const config: IndicatorConfig = {
|
|
9
|
+
* enabled: true,
|
|
10
|
+
* style: 'full',
|
|
11
|
+
* showEmoji: true,
|
|
12
|
+
* showName: true,
|
|
13
|
+
* showVersion: true,
|
|
14
|
+
* showAuthor: true,
|
|
15
|
+
* showCategory: false,
|
|
16
|
+
* separator: ' | ',
|
|
17
|
+
* emoji: '🎭',
|
|
18
|
+
* bracketStyle: 'square'
|
|
19
|
+
* };
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export interface IndicatorConfig {
|
|
23
|
+
/** Whether to show the indicator at all */
|
|
24
|
+
enabled: boolean;
|
|
25
|
+
/** Format style: 'full', 'minimal', 'compact', 'custom' */
|
|
26
|
+
style: 'full' | 'minimal' | 'compact' | 'custom';
|
|
27
|
+
/**
|
|
28
|
+
* Custom format template (used when style is 'custom')
|
|
29
|
+
* Available placeholders: {emoji}, {name}, {version}, {author}, {category}
|
|
30
|
+
*/
|
|
31
|
+
customFormat?: string;
|
|
32
|
+
/** Whether to include specific elements */
|
|
33
|
+
showEmoji: boolean;
|
|
34
|
+
showName: boolean;
|
|
35
|
+
showVersion: boolean;
|
|
36
|
+
showAuthor: boolean;
|
|
37
|
+
showCategory: boolean;
|
|
38
|
+
/** Separator between indicator and response */
|
|
39
|
+
separator: string;
|
|
40
|
+
/** Emoji to use (defaults to 🎭) */
|
|
41
|
+
emoji: string;
|
|
42
|
+
/** Bracket style: 'square', 'round', 'curly', 'angle', 'none' */
|
|
43
|
+
bracketStyle: 'square' | 'round' | 'curly' | 'angle' | 'none';
|
|
44
|
+
}
|
|
45
|
+
export declare const DEFAULT_INDICATOR_CONFIG: IndicatorConfig;
|
|
46
|
+
export declare const INDICATOR_STYLES: {
|
|
47
|
+
full: string;
|
|
48
|
+
minimal: string;
|
|
49
|
+
compact: string;
|
|
50
|
+
custom: string;
|
|
51
|
+
};
|
|
52
|
+
export declare const BRACKETS: {
|
|
53
|
+
square: {
|
|
54
|
+
open: string;
|
|
55
|
+
close: string;
|
|
56
|
+
};
|
|
57
|
+
round: {
|
|
58
|
+
open: string;
|
|
59
|
+
close: string;
|
|
60
|
+
};
|
|
61
|
+
curly: {
|
|
62
|
+
open: string;
|
|
63
|
+
close: string;
|
|
64
|
+
};
|
|
65
|
+
angle: {
|
|
66
|
+
open: string;
|
|
67
|
+
close: string;
|
|
68
|
+
};
|
|
69
|
+
none: {
|
|
70
|
+
open: string;
|
|
71
|
+
close: string;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Load indicator configuration from environment variables or use defaults.
|
|
76
|
+
* Environment variables take precedence over default values.
|
|
77
|
+
*
|
|
78
|
+
* @returns {IndicatorConfig} The loaded configuration
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* // Set environment variables before loading
|
|
82
|
+
* process.env.DOLLHOUSE_INDICATOR_STYLE = 'minimal';
|
|
83
|
+
* process.env.DOLLHOUSE_INDICATOR_EMOJI = '🤖';
|
|
84
|
+
*
|
|
85
|
+
* const config = loadIndicatorConfig();
|
|
86
|
+
* // config.style === 'minimal'
|
|
87
|
+
* // config.emoji === '🤖'
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
export declare function loadIndicatorConfig(): IndicatorConfig;
|
|
91
|
+
/**
|
|
92
|
+
* Validate custom format template for valid placeholders
|
|
93
|
+
*/
|
|
94
|
+
export declare function validateCustomFormat(format: string): {
|
|
95
|
+
valid: boolean;
|
|
96
|
+
error?: string;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Format the indicator based on configuration and persona metadata
|
|
100
|
+
*/
|
|
101
|
+
export declare function formatIndicator(config: IndicatorConfig, metadata: {
|
|
102
|
+
name: string;
|
|
103
|
+
version?: string;
|
|
104
|
+
author?: string;
|
|
105
|
+
category?: string;
|
|
106
|
+
}): string;
|
|
107
|
+
//# sourceMappingURL=indicator-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indicator-config.d.ts","sourceRoot":"","sources":["../../../../src/config/indicator-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IAEjB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IAEjD;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,2CAA2C;IAC3C,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IAEtB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAElB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IAEd,iEAAiE;IACjE,YAAY,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;CAC/D;AAGD,eAAO,MAAM,wBAAwB,EAAE,eAWtC,CAAC;AAGF,eAAO,MAAM,gBAAgB;;;;;CAK5B,CAAC;AAGF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAMpB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,CA6CrD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAgBvF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE;IACR,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,MAAM,CA4DR"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
// Default configuration
|
|
2
|
+
export const DEFAULT_INDICATOR_CONFIG = {
|
|
3
|
+
enabled: true,
|
|
4
|
+
style: 'full',
|
|
5
|
+
showEmoji: true,
|
|
6
|
+
showName: true,
|
|
7
|
+
showVersion: true,
|
|
8
|
+
showAuthor: true,
|
|
9
|
+
showCategory: false,
|
|
10
|
+
separator: ' | ',
|
|
11
|
+
emoji: '🎭',
|
|
12
|
+
bracketStyle: 'square'
|
|
13
|
+
};
|
|
14
|
+
// Predefined styles
|
|
15
|
+
export const INDICATOR_STYLES = {
|
|
16
|
+
full: '[{emoji} {name} v{version} by {author}]',
|
|
17
|
+
minimal: '{emoji} {name}',
|
|
18
|
+
compact: '[{name} v{version}]',
|
|
19
|
+
custom: '{customFormat}'
|
|
20
|
+
};
|
|
21
|
+
// Bracket mappings
|
|
22
|
+
export const BRACKETS = {
|
|
23
|
+
square: { open: '[', close: ']' },
|
|
24
|
+
round: { open: '(', close: ')' },
|
|
25
|
+
curly: { open: '{', close: '}' },
|
|
26
|
+
angle: { open: '<', close: '>' },
|
|
27
|
+
none: { open: '', close: '' }
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Load indicator configuration from environment variables or use defaults.
|
|
31
|
+
* Environment variables take precedence over default values.
|
|
32
|
+
*
|
|
33
|
+
* @returns {IndicatorConfig} The loaded configuration
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* // Set environment variables before loading
|
|
37
|
+
* process.env.DOLLHOUSE_INDICATOR_STYLE = 'minimal';
|
|
38
|
+
* process.env.DOLLHOUSE_INDICATOR_EMOJI = '🤖';
|
|
39
|
+
*
|
|
40
|
+
* const config = loadIndicatorConfig();
|
|
41
|
+
* // config.style === 'minimal'
|
|
42
|
+
* // config.emoji === '🤖'
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export function loadIndicatorConfig() {
|
|
46
|
+
const config = { ...DEFAULT_INDICATOR_CONFIG };
|
|
47
|
+
// Check environment variables for overrides
|
|
48
|
+
if (process.env.DOLLHOUSE_INDICATOR_ENABLED !== undefined) {
|
|
49
|
+
config.enabled = process.env.DOLLHOUSE_INDICATOR_ENABLED === 'true';
|
|
50
|
+
}
|
|
51
|
+
if (process.env.DOLLHOUSE_INDICATOR_STYLE) {
|
|
52
|
+
const style = process.env.DOLLHOUSE_INDICATOR_STYLE;
|
|
53
|
+
if (['full', 'minimal', 'compact', 'custom'].includes(style)) {
|
|
54
|
+
config.style = style;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (process.env.DOLLHOUSE_INDICATOR_FORMAT) {
|
|
58
|
+
config.customFormat = process.env.DOLLHOUSE_INDICATOR_FORMAT;
|
|
59
|
+
config.style = 'custom';
|
|
60
|
+
}
|
|
61
|
+
if (process.env.DOLLHOUSE_INDICATOR_EMOJI) {
|
|
62
|
+
config.emoji = process.env.DOLLHOUSE_INDICATOR_EMOJI;
|
|
63
|
+
}
|
|
64
|
+
if (process.env.DOLLHOUSE_INDICATOR_BRACKETS) {
|
|
65
|
+
const bracketStyle = process.env.DOLLHOUSE_INDICATOR_BRACKETS;
|
|
66
|
+
if (['square', 'round', 'curly', 'angle', 'none'].includes(bracketStyle)) {
|
|
67
|
+
config.bracketStyle = bracketStyle;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// Parse show flags from environment
|
|
71
|
+
if (process.env.DOLLHOUSE_INDICATOR_SHOW_VERSION !== undefined) {
|
|
72
|
+
config.showVersion = process.env.DOLLHOUSE_INDICATOR_SHOW_VERSION === 'true';
|
|
73
|
+
}
|
|
74
|
+
if (process.env.DOLLHOUSE_INDICATOR_SHOW_AUTHOR !== undefined) {
|
|
75
|
+
config.showAuthor = process.env.DOLLHOUSE_INDICATOR_SHOW_AUTHOR === 'true';
|
|
76
|
+
}
|
|
77
|
+
if (process.env.DOLLHOUSE_INDICATOR_SHOW_CATEGORY !== undefined) {
|
|
78
|
+
config.showCategory = process.env.DOLLHOUSE_INDICATOR_SHOW_CATEGORY === 'true';
|
|
79
|
+
}
|
|
80
|
+
return config;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Validate custom format template for valid placeholders
|
|
84
|
+
*/
|
|
85
|
+
export function validateCustomFormat(format) {
|
|
86
|
+
const validPlaceholders = ['{emoji}', '{name}', '{version}', '{author}', '{category}'];
|
|
87
|
+
// Length limit added to prevent ReDoS attacks
|
|
88
|
+
const placeholderRegex = /\{[^}]{0,50}\}/g; // Limited to 50 chars for placeholder names
|
|
89
|
+
const foundPlaceholders = format.match(placeholderRegex) || [];
|
|
90
|
+
for (const placeholder of foundPlaceholders) {
|
|
91
|
+
if (!validPlaceholders.includes(placeholder)) {
|
|
92
|
+
return {
|
|
93
|
+
valid: false,
|
|
94
|
+
error: `Invalid placeholder: ${placeholder}. Valid placeholders are: ${validPlaceholders.join(', ')}`
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return { valid: true };
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Format the indicator based on configuration and persona metadata
|
|
102
|
+
*/
|
|
103
|
+
export function formatIndicator(config, metadata) {
|
|
104
|
+
if (!config.enabled) {
|
|
105
|
+
return '';
|
|
106
|
+
}
|
|
107
|
+
// Get the format template based on style
|
|
108
|
+
let template = INDICATOR_STYLES[config.style];
|
|
109
|
+
if (config.style === 'custom' && config.customFormat) {
|
|
110
|
+
// Validate custom format
|
|
111
|
+
const validation = validateCustomFormat(config.customFormat);
|
|
112
|
+
if (!validation.valid) {
|
|
113
|
+
// Fall back to full style if custom format is invalid
|
|
114
|
+
template = INDICATOR_STYLES.full;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
template = config.customFormat;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Replace placeholders with values or empty strings
|
|
121
|
+
let result = template
|
|
122
|
+
.replace('{emoji}', config.showEmoji ? config.emoji : '')
|
|
123
|
+
.replace('{name}', config.showName ? metadata.name : '')
|
|
124
|
+
.replace('{version}', config.showVersion && metadata.version ? metadata.version : '')
|
|
125
|
+
.replace('{author}', config.showAuthor && metadata.author ? metadata.author : '')
|
|
126
|
+
.replace('{category}', config.showCategory && metadata.category ? metadata.category : '');
|
|
127
|
+
// Clean up the format string
|
|
128
|
+
// Remove "v" if no version follows it
|
|
129
|
+
if (!config.showVersion || !metadata.version) {
|
|
130
|
+
result = result.replace(/\sv(?=\s|]|\)|>|}|$)/, '');
|
|
131
|
+
}
|
|
132
|
+
// Remove "by" if no author follows it
|
|
133
|
+
if (!config.showAuthor || !metadata.author) {
|
|
134
|
+
result = result.replace(/\sby(?=\s|]|\)|>|}|$)/, '');
|
|
135
|
+
}
|
|
136
|
+
// Clean up extra spaces
|
|
137
|
+
result = result.replace(/\s+/g, ' ').trim();
|
|
138
|
+
// Apply brackets based on the template format (only if template doesn't already have them)
|
|
139
|
+
if (result && config.style !== 'custom') {
|
|
140
|
+
// Check if the template already includes brackets
|
|
141
|
+
const templateHasBrackets = template.includes('[') || template.includes(']') ||
|
|
142
|
+
template.includes('(') || template.includes(')') ||
|
|
143
|
+
template.includes('{') || template.includes('}') ||
|
|
144
|
+
template.includes('<') || template.includes('>');
|
|
145
|
+
if (!templateHasBrackets) {
|
|
146
|
+
const brackets = BRACKETS[config.bracketStyle];
|
|
147
|
+
if (brackets.open || brackets.close) {
|
|
148
|
+
result = `${brackets.open}${result}${brackets.close}`;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
// Add separator if we have content
|
|
153
|
+
if (result) {
|
|
154
|
+
result += config.separator;
|
|
155
|
+
}
|
|
156
|
+
return result;
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kaWNhdG9yLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb25maWcvaW5kaWNhdG9yLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtREEsd0JBQXdCO0FBQ3hCLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFvQjtJQUN2RCxPQUFPLEVBQUUsSUFBSTtJQUNiLEtBQUssRUFBRSxNQUFNO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixRQUFRLEVBQUUsSUFBSTtJQUNkLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFlBQVksRUFBRSxLQUFLO0lBQ25CLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRUFBRSxJQUFJO0lBQ1gsWUFBWSxFQUFFLFFBQVE7Q0FDdkIsQ0FBQztBQUVGLG9CQUFvQjtBQUNwQixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixJQUFJLEVBQUUseUNBQXlDO0lBQy9DLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsT0FBTyxFQUFFLHFCQUFxQjtJQUM5QixNQUFNLEVBQUUsZ0JBQWdCO0NBQ3pCLENBQUM7QUFFRixtQkFBbUI7QUFDbkIsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3RCLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtJQUNqQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7SUFDaEMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO0lBQ2hDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtJQUNoQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7Q0FD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LE1BQU0sbUJBQW1CLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUNqRCxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1lBQ2hELFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7WUFDaEQsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTVFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDL0MsSUFBSSxRQUFRLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksR0FBRyxNQUFNLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3hELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELG1DQUFtQztJQUNuQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsTUFBTSxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbmZpZ3VyYXRpb24gaW50ZXJmYWNlIGZvciB0aGUgcGVyc29uYSBhY3RpdmUgaW5kaWNhdG9yIHN5c3RlbS5cbiAqIENvbnRyb2xzIGhvdyBwZXJzb25hIGluZm9ybWF0aW9uIGlzIGRpc3BsYXllZCBpbiBBSSByZXNwb25zZXMuXG4gKiBcbiAqIEBpbnRlcmZhY2UgSW5kaWNhdG9yQ29uZmlnXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY29uZmlnOiBJbmRpY2F0b3JDb25maWcgPSB7XG4gKiAgIGVuYWJsZWQ6IHRydWUsXG4gKiAgIHN0eWxlOiAnZnVsbCcsXG4gKiAgIHNob3dFbW9qaTogdHJ1ZSxcbiAqICAgc2hvd05hbWU6IHRydWUsXG4gKiAgIHNob3dWZXJzaW9uOiB0cnVlLFxuICogICBzaG93QXV0aG9yOiB0cnVlLFxuICogICBzaG93Q2F0ZWdvcnk6IGZhbHNlLFxuICogICBzZXBhcmF0b3I6ICcgfCAnLFxuICogICBlbW9qaTogJ/Cfjq0nLFxuICogICBicmFja2V0U3R5bGU6ICdzcXVhcmUnXG4gKiB9O1xuICogYGBgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5kaWNhdG9yQ29uZmlnIHtcbiAgLyoqIFdoZXRoZXIgdG8gc2hvdyB0aGUgaW5kaWNhdG9yIGF0IGFsbCAqL1xuICBlbmFibGVkOiBib29sZWFuO1xuICBcbiAgLyoqIEZvcm1hdCBzdHlsZTogJ2Z1bGwnLCAnbWluaW1hbCcsICdjb21wYWN0JywgJ2N1c3RvbScgKi9cbiAgc3R5bGU6ICdmdWxsJyB8ICdtaW5pbWFsJyB8ICdjb21wYWN0JyB8ICdjdXN0b20nO1xuICBcbiAgLyoqIFxuICAgKiBDdXN0b20gZm9ybWF0IHRlbXBsYXRlICh1c2VkIHdoZW4gc3R5bGUgaXMgJ2N1c3RvbScpXG4gICAqIEF2YWlsYWJsZSBwbGFjZWhvbGRlcnM6IHtlbW9qaX0sIHtuYW1lfSwge3ZlcnNpb259LCB7YXV0aG9yfSwge2NhdGVnb3J5fVxuICAgKi9cbiAgY3VzdG9tRm9ybWF0Pzogc3RyaW5nO1xuICBcbiAgLyoqIFdoZXRoZXIgdG8gaW5jbHVkZSBzcGVjaWZpYyBlbGVtZW50cyAqL1xuICBzaG93RW1vamk6IGJvb2xlYW47XG4gIHNob3dOYW1lOiBib29sZWFuO1xuICBzaG93VmVyc2lvbjogYm9vbGVhbjtcbiAgc2hvd0F1dGhvcjogYm9vbGVhbjtcbiAgc2hvd0NhdGVnb3J5OiBib29sZWFuO1xuICBcbiAgLyoqIFNlcGFyYXRvciBiZXR3ZWVuIGluZGljYXRvciBhbmQgcmVzcG9uc2UgKi9cbiAgc2VwYXJhdG9yOiBzdHJpbmc7XG4gIFxuICAvKiogRW1vamkgdG8gdXNlIChkZWZhdWx0cyB0byDwn46tKSAqL1xuICBlbW9qaTogc3RyaW5nO1xuICBcbiAgLyoqIEJyYWNrZXQgc3R5bGU6ICdzcXVhcmUnLCAncm91bmQnLCAnY3VybHknLCAnYW5nbGUnLCAnbm9uZScgKi9cbiAgYnJhY2tldFN0eWxlOiAnc3F1YXJlJyB8ICdyb3VuZCcgfCAnY3VybHknIHwgJ2FuZ2xlJyB8ICdub25lJztcbn1cblxuLy8gRGVmYXVsdCBjb25maWd1cmF0aW9uXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTkRJQ0FUT1JfQ09ORklHOiBJbmRpY2F0b3JDb25maWcgPSB7XG4gIGVuYWJsZWQ6IHRydWUsXG4gIHN0eWxlOiAnZnVsbCcsXG4gIHNob3dFbW9qaTogdHJ1ZSxcbiAgc2hvd05hbWU6IHRydWUsXG4gIHNob3dWZXJzaW9uOiB0cnVlLFxuICBzaG93QXV0aG9yOiB0cnVlLFxuICBzaG93Q2F0ZWdvcnk6IGZhbHNlLFxuICBzZXBhcmF0b3I6ICcgfCAnLFxuICBlbW9qaTogJ/Cfjq0nLFxuICBicmFja2V0U3R5bGU6ICdzcXVhcmUnXG59O1xuXG4vLyBQcmVkZWZpbmVkIHN0eWxlc1xuZXhwb3J0IGNvbnN0IElORElDQVRPUl9TVFlMRVMgPSB7XG4gIGZ1bGw6ICdbe2Vtb2ppfSB7bmFtZX0gdnt2ZXJzaW9ufSBieSB7YXV0aG9yfV0nLFxuICBtaW5pbWFsOiAne2Vtb2ppfSB7bmFtZX0nLFxuICBjb21wYWN0OiAnW3tuYW1lfSB2e3ZlcnNpb259XScsXG4gIGN1c3RvbTogJ3tjdXN0b21Gb3JtYXR9J1xufTtcblxuLy8gQnJhY2tldCBtYXBwaW5nc1xuZXhwb3J0IGNvbnN0IEJSQUNLRVRTID0ge1xuICBzcXVhcmU6IHsgb3BlbjogJ1snLCBjbG9zZTogJ10nIH0sXG4gIHJvdW5kOiB7IG9wZW46ICcoJywgY2xvc2U6ICcpJyB9LFxuICBjdXJseTogeyBvcGVuOiAneycsIGNsb3NlOiAnfScgfSxcbiAgYW5nbGU6IHsgb3BlbjogJzwnLCBjbG9zZTogJz4nIH0sXG4gIG5vbmU6IHsgb3BlbjogJycsIGNsb3NlOiAnJyB9XG59O1xuXG4vKipcbiAqIExvYWQgaW5kaWNhdG9yIGNvbmZpZ3VyYXRpb24gZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgb3IgdXNlIGRlZmF1bHRzLlxuICogRW52aXJvbm1lbnQgdmFyaWFibGVzIHRha2UgcHJlY2VkZW5jZSBvdmVyIGRlZmF1bHQgdmFsdWVzLlxuICogXG4gKiBAcmV0dXJucyB7SW5kaWNhdG9yQ29uZmlnfSBUaGUgbG9hZGVkIGNvbmZpZ3VyYXRpb25cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBTZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzIGJlZm9yZSBsb2FkaW5nXG4gKiBwcm9jZXNzLmVudi5ET0xMSE9VU0VfSU5ESUNBVE9SX1NUWUxFID0gJ21pbmltYWwnO1xuICogcHJvY2Vzcy5lbnYuRE9MTEhPVVNFX0lORElDQVRPUl9FTU9KSSA9ICfwn6SWJztcbiAqIFxuICogY29uc3QgY29uZmlnID0gbG9hZEluZGljYXRvckNvbmZpZygpO1xuICogLy8gY29uZmlnLnN0eWxlID09PSAnbWluaW1hbCdcbiAqIC8vIGNvbmZpZy5lbW9qaSA9PT0gJ/CfpJYnXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRJbmRpY2F0b3JDb25maWcoKTogSW5kaWNhdG9yQ29uZmlnIHtcbiAgY29uc3QgY29uZmlnID0geyAuLi5ERUZBVUxUX0lORElDQVRPUl9DT05GSUcgfTtcbiAgXG4gIC8vIENoZWNrIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3Igb3ZlcnJpZGVzXG4gIGlmIChwcm9jZXNzLmVudi5ET0xMSE9VU0VfSU5ESUNBVE9SX0VOQUJMRUQgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbmZpZy5lbmFibGVkID0gcHJvY2Vzcy5lbnYuRE9MTEhPVVNFX0lORElDQVRPUl9FTkFCTEVEID09PSAndHJ1ZSc7XG4gIH1cbiAgXG4gIGlmIChwcm9jZXNzLmVudi5ET0xMSE9VU0VfSU5ESUNBVE9SX1NUWUxFKSB7XG4gICAgY29uc3Qgc3R5bGUgPSBwcm9jZXNzLmVudi5ET0xMSE9VU0VfSU5ESUNBVE9SX1NUWUxFO1xuICAgIGlmIChbJ2Z1bGwnLCAnbWluaW1hbCcsICdjb21wYWN0JywgJ2N1c3RvbSddLmluY2x1ZGVzKHN0eWxlKSkge1xuICAgICAgY29uZmlnLnN0eWxlID0gc3R5bGUgYXMgSW5kaWNhdG9yQ29uZmlnWydzdHlsZSddO1xuICAgIH1cbiAgfVxuICBcbiAgaWYgKHByb2Nlc3MuZW52LkRPTExIT1VTRV9JTkRJQ0FUT1JfRk9STUFUKSB7XG4gICAgY29uZmlnLmN1c3RvbUZvcm1hdCA9IHByb2Nlc3MuZW52LkRPTExIT1VTRV9JTkRJQ0FUT1JfRk9STUFUO1xuICAgIGNvbmZpZy5zdHlsZSA9ICdjdXN0b20nO1xuICB9XG4gIFxuICBpZiAocHJvY2Vzcy5lbnYuRE9MTEhPVVNFX0lORElDQVRPUl9FTU9KSSkge1xuICAgIGNvbmZpZy5lbW9qaSA9IHByb2Nlc3MuZW52LkRPTExIT1VTRV9JTkRJQ0FUT1JfRU1PSkk7XG4gIH1cbiAgXG4gIGlmIChwcm9jZXNzLmVudi5ET0xMSE9VU0VfSU5ESUNBVE9SX0JSQUNLRVRTKSB7XG4gICAgY29uc3QgYnJhY2tldFN0eWxlID0gcHJvY2Vzcy5lbnYuRE9MTEhPVVNFX0lORElDQVRPUl9CUkFDS0VUUztcbiAgICBpZiAoWydzcXVhcmUnLCAncm91bmQnLCAnY3VybHknLCAnYW5nbGUnLCAnbm9uZSddLmluY2x1ZGVzKGJyYWNrZXRTdHlsZSkpIHtcbiAgICAgIGNvbmZpZy5icmFja2V0U3R5bGUgPSBicmFja2V0U3R5bGUgYXMgSW5kaWNhdG9yQ29uZmlnWydicmFja2V0U3R5bGUnXTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIFBhcnNlIHNob3cgZmxhZ3MgZnJvbSBlbnZpcm9ubWVudFxuICBpZiAocHJvY2Vzcy5lbnYuRE9MTEhPVVNFX0lORElDQVRPUl9TSE9XX1ZFUlNJT04gIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbmZpZy5zaG93VmVyc2lvbiA9IHByb2Nlc3MuZW52LkRPTExIT1VTRV9JTkRJQ0FUT1JfU0hPV19WRVJTSU9OID09PSAndHJ1ZSc7XG4gIH1cbiAgXG4gIGlmIChwcm9jZXNzLmVudi5ET0xMSE9VU0VfSU5ESUNBVE9SX1NIT1dfQVVUSE9SICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb25maWcuc2hvd0F1dGhvciA9IHByb2Nlc3MuZW52LkRPTExIT1VTRV9JTkRJQ0FUT1JfU0hPV19BVVRIT1IgPT09ICd0cnVlJztcbiAgfVxuICBcbiAgaWYgKHByb2Nlc3MuZW52LkRPTExIT1VTRV9JTkRJQ0FUT1JfU0hPV19DQVRFR09SWSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29uZmlnLnNob3dDYXRlZ29yeSA9IHByb2Nlc3MuZW52LkRPTExIT1VTRV9JTkRJQ0FUT1JfU0hPV19DQVRFR09SWSA9PT0gJ3RydWUnO1xuICB9XG4gIFxuICByZXR1cm4gY29uZmlnO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlIGN1c3RvbSBmb3JtYXQgdGVtcGxhdGUgZm9yIHZhbGlkIHBsYWNlaG9sZGVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVDdXN0b21Gb3JtYXQoZm9ybWF0OiBzdHJpbmcpOiB7IHZhbGlkOiBib29sZWFuOyBlcnJvcj86IHN0cmluZyB9IHtcbiAgY29uc3QgdmFsaWRQbGFjZWhvbGRlcnMgPSBbJ3tlbW9qaX0nLCAne25hbWV9JywgJ3t2ZXJzaW9ufScsICd7YXV0aG9yfScsICd7Y2F0ZWdvcnl9J107XG4gIC8vIExlbmd0aCBsaW1pdCBhZGRlZCB0byBwcmV2ZW50IFJlRG9TIGF0dGFja3NcbiAgY29uc3QgcGxhY2Vob2xkZXJSZWdleCA9IC9cXHtbXn1dezAsNTB9XFx9L2c7ICAvLyBMaW1pdGVkIHRvIDUwIGNoYXJzIGZvciBwbGFjZWhvbGRlciBuYW1lc1xuICBjb25zdCBmb3VuZFBsYWNlaG9sZGVycyA9IGZvcm1hdC5tYXRjaChwbGFjZWhvbGRlclJlZ2V4KSB8fCBbXTtcbiAgXG4gIGZvciAoY29uc3QgcGxhY2Vob2xkZXIgb2YgZm91bmRQbGFjZWhvbGRlcnMpIHtcbiAgICBpZiAoIXZhbGlkUGxhY2Vob2xkZXJzLmluY2x1ZGVzKHBsYWNlaG9sZGVyKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsaWQ6IGZhbHNlLFxuICAgICAgICBlcnJvcjogYEludmFsaWQgcGxhY2Vob2xkZXI6ICR7cGxhY2Vob2xkZXJ9LiBWYWxpZCBwbGFjZWhvbGRlcnMgYXJlOiAke3ZhbGlkUGxhY2Vob2xkZXJzLmpvaW4oJywgJyl9YFxuICAgICAgfTtcbiAgICB9XG4gIH1cbiAgXG4gIHJldHVybiB7IHZhbGlkOiB0cnVlIH07XG59XG5cbi8qKlxuICogRm9ybWF0IHRoZSBpbmRpY2F0b3IgYmFzZWQgb24gY29uZmlndXJhdGlvbiBhbmQgcGVyc29uYSBtZXRhZGF0YVxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0SW5kaWNhdG9yKFxuICBjb25maWc6IEluZGljYXRvckNvbmZpZyxcbiAgbWV0YWRhdGE6IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmVyc2lvbj86IHN0cmluZztcbiAgICBhdXRob3I/OiBzdHJpbmc7XG4gICAgY2F0ZWdvcnk/OiBzdHJpbmc7XG4gIH1cbik6IHN0cmluZyB7XG4gIGlmICghY29uZmlnLmVuYWJsZWQpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgXG4gIC8vIEdldCB0aGUgZm9ybWF0IHRlbXBsYXRlIGJhc2VkIG9uIHN0eWxlXG4gIGxldCB0ZW1wbGF0ZSA9IElORElDQVRPUl9TVFlMRVNbY29uZmlnLnN0eWxlXTtcbiAgaWYgKGNvbmZpZy5zdHlsZSA9PT0gJ2N1c3RvbScgJiYgY29uZmlnLmN1c3RvbUZvcm1hdCkge1xuICAgIC8vIFZhbGlkYXRlIGN1c3RvbSBmb3JtYXRcbiAgICBjb25zdCB2YWxpZGF0aW9uID0gdmFsaWRhdGVDdXN0b21Gb3JtYXQoY29uZmlnLmN1c3RvbUZvcm1hdCk7XG4gICAgaWYgKCF2YWxpZGF0aW9uLnZhbGlkKSB7XG4gICAgICAvLyBGYWxsIGJhY2sgdG8gZnVsbCBzdHlsZSBpZiBjdXN0b20gZm9ybWF0IGlzIGludmFsaWRcbiAgICAgIHRlbXBsYXRlID0gSU5ESUNBVE9SX1NUWUxFUy5mdWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0ZW1wbGF0ZSA9IGNvbmZpZy5jdXN0b21Gb3JtYXQ7XG4gICAgfVxuICB9XG4gIFxuICAvLyBSZXBsYWNlIHBsYWNlaG9sZGVycyB3aXRoIHZhbHVlcyBvciBlbXB0eSBzdHJpbmdzXG4gIGxldCByZXN1bHQgPSB0ZW1wbGF0ZVxuICAgIC5yZXBsYWNlKCd7ZW1vaml9JywgY29uZmlnLnNob3dFbW9qaSA/IGNvbmZpZy5lbW9qaSA6ICcnKVxuICAgIC5yZXBsYWNlKCd7bmFtZX0nLCBjb25maWcuc2hvd05hbWUgPyBtZXRhZGF0YS5uYW1lIDogJycpXG4gICAgLnJlcGxhY2UoJ3t2ZXJzaW9ufScsIGNvbmZpZy5zaG93VmVyc2lvbiAmJiBtZXRhZGF0YS52ZXJzaW9uID8gbWV0YWRhdGEudmVyc2lvbiA6ICcnKVxuICAgIC5yZXBsYWNlKCd7YXV0aG9yfScsIGNvbmZpZy5zaG93QXV0aG9yICYmIG1ldGFkYXRhLmF1dGhvciA/IG1ldGFkYXRhLmF1dGhvciA6ICcnKVxuICAgIC5yZXBsYWNlKCd7Y2F0ZWdvcnl9JywgY29uZmlnLnNob3dDYXRlZ29yeSAmJiBtZXRhZGF0YS5jYXRlZ29yeSA/IG1ldGFkYXRhLmNhdGVnb3J5IDogJycpO1xuICBcbiAgLy8gQ2xlYW4gdXAgdGhlIGZvcm1hdCBzdHJpbmdcbiAgLy8gUmVtb3ZlIFwidlwiIGlmIG5vIHZlcnNpb24gZm9sbG93cyBpdFxuICBpZiAoIWNvbmZpZy5zaG93VmVyc2lvbiB8fCAhbWV0YWRhdGEudmVyc2lvbikge1xuICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKC9cXHN2KD89XFxzfF18XFwpfD58fXwkKS8sICcnKTtcbiAgfVxuICAvLyBSZW1vdmUgXCJieVwiIGlmIG5vIGF1dGhvciBmb2xsb3dzIGl0XG4gIGlmICghY29uZmlnLnNob3dBdXRob3IgfHwgIW1ldGFkYXRhLmF1dGhvcikge1xuICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKC9cXHNieSg/PVxcc3xdfFxcKXw+fH18JCkvLCAnJyk7XG4gIH1cbiAgLy8gQ2xlYW4gdXAgZXh0cmEgc3BhY2VzXG4gIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKC9cXHMrL2csICcgJykudHJpbSgpO1xuICBcbiAgLy8gQXBwbHkgYnJhY2tldHMgYmFzZWQgb24gdGhlIHRlbXBsYXRlIGZvcm1hdCAob25seSBpZiB0ZW1wbGF0ZSBkb2Vzbid0IGFscmVhZHkgaGF2ZSB0aGVtKVxuICBpZiAocmVzdWx0ICYmIGNvbmZpZy5zdHlsZSAhPT0gJ2N1c3RvbScpIHtcbiAgICAvLyBDaGVjayBpZiB0aGUgdGVtcGxhdGUgYWxyZWFkeSBpbmNsdWRlcyBicmFja2V0c1xuICAgIGNvbnN0IHRlbXBsYXRlSGFzQnJhY2tldHMgPSB0ZW1wbGF0ZS5pbmNsdWRlcygnWycpIHx8IHRlbXBsYXRlLmluY2x1ZGVzKCddJykgfHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGUuaW5jbHVkZXMoJygnKSB8fCB0ZW1wbGF0ZS5pbmNsdWRlcygnKScpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGUuaW5jbHVkZXMoJ3snKSB8fCB0ZW1wbGF0ZS5pbmNsdWRlcygnfScpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGUuaW5jbHVkZXMoJzwnKSB8fCB0ZW1wbGF0ZS5pbmNsdWRlcygnPicpO1xuICAgIFxuICAgIGlmICghdGVtcGxhdGVIYXNCcmFja2V0cykge1xuICAgICAgY29uc3QgYnJhY2tldHMgPSBCUkFDS0VUU1tjb25maWcuYnJhY2tldFN0eWxlXTtcbiAgICAgIGlmIChicmFja2V0cy5vcGVuIHx8IGJyYWNrZXRzLmNsb3NlKSB7XG4gICAgICAgIHJlc3VsdCA9IGAke2JyYWNrZXRzLm9wZW59JHtyZXN1bHR9JHticmFja2V0cy5jbG9zZX1gO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLy8gQWRkIHNlcGFyYXRvciBpZiB3ZSBoYXZlIGNvbnRlbnRcbiAgaWYgKHJlc3VsdCkge1xuICAgIHJlc3VsdCArPSBjb25maWcuc2VwYXJhdG9yO1xuICB9XG4gIFxuICByZXR1cm4gcmVzdWx0O1xufSJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default personas that ship with DollhouseMCP
|
|
3
|
+
*/
|
|
4
|
+
export declare const DEFAULT_PERSONAS: readonly ["business-consultant.md", "creative-writer.md", "debug-detective.md", "eli5-explainer.md", "excel-expert.md", "technical-analyst.md"];
|
|
5
|
+
export type DefaultPersonaFilename = typeof DEFAULT_PERSONAS[number];
|
|
6
|
+
/**
|
|
7
|
+
* Check if a filename is a default persona
|
|
8
|
+
*/
|
|
9
|
+
export declare function isDefaultPersona(filename: string): boolean;
|
|
10
|
+
//# sourceMappingURL=defaultPersonas.d.ts.map
|