@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
package/README.md
ADDED
|
@@ -0,0 +1,1124 @@
|
|
|
1
|
+
# DollhouseMCP
|
|
2
|
+
|
|
3
|
+
[](https://github.com/DollhouseMCP/mcp-server/actions/workflows/core-build-test.yml)
|
|
4
|
+
[](https://github.com/DollhouseMCP/mcp-server/actions/workflows/build-artifacts.yml)
|
|
5
|
+
[](https://github.com/DollhouseMCP/mcp-server/actions/workflows/extended-node-compatibility.yml)
|
|
6
|
+
[](https://github.com/DollhouseMCP/mcp-server/actions/workflows/docker-testing.yml)
|
|
7
|
+
[](https://www.gnu.org/licenses/agpl-3.0)
|
|
8
|
+
[](https://www.typescriptlang.org/)
|
|
9
|
+
[](https://nodejs.org/)
|
|
10
|
+
|
|
11
|
+
## Platform Support
|
|
12
|
+
|
|
13
|
+
[](https://github.com/DollhouseMCP/mcp-server/actions/workflows/core-build-test.yml?query=branch:main "Windows CI Build Status")
|
|
14
|
+
[](https://github.com/DollhouseMCP/mcp-server/actions/workflows/core-build-test.yml?query=branch:main "macOS CI Build Status")
|
|
15
|
+
[](https://github.com/DollhouseMCP/mcp-server/actions/workflows/core-build-test.yml?query=branch:main "Linux CI Build Status")
|
|
16
|
+
[](https://github.com/DollhouseMCP/mcp-server/blob/main/Dockerfile)
|
|
17
|
+
[](https://github.com/DollhouseMCP/mcp-server/tree/main/__tests__)
|
|
18
|
+
[](https://github.com/DollhouseMCP/mcp-server)
|
|
19
|
+
|
|
20
|
+
A comprehensive Model Context Protocol (MCP) server that enables dynamic AI persona management with an integrated GitHub-powered collection. DollhouseMCP allows Claude and other compatible AI assistants to activate different behavioral personas while supporting community sharing and monetization.
|
|
21
|
+
|
|
22
|
+
**🌐 Repository**: https://github.com/DollhouseMCP/mcp-server
|
|
23
|
+
**🏪 Collection**: https://github.com/DollhouseMCP/collection
|
|
24
|
+
**📦 NPM Package**: https://www.npmjs.com/package/@dollhousemcp/mcp-server
|
|
25
|
+
**🌍 Website**: https://dollhousemcp.com (planned)
|
|
26
|
+
**📦 Version**: v1.3.0 (Ready for NPM publish)
|
|
27
|
+
|
|
28
|
+
> **⚠️ Breaking Change Notice**: Tool names have changed from "marketplace" to "collection" terminology. Old names still work but are deprecated. See [Migration Guide](docs/MIGRATION_GUIDE_COLLECTION_RENAME.md) for details.
|
|
29
|
+
|
|
30
|
+
## 🚀 Quick Start
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# Install globally
|
|
34
|
+
npm install -g @dollhousemcp/mcp-server
|
|
35
|
+
|
|
36
|
+
# Add to Claude Desktop config (see path below for your OS)
|
|
37
|
+
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
|
|
38
|
+
# Windows: %APPDATA%\Claude\claude_desktop_config.json
|
|
39
|
+
# Linux: ~/.config/Claude/claude_desktop_config.json
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
```json
|
|
43
|
+
{
|
|
44
|
+
"mcpServers": {
|
|
45
|
+
"dollhousemcp": {
|
|
46
|
+
"command": "npx",
|
|
47
|
+
"args": ["@dollhousemcp/mcp-server"]
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Restart Claude Desktop and you're ready to use DollhouseMCP! Try `list_personas` to get started.
|
|
54
|
+
|
|
55
|
+
## ✨ Key Features
|
|
56
|
+
|
|
57
|
+
| Feature | Description |
|
|
58
|
+
|---------|-------------|
|
|
59
|
+
| 🎭 **23 MCP Tools** | Complete persona lifecycle management through chat interface |
|
|
60
|
+
| 🏪 **GitHub Collection** | Browse, search, install, and submit personas to community collection |
|
|
61
|
+
| 👤 **User Identity System** | Environment-based attribution for persona creators |
|
|
62
|
+
| 🆔 **Unique ID System** | Advanced ID generation: `{type}_{name}_{author}_{YYYYMMDD}-{HHMMSS}` |
|
|
63
|
+
| 💬 **Chat-Based Management** | Create, edit, and validate personas through conversational interface |
|
|
64
|
+
| 🔄 **Real-time Operations** | Live editing with automatic version bumping and validation |
|
|
65
|
+
| 🚀 **Auto-Update System** | Enterprise-grade auto-update with backup/rollback and dependency validation |
|
|
66
|
+
| 🛡️ **Data Protection** | Copy-on-write for default personas, comprehensive backup system |
|
|
67
|
+
| 🏠 **Local-First Architecture** | Full functionality without cloud dependency |
|
|
68
|
+
|
|
69
|
+
## 🔒 Enterprise-Grade Security (v1.2.4)
|
|
70
|
+
|
|
71
|
+
DollhouseMCP implements comprehensive security measures to protect your personas and system:
|
|
72
|
+
|
|
73
|
+
### Security Features
|
|
74
|
+
- **🛡️ Content Sanitization**: DOMPurify integration prevents XSS attacks in persona content
|
|
75
|
+
- **📝 YAML Injection Prevention**: Secure parsing with schema validation and size limits
|
|
76
|
+
- **🔐 Token Security**: GitHub tokens are validated, encrypted at rest, with rotation support
|
|
77
|
+
- **🐳 Container Hardening**: Non-root execution, read-only filesystem, resource limits
|
|
78
|
+
- **🚦 Rate Limiting**: Token bucket algorithm prevents API abuse (10 checks/hour default)
|
|
79
|
+
- **✅ Signature Verification**: GPG verification ensures release authenticity
|
|
80
|
+
- **🔍 Input Validation**: Comprehensive validation for all user inputs
|
|
81
|
+
- **📊 Security Monitoring**: Audit logging for security-relevant operations
|
|
82
|
+
|
|
83
|
+
### Security Testing
|
|
84
|
+
- **487 comprehensive tests** including security-specific test suites
|
|
85
|
+
- **Continuous security scanning** with GitHub Advanced Security
|
|
86
|
+
- **Vulnerability-free**: All security alerts resolved (0 active)
|
|
87
|
+
|
|
88
|
+
## 📋 Prerequisites
|
|
89
|
+
|
|
90
|
+
- **Node.js**: v20.0.0 or higher (LTS recommended)
|
|
91
|
+
- **npm**: v10.0.0 or higher
|
|
92
|
+
- **git**: For cloning the repository
|
|
93
|
+
- **Operating System**: Windows, macOS, or Linux
|
|
94
|
+
|
|
95
|
+
> **Note**: DollhouseMCP is developed on Node.js 24 but supports Node.js 20+ for broad compatibility.
|
|
96
|
+
|
|
97
|
+
## 🚀 Quick Start
|
|
98
|
+
|
|
99
|
+
### Installation
|
|
100
|
+
|
|
101
|
+
#### NPM Installation (NEW! - Recommended)
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
npm install -g @mickdarling/dollhousemcp
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
After installation, add DollhouseMCP to your Claude Desktop configuration:
|
|
108
|
+
|
|
109
|
+
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
110
|
+
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
111
|
+
**Linux**: `~/.config/Claude/claude_desktop_config.json`
|
|
112
|
+
|
|
113
|
+
```json
|
|
114
|
+
{
|
|
115
|
+
"mcpServers": {
|
|
116
|
+
"dollhousemcp": {
|
|
117
|
+
"command": "npx",
|
|
118
|
+
"args": ["@dollhousemcp/mcp-server"]
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
> **Note**: If you have other MCP servers configured, add dollhousemcp to your existing mcpServers object.
|
|
125
|
+
|
|
126
|
+
#### Automated Setup (Alternative) - Claude Desktop Only
|
|
127
|
+
|
|
128
|
+
> [!WARNING]
|
|
129
|
+
> **Claude Desktop Only**: The automated setup script is specifically designed for **Claude Desktop** integration. If you're using **Claude Code**, other AI platforms (ChatGPT, BoltAI, Gemini, etc.), or custom MCP implementations, please use the [Manual Installation](#manual-installation) process below.
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
# Clone the repository
|
|
133
|
+
git clone https://github.com/DollhouseMCP/mcp-server.git
|
|
134
|
+
cd mcp-server
|
|
135
|
+
|
|
136
|
+
# Run automated setup script (Claude Desktop only)
|
|
137
|
+
./setup.sh
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
The setup script will:
|
|
141
|
+
- 📦 Install all dependencies
|
|
142
|
+
- 🔨 Build the TypeScript code
|
|
143
|
+
- 📍 Detect your installation path
|
|
144
|
+
- 🔧 Generate the exact Claude Desktop configuration
|
|
145
|
+
- 📋 Provide step-by-step setup instructions
|
|
146
|
+
|
|
147
|
+
#### Manual Installation
|
|
148
|
+
|
|
149
|
+
> **Note**: Manual installation works with all MCP-compatible platforms including Claude Desktop, Claude Code, ChatGPT, BoltAI, Gemini, and custom implementations.
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
# Clone the repository
|
|
153
|
+
git clone https://github.com/DollhouseMCP/mcp-server.git
|
|
154
|
+
cd mcp-server
|
|
155
|
+
|
|
156
|
+
# Install dependencies and build
|
|
157
|
+
npm install
|
|
158
|
+
npm run build
|
|
159
|
+
|
|
160
|
+
# Optional: Set user identity for persona attribution
|
|
161
|
+
export DOLLHOUSE_USER="your-username"
|
|
162
|
+
export DOLLHOUSE_EMAIL="your-email@example.com"
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Claude Desktop Configuration
|
|
166
|
+
|
|
167
|
+
Add DollhouseMCP to your Claude Desktop configuration:
|
|
168
|
+
|
|
169
|
+
**Location**: `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
|
|
170
|
+
|
|
171
|
+
#### For NPM Installation:
|
|
172
|
+
```json
|
|
173
|
+
{
|
|
174
|
+
"mcpServers": {
|
|
175
|
+
"dollhousemcp": {
|
|
176
|
+
"command": "npx",
|
|
177
|
+
"args": ["@dollhousemcp/mcp-server"]
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
#### For Source Installation:
|
|
184
|
+
```json
|
|
185
|
+
{
|
|
186
|
+
"mcpServers": {
|
|
187
|
+
"dollhousemcp": {
|
|
188
|
+
"command": "node",
|
|
189
|
+
"args": ["/absolute/path/to/DollhouseMCP/dist/index.js"]
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**🔄 After configuration:**
|
|
196
|
+
1. Save the file
|
|
197
|
+
2. Restart Claude Desktop completely
|
|
198
|
+
3. All 23 DollhouseMCP tools will be available
|
|
199
|
+
|
|
200
|
+
## 🛠️ Available Tools (23 Total)
|
|
201
|
+
|
|
202
|
+
### Core Persona Management
|
|
203
|
+
- **`list_personas`** - Display all local personas with enhanced metadata
|
|
204
|
+
- **`activate_persona`** - Activate by name, filename, or unique ID
|
|
205
|
+
- **`get_active_persona`** - Get current persona information
|
|
206
|
+
- **`deactivate_persona`** - Return to default mode
|
|
207
|
+
- **`get_persona_details`** - View complete persona details
|
|
208
|
+
- **`reload_personas`** - Refresh from filesystem
|
|
209
|
+
|
|
210
|
+
### GitHub Collection Integration
|
|
211
|
+
- **`browse_collection`** - Browse personas by category
|
|
212
|
+
- **`search_collection`** - Search across all collection personas
|
|
213
|
+
- **`get_collection_persona`** - View detailed collection persona info
|
|
214
|
+
- **`install_persona`** - One-click download and installation
|
|
215
|
+
- **`submit_persona`** - Submit to collection via GitHub issue
|
|
216
|
+
|
|
217
|
+
### User Identity Management
|
|
218
|
+
- **`set_user_identity`** - Set username for persona attribution
|
|
219
|
+
- **`get_user_identity`** - View current identity status
|
|
220
|
+
- **`clear_user_identity`** - Return to anonymous mode
|
|
221
|
+
|
|
222
|
+
### Chat-Based Persona Management
|
|
223
|
+
- **`create_persona`** - Guided persona creation through chat
|
|
224
|
+
- **`edit_persona`** - Modify existing persona fields
|
|
225
|
+
- **`validate_persona`** - Comprehensive quality validation
|
|
226
|
+
|
|
227
|
+
### Auto-Update System
|
|
228
|
+
- **`check_for_updates`** - Check GitHub releases for available DollhouseMCP updates
|
|
229
|
+
- **`update_server`** - Automated git pull + npm install + build with backup creation
|
|
230
|
+
- **`rollback_update`** - Restore previous version from automatic backups
|
|
231
|
+
- **`get_server_status`** - Comprehensive server status with version, git info, and system details
|
|
232
|
+
|
|
233
|
+
### Persona Indicators
|
|
234
|
+
- **`configure_indicator`** - Configure how persona indicators appear in AI responses
|
|
235
|
+
- **`get_indicator_config`** - View current indicator configuration settings
|
|
236
|
+
|
|
237
|
+
## 📖 Usage Examples
|
|
238
|
+
|
|
239
|
+
### Collection Operations
|
|
240
|
+
```
|
|
241
|
+
browse_collection # See all categories
|
|
242
|
+
browse_collection "creative" # Browse creative personas
|
|
243
|
+
search_collection "writing" # Search for writing personas
|
|
244
|
+
install_persona "creative/storyteller.md" # Install from collection
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### Persona Creation & Management
|
|
248
|
+
```
|
|
249
|
+
create_persona "Study Buddy" "A helpful tutor" "educational" "You are a patient tutor..."
|
|
250
|
+
edit_persona "Study Buddy" "description" "An encouraging academic mentor"
|
|
251
|
+
validate_persona "Study Buddy" # Check quality and format
|
|
252
|
+
submit_persona "Study Buddy" # Share with community
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### User Identity
|
|
256
|
+
```
|
|
257
|
+
set_user_identity "your-username" # Set attribution
|
|
258
|
+
get_user_identity # Check current status
|
|
259
|
+
clear_user_identity # Return to anonymous
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Auto-Update Operations
|
|
263
|
+
|
|
264
|
+
The auto-update system provides enterprise-grade update management with safety features:
|
|
265
|
+
|
|
266
|
+
```
|
|
267
|
+
check_for_updates # Check for new DollhouseMCP versions
|
|
268
|
+
get_server_status # View current version and system info
|
|
269
|
+
update_server true # Perform automated update with backup
|
|
270
|
+
rollback_update true # Revert to previous version if needed
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
**How Auto-Update Works:**
|
|
274
|
+
|
|
275
|
+
1. **Version Check**: Queries GitHub releases API for latest version
|
|
276
|
+
2. **Backup Creation**: Automatically backs up current installation (including user personas)
|
|
277
|
+
3. **Update Process**:
|
|
278
|
+
- Performs `git pull` to fetch latest code
|
|
279
|
+
- Runs `npm install` for dependency updates
|
|
280
|
+
- Rebuilds TypeScript with `npm run build`
|
|
281
|
+
4. **Verification**: Validates the update succeeded
|
|
282
|
+
5. **Rollback Option**: Keep last 5 backups for easy recovery
|
|
283
|
+
|
|
284
|
+
**Safety Features:**
|
|
285
|
+
- Rate limiting prevents API abuse
|
|
286
|
+
- GPG signature verification (when available)
|
|
287
|
+
- Dependency version validation
|
|
288
|
+
- Automatic backup retention (5 most recent)
|
|
289
|
+
- User personas preserved during updates
|
|
290
|
+
|
|
291
|
+
### Persona Indicators
|
|
292
|
+
DollhouseMCP adds visual indicators to AI responses when a persona is active:
|
|
293
|
+
```
|
|
294
|
+
[🎭 Creative Writer v2.1 by @mickdarling] Your creative response here...
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
Configure indicators:
|
|
298
|
+
```
|
|
299
|
+
get_indicator_config # View current settings
|
|
300
|
+
configure_indicator enabled:false # Disable indicators
|
|
301
|
+
configure_indicator style:"minimal" # Use minimal format: 🎭 Creative Writer
|
|
302
|
+
configure_indicator style:"compact" # Use compact: [Creative Writer v2.1]
|
|
303
|
+
configure_indicator style:"full" # Full format (default)
|
|
304
|
+
configure_indicator emoji:"🤖" # Change emoji
|
|
305
|
+
configure_indicator showAuthor:false # Hide author attribution
|
|
306
|
+
configure_indicator bracketStyle:"round" # Use (parentheses) instead of [brackets]
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
Environment variables for persistent configuration:
|
|
310
|
+
```bash
|
|
311
|
+
export DOLLHOUSE_INDICATOR_ENABLED=true
|
|
312
|
+
export DOLLHOUSE_INDICATOR_STYLE=minimal
|
|
313
|
+
export DOLLHOUSE_INDICATOR_EMOJI=🎨
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
## 🖥️ Cross-Platform Installation
|
|
317
|
+
|
|
318
|
+
### 🐧 Linux Installation
|
|
319
|
+
|
|
320
|
+
#### Prerequisites
|
|
321
|
+
- **Node.js**: v20.0.0 or higher
|
|
322
|
+
- **npm**: v10.0.0 or higher
|
|
323
|
+
- **git**: For version control
|
|
324
|
+
|
|
325
|
+
```bash
|
|
326
|
+
# Ubuntu/Debian
|
|
327
|
+
sudo apt update
|
|
328
|
+
sudo apt install -y nodejs npm git
|
|
329
|
+
# Verify Node.js version
|
|
330
|
+
node --version # Should be v20.0.0 or higher
|
|
331
|
+
|
|
332
|
+
# CentOS/RHEL/Fedora
|
|
333
|
+
sudo dnf install -y nodejs npm git
|
|
334
|
+
# Verify Node.js version
|
|
335
|
+
node --version # Should be v20.0.0 or higher
|
|
336
|
+
|
|
337
|
+
# Arch Linux
|
|
338
|
+
sudo pacman -S nodejs npm git
|
|
339
|
+
# Verify Node.js version
|
|
340
|
+
node --version # Should be v20.0.0 or higher
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
> **Note**: If your system's Node.js is older than v20, install from [NodeSource](https://github.com/nodesource/distributions) or use [nvm](https://github.com/nvm-sh/nvm).
|
|
344
|
+
|
|
345
|
+
#### Installation Steps
|
|
346
|
+
```bash
|
|
347
|
+
# Clone and build
|
|
348
|
+
git clone https://github.com/DollhouseMCP/mcp-server.git
|
|
349
|
+
cd mcp-server
|
|
350
|
+
npm install
|
|
351
|
+
npm run build
|
|
352
|
+
|
|
353
|
+
# Optional: Set user identity
|
|
354
|
+
export DOLLHOUSE_USER="your-username"
|
|
355
|
+
export DOLLHOUSE_EMAIL="your-email@example.com"
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
#### Claude Desktop Configuration (Linux)
|
|
359
|
+
```bash
|
|
360
|
+
# Configuration location
|
|
361
|
+
~/.config/Claude/claude_desktop_config.json
|
|
362
|
+
|
|
363
|
+
# Or use XDG_CONFIG_HOME if set
|
|
364
|
+
$XDG_CONFIG_HOME/Claude/claude_desktop_config.json
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
Configuration content:
|
|
368
|
+
```json
|
|
369
|
+
{
|
|
370
|
+
"mcpServers": {
|
|
371
|
+
"dollhousemcp": {
|
|
372
|
+
"command": "node",
|
|
373
|
+
"args": ["/absolute/path/to/DollhouseMCP/dist/index.js"]
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
### 🪟 Windows Installation
|
|
380
|
+
|
|
381
|
+
#### Prerequisites
|
|
382
|
+
- **Node.js**: v20.0.0 or higher
|
|
383
|
+
- **npm**: v10.0.0 or higher (included with Node.js)
|
|
384
|
+
- **git**: For version control
|
|
385
|
+
|
|
386
|
+
```powershell
|
|
387
|
+
# Install Node.js from https://nodejs.org/ (download LTS version)
|
|
388
|
+
# Or using Chocolatey
|
|
389
|
+
choco install nodejs --version=20.18.0
|
|
390
|
+
choco install git
|
|
391
|
+
|
|
392
|
+
# Or using winget
|
|
393
|
+
winget install OpenJS.NodeJS Git.Git
|
|
394
|
+
|
|
395
|
+
# Verify Node.js version
|
|
396
|
+
node --version # Should be v20.0.0 or higher
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
#### Installation Steps (PowerShell)
|
|
400
|
+
```powershell
|
|
401
|
+
# Clone and build
|
|
402
|
+
git clone https://github.com/DollhouseMCP/mcp-server.git
|
|
403
|
+
cd mcp-server
|
|
404
|
+
npm install
|
|
405
|
+
npm run build
|
|
406
|
+
|
|
407
|
+
# Optional: Set user identity
|
|
408
|
+
$env:DOLLHOUSE_USER = "your-username"
|
|
409
|
+
$env:DOLLHOUSE_EMAIL = "your-email@example.com"
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
#### Claude Desktop Configuration (Windows)
|
|
413
|
+
```powershell
|
|
414
|
+
# Configuration location
|
|
415
|
+
$env:APPDATA\Claude\claude_desktop_config.json
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
Configuration content (use forward slashes or double backslashes):
|
|
419
|
+
```json
|
|
420
|
+
{
|
|
421
|
+
"mcpServers": {
|
|
422
|
+
"dollhousemcp": {
|
|
423
|
+
"command": "node",
|
|
424
|
+
"args": ["C:/path/to/DollhouseMCP/dist/index.js"]
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
### 🍎 macOS Installation
|
|
431
|
+
|
|
432
|
+
#### Prerequisites
|
|
433
|
+
- **Node.js**: v20.0.0 or higher
|
|
434
|
+
- **npm**: v10.0.0 or higher (included with Node.js)
|
|
435
|
+
- **git**: For version control
|
|
436
|
+
|
|
437
|
+
```bash
|
|
438
|
+
# Using Homebrew (recommended)
|
|
439
|
+
brew install node git
|
|
440
|
+
|
|
441
|
+
# Or download from https://nodejs.org/ (LTS version)
|
|
442
|
+
|
|
443
|
+
# Verify Node.js version
|
|
444
|
+
node --version # Should be v20.0.0 or higher
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
#### Installation Steps
|
|
448
|
+
```bash
|
|
449
|
+
# Clone and build
|
|
450
|
+
git clone https://github.com/DollhouseMCP/mcp-server.git
|
|
451
|
+
cd mcp-server
|
|
452
|
+
npm install
|
|
453
|
+
npm run build
|
|
454
|
+
|
|
455
|
+
# Optional: Set user identity
|
|
456
|
+
export DOLLHOUSE_USER="your-username"
|
|
457
|
+
export DOLLHOUSE_EMAIL="your-email@example.com"
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
#### Claude Desktop Configuration (macOS)
|
|
461
|
+
```bash
|
|
462
|
+
# Configuration location
|
|
463
|
+
~/Library/Application Support/Claude/claude_desktop_config.json
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
Configuration content:
|
|
467
|
+
```json
|
|
468
|
+
{
|
|
469
|
+
"mcpServers": {
|
|
470
|
+
"dollhousemcp": {
|
|
471
|
+
"command": "node",
|
|
472
|
+
"args": ["/absolute/path/to/DollhouseMCP/dist/index.js"]
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
## 🐳 Docker Installation
|
|
479
|
+
|
|
480
|
+
### Quick Start with Docker
|
|
481
|
+
```bash
|
|
482
|
+
# Clone repository
|
|
483
|
+
git clone https://github.com/DollhouseMCP/mcp-server.git
|
|
484
|
+
cd mcp-server
|
|
485
|
+
|
|
486
|
+
# Build and run with Docker Compose
|
|
487
|
+
docker-compose up -d
|
|
488
|
+
|
|
489
|
+
# Or build manually
|
|
490
|
+
docker build -t dollhousemcp .
|
|
491
|
+
docker run -d --name dollhousemcp dollhousemcp
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
### Docker Compose (Recommended)
|
|
495
|
+
|
|
496
|
+
#### Production deployment:
|
|
497
|
+
```bash
|
|
498
|
+
docker-compose up -d
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
#### Development with hot reload:
|
|
502
|
+
```bash
|
|
503
|
+
docker-compose --profile dev up dollhousemcp-dev
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
### Custom Personas with Docker
|
|
507
|
+
```bash
|
|
508
|
+
# Mount your custom personas directory
|
|
509
|
+
docker run -d \
|
|
510
|
+
--name dollhousemcp \
|
|
511
|
+
-v /path/to/your/personas:/app/personas \
|
|
512
|
+
-e DOLLHOUSE_USER="your-username" \
|
|
513
|
+
dollhousemcp
|
|
514
|
+
```
|
|
515
|
+
|
|
516
|
+
### Docker Environment Variables
|
|
517
|
+
```bash
|
|
518
|
+
# Set user identity
|
|
519
|
+
DOLLHOUSE_USER=your-username
|
|
520
|
+
DOLLHOUSE_EMAIL=your-email@example.com
|
|
521
|
+
|
|
522
|
+
# Custom personas directory (inside container)
|
|
523
|
+
PERSONAS_DIR=/app/personas
|
|
524
|
+
|
|
525
|
+
# Node.js environment
|
|
526
|
+
NODE_ENV=production
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
## 🧪 Testing
|
|
530
|
+
|
|
531
|
+
### Running Tests
|
|
532
|
+
|
|
533
|
+
The project includes comprehensive tests for cross-platform compatibility:
|
|
534
|
+
|
|
535
|
+
```bash
|
|
536
|
+
# Run all tests
|
|
537
|
+
npm test
|
|
538
|
+
|
|
539
|
+
# Run tests with coverage
|
|
540
|
+
npm run test:coverage
|
|
541
|
+
|
|
542
|
+
# Run tests in watch mode (for development)
|
|
543
|
+
npm run test:watch
|
|
544
|
+
|
|
545
|
+
# Run specific test suites
|
|
546
|
+
npm run test:auto-update
|
|
547
|
+
npm run test:personas
|
|
548
|
+
npm run test:collection
|
|
549
|
+
```
|
|
550
|
+
|
|
551
|
+
### Test Coverage
|
|
552
|
+
|
|
553
|
+
Current test coverage includes:
|
|
554
|
+
- ✅ **102 comprehensive tests** covering all functionality
|
|
555
|
+
- ✅ **Auto-update system** - GitHub API, backup/rollback, dependency validation
|
|
556
|
+
- ✅ **Security testing** - Command injection prevention, input validation
|
|
557
|
+
- ✅ **Cross-platform compatibility** - Windows, macOS, Linux path handling
|
|
558
|
+
- ✅ **Version validation** - Parsing tests for git/npm output formats
|
|
559
|
+
- ✅ **Edge case coverage** - Network failures, missing dependencies, malformed input
|
|
560
|
+
|
|
561
|
+
### Manual Verification
|
|
562
|
+
|
|
563
|
+
Verify your setup works correctly:
|
|
564
|
+
|
|
565
|
+
```bash
|
|
566
|
+
# Build the project
|
|
567
|
+
npm run build
|
|
568
|
+
|
|
569
|
+
# Test the server (should output server info)
|
|
570
|
+
node dist/index.js --help 2>/dev/null || echo "Server compiled successfully"
|
|
571
|
+
|
|
572
|
+
# Verify personas directory
|
|
573
|
+
ls -la personas/
|
|
574
|
+
|
|
575
|
+
# Test auto-update system
|
|
576
|
+
check_for_updates # Use in Claude Desktop
|
|
577
|
+
get_server_status # Check current system status
|
|
578
|
+
```
|
|
579
|
+
|
|
580
|
+
## ☁️ Cloud Deployment
|
|
581
|
+
|
|
582
|
+
### Container Registries
|
|
583
|
+
|
|
584
|
+
The project supports deployment to:
|
|
585
|
+
- **GitHub Container Registry** (ghcr.io)
|
|
586
|
+
- **Docker Hub**
|
|
587
|
+
- **AWS ECR**
|
|
588
|
+
- **Google Container Registry**
|
|
589
|
+
|
|
590
|
+
### Example Cloud Deployments
|
|
591
|
+
|
|
592
|
+
#### AWS ECS
|
|
593
|
+
```json
|
|
594
|
+
{
|
|
595
|
+
"family": "dollhousemcp",
|
|
596
|
+
"containerDefinitions": [{
|
|
597
|
+
"name": "dollhousemcp",
|
|
598
|
+
"image": "ghcr.io/mickdarling/dollhousemcp:latest",
|
|
599
|
+
"memory": 512,
|
|
600
|
+
"cpu": 256,
|
|
601
|
+
"environment": [
|
|
602
|
+
{"name": "NODE_ENV", "value": "production"},
|
|
603
|
+
{"name": "PERSONAS_DIR", "value": "/app/personas"},
|
|
604
|
+
{"name": "DOLLHOUSE_USER", "value": "production"}
|
|
605
|
+
]
|
|
606
|
+
}]
|
|
607
|
+
}
|
|
608
|
+
```
|
|
609
|
+
|
|
610
|
+
#### Google Cloud Run
|
|
611
|
+
```bash
|
|
612
|
+
gcloud run deploy dollhousemcp \
|
|
613
|
+
--image ghcr.io/mickdarling/dollhousemcp:latest \
|
|
614
|
+
--platform managed \
|
|
615
|
+
--region us-central1 \
|
|
616
|
+
--set-env-vars NODE_ENV=production,DOLLHOUSE_USER=production
|
|
617
|
+
```
|
|
618
|
+
|
|
619
|
+
#### Azure Container Instances
|
|
620
|
+
```bash
|
|
621
|
+
az container create \
|
|
622
|
+
--name dollhousemcp \
|
|
623
|
+
--resource-group myResourceGroup \
|
|
624
|
+
--image ghcr.io/mickdarling/dollhousemcp:latest \
|
|
625
|
+
--environment-variables NODE_ENV=production DOLLHOUSE_USER=production
|
|
626
|
+
```
|
|
627
|
+
|
|
628
|
+
## 🏗️ Project Structure
|
|
629
|
+
|
|
630
|
+
```
|
|
631
|
+
DollhouseMCP/
|
|
632
|
+
├── .github/
|
|
633
|
+
│ ├── actions/
|
|
634
|
+
│ │ └── validate-yaml/ # Reusable YAML validation action
|
|
635
|
+
│ ├── workflows/ # CI/CD workflows
|
|
636
|
+
│ └── ISSUE_TEMPLATE/ # Issue templates for bug/feature/task
|
|
637
|
+
├── __tests__/
|
|
638
|
+
│ ├── unit/ # Unit tests for components
|
|
639
|
+
│ ├── integration/ # Integration tests
|
|
640
|
+
│ └── *.test.ts # Test files (372 tests total)
|
|
641
|
+
├── src/
|
|
642
|
+
│ ├── index.ts # Main MCP server (DollhouseMCPServer)
|
|
643
|
+
│ ├── cache/ # API caching layer
|
|
644
|
+
│ ├── config/ # Configuration management
|
|
645
|
+
│ ├── marketplace/ # GitHub collection integration
|
|
646
|
+
│ ├── persona/ # Persona management core
|
|
647
|
+
│ ├── security/ # Input validation and security
|
|
648
|
+
│ ├── server/ # MCP server setup and tools
|
|
649
|
+
│ ├── types/ # TypeScript type definitions
|
|
650
|
+
│ ├── update/ # Auto-update system components
|
|
651
|
+
│ └── utils/ # Utility functions
|
|
652
|
+
├── dist/ # Compiled JavaScript (auto-generated)
|
|
653
|
+
├── personas/ # Default persona collection
|
|
654
|
+
│ ├── creative-writer.md
|
|
655
|
+
│ ├── technical-analyst.md
|
|
656
|
+
│ ├── eli5-explainer.md
|
|
657
|
+
│ ├── business-consultant.md
|
|
658
|
+
│ └── debug-detective.md
|
|
659
|
+
├── custom-personas/ # User-created personas (git-ignored)
|
|
660
|
+
├── docs/ # Documentation
|
|
661
|
+
│ ├── auto-update/ # Auto-update system docs
|
|
662
|
+
│ └── development/ # Development notes and guides
|
|
663
|
+
├── scripts/ # Management and utility scripts
|
|
664
|
+
├── Dockerfile # Multi-stage Docker build
|
|
665
|
+
├── docker-compose.yml # Production and development configs
|
|
666
|
+
├── package.json # Project config (dollhousemcp v1.2.1)
|
|
667
|
+
├── tsconfig.json # TypeScript configuration
|
|
668
|
+
├── jest.config.cjs # Jest test configuration
|
|
669
|
+
├── setup.sh # Automated installation script
|
|
670
|
+
├── LICENSE # AGPL-3.0 with platform stability
|
|
671
|
+
├── CHANGELOG.md # Version history
|
|
672
|
+
├── claude.md # Project context for Claude
|
|
673
|
+
└── README.md # This file
|
|
674
|
+
```
|
|
675
|
+
|
|
676
|
+
## 📝 Creating Custom Personas
|
|
677
|
+
|
|
678
|
+
### Enhanced Persona Format
|
|
679
|
+
|
|
680
|
+
Create `.md` files in the `personas/` directory with this structure:
|
|
681
|
+
|
|
682
|
+
```markdown
|
|
683
|
+
---
|
|
684
|
+
name: "Your Persona Name"
|
|
685
|
+
description: "Brief description of what this persona does"
|
|
686
|
+
unique_id: "auto-generated-if-missing"
|
|
687
|
+
author: "your-username"
|
|
688
|
+
triggers: ["keyword1", "keyword2"]
|
|
689
|
+
version: "1.0"
|
|
690
|
+
category: "creative"
|
|
691
|
+
age_rating: "all"
|
|
692
|
+
ai_generated: false
|
|
693
|
+
generation_method: "human"
|
|
694
|
+
price: "free"
|
|
695
|
+
license: "CC-BY-SA-4.0"
|
|
696
|
+
---
|
|
697
|
+
|
|
698
|
+
# Your Persona Name
|
|
699
|
+
|
|
700
|
+
Your persona instructions go here. This content defines how the AI should behave when this persona is activated.
|
|
701
|
+
|
|
702
|
+
## Response Style
|
|
703
|
+
- Communication guidelines
|
|
704
|
+
- Tone and approach
|
|
705
|
+
- Specific behaviors
|
|
706
|
+
|
|
707
|
+
## Key Techniques
|
|
708
|
+
- Problem-solving methods
|
|
709
|
+
- Interaction patterns
|
|
710
|
+
```
|
|
711
|
+
|
|
712
|
+
### Metadata Fields
|
|
713
|
+
|
|
714
|
+
#### Required Fields
|
|
715
|
+
| Field | Description |
|
|
716
|
+
|-------|-------------|
|
|
717
|
+
| `name` | Display name for the persona |
|
|
718
|
+
| `description` | Brief description of purpose and capabilities |
|
|
719
|
+
|
|
720
|
+
#### Optional Fields
|
|
721
|
+
| Field | Description |
|
|
722
|
+
|-------|-------------|
|
|
723
|
+
| `unique_id` | Auto-generated in format: `what-it-is_YYYYMMDD-HHMMSS_who-made-it` |
|
|
724
|
+
| `author` | Creator username (uses DOLLHOUSE_USER environment variable or generates anonymous ID) |
|
|
725
|
+
| `category` | One of: creative, professional, educational, gaming, personal |
|
|
726
|
+
| `triggers` | Array of keywords that suggest when to use this persona |
|
|
727
|
+
| `version` | Semantic version number (auto-incremented on edits) |
|
|
728
|
+
| `age_rating` | Content rating: all, 13+, or 18+ |
|
|
729
|
+
| `ai_generated` | Boolean flag indicating if content was AI-created |
|
|
730
|
+
| `price` | Monetization field - **TODO: Future Release** (will support "free" or pricing tiers) |
|
|
731
|
+
|
|
732
|
+
## 📚 Built-in Personas
|
|
733
|
+
|
|
734
|
+
| Persona | Purpose | Best For |
|
|
735
|
+
|---------|---------|----------|
|
|
736
|
+
| **Creative Writer** | Imaginative storytelling and creative content | Brainstorming, creative writing, engaging narratives |
|
|
737
|
+
| **Technical Analyst** | Deep technical analysis and systematic problem-solving | Architecture decisions, debugging, technical docs |
|
|
738
|
+
| **ELI5 Explainer** | Simplifying complex topics for beginners | Teaching, onboarding, concept explanation |
|
|
739
|
+
| **Business Consultant** | Strategic business analysis and recommendations | Strategy planning, business decisions, market analysis |
|
|
740
|
+
| **Debug Detective** | Systematic debugging and troubleshooting | Bug hunting, system troubleshooting, root cause analysis |
|
|
741
|
+
|
|
742
|
+
## 🏪 Collection Integration (Beta)
|
|
743
|
+
|
|
744
|
+
> **🧪 Beta Feature**: The GitHub-powered collection is currently in beta. Features may change based on community feedback.
|
|
745
|
+
|
|
746
|
+
DollhouseMCP includes an experimental GitHub-powered collection:
|
|
747
|
+
|
|
748
|
+
- **Browse by Category**: creative, professional, educational, gaming, personal
|
|
749
|
+
- **Search Content**: Find personas by keywords and descriptions
|
|
750
|
+
- **One-Click Install**: Download and integrate collection personas
|
|
751
|
+
- **Community Submissions**: Submit your personas via `submit_persona` tool
|
|
752
|
+
- **Version Control**: Full Git history for all collection content
|
|
753
|
+
|
|
754
|
+
> **Note**: Collection features require internet connection and GitHub API access. Rate limits may apply.
|
|
755
|
+
|
|
756
|
+
### ⚠️ Migration Guide - Breaking Changes
|
|
757
|
+
|
|
758
|
+
**Important**: Tool names have changed in recent versions:
|
|
759
|
+
- `browse_marketplace` → `browse_collection`
|
|
760
|
+
- `search_marketplace` → `search_collection`
|
|
761
|
+
- `get_marketplace_persona` → `get_collection_persona`
|
|
762
|
+
|
|
763
|
+
If you have scripts or workflows using the old tool names, please update them to use the new names.
|
|
764
|
+
|
|
765
|
+
## 💼 Business Model & Legal
|
|
766
|
+
|
|
767
|
+
### Licensing
|
|
768
|
+
- **Core Server**: AGPL-3.0 (prevents proprietary competing platforms)
|
|
769
|
+
- **Persona Content**: CC-BY-SA-4.0 for free personas, custom licenses for premium
|
|
770
|
+
- **Platform Terms**: Creator-friendly 80/20 revenue split (applies only to paid personas when monetization is implemented)
|
|
771
|
+
|
|
772
|
+
### Platform Stability Commitments
|
|
773
|
+
- 90-day advance notice for monetization changes
|
|
774
|
+
- 12-month revenue sharing locks for existing paid personas
|
|
775
|
+
- Transparent governance for platform policy updates
|
|
776
|
+
- Full data portability rights
|
|
777
|
+
- Community advisory input on policy changes
|
|
778
|
+
|
|
779
|
+
## 🛠️ Development
|
|
780
|
+
|
|
781
|
+
### Available Scripts
|
|
782
|
+
|
|
783
|
+
| Script | Description |
|
|
784
|
+
|--------|-------------|
|
|
785
|
+
| `npm run build` | Compile TypeScript to JavaScript |
|
|
786
|
+
| `npm run start` | Run the compiled server |
|
|
787
|
+
| `npm run dev` | Run in development mode with auto-reload |
|
|
788
|
+
| `npm run clean` | Remove compiled files |
|
|
789
|
+
| `npm run rebuild` | Clean and rebuild the project |
|
|
790
|
+
| `npm run setup` | Install dependencies and build |
|
|
791
|
+
| `npm test` | Run the comprehensive test suite |
|
|
792
|
+
| `npm run test:coverage` | Run tests with coverage reporting |
|
|
793
|
+
|
|
794
|
+
### Environment Variables
|
|
795
|
+
|
|
796
|
+
Customize server behavior with these environment variables:
|
|
797
|
+
|
|
798
|
+
```bash
|
|
799
|
+
# User Attribution
|
|
800
|
+
export DOLLHOUSE_USER="your-username" # User attribution for persona creation
|
|
801
|
+
export DOLLHOUSE_EMAIL="your-email" # Contact email (optional)
|
|
802
|
+
|
|
803
|
+
# Directory Configuration
|
|
804
|
+
export PERSONAS_DIR="/custom/path/to/personas" # Custom personas directory
|
|
805
|
+
|
|
806
|
+
# Auto-Update Configuration
|
|
807
|
+
export GITHUB_TOKEN="your-token" # For private repository access (optional)
|
|
808
|
+
|
|
809
|
+
# Development Configuration
|
|
810
|
+
export NODE_ENV="development" # Development mode
|
|
811
|
+
export DEBUG="dollhousemcp:*" # Debug logging (optional)
|
|
812
|
+
```
|
|
813
|
+
|
|
814
|
+
## 🔧 Troubleshooting
|
|
815
|
+
|
|
816
|
+
### Common Issues
|
|
817
|
+
|
|
818
|
+
| Issue | Solution |
|
|
819
|
+
|-------|----------|
|
|
820
|
+
| **Personas not loading** | Check `personas/` directory exists and has read permissions |
|
|
821
|
+
| **Server won't start** | Run `npm run rebuild` to clean and rebuild |
|
|
822
|
+
| **Collection not working** | Check internet connection and GitHub API access |
|
|
823
|
+
| **User identity not saving** | Set `DOLLHOUSE_USER` environment variable before starting Claude |
|
|
824
|
+
| **"Cannot find module" errors** | Ensure `npm install` completed successfully |
|
|
825
|
+
| **TypeScript compilation errors** | Verify Node.js version is 20+ with `node --version` |
|
|
826
|
+
| **Tools not appearing in Claude** | Restart Claude Desktop completely after config changes |
|
|
827
|
+
| **Default personas modified** | v1.2.1+ uses copy-on-write; git restore if needed |
|
|
828
|
+
| **Update/rollback issues** | Check write permissions; disable with `DOLLHOUSE_DISABLE_UPDATES=true` |
|
|
829
|
+
| **Rate limit errors** | Wait 60 seconds; GitHub API has hourly limits |
|
|
830
|
+
|
|
831
|
+
### Debug Steps
|
|
832
|
+
|
|
833
|
+
1. **Check build status:**
|
|
834
|
+
```bash
|
|
835
|
+
npm run build
|
|
836
|
+
```
|
|
837
|
+
|
|
838
|
+
2. **Verify persona files:**
|
|
839
|
+
```bash
|
|
840
|
+
ls -la personas/*.md
|
|
841
|
+
```
|
|
842
|
+
|
|
843
|
+
3. **Test server startup:**
|
|
844
|
+
```bash
|
|
845
|
+
node dist/index.js
|
|
846
|
+
```
|
|
847
|
+
|
|
848
|
+
4. **Validate configuration:**
|
|
849
|
+
```bash
|
|
850
|
+
# Check Claude Desktop config
|
|
851
|
+
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json
|
|
852
|
+
|
|
853
|
+
# Verify Node.js version (requires 20+)
|
|
854
|
+
node --version
|
|
855
|
+
|
|
856
|
+
# Check npm version
|
|
857
|
+
npm --version
|
|
858
|
+
```
|
|
859
|
+
|
|
860
|
+
5. **Test auto-update system:**
|
|
861
|
+
```bash
|
|
862
|
+
# Use within Claude Desktop
|
|
863
|
+
check_for_updates # Check for available updates
|
|
864
|
+
get_server_status # View system information
|
|
865
|
+
```
|
|
866
|
+
|
|
867
|
+
6. **Validate personas:**
|
|
868
|
+
Use the `reload_personas` tool to check for loading errors
|
|
869
|
+
|
|
870
|
+
## 🤝 Contributing
|
|
871
|
+
|
|
872
|
+
We welcome contributions! DollhouseMCP includes integrated tools for submitting personas directly from Claude.
|
|
873
|
+
|
|
874
|
+
### Integrated Contribution Process (Recommended)
|
|
875
|
+
|
|
876
|
+
1. **Create or modify a persona** using the chat-based tools:
|
|
877
|
+
```
|
|
878
|
+
create_persona "My Awesome Persona" "A helpful assistant for..." "professional"
|
|
879
|
+
```
|
|
880
|
+
|
|
881
|
+
2. **Validate your persona** to ensure quality:
|
|
882
|
+
```
|
|
883
|
+
validate_persona "My Awesome Persona"
|
|
884
|
+
```
|
|
885
|
+
|
|
886
|
+
3. **Submit to the collection** directly from Claude:
|
|
887
|
+
```
|
|
888
|
+
submit_persona "My Awesome Persona"
|
|
889
|
+
```
|
|
890
|
+
This automatically creates a GitHub issue for community review.
|
|
891
|
+
|
|
892
|
+
### Manual Contribution Process
|
|
893
|
+
|
|
894
|
+
1. Fork the repository
|
|
895
|
+
2. Create persona files in `personas/` or `custom-personas/`
|
|
896
|
+
3. Follow the metadata format and naming conventions
|
|
897
|
+
4. Test thoroughly with `validate_persona` tool
|
|
898
|
+
5. Submit a pull request with clear description
|
|
899
|
+
|
|
900
|
+
### Reporting Issues
|
|
901
|
+
|
|
902
|
+
Please include:
|
|
903
|
+
- Node.js version (`node --version`)
|
|
904
|
+
- Operating system and version
|
|
905
|
+
- Complete error messages
|
|
906
|
+
- Steps to reproduce the issue
|
|
907
|
+
- Relevant persona files (if applicable)
|
|
908
|
+
- Claude Desktop configuration (without sensitive paths)
|
|
909
|
+
|
|
910
|
+
### Development Guidelines
|
|
911
|
+
|
|
912
|
+
1. **Follow TypeScript best practices**
|
|
913
|
+
2. **Maintain existing code style and patterns**
|
|
914
|
+
3. **Add comprehensive error handling**
|
|
915
|
+
4. **Update documentation for new features**
|
|
916
|
+
5. **Test thoroughly across platforms before submitting PRs**
|
|
917
|
+
6. **Include tests for new functionality**
|
|
918
|
+
7. **Follow semantic versioning for releases**
|
|
919
|
+
|
|
920
|
+
### Development Workflow
|
|
921
|
+
|
|
922
|
+
```bash
|
|
923
|
+
# Fork and clone
|
|
924
|
+
git clone https://github.com/your-username/DollhouseMCP.git
|
|
925
|
+
cd mcp-server
|
|
926
|
+
|
|
927
|
+
# Install dependencies
|
|
928
|
+
npm install
|
|
929
|
+
|
|
930
|
+
# Create feature branch
|
|
931
|
+
git checkout -b feature/your-feature-name
|
|
932
|
+
|
|
933
|
+
# Make changes and test
|
|
934
|
+
npm run build
|
|
935
|
+
npm test
|
|
936
|
+
|
|
937
|
+
# Commit and push
|
|
938
|
+
git commit -m "feat: your feature description"
|
|
939
|
+
git push origin feature/your-feature-name
|
|
940
|
+
|
|
941
|
+
# Submit pull request
|
|
942
|
+
```
|
|
943
|
+
|
|
944
|
+
## 📄 API Reference
|
|
945
|
+
|
|
946
|
+
### MCP Tool Specifications
|
|
947
|
+
|
|
948
|
+
Each tool follows the MCP specification:
|
|
949
|
+
|
|
950
|
+
```typescript
|
|
951
|
+
interface DollhouseTool {
|
|
952
|
+
name: string;
|
|
953
|
+
description: string;
|
|
954
|
+
inputSchema: {
|
|
955
|
+
type: "object";
|
|
956
|
+
properties: Record<string, any>;
|
|
957
|
+
required?: string[];
|
|
958
|
+
};
|
|
959
|
+
}
|
|
960
|
+
```
|
|
961
|
+
|
|
962
|
+
### Tool Categories
|
|
963
|
+
|
|
964
|
+
#### Core Persona Management
|
|
965
|
+
```typescript
|
|
966
|
+
// list_personas - No parameters
|
|
967
|
+
// activate_persona - { persona: string }
|
|
968
|
+
// get_active_persona - No parameters
|
|
969
|
+
// deactivate_persona - No parameters
|
|
970
|
+
// get_persona_details - { persona: string }
|
|
971
|
+
// reload_personas - No parameters
|
|
972
|
+
```
|
|
973
|
+
|
|
974
|
+
#### Collection Integration
|
|
975
|
+
```typescript
|
|
976
|
+
// browse_collection - { category?: string }
|
|
977
|
+
// search_collection - { query: string }
|
|
978
|
+
// get_collection_persona - { path: string }
|
|
979
|
+
// install_persona - { path: string }
|
|
980
|
+
// submit_persona - { persona: string }
|
|
981
|
+
```
|
|
982
|
+
|
|
983
|
+
#### User Identity Management
|
|
984
|
+
```typescript
|
|
985
|
+
// set_user_identity - { username: string }
|
|
986
|
+
// get_user_identity - No parameters
|
|
987
|
+
// clear_user_identity - No parameters
|
|
988
|
+
```
|
|
989
|
+
|
|
990
|
+
#### Chat-Based Management
|
|
991
|
+
```typescript
|
|
992
|
+
// create_persona - { name: string, description: string, category?: string, instructions: string }
|
|
993
|
+
// edit_persona - { persona: string, field: string, value: string }
|
|
994
|
+
// validate_persona - { persona: string }
|
|
995
|
+
```
|
|
996
|
+
|
|
997
|
+
#### Auto-Update System
|
|
998
|
+
```typescript
|
|
999
|
+
// check_for_updates - No parameters
|
|
1000
|
+
// update_server - { confirm: boolean }
|
|
1001
|
+
// rollback_update - { confirm: boolean }
|
|
1002
|
+
// get_server_status - No parameters
|
|
1003
|
+
```
|
|
1004
|
+
|
|
1005
|
+
### Error Handling
|
|
1006
|
+
|
|
1007
|
+
The server provides detailed error messages for:
|
|
1008
|
+
- **Invalid persona identifiers** - Clear suggestions for valid names
|
|
1009
|
+
- **File system issues** - Permission and path resolution errors
|
|
1010
|
+
- **Malformed persona files** - YAML parsing and validation errors
|
|
1011
|
+
- **Network errors** - GitHub API and collection connectivity issues
|
|
1012
|
+
- **Runtime errors** - Server startup and operation failures
|
|
1013
|
+
|
|
1014
|
+
### Response Formats
|
|
1015
|
+
|
|
1016
|
+
All responses follow consistent patterns:
|
|
1017
|
+
- **Success responses**: Include requested data and operation status
|
|
1018
|
+
- **Error responses**: Include error type, message, and suggested resolution
|
|
1019
|
+
- **Progress indicators**: Step-by-step feedback for long operations
|
|
1020
|
+
- **Validation results**: Detailed reports with recommendations
|
|
1021
|
+
|
|
1022
|
+
## 📄 License
|
|
1023
|
+
|
|
1024
|
+
This project is licensed under the **AGPL-3.0** License with Platform Stability Commitments - see the [LICENSE](LICENSE) file for details.
|
|
1025
|
+
|
|
1026
|
+
**Platform Stability Guarantees:**
|
|
1027
|
+
- 90-day advance notice for policy changes
|
|
1028
|
+
- 12-month revenue sharing locks
|
|
1029
|
+
- Full data portability rights
|
|
1030
|
+
- Community advisory input
|
|
1031
|
+
|
|
1032
|
+
## 🏷️ Version History
|
|
1033
|
+
|
|
1034
|
+
### v1.2.5 - July 2025 (Next Release)
|
|
1035
|
+
|
|
1036
|
+
**Collection Rename & Breaking Changes**:
|
|
1037
|
+
- 🔄 **Renamed all "marketplace" tools to "collection"**:
|
|
1038
|
+
- `browse_marketplace` → `browse_collection`
|
|
1039
|
+
- `search_marketplace` → `search_collection`
|
|
1040
|
+
- `get_marketplace_persona` → `get_collection_persona`
|
|
1041
|
+
- `install_persona` → `install_persona` (unchanged)
|
|
1042
|
+
- `submit_persona` → `submit_persona` (unchanged)
|
|
1043
|
+
- ✅ **Added backward compatibility aliases** (deprecated, will be removed in v2.0.0)
|
|
1044
|
+
- ✅ **Updated repository** from `/personas` to `/collection`
|
|
1045
|
+
- ✅ **Created migration guide** for users to update their scripts
|
|
1046
|
+
- ✅ **Fixed all date references** from January to July 2025
|
|
1047
|
+
|
|
1048
|
+
### v1.2.4 - July 10, 2025 (Current)
|
|
1049
|
+
|
|
1050
|
+
**Critical Fix**:
|
|
1051
|
+
- ✅ **Fixed MCP protocol compatibility** - console output no longer breaks JSON-RPC communication
|
|
1052
|
+
- ✅ **Added MCP-safe logger utility** for proper logging during protocol sessions
|
|
1053
|
+
- ✅ **Resolves connection failures** in Claude Desktop
|
|
1054
|
+
- ✅ **Updated Docker tests** to work with new logging approach
|
|
1055
|
+
- ✅ **Added comprehensive logger unit tests**
|
|
1056
|
+
|
|
1057
|
+
### v1.2.3 - July 10, 2025
|
|
1058
|
+
|
|
1059
|
+
**Bug Fix**:
|
|
1060
|
+
- ✅ **Fixed personas directory path resolution** for production environments
|
|
1061
|
+
- ✅ **Changed from process.cwd() to __dirname-based paths**
|
|
1062
|
+
- ✅ **Fixed setup script** with correct tool count and repository URLs
|
|
1063
|
+
|
|
1064
|
+
### v1.2.2 - July 10, 2025
|
|
1065
|
+
- ✅ **Comprehensive security enhancements**:
|
|
1066
|
+
- Content sanitization with DOMPurify (SEC-001)
|
|
1067
|
+
- YAML injection prevention (SEC-003)
|
|
1068
|
+
- GitHub token security (SEC-004)
|
|
1069
|
+
- Docker container hardening (SEC-005)
|
|
1070
|
+
- ✅ **487 comprehensive tests** including extensive security coverage
|
|
1071
|
+
- ✅ **CI timing test fixes** for reliable cross-platform testing
|
|
1072
|
+
- ✅ **TypeScript compilation fixes** for all test files
|
|
1073
|
+
- ✅ **All security vulnerabilities resolved** (0 active alerts)
|
|
1074
|
+
|
|
1075
|
+
### v1.2.1 - July 8, 2025
|
|
1076
|
+
- ✅ **Critical bug fixes** for data protection:
|
|
1077
|
+
- Copy-on-write for default personas (Issue #145)
|
|
1078
|
+
- User personas included in backups (Issue #144)
|
|
1079
|
+
- ✅ **Node.js 20+ requirement** for npm publishing compatibility
|
|
1080
|
+
- ✅ **372 comprehensive tests** covering all functionality
|
|
1081
|
+
- ✅ **Enhanced security** with all vulnerabilities resolved
|
|
1082
|
+
- ✅ **Improved documentation** with clear prerequisites
|
|
1083
|
+
|
|
1084
|
+
### v1.2.0 - July 7, 2025
|
|
1085
|
+
- ✅ **Rate limiting implementation** to prevent API abuse
|
|
1086
|
+
- ✅ **GPG signature verification** for release authenticity
|
|
1087
|
+
- ✅ **GitHub Advanced Security** integration
|
|
1088
|
+
- ✅ **309 tests** with improved CI environment coverage
|
|
1089
|
+
- ✅ **Package optimization** at 279.3 kB
|
|
1090
|
+
|
|
1091
|
+
### v1.1.0 - July 4, 2025
|
|
1092
|
+
- ✅ **Platform-specific badges** for Windows, macOS, Linux visibility
|
|
1093
|
+
- ✅ **GitHub Project management** with issue templates and milestones
|
|
1094
|
+
- ✅ **ARM64 Docker fix** switching from Alpine to Debian base images
|
|
1095
|
+
- ✅ **100% workflow reliability** (except Docker ARM64)
|
|
1096
|
+
- ✅ **First GitHub release** with CHANGELOG.md
|
|
1097
|
+
- ✅ **21 total MCP tools** at time of release
|
|
1098
|
+
|
|
1099
|
+
### Phase 2B+ - July 3, 2025
|
|
1100
|
+
- ✅ **Enterprise-grade auto-update system** with 4 new MCP tools
|
|
1101
|
+
- ✅ **50 comprehensive tests** covering all functionality
|
|
1102
|
+
- ✅ **Security hardening** - eliminated all command injection vulnerabilities
|
|
1103
|
+
- ✅ **Cross-platform support** - Windows, macOS, Linux with CI/CD testing
|
|
1104
|
+
- ✅ **Docker containerization** with production and development configurations
|
|
1105
|
+
- ✅ **21 total MCP tools** with backup/rollback and dependency validation
|
|
1106
|
+
|
|
1107
|
+
### Phase 2B - July 1-2, 2025
|
|
1108
|
+
- ✅ Complete chat-based persona management
|
|
1109
|
+
- ✅ GitHub marketplace integration
|
|
1110
|
+
- ✅ User identity and attribution system
|
|
1111
|
+
- ✅ Real-time validation and editing
|
|
1112
|
+
- ✅ Enterprise-grade GitHub Actions security
|
|
1113
|
+
|
|
1114
|
+
### Phase 1 - July 1, 2025
|
|
1115
|
+
- ✅ Fresh AGPL-3.0 licensed repository
|
|
1116
|
+
- ✅ Enhanced unique ID system
|
|
1117
|
+
- ✅ Anonymous user support
|
|
1118
|
+
- ✅ Marketplace-ready metadata schema
|
|
1119
|
+
|
|
1120
|
+
---
|
|
1121
|
+
|
|
1122
|
+
**🎭 Transform your AI interactions with the power of personas**
|
|
1123
|
+
|
|
1124
|
+
For support, please [open an issue](https://github.com/DollhouseMCP/mcp-server/issues) or visit our [collection](https://github.com/DollhouseMCP/collection).
|