@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.
Files changed (1004) hide show
  1. package/CHANGELOG.md +132 -0
  2. package/LICENSE +51 -0
  3. package/README.md +1124 -0
  4. package/data/agents/code-reviewer.md +296 -0
  5. package/data/agents/research-assistant.md +259 -0
  6. package/data/agents/task-manager.md +206 -0
  7. package/data/ensembles/business-advisor.md +354 -0
  8. package/data/ensembles/creative-studio.md +288 -0
  9. package/data/ensembles/development-team.md +292 -0
  10. package/data/ensembles/security-analysis-team.md +438 -0
  11. package/data/memories/conversation-history.md +146 -0
  12. package/data/memories/learning-progress.md +376 -0
  13. package/data/memories/project-context.md +268 -0
  14. package/data/personas/business-consultant.md +50 -0
  15. package/data/personas/creative-writer.md +44 -0
  16. package/data/personas/debug-detective.md +59 -0
  17. package/data/personas/eli5-explainer.md +49 -0
  18. package/data/personas/security-analyst.md +161 -0
  19. package/data/personas/technical-analyst.md +43 -0
  20. package/data/skills/code-review.md +112 -0
  21. package/data/skills/creative-writing.md +174 -0
  22. package/data/skills/data-analysis.md +160 -0
  23. package/data/skills/penetration-testing.md +374 -0
  24. package/data/skills/research.md +181 -0
  25. package/data/skills/threat-modeling.md +469 -0
  26. package/data/skills/translation.md +148 -0
  27. package/data/templates/code-documentation.md +409 -0
  28. package/data/templates/email-professional.md +158 -0
  29. package/data/templates/meeting-notes.md +141 -0
  30. package/data/templates/penetration-test-report.md +608 -0
  31. package/data/templates/project-brief.md +234 -0
  32. package/data/templates/report-executive.md +258 -0
  33. package/data/templates/security-vulnerability-report.md +457 -0
  34. package/data/templates/threat-assessment-report.md +774 -0
  35. package/dist/cache/APICache.d.ts +23 -0
  36. package/dist/cache/APICache.d.ts.map +1 -0
  37. package/dist/cache/APICache.js +42 -0
  38. package/dist/cache/index.d.ts +5 -0
  39. package/dist/cache/index.d.ts.map +1 -0
  40. package/dist/cache/index.js +5 -0
  41. package/dist/collection/CollectionBrowser.d.ts +24 -0
  42. package/dist/collection/CollectionBrowser.d.ts.map +1 -0
  43. package/dist/collection/CollectionBrowser.js +120 -0
  44. package/dist/collection/CollectionSearch.d.ts +18 -0
  45. package/dist/collection/CollectionSearch.d.ts.map +1 -0
  46. package/dist/collection/CollectionSearch.js +48 -0
  47. package/dist/collection/ElementInstaller.d.ts +33 -0
  48. package/dist/collection/ElementInstaller.d.ts.map +1 -0
  49. package/dist/collection/ElementInstaller.js +142 -0
  50. package/dist/collection/GitHubClient.d.ts +22 -0
  51. package/dist/collection/GitHubClient.d.ts.map +1 -0
  52. package/dist/collection/GitHubClient.js +114 -0
  53. package/dist/collection/MarketplaceBrowser.d.ts +24 -0
  54. package/dist/collection/MarketplaceBrowser.d.ts.map +1 -0
  55. package/dist/collection/MarketplaceBrowser.js +115 -0
  56. package/dist/collection/MarketplaceSearch.d.ts +18 -0
  57. package/dist/collection/MarketplaceSearch.d.ts.map +1 -0
  58. package/dist/collection/MarketplaceSearch.js +48 -0
  59. package/dist/collection/PersonaDetails.d.ts +22 -0
  60. package/dist/collection/PersonaDetails.d.ts.map +1 -0
  61. package/dist/collection/PersonaDetails.js +71 -0
  62. package/dist/collection/PersonaInstaller.d.ts +26 -0
  63. package/dist/collection/PersonaInstaller.d.ts.map +1 -0
  64. package/dist/collection/PersonaInstaller.js +103 -0
  65. package/dist/collection/PersonaSubmitter.d.ts +19 -0
  66. package/dist/collection/PersonaSubmitter.d.ts.map +1 -0
  67. package/dist/collection/PersonaSubmitter.js +57 -0
  68. package/dist/collection/index.d.ts +10 -0
  69. package/dist/collection/index.d.ts.map +1 -0
  70. package/dist/collection/index.js +10 -0
  71. package/dist/config/constants.d.ts +25 -0
  72. package/dist/config/constants.d.ts.map +1 -0
  73. package/dist/config/constants.js +34 -0
  74. package/dist/config/index.d.ts +6 -0
  75. package/dist/config/index.d.ts.map +1 -0
  76. package/dist/config/index.js +6 -0
  77. package/dist/config/indicator-config.d.ts +107 -0
  78. package/dist/config/indicator-config.d.ts.map +1 -0
  79. package/dist/config/indicator-config.js +158 -0
  80. package/dist/constants/defaultPersonas.d.ts +10 -0
  81. package/dist/constants/defaultPersonas.d.ts.map +1 -0
  82. package/dist/constants/defaultPersonas.js +18 -0
  83. package/dist/constants/limits.d.ts +10 -0
  84. package/dist/constants/limits.d.ts.map +1 -0
  85. package/dist/constants/limits.js +13 -0
  86. package/dist/elements/BaseElement.d.ts +81 -0
  87. package/dist/elements/BaseElement.d.ts.map +1 -0
  88. package/dist/elements/BaseElement.js +381 -0
  89. package/dist/elements/FeedbackProcessor.d.ts +57 -0
  90. package/dist/elements/FeedbackProcessor.d.ts.map +1 -0
  91. package/dist/elements/FeedbackProcessor.js +418 -0
  92. package/dist/elements/agents/Agent.d.ts +145 -0
  93. package/dist/elements/agents/Agent.d.ts.map +1 -0
  94. package/dist/elements/agents/Agent.js +848 -0
  95. package/dist/elements/agents/AgentManager.d.ts +125 -0
  96. package/dist/elements/agents/AgentManager.d.ts.map +1 -0
  97. package/dist/elements/agents/AgentManager.js +615 -0
  98. package/dist/elements/agents/constants.d.ts +42 -0
  99. package/dist/elements/agents/constants.d.ts.map +1 -0
  100. package/dist/elements/agents/constants.js +45 -0
  101. package/dist/elements/agents/goalTemplates.d.ts +44 -0
  102. package/dist/elements/agents/goalTemplates.d.ts.map +1 -0
  103. package/dist/elements/agents/goalTemplates.js +297 -0
  104. package/dist/elements/agents/index.d.ts +8 -0
  105. package/dist/elements/agents/index.d.ts.map +1 -0
  106. package/dist/elements/agents/index.js +8 -0
  107. package/dist/elements/agents/ruleEngineConfig.d.ts +76 -0
  108. package/dist/elements/agents/ruleEngineConfig.d.ts.map +1 -0
  109. package/dist/elements/agents/ruleEngineConfig.js +143 -0
  110. package/dist/elements/agents/types.d.ts +97 -0
  111. package/dist/elements/agents/types.d.ts.map +1 -0
  112. package/dist/elements/agents/types.js +5 -0
  113. package/dist/elements/ensembles/Ensemble.d.ts +144 -0
  114. package/dist/elements/ensembles/Ensemble.d.ts.map +1 -0
  115. package/dist/elements/ensembles/Ensemble.js +860 -0
  116. package/dist/elements/ensembles/EnsembleManager.d.ts +85 -0
  117. package/dist/elements/ensembles/EnsembleManager.d.ts.map +1 -0
  118. package/dist/elements/ensembles/EnsembleManager.js +378 -0
  119. package/dist/elements/ensembles/constants.d.ts +73 -0
  120. package/dist/elements/ensembles/constants.d.ts.map +1 -0
  121. package/dist/elements/ensembles/constants.js +92 -0
  122. package/dist/elements/ensembles/index.d.ts +8 -0
  123. package/dist/elements/ensembles/index.d.ts.map +1 -0
  124. package/dist/elements/ensembles/index.js +8 -0
  125. package/dist/elements/ensembles/types.d.ts +92 -0
  126. package/dist/elements/ensembles/types.d.ts.map +1 -0
  127. package/dist/elements/ensembles/types.js +8 -0
  128. package/dist/elements/index.d.ts +11 -0
  129. package/dist/elements/index.d.ts.map +1 -0
  130. package/dist/elements/index.js +12 -0
  131. package/dist/elements/memories/Memory.d.ts +110 -0
  132. package/dist/elements/memories/Memory.d.ts.map +1 -0
  133. package/dist/elements/memories/Memory.js +470 -0
  134. package/dist/elements/memories/MemoryManager.d.ts +86 -0
  135. package/dist/elements/memories/MemoryManager.d.ts.map +1 -0
  136. package/dist/elements/memories/MemoryManager.js +435 -0
  137. package/dist/elements/memories/constants.d.ts +42 -0
  138. package/dist/elements/memories/constants.d.ts.map +1 -0
  139. package/dist/elements/memories/constants.js +49 -0
  140. package/dist/elements/memories/index.d.ts +6 -0
  141. package/dist/elements/memories/index.d.ts.map +1 -0
  142. package/dist/elements/memories/index.js +6 -0
  143. package/dist/elements/skills/Skill.d.ts +109 -0
  144. package/dist/elements/skills/Skill.d.ts.map +1 -0
  145. package/dist/elements/skills/Skill.js +381 -0
  146. package/dist/elements/skills/index.d.ts +5 -0
  147. package/dist/elements/skills/index.d.ts.map +1 -0
  148. package/dist/elements/skills/index.js +5 -0
  149. package/dist/elements/templates/Template.d.ts +138 -0
  150. package/dist/elements/templates/Template.d.ts.map +1 -0
  151. package/dist/elements/templates/Template.js +673 -0
  152. package/dist/elements/templates/TemplateManager.d.ts +104 -0
  153. package/dist/elements/templates/TemplateManager.d.ts.map +1 -0
  154. package/dist/elements/templates/TemplateManager.js +501 -0
  155. package/dist/elements/templates/index.d.ts +6 -0
  156. package/dist/elements/templates/index.d.ts.map +1 -0
  157. package/dist/elements/templates/index.js +6 -0
  158. package/dist/errors/SecurityError.d.ts +29 -0
  159. package/dist/errors/SecurityError.d.ts.map +1 -0
  160. package/dist/errors/SecurityError.js +47 -0
  161. package/dist/errors/index.d.ts +2 -0
  162. package/dist/errors/index.d.ts.map +1 -0
  163. package/dist/errors/index.js +2 -0
  164. package/dist/index.barrel.d.ts +21 -0
  165. package/dist/index.barrel.d.ts.map +1 -0
  166. package/dist/index.barrel.js +31 -0
  167. package/dist/index.d.ts +223 -0
  168. package/dist/index.d.ts.map +1 -0
  169. package/dist/index.js +1606 -0
  170. package/dist/marketplace/GitHubClient.d.ts +22 -0
  171. package/dist/marketplace/GitHubClient.d.ts.map +1 -0
  172. package/dist/marketplace/GitHubClient.js +112 -0
  173. package/dist/marketplace/MarketplaceBrowser.d.ts +24 -0
  174. package/dist/marketplace/MarketplaceBrowser.d.ts.map +1 -0
  175. package/dist/marketplace/MarketplaceBrowser.js +115 -0
  176. package/dist/marketplace/MarketplaceSearch.d.ts +18 -0
  177. package/dist/marketplace/MarketplaceSearch.d.ts.map +1 -0
  178. package/dist/marketplace/MarketplaceSearch.js +48 -0
  179. package/dist/marketplace/PersonaDetails.d.ts +22 -0
  180. package/dist/marketplace/PersonaDetails.d.ts.map +1 -0
  181. package/dist/marketplace/PersonaDetails.js +71 -0
  182. package/dist/marketplace/PersonaInstaller.d.ts +25 -0
  183. package/dist/marketplace/PersonaInstaller.d.ts.map +1 -0
  184. package/dist/marketplace/PersonaInstaller.js +100 -0
  185. package/dist/marketplace/PersonaSubmitter.d.ts +19 -0
  186. package/dist/marketplace/PersonaSubmitter.d.ts.map +1 -0
  187. package/dist/marketplace/PersonaSubmitter.js +57 -0
  188. package/dist/marketplace/index.d.ts +10 -0
  189. package/dist/marketplace/index.d.ts.map +1 -0
  190. package/dist/marketplace/index.js +10 -0
  191. package/dist/persona/PersonaElement.d.ts +64 -0
  192. package/dist/persona/PersonaElement.d.ts.map +1 -0
  193. package/dist/persona/PersonaElement.js +223 -0
  194. package/dist/persona/PersonaElementManager.d.ts +97 -0
  195. package/dist/persona/PersonaElementManager.d.ts.map +1 -0
  196. package/dist/persona/PersonaElementManager.js +348 -0
  197. package/dist/persona/PersonaLoader.d.ts +34 -0
  198. package/dist/persona/PersonaLoader.d.ts.map +1 -0
  199. package/dist/persona/PersonaLoader.js +145 -0
  200. package/dist/persona/PersonaManager.d.ts +112 -0
  201. package/dist/persona/PersonaManager.d.ts.map +1 -0
  202. package/dist/persona/PersonaManager.js +341 -0
  203. package/dist/persona/PersonaValidator.d.ts +39 -0
  204. package/dist/persona/PersonaValidator.d.ts.map +1 -0
  205. package/dist/persona/PersonaValidator.js +161 -0
  206. package/dist/persona/export-import/PersonaExporter.d.ts +43 -0
  207. package/dist/persona/export-import/PersonaExporter.d.ts.map +1 -0
  208. package/dist/persona/export-import/PersonaExporter.js +99 -0
  209. package/dist/persona/export-import/PersonaImporter.d.ts +65 -0
  210. package/dist/persona/export-import/PersonaImporter.d.ts.map +1 -0
  211. package/dist/persona/export-import/PersonaImporter.js +315 -0
  212. package/dist/persona/export-import/PersonaSharer.d.ts +60 -0
  213. package/dist/persona/export-import/PersonaSharer.d.ts.map +1 -0
  214. package/dist/persona/export-import/PersonaSharer.js +502 -0
  215. package/dist/persona/export-import/index.d.ts +10 -0
  216. package/dist/persona/export-import/index.d.ts.map +1 -0
  217. package/dist/persona/export-import/index.js +7 -0
  218. package/dist/persona/index.d.ts +7 -0
  219. package/dist/persona/index.d.ts.map +1 -0
  220. package/dist/persona/index.js +7 -0
  221. package/dist/portfolio/MigrationManager.d.ts +44 -0
  222. package/dist/portfolio/MigrationManager.d.ts.map +1 -0
  223. package/dist/portfolio/MigrationManager.js +163 -0
  224. package/dist/portfolio/PortfolioManager.d.ts +54 -0
  225. package/dist/portfolio/PortfolioManager.d.ts.map +1 -0
  226. package/dist/portfolio/PortfolioManager.js +224 -0
  227. package/dist/portfolio/types.d.ts +18 -0
  228. package/dist/portfolio/types.d.ts.map +1 -0
  229. package/dist/portfolio/types.js +13 -0
  230. package/dist/security/InputValidator.d.ts +80 -0
  231. package/dist/security/InputValidator.d.ts.map +1 -0
  232. package/dist/security/InputValidator.js +448 -0
  233. package/dist/security/audit/SecurityAuditor.d.ts +44 -0
  234. package/dist/security/audit/SecurityAuditor.d.ts.map +1 -0
  235. package/dist/security/audit/SecurityAuditor.js +274 -0
  236. package/dist/security/audit/config/suppressions.d.ts +34 -0
  237. package/dist/security/audit/config/suppressions.d.ts.map +1 -0
  238. package/dist/security/audit/config/suppressions.js +575 -0
  239. package/dist/security/audit/index.d.ts +14 -0
  240. package/dist/security/audit/index.d.ts.map +1 -0
  241. package/dist/security/audit/index.js +15 -0
  242. package/dist/security/audit/reporters/ConsoleReporter.d.ts +46 -0
  243. package/dist/security/audit/reporters/ConsoleReporter.d.ts.map +1 -0
  244. package/dist/security/audit/reporters/ConsoleReporter.js +174 -0
  245. package/dist/security/audit/reporters/JsonReporter.d.ts +13 -0
  246. package/dist/security/audit/reporters/JsonReporter.d.ts.map +1 -0
  247. package/dist/security/audit/reporters/JsonReporter.js +25 -0
  248. package/dist/security/audit/reporters/MarkdownReporter.d.ts +13 -0
  249. package/dist/security/audit/reporters/MarkdownReporter.d.ts.map +1 -0
  250. package/dist/security/audit/reporters/MarkdownReporter.js +79 -0
  251. package/dist/security/audit/rules/SecurityRules.d.ts +20 -0
  252. package/dist/security/audit/rules/SecurityRules.d.ts.map +1 -0
  253. package/dist/security/audit/rules/SecurityRules.js +244 -0
  254. package/dist/security/audit/scanners/CodeScanner.d.ts +47 -0
  255. package/dist/security/audit/scanners/CodeScanner.d.ts.map +1 -0
  256. package/dist/security/audit/scanners/CodeScanner.js +174 -0
  257. package/dist/security/audit/scanners/ConfigurationScanner.d.ts +13 -0
  258. package/dist/security/audit/scanners/ConfigurationScanner.d.ts.map +1 -0
  259. package/dist/security/audit/scanners/ConfigurationScanner.js +22 -0
  260. package/dist/security/audit/scanners/DependencyScanner.d.ts +13 -0
  261. package/dist/security/audit/scanners/DependencyScanner.d.ts.map +1 -0
  262. package/dist/security/audit/scanners/DependencyScanner.js +22 -0
  263. package/dist/security/audit/types.d.ts +94 -0
  264. package/dist/security/audit/types.d.ts.map +1 -0
  265. package/dist/security/audit/types.js +6 -0
  266. package/dist/security/commandValidator.d.ts +7 -0
  267. package/dist/security/commandValidator.d.ts.map +1 -0
  268. package/dist/security/commandValidator.js +78 -0
  269. package/dist/security/constants.d.ts +24 -0
  270. package/dist/security/constants.d.ts.map +1 -0
  271. package/dist/security/constants.js +26 -0
  272. package/dist/security/contentValidator.d.ts +47 -0
  273. package/dist/security/contentValidator.d.ts.map +1 -0
  274. package/dist/security/contentValidator.js +301 -0
  275. package/dist/security/errorHandler.d.ts +42 -0
  276. package/dist/security/errorHandler.d.ts.map +1 -0
  277. package/dist/security/errorHandler.js +166 -0
  278. package/dist/security/errors.d.ts +14 -0
  279. package/dist/security/errors.d.ts.map +1 -0
  280. package/dist/security/errors.js +28 -0
  281. package/dist/security/fileLockManager.d.ts +70 -0
  282. package/dist/security/fileLockManager.d.ts.map +1 -0
  283. package/dist/security/fileLockManager.js +187 -0
  284. package/dist/security/index.d.ts +12 -0
  285. package/dist/security/index.d.ts.map +1 -0
  286. package/dist/security/index.js +14 -0
  287. package/dist/security/pathValidator.d.ts +9 -0
  288. package/dist/security/pathValidator.d.ts.map +1 -0
  289. package/dist/security/pathValidator.js +102 -0
  290. package/dist/security/regexValidator.d.ts +59 -0
  291. package/dist/security/regexValidator.d.ts.map +1 -0
  292. package/dist/security/regexValidator.js +214 -0
  293. package/dist/security/secureYamlParser.d.ts +46 -0
  294. package/dist/security/secureYamlParser.d.ts.map +1 -0
  295. package/dist/security/secureYamlParser.js +203 -0
  296. package/dist/security/securityMonitor.d.ts +58 -0
  297. package/dist/security/securityMonitor.d.ts.map +1 -0
  298. package/dist/security/securityMonitor.js +108 -0
  299. package/dist/security/tokenManager.d.ts +85 -0
  300. package/dist/security/tokenManager.d.ts.map +1 -0
  301. package/dist/security/tokenManager.js +286 -0
  302. package/dist/security/validators/unicodeValidator.d.ts +97 -0
  303. package/dist/security/validators/unicodeValidator.d.ts.map +1 -0
  304. package/dist/security/validators/unicodeValidator.js +312 -0
  305. package/dist/security/yamlValidator.d.ts +21 -0
  306. package/dist/security/yamlValidator.d.ts.map +1 -0
  307. package/dist/security/yamlValidator.js +164 -0
  308. package/dist/server/ServerSetup.d.ts +35 -0
  309. package/dist/server/ServerSetup.d.ts.map +1 -0
  310. package/dist/server/ServerSetup.js +116 -0
  311. package/dist/server/index.d.ts +7 -0
  312. package/dist/server/index.d.ts.map +1 -0
  313. package/dist/server/index.js +7 -0
  314. package/dist/server/startup.d.ts +31 -0
  315. package/dist/server/startup.d.ts.map +1 -0
  316. package/dist/server/startup.js +67 -0
  317. package/dist/server/tools/CollectionTools.d.ts +10 -0
  318. package/dist/server/tools/CollectionTools.d.ts.map +1 -0
  319. package/dist/server/tools/CollectionTools.js +96 -0
  320. package/dist/server/tools/ConfigTools.d.ts +10 -0
  321. package/dist/server/tools/ConfigTools.d.ts.map +1 -0
  322. package/dist/server/tools/ConfigTools.js +63 -0
  323. package/dist/server/tools/MarketplaceTools.d.ts +10 -0
  324. package/dist/server/tools/MarketplaceTools.d.ts.map +1 -0
  325. package/dist/server/tools/MarketplaceTools.js +96 -0
  326. package/dist/server/tools/PersonaTools.d.ts +10 -0
  327. package/dist/server/tools/PersonaTools.d.ts.map +1 -0
  328. package/dist/server/tools/PersonaTools.js +257 -0
  329. package/dist/server/tools/ToolRegistry.d.ts +37 -0
  330. package/dist/server/tools/ToolRegistry.d.ts.map +1 -0
  331. package/dist/server/tools/ToolRegistry.js +40 -0
  332. package/dist/server/tools/UpdateTools.d.ts +10 -0
  333. package/dist/server/tools/UpdateTools.d.ts.map +1 -0
  334. package/dist/server/tools/UpdateTools.js +64 -0
  335. package/dist/server/tools/UserTools.d.ts +10 -0
  336. package/dist/server/tools/UserTools.d.ts.map +1 -0
  337. package/dist/server/tools/UserTools.js +51 -0
  338. package/dist/server/tools/index.d.ts +10 -0
  339. package/dist/server/tools/index.d.ts.map +1 -0
  340. package/dist/server/tools/index.js +10 -0
  341. package/dist/server/types.d.ts +34 -0
  342. package/dist/server/types.d.ts.map +1 -0
  343. package/dist/server/types.js +5 -0
  344. package/dist/src/cache/APICache.d.ts +23 -0
  345. package/dist/src/cache/APICache.d.ts.map +1 -0
  346. package/dist/src/cache/APICache.js +42 -0
  347. package/dist/src/cache/index.d.ts +5 -0
  348. package/dist/src/cache/index.d.ts.map +1 -0
  349. package/dist/src/cache/index.js +5 -0
  350. package/dist/src/config/constants.d.ts +25 -0
  351. package/dist/src/config/constants.d.ts.map +1 -0
  352. package/dist/src/config/constants.js +30 -0
  353. package/dist/src/config/index.d.ts +6 -0
  354. package/dist/src/config/index.d.ts.map +1 -0
  355. package/dist/src/config/index.js +6 -0
  356. package/dist/src/config/indicator-config.d.ts +107 -0
  357. package/dist/src/config/indicator-config.d.ts.map +1 -0
  358. package/dist/src/config/indicator-config.js +158 -0
  359. package/dist/src/constants/defaultPersonas.d.ts +10 -0
  360. package/dist/src/constants/defaultPersonas.d.ts.map +1 -0
  361. package/dist/src/constants/defaultPersonas.js +18 -0
  362. package/dist/src/constants/limits.d.ts +10 -0
  363. package/dist/src/constants/limits.d.ts.map +1 -0
  364. package/dist/src/constants/limits.js +13 -0
  365. package/dist/src/errors/SecurityError.d.ts +29 -0
  366. package/dist/src/errors/SecurityError.d.ts.map +1 -0
  367. package/dist/src/errors/SecurityError.js +47 -0
  368. package/dist/src/errors/index.d.ts +2 -0
  369. package/dist/src/errors/index.d.ts.map +1 -0
  370. package/dist/src/errors/index.js +2 -0
  371. package/dist/src/index.barrel.d.ts +21 -0
  372. package/dist/src/index.barrel.d.ts.map +1 -0
  373. package/dist/src/index.barrel.js +31 -0
  374. package/dist/src/index.d.ts +220 -0
  375. package/dist/src/index.d.ts.map +1 -0
  376. package/dist/src/index.js +1559 -0
  377. package/dist/src/marketplace/GitHubClient.d.ts +22 -0
  378. package/dist/src/marketplace/GitHubClient.d.ts.map +1 -0
  379. package/dist/src/marketplace/GitHubClient.js +112 -0
  380. package/dist/src/marketplace/MarketplaceBrowser.d.ts +21 -0
  381. package/dist/src/marketplace/MarketplaceBrowser.d.ts.map +1 -0
  382. package/dist/src/marketplace/MarketplaceBrowser.js +45 -0
  383. package/dist/src/marketplace/MarketplaceSearch.d.ts +18 -0
  384. package/dist/src/marketplace/MarketplaceSearch.d.ts.map +1 -0
  385. package/dist/src/marketplace/MarketplaceSearch.js +36 -0
  386. package/dist/src/marketplace/PersonaDetails.d.ts +22 -0
  387. package/dist/src/marketplace/PersonaDetails.d.ts.map +1 -0
  388. package/dist/src/marketplace/PersonaDetails.js +71 -0
  389. package/dist/src/marketplace/PersonaInstaller.d.ts +25 -0
  390. package/dist/src/marketplace/PersonaInstaller.d.ts.map +1 -0
  391. package/dist/src/marketplace/PersonaInstaller.js +100 -0
  392. package/dist/src/marketplace/PersonaSubmitter.d.ts +19 -0
  393. package/dist/src/marketplace/PersonaSubmitter.d.ts.map +1 -0
  394. package/dist/src/marketplace/PersonaSubmitter.js +57 -0
  395. package/dist/src/marketplace/index.d.ts +10 -0
  396. package/dist/src/marketplace/index.d.ts.map +1 -0
  397. package/dist/src/marketplace/index.js +10 -0
  398. package/dist/src/persona/PersonaLoader.d.ts +33 -0
  399. package/dist/src/persona/PersonaLoader.d.ts.map +1 -0
  400. package/dist/src/persona/PersonaLoader.js +139 -0
  401. package/dist/src/persona/PersonaManager.d.ts +112 -0
  402. package/dist/src/persona/PersonaManager.d.ts.map +1 -0
  403. package/dist/src/persona/PersonaManager.js +341 -0
  404. package/dist/src/persona/PersonaValidator.d.ts +33 -0
  405. package/dist/src/persona/PersonaValidator.d.ts.map +1 -0
  406. package/dist/src/persona/PersonaValidator.js +157 -0
  407. package/dist/src/persona/export-import/PersonaExporter.d.ts +43 -0
  408. package/dist/src/persona/export-import/PersonaExporter.d.ts.map +1 -0
  409. package/dist/src/persona/export-import/PersonaExporter.js +99 -0
  410. package/dist/src/persona/export-import/PersonaImporter.d.ts +65 -0
  411. package/dist/src/persona/export-import/PersonaImporter.d.ts.map +1 -0
  412. package/dist/src/persona/export-import/PersonaImporter.js +313 -0
  413. package/dist/src/persona/export-import/PersonaSharer.d.ts +60 -0
  414. package/dist/src/persona/export-import/PersonaSharer.d.ts.map +1 -0
  415. package/dist/src/persona/export-import/PersonaSharer.js +363 -0
  416. package/dist/src/persona/export-import/index.d.ts +10 -0
  417. package/dist/src/persona/export-import/index.d.ts.map +1 -0
  418. package/dist/src/persona/export-import/index.js +7 -0
  419. package/dist/src/persona/index.d.ts +7 -0
  420. package/dist/src/persona/index.d.ts.map +1 -0
  421. package/dist/src/persona/index.js +7 -0
  422. package/dist/src/security/InputValidator.d.ts +69 -0
  423. package/dist/src/security/InputValidator.d.ts.map +1 -0
  424. package/dist/src/security/InputValidator.js +381 -0
  425. package/dist/src/security/commandValidator.d.ts +7 -0
  426. package/dist/src/security/commandValidator.d.ts.map +1 -0
  427. package/dist/src/security/commandValidator.js +77 -0
  428. package/dist/src/security/constants.d.ts +21 -0
  429. package/dist/src/security/constants.d.ts.map +1 -0
  430. package/dist/src/security/constants.js +23 -0
  431. package/dist/src/security/contentValidator.d.ts +47 -0
  432. package/dist/src/security/contentValidator.d.ts.map +1 -0
  433. package/dist/src/security/contentValidator.js +188 -0
  434. package/dist/src/security/fileLockManager.d.ts +70 -0
  435. package/dist/src/security/fileLockManager.d.ts.map +1 -0
  436. package/dist/src/security/fileLockManager.js +187 -0
  437. package/dist/src/security/index.d.ts +12 -0
  438. package/dist/src/security/index.d.ts.map +1 -0
  439. package/dist/src/security/index.js +14 -0
  440. package/dist/src/security/pathValidator.d.ts +9 -0
  441. package/dist/src/security/pathValidator.d.ts.map +1 -0
  442. package/dist/src/security/pathValidator.js +97 -0
  443. package/dist/src/security/secureYamlParser.d.ts +46 -0
  444. package/dist/src/security/secureYamlParser.d.ts.map +1 -0
  445. package/dist/src/security/secureYamlParser.js +203 -0
  446. package/dist/src/security/securityMonitor.d.ts +58 -0
  447. package/dist/src/security/securityMonitor.d.ts.map +1 -0
  448. package/dist/src/security/securityMonitor.js +108 -0
  449. package/dist/src/security/tokenManager.d.ts +59 -0
  450. package/dist/src/security/tokenManager.d.ts.map +1 -0
  451. package/dist/src/security/tokenManager.js +216 -0
  452. package/dist/src/security/yamlValidator.d.ts +20 -0
  453. package/dist/src/security/yamlValidator.d.ts.map +1 -0
  454. package/dist/src/security/yamlValidator.js +138 -0
  455. package/dist/src/server/ServerSetup.d.ts +31 -0
  456. package/dist/src/server/ServerSetup.d.ts.map +1 -0
  457. package/dist/src/server/ServerSetup.js +79 -0
  458. package/dist/src/server/index.d.ts +7 -0
  459. package/dist/src/server/index.d.ts.map +1 -0
  460. package/dist/src/server/index.js +7 -0
  461. package/dist/src/server/tools/ConfigTools.d.ts +10 -0
  462. package/dist/src/server/tools/ConfigTools.d.ts.map +1 -0
  463. package/dist/src/server/tools/ConfigTools.js +63 -0
  464. package/dist/src/server/tools/MarketplaceTools.d.ts +10 -0
  465. package/dist/src/server/tools/MarketplaceTools.d.ts.map +1 -0
  466. package/dist/src/server/tools/MarketplaceTools.js +92 -0
  467. package/dist/src/server/tools/PersonaTools.d.ts +10 -0
  468. package/dist/src/server/tools/PersonaTools.d.ts.map +1 -0
  469. package/dist/src/server/tools/PersonaTools.js +257 -0
  470. package/dist/src/server/tools/ToolRegistry.d.ts +37 -0
  471. package/dist/src/server/tools/ToolRegistry.d.ts.map +1 -0
  472. package/dist/src/server/tools/ToolRegistry.js +40 -0
  473. package/dist/src/server/tools/UpdateTools.d.ts +10 -0
  474. package/dist/src/server/tools/UpdateTools.d.ts.map +1 -0
  475. package/dist/src/server/tools/UpdateTools.js +64 -0
  476. package/dist/src/server/tools/UserTools.d.ts +10 -0
  477. package/dist/src/server/tools/UserTools.d.ts.map +1 -0
  478. package/dist/src/server/tools/UserTools.js +51 -0
  479. package/dist/src/server/tools/index.d.ts +10 -0
  480. package/dist/src/server/tools/index.d.ts.map +1 -0
  481. package/dist/src/server/tools/index.js +10 -0
  482. package/dist/src/server/types.d.ts +34 -0
  483. package/dist/src/server/types.d.ts.map +1 -0
  484. package/dist/src/server/types.js +5 -0
  485. package/dist/src/tools/debug.d.ts +20 -0
  486. package/dist/src/tools/debug.d.ts.map +1 -0
  487. package/dist/src/tools/debug.js +37 -0
  488. package/dist/src/types/cache.d.ts +8 -0
  489. package/dist/src/types/cache.d.ts.map +1 -0
  490. package/dist/src/types/cache.js +5 -0
  491. package/dist/src/types/index.d.ts +8 -0
  492. package/dist/src/types/index.d.ts.map +1 -0
  493. package/dist/src/types/index.js +8 -0
  494. package/dist/src/types/marketplace.d.ts +23 -0
  495. package/dist/src/types/marketplace.d.ts.map +1 -0
  496. package/dist/src/types/marketplace.js +5 -0
  497. package/dist/src/types/mcp.d.ts +161 -0
  498. package/dist/src/types/mcp.d.ts.map +1 -0
  499. package/dist/src/types/mcp.js +75 -0
  500. package/dist/src/types/persona.d.ts +30 -0
  501. package/dist/src/types/persona.d.ts.map +1 -0
  502. package/dist/src/types/persona.js +5 -0
  503. package/dist/src/update/BackupManager.d.ts +46 -0
  504. package/dist/src/update/BackupManager.d.ts.map +1 -0
  505. package/dist/src/update/BackupManager.js +261 -0
  506. package/dist/src/update/DependencyChecker.d.ts +41 -0
  507. package/dist/src/update/DependencyChecker.d.ts.map +1 -0
  508. package/dist/src/update/DependencyChecker.js +132 -0
  509. package/dist/src/update/RateLimiter.d.ts +80 -0
  510. package/dist/src/update/RateLimiter.d.ts.map +1 -0
  511. package/dist/src/update/RateLimiter.js +172 -0
  512. package/dist/src/update/SignatureVerifier.d.ts +71 -0
  513. package/dist/src/update/SignatureVerifier.d.ts.map +1 -0
  514. package/dist/src/update/SignatureVerifier.js +214 -0
  515. package/dist/src/update/UpdateChecker.d.ts +127 -0
  516. package/dist/src/update/UpdateChecker.d.ts.map +1 -0
  517. package/dist/src/update/UpdateChecker.js +460 -0
  518. package/dist/src/update/UpdateManager.d.ts +41 -0
  519. package/dist/src/update/UpdateManager.d.ts.map +1 -0
  520. package/dist/src/update/UpdateManager.js +260 -0
  521. package/dist/src/update/VersionManager.d.ts +31 -0
  522. package/dist/src/update/VersionManager.d.ts.map +1 -0
  523. package/dist/src/update/VersionManager.js +134 -0
  524. package/dist/src/update/index.d.ts +9 -0
  525. package/dist/src/update/index.d.ts.map +1 -0
  526. package/dist/src/update/index.js +9 -0
  527. package/dist/src/utils/filesystem.d.ts +32 -0
  528. package/dist/src/utils/filesystem.d.ts.map +1 -0
  529. package/dist/src/utils/filesystem.js +73 -0
  530. package/dist/src/utils/git.d.ts +32 -0
  531. package/dist/src/utils/git.d.ts.map +1 -0
  532. package/dist/src/utils/git.js +65 -0
  533. package/dist/src/utils/index.d.ts +7 -0
  534. package/dist/src/utils/index.d.ts.map +1 -0
  535. package/dist/src/utils/index.js +7 -0
  536. package/dist/src/utils/logger.d.ts +45 -0
  537. package/dist/src/utils/logger.d.ts.map +1 -0
  538. package/dist/src/utils/logger.js +91 -0
  539. package/dist/src/utils/version.d.ts +25 -0
  540. package/dist/src/utils/version.d.ts.map +1 -0
  541. package/dist/src/utils/version.js +97 -0
  542. package/dist/test/src/cache/APICache.d.ts +23 -0
  543. package/dist/test/src/cache/APICache.d.ts.map +1 -0
  544. package/dist/test/src/cache/APICache.js +42 -0
  545. package/dist/test/src/cache/index.d.ts +5 -0
  546. package/dist/test/src/cache/index.d.ts.map +1 -0
  547. package/dist/test/src/cache/index.js +5 -0
  548. package/dist/test/src/collection/CollectionBrowser.d.ts +24 -0
  549. package/dist/test/src/collection/CollectionBrowser.d.ts.map +1 -0
  550. package/dist/test/src/collection/CollectionBrowser.js +115 -0
  551. package/dist/test/src/collection/CollectionSearch.d.ts +18 -0
  552. package/dist/test/src/collection/CollectionSearch.d.ts.map +1 -0
  553. package/dist/test/src/collection/CollectionSearch.js +48 -0
  554. package/dist/test/src/collection/GitHubClient.d.ts +22 -0
  555. package/dist/test/src/collection/GitHubClient.d.ts.map +1 -0
  556. package/dist/test/src/collection/GitHubClient.js +114 -0
  557. package/dist/test/src/collection/PersonaDetails.d.ts +22 -0
  558. package/dist/test/src/collection/PersonaDetails.d.ts.map +1 -0
  559. package/dist/test/src/collection/PersonaDetails.js +71 -0
  560. package/dist/test/src/collection/PersonaInstaller.d.ts +26 -0
  561. package/dist/test/src/collection/PersonaInstaller.d.ts.map +1 -0
  562. package/dist/test/src/collection/PersonaInstaller.js +103 -0
  563. package/dist/test/src/collection/PersonaSubmitter.d.ts +19 -0
  564. package/dist/test/src/collection/PersonaSubmitter.d.ts.map +1 -0
  565. package/dist/test/src/collection/PersonaSubmitter.js +57 -0
  566. package/dist/test/src/collection/index.d.ts +10 -0
  567. package/dist/test/src/collection/index.d.ts.map +1 -0
  568. package/dist/test/src/collection/index.js +10 -0
  569. package/dist/test/src/config/constants.d.ts +25 -0
  570. package/dist/test/src/config/constants.d.ts.map +1 -0
  571. package/dist/test/src/config/constants.js +30 -0
  572. package/dist/test/src/config/index.d.ts +6 -0
  573. package/dist/test/src/config/index.d.ts.map +1 -0
  574. package/dist/test/src/config/index.js +6 -0
  575. package/dist/test/src/config/indicator-config.d.ts +107 -0
  576. package/dist/test/src/config/indicator-config.d.ts.map +1 -0
  577. package/dist/test/src/config/indicator-config.js +158 -0
  578. package/dist/test/src/constants/defaultPersonas.d.ts +10 -0
  579. package/dist/test/src/constants/defaultPersonas.d.ts.map +1 -0
  580. package/dist/test/src/constants/defaultPersonas.js +18 -0
  581. package/dist/test/src/constants/limits.d.ts +10 -0
  582. package/dist/test/src/constants/limits.d.ts.map +1 -0
  583. package/dist/test/src/constants/limits.js +13 -0
  584. package/dist/test/src/elements/BaseElement.d.ts +81 -0
  585. package/dist/test/src/elements/BaseElement.d.ts.map +1 -0
  586. package/dist/test/src/elements/BaseElement.js +381 -0
  587. package/dist/test/src/elements/FeedbackProcessor.d.ts +57 -0
  588. package/dist/test/src/elements/FeedbackProcessor.d.ts.map +1 -0
  589. package/dist/test/src/elements/FeedbackProcessor.js +418 -0
  590. package/dist/test/src/elements/agents/Agent.d.ts +145 -0
  591. package/dist/test/src/elements/agents/Agent.d.ts.map +1 -0
  592. package/dist/test/src/elements/agents/Agent.js +848 -0
  593. package/dist/test/src/elements/agents/AgentManager.d.ts +125 -0
  594. package/dist/test/src/elements/agents/AgentManager.d.ts.map +1 -0
  595. package/dist/test/src/elements/agents/AgentManager.js +608 -0
  596. package/dist/test/src/elements/agents/constants.d.ts +42 -0
  597. package/dist/test/src/elements/agents/constants.d.ts.map +1 -0
  598. package/dist/test/src/elements/agents/constants.js +45 -0
  599. package/dist/test/src/elements/agents/goalTemplates.d.ts +44 -0
  600. package/dist/test/src/elements/agents/goalTemplates.d.ts.map +1 -0
  601. package/dist/test/src/elements/agents/goalTemplates.js +297 -0
  602. package/dist/test/src/elements/agents/index.d.ts +8 -0
  603. package/dist/test/src/elements/agents/index.d.ts.map +1 -0
  604. package/dist/test/src/elements/agents/index.js +8 -0
  605. package/dist/test/src/elements/agents/ruleEngineConfig.d.ts +76 -0
  606. package/dist/test/src/elements/agents/ruleEngineConfig.d.ts.map +1 -0
  607. package/dist/test/src/elements/agents/ruleEngineConfig.js +143 -0
  608. package/dist/test/src/elements/agents/types.d.ts +97 -0
  609. package/dist/test/src/elements/agents/types.d.ts.map +1 -0
  610. package/dist/test/src/elements/agents/types.js +5 -0
  611. package/dist/test/src/elements/index.d.ts +6 -0
  612. package/dist/test/src/elements/index.d.ts.map +1 -0
  613. package/dist/test/src/elements/index.js +6 -0
  614. package/dist/test/src/elements/memories/Memory.d.ts +110 -0
  615. package/dist/test/src/elements/memories/Memory.d.ts.map +1 -0
  616. package/dist/test/src/elements/memories/Memory.js +470 -0
  617. package/dist/test/src/elements/memories/MemoryManager.d.ts +86 -0
  618. package/dist/test/src/elements/memories/MemoryManager.d.ts.map +1 -0
  619. package/dist/test/src/elements/memories/MemoryManager.js +435 -0
  620. package/dist/test/src/elements/memories/constants.d.ts +42 -0
  621. package/dist/test/src/elements/memories/constants.d.ts.map +1 -0
  622. package/dist/test/src/elements/memories/constants.js +49 -0
  623. package/dist/test/src/elements/memories/index.d.ts +6 -0
  624. package/dist/test/src/elements/memories/index.d.ts.map +1 -0
  625. package/dist/test/src/elements/memories/index.js +6 -0
  626. package/dist/test/src/elements/skills/Skill.d.ts +109 -0
  627. package/dist/test/src/elements/skills/Skill.d.ts.map +1 -0
  628. package/dist/test/src/elements/skills/Skill.js +381 -0
  629. package/dist/test/src/elements/templates/Template.d.ts +138 -0
  630. package/dist/test/src/elements/templates/Template.d.ts.map +1 -0
  631. package/dist/test/src/elements/templates/Template.js +673 -0
  632. package/dist/test/src/elements/templates/TemplateManager.d.ts +104 -0
  633. package/dist/test/src/elements/templates/TemplateManager.d.ts.map +1 -0
  634. package/dist/test/src/elements/templates/TemplateManager.js +496 -0
  635. package/dist/test/src/elements/templates/index.d.ts +6 -0
  636. package/dist/test/src/elements/templates/index.d.ts.map +1 -0
  637. package/dist/test/src/elements/templates/index.js +6 -0
  638. package/dist/test/src/errors/SecurityError.d.ts +29 -0
  639. package/dist/test/src/errors/SecurityError.d.ts.map +1 -0
  640. package/dist/test/src/errors/SecurityError.js +47 -0
  641. package/dist/test/src/errors/index.d.ts +2 -0
  642. package/dist/test/src/errors/index.d.ts.map +1 -0
  643. package/dist/test/src/errors/index.js +2 -0
  644. package/dist/test/src/index.barrel.d.ts +21 -0
  645. package/dist/test/src/index.barrel.d.ts.map +1 -0
  646. package/dist/test/src/index.barrel.js +31 -0
  647. package/dist/test/src/index.d.ts +223 -0
  648. package/dist/test/src/index.d.ts.map +1 -0
  649. package/dist/test/src/index.js +1594 -0
  650. package/dist/test/src/marketplace/GitHubClient.d.ts +22 -0
  651. package/dist/test/src/marketplace/GitHubClient.d.ts.map +1 -0
  652. package/dist/test/src/marketplace/GitHubClient.js +112 -0
  653. package/dist/test/src/marketplace/MarketplaceBrowser.d.ts +21 -0
  654. package/dist/test/src/marketplace/MarketplaceBrowser.d.ts.map +1 -0
  655. package/dist/test/src/marketplace/MarketplaceBrowser.js +45 -0
  656. package/dist/test/src/marketplace/MarketplaceSearch.d.ts +18 -0
  657. package/dist/test/src/marketplace/MarketplaceSearch.d.ts.map +1 -0
  658. package/dist/test/src/marketplace/MarketplaceSearch.js +36 -0
  659. package/dist/test/src/marketplace/PersonaDetails.d.ts +22 -0
  660. package/dist/test/src/marketplace/PersonaDetails.d.ts.map +1 -0
  661. package/dist/test/src/marketplace/PersonaDetails.js +71 -0
  662. package/dist/test/src/marketplace/PersonaInstaller.d.ts +25 -0
  663. package/dist/test/src/marketplace/PersonaInstaller.d.ts.map +1 -0
  664. package/dist/test/src/marketplace/PersonaInstaller.js +100 -0
  665. package/dist/test/src/marketplace/PersonaSubmitter.d.ts +19 -0
  666. package/dist/test/src/marketplace/PersonaSubmitter.d.ts.map +1 -0
  667. package/dist/test/src/marketplace/PersonaSubmitter.js +57 -0
  668. package/dist/test/src/marketplace/index.d.ts +10 -0
  669. package/dist/test/src/marketplace/index.d.ts.map +1 -0
  670. package/dist/test/src/marketplace/index.js +10 -0
  671. package/dist/test/src/persona/PersonaElement.d.ts +64 -0
  672. package/dist/test/src/persona/PersonaElement.d.ts.map +1 -0
  673. package/dist/test/src/persona/PersonaElement.js +223 -0
  674. package/dist/test/src/persona/PersonaElementManager.d.ts +97 -0
  675. package/dist/test/src/persona/PersonaElementManager.d.ts.map +1 -0
  676. package/dist/test/src/persona/PersonaElementManager.js +342 -0
  677. package/dist/test/src/persona/PersonaLoader.d.ts +34 -0
  678. package/dist/test/src/persona/PersonaLoader.d.ts.map +1 -0
  679. package/dist/test/src/persona/PersonaLoader.js +145 -0
  680. package/dist/test/src/persona/PersonaManager.d.ts +112 -0
  681. package/dist/test/src/persona/PersonaManager.d.ts.map +1 -0
  682. package/dist/test/src/persona/PersonaManager.js +341 -0
  683. package/dist/test/src/persona/PersonaValidator.d.ts +33 -0
  684. package/dist/test/src/persona/PersonaValidator.d.ts.map +1 -0
  685. package/dist/test/src/persona/PersonaValidator.js +157 -0
  686. package/dist/test/src/persona/export-import/PersonaExporter.d.ts +43 -0
  687. package/dist/test/src/persona/export-import/PersonaExporter.d.ts.map +1 -0
  688. package/dist/test/src/persona/export-import/PersonaExporter.js +99 -0
  689. package/dist/test/src/persona/export-import/PersonaImporter.d.ts +65 -0
  690. package/dist/test/src/persona/export-import/PersonaImporter.d.ts.map +1 -0
  691. package/dist/test/src/persona/export-import/PersonaImporter.js +315 -0
  692. package/dist/test/src/persona/export-import/PersonaSharer.d.ts +60 -0
  693. package/dist/test/src/persona/export-import/PersonaSharer.d.ts.map +1 -0
  694. package/dist/test/src/persona/export-import/PersonaSharer.js +502 -0
  695. package/dist/test/src/persona/export-import/index.d.ts +10 -0
  696. package/dist/test/src/persona/export-import/index.d.ts.map +1 -0
  697. package/dist/test/src/persona/export-import/index.js +7 -0
  698. package/dist/test/src/persona/index.d.ts +7 -0
  699. package/dist/test/src/persona/index.d.ts.map +1 -0
  700. package/dist/test/src/persona/index.js +7 -0
  701. package/dist/test/src/portfolio/MigrationManager.d.ts +44 -0
  702. package/dist/test/src/portfolio/MigrationManager.d.ts.map +1 -0
  703. package/dist/test/src/portfolio/MigrationManager.js +163 -0
  704. package/dist/test/src/portfolio/PortfolioManager.d.ts +54 -0
  705. package/dist/test/src/portfolio/PortfolioManager.d.ts.map +1 -0
  706. package/dist/test/src/portfolio/PortfolioManager.js +224 -0
  707. package/dist/test/src/portfolio/types.d.ts +18 -0
  708. package/dist/test/src/portfolio/types.d.ts.map +1 -0
  709. package/dist/test/src/portfolio/types.js +13 -0
  710. package/dist/test/src/security/InputValidator.d.ts +80 -0
  711. package/dist/test/src/security/InputValidator.d.ts.map +1 -0
  712. package/dist/test/src/security/InputValidator.js +436 -0
  713. package/dist/test/src/security/audit/SecurityAuditor.d.ts +44 -0
  714. package/dist/test/src/security/audit/SecurityAuditor.d.ts.map +1 -0
  715. package/dist/test/src/security/audit/SecurityAuditor.js +274 -0
  716. package/dist/test/src/security/audit/config/suppressions.d.ts +34 -0
  717. package/dist/test/src/security/audit/config/suppressions.d.ts.map +1 -0
  718. package/dist/test/src/security/audit/config/suppressions.js +575 -0
  719. package/dist/test/src/security/audit/index.d.ts +14 -0
  720. package/dist/test/src/security/audit/index.d.ts.map +1 -0
  721. package/dist/test/src/security/audit/index.js +15 -0
  722. package/dist/test/src/security/audit/reporters/ConsoleReporter.d.ts +46 -0
  723. package/dist/test/src/security/audit/reporters/ConsoleReporter.d.ts.map +1 -0
  724. package/dist/test/src/security/audit/reporters/ConsoleReporter.js +174 -0
  725. package/dist/test/src/security/audit/reporters/JsonReporter.d.ts +13 -0
  726. package/dist/test/src/security/audit/reporters/JsonReporter.d.ts.map +1 -0
  727. package/dist/test/src/security/audit/reporters/JsonReporter.js +25 -0
  728. package/dist/test/src/security/audit/reporters/MarkdownReporter.d.ts +13 -0
  729. package/dist/test/src/security/audit/reporters/MarkdownReporter.d.ts.map +1 -0
  730. package/dist/test/src/security/audit/reporters/MarkdownReporter.js +79 -0
  731. package/dist/test/src/security/audit/rules/SecurityRules.d.ts +20 -0
  732. package/dist/test/src/security/audit/rules/SecurityRules.d.ts.map +1 -0
  733. package/dist/test/src/security/audit/rules/SecurityRules.js +244 -0
  734. package/dist/test/src/security/audit/scanners/CodeScanner.d.ts +47 -0
  735. package/dist/test/src/security/audit/scanners/CodeScanner.d.ts.map +1 -0
  736. package/dist/test/src/security/audit/scanners/CodeScanner.js +174 -0
  737. package/dist/test/src/security/audit/scanners/ConfigurationScanner.d.ts +13 -0
  738. package/dist/test/src/security/audit/scanners/ConfigurationScanner.d.ts.map +1 -0
  739. package/dist/test/src/security/audit/scanners/ConfigurationScanner.js +22 -0
  740. package/dist/test/src/security/audit/scanners/DependencyScanner.d.ts +13 -0
  741. package/dist/test/src/security/audit/scanners/DependencyScanner.d.ts.map +1 -0
  742. package/dist/test/src/security/audit/scanners/DependencyScanner.js +22 -0
  743. package/dist/test/src/security/audit/types.d.ts +94 -0
  744. package/dist/test/src/security/audit/types.d.ts.map +1 -0
  745. package/dist/test/src/security/audit/types.js +6 -0
  746. package/dist/test/src/security/commandValidator.d.ts +7 -0
  747. package/dist/test/src/security/commandValidator.d.ts.map +1 -0
  748. package/dist/test/src/security/commandValidator.js +78 -0
  749. package/dist/test/src/security/constants.d.ts +24 -0
  750. package/dist/test/src/security/constants.d.ts.map +1 -0
  751. package/dist/test/src/security/constants.js +26 -0
  752. package/dist/test/src/security/contentValidator.d.ts +47 -0
  753. package/dist/test/src/security/contentValidator.d.ts.map +1 -0
  754. package/dist/test/src/security/contentValidator.js +301 -0
  755. package/dist/test/src/security/errors.d.ts +14 -0
  756. package/dist/test/src/security/errors.d.ts.map +1 -0
  757. package/dist/test/src/security/errors.js +28 -0
  758. package/dist/test/src/security/fileLockManager.d.ts +70 -0
  759. package/dist/test/src/security/fileLockManager.d.ts.map +1 -0
  760. package/dist/test/src/security/fileLockManager.js +187 -0
  761. package/dist/test/src/security/index.d.ts +12 -0
  762. package/dist/test/src/security/index.d.ts.map +1 -0
  763. package/dist/test/src/security/index.js +14 -0
  764. package/dist/test/src/security/pathValidator.d.ts +9 -0
  765. package/dist/test/src/security/pathValidator.d.ts.map +1 -0
  766. package/dist/test/src/security/pathValidator.js +98 -0
  767. package/dist/test/src/security/regexValidator.d.ts +59 -0
  768. package/dist/test/src/security/regexValidator.d.ts.map +1 -0
  769. package/dist/test/src/security/regexValidator.js +214 -0
  770. package/dist/test/src/security/secureYamlParser.d.ts +46 -0
  771. package/dist/test/src/security/secureYamlParser.d.ts.map +1 -0
  772. package/dist/test/src/security/secureYamlParser.js +203 -0
  773. package/dist/test/src/security/securityMonitor.d.ts +58 -0
  774. package/dist/test/src/security/securityMonitor.d.ts.map +1 -0
  775. package/dist/test/src/security/securityMonitor.js +108 -0
  776. package/dist/test/src/security/tokenManager.d.ts +85 -0
  777. package/dist/test/src/security/tokenManager.d.ts.map +1 -0
  778. package/dist/test/src/security/tokenManager.js +286 -0
  779. package/dist/test/src/security/validators/unicodeValidator.d.ts +97 -0
  780. package/dist/test/src/security/validators/unicodeValidator.d.ts.map +1 -0
  781. package/dist/test/src/security/validators/unicodeValidator.js +312 -0
  782. package/dist/test/src/security/yamlValidator.d.ts +21 -0
  783. package/dist/test/src/security/yamlValidator.d.ts.map +1 -0
  784. package/dist/test/src/security/yamlValidator.js +164 -0
  785. package/dist/test/src/server/ServerSetup.d.ts +35 -0
  786. package/dist/test/src/server/ServerSetup.d.ts.map +1 -0
  787. package/dist/test/src/server/ServerSetup.js +116 -0
  788. package/dist/test/src/server/index.d.ts +7 -0
  789. package/dist/test/src/server/index.d.ts.map +1 -0
  790. package/dist/test/src/server/index.js +7 -0
  791. package/dist/test/src/server/startup.d.ts +31 -0
  792. package/dist/test/src/server/startup.d.ts.map +1 -0
  793. package/dist/test/src/server/startup.js +67 -0
  794. package/dist/test/src/server/tools/CollectionTools.d.ts +10 -0
  795. package/dist/test/src/server/tools/CollectionTools.d.ts.map +1 -0
  796. package/dist/test/src/server/tools/CollectionTools.js +96 -0
  797. package/dist/test/src/server/tools/ConfigTools.d.ts +10 -0
  798. package/dist/test/src/server/tools/ConfigTools.d.ts.map +1 -0
  799. package/dist/test/src/server/tools/ConfigTools.js +63 -0
  800. package/dist/test/src/server/tools/MarketplaceTools.d.ts +10 -0
  801. package/dist/test/src/server/tools/MarketplaceTools.d.ts.map +1 -0
  802. package/dist/test/src/server/tools/MarketplaceTools.js +92 -0
  803. package/dist/test/src/server/tools/PersonaTools.d.ts +10 -0
  804. package/dist/test/src/server/tools/PersonaTools.d.ts.map +1 -0
  805. package/dist/test/src/server/tools/PersonaTools.js +257 -0
  806. package/dist/test/src/server/tools/ToolRegistry.d.ts +37 -0
  807. package/dist/test/src/server/tools/ToolRegistry.d.ts.map +1 -0
  808. package/dist/test/src/server/tools/ToolRegistry.js +40 -0
  809. package/dist/test/src/server/tools/UpdateTools.d.ts +10 -0
  810. package/dist/test/src/server/tools/UpdateTools.d.ts.map +1 -0
  811. package/dist/test/src/server/tools/UpdateTools.js +64 -0
  812. package/dist/test/src/server/tools/UserTools.d.ts +10 -0
  813. package/dist/test/src/server/tools/UserTools.d.ts.map +1 -0
  814. package/dist/test/src/server/tools/UserTools.js +51 -0
  815. package/dist/test/src/server/tools/index.d.ts +10 -0
  816. package/dist/test/src/server/tools/index.d.ts.map +1 -0
  817. package/dist/test/src/server/tools/index.js +10 -0
  818. package/dist/test/src/server/types.d.ts +34 -0
  819. package/dist/test/src/server/types.d.ts.map +1 -0
  820. package/dist/test/src/server/types.js +5 -0
  821. package/dist/test/src/tools/debug.d.ts +20 -0
  822. package/dist/test/src/tools/debug.d.ts.map +1 -0
  823. package/dist/test/src/tools/debug.js +37 -0
  824. package/dist/test/src/types/cache.d.ts +8 -0
  825. package/dist/test/src/types/cache.d.ts.map +1 -0
  826. package/dist/test/src/types/cache.js +5 -0
  827. package/dist/test/src/types/collection.d.ts +23 -0
  828. package/dist/test/src/types/collection.d.ts.map +1 -0
  829. package/dist/test/src/types/collection.js +5 -0
  830. package/dist/test/src/types/elements/IElement.d.ts +123 -0
  831. package/dist/test/src/types/elements/IElement.d.ts.map +1 -0
  832. package/dist/test/src/types/elements/IElement.js +30 -0
  833. package/dist/test/src/types/elements/IElementManager.d.ts +65 -0
  834. package/dist/test/src/types/elements/IElementManager.d.ts.map +1 -0
  835. package/dist/test/src/types/elements/IElementManager.js +6 -0
  836. package/dist/test/src/types/elements/IRatingManager.d.ts +109 -0
  837. package/dist/test/src/types/elements/IRatingManager.d.ts.map +1 -0
  838. package/dist/test/src/types/elements/IRatingManager.js +6 -0
  839. package/dist/test/src/types/elements/IReferenceResolver.d.ts +52 -0
  840. package/dist/test/src/types/elements/IReferenceResolver.d.ts.map +1 -0
  841. package/dist/test/src/types/elements/IReferenceResolver.js +6 -0
  842. package/dist/test/src/types/elements/RatingBreakdowns.d.ts +49 -0
  843. package/dist/test/src/types/elements/RatingBreakdowns.d.ts.map +1 -0
  844. package/dist/test/src/types/elements/RatingBreakdowns.js +6 -0
  845. package/dist/test/src/types/elements/index.d.ts +9 -0
  846. package/dist/test/src/types/elements/index.d.ts.map +1 -0
  847. package/dist/test/src/types/elements/index.js +11 -0
  848. package/dist/test/src/types/index.d.ts +9 -0
  849. package/dist/test/src/types/index.d.ts.map +1 -0
  850. package/dist/test/src/types/index.js +9 -0
  851. package/dist/test/src/types/marketplace.d.ts +23 -0
  852. package/dist/test/src/types/marketplace.d.ts.map +1 -0
  853. package/dist/test/src/types/marketplace.js +5 -0
  854. package/dist/test/src/types/mcp.d.ts +84 -0
  855. package/dist/test/src/types/mcp.d.ts.map +1 -0
  856. package/dist/test/src/types/mcp.js +80 -0
  857. package/dist/test/src/types/persona.d.ts +30 -0
  858. package/dist/test/src/types/persona.d.ts.map +1 -0
  859. package/dist/test/src/types/persona.js +5 -0
  860. package/dist/test/src/update/BackupManager.d.ts +46 -0
  861. package/dist/test/src/update/BackupManager.d.ts.map +1 -0
  862. package/dist/test/src/update/BackupManager.js +261 -0
  863. package/dist/test/src/update/DependencyChecker.d.ts +41 -0
  864. package/dist/test/src/update/DependencyChecker.d.ts.map +1 -0
  865. package/dist/test/src/update/DependencyChecker.js +132 -0
  866. package/dist/test/src/update/RateLimiter.d.ts +80 -0
  867. package/dist/test/src/update/RateLimiter.d.ts.map +1 -0
  868. package/dist/test/src/update/RateLimiter.js +172 -0
  869. package/dist/test/src/update/SignatureVerifier.d.ts +71 -0
  870. package/dist/test/src/update/SignatureVerifier.d.ts.map +1 -0
  871. package/dist/test/src/update/SignatureVerifier.js +214 -0
  872. package/dist/test/src/update/UpdateChecker.d.ts +127 -0
  873. package/dist/test/src/update/UpdateChecker.d.ts.map +1 -0
  874. package/dist/test/src/update/UpdateChecker.js +469 -0
  875. package/dist/test/src/update/UpdateManager.d.ts +41 -0
  876. package/dist/test/src/update/UpdateManager.d.ts.map +1 -0
  877. package/dist/test/src/update/UpdateManager.js +260 -0
  878. package/dist/test/src/update/VersionManager.d.ts +31 -0
  879. package/dist/test/src/update/VersionManager.d.ts.map +1 -0
  880. package/dist/test/src/update/VersionManager.js +134 -0
  881. package/dist/test/src/update/index.d.ts +9 -0
  882. package/dist/test/src/update/index.d.ts.map +1 -0
  883. package/dist/test/src/update/index.js +9 -0
  884. package/dist/test/src/utils/filesystem.d.ts +29 -0
  885. package/dist/test/src/utils/filesystem.d.ts.map +1 -0
  886. package/dist/test/src/utils/filesystem.js +94 -0
  887. package/dist/test/src/utils/git.d.ts +32 -0
  888. package/dist/test/src/utils/git.d.ts.map +1 -0
  889. package/dist/test/src/utils/git.js +65 -0
  890. package/dist/test/src/utils/index.d.ts +7 -0
  891. package/dist/test/src/utils/index.d.ts.map +1 -0
  892. package/dist/test/src/utils/index.js +7 -0
  893. package/dist/test/src/utils/logger.d.ts +45 -0
  894. package/dist/test/src/utils/logger.d.ts.map +1 -0
  895. package/dist/test/src/utils/logger.js +91 -0
  896. package/dist/test/src/utils/version.d.ts +25 -0
  897. package/dist/test/src/utils/version.d.ts.map +1 -0
  898. package/dist/test/src/utils/version.js +97 -0
  899. package/dist/test/test/__tests__/integration/helpers/file-utils.d.ts +33 -0
  900. package/dist/test/test/__tests__/integration/helpers/file-utils.d.ts.map +1 -0
  901. package/dist/test/test/__tests__/integration/helpers/file-utils.js +83 -0
  902. package/dist/test/test/__tests__/integration/helpers/test-fixtures.d.ts +26 -0
  903. package/dist/test/test/__tests__/integration/helpers/test-fixtures.d.ts.map +1 -0
  904. package/dist/test/test/__tests__/integration/helpers/test-fixtures.js +95 -0
  905. package/dist/test/test/__tests__/integration/helpers/test-server.d.ts +26 -0
  906. package/dist/test/test/__tests__/integration/helpers/test-server.d.ts.map +1 -0
  907. package/dist/test/test/__tests__/integration/helpers/test-server.js +41 -0
  908. package/dist/test/test/__tests__/integration/setup.d.ts +8 -0
  909. package/dist/test/test/__tests__/integration/setup.d.ts.map +1 -0
  910. package/dist/test/test/__tests__/integration/setup.js +31 -0
  911. package/dist/test/test/__tests__/integration/teardown.d.ts +5 -0
  912. package/dist/test/test/__tests__/integration/teardown.d.ts.map +1 -0
  913. package/dist/test/test/__tests__/integration/teardown.js +23 -0
  914. package/dist/test/test/__tests__/security/framework/RapidSecurityTesting.d.ts +34 -0
  915. package/dist/test/test/__tests__/security/framework/RapidSecurityTesting.d.ts.map +1 -0
  916. package/dist/test/test/__tests__/security/framework/RapidSecurityTesting.js +224 -0
  917. package/dist/test/test/__tests__/security/framework/SecurityTestFramework.d.ts +89 -0
  918. package/dist/test/test/__tests__/security/framework/SecurityTestFramework.d.ts.map +1 -0
  919. package/dist/test/test/__tests__/security/framework/SecurityTestFramework.js +543 -0
  920. package/dist/test/test/__tests__/security/index.d.ts +46 -0
  921. package/dist/test/test/__tests__/security/index.d.ts.map +1 -0
  922. package/dist/test/test/__tests__/security/index.js +98 -0
  923. package/dist/test/test/__tests__/security/setup.d.ts +3 -0
  924. package/dist/test/test/__tests__/security/setup.d.ts.map +1 -0
  925. package/dist/test/test/__tests__/security/setup.js +23 -0
  926. package/dist/tools/debug.d.ts +20 -0
  927. package/dist/tools/debug.d.ts.map +1 -0
  928. package/dist/tools/debug.js +37 -0
  929. package/dist/types/cache.d.ts +8 -0
  930. package/dist/types/cache.d.ts.map +1 -0
  931. package/dist/types/cache.js +5 -0
  932. package/dist/types/collection.d.ts +23 -0
  933. package/dist/types/collection.d.ts.map +1 -0
  934. package/dist/types/collection.js +5 -0
  935. package/dist/types/elements/IElement.d.ts +123 -0
  936. package/dist/types/elements/IElement.d.ts.map +1 -0
  937. package/dist/types/elements/IElement.js +30 -0
  938. package/dist/types/elements/IElementManager.d.ts +65 -0
  939. package/dist/types/elements/IElementManager.d.ts.map +1 -0
  940. package/dist/types/elements/IElementManager.js +6 -0
  941. package/dist/types/elements/IRatingManager.d.ts +109 -0
  942. package/dist/types/elements/IRatingManager.d.ts.map +1 -0
  943. package/dist/types/elements/IRatingManager.js +6 -0
  944. package/dist/types/elements/IReferenceResolver.d.ts +52 -0
  945. package/dist/types/elements/IReferenceResolver.d.ts.map +1 -0
  946. package/dist/types/elements/IReferenceResolver.js +6 -0
  947. package/dist/types/elements/RatingBreakdowns.d.ts +49 -0
  948. package/dist/types/elements/RatingBreakdowns.d.ts.map +1 -0
  949. package/dist/types/elements/RatingBreakdowns.js +6 -0
  950. package/dist/types/elements/index.d.ts +9 -0
  951. package/dist/types/elements/index.d.ts.map +1 -0
  952. package/dist/types/elements/index.js +11 -0
  953. package/dist/types/index.d.ts +9 -0
  954. package/dist/types/index.d.ts.map +1 -0
  955. package/dist/types/index.js +9 -0
  956. package/dist/types/marketplace.d.ts +23 -0
  957. package/dist/types/marketplace.d.ts.map +1 -0
  958. package/dist/types/marketplace.js +5 -0
  959. package/dist/types/mcp.d.ts +84 -0
  960. package/dist/types/mcp.d.ts.map +1 -0
  961. package/dist/types/mcp.js +80 -0
  962. package/dist/types/persona.d.ts +30 -0
  963. package/dist/types/persona.d.ts.map +1 -0
  964. package/dist/types/persona.js +5 -0
  965. package/dist/update/BackupManager.d.ts +46 -0
  966. package/dist/update/BackupManager.d.ts.map +1 -0
  967. package/dist/update/BackupManager.js +261 -0
  968. package/dist/update/DependencyChecker.d.ts +41 -0
  969. package/dist/update/DependencyChecker.d.ts.map +1 -0
  970. package/dist/update/DependencyChecker.js +132 -0
  971. package/dist/update/RateLimiter.d.ts +80 -0
  972. package/dist/update/RateLimiter.d.ts.map +1 -0
  973. package/dist/update/RateLimiter.js +172 -0
  974. package/dist/update/SignatureVerifier.d.ts +71 -0
  975. package/dist/update/SignatureVerifier.d.ts.map +1 -0
  976. package/dist/update/SignatureVerifier.js +214 -0
  977. package/dist/update/UpdateChecker.d.ts +127 -0
  978. package/dist/update/UpdateChecker.d.ts.map +1 -0
  979. package/dist/update/UpdateChecker.js +469 -0
  980. package/dist/update/UpdateManager.d.ts +41 -0
  981. package/dist/update/UpdateManager.d.ts.map +1 -0
  982. package/dist/update/UpdateManager.js +260 -0
  983. package/dist/update/VersionManager.d.ts +31 -0
  984. package/dist/update/VersionManager.d.ts.map +1 -0
  985. package/dist/update/VersionManager.js +134 -0
  986. package/dist/update/index.d.ts +9 -0
  987. package/dist/update/index.d.ts.map +1 -0
  988. package/dist/update/index.js +9 -0
  989. package/dist/utils/filesystem.d.ts +29 -0
  990. package/dist/utils/filesystem.d.ts.map +1 -0
  991. package/dist/utils/filesystem.js +94 -0
  992. package/dist/utils/git.d.ts +32 -0
  993. package/dist/utils/git.d.ts.map +1 -0
  994. package/dist/utils/git.js +65 -0
  995. package/dist/utils/index.d.ts +7 -0
  996. package/dist/utils/index.d.ts.map +1 -0
  997. package/dist/utils/index.js +7 -0
  998. package/dist/utils/logger.d.ts +45 -0
  999. package/dist/utils/logger.d.ts.map +1 -0
  1000. package/dist/utils/logger.js +91 -0
  1001. package/dist/utils/version.d.ts +25 -0
  1002. package/dist/utils/version.d.ts.map +1 -0
  1003. package/dist/utils/version.js +97 -0
  1004. package/package.json +128 -0
package/README.md ADDED
@@ -0,0 +1,1124 @@
1
+ # DollhouseMCP
2
+
3
+ [![Core Build & Test](https://github.com/DollhouseMCP/mcp-server/actions/workflows/core-build-test.yml/badge.svg)](https://github.com/DollhouseMCP/mcp-server/actions/workflows/core-build-test.yml)
4
+ [![Build Artifacts](https://github.com/DollhouseMCP/mcp-server/actions/workflows/build-artifacts.yml/badge.svg)](https://github.com/DollhouseMCP/mcp-server/actions/workflows/build-artifacts.yml)
5
+ [![Extended Node Compatibility](https://github.com/DollhouseMCP/mcp-server/actions/workflows/extended-node-compatibility.yml/badge.svg)](https://github.com/DollhouseMCP/mcp-server/actions/workflows/extended-node-compatibility.yml)
6
+ [![Docker Testing](https://github.com/DollhouseMCP/mcp-server/actions/workflows/docker-testing.yml/badge.svg)](https://github.com/DollhouseMCP/mcp-server/actions/workflows/docker-testing.yml)
7
+ [![License: AGPL-3.0](https://img.shields.io/badge/License-AGPL--3.0-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)
8
+ [![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
9
+ [![Node.js](https://img.shields.io/badge/Node.js-339933?logo=nodedotjs&logoColor=white)](https://nodejs.org/)
10
+
11
+ ## Platform Support
12
+
13
+ [![Windows Build Status](https://img.shields.io/badge/Windows-✓_Tested-0078D4?logo=windows&logoColor=white)](https://github.com/DollhouseMCP/mcp-server/actions/workflows/core-build-test.yml?query=branch:main "Windows CI Build Status")
14
+ [![macOS Build Status](https://img.shields.io/badge/macOS-✓_Tested-000000?logo=apple&logoColor=white)](https://github.com/DollhouseMCP/mcp-server/actions/workflows/core-build-test.yml?query=branch:main "macOS CI Build Status")
15
+ [![Linux Build Status](https://img.shields.io/badge/Linux-✓_Tested-FCC624?logo=linux&logoColor=black)](https://github.com/DollhouseMCP/mcp-server/actions/workflows/core-build-test.yml?query=branch:main "Linux CI Build Status")
16
+ [![Docker](https://img.shields.io/badge/Docker-Ready-2496ED?logo=docker&logoColor=white)](https://github.com/DollhouseMCP/mcp-server/blob/main/Dockerfile)
17
+ [![Test Coverage](https://img.shields.io/badge/Coverage-500%20Tests-green)](https://github.com/DollhouseMCP/mcp-server/tree/main/__tests__)
18
+ [![Auto-Update](https://img.shields.io/badge/Auto--Update-Enterprise%20Grade-purple)](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).