@dollhousemcp/mcp-server 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +132 -0
- package/LICENSE +51 -0
- package/README.md +1124 -0
- package/data/agents/code-reviewer.md +296 -0
- package/data/agents/research-assistant.md +259 -0
- package/data/agents/task-manager.md +206 -0
- package/data/ensembles/business-advisor.md +354 -0
- package/data/ensembles/creative-studio.md +288 -0
- package/data/ensembles/development-team.md +292 -0
- package/data/ensembles/security-analysis-team.md +438 -0
- package/data/memories/conversation-history.md +146 -0
- package/data/memories/learning-progress.md +376 -0
- package/data/memories/project-context.md +268 -0
- package/data/personas/business-consultant.md +50 -0
- package/data/personas/creative-writer.md +44 -0
- package/data/personas/debug-detective.md +59 -0
- package/data/personas/eli5-explainer.md +49 -0
- package/data/personas/security-analyst.md +161 -0
- package/data/personas/technical-analyst.md +43 -0
- package/data/skills/code-review.md +112 -0
- package/data/skills/creative-writing.md +174 -0
- package/data/skills/data-analysis.md +160 -0
- package/data/skills/penetration-testing.md +374 -0
- package/data/skills/research.md +181 -0
- package/data/skills/threat-modeling.md +469 -0
- package/data/skills/translation.md +148 -0
- package/data/templates/code-documentation.md +409 -0
- package/data/templates/email-professional.md +158 -0
- package/data/templates/meeting-notes.md +141 -0
- package/data/templates/penetration-test-report.md +608 -0
- package/data/templates/project-brief.md +234 -0
- package/data/templates/report-executive.md +258 -0
- package/data/templates/security-vulnerability-report.md +457 -0
- package/data/templates/threat-assessment-report.md +774 -0
- package/dist/cache/APICache.d.ts +23 -0
- package/dist/cache/APICache.d.ts.map +1 -0
- package/dist/cache/APICache.js +42 -0
- package/dist/cache/index.d.ts +5 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +5 -0
- package/dist/collection/CollectionBrowser.d.ts +24 -0
- package/dist/collection/CollectionBrowser.d.ts.map +1 -0
- package/dist/collection/CollectionBrowser.js +120 -0
- package/dist/collection/CollectionSearch.d.ts +18 -0
- package/dist/collection/CollectionSearch.d.ts.map +1 -0
- package/dist/collection/CollectionSearch.js +48 -0
- package/dist/collection/ElementInstaller.d.ts +33 -0
- package/dist/collection/ElementInstaller.d.ts.map +1 -0
- package/dist/collection/ElementInstaller.js +142 -0
- package/dist/collection/GitHubClient.d.ts +22 -0
- package/dist/collection/GitHubClient.d.ts.map +1 -0
- package/dist/collection/GitHubClient.js +114 -0
- package/dist/collection/MarketplaceBrowser.d.ts +24 -0
- package/dist/collection/MarketplaceBrowser.d.ts.map +1 -0
- package/dist/collection/MarketplaceBrowser.js +115 -0
- package/dist/collection/MarketplaceSearch.d.ts +18 -0
- package/dist/collection/MarketplaceSearch.d.ts.map +1 -0
- package/dist/collection/MarketplaceSearch.js +48 -0
- package/dist/collection/PersonaDetails.d.ts +22 -0
- package/dist/collection/PersonaDetails.d.ts.map +1 -0
- package/dist/collection/PersonaDetails.js +71 -0
- package/dist/collection/PersonaInstaller.d.ts +26 -0
- package/dist/collection/PersonaInstaller.d.ts.map +1 -0
- package/dist/collection/PersonaInstaller.js +103 -0
- package/dist/collection/PersonaSubmitter.d.ts +19 -0
- package/dist/collection/PersonaSubmitter.d.ts.map +1 -0
- package/dist/collection/PersonaSubmitter.js +57 -0
- package/dist/collection/index.d.ts +10 -0
- package/dist/collection/index.d.ts.map +1 -0
- package/dist/collection/index.js +10 -0
- package/dist/config/constants.d.ts +25 -0
- package/dist/config/constants.d.ts.map +1 -0
- package/dist/config/constants.js +34 -0
- package/dist/config/index.d.ts +6 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +6 -0
- package/dist/config/indicator-config.d.ts +107 -0
- package/dist/config/indicator-config.d.ts.map +1 -0
- package/dist/config/indicator-config.js +158 -0
- package/dist/constants/defaultPersonas.d.ts +10 -0
- package/dist/constants/defaultPersonas.d.ts.map +1 -0
- package/dist/constants/defaultPersonas.js +18 -0
- package/dist/constants/limits.d.ts +10 -0
- package/dist/constants/limits.d.ts.map +1 -0
- package/dist/constants/limits.js +13 -0
- package/dist/elements/BaseElement.d.ts +81 -0
- package/dist/elements/BaseElement.d.ts.map +1 -0
- package/dist/elements/BaseElement.js +381 -0
- package/dist/elements/FeedbackProcessor.d.ts +57 -0
- package/dist/elements/FeedbackProcessor.d.ts.map +1 -0
- package/dist/elements/FeedbackProcessor.js +418 -0
- package/dist/elements/agents/Agent.d.ts +145 -0
- package/dist/elements/agents/Agent.d.ts.map +1 -0
- package/dist/elements/agents/Agent.js +848 -0
- package/dist/elements/agents/AgentManager.d.ts +125 -0
- package/dist/elements/agents/AgentManager.d.ts.map +1 -0
- package/dist/elements/agents/AgentManager.js +615 -0
- package/dist/elements/agents/constants.d.ts +42 -0
- package/dist/elements/agents/constants.d.ts.map +1 -0
- package/dist/elements/agents/constants.js +45 -0
- package/dist/elements/agents/goalTemplates.d.ts +44 -0
- package/dist/elements/agents/goalTemplates.d.ts.map +1 -0
- package/dist/elements/agents/goalTemplates.js +297 -0
- package/dist/elements/agents/index.d.ts +8 -0
- package/dist/elements/agents/index.d.ts.map +1 -0
- package/dist/elements/agents/index.js +8 -0
- package/dist/elements/agents/ruleEngineConfig.d.ts +76 -0
- package/dist/elements/agents/ruleEngineConfig.d.ts.map +1 -0
- package/dist/elements/agents/ruleEngineConfig.js +143 -0
- package/dist/elements/agents/types.d.ts +97 -0
- package/dist/elements/agents/types.d.ts.map +1 -0
- package/dist/elements/agents/types.js +5 -0
- package/dist/elements/ensembles/Ensemble.d.ts +144 -0
- package/dist/elements/ensembles/Ensemble.d.ts.map +1 -0
- package/dist/elements/ensembles/Ensemble.js +860 -0
- package/dist/elements/ensembles/EnsembleManager.d.ts +85 -0
- package/dist/elements/ensembles/EnsembleManager.d.ts.map +1 -0
- package/dist/elements/ensembles/EnsembleManager.js +378 -0
- package/dist/elements/ensembles/constants.d.ts +73 -0
- package/dist/elements/ensembles/constants.d.ts.map +1 -0
- package/dist/elements/ensembles/constants.js +92 -0
- package/dist/elements/ensembles/index.d.ts +8 -0
- package/dist/elements/ensembles/index.d.ts.map +1 -0
- package/dist/elements/ensembles/index.js +8 -0
- package/dist/elements/ensembles/types.d.ts +92 -0
- package/dist/elements/ensembles/types.d.ts.map +1 -0
- package/dist/elements/ensembles/types.js +8 -0
- package/dist/elements/index.d.ts +11 -0
- package/dist/elements/index.d.ts.map +1 -0
- package/dist/elements/index.js +12 -0
- package/dist/elements/memories/Memory.d.ts +110 -0
- package/dist/elements/memories/Memory.d.ts.map +1 -0
- package/dist/elements/memories/Memory.js +470 -0
- package/dist/elements/memories/MemoryManager.d.ts +86 -0
- package/dist/elements/memories/MemoryManager.d.ts.map +1 -0
- package/dist/elements/memories/MemoryManager.js +435 -0
- package/dist/elements/memories/constants.d.ts +42 -0
- package/dist/elements/memories/constants.d.ts.map +1 -0
- package/dist/elements/memories/constants.js +49 -0
- package/dist/elements/memories/index.d.ts +6 -0
- package/dist/elements/memories/index.d.ts.map +1 -0
- package/dist/elements/memories/index.js +6 -0
- package/dist/elements/skills/Skill.d.ts +109 -0
- package/dist/elements/skills/Skill.d.ts.map +1 -0
- package/dist/elements/skills/Skill.js +381 -0
- package/dist/elements/skills/index.d.ts +5 -0
- package/dist/elements/skills/index.d.ts.map +1 -0
- package/dist/elements/skills/index.js +5 -0
- package/dist/elements/templates/Template.d.ts +138 -0
- package/dist/elements/templates/Template.d.ts.map +1 -0
- package/dist/elements/templates/Template.js +673 -0
- package/dist/elements/templates/TemplateManager.d.ts +104 -0
- package/dist/elements/templates/TemplateManager.d.ts.map +1 -0
- package/dist/elements/templates/TemplateManager.js +501 -0
- package/dist/elements/templates/index.d.ts +6 -0
- package/dist/elements/templates/index.d.ts.map +1 -0
- package/dist/elements/templates/index.js +6 -0
- package/dist/errors/SecurityError.d.ts +29 -0
- package/dist/errors/SecurityError.d.ts.map +1 -0
- package/dist/errors/SecurityError.js +47 -0
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +2 -0
- package/dist/index.barrel.d.ts +21 -0
- package/dist/index.barrel.d.ts.map +1 -0
- package/dist/index.barrel.js +31 -0
- package/dist/index.d.ts +223 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1606 -0
- package/dist/marketplace/GitHubClient.d.ts +22 -0
- package/dist/marketplace/GitHubClient.d.ts.map +1 -0
- package/dist/marketplace/GitHubClient.js +112 -0
- package/dist/marketplace/MarketplaceBrowser.d.ts +24 -0
- package/dist/marketplace/MarketplaceBrowser.d.ts.map +1 -0
- package/dist/marketplace/MarketplaceBrowser.js +115 -0
- package/dist/marketplace/MarketplaceSearch.d.ts +18 -0
- package/dist/marketplace/MarketplaceSearch.d.ts.map +1 -0
- package/dist/marketplace/MarketplaceSearch.js +48 -0
- package/dist/marketplace/PersonaDetails.d.ts +22 -0
- package/dist/marketplace/PersonaDetails.d.ts.map +1 -0
- package/dist/marketplace/PersonaDetails.js +71 -0
- package/dist/marketplace/PersonaInstaller.d.ts +25 -0
- package/dist/marketplace/PersonaInstaller.d.ts.map +1 -0
- package/dist/marketplace/PersonaInstaller.js +100 -0
- package/dist/marketplace/PersonaSubmitter.d.ts +19 -0
- package/dist/marketplace/PersonaSubmitter.d.ts.map +1 -0
- package/dist/marketplace/PersonaSubmitter.js +57 -0
- package/dist/marketplace/index.d.ts +10 -0
- package/dist/marketplace/index.d.ts.map +1 -0
- package/dist/marketplace/index.js +10 -0
- package/dist/persona/PersonaElement.d.ts +64 -0
- package/dist/persona/PersonaElement.d.ts.map +1 -0
- package/dist/persona/PersonaElement.js +223 -0
- package/dist/persona/PersonaElementManager.d.ts +97 -0
- package/dist/persona/PersonaElementManager.d.ts.map +1 -0
- package/dist/persona/PersonaElementManager.js +348 -0
- package/dist/persona/PersonaLoader.d.ts +34 -0
- package/dist/persona/PersonaLoader.d.ts.map +1 -0
- package/dist/persona/PersonaLoader.js +145 -0
- package/dist/persona/PersonaManager.d.ts +112 -0
- package/dist/persona/PersonaManager.d.ts.map +1 -0
- package/dist/persona/PersonaManager.js +341 -0
- package/dist/persona/PersonaValidator.d.ts +39 -0
- package/dist/persona/PersonaValidator.d.ts.map +1 -0
- package/dist/persona/PersonaValidator.js +161 -0
- package/dist/persona/export-import/PersonaExporter.d.ts +43 -0
- package/dist/persona/export-import/PersonaExporter.d.ts.map +1 -0
- package/dist/persona/export-import/PersonaExporter.js +99 -0
- package/dist/persona/export-import/PersonaImporter.d.ts +65 -0
- package/dist/persona/export-import/PersonaImporter.d.ts.map +1 -0
- package/dist/persona/export-import/PersonaImporter.js +315 -0
- package/dist/persona/export-import/PersonaSharer.d.ts +60 -0
- package/dist/persona/export-import/PersonaSharer.d.ts.map +1 -0
- package/dist/persona/export-import/PersonaSharer.js +502 -0
- package/dist/persona/export-import/index.d.ts +10 -0
- package/dist/persona/export-import/index.d.ts.map +1 -0
- package/dist/persona/export-import/index.js +7 -0
- package/dist/persona/index.d.ts +7 -0
- package/dist/persona/index.d.ts.map +1 -0
- package/dist/persona/index.js +7 -0
- package/dist/portfolio/MigrationManager.d.ts +44 -0
- package/dist/portfolio/MigrationManager.d.ts.map +1 -0
- package/dist/portfolio/MigrationManager.js +163 -0
- package/dist/portfolio/PortfolioManager.d.ts +54 -0
- package/dist/portfolio/PortfolioManager.d.ts.map +1 -0
- package/dist/portfolio/PortfolioManager.js +224 -0
- package/dist/portfolio/types.d.ts +18 -0
- package/dist/portfolio/types.d.ts.map +1 -0
- package/dist/portfolio/types.js +13 -0
- package/dist/security/InputValidator.d.ts +80 -0
- package/dist/security/InputValidator.d.ts.map +1 -0
- package/dist/security/InputValidator.js +448 -0
- package/dist/security/audit/SecurityAuditor.d.ts +44 -0
- package/dist/security/audit/SecurityAuditor.d.ts.map +1 -0
- package/dist/security/audit/SecurityAuditor.js +274 -0
- package/dist/security/audit/config/suppressions.d.ts +34 -0
- package/dist/security/audit/config/suppressions.d.ts.map +1 -0
- package/dist/security/audit/config/suppressions.js +575 -0
- package/dist/security/audit/index.d.ts +14 -0
- package/dist/security/audit/index.d.ts.map +1 -0
- package/dist/security/audit/index.js +15 -0
- package/dist/security/audit/reporters/ConsoleReporter.d.ts +46 -0
- package/dist/security/audit/reporters/ConsoleReporter.d.ts.map +1 -0
- package/dist/security/audit/reporters/ConsoleReporter.js +174 -0
- package/dist/security/audit/reporters/JsonReporter.d.ts +13 -0
- package/dist/security/audit/reporters/JsonReporter.d.ts.map +1 -0
- package/dist/security/audit/reporters/JsonReporter.js +25 -0
- package/dist/security/audit/reporters/MarkdownReporter.d.ts +13 -0
- package/dist/security/audit/reporters/MarkdownReporter.d.ts.map +1 -0
- package/dist/security/audit/reporters/MarkdownReporter.js +79 -0
- package/dist/security/audit/rules/SecurityRules.d.ts +20 -0
- package/dist/security/audit/rules/SecurityRules.d.ts.map +1 -0
- package/dist/security/audit/rules/SecurityRules.js +244 -0
- package/dist/security/audit/scanners/CodeScanner.d.ts +47 -0
- package/dist/security/audit/scanners/CodeScanner.d.ts.map +1 -0
- package/dist/security/audit/scanners/CodeScanner.js +174 -0
- package/dist/security/audit/scanners/ConfigurationScanner.d.ts +13 -0
- package/dist/security/audit/scanners/ConfigurationScanner.d.ts.map +1 -0
- package/dist/security/audit/scanners/ConfigurationScanner.js +22 -0
- package/dist/security/audit/scanners/DependencyScanner.d.ts +13 -0
- package/dist/security/audit/scanners/DependencyScanner.d.ts.map +1 -0
- package/dist/security/audit/scanners/DependencyScanner.js +22 -0
- package/dist/security/audit/types.d.ts +94 -0
- package/dist/security/audit/types.d.ts.map +1 -0
- package/dist/security/audit/types.js +6 -0
- package/dist/security/commandValidator.d.ts +7 -0
- package/dist/security/commandValidator.d.ts.map +1 -0
- package/dist/security/commandValidator.js +78 -0
- package/dist/security/constants.d.ts +24 -0
- package/dist/security/constants.d.ts.map +1 -0
- package/dist/security/constants.js +26 -0
- package/dist/security/contentValidator.d.ts +47 -0
- package/dist/security/contentValidator.d.ts.map +1 -0
- package/dist/security/contentValidator.js +301 -0
- package/dist/security/errorHandler.d.ts +42 -0
- package/dist/security/errorHandler.d.ts.map +1 -0
- package/dist/security/errorHandler.js +166 -0
- package/dist/security/errors.d.ts +14 -0
- package/dist/security/errors.d.ts.map +1 -0
- package/dist/security/errors.js +28 -0
- package/dist/security/fileLockManager.d.ts +70 -0
- package/dist/security/fileLockManager.d.ts.map +1 -0
- package/dist/security/fileLockManager.js +187 -0
- package/dist/security/index.d.ts +12 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +14 -0
- package/dist/security/pathValidator.d.ts +9 -0
- package/dist/security/pathValidator.d.ts.map +1 -0
- package/dist/security/pathValidator.js +102 -0
- package/dist/security/regexValidator.d.ts +59 -0
- package/dist/security/regexValidator.d.ts.map +1 -0
- package/dist/security/regexValidator.js +214 -0
- package/dist/security/secureYamlParser.d.ts +46 -0
- package/dist/security/secureYamlParser.d.ts.map +1 -0
- package/dist/security/secureYamlParser.js +203 -0
- package/dist/security/securityMonitor.d.ts +58 -0
- package/dist/security/securityMonitor.d.ts.map +1 -0
- package/dist/security/securityMonitor.js +108 -0
- package/dist/security/tokenManager.d.ts +85 -0
- package/dist/security/tokenManager.d.ts.map +1 -0
- package/dist/security/tokenManager.js +286 -0
- package/dist/security/validators/unicodeValidator.d.ts +97 -0
- package/dist/security/validators/unicodeValidator.d.ts.map +1 -0
- package/dist/security/validators/unicodeValidator.js +312 -0
- package/dist/security/yamlValidator.d.ts +21 -0
- package/dist/security/yamlValidator.d.ts.map +1 -0
- package/dist/security/yamlValidator.js +164 -0
- package/dist/server/ServerSetup.d.ts +35 -0
- package/dist/server/ServerSetup.d.ts.map +1 -0
- package/dist/server/ServerSetup.js +116 -0
- package/dist/server/index.d.ts +7 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +7 -0
- package/dist/server/startup.d.ts +31 -0
- package/dist/server/startup.d.ts.map +1 -0
- package/dist/server/startup.js +67 -0
- package/dist/server/tools/CollectionTools.d.ts +10 -0
- package/dist/server/tools/CollectionTools.d.ts.map +1 -0
- package/dist/server/tools/CollectionTools.js +96 -0
- package/dist/server/tools/ConfigTools.d.ts +10 -0
- package/dist/server/tools/ConfigTools.d.ts.map +1 -0
- package/dist/server/tools/ConfigTools.js +63 -0
- package/dist/server/tools/MarketplaceTools.d.ts +10 -0
- package/dist/server/tools/MarketplaceTools.d.ts.map +1 -0
- package/dist/server/tools/MarketplaceTools.js +96 -0
- package/dist/server/tools/PersonaTools.d.ts +10 -0
- package/dist/server/tools/PersonaTools.d.ts.map +1 -0
- package/dist/server/tools/PersonaTools.js +257 -0
- package/dist/server/tools/ToolRegistry.d.ts +37 -0
- package/dist/server/tools/ToolRegistry.d.ts.map +1 -0
- package/dist/server/tools/ToolRegistry.js +40 -0
- package/dist/server/tools/UpdateTools.d.ts +10 -0
- package/dist/server/tools/UpdateTools.d.ts.map +1 -0
- package/dist/server/tools/UpdateTools.js +64 -0
- package/dist/server/tools/UserTools.d.ts +10 -0
- package/dist/server/tools/UserTools.d.ts.map +1 -0
- package/dist/server/tools/UserTools.js +51 -0
- package/dist/server/tools/index.d.ts +10 -0
- package/dist/server/tools/index.d.ts.map +1 -0
- package/dist/server/tools/index.js +10 -0
- package/dist/server/types.d.ts +34 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/types.js +5 -0
- package/dist/src/cache/APICache.d.ts +23 -0
- package/dist/src/cache/APICache.d.ts.map +1 -0
- package/dist/src/cache/APICache.js +42 -0
- package/dist/src/cache/index.d.ts +5 -0
- package/dist/src/cache/index.d.ts.map +1 -0
- package/dist/src/cache/index.js +5 -0
- package/dist/src/config/constants.d.ts +25 -0
- package/dist/src/config/constants.d.ts.map +1 -0
- package/dist/src/config/constants.js +30 -0
- package/dist/src/config/index.d.ts +6 -0
- package/dist/src/config/index.d.ts.map +1 -0
- package/dist/src/config/index.js +6 -0
- package/dist/src/config/indicator-config.d.ts +107 -0
- package/dist/src/config/indicator-config.d.ts.map +1 -0
- package/dist/src/config/indicator-config.js +158 -0
- package/dist/src/constants/defaultPersonas.d.ts +10 -0
- package/dist/src/constants/defaultPersonas.d.ts.map +1 -0
- package/dist/src/constants/defaultPersonas.js +18 -0
- package/dist/src/constants/limits.d.ts +10 -0
- package/dist/src/constants/limits.d.ts.map +1 -0
- package/dist/src/constants/limits.js +13 -0
- package/dist/src/errors/SecurityError.d.ts +29 -0
- package/dist/src/errors/SecurityError.d.ts.map +1 -0
- package/dist/src/errors/SecurityError.js +47 -0
- package/dist/src/errors/index.d.ts +2 -0
- package/dist/src/errors/index.d.ts.map +1 -0
- package/dist/src/errors/index.js +2 -0
- package/dist/src/index.barrel.d.ts +21 -0
- package/dist/src/index.barrel.d.ts.map +1 -0
- package/dist/src/index.barrel.js +31 -0
- package/dist/src/index.d.ts +220 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +1559 -0
- package/dist/src/marketplace/GitHubClient.d.ts +22 -0
- package/dist/src/marketplace/GitHubClient.d.ts.map +1 -0
- package/dist/src/marketplace/GitHubClient.js +112 -0
- package/dist/src/marketplace/MarketplaceBrowser.d.ts +21 -0
- package/dist/src/marketplace/MarketplaceBrowser.d.ts.map +1 -0
- package/dist/src/marketplace/MarketplaceBrowser.js +45 -0
- package/dist/src/marketplace/MarketplaceSearch.d.ts +18 -0
- package/dist/src/marketplace/MarketplaceSearch.d.ts.map +1 -0
- package/dist/src/marketplace/MarketplaceSearch.js +36 -0
- package/dist/src/marketplace/PersonaDetails.d.ts +22 -0
- package/dist/src/marketplace/PersonaDetails.d.ts.map +1 -0
- package/dist/src/marketplace/PersonaDetails.js +71 -0
- package/dist/src/marketplace/PersonaInstaller.d.ts +25 -0
- package/dist/src/marketplace/PersonaInstaller.d.ts.map +1 -0
- package/dist/src/marketplace/PersonaInstaller.js +100 -0
- package/dist/src/marketplace/PersonaSubmitter.d.ts +19 -0
- package/dist/src/marketplace/PersonaSubmitter.d.ts.map +1 -0
- package/dist/src/marketplace/PersonaSubmitter.js +57 -0
- package/dist/src/marketplace/index.d.ts +10 -0
- package/dist/src/marketplace/index.d.ts.map +1 -0
- package/dist/src/marketplace/index.js +10 -0
- package/dist/src/persona/PersonaLoader.d.ts +33 -0
- package/dist/src/persona/PersonaLoader.d.ts.map +1 -0
- package/dist/src/persona/PersonaLoader.js +139 -0
- package/dist/src/persona/PersonaManager.d.ts +112 -0
- package/dist/src/persona/PersonaManager.d.ts.map +1 -0
- package/dist/src/persona/PersonaManager.js +341 -0
- package/dist/src/persona/PersonaValidator.d.ts +33 -0
- package/dist/src/persona/PersonaValidator.d.ts.map +1 -0
- package/dist/src/persona/PersonaValidator.js +157 -0
- package/dist/src/persona/export-import/PersonaExporter.d.ts +43 -0
- package/dist/src/persona/export-import/PersonaExporter.d.ts.map +1 -0
- package/dist/src/persona/export-import/PersonaExporter.js +99 -0
- package/dist/src/persona/export-import/PersonaImporter.d.ts +65 -0
- package/dist/src/persona/export-import/PersonaImporter.d.ts.map +1 -0
- package/dist/src/persona/export-import/PersonaImporter.js +313 -0
- package/dist/src/persona/export-import/PersonaSharer.d.ts +60 -0
- package/dist/src/persona/export-import/PersonaSharer.d.ts.map +1 -0
- package/dist/src/persona/export-import/PersonaSharer.js +363 -0
- package/dist/src/persona/export-import/index.d.ts +10 -0
- package/dist/src/persona/export-import/index.d.ts.map +1 -0
- package/dist/src/persona/export-import/index.js +7 -0
- package/dist/src/persona/index.d.ts +7 -0
- package/dist/src/persona/index.d.ts.map +1 -0
- package/dist/src/persona/index.js +7 -0
- package/dist/src/security/InputValidator.d.ts +69 -0
- package/dist/src/security/InputValidator.d.ts.map +1 -0
- package/dist/src/security/InputValidator.js +381 -0
- package/dist/src/security/commandValidator.d.ts +7 -0
- package/dist/src/security/commandValidator.d.ts.map +1 -0
- package/dist/src/security/commandValidator.js +77 -0
- package/dist/src/security/constants.d.ts +21 -0
- package/dist/src/security/constants.d.ts.map +1 -0
- package/dist/src/security/constants.js +23 -0
- package/dist/src/security/contentValidator.d.ts +47 -0
- package/dist/src/security/contentValidator.d.ts.map +1 -0
- package/dist/src/security/contentValidator.js +188 -0
- package/dist/src/security/fileLockManager.d.ts +70 -0
- package/dist/src/security/fileLockManager.d.ts.map +1 -0
- package/dist/src/security/fileLockManager.js +187 -0
- package/dist/src/security/index.d.ts +12 -0
- package/dist/src/security/index.d.ts.map +1 -0
- package/dist/src/security/index.js +14 -0
- package/dist/src/security/pathValidator.d.ts +9 -0
- package/dist/src/security/pathValidator.d.ts.map +1 -0
- package/dist/src/security/pathValidator.js +97 -0
- package/dist/src/security/secureYamlParser.d.ts +46 -0
- package/dist/src/security/secureYamlParser.d.ts.map +1 -0
- package/dist/src/security/secureYamlParser.js +203 -0
- package/dist/src/security/securityMonitor.d.ts +58 -0
- package/dist/src/security/securityMonitor.d.ts.map +1 -0
- package/dist/src/security/securityMonitor.js +108 -0
- package/dist/src/security/tokenManager.d.ts +59 -0
- package/dist/src/security/tokenManager.d.ts.map +1 -0
- package/dist/src/security/tokenManager.js +216 -0
- package/dist/src/security/yamlValidator.d.ts +20 -0
- package/dist/src/security/yamlValidator.d.ts.map +1 -0
- package/dist/src/security/yamlValidator.js +138 -0
- package/dist/src/server/ServerSetup.d.ts +31 -0
- package/dist/src/server/ServerSetup.d.ts.map +1 -0
- package/dist/src/server/ServerSetup.js +79 -0
- package/dist/src/server/index.d.ts +7 -0
- package/dist/src/server/index.d.ts.map +1 -0
- package/dist/src/server/index.js +7 -0
- package/dist/src/server/tools/ConfigTools.d.ts +10 -0
- package/dist/src/server/tools/ConfigTools.d.ts.map +1 -0
- package/dist/src/server/tools/ConfigTools.js +63 -0
- package/dist/src/server/tools/MarketplaceTools.d.ts +10 -0
- package/dist/src/server/tools/MarketplaceTools.d.ts.map +1 -0
- package/dist/src/server/tools/MarketplaceTools.js +92 -0
- package/dist/src/server/tools/PersonaTools.d.ts +10 -0
- package/dist/src/server/tools/PersonaTools.d.ts.map +1 -0
- package/dist/src/server/tools/PersonaTools.js +257 -0
- package/dist/src/server/tools/ToolRegistry.d.ts +37 -0
- package/dist/src/server/tools/ToolRegistry.d.ts.map +1 -0
- package/dist/src/server/tools/ToolRegistry.js +40 -0
- package/dist/src/server/tools/UpdateTools.d.ts +10 -0
- package/dist/src/server/tools/UpdateTools.d.ts.map +1 -0
- package/dist/src/server/tools/UpdateTools.js +64 -0
- package/dist/src/server/tools/UserTools.d.ts +10 -0
- package/dist/src/server/tools/UserTools.d.ts.map +1 -0
- package/dist/src/server/tools/UserTools.js +51 -0
- package/dist/src/server/tools/index.d.ts +10 -0
- package/dist/src/server/tools/index.d.ts.map +1 -0
- package/dist/src/server/tools/index.js +10 -0
- package/dist/src/server/types.d.ts +34 -0
- package/dist/src/server/types.d.ts.map +1 -0
- package/dist/src/server/types.js +5 -0
- package/dist/src/tools/debug.d.ts +20 -0
- package/dist/src/tools/debug.d.ts.map +1 -0
- package/dist/src/tools/debug.js +37 -0
- package/dist/src/types/cache.d.ts +8 -0
- package/dist/src/types/cache.d.ts.map +1 -0
- package/dist/src/types/cache.js +5 -0
- package/dist/src/types/index.d.ts +8 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +8 -0
- package/dist/src/types/marketplace.d.ts +23 -0
- package/dist/src/types/marketplace.d.ts.map +1 -0
- package/dist/src/types/marketplace.js +5 -0
- package/dist/src/types/mcp.d.ts +161 -0
- package/dist/src/types/mcp.d.ts.map +1 -0
- package/dist/src/types/mcp.js +75 -0
- package/dist/src/types/persona.d.ts +30 -0
- package/dist/src/types/persona.d.ts.map +1 -0
- package/dist/src/types/persona.js +5 -0
- package/dist/src/update/BackupManager.d.ts +46 -0
- package/dist/src/update/BackupManager.d.ts.map +1 -0
- package/dist/src/update/BackupManager.js +261 -0
- package/dist/src/update/DependencyChecker.d.ts +41 -0
- package/dist/src/update/DependencyChecker.d.ts.map +1 -0
- package/dist/src/update/DependencyChecker.js +132 -0
- package/dist/src/update/RateLimiter.d.ts +80 -0
- package/dist/src/update/RateLimiter.d.ts.map +1 -0
- package/dist/src/update/RateLimiter.js +172 -0
- package/dist/src/update/SignatureVerifier.d.ts +71 -0
- package/dist/src/update/SignatureVerifier.d.ts.map +1 -0
- package/dist/src/update/SignatureVerifier.js +214 -0
- package/dist/src/update/UpdateChecker.d.ts +127 -0
- package/dist/src/update/UpdateChecker.d.ts.map +1 -0
- package/dist/src/update/UpdateChecker.js +460 -0
- package/dist/src/update/UpdateManager.d.ts +41 -0
- package/dist/src/update/UpdateManager.d.ts.map +1 -0
- package/dist/src/update/UpdateManager.js +260 -0
- package/dist/src/update/VersionManager.d.ts +31 -0
- package/dist/src/update/VersionManager.d.ts.map +1 -0
- package/dist/src/update/VersionManager.js +134 -0
- package/dist/src/update/index.d.ts +9 -0
- package/dist/src/update/index.d.ts.map +1 -0
- package/dist/src/update/index.js +9 -0
- package/dist/src/utils/filesystem.d.ts +32 -0
- package/dist/src/utils/filesystem.d.ts.map +1 -0
- package/dist/src/utils/filesystem.js +73 -0
- package/dist/src/utils/git.d.ts +32 -0
- package/dist/src/utils/git.d.ts.map +1 -0
- package/dist/src/utils/git.js +65 -0
- package/dist/src/utils/index.d.ts +7 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +7 -0
- package/dist/src/utils/logger.d.ts +45 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/utils/logger.js +91 -0
- package/dist/src/utils/version.d.ts +25 -0
- package/dist/src/utils/version.d.ts.map +1 -0
- package/dist/src/utils/version.js +97 -0
- package/dist/test/src/cache/APICache.d.ts +23 -0
- package/dist/test/src/cache/APICache.d.ts.map +1 -0
- package/dist/test/src/cache/APICache.js +42 -0
- package/dist/test/src/cache/index.d.ts +5 -0
- package/dist/test/src/cache/index.d.ts.map +1 -0
- package/dist/test/src/cache/index.js +5 -0
- package/dist/test/src/collection/CollectionBrowser.d.ts +24 -0
- package/dist/test/src/collection/CollectionBrowser.d.ts.map +1 -0
- package/dist/test/src/collection/CollectionBrowser.js +115 -0
- package/dist/test/src/collection/CollectionSearch.d.ts +18 -0
- package/dist/test/src/collection/CollectionSearch.d.ts.map +1 -0
- package/dist/test/src/collection/CollectionSearch.js +48 -0
- package/dist/test/src/collection/GitHubClient.d.ts +22 -0
- package/dist/test/src/collection/GitHubClient.d.ts.map +1 -0
- package/dist/test/src/collection/GitHubClient.js +114 -0
- package/dist/test/src/collection/PersonaDetails.d.ts +22 -0
- package/dist/test/src/collection/PersonaDetails.d.ts.map +1 -0
- package/dist/test/src/collection/PersonaDetails.js +71 -0
- package/dist/test/src/collection/PersonaInstaller.d.ts +26 -0
- package/dist/test/src/collection/PersonaInstaller.d.ts.map +1 -0
- package/dist/test/src/collection/PersonaInstaller.js +103 -0
- package/dist/test/src/collection/PersonaSubmitter.d.ts +19 -0
- package/dist/test/src/collection/PersonaSubmitter.d.ts.map +1 -0
- package/dist/test/src/collection/PersonaSubmitter.js +57 -0
- package/dist/test/src/collection/index.d.ts +10 -0
- package/dist/test/src/collection/index.d.ts.map +1 -0
- package/dist/test/src/collection/index.js +10 -0
- package/dist/test/src/config/constants.d.ts +25 -0
- package/dist/test/src/config/constants.d.ts.map +1 -0
- package/dist/test/src/config/constants.js +30 -0
- package/dist/test/src/config/index.d.ts +6 -0
- package/dist/test/src/config/index.d.ts.map +1 -0
- package/dist/test/src/config/index.js +6 -0
- package/dist/test/src/config/indicator-config.d.ts +107 -0
- package/dist/test/src/config/indicator-config.d.ts.map +1 -0
- package/dist/test/src/config/indicator-config.js +158 -0
- package/dist/test/src/constants/defaultPersonas.d.ts +10 -0
- package/dist/test/src/constants/defaultPersonas.d.ts.map +1 -0
- package/dist/test/src/constants/defaultPersonas.js +18 -0
- package/dist/test/src/constants/limits.d.ts +10 -0
- package/dist/test/src/constants/limits.d.ts.map +1 -0
- package/dist/test/src/constants/limits.js +13 -0
- package/dist/test/src/elements/BaseElement.d.ts +81 -0
- package/dist/test/src/elements/BaseElement.d.ts.map +1 -0
- package/dist/test/src/elements/BaseElement.js +381 -0
- package/dist/test/src/elements/FeedbackProcessor.d.ts +57 -0
- package/dist/test/src/elements/FeedbackProcessor.d.ts.map +1 -0
- package/dist/test/src/elements/FeedbackProcessor.js +418 -0
- package/dist/test/src/elements/agents/Agent.d.ts +145 -0
- package/dist/test/src/elements/agents/Agent.d.ts.map +1 -0
- package/dist/test/src/elements/agents/Agent.js +848 -0
- package/dist/test/src/elements/agents/AgentManager.d.ts +125 -0
- package/dist/test/src/elements/agents/AgentManager.d.ts.map +1 -0
- package/dist/test/src/elements/agents/AgentManager.js +608 -0
- package/dist/test/src/elements/agents/constants.d.ts +42 -0
- package/dist/test/src/elements/agents/constants.d.ts.map +1 -0
- package/dist/test/src/elements/agents/constants.js +45 -0
- package/dist/test/src/elements/agents/goalTemplates.d.ts +44 -0
- package/dist/test/src/elements/agents/goalTemplates.d.ts.map +1 -0
- package/dist/test/src/elements/agents/goalTemplates.js +297 -0
- package/dist/test/src/elements/agents/index.d.ts +8 -0
- package/dist/test/src/elements/agents/index.d.ts.map +1 -0
- package/dist/test/src/elements/agents/index.js +8 -0
- package/dist/test/src/elements/agents/ruleEngineConfig.d.ts +76 -0
- package/dist/test/src/elements/agents/ruleEngineConfig.d.ts.map +1 -0
- package/dist/test/src/elements/agents/ruleEngineConfig.js +143 -0
- package/dist/test/src/elements/agents/types.d.ts +97 -0
- package/dist/test/src/elements/agents/types.d.ts.map +1 -0
- package/dist/test/src/elements/agents/types.js +5 -0
- package/dist/test/src/elements/index.d.ts +6 -0
- package/dist/test/src/elements/index.d.ts.map +1 -0
- package/dist/test/src/elements/index.js +6 -0
- package/dist/test/src/elements/memories/Memory.d.ts +110 -0
- package/dist/test/src/elements/memories/Memory.d.ts.map +1 -0
- package/dist/test/src/elements/memories/Memory.js +470 -0
- package/dist/test/src/elements/memories/MemoryManager.d.ts +86 -0
- package/dist/test/src/elements/memories/MemoryManager.d.ts.map +1 -0
- package/dist/test/src/elements/memories/MemoryManager.js +435 -0
- package/dist/test/src/elements/memories/constants.d.ts +42 -0
- package/dist/test/src/elements/memories/constants.d.ts.map +1 -0
- package/dist/test/src/elements/memories/constants.js +49 -0
- package/dist/test/src/elements/memories/index.d.ts +6 -0
- package/dist/test/src/elements/memories/index.d.ts.map +1 -0
- package/dist/test/src/elements/memories/index.js +6 -0
- package/dist/test/src/elements/skills/Skill.d.ts +109 -0
- package/dist/test/src/elements/skills/Skill.d.ts.map +1 -0
- package/dist/test/src/elements/skills/Skill.js +381 -0
- package/dist/test/src/elements/templates/Template.d.ts +138 -0
- package/dist/test/src/elements/templates/Template.d.ts.map +1 -0
- package/dist/test/src/elements/templates/Template.js +673 -0
- package/dist/test/src/elements/templates/TemplateManager.d.ts +104 -0
- package/dist/test/src/elements/templates/TemplateManager.d.ts.map +1 -0
- package/dist/test/src/elements/templates/TemplateManager.js +496 -0
- package/dist/test/src/elements/templates/index.d.ts +6 -0
- package/dist/test/src/elements/templates/index.d.ts.map +1 -0
- package/dist/test/src/elements/templates/index.js +6 -0
- package/dist/test/src/errors/SecurityError.d.ts +29 -0
- package/dist/test/src/errors/SecurityError.d.ts.map +1 -0
- package/dist/test/src/errors/SecurityError.js +47 -0
- package/dist/test/src/errors/index.d.ts +2 -0
- package/dist/test/src/errors/index.d.ts.map +1 -0
- package/dist/test/src/errors/index.js +2 -0
- package/dist/test/src/index.barrel.d.ts +21 -0
- package/dist/test/src/index.barrel.d.ts.map +1 -0
- package/dist/test/src/index.barrel.js +31 -0
- package/dist/test/src/index.d.ts +223 -0
- package/dist/test/src/index.d.ts.map +1 -0
- package/dist/test/src/index.js +1594 -0
- package/dist/test/src/marketplace/GitHubClient.d.ts +22 -0
- package/dist/test/src/marketplace/GitHubClient.d.ts.map +1 -0
- package/dist/test/src/marketplace/GitHubClient.js +112 -0
- package/dist/test/src/marketplace/MarketplaceBrowser.d.ts +21 -0
- package/dist/test/src/marketplace/MarketplaceBrowser.d.ts.map +1 -0
- package/dist/test/src/marketplace/MarketplaceBrowser.js +45 -0
- package/dist/test/src/marketplace/MarketplaceSearch.d.ts +18 -0
- package/dist/test/src/marketplace/MarketplaceSearch.d.ts.map +1 -0
- package/dist/test/src/marketplace/MarketplaceSearch.js +36 -0
- package/dist/test/src/marketplace/PersonaDetails.d.ts +22 -0
- package/dist/test/src/marketplace/PersonaDetails.d.ts.map +1 -0
- package/dist/test/src/marketplace/PersonaDetails.js +71 -0
- package/dist/test/src/marketplace/PersonaInstaller.d.ts +25 -0
- package/dist/test/src/marketplace/PersonaInstaller.d.ts.map +1 -0
- package/dist/test/src/marketplace/PersonaInstaller.js +100 -0
- package/dist/test/src/marketplace/PersonaSubmitter.d.ts +19 -0
- package/dist/test/src/marketplace/PersonaSubmitter.d.ts.map +1 -0
- package/dist/test/src/marketplace/PersonaSubmitter.js +57 -0
- package/dist/test/src/marketplace/index.d.ts +10 -0
- package/dist/test/src/marketplace/index.d.ts.map +1 -0
- package/dist/test/src/marketplace/index.js +10 -0
- package/dist/test/src/persona/PersonaElement.d.ts +64 -0
- package/dist/test/src/persona/PersonaElement.d.ts.map +1 -0
- package/dist/test/src/persona/PersonaElement.js +223 -0
- package/dist/test/src/persona/PersonaElementManager.d.ts +97 -0
- package/dist/test/src/persona/PersonaElementManager.d.ts.map +1 -0
- package/dist/test/src/persona/PersonaElementManager.js +342 -0
- package/dist/test/src/persona/PersonaLoader.d.ts +34 -0
- package/dist/test/src/persona/PersonaLoader.d.ts.map +1 -0
- package/dist/test/src/persona/PersonaLoader.js +145 -0
- package/dist/test/src/persona/PersonaManager.d.ts +112 -0
- package/dist/test/src/persona/PersonaManager.d.ts.map +1 -0
- package/dist/test/src/persona/PersonaManager.js +341 -0
- package/dist/test/src/persona/PersonaValidator.d.ts +33 -0
- package/dist/test/src/persona/PersonaValidator.d.ts.map +1 -0
- package/dist/test/src/persona/PersonaValidator.js +157 -0
- package/dist/test/src/persona/export-import/PersonaExporter.d.ts +43 -0
- package/dist/test/src/persona/export-import/PersonaExporter.d.ts.map +1 -0
- package/dist/test/src/persona/export-import/PersonaExporter.js +99 -0
- package/dist/test/src/persona/export-import/PersonaImporter.d.ts +65 -0
- package/dist/test/src/persona/export-import/PersonaImporter.d.ts.map +1 -0
- package/dist/test/src/persona/export-import/PersonaImporter.js +315 -0
- package/dist/test/src/persona/export-import/PersonaSharer.d.ts +60 -0
- package/dist/test/src/persona/export-import/PersonaSharer.d.ts.map +1 -0
- package/dist/test/src/persona/export-import/PersonaSharer.js +502 -0
- package/dist/test/src/persona/export-import/index.d.ts +10 -0
- package/dist/test/src/persona/export-import/index.d.ts.map +1 -0
- package/dist/test/src/persona/export-import/index.js +7 -0
- package/dist/test/src/persona/index.d.ts +7 -0
- package/dist/test/src/persona/index.d.ts.map +1 -0
- package/dist/test/src/persona/index.js +7 -0
- package/dist/test/src/portfolio/MigrationManager.d.ts +44 -0
- package/dist/test/src/portfolio/MigrationManager.d.ts.map +1 -0
- package/dist/test/src/portfolio/MigrationManager.js +163 -0
- package/dist/test/src/portfolio/PortfolioManager.d.ts +54 -0
- package/dist/test/src/portfolio/PortfolioManager.d.ts.map +1 -0
- package/dist/test/src/portfolio/PortfolioManager.js +224 -0
- package/dist/test/src/portfolio/types.d.ts +18 -0
- package/dist/test/src/portfolio/types.d.ts.map +1 -0
- package/dist/test/src/portfolio/types.js +13 -0
- package/dist/test/src/security/InputValidator.d.ts +80 -0
- package/dist/test/src/security/InputValidator.d.ts.map +1 -0
- package/dist/test/src/security/InputValidator.js +436 -0
- package/dist/test/src/security/audit/SecurityAuditor.d.ts +44 -0
- package/dist/test/src/security/audit/SecurityAuditor.d.ts.map +1 -0
- package/dist/test/src/security/audit/SecurityAuditor.js +274 -0
- package/dist/test/src/security/audit/config/suppressions.d.ts +34 -0
- package/dist/test/src/security/audit/config/suppressions.d.ts.map +1 -0
- package/dist/test/src/security/audit/config/suppressions.js +575 -0
- package/dist/test/src/security/audit/index.d.ts +14 -0
- package/dist/test/src/security/audit/index.d.ts.map +1 -0
- package/dist/test/src/security/audit/index.js +15 -0
- package/dist/test/src/security/audit/reporters/ConsoleReporter.d.ts +46 -0
- package/dist/test/src/security/audit/reporters/ConsoleReporter.d.ts.map +1 -0
- package/dist/test/src/security/audit/reporters/ConsoleReporter.js +174 -0
- package/dist/test/src/security/audit/reporters/JsonReporter.d.ts +13 -0
- package/dist/test/src/security/audit/reporters/JsonReporter.d.ts.map +1 -0
- package/dist/test/src/security/audit/reporters/JsonReporter.js +25 -0
- package/dist/test/src/security/audit/reporters/MarkdownReporter.d.ts +13 -0
- package/dist/test/src/security/audit/reporters/MarkdownReporter.d.ts.map +1 -0
- package/dist/test/src/security/audit/reporters/MarkdownReporter.js +79 -0
- package/dist/test/src/security/audit/rules/SecurityRules.d.ts +20 -0
- package/dist/test/src/security/audit/rules/SecurityRules.d.ts.map +1 -0
- package/dist/test/src/security/audit/rules/SecurityRules.js +244 -0
- package/dist/test/src/security/audit/scanners/CodeScanner.d.ts +47 -0
- package/dist/test/src/security/audit/scanners/CodeScanner.d.ts.map +1 -0
- package/dist/test/src/security/audit/scanners/CodeScanner.js +174 -0
- package/dist/test/src/security/audit/scanners/ConfigurationScanner.d.ts +13 -0
- package/dist/test/src/security/audit/scanners/ConfigurationScanner.d.ts.map +1 -0
- package/dist/test/src/security/audit/scanners/ConfigurationScanner.js +22 -0
- package/dist/test/src/security/audit/scanners/DependencyScanner.d.ts +13 -0
- package/dist/test/src/security/audit/scanners/DependencyScanner.d.ts.map +1 -0
- package/dist/test/src/security/audit/scanners/DependencyScanner.js +22 -0
- package/dist/test/src/security/audit/types.d.ts +94 -0
- package/dist/test/src/security/audit/types.d.ts.map +1 -0
- package/dist/test/src/security/audit/types.js +6 -0
- package/dist/test/src/security/commandValidator.d.ts +7 -0
- package/dist/test/src/security/commandValidator.d.ts.map +1 -0
- package/dist/test/src/security/commandValidator.js +78 -0
- package/dist/test/src/security/constants.d.ts +24 -0
- package/dist/test/src/security/constants.d.ts.map +1 -0
- package/dist/test/src/security/constants.js +26 -0
- package/dist/test/src/security/contentValidator.d.ts +47 -0
- package/dist/test/src/security/contentValidator.d.ts.map +1 -0
- package/dist/test/src/security/contentValidator.js +301 -0
- package/dist/test/src/security/errors.d.ts +14 -0
- package/dist/test/src/security/errors.d.ts.map +1 -0
- package/dist/test/src/security/errors.js +28 -0
- package/dist/test/src/security/fileLockManager.d.ts +70 -0
- package/dist/test/src/security/fileLockManager.d.ts.map +1 -0
- package/dist/test/src/security/fileLockManager.js +187 -0
- package/dist/test/src/security/index.d.ts +12 -0
- package/dist/test/src/security/index.d.ts.map +1 -0
- package/dist/test/src/security/index.js +14 -0
- package/dist/test/src/security/pathValidator.d.ts +9 -0
- package/dist/test/src/security/pathValidator.d.ts.map +1 -0
- package/dist/test/src/security/pathValidator.js +98 -0
- package/dist/test/src/security/regexValidator.d.ts +59 -0
- package/dist/test/src/security/regexValidator.d.ts.map +1 -0
- package/dist/test/src/security/regexValidator.js +214 -0
- package/dist/test/src/security/secureYamlParser.d.ts +46 -0
- package/dist/test/src/security/secureYamlParser.d.ts.map +1 -0
- package/dist/test/src/security/secureYamlParser.js +203 -0
- package/dist/test/src/security/securityMonitor.d.ts +58 -0
- package/dist/test/src/security/securityMonitor.d.ts.map +1 -0
- package/dist/test/src/security/securityMonitor.js +108 -0
- package/dist/test/src/security/tokenManager.d.ts +85 -0
- package/dist/test/src/security/tokenManager.d.ts.map +1 -0
- package/dist/test/src/security/tokenManager.js +286 -0
- package/dist/test/src/security/validators/unicodeValidator.d.ts +97 -0
- package/dist/test/src/security/validators/unicodeValidator.d.ts.map +1 -0
- package/dist/test/src/security/validators/unicodeValidator.js +312 -0
- package/dist/test/src/security/yamlValidator.d.ts +21 -0
- package/dist/test/src/security/yamlValidator.d.ts.map +1 -0
- package/dist/test/src/security/yamlValidator.js +164 -0
- package/dist/test/src/server/ServerSetup.d.ts +35 -0
- package/dist/test/src/server/ServerSetup.d.ts.map +1 -0
- package/dist/test/src/server/ServerSetup.js +116 -0
- package/dist/test/src/server/index.d.ts +7 -0
- package/dist/test/src/server/index.d.ts.map +1 -0
- package/dist/test/src/server/index.js +7 -0
- package/dist/test/src/server/startup.d.ts +31 -0
- package/dist/test/src/server/startup.d.ts.map +1 -0
- package/dist/test/src/server/startup.js +67 -0
- package/dist/test/src/server/tools/CollectionTools.d.ts +10 -0
- package/dist/test/src/server/tools/CollectionTools.d.ts.map +1 -0
- package/dist/test/src/server/tools/CollectionTools.js +96 -0
- package/dist/test/src/server/tools/ConfigTools.d.ts +10 -0
- package/dist/test/src/server/tools/ConfigTools.d.ts.map +1 -0
- package/dist/test/src/server/tools/ConfigTools.js +63 -0
- package/dist/test/src/server/tools/MarketplaceTools.d.ts +10 -0
- package/dist/test/src/server/tools/MarketplaceTools.d.ts.map +1 -0
- package/dist/test/src/server/tools/MarketplaceTools.js +92 -0
- package/dist/test/src/server/tools/PersonaTools.d.ts +10 -0
- package/dist/test/src/server/tools/PersonaTools.d.ts.map +1 -0
- package/dist/test/src/server/tools/PersonaTools.js +257 -0
- package/dist/test/src/server/tools/ToolRegistry.d.ts +37 -0
- package/dist/test/src/server/tools/ToolRegistry.d.ts.map +1 -0
- package/dist/test/src/server/tools/ToolRegistry.js +40 -0
- package/dist/test/src/server/tools/UpdateTools.d.ts +10 -0
- package/dist/test/src/server/tools/UpdateTools.d.ts.map +1 -0
- package/dist/test/src/server/tools/UpdateTools.js +64 -0
- package/dist/test/src/server/tools/UserTools.d.ts +10 -0
- package/dist/test/src/server/tools/UserTools.d.ts.map +1 -0
- package/dist/test/src/server/tools/UserTools.js +51 -0
- package/dist/test/src/server/tools/index.d.ts +10 -0
- package/dist/test/src/server/tools/index.d.ts.map +1 -0
- package/dist/test/src/server/tools/index.js +10 -0
- package/dist/test/src/server/types.d.ts +34 -0
- package/dist/test/src/server/types.d.ts.map +1 -0
- package/dist/test/src/server/types.js +5 -0
- package/dist/test/src/tools/debug.d.ts +20 -0
- package/dist/test/src/tools/debug.d.ts.map +1 -0
- package/dist/test/src/tools/debug.js +37 -0
- package/dist/test/src/types/cache.d.ts +8 -0
- package/dist/test/src/types/cache.d.ts.map +1 -0
- package/dist/test/src/types/cache.js +5 -0
- package/dist/test/src/types/collection.d.ts +23 -0
- package/dist/test/src/types/collection.d.ts.map +1 -0
- package/dist/test/src/types/collection.js +5 -0
- package/dist/test/src/types/elements/IElement.d.ts +123 -0
- package/dist/test/src/types/elements/IElement.d.ts.map +1 -0
- package/dist/test/src/types/elements/IElement.js +30 -0
- package/dist/test/src/types/elements/IElementManager.d.ts +65 -0
- package/dist/test/src/types/elements/IElementManager.d.ts.map +1 -0
- package/dist/test/src/types/elements/IElementManager.js +6 -0
- package/dist/test/src/types/elements/IRatingManager.d.ts +109 -0
- package/dist/test/src/types/elements/IRatingManager.d.ts.map +1 -0
- package/dist/test/src/types/elements/IRatingManager.js +6 -0
- package/dist/test/src/types/elements/IReferenceResolver.d.ts +52 -0
- package/dist/test/src/types/elements/IReferenceResolver.d.ts.map +1 -0
- package/dist/test/src/types/elements/IReferenceResolver.js +6 -0
- package/dist/test/src/types/elements/RatingBreakdowns.d.ts +49 -0
- package/dist/test/src/types/elements/RatingBreakdowns.d.ts.map +1 -0
- package/dist/test/src/types/elements/RatingBreakdowns.js +6 -0
- package/dist/test/src/types/elements/index.d.ts +9 -0
- package/dist/test/src/types/elements/index.d.ts.map +1 -0
- package/dist/test/src/types/elements/index.js +11 -0
- package/dist/test/src/types/index.d.ts +9 -0
- package/dist/test/src/types/index.d.ts.map +1 -0
- package/dist/test/src/types/index.js +9 -0
- package/dist/test/src/types/marketplace.d.ts +23 -0
- package/dist/test/src/types/marketplace.d.ts.map +1 -0
- package/dist/test/src/types/marketplace.js +5 -0
- package/dist/test/src/types/mcp.d.ts +84 -0
- package/dist/test/src/types/mcp.d.ts.map +1 -0
- package/dist/test/src/types/mcp.js +80 -0
- package/dist/test/src/types/persona.d.ts +30 -0
- package/dist/test/src/types/persona.d.ts.map +1 -0
- package/dist/test/src/types/persona.js +5 -0
- package/dist/test/src/update/BackupManager.d.ts +46 -0
- package/dist/test/src/update/BackupManager.d.ts.map +1 -0
- package/dist/test/src/update/BackupManager.js +261 -0
- package/dist/test/src/update/DependencyChecker.d.ts +41 -0
- package/dist/test/src/update/DependencyChecker.d.ts.map +1 -0
- package/dist/test/src/update/DependencyChecker.js +132 -0
- package/dist/test/src/update/RateLimiter.d.ts +80 -0
- package/dist/test/src/update/RateLimiter.d.ts.map +1 -0
- package/dist/test/src/update/RateLimiter.js +172 -0
- package/dist/test/src/update/SignatureVerifier.d.ts +71 -0
- package/dist/test/src/update/SignatureVerifier.d.ts.map +1 -0
- package/dist/test/src/update/SignatureVerifier.js +214 -0
- package/dist/test/src/update/UpdateChecker.d.ts +127 -0
- package/dist/test/src/update/UpdateChecker.d.ts.map +1 -0
- package/dist/test/src/update/UpdateChecker.js +469 -0
- package/dist/test/src/update/UpdateManager.d.ts +41 -0
- package/dist/test/src/update/UpdateManager.d.ts.map +1 -0
- package/dist/test/src/update/UpdateManager.js +260 -0
- package/dist/test/src/update/VersionManager.d.ts +31 -0
- package/dist/test/src/update/VersionManager.d.ts.map +1 -0
- package/dist/test/src/update/VersionManager.js +134 -0
- package/dist/test/src/update/index.d.ts +9 -0
- package/dist/test/src/update/index.d.ts.map +1 -0
- package/dist/test/src/update/index.js +9 -0
- package/dist/test/src/utils/filesystem.d.ts +29 -0
- package/dist/test/src/utils/filesystem.d.ts.map +1 -0
- package/dist/test/src/utils/filesystem.js +94 -0
- package/dist/test/src/utils/git.d.ts +32 -0
- package/dist/test/src/utils/git.d.ts.map +1 -0
- package/dist/test/src/utils/git.js +65 -0
- package/dist/test/src/utils/index.d.ts +7 -0
- package/dist/test/src/utils/index.d.ts.map +1 -0
- package/dist/test/src/utils/index.js +7 -0
- package/dist/test/src/utils/logger.d.ts +45 -0
- package/dist/test/src/utils/logger.d.ts.map +1 -0
- package/dist/test/src/utils/logger.js +91 -0
- package/dist/test/src/utils/version.d.ts +25 -0
- package/dist/test/src/utils/version.d.ts.map +1 -0
- package/dist/test/src/utils/version.js +97 -0
- package/dist/test/test/__tests__/integration/helpers/file-utils.d.ts +33 -0
- package/dist/test/test/__tests__/integration/helpers/file-utils.d.ts.map +1 -0
- package/dist/test/test/__tests__/integration/helpers/file-utils.js +83 -0
- package/dist/test/test/__tests__/integration/helpers/test-fixtures.d.ts +26 -0
- package/dist/test/test/__tests__/integration/helpers/test-fixtures.d.ts.map +1 -0
- package/dist/test/test/__tests__/integration/helpers/test-fixtures.js +95 -0
- package/dist/test/test/__tests__/integration/helpers/test-server.d.ts +26 -0
- package/dist/test/test/__tests__/integration/helpers/test-server.d.ts.map +1 -0
- package/dist/test/test/__tests__/integration/helpers/test-server.js +41 -0
- package/dist/test/test/__tests__/integration/setup.d.ts +8 -0
- package/dist/test/test/__tests__/integration/setup.d.ts.map +1 -0
- package/dist/test/test/__tests__/integration/setup.js +31 -0
- package/dist/test/test/__tests__/integration/teardown.d.ts +5 -0
- package/dist/test/test/__tests__/integration/teardown.d.ts.map +1 -0
- package/dist/test/test/__tests__/integration/teardown.js +23 -0
- package/dist/test/test/__tests__/security/framework/RapidSecurityTesting.d.ts +34 -0
- package/dist/test/test/__tests__/security/framework/RapidSecurityTesting.d.ts.map +1 -0
- package/dist/test/test/__tests__/security/framework/RapidSecurityTesting.js +224 -0
- package/dist/test/test/__tests__/security/framework/SecurityTestFramework.d.ts +89 -0
- package/dist/test/test/__tests__/security/framework/SecurityTestFramework.d.ts.map +1 -0
- package/dist/test/test/__tests__/security/framework/SecurityTestFramework.js +543 -0
- package/dist/test/test/__tests__/security/index.d.ts +46 -0
- package/dist/test/test/__tests__/security/index.d.ts.map +1 -0
- package/dist/test/test/__tests__/security/index.js +98 -0
- package/dist/test/test/__tests__/security/setup.d.ts +3 -0
- package/dist/test/test/__tests__/security/setup.d.ts.map +1 -0
- package/dist/test/test/__tests__/security/setup.js +23 -0
- package/dist/tools/debug.d.ts +20 -0
- package/dist/tools/debug.d.ts.map +1 -0
- package/dist/tools/debug.js +37 -0
- package/dist/types/cache.d.ts +8 -0
- package/dist/types/cache.d.ts.map +1 -0
- package/dist/types/cache.js +5 -0
- package/dist/types/collection.d.ts +23 -0
- package/dist/types/collection.d.ts.map +1 -0
- package/dist/types/collection.js +5 -0
- package/dist/types/elements/IElement.d.ts +123 -0
- package/dist/types/elements/IElement.d.ts.map +1 -0
- package/dist/types/elements/IElement.js +30 -0
- package/dist/types/elements/IElementManager.d.ts +65 -0
- package/dist/types/elements/IElementManager.d.ts.map +1 -0
- package/dist/types/elements/IElementManager.js +6 -0
- package/dist/types/elements/IRatingManager.d.ts +109 -0
- package/dist/types/elements/IRatingManager.d.ts.map +1 -0
- package/dist/types/elements/IRatingManager.js +6 -0
- package/dist/types/elements/IReferenceResolver.d.ts +52 -0
- package/dist/types/elements/IReferenceResolver.d.ts.map +1 -0
- package/dist/types/elements/IReferenceResolver.js +6 -0
- package/dist/types/elements/RatingBreakdowns.d.ts +49 -0
- package/dist/types/elements/RatingBreakdowns.d.ts.map +1 -0
- package/dist/types/elements/RatingBreakdowns.js +6 -0
- package/dist/types/elements/index.d.ts +9 -0
- package/dist/types/elements/index.d.ts.map +1 -0
- package/dist/types/elements/index.js +11 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +9 -0
- package/dist/types/marketplace.d.ts +23 -0
- package/dist/types/marketplace.d.ts.map +1 -0
- package/dist/types/marketplace.js +5 -0
- package/dist/types/mcp.d.ts +84 -0
- package/dist/types/mcp.d.ts.map +1 -0
- package/dist/types/mcp.js +80 -0
- package/dist/types/persona.d.ts +30 -0
- package/dist/types/persona.d.ts.map +1 -0
- package/dist/types/persona.js +5 -0
- package/dist/update/BackupManager.d.ts +46 -0
- package/dist/update/BackupManager.d.ts.map +1 -0
- package/dist/update/BackupManager.js +261 -0
- package/dist/update/DependencyChecker.d.ts +41 -0
- package/dist/update/DependencyChecker.d.ts.map +1 -0
- package/dist/update/DependencyChecker.js +132 -0
- package/dist/update/RateLimiter.d.ts +80 -0
- package/dist/update/RateLimiter.d.ts.map +1 -0
- package/dist/update/RateLimiter.js +172 -0
- package/dist/update/SignatureVerifier.d.ts +71 -0
- package/dist/update/SignatureVerifier.d.ts.map +1 -0
- package/dist/update/SignatureVerifier.js +214 -0
- package/dist/update/UpdateChecker.d.ts +127 -0
- package/dist/update/UpdateChecker.d.ts.map +1 -0
- package/dist/update/UpdateChecker.js +469 -0
- package/dist/update/UpdateManager.d.ts +41 -0
- package/dist/update/UpdateManager.d.ts.map +1 -0
- package/dist/update/UpdateManager.js +260 -0
- package/dist/update/VersionManager.d.ts +31 -0
- package/dist/update/VersionManager.d.ts.map +1 -0
- package/dist/update/VersionManager.js +134 -0
- package/dist/update/index.d.ts +9 -0
- package/dist/update/index.d.ts.map +1 -0
- package/dist/update/index.js +9 -0
- package/dist/utils/filesystem.d.ts +29 -0
- package/dist/utils/filesystem.d.ts.map +1 -0
- package/dist/utils/filesystem.js +94 -0
- package/dist/utils/git.d.ts +32 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +65 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/logger.d.ts +45 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +91 -0
- package/dist/utils/version.d.ts +25 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +97 -0
- package/package.json +128 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persona validation and quality checks
|
|
3
|
+
*/
|
|
4
|
+
import { VALID_CATEGORIES } from '../config/constants.js';
|
|
5
|
+
export class PersonaValidator {
|
|
6
|
+
/**
|
|
7
|
+
* Validate a persona's metadata and content
|
|
8
|
+
*/
|
|
9
|
+
validatePersona(persona) {
|
|
10
|
+
const issues = [];
|
|
11
|
+
const warnings = [];
|
|
12
|
+
const metadata = persona.metadata;
|
|
13
|
+
// Required field checks
|
|
14
|
+
if (!metadata.name || metadata.name.trim().length === 0) {
|
|
15
|
+
issues.push("Missing or empty 'name' field");
|
|
16
|
+
}
|
|
17
|
+
if (!metadata.description || metadata.description.trim().length === 0) {
|
|
18
|
+
issues.push("Missing or empty 'description' field");
|
|
19
|
+
}
|
|
20
|
+
if (!persona.content || persona.content.trim().length < 50) {
|
|
21
|
+
issues.push("Persona content is too short (minimum 50 characters)");
|
|
22
|
+
}
|
|
23
|
+
// Category validation
|
|
24
|
+
if (metadata.category && !VALID_CATEGORIES.includes(metadata.category)) {
|
|
25
|
+
issues.push(`Invalid category '${metadata.category}'. Must be one of: ${VALID_CATEGORIES.join(', ')}`);
|
|
26
|
+
}
|
|
27
|
+
// Age rating validation
|
|
28
|
+
const validAgeRatings = ['all', '13+', '18+'];
|
|
29
|
+
if (metadata.age_rating && !validAgeRatings.includes(metadata.age_rating)) {
|
|
30
|
+
warnings.push(`Invalid age_rating '${metadata.age_rating}'. Should be one of: ${validAgeRatings.join(', ')}`);
|
|
31
|
+
}
|
|
32
|
+
// Optional field warnings
|
|
33
|
+
if (!metadata.triggers || metadata.triggers.length === 0) {
|
|
34
|
+
warnings.push("No trigger keywords defined - users may have difficulty finding this persona");
|
|
35
|
+
}
|
|
36
|
+
if (!metadata.version) {
|
|
37
|
+
warnings.push("No version specified - defaulting to '1.0'");
|
|
38
|
+
}
|
|
39
|
+
if (!metadata.unique_id) {
|
|
40
|
+
warnings.push("No unique_id - one will be generated automatically");
|
|
41
|
+
}
|
|
42
|
+
// Content quality checks
|
|
43
|
+
if (persona.content.length > 5000) {
|
|
44
|
+
warnings.push("Persona content is very long - consider breaking it into sections");
|
|
45
|
+
}
|
|
46
|
+
if (metadata.name && metadata.name.length > 50) {
|
|
47
|
+
warnings.push("Persona name is very long - consider shortening for better display");
|
|
48
|
+
}
|
|
49
|
+
if (metadata.description && metadata.description.length > 200) {
|
|
50
|
+
warnings.push("Description is very long - consider keeping it under 200 characters");
|
|
51
|
+
}
|
|
52
|
+
// Generate validation report
|
|
53
|
+
const report = this.generateReport(persona, issues, warnings);
|
|
54
|
+
return {
|
|
55
|
+
valid: issues.length === 0,
|
|
56
|
+
issues,
|
|
57
|
+
warnings,
|
|
58
|
+
report
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Validate persona metadata only
|
|
63
|
+
*/
|
|
64
|
+
validateMetadata(metadata) {
|
|
65
|
+
const issues = [];
|
|
66
|
+
const warnings = [];
|
|
67
|
+
if (!metadata.name || metadata.name.trim().length === 0) {
|
|
68
|
+
issues.push("Missing or empty 'name' field");
|
|
69
|
+
}
|
|
70
|
+
if (!metadata.description || metadata.description.trim().length === 0) {
|
|
71
|
+
issues.push("Missing or empty 'description' field");
|
|
72
|
+
}
|
|
73
|
+
if (metadata.category && !VALID_CATEGORIES.includes(metadata.category)) {
|
|
74
|
+
issues.push(`Invalid category '${metadata.category}'`);
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
valid: issues.length === 0,
|
|
78
|
+
issues,
|
|
79
|
+
warnings,
|
|
80
|
+
report: ''
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Generate a validation report
|
|
85
|
+
*/
|
|
86
|
+
generateReport(persona, issues, warnings) {
|
|
87
|
+
const metadata = persona.metadata;
|
|
88
|
+
let report = `📋 **Validation Report: ${metadata.name}**\n\n`;
|
|
89
|
+
if (issues.length === 0 && warnings.length === 0) {
|
|
90
|
+
report += `✅ **All Checks Passed!**\n\n` +
|
|
91
|
+
`🎭 **Persona:** ${metadata.name}\n` +
|
|
92
|
+
`📁 **Category:** ${metadata.category || 'general'}\n` +
|
|
93
|
+
`📊 **Version:** ${metadata.version || '1.0'}\n` +
|
|
94
|
+
`📝 **Content Length:** ${persona.content.length} characters\n` +
|
|
95
|
+
`🔗 **Triggers:** ${metadata.triggers?.length || 0} keywords\n\n` +
|
|
96
|
+
`This persona meets all validation requirements and is ready for use!`;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
if (issues.length > 0) {
|
|
100
|
+
report += `❌ **Issues Found (${issues.length}):**\n`;
|
|
101
|
+
issues.forEach((issue, i) => {
|
|
102
|
+
report += ` ${i + 1}. ${issue}\n`;
|
|
103
|
+
});
|
|
104
|
+
report += '\n';
|
|
105
|
+
}
|
|
106
|
+
if (warnings.length > 0) {
|
|
107
|
+
report += `⚠️ **Warnings (${warnings.length}):**\n`;
|
|
108
|
+
warnings.forEach((warning, i) => {
|
|
109
|
+
report += ` ${i + 1}. ${warning}\n`;
|
|
110
|
+
});
|
|
111
|
+
report += '\n';
|
|
112
|
+
}
|
|
113
|
+
if (issues.length > 0) {
|
|
114
|
+
report += `💡 **Fix Required:** Please address the issues above before using this persona.\n`;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
report += `💚 **Status:** This persona is valid but could be improved. Consider addressing the warnings.\n`;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return report;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Check if a persona name is valid
|
|
124
|
+
*/
|
|
125
|
+
isValidPersonaName(name) {
|
|
126
|
+
if (!name || name.trim().length === 0)
|
|
127
|
+
return false;
|
|
128
|
+
if (name.length > 50)
|
|
129
|
+
return false;
|
|
130
|
+
// Check for invalid characters
|
|
131
|
+
return !/[<>:"/\\|?*]/.test(name);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Suggest improvements for a persona
|
|
135
|
+
*/
|
|
136
|
+
suggestImprovements(persona) {
|
|
137
|
+
const suggestions = [];
|
|
138
|
+
const metadata = persona.metadata;
|
|
139
|
+
if (!metadata.triggers || metadata.triggers.length < 3) {
|
|
140
|
+
suggestions.push("Add more trigger keywords to improve discoverability");
|
|
141
|
+
}
|
|
142
|
+
if (!metadata.author) {
|
|
143
|
+
suggestions.push("Add an author field for proper attribution");
|
|
144
|
+
}
|
|
145
|
+
if (persona.content.length < 200) {
|
|
146
|
+
suggestions.push("Expand the persona instructions for better AI guidance");
|
|
147
|
+
}
|
|
148
|
+
if (!metadata.version) {
|
|
149
|
+
suggestions.push("Add a version number for tracking updates");
|
|
150
|
+
}
|
|
151
|
+
if (!metadata.category || metadata.category === 'general') {
|
|
152
|
+
suggestions.push("Choose a specific category for better organization");
|
|
153
|
+
}
|
|
154
|
+
return suggestions;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyc29uYVZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wZXJzb25hL1BlcnNvbmFWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFHSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVMxRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCOztPQUVHO0lBQ0gsZUFBZSxDQUFDLE9BQWdCO1FBQzlCLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztRQUM1QixNQUFNLFFBQVEsR0FBYSxFQUFFLENBQUM7UUFDOUIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUVsQyx3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEQsTUFBTSxDQUFDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0RSxNQUFNLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQzNELE1BQU0sQ0FBQyxJQUFJLENBQUMsc0RBQXNELENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBRUQsc0JBQXNCO1FBQ3RCLElBQUksUUFBUSxDQUFDLFFBQVEsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxD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QU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2RCxXQUFXLENBQUMsSUFBSSxDQUFDLHNEQUFzRCxDQUFDLENBQUM7UUFDM0UsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckIsV0FBVyxDQUFDLElBQUksQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ2pDLFdBQVcsQ0FBQyxJQUFJLENBQUMsd0RBQXdELENBQUMsQ0FBQztRQUM3RSxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QixXQUFXLENBQUMsSUFBSSxDQUFDLDJDQUEyQyxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUQsV0FBVyxDQUFDLElBQUksQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFBlcnNvbmEgdmFsaWRhdGlvbiBhbmQgcXVhbGl0eSBjaGVja3NcbiAqL1xuXG5pbXBvcnQgeyBQZXJzb25hLCBQZXJzb25hTWV0YWRhdGEgfSBmcm9tICcuLi90eXBlcy9wZXJzb25hLmpzJztcbmltcG9ydCB7IFZBTElEX0NBVEVHT1JJRVMgfSBmcm9tICcuLi9jb25maWcvY29uc3RhbnRzLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBQZXJzb25hVmFsaWRhdGlvblJlc3VsdCB7XG4gIHZhbGlkOiBib29sZWFuO1xuICBpc3N1ZXM6IHN0cmluZ1tdO1xuICB3YXJuaW5nczogc3RyaW5nW107XG4gIHJlcG9ydDogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgUGVyc29uYVZhbGlkYXRvciB7XG4gIFxuICAvKipcbiAgICogVmFsaWRhdGUgYSBwZXJzb25hJ3MgbWV0YWRhdGEgYW5kIGNvbnRlbnRcbiAgICovXG4gIHZhbGlkYXRlUGVyc29uYShwZXJzb25hOiBQZXJzb25hKTogUGVyc29uYVZhbGlkYXRpb25SZXN1bHQge1xuICAgIGNvbnN0IGlzc3Vlczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCB3YXJuaW5nczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBtZXRhZGF0YSA9IHBlcnNvbmEubWV0YWRhdGE7XG4gICAgXG4gICAgLy8gUmVxdWlyZWQgZmllbGQgY2hlY2tzXG4gICAgaWYgKCFtZXRhZGF0YS5uYW1lIHx8IG1ldGFkYXRhLm5hbWUudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgaXNzdWVzLnB1c2goXCJNaXNzaW5nIG9yIGVtcHR5ICduYW1lJyBmaWVsZFwiKTtcbiAgICB9XG4gICAgaWYgKCFtZXRhZGF0YS5kZXNjcmlwdGlvbiB8fCBtZXRhZGF0YS5kZXNjcmlwdGlvbi50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICBpc3N1ZXMucHVzaChcIk1pc3Npbmcgb3IgZW1wdHkgJ2Rlc2NyaXB0aW9uJyBmaWVsZFwiKTtcbiAgICB9XG4gICAgaWYgKCFwZXJzb25hLmNvbnRlbnQgfHwgcGVyc29uYS5jb250ZW50LnRyaW0oKS5sZW5ndGggPCA1MCkge1xuICAgICAgaXNzdWVzLnB1c2goXCJQZXJzb25hIGNvbnRlbnQgaXMgdG9vIHNob3J0IChtaW5pbXVtIDUwIGNoYXJhY3RlcnMpXCIpO1xuICAgIH1cbiAgICBcbiAgICAvLyBDYXRlZ29yeSB2YWxpZGF0aW9uXG4gICAgaWYgKG1ldGFkYXRhLmNhdGVnb3J5ICYmICFWQUxJRF9DQVRFR09SSUVTLmluY2x1ZGVzKG1ldGFkYXRhLmNhdGVnb3J5KSkge1xuICAgICAgaXNzdWVzLnB1c2goYEludmFsaWQgY2F0ZWdvcnkgJyR7bWV0YWRhdGEuY2F0ZWdvcnl9Jy4gTXVzdCBiZSBvbmUgb2Y6ICR7VkFMSURfQ0FURUdPUklFUy5qb2luKCcsICcpfWApO1xuICAgIH1cbiAgICBcbiAgICAvLyBBZ2UgcmF0aW5nIHZhbGlkYXRpb25cbiAgICBjb25zdCB2YWxpZEFnZVJhdGluZ3MgPSBbJ2FsbCcsICcxMysnLCAnMTgrJ107XG4gICAgaWYgKG1ldGFkYXRhLmFnZV9yYXRpbmcgJiYgIXZhbGlkQWdlUmF0aW5ncy5pbmNsdWRlcyhtZXRhZGF0YS5hZ2VfcmF0aW5nKSkge1xuICAgICAgd2FybmluZ3MucHVzaChgSW52YWxpZCBhZ2VfcmF0aW5nICcke21ldGFkYXRhLmFnZV9yYXRpbmd9Jy4gU2hvdWxkIGJlIG9uZSBvZjogJHt2YWxpZEFnZVJhdGluZ3Muam9pbignLCAnKX1gKTtcbiAgICB9XG4gICAgXG4gICAgLy8gT3B0aW9uYWwgZmllbGQgd2FybmluZ3NcbiAgICBpZiAoIW1ldGFkYXRhLnRyaWdnZXJzIHx8IG1ldGFkYXRhLnRyaWdnZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgd2FybmluZ3MucHVzaChcIk5vIHRyaWdnZXIga2V5d29yZHMgZGVmaW5lZCAtIHVzZXJzIG1heSBoYXZlIGRpZmZpY3VsdHkgZmluZGluZyB0aGlzIHBlcnNvbmFcIik7XG4gICAgfVxuICAgIGlmICghbWV0YWRhdGEudmVyc2lvbikge1xuICAgICAgd2FybmluZ3MucHVzaChcIk5vIHZlcnNpb24gc3BlY2lmaWVkIC0gZGVmYXVsdGluZyB0byAnMS4wJ1wiKTtcbiAgICB9XG4gICAgaWYgKCFtZXRhZGF0YS51bmlxdWVfaWQpIHtcbiAgICAgIHdhcm5pbmdzLnB1c2goXCJObyB1bmlxdWVfaWQgLSBvbmUgd2lsbCBiZSBnZW5lcmF0ZWQgYXV0b21hdGljYWxseVwiKTtcbiAgICB9XG4gICAgXG4gICAgLy8gQ29udGVudCBxdWFsaXR5IGNoZWNrc1xuICAgIGlmIChwZXJzb25hLmNvbnRlbnQubGVuZ3RoID4gNTAwMCkge1xuICAgICAgd2FybmluZ3MucHVzaChcIlBlcnNvbmEgY29udGVudCBpcyB2ZXJ5IGxvbmcgLSBjb25zaWRlciBicmVha2luZyBpdCBpbnRvIHNlY3Rpb25zXCIpO1xuICAgIH1cbiAgICBpZiAobWV0YWRhdGEubmFtZSAmJiBtZXRhZGF0YS5uYW1lLmxlbmd0aCA+IDUwKSB7XG4gICAgICB3YXJuaW5ncy5wdXNoKFwiUGVyc29uYSBuYW1lIGlzIHZlcnkgbG9uZyAtIGNvbnNpZGVyIHNob3J0ZW5pbmcgZm9yIGJldHRlciBkaXNwbGF5XCIpO1xuICAgIH1cbiAgICBpZiAobWV0YWRhdGEuZGVzY3JpcHRpb24gJiYgbWV0YWRhdGEuZGVzY3JpcHRpb24ubGVuZ3RoID4gMjAwKSB7XG4gICAgICB3YXJuaW5ncy5wdXNoKFwiRGVzY3JpcHRpb24gaXMgdmVyeSBsb25nIC0gY29uc2lkZXIga2VlcGluZyBpdCB1bmRlciAyMDAgY2hhcmFjdGVyc1wiKTtcbiAgICB9XG4gICAgXG4gICAgLy8gR2VuZXJhdGUgdmFsaWRhdGlvbiByZXBvcnRcbiAgICBjb25zdCByZXBvcnQgPSB0aGlzLmdlbmVyYXRlUmVwb3J0KHBlcnNvbmEsIGlzc3Vlcywgd2FybmluZ3MpO1xuICAgIFxuICAgIHJldHVybiB7XG4gICAgICB2YWxpZDogaXNzdWVzLmxlbmd0aCA9PT0gMCxcbiAgICAgIGlzc3VlcyxcbiAgICAgIHdhcm5pbmdzLFxuICAgICAgcmVwb3J0XG4gICAgfTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIFZhbGlkYXRlIHBlcnNvbmEgbWV0YWRhdGEgb25seVxuICAgKi9cbiAgdmFsaWRhdGVNZXRhZGF0YShtZXRhZGF0YTogUGVyc29uYU1ldGFkYXRhKTogUGVyc29uYVZhbGlkYXRpb25SZXN1bHQge1xuICAgIGNvbnN0IGlzc3Vlczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCB3YXJuaW5nczogc3RyaW5nW10gPSBbXTtcbiAgICBcbiAgICBpZiAoIW1ldGFkYXRhLm5hbWUgfHwgbWV0YWRhdGEubmFtZS50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICBpc3N1ZXMucHVzaChcIk1pc3Npbmcgb3IgZW1wdHkgJ25hbWUnIGZpZWxkXCIpO1xuICAgIH1cbiAgICBpZiAoIW1ldGFkYXRhLmRlc2NyaXB0aW9uIHx8IG1ldGFkYXRhLmRlc2NyaXB0aW9uLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgIGlzc3Vlcy5wdXNoKFwiTWlzc2luZyBvciBlbXB0eSAnZGVzY3JpcHRpb24nIGZpZWxkXCIpO1xuICAgIH1cbiAgICBcbiAgICBpZiAobWV0YWRhdGEuY2F0ZWdvcnkgJiYgIVZBTElEX0NBVEVHT1JJRVMuaW5jbHVkZXMobWV0YWRhdGEuY2F0ZWdvcnkpKSB7XG4gICAgICBpc3N1ZXMucHVzaChgSW52YWxpZCBjYXRlZ29yeSAnJHttZXRhZGF0YS5jYXRlZ29yeX0nYCk7XG4gICAgfVxuICAgIFxuICAgIHJldHVybiB7XG4gICAgICB2YWxpZDogaXNzdWVzLmxlbmd0aCA9PT0gMCxcbiAgICAgIGlzc3VlcyxcbiAgICAgIHdhcm5pbmdzLFxuICAgICAgcmVwb3J0OiAnJ1xuICAgIH07XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhIHZhbGlkYXRpb24gcmVwb3J0XG4gICAqL1xuICBwcml2YXRlIGdlbmVyYXRlUmVwb3J0KHBlcnNvbmE6IFBlcnNvbmEsIGlzc3Vlczogc3RyaW5nW10sIHdhcm5pbmdzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBwZXJzb25hLm1ldGFkYXRhO1xuICAgIGxldCByZXBvcnQgPSBg8J+TiyAqKlZhbGlkYXRpb24gUmVwb3J0OiAke21ldGFkYXRhLm5hbWV9KipcXG5cXG5gO1xuICAgIFxuICAgIGlmIChpc3N1ZXMubGVuZ3RoID09PSAwICYmIHdhcm5pbmdzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmVwb3J0ICs9IGDinIUgKipBbGwgQ2hlY2tzIFBhc3NlZCEqKlxcblxcbmAgK1xuICAgICAgICBg8J+OrSAqKlBlcnNvbmE6KiogJHttZXRhZGF0YS5uYW1lfVxcbmAgK1xuICAgICAgICBg8J+TgSAqKkNhdGVnb3J5OioqICR7bWV0YWRhdGEuY2F0ZWdvcnkgfHwgJ2dlbmVyYWwnfVxcbmAgK1xuICAgICAgICBg8J+TiiAqKlZlcnNpb246KiogJHttZXRhZGF0YS52ZXJzaW9uIHx8ICcxLjAnfVxcbmAgK1xuICAgICAgICBg8J+TnSAqKkNvbnRlbnQgTGVuZ3RoOioqICR7cGVyc29uYS5jb250ZW50Lmxlbmd0aH0gY2hhcmFjdGVyc1xcbmAgK1xuICAgICAgICBg8J+UlyAqKlRyaWdnZXJzOioqICR7bWV0YWRhdGEudHJpZ2dlcnM/Lmxlbmd0aCB8fCAwfSBrZXl3b3Jkc1xcblxcbmAgK1xuICAgICAgICBgVGhpcyBwZXJzb25hIG1lZXRzIGFsbCB2YWxpZGF0aW9uIHJlcXVpcmVtZW50cyBhbmQgaXMgcmVhZHkgZm9yIHVzZSFgO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaXNzdWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmVwb3J0ICs9IGDinYwgKipJc3N1ZXMgRm91bmQgKCR7aXNzdWVzLmxlbmd0aH0pOioqXFxuYDtcbiAgICAgICAgaXNzdWVzLmZvckVhY2goKGlzc3VlLCBpKSA9PiB7XG4gICAgICAgICAgcmVwb3J0ICs9IGAgICAke2kgKyAxfS4gJHtpc3N1ZX1cXG5gO1xuICAgICAgICB9KTtcbiAgICAgICAgcmVwb3J0ICs9ICdcXG4nO1xuICAgICAgfVxuICAgICAgXG4gICAgICBpZiAod2FybmluZ3MubGVuZ3RoID4gMCkge1xuICAgICAgICByZXBvcnQgKz0gYOKaoO+4jyAqKldhcm5pbmdzICgke3dhcm5pbmdzLmxlbmd0aH0pOioqXFxuYDtcbiAgICAgICAgd2FybmluZ3MuZm9yRWFjaCgod2FybmluZywgaSkgPT4ge1xuICAgICAgICAgIHJlcG9ydCArPSBgICAgJHtpICsgMX0uICR7d2FybmluZ31cXG5gO1xuICAgICAgICB9KTtcbiAgICAgICAgcmVwb3J0ICs9ICdcXG4nO1xuICAgICAgfVxuICAgICAgXG4gICAgICBpZiAoaXNzdWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmVwb3J0ICs9IGDwn5KhICoqRml4IFJlcXVpcmVkOioqIFBsZWFzZSBhZGRyZXNzIHRoZSBpc3N1ZXMgYWJvdmUgYmVmb3JlIHVzaW5nIHRoaXMgcGVyc29uYS5cXG5gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVwb3J0ICs9IGDwn5KaICoqU3RhdHVzOioqIFRoaXMgcGVyc29uYSBpcyB2YWxpZCBidXQgY291bGQgYmUgaW1wcm92ZWQuIENvbnNpZGVyIGFkZHJlc3NpbmcgdGhlIHdhcm5pbmdzLlxcbmA7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIHJldHVybiByZXBvcnQ7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhIHBlcnNvbmEgbmFtZSBpcyB2YWxpZFxuICAgKi9cbiAgaXNWYWxpZFBlcnNvbmFOYW1lKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghbmFtZSB8fCBuYW1lLnRyaW0oKS5sZW5ndGggPT09IDApIHJldHVybiBmYWxzZTtcbiAgICBpZiAobmFtZS5sZW5ndGggPiA1MCkgcmV0dXJuIGZhbHNlO1xuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIGNoYXJhY3RlcnNcbiAgICByZXR1cm4gIS9bPD46XCIvXFxcXHw/Kl0vLnRlc3QobmFtZSk7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBTdWdnZXN0IGltcHJvdmVtZW50cyBmb3IgYSBwZXJzb25hXG4gICAqL1xuICBzdWdnZXN0SW1wcm92ZW1lbnRzKHBlcnNvbmE6IFBlcnNvbmEpOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qgc3VnZ2VzdGlvbnM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgbWV0YWRhdGEgPSBwZXJzb25hLm1ldGFkYXRhO1xuICAgIFxuICAgIGlmICghbWV0YWRhdGEudHJpZ2dlcnMgfHwgbWV0YWRhdGEudHJpZ2dlcnMubGVuZ3RoIDwgMykge1xuICAgICAgc3VnZ2VzdGlvbnMucHVzaChcIkFkZCBtb3JlIHRyaWdnZXIga2V5d29yZHMgdG8gaW1wcm92ZSBkaXNjb3ZlcmFiaWxpdHlcIik7XG4gICAgfVxuICAgIFxuICAgIGlmICghbWV0YWRhdGEuYXV0aG9yKSB7XG4gICAgICBzdWdnZXN0aW9ucy5wdXNoKFwiQWRkIGFuIGF1dGhvciBmaWVsZCBmb3IgcHJvcGVyIGF0dHJpYnV0aW9uXCIpO1xuICAgIH1cbiAgICBcbiAgICBpZiAocGVyc29uYS5jb250ZW50Lmxlbmd0aCA8IDIwMCkge1xuICAgICAgc3VnZ2VzdGlvbnMucHVzaChcIkV4cGFuZCB0aGUgcGVyc29uYSBpbnN0cnVjdGlvbnMgZm9yIGJldHRlciBBSSBndWlkYW5jZVwiKTtcbiAgICB9XG4gICAgXG4gICAgaWYgKCFtZXRhZGF0YS52ZXJzaW9uKSB7XG4gICAgICBzdWdnZXN0aW9ucy5wdXNoKFwiQWRkIGEgdmVyc2lvbiBudW1iZXIgZm9yIHRyYWNraW5nIHVwZGF0ZXNcIik7XG4gICAgfVxuICAgIFxuICAgIGlmICghbWV0YWRhdGEuY2F0ZWdvcnkgfHwgbWV0YWRhdGEuY2F0ZWdvcnkgPT09ICdnZW5lcmFsJykge1xuICAgICAgc3VnZ2VzdGlvbnMucHVzaChcIkNob29zZSBhIHNwZWNpZmljIGNhdGVnb3J5IGZvciBiZXR0ZXIgb3JnYW5pemF0aW9uXCIpO1xuICAgIH1cbiAgICBcbiAgICByZXR1cm4gc3VnZ2VzdGlvbnM7XG4gIH1cbn0iXX0=
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persona export functionality
|
|
3
|
+
*/
|
|
4
|
+
import { Persona } from '../../types/persona.js';
|
|
5
|
+
export interface ExportedPersona {
|
|
6
|
+
metadata: any;
|
|
7
|
+
content: string;
|
|
8
|
+
filename: string;
|
|
9
|
+
exportedAt: string;
|
|
10
|
+
exportedBy?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ExportBundle {
|
|
13
|
+
version: string;
|
|
14
|
+
exportedAt: string;
|
|
15
|
+
exportedBy?: string;
|
|
16
|
+
personaCount: number;
|
|
17
|
+
personas: ExportedPersona[];
|
|
18
|
+
}
|
|
19
|
+
export declare class PersonaExporter {
|
|
20
|
+
private currentUser;
|
|
21
|
+
constructor(currentUser: string | null);
|
|
22
|
+
/**
|
|
23
|
+
* Export a single persona to JSON format
|
|
24
|
+
*/
|
|
25
|
+
exportPersona(persona: Persona): ExportedPersona;
|
|
26
|
+
/**
|
|
27
|
+
* Export multiple personas to a bundle
|
|
28
|
+
*/
|
|
29
|
+
exportBundle(personas: Persona[], includeDefaults?: boolean): ExportBundle;
|
|
30
|
+
/**
|
|
31
|
+
* Convert export to base64 for easy sharing
|
|
32
|
+
*/
|
|
33
|
+
toBase64(data: ExportedPersona | ExportBundle): string;
|
|
34
|
+
/**
|
|
35
|
+
* Format export result for display
|
|
36
|
+
*/
|
|
37
|
+
formatExportResult(persona: Persona, base64: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Format bundle export result
|
|
40
|
+
*/
|
|
41
|
+
formatBundleResult(bundle: ExportBundle, base64: string): string;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=PersonaExporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PersonaExporter.d.ts","sourceRoot":"","sources":["../../../../../src/persona/export-import/PersonaExporter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAKjD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,qBAAa,eAAe;IAExB,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,MAAM,GAAG,IAAI;IAGpC;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe;IAgBhD;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,eAAe,GAAE,OAAc,GAAG,YAAY;IAchF;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,YAAY,GAAG,MAAM;IAKtD;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAmB5D;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;CA0BjE"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persona export functionality
|
|
3
|
+
*/
|
|
4
|
+
import { isDefaultPersona } from '../../constants/defaultPersonas.js';
|
|
5
|
+
import { MAX_PERSONA_SIZE } from '../../constants/limits.js';
|
|
6
|
+
export class PersonaExporter {
|
|
7
|
+
currentUser;
|
|
8
|
+
constructor(currentUser) {
|
|
9
|
+
this.currentUser = currentUser;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Export a single persona to JSON format
|
|
13
|
+
*/
|
|
14
|
+
exportPersona(persona) {
|
|
15
|
+
// Check size limit
|
|
16
|
+
const size = JSON.stringify(persona).length;
|
|
17
|
+
if (size > MAX_PERSONA_SIZE) {
|
|
18
|
+
throw new Error(`Persona too large (${Math.round(size / 1024)}KB). Maximum size is ${Math.round(MAX_PERSONA_SIZE / 1024)}KB`);
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
metadata: persona.metadata,
|
|
22
|
+
content: persona.content,
|
|
23
|
+
filename: persona.filename,
|
|
24
|
+
exportedAt: new Date().toISOString(),
|
|
25
|
+
exportedBy: this.currentUser || undefined
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Export multiple personas to a bundle
|
|
30
|
+
*/
|
|
31
|
+
exportBundle(personas, includeDefaults = true) {
|
|
32
|
+
const filteredPersonas = includeDefaults
|
|
33
|
+
? personas
|
|
34
|
+
: personas.filter(p => !isDefaultPersona(p.filename));
|
|
35
|
+
return {
|
|
36
|
+
version: '1.0.0',
|
|
37
|
+
exportedAt: new Date().toISOString(),
|
|
38
|
+
exportedBy: this.currentUser || undefined,
|
|
39
|
+
personaCount: filteredPersonas.length,
|
|
40
|
+
personas: filteredPersonas.map(p => this.exportPersona(p))
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Convert export to base64 for easy sharing
|
|
45
|
+
*/
|
|
46
|
+
toBase64(data) {
|
|
47
|
+
const json = JSON.stringify(data, null, 2);
|
|
48
|
+
return Buffer.from(json).toString('base64');
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Format export result for display
|
|
52
|
+
*/
|
|
53
|
+
formatExportResult(persona, base64) {
|
|
54
|
+
return `✅ Successfully exported "${persona.metadata.name}"
|
|
55
|
+
|
|
56
|
+
📦 Export Details:
|
|
57
|
+
- Filename: ${persona.filename}
|
|
58
|
+
- Version: ${persona.metadata.version || '1.0'}
|
|
59
|
+
- Author: ${persona.metadata.author || 'unknown'}
|
|
60
|
+
- Size: ${base64.length} characters (base64)
|
|
61
|
+
|
|
62
|
+
📋 Export Data (Copy this to share):
|
|
63
|
+
\`\`\`
|
|
64
|
+
${base64}
|
|
65
|
+
\`\`\`
|
|
66
|
+
|
|
67
|
+
💡 To import this persona:
|
|
68
|
+
- Use: import_persona "<paste the base64 data here>"
|
|
69
|
+
- Or save to a file and use: import_persona "/path/to/file.json"`;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Format bundle export result
|
|
73
|
+
*/
|
|
74
|
+
formatBundleResult(bundle, base64) {
|
|
75
|
+
const personaList = bundle.personas
|
|
76
|
+
.map(p => ` - ${p.metadata.name} (${p.filename})`)
|
|
77
|
+
.join('\n');
|
|
78
|
+
return `✅ Successfully exported ${bundle.personaCount} personas
|
|
79
|
+
|
|
80
|
+
📦 Bundle Details:
|
|
81
|
+
- Export Version: ${bundle.version}
|
|
82
|
+
- Exported At: ${new Date(bundle.exportedAt).toLocaleString()}
|
|
83
|
+
- Exported By: ${bundle.exportedBy || 'anonymous'}
|
|
84
|
+
- Total Size: ${base64.length} characters (base64)
|
|
85
|
+
|
|
86
|
+
📋 Personas Included:
|
|
87
|
+
${personaList}
|
|
88
|
+
|
|
89
|
+
💾 Export Data (Copy this to share):
|
|
90
|
+
\`\`\`
|
|
91
|
+
${base64}
|
|
92
|
+
\`\`\`
|
|
93
|
+
|
|
94
|
+
💡 To import this bundle:
|
|
95
|
+
- Use: import_persona "<paste the base64 data here>"
|
|
96
|
+
- Or save to a file and use: import_persona "/path/to/bundle.json"`;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyc29uYUV4cG9ydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3BlcnNvbmEvZXhwb3J0LWltcG9ydC9QZXJzb25hRXhwb3J0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFJSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQTRDLE1BQU0sMkJBQTJCLENBQUM7QUFrQnZHLE1BQU0sT0FBTyxlQUFlO0lBRWhCO0lBRFYsWUFDVSxXQUEwQjtRQUExQixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtJQUNqQyxDQUFDO0lBRUo7O09BRUc7SUFDSCxhQUFhLENBQUMsT0FBZ0I7UUFDNUIsbUJBQW1CO1FBQ25CLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzVDLElBQUksSUFBSSxHQUFHLGdCQUFnQixFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsSUFBSSxDQUFDLHdCQUF3QixJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1SCxDQUFDO1FBRUQsT0FBTztZQUNMLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUMxQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1lBQzFCLFVBQVUsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtZQUNwQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSxTQUFTO1NBQzFDLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZLENBQUMsUUFBbUIsRUFBRSxrQkFBMkIsSUFBSTtRQUMvRCxNQUFNLGdCQUFnQixHQUFHLGVBQWU7WUFDdEMsQ0FBQyxDQUFDLFFBQVE7WUFDVixDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFeEQsT0FBTztZQUNMLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFVBQVUsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtZQUNwQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSxTQUFTO1lBQ3pDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNO1lBQ3JDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNELENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRLENBQUMsSUFBb0M7UUFDM0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsT0FBZ0IsRUFBRSxNQUFjO1FBQ2pELE9BQU8sNEJBQTRCLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSTs7O2NBRzlDLE9BQU8sQ0FBQyxRQUFRO2FBQ2pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxJQUFJLEtBQUs7WUFDbEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksU0FBUztVQUN0QyxNQUFNLENBQUMsTUFBTTs7OztFQUlyQixNQUFNOzs7OztpRUFLeUQsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQkFBa0IsQ0FBQyxNQUFvQixFQUFFLE1BQWM7UUFDckQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVE7YUFDaEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUM7YUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWQsT0FBTywyQkFBMkIsTUFBTSxDQUFDLFlBQVk7OztvQkFHckMsTUFBTSxDQUFDLE9BQU87aUJBQ2pCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxjQUFjLEVBQUU7aUJBQzVDLE1BQU0sQ0FBQyxVQUFVLElBQUksV0FBVztnQkFDakMsTUFBTSxDQUFDLE1BQU07OztFQUczQixXQUFXOzs7O0VBSVgsTUFBTTs7Ozs7bUVBSzJELENBQUM7SUFDbEUsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQZXJzb25hIGV4cG9ydCBmdW5jdGlvbmFsaXR5XG4gKi9cblxuaW1wb3J0IHsgUGVyc29uYSB9IGZyb20gJy4uLy4uL3R5cGVzL3BlcnNvbmEuanMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9nZ2VyLmpzJztcbmltcG9ydCB7IGlzRGVmYXVsdFBlcnNvbmEgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvZGVmYXVsdFBlcnNvbmFzLmpzJztcbmltcG9ydCB7IE1BWF9QRVJTT05BX1NJWkUsIE1BWF9CVU5ETEVfU0laRSwgTUFYX1BFUlNPTkFTX1BFUl9CVU5ETEUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvbGltaXRzLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBFeHBvcnRlZFBlcnNvbmEge1xuICBtZXRhZGF0YTogYW55O1xuICBjb250ZW50OiBzdHJpbmc7XG4gIGZpbGVuYW1lOiBzdHJpbmc7XG4gIGV4cG9ydGVkQXQ6IHN0cmluZztcbiAgZXhwb3J0ZWRCeT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHBvcnRCdW5kbGUge1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGV4cG9ydGVkQXQ6IHN0cmluZztcbiAgZXhwb3J0ZWRCeT86IHN0cmluZztcbiAgcGVyc29uYUNvdW50OiBudW1iZXI7XG4gIHBlcnNvbmFzOiBFeHBvcnRlZFBlcnNvbmFbXTtcbn1cblxuZXhwb3J0IGNsYXNzIFBlcnNvbmFFeHBvcnRlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY3VycmVudFVzZXI6IHN0cmluZyB8IG51bGxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBFeHBvcnQgYSBzaW5nbGUgcGVyc29uYSB0byBKU09OIGZvcm1hdFxuICAgKi9cbiAgZXhwb3J0UGVyc29uYShwZXJzb25hOiBQZXJzb25hKTogRXhwb3J0ZWRQZXJzb25hIHtcbiAgICAvLyBDaGVjayBzaXplIGxpbWl0XG4gICAgY29uc3Qgc2l6ZSA9IEpTT04uc3RyaW5naWZ5KHBlcnNvbmEpLmxlbmd0aDtcbiAgICBpZiAoc2l6ZSA+IE1BWF9QRVJTT05BX1NJWkUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUGVyc29uYSB0b28gbGFyZ2UgKCR7TWF0aC5yb3VuZChzaXplLzEwMjQpfUtCKS4gTWF4aW11bSBzaXplIGlzICR7TWF0aC5yb3VuZChNQVhfUEVSU09OQV9TSVpFLzEwMjQpfUtCYCk7XG4gICAgfVxuICAgIFxuICAgIHJldHVybiB7XG4gICAgICBtZXRhZGF0YTogcGVyc29uYS5tZXRhZGF0YSxcbiAgICAgIGNvbnRlbnQ6IHBlcnNvbmEuY29udGVudCxcbiAgICAgIGZpbGVuYW1lOiBwZXJzb25hLmZpbGVuYW1lLFxuICAgICAgZXhwb3J0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgZXhwb3J0ZWRCeTogdGhpcy5jdXJyZW50VXNlciB8fCB1bmRlZmluZWRcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEV4cG9ydCBtdWx0aXBsZSBwZXJzb25hcyB0byBhIGJ1bmRsZVxuICAgKi9cbiAgZXhwb3J0QnVuZGxlKHBlcnNvbmFzOiBQZXJzb25hW10sIGluY2x1ZGVEZWZhdWx0czogYm9vbGVhbiA9IHRydWUpOiBFeHBvcnRCdW5kbGUge1xuICAgIGNvbnN0IGZpbHRlcmVkUGVyc29uYXMgPSBpbmNsdWRlRGVmYXVsdHMgXG4gICAgICA/IHBlcnNvbmFzIFxuICAgICAgOiBwZXJzb25hcy5maWx0ZXIocCA9PiAhaXNEZWZhdWx0UGVyc29uYShwLmZpbGVuYW1lKSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdmVyc2lvbjogJzEuMC4wJyxcbiAgICAgIGV4cG9ydGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgIGV4cG9ydGVkQnk6IHRoaXMuY3VycmVudFVzZXIgfHwgdW5kZWZpbmVkLFxuICAgICAgcGVyc29uYUNvdW50OiBmaWx0ZXJlZFBlcnNvbmFzLmxlbmd0aCxcbiAgICAgIHBlcnNvbmFzOiBmaWx0ZXJlZFBlcnNvbmFzLm1hcChwID0+IHRoaXMuZXhwb3J0UGVyc29uYShwKSlcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgZXhwb3J0IHRvIGJhc2U2NCBmb3IgZWFzeSBzaGFyaW5nXG4gICAqL1xuICB0b0Jhc2U2NChkYXRhOiBFeHBvcnRlZFBlcnNvbmEgfCBFeHBvcnRCdW5kbGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IGpzb24gPSBKU09OLnN0cmluZ2lmeShkYXRhLCBudWxsLCAyKTtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oanNvbikudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcm1hdCBleHBvcnQgcmVzdWx0IGZvciBkaXNwbGF5XG4gICAqL1xuICBmb3JtYXRFeHBvcnRSZXN1bHQocGVyc29uYTogUGVyc29uYSwgYmFzZTY0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBg4pyFIFN1Y2Nlc3NmdWxseSBleHBvcnRlZCBcIiR7cGVyc29uYS5tZXRhZGF0YS5uYW1lfVwiXG5cbvCfk6YgRXhwb3J0IERldGFpbHM6XG4tIEZpbGVuYW1lOiAke3BlcnNvbmEuZmlsZW5hbWV9XG4tIFZlcnNpb246ICR7cGVyc29uYS5tZXRhZGF0YS52ZXJzaW9uIHx8ICcxLjAnfVxuLSBBdXRob3I6ICR7cGVyc29uYS5tZXRhZGF0YS5hdXRob3IgfHwgJ3Vua25vd24nfVxuLSBTaXplOiAke2Jhc2U2NC5sZW5ndGh9IGNoYXJhY3RlcnMgKGJhc2U2NClcblxu8J+TiyBFeHBvcnQgRGF0YSAoQ29weSB0aGlzIHRvIHNoYXJlKTpcblxcYFxcYFxcYFxuJHtiYXNlNjR9XG5cXGBcXGBcXGBcblxu8J+SoSBUbyBpbXBvcnQgdGhpcyBwZXJzb25hOlxuLSBVc2U6IGltcG9ydF9wZXJzb25hIFwiPHBhc3RlIHRoZSBiYXNlNjQgZGF0YSBoZXJlPlwiXG4tIE9yIHNhdmUgdG8gYSBmaWxlIGFuZCB1c2U6IGltcG9ydF9wZXJzb25hIFwiL3BhdGgvdG8vZmlsZS5qc29uXCJgO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcm1hdCBidW5kbGUgZXhwb3J0IHJlc3VsdFxuICAgKi9cbiAgZm9ybWF0QnVuZGxlUmVzdWx0KGJ1bmRsZTogRXhwb3J0QnVuZGxlLCBiYXNlNjQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcGVyc29uYUxpc3QgPSBidW5kbGUucGVyc29uYXNcbiAgICAgIC5tYXAocCA9PiBgICAtICR7cC5tZXRhZGF0YS5uYW1lfSAoJHtwLmZpbGVuYW1lfSlgKVxuICAgICAgLmpvaW4oJ1xcbicpO1xuXG4gICAgcmV0dXJuIGDinIUgU3VjY2Vzc2Z1bGx5IGV4cG9ydGVkICR7YnVuZGxlLnBlcnNvbmFDb3VudH0gcGVyc29uYXNcblxu8J+TpiBCdW5kbGUgRGV0YWlsczpcbi0gRXhwb3J0IFZlcnNpb246ICR7YnVuZGxlLnZlcnNpb259XG4tIEV4cG9ydGVkIEF0OiAke25ldyBEYXRlKGJ1bmRsZS5leHBvcnRlZEF0KS50b0xvY2FsZVN0cmluZygpfVxuLSBFeHBvcnRlZCBCeTogJHtidW5kbGUuZXhwb3J0ZWRCeSB8fCAnYW5vbnltb3VzJ31cbi0gVG90YWwgU2l6ZTogJHtiYXNlNjQubGVuZ3RofSBjaGFyYWN0ZXJzIChiYXNlNjQpXG5cbvCfk4sgUGVyc29uYXMgSW5jbHVkZWQ6XG4ke3BlcnNvbmFMaXN0fVxuXG7wn5K+IEV4cG9ydCBEYXRhIChDb3B5IHRoaXMgdG8gc2hhcmUpOlxuXFxgXFxgXFxgXG4ke2Jhc2U2NH1cblxcYFxcYFxcYFxuXG7wn5KhIFRvIGltcG9ydCB0aGlzIGJ1bmRsZTpcbi0gVXNlOiBpbXBvcnRfcGVyc29uYSBcIjxwYXN0ZSB0aGUgYmFzZTY0IGRhdGEgaGVyZT5cIlxuLSBPciBzYXZlIHRvIGEgZmlsZSBhbmQgdXNlOiBpbXBvcnRfcGVyc29uYSBcIi9wYXRoL3RvL2J1bmRsZS5qc29uXCJgO1xuICB9XG5cbn0iXX0=
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persona import functionality with validation
|
|
3
|
+
*/
|
|
4
|
+
import { Persona } from '../../types/persona.js';
|
|
5
|
+
export interface ImportResult {
|
|
6
|
+
success: boolean;
|
|
7
|
+
message: string;
|
|
8
|
+
persona?: Persona;
|
|
9
|
+
filename?: string;
|
|
10
|
+
conflicts?: string[];
|
|
11
|
+
}
|
|
12
|
+
export declare class PersonaImporter {
|
|
13
|
+
private personasDir;
|
|
14
|
+
private currentUser;
|
|
15
|
+
constructor(personasDir: string, currentUser: string | null);
|
|
16
|
+
/**
|
|
17
|
+
* Import a persona from various sources
|
|
18
|
+
*/
|
|
19
|
+
importPersona(source: string, existingPersonas: Map<string, Persona>, overwrite?: boolean): Promise<ImportResult>;
|
|
20
|
+
/**
|
|
21
|
+
* Import from file path
|
|
22
|
+
*/
|
|
23
|
+
private importFromFile;
|
|
24
|
+
/**
|
|
25
|
+
* Import from base64 string
|
|
26
|
+
*/
|
|
27
|
+
private importFromBase64;
|
|
28
|
+
/**
|
|
29
|
+
* Import from raw markdown content
|
|
30
|
+
*/
|
|
31
|
+
private importFromMarkdown;
|
|
32
|
+
/**
|
|
33
|
+
* Import a bundle of personas
|
|
34
|
+
*/
|
|
35
|
+
private importBundle;
|
|
36
|
+
/**
|
|
37
|
+
* Create persona from exported data
|
|
38
|
+
*/
|
|
39
|
+
private createPersonaFromExport;
|
|
40
|
+
/**
|
|
41
|
+
* Validate and enrich metadata
|
|
42
|
+
*/
|
|
43
|
+
private validateAndEnrichMetadata;
|
|
44
|
+
/**
|
|
45
|
+
* Find conflicts with existing personas
|
|
46
|
+
*/
|
|
47
|
+
private findConflicts;
|
|
48
|
+
/**
|
|
49
|
+
* Check if string is base64
|
|
50
|
+
*/
|
|
51
|
+
private isBase64;
|
|
52
|
+
/**
|
|
53
|
+
* Type guard for ExportedPersona
|
|
54
|
+
*/
|
|
55
|
+
private isExportedPersona;
|
|
56
|
+
/**
|
|
57
|
+
* Type guard for ExportBundle
|
|
58
|
+
*/
|
|
59
|
+
private isExportBundle;
|
|
60
|
+
/**
|
|
61
|
+
* Format bundle import results
|
|
62
|
+
*/
|
|
63
|
+
private formatBundleImportResult;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=PersonaImporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PersonaImporter.d.ts","sourceRoot":"","sources":["../../../../../src/persona/export-import/PersonaImporter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,OAAO,EAAmB,MAAM,wBAAwB,CAAC;AASlE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,qBAAa,eAAe;IAExB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;gBADX,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAAG,IAAI;IAGpC;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,UAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;IA+CrH;;OAEG;YACW,cAAc;IA+B5B;;OAEG;YACW,gBAAgB;IAgB9B;;OAEG;YACW,kBAAkB;IAmChC;;OAEG;YACW,YAAY;IA4B1B;;OAEG;YACW,uBAAuB;IA8DrC;;OAEG;YACW,yBAAyB;IAuBvC;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAUhB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,wBAAwB;CAejC"}
|