@dollhousemcp/mcp-server 1.8.0 → 1.9.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 (56) hide show
  1. package/CHANGELOG.md +118 -0
  2. package/README.github.md +126 -8
  3. package/README.md +1 -1
  4. package/README.md.backup +50 -795
  5. package/README.npm.md +1 -1
  6. package/dist/collection/CollectionBrowser.d.ts.map +1 -1
  7. package/dist/collection/CollectionBrowser.js +6 -5
  8. package/dist/config/ConfigWizardDisplay.d.ts +64 -0
  9. package/dist/config/ConfigWizardDisplay.d.ts.map +1 -0
  10. package/dist/config/ConfigWizardDisplay.js +150 -0
  11. package/dist/config/WizardFirstResponse.d.ts +25 -0
  12. package/dist/config/WizardFirstResponse.d.ts.map +1 -0
  13. package/dist/config/WizardFirstResponse.js +118 -0
  14. package/dist/elements/memories/Memory.d.ts +190 -0
  15. package/dist/elements/memories/Memory.d.ts.map +1 -0
  16. package/dist/elements/memories/Memory.js +627 -0
  17. package/dist/elements/memories/MemoryManager.d.ts +136 -0
  18. package/dist/elements/memories/MemoryManager.d.ts.map +1 -0
  19. package/dist/elements/memories/MemoryManager.js +607 -0
  20. package/dist/elements/memories/MemorySearchIndex.d.ts +156 -0
  21. package/dist/elements/memories/MemorySearchIndex.d.ts.map +1 -0
  22. package/dist/elements/memories/MemorySearchIndex.js +690 -0
  23. package/dist/elements/memories/constants.d.ts +95 -0
  24. package/dist/elements/memories/constants.d.ts.map +1 -0
  25. package/dist/elements/memories/constants.js +102 -0
  26. package/dist/elements/memories/index.d.ts +7 -0
  27. package/dist/elements/memories/index.d.ts.map +1 -0
  28. package/dist/elements/memories/index.js +7 -0
  29. package/dist/elements/memories/utils.d.ts +68 -0
  30. package/dist/elements/memories/utils.d.ts.map +1 -0
  31. package/dist/elements/memories/utils.js +137 -0
  32. package/dist/generated/version.d.ts +2 -2
  33. package/dist/generated/version.js +3 -3
  34. package/dist/scripts/scripts/run-config-wizard.js +57 -0
  35. package/dist/scripts/src/config/ConfigManager.js +799 -0
  36. package/dist/scripts/src/config/ConfigWizard.js +368 -0
  37. package/dist/scripts/src/errors/SecurityError.js +47 -0
  38. package/dist/scripts/src/security/constants.js +28 -0
  39. package/dist/scripts/src/security/contentValidator.js +415 -0
  40. package/dist/scripts/src/security/errors.js +32 -0
  41. package/dist/scripts/src/security/regexValidator.js +217 -0
  42. package/dist/scripts/src/security/secureYamlParser.js +272 -0
  43. package/dist/scripts/src/security/securityMonitor.js +111 -0
  44. package/dist/scripts/src/security/validators/unicodeValidator.js +315 -0
  45. package/dist/scripts/src/utils/logger.js +288 -0
  46. package/dist/security/audit/SecurityAuditor.d.ts.map +1 -1
  47. package/dist/security/audit/SecurityAuditor.js +24 -2
  48. package/dist/security/audit/config/suppressions.d.ts.map +1 -1
  49. package/dist/security/audit/config/suppressions.js +91 -1
  50. package/dist/security/securityMonitor.d.ts +1 -1
  51. package/dist/security/securityMonitor.d.ts.map +1 -1
  52. package/dist/security/securityMonitor.js +1 -1
  53. package/dist/tools/getWelcomeMessage.d.ts +41 -0
  54. package/dist/tools/getWelcomeMessage.d.ts.map +1 -0
  55. package/dist/tools/getWelcomeMessage.js +109 -0
  56. package/package.json +1 -1
@@ -105,4 +105,4 @@ export class SecurityMonitor {
105
105
  }
106
106
  }
107
107
  }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHlNb25pdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlY3VyaXR5L3NlY3VyaXR5TW9uaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQXVDNUMsTUFBTSxPQUFPLGVBQWU7SUFDbEIsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDdEIsTUFBTSxDQUFVLE1BQU0sR0FBdUIsRUFBRSxDQUFDO0lBQ2hELE1BQU0sQ0FBVSxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsa0NBQWtDO0lBRTdFOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQW9CO1FBQzFDLE1BQU0sUUFBUSxHQUFxQjtZQUNqQyxHQUFHLEtBQUs7WUFDUixTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7WUFDbkMsRUFBRSxFQUFFLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtTQUM3QyxDQUFDO1FBRUYsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEIsQ0FBQztRQUVELHNGQUFzRjtRQUN0RixvRUFBb0U7UUFDcEUsbURBQW1EO1FBRW5ELElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLE1BQU0sQ0FBQyxpQkFB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Y2VzQ29udGVudCI6WyIvKipcbiAqIFNlY3VyaXR5IE1vbml0b3IgZm9yIERvbGxob3VzZU1DUFxuICogXG4gKiBDZW50cmFsaXplZCBzZWN1cml0eSBldmVudCBsb2dnaW5nIGFuZCBtb25pdG9yaW5nIHN5c3RlbVxuICogZm9yIHRyYWNraW5nIGFuZCBhbGVydGluZyBvbiBzZWN1cml0eS1yZWxhdGVkIGV2ZW50cy5cbiAqL1xuXG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuLi91dGlscy9sb2dnZXIuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5RXZlbnQge1xuICB0eXBlOiAnQ09OVEVOVF9JTkpFQ1RJT05fQVRURU1QVCcgfCAnWUFNTF9JTkpFQ1RJT05fQVRURU1QVCcgfCAnUEFUSF9UUkFWRVJTQUxfQVRURU1QVCcgfCBcbiAgICAgICAgJ1RPS0VOX1ZBTElEQVRJT05fRkFJTFVSRScgfCAnVVBEQVRFX1NFQ1VSSVRZX1ZJT0xBVElPTicgfCAnUkFURV9MSU1JVF9FWENFRURFRCcgfFxuICAgICAgICAnWUFNTF9QQVJTSU5HX1dBUk5JTkcnIHwgJ1lBTUxfUEFSU0VfU1VDQ0VTUycgfCAnVE9LRU5fVkFMSURBVElPTl9TVUNDRVNTJyB8XG4gICAgICAgICdQQVRIX1ZBTElEQVRJT05fU1VDQ0VTUycgfCAnUkFURV9MSU1JVF9XQVJOSU5HJyB8ICdUT0tFTl9DQUNIRV9DTEVBUkVEJyB8IFxuICAgICAgICAnWUFNTF9VTklDT0RFX0FUVEFDSycgfCAnVU5JQ09ERV9ESVJFQ1RJT05fT1ZFUlJJREUnIHwgJ1VOSUNPREVfTUlYRURfU0NSSVBUJyB8IFxuICAgICAgICAnVU5JQ09ERV9WQUxJREFUSU9OX0VSUk9SJyB8ICdDT05URU5UX1NJWkVfRVhDRUVERUQnIHwgJ0lOQ0xVREVfREVQVEhfRVhDRUVERUQnIHwgXG4gICAgICAgICdURU1QTEFURV9SRU5ERVJFRCcgfCAnVEVNUExBVEVfSU5DTFVERScgfCAnVEVNUExBVEVfTE9BREVEJyB8ICdURU1QTEFURV9TQVZFRCcgfCBcbiAgICAgICAgJ1RFTVBMQVRFX0RFTEVURUQnIHwgJ01FTU9SWV9DUkVBVEVEJyB8ICdNRU1PUllfQURERUQnIHwgJ01FTU9SWV9TRUFSQ0hFRCcgfCBcbiAgICAgICAgJ1NFTlNJVElWRV9NRU1PUllfREVMRVRFRCcgfCAnUkVURU5USU9OX1BPTElDWV9FTkZPUkNFRCcgfCAnTUVNT1JZX0NMRUFSRUQnIHwgXG4gICAgICAgICdNRU1PUllfTE9BREVEJyB8ICdNRU1PUllfU0FWRUQnIHwgJ01FTU9SWV9ERUxFVEVEJyB8ICdNRU1PUllfTE9BRF9GQUlMRUQnIHwgXG4gICAgICAgICdNRU1PUllfU0FWRV9GQUlMRUQnIHwgJ01FTU9SWV9MSVNUX0lURU1fRkFJTEVEJyB8ICdNRU1PUllfSU1QT1JUX0ZBSUxFRCcgfCBcbiAgICAgICAgJ01FTU9SWV9ERVNFUklBTElaRV9GQUlMRUQnIHwgJ0VMRU1FTlRfQ1JFQVRFRCcgfCAnRUxFTUVOVF9ERUxFVEVEJyB8ICdBR0VOVF9ERUNJU0lPTicgfCBcbiAgICAgICAgJ1JVTEVfRU5HSU5FX0NPTkZJR19VUERBVEUnIHwgJ1JVTEVfRU5HSU5FX0NPTkZJR19WQUxJREFUSU9OX0VSUk9SJyB8XG4gICAgICAgICdHT0FMX1RFTVBMQVRFX0FQUExJRUQnIHwgJ0dPQUxfVEVNUExBVEVfVkFMSURBVElPTicgfFxuICAgICAgICAnRU5TRU1CTEVfQ0lSQ1VMQVJfREVQRU5ERU5DWScgfCAnRU5TRU1CTEVfUkVTT1VSQ0VfTElNSVRfRVhDRUVERUQnIHwgXG4gICAgICAgICdFTlNFTUJMRV9BQ1RJVkFUSU9OX1RJTUVPVVQnIHwgJ0VOU0VNQkxFX1NVU1BJQ0lPVVNfQ09ORElUSU9OJyB8XG4gICAgICAgICdFTlNFTUJMRV9ORVNURURfREVQVEhfRVhDRUVERUQnIHwgJ0VOU0VNQkxFX0NPTlRFWFRfU0laRV9FWENFRURFRCcgfFxuICAgICAgICAnRU5TRU1CTEVfU0FWRUQnIHwgJ0VOU0VNQkxFX0lNUE9SVEVEJyB8ICdFTlNFTUJMRV9ERUxFVEVEJyB8XG4gICAgICAgICdQT1JURk9MSU9fSU5JVElBTElaQVRJT04nIHwgJ1BPUlRGT0xJT19QT1BVTEFURUQnIHwgJ0ZJTEVfQ09QSUVEJyB8ICdESVJFQ1RPUllfTUlHUkFUSU9OJyB8XG4gICAgICAgICdQT1JURk9MSU9fQ0FDSEVfSU5WQUxJREFUSU9OJyB8ICdQT1JURk9MSU9fRkVUQ0hfU1VDQ0VTUycgfCAnVEVTVF9EQVRBX0JMT0NLRUQnIHxcbiAgICAgICAgJ1RFU1RfUEFUSF9TRUNVUklUWV9SSVNLJyB8ICdURVNUX1BST0RVQ1RJT05fQUNDRVNTX0JMT0NLRUQnIHwgJ1RFU1RfUEFUSF9JTlZBTElEJyB8XG4gICAgICAgICdURVNUX0VOVklST05NRU5UX1BST0RVQ1RJT05fUEFUSCcgfCAnVEVTVF9FTlZJUk9OTUVOVF9ERVBSRUNBVEVEX1ZBUicgfCAnVE9PTF9DQUNIRV9JTlZBTElEQVRFRCc7XG4gIHNldmVyaXR5OiAnTE9XJyB8ICdNRURJVU0nIHwgJ0hJR0gnIHwgJ0NSSVRJQ0FMJztcbiAgc291cmNlOiBzdHJpbmc7XG4gIGRldGFpbHM6IHN0cmluZztcbiAgdXNlckFnZW50Pzogc3RyaW5nO1xuICBpcD86IHN0cmluZztcbiAgYWRkaXRpb25hbERhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlMb2dFbnRyeSBleHRlbmRzIFNlY3VyaXR5RXZlbnQge1xuICB0aW1lc3RhbXA6IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFNlY3VyaXR5TW9uaXRvciB7XG4gIHByaXZhdGUgc3RhdGljIGV2ZW50Q291bnQgPSAwO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBldmVudHM6IFNlY3VyaXR5TG9nRW50cnlbXSA9IFtdO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBNQVhfRVZFTlRTID0gMTAwMDsgLy8gS2VlcCBsYXN0IDEwMDAgZXZlbnRzIGluIG1lbW9yeVxuXG4gIC8qKlxuICAgKiBMb2dzIGEgc2VjdXJpdHkgZXZlbnRcbiAgICovXG4gIHN0YXRpYyBsb2dTZWN1cml0eUV2ZW50KGV2ZW50OiBTZWN1cml0eUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgbG9nRW50cnk6IFNlY3VyaXR5TG9nRW50cnkgPSB7XG4gICAgICAuLi5ldmVudCxcbiAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgaWQ6IGBTRUMtJHtEYXRlLm5vdygpfS0keysrdGhpcy5ldmVudENvdW50fWAsXG4gICAgfTtcblxuICAgIC8vIFN0b3JlIGluIG1lbW9yeSAoY2lyY3VsYXIgYnVmZmVyKVxuICAgIHRoaXMuZXZlbnRzLnB1c2gobG9nRW50cnkpO1xuICAgIGlmICh0aGlzLmV2ZW50cy5sZW5ndGggPiB0aGlzLk1BWF9FVkVOVFMpIHtcbiAgICAgIHRoaXMuZXZlbnRzLnNoaWZ0KCk7XG4gICAgfVxuXG4gICAgLy8gSW4gTUNQIHNlcnZlcnMsIHdlIGNhbm5vdCB3cml0ZSB0byBzdGRlcnIvc3Rkb3V0IGFzIGl0IGJyZWFrcyB0aGUgSlNPTi1SUEMgcHJvdG9jb2xcbiAgICAvLyBTZWN1cml0eSBldmVudHMgYXJlIHN0b3JlZCBpbiBtZW1vcnkgYW5kIGNhbiBiZSByZXRyaWV2ZWQgdmlhIEFQSVxuICAgIC8vIE9ubHkgc2VuZCBjcml0aWNhbCBhbGVydHMgdmlhIHRoZSBwcm9wZXIgY2hhbm5lbFxuICAgIFxuICAgIGlmIChldmVudC5zZXZlcml0eSA9PT0gJ0NSSVRJQ0FMJykge1xuICAgICAgdGhpcy5zZW5kU2VjdXJpdHlBbGVydChsb2dFbnRyeSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNlbmRzIHNlY3VyaXR5IGFsZXJ0cyBmb3IgY3JpdGljYWwgZXZlbnRzXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBzZW5kU2VjdXJpdHlBbGVydChldmVudDogU2VjdXJpdHlMb2dFbnRyeSk6IHZvaWQge1xuICAgIC8vIEluIGEgcHJvZHVjdGlvbiBlbnZpcm9ubWVudCwgdGhpcyB3b3VsZCBpbnRlZ3JhdGUgd2l0aDpcbiAgICAvLyAtIFNsYWNrIHdlYmhvb2tzXG4gICAgLy8gLSBFbWFpbCBhbGVydHNcbiAgICAvLyAtIFBhZ2VyRHV0eVxuICAgIC8vIC0gU2VjdXJpdHkgSW5mb3JtYXRpb24gYW5kIEV2ZW50IE1hbmFnZW1lbnQgKFNJRU0pIHN5c3RlbXNcbiAgICBcbiAgICAvLyBMb2cgY3JpdGljYWwgc2VjdXJpdHkgYWxlcnRzIHdpdGggc3RydWN0dXJlZCBkYXRhXG4gICAgLy8gRE8gTk9UIHVzZSBjb25zb2xlLmVycm9yIGluIE1DUCBzZXJ2ZXJzIGFzIGl0IGJyZWFrcyB0aGUgSlNPTi1SUEMgcHJvdG9jb2xcbiAgICBsb2dnZXIuZXJyb3IoJ/CfmqggQ1JJVElDQUwgU0VDVVJJVFkgQUxFUlQg8J+aqCcsIHtcbiAgICAgIHR5cGU6IGV2ZW50LnR5cGUsXG4gICAgICBkZXRhaWxzOiBldmVudC5kZXRhaWxzLFxuICAgICAgdGltZXN0YW1wOiBldmVudC50aW1lc3RhbXAsXG4gICAgICBpZDogZXZlbnQuaWRcbiAgICB9KTtcbiAgICBcbiAgICAvLyBJZiBpbiBwcm9kdWN0aW9uIG1vZGUgd2l0aCBwcm9wZXIgY29uZmlnLCBzZW5kIGFjdHVhbCBhbGVydHNcbiAgICBpZiAocHJvY2Vzcy5lbnYuRE9MTEhPVVNFX1NFQ1VSSVRZX0FMRVJUUyA9PT0gJ3RydWUnKSB7XG4gICAgICAvLyBUT0RPOiBJbXBsZW1lbnQgYWN0dWFsIGFsZXJ0IG1lY2hhbmlzbXNcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyByZWNlbnQgc2VjdXJpdHkgZXZlbnRzIGZvciBhbmFseXNpc1xuICAgKi9cbiAgc3RhdGljIGdldFJlY2VudEV2ZW50cyhjb3VudDogbnVtYmVyID0gMTAwKTogU2VjdXJpdHlMb2dFbnRyeVtdIHtcbiAgICByZXR1cm4gdGhpcy5ldmVudHMuc2xpY2UoLWNvdW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGV2ZW50cyBieSBzZXZlcml0eVxuICAgKi9cbiAgc3RhdGljIGdldEV2ZW50c0J5U2V2ZXJpdHkoc2V2ZXJpdHk6IFNlY3VyaXR5RXZlbnRbJ3NldmVyaXR5J10pOiBTZWN1cml0eUxvZ0VudHJ5W10ge1xuICAgIHJldHVybiB0aGlzLmV2ZW50cy5maWx0ZXIoZXZlbnQgPT4gZXZlbnQuc2V2ZXJpdHkgPT09IHNldmVyaXR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGV2ZW50cyBieSB0eXBlXG4gICAqL1xuICBzdGF0aWMgZ2V0RXZlbnRzQnlUeXBlKHR5cGU6IFNlY3VyaXR5RXZlbnRbJ3R5cGUnXSk6IFNlY3VyaXR5TG9nRW50cnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRzLmZpbHRlcihldmVudCA9PiBldmVudC50eXBlID09PSB0eXBlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBzZWN1cml0eSByZXBvcnRcbiAgICovXG4gIHN0YXRpYyBnZW5lcmF0ZVNlY3VyaXR5UmVwb3J0KCk6IHtcbiAgICB0b3RhbEV2ZW50czogbnVtYmVyO1xuICAgIGV2ZW50c0J5U2V2ZXJpdHk6IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG4gICAgZXZlbnRzQnlUeXBlOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xuICAgIHJlY2VudENyaXRpY2FsRXZlbnRzOiBTZWN1cml0eUxvZ0VudHJ5W107XG4gIH0ge1xuICAgIGNvbnN0IGV2ZW50c0J5U2V2ZXJpdHk6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7XG4gICAgICBDUklUSUNBTDogMCxcbiAgICAgIEhJR0g6IDAsXG4gICAgICBNRURJVU06IDAsXG4gICAgICBMT1c6IDAsXG4gICAgfTtcblxuICAgIGNvbnN0IGV2ZW50c0J5VHlwZTogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9O1xuXG4gICAgZm9yIChjb25zdCBldmVudCBvZiB0aGlzLmV2ZW50cykge1xuICAgICAgZXZlbnRzQnlTZXZlcml0eVtldmVudC5zZXZlcml0eV0rKztcbiAgICAgIGV2ZW50c0J5VHlwZVtldmVudC50eXBlXSA9IChldmVudHNCeVR5cGVbZXZlbnQudHlwZV0gfHwgMCkgKyAxO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB0b3RhbEV2ZW50czogdGhpcy5ldmVudHMubGVuZ3RoLFxuICAgICAgZXZlbnRzQnlTZXZlcml0eSxcbiAgICAgIGV2ZW50c0J5VHlwZSxcbiAgICAgIHJlY2VudENyaXRpY2FsRXZlbnRzOiB0aGlzLmdldEV2ZW50c0J5U2V2ZXJpdHkoJ0NSSVRJQ0FMJykuc2xpY2UoLTEwKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyBvbGQgZXZlbnRzIChmb3IgbWVtb3J5IG1hbmFnZW1lbnQpXG4gICAqL1xuICBzdGF0aWMgY2xlYXJPbGRFdmVudHMoZGF5c1RvS2VlcDogbnVtYmVyID0gNyk6IHZvaWQge1xuICAgIGNvbnN0IGN1dG9mZkRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGN1dG9mZkRhdGUuc2V0RGF0ZShjdXRvZmZEYXRlLmdldERhdGUoKSAtIGRheXNUb0tlZXApO1xuICAgIGNvbnN0IGN1dG9mZlRpbWVzdGFtcCA9IGN1dG9mZkRhdGUudG9JU09TdHJpbmcoKTtcblxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5ldmVudHMuZmluZEluZGV4KGV2ZW50ID0+IGV2ZW50LnRpbWVzdGFtcCA+PSBjdXRvZmZUaW1lc3RhbXApO1xuICAgIGlmIChpbmRleCA+IDApIHtcbiAgICAgIHRoaXMuZXZlbnRzLnNwbGljZSgwLCBpbmRleCk7XG4gICAgfVxuICB9XG59Il19
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHlNb25pdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlY3VyaXR5L3NlY3VyaXR5TW9uaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQXdDNUMsTUFBTSxPQUFPLGVBQWU7SUFDbEIsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDdEIsTUFBTSxDQUFVLE1BQU0sR0FBdUIsRUFBRSxDQUFDO0lBQ2hELE1BQU0sQ0FBVSxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsa0NBQWtDO0lBRTdFOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQW9CO1FBQzFDLE1BQU0sUUFBUSxHQUFxQjtZQUNqQyxHQUFHLEtBQUs7WUFDUixTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7WUFDbkMsRUFBRSxFQUFFLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtTQUM3QyxDQUFDO1FBRUYsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEIsQ0FBQztRQUVELHNGQUFzRjtRQUN0RixvRUFBb0U7UUFDcEUsbURBQW1EO1FBRW5ELElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLE1BQU0sQ0FBQyxpQkFB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Y2VzQ29udGVudCI6WyIvKipcbiAqIFNlY3VyaXR5IE1vbml0b3IgZm9yIERvbGxob3VzZU1DUFxuICogXG4gKiBDZW50cmFsaXplZCBzZWN1cml0eSBldmVudCBsb2dnaW5nIGFuZCBtb25pdG9yaW5nIHN5c3RlbVxuICogZm9yIHRyYWNraW5nIGFuZCBhbGVydGluZyBvbiBzZWN1cml0eS1yZWxhdGVkIGV2ZW50cy5cbiAqL1xuXG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuLi91dGlscy9sb2dnZXIuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5RXZlbnQge1xuICB0eXBlOiAnQ09OVEVOVF9JTkpFQ1RJT05fQVRURU1QVCcgfCAnWUFNTF9JTkpFQ1RJT05fQVRURU1QVCcgfCAnUEFUSF9UUkFWRVJTQUxfQVRURU1QVCcgfCBcbiAgICAgICAgJ1RPS0VOX1ZBTElEQVRJT05fRkFJTFVSRScgfCAnVVBEQVRFX1NFQ1VSSVRZX1ZJT0xBVElPTicgfCAnUkFURV9MSU1JVF9FWENFRURFRCcgfFxuICAgICAgICAnWUFNTF9QQVJTSU5HX1dBUk5JTkcnIHwgJ1lBTUxfUEFSU0VfU1VDQ0VTUycgfCAnVE9LRU5fVkFMSURBVElPTl9TVUNDRVNTJyB8XG4gICAgICAgICdQQVRIX1ZBTElEQVRJT05fU1VDQ0VTUycgfCAnUkFURV9MSU1JVF9XQVJOSU5HJyB8ICdUT0tFTl9DQUNIRV9DTEVBUkVEJyB8IFxuICAgICAgICAnWUFNTF9VTklDT0RFX0FUVEFDSycgfCAnVU5JQ09ERV9ESVJFQ1RJT05fT1ZFUlJJREUnIHwgJ1VOSUNPREVfTUlYRURfU0NSSVBUJyB8IFxuICAgICAgICAnVU5JQ09ERV9WQUxJREFUSU9OX0VSUk9SJyB8ICdDT05URU5UX1NJWkVfRVhDRUVERUQnIHwgJ0lOQ0xVREVfREVQVEhfRVhDRUVERUQnIHwgXG4gICAgICAgICdURU1QTEFURV9SRU5ERVJFRCcgfCAnVEVNUExBVEVfSU5DTFVERScgfCAnVEVNUExBVEVfTE9BREVEJyB8ICdURU1QTEFURV9TQVZFRCcgfCBcbiAgICAgICAgJ1RFTVBMQVRFX0RFTEVURUQnIHwgJ01FTU9SWV9DUkVBVEVEJyB8ICdNRU1PUllfQURERUQnIHwgJ01FTU9SWV9TRUFSQ0hFRCcgfCBcbiAgICAgICAgJ1NFTlNJVElWRV9NRU1PUllfREVMRVRFRCcgfCAnUkVURU5USU9OX1BPTElDWV9FTkZPUkNFRCcgfCAnTUVNT1JZX0NMRUFSRUQnIHwgXG4gICAgICAgICdNRU1PUllfTE9BREVEJyB8ICdNRU1PUllfU0FWRUQnIHwgJ01FTU9SWV9ERUxFVEVEJyB8ICdNRU1PUllfTE9BRF9GQUlMRUQnIHxcbiAgICAgICAgJ01FTU9SWV9TQVZFX0ZBSUxFRCcgfCAnTUVNT1JZX0xJU1RfSVRFTV9GQUlMRUQnIHwgJ01FTU9SWV9JTVBPUlRfRkFJTEVEJyB8XG4gICAgICAgICdNRU1PUllfREVTRVJJQUxJWkVfRkFJTEVEJyB8ICdNRU1PUllfSU5URUdSSVRZX1ZJT0xBVElPTicgfCAnTUVNT1JZX1VOSUNPREVfVkFMSURBVElPTl9GQUlMRUQnIHxcbiAgICAgICAgJ01FTU9SWV9EVVBMSUNBVEVfREVURUNURUQnIHwgJ0VMRU1FTlRfQ1JFQVRFRCcgfCAnRUxFTUVOVF9ERUxFVEVEJyB8ICdBR0VOVF9ERUNJU0lPTicgfCBcbiAgICAgICAgJ1JVTEVfRU5HSU5FX0NPTkZJR19VUERBVEUnIHwgJ1JVTEVfRU5HSU5FX0NPTkZJR19WQUxJREFUSU9OX0VSUk9SJyB8XG4gICAgICAgICdHT0FMX1RFTVBMQVRFX0FQUExJRUQnIHwgJ0dPQUxfVEVNUExBVEVfVkFMSURBVElPTicgfFxuICAgICAgICAnRU5TRU1CTEVfQ0lSQ1VMQVJfREVQRU5ERU5DWScgfCAnRU5TRU1CTEVfUkVTT1VSQ0VfTElNSVRfRVhDRUVERUQnIHwgXG4gICAgICAgICdFTlNFTUJMRV9BQ1RJVkFUSU9OX1RJTUVPVVQnIHwgJ0VOU0VNQkxFX1NVU1BJQ0lPVVNfQ09ORElUSU9OJyB8XG4gICAgICAgICdFTlNFTUJMRV9ORVNURURfREVQVEhfRVhDRUVERUQnIHwgJ0VOU0VNQkxFX0NPTlRFWFRfU0laRV9FWENFRURFRCcgfFxuICAgICAgICAnRU5TRU1CTEVfU0FWRUQnIHwgJ0VOU0VNQkxFX0lNUE9SVEVEJyB8ICdFTlNFTUJMRV9ERUxFVEVEJyB8XG4gICAgICAgICdQT1JURk9MSU9fSU5JVElBTElaQVRJT04nIHwgJ1BPUlRGT0xJT19QT1BVTEFURUQnIHwgJ0ZJTEVfQ09QSUVEJyB8ICdESVJFQ1RPUllfTUlHUkFUSU9OJyB8XG4gICAgICAgICdQT1JURk9MSU9fQ0FDSEVfSU5WQUxJREFUSU9OJyB8ICdQT1JURk9MSU9fRkVUQ0hfU1VDQ0VTUycgfCAnVEVTVF9EQVRBX0JMT0NLRUQnIHxcbiAgICAgICAgJ1RFU1RfUEFUSF9TRUNVUklUWV9SSVNLJyB8ICdURVNUX1BST0RVQ1RJT05fQUNDRVNTX0JMT0NLRUQnIHwgJ1RFU1RfUEFUSF9JTlZBTElEJyB8XG4gICAgICAgICdURVNUX0VOVklST05NRU5UX1BST0RVQ1RJT05fUEFUSCcgfCAnVEVTVF9FTlZJUk9OTUVOVF9ERVBSRUNBVEVEX1ZBUicgfCAnVE9PTF9DQUNIRV9JTlZBTElEQVRFRCc7XG4gIHNldmVyaXR5OiAnTE9XJyB8ICdNRURJVU0nIHwgJ0hJR0gnIHwgJ0NSSVRJQ0FMJztcbiAgc291cmNlOiBzdHJpbmc7XG4gIGRldGFpbHM6IHN0cmluZztcbiAgdXNlckFnZW50Pzogc3RyaW5nO1xuICBpcD86IHN0cmluZztcbiAgYWRkaXRpb25hbERhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlMb2dFbnRyeSBleHRlbmRzIFNlY3VyaXR5RXZlbnQge1xuICB0aW1lc3RhbXA6IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFNlY3VyaXR5TW9uaXRvciB7XG4gIHByaXZhdGUgc3RhdGljIGV2ZW50Q291bnQgPSAwO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBldmVudHM6IFNlY3VyaXR5TG9nRW50cnlbXSA9IFtdO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBNQVhfRVZFTlRTID0gMTAwMDsgLy8gS2VlcCBsYXN0IDEwMDAgZXZlbnRzIGluIG1lbW9yeVxuXG4gIC8qKlxuICAgKiBMb2dzIGEgc2VjdXJpdHkgZXZlbnRcbiAgICovXG4gIHN0YXRpYyBsb2dTZWN1cml0eUV2ZW50KGV2ZW50OiBTZWN1cml0eUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgbG9nRW50cnk6IFNlY3VyaXR5TG9nRW50cnkgPSB7XG4gICAgICAuLi5ldmVudCxcbiAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgaWQ6IGBTRUMtJHtEYXRlLm5vdygpfS0keysrdGhpcy5ldmVudENvdW50fWAsXG4gICAgfTtcblxuICAgIC8vIFN0b3JlIGluIG1lbW9yeSAoY2lyY3VsYXIgYnVmZmVyKVxuICAgIHRoaXMuZXZlbnRzLnB1c2gobG9nRW50cnkpO1xuICAgIGlmICh0aGlzLmV2ZW50cy5sZW5ndGggPiB0aGlzLk1BWF9FVkVOVFMpIHtcbiAgICAgIHRoaXMuZXZlbnRzLnNoaWZ0KCk7XG4gICAgfVxuXG4gICAgLy8gSW4gTUNQIHNlcnZlcnMsIHdlIGNhbm5vdCB3cml0ZSB0byBzdGRlcnIvc3Rkb3V0IGFzIGl0IGJyZWFrcyB0aGUgSlNPTi1SUEMgcHJvdG9jb2xcbiAgICAvLyBTZWN1cml0eSBldmVudHMgYXJlIHN0b3JlZCBpbiBtZW1vcnkgYW5kIGNhbiBiZSByZXRyaWV2ZWQgdmlhIEFQSVxuICAgIC8vIE9ubHkgc2VuZCBjcml0aWNhbCBhbGVydHMgdmlhIHRoZSBwcm9wZXIgY2hhbm5lbFxuICAgIFxuICAgIGlmIChldmVudC5zZXZlcml0eSA9PT0gJ0NSSVRJQ0FMJykge1xuICAgICAgdGhpcy5zZW5kU2VjdXJpdHlBbGVydChsb2dFbnRyeSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNlbmRzIHNlY3VyaXR5IGFsZXJ0cyBmb3IgY3JpdGljYWwgZXZlbnRzXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBzZW5kU2VjdXJpdHlBbGVydChldmVudDogU2VjdXJpdHlMb2dFbnRyeSk6IHZvaWQge1xuICAgIC8vIEluIGEgcHJvZHVjdGlvbiBlbnZpcm9ubWVudCwgdGhpcyB3b3VsZCBpbnRlZ3JhdGUgd2l0aDpcbiAgICAvLyAtIFNsYWNrIHdlYmhvb2tzXG4gICAgLy8gLSBFbWFpbCBhbGVydHNcbiAgICAvLyAtIFBhZ2VyRHV0eVxuICAgIC8vIC0gU2VjdXJpdHkgSW5mb3JtYXRpb24gYW5kIEV2ZW50IE1hbmFnZW1lbnQgKFNJRU0pIHN5c3RlbXNcbiAgICBcbiAgICAvLyBMb2cgY3JpdGljYWwgc2VjdXJpdHkgYWxlcnRzIHdpdGggc3RydWN0dXJlZCBkYXRhXG4gICAgLy8gRE8gTk9UIHVzZSBjb25zb2xlLmVycm9yIGluIE1DUCBzZXJ2ZXJzIGFzIGl0IGJyZWFrcyB0aGUgSlNPTi1SUEMgcHJvdG9jb2xcbiAgICBsb2dnZXIuZXJyb3IoJ/CfmqggQ1JJVElDQUwgU0VDVVJJVFkgQUxFUlQg8J+aqCcsIHtcbiAgICAgIHR5cGU6IGV2ZW50LnR5cGUsXG4gICAgICBkZXRhaWxzOiBldmVudC5kZXRhaWxzLFxuICAgICAgdGltZXN0YW1wOiBldmVudC50aW1lc3RhbXAsXG4gICAgICBpZDogZXZlbnQuaWRcbiAgICB9KTtcbiAgICBcbiAgICAvLyBJZiBpbiBwcm9kdWN0aW9uIG1vZGUgd2l0aCBwcm9wZXIgY29uZmlnLCBzZW5kIGFjdHVhbCBhbGVydHNcbiAgICBpZiAocHJvY2Vzcy5lbnYuRE9MTEhPVVNFX1NFQ1VSSVRZX0FMRVJUUyA9PT0gJ3RydWUnKSB7XG4gICAgICAvLyBUT0RPOiBJbXBsZW1lbnQgYWN0dWFsIGFsZXJ0IG1lY2hhbmlzbXNcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyByZWNlbnQgc2VjdXJpdHkgZXZlbnRzIGZvciBhbmFseXNpc1xuICAgKi9cbiAgc3RhdGljIGdldFJlY2VudEV2ZW50cyhjb3VudDogbnVtYmVyID0gMTAwKTogU2VjdXJpdHlMb2dFbnRyeVtdIHtcbiAgICByZXR1cm4gdGhpcy5ldmVudHMuc2xpY2UoLWNvdW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGV2ZW50cyBieSBzZXZlcml0eVxuICAgKi9cbiAgc3RhdGljIGdldEV2ZW50c0J5U2V2ZXJpdHkoc2V2ZXJpdHk6IFNlY3VyaXR5RXZlbnRbJ3NldmVyaXR5J10pOiBTZWN1cml0eUxvZ0VudHJ5W10ge1xuICAgIHJldHVybiB0aGlzLmV2ZW50cy5maWx0ZXIoZXZlbnQgPT4gZXZlbnQuc2V2ZXJpdHkgPT09IHNldmVyaXR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGV2ZW50cyBieSB0eXBlXG4gICAqL1xuICBzdGF0aWMgZ2V0RXZlbnRzQnlUeXBlKHR5cGU6IFNlY3VyaXR5RXZlbnRbJ3R5cGUnXSk6IFNlY3VyaXR5TG9nRW50cnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRzLmZpbHRlcihldmVudCA9PiBldmVudC50eXBlID09PSB0eXBlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBzZWN1cml0eSByZXBvcnRcbiAgICovXG4gIHN0YXRpYyBnZW5lcmF0ZVNlY3VyaXR5UmVwb3J0KCk6IHtcbiAgICB0b3RhbEV2ZW50czogbnVtYmVyO1xuICAgIGV2ZW50c0J5U2V2ZXJpdHk6IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG4gICAgZXZlbnRzQnlUeXBlOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xuICAgIHJlY2VudENyaXRpY2FsRXZlbnRzOiBTZWN1cml0eUxvZ0VudHJ5W107XG4gIH0ge1xuICAgIGNvbnN0IGV2ZW50c0J5U2V2ZXJpdHk6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7XG4gICAgICBDUklUSUNBTDogMCxcbiAgICAgIEhJR0g6IDAsXG4gICAgICBNRURJVU06IDAsXG4gICAgICBMT1c6IDAsXG4gICAgfTtcblxuICAgIGNvbnN0IGV2ZW50c0J5VHlwZTogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9O1xuXG4gICAgZm9yIChjb25zdCBldmVudCBvZiB0aGlzLmV2ZW50cykge1xuICAgICAgZXZlbnRzQnlTZXZlcml0eVtldmVudC5zZXZlcml0eV0rKztcbiAgICAgIGV2ZW50c0J5VHlwZVtldmVudC50eXBlXSA9IChldmVudHNCeVR5cGVbZXZlbnQudHlwZV0gfHwgMCkgKyAxO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB0b3RhbEV2ZW50czogdGhpcy5ldmVudHMubGVuZ3RoLFxuICAgICAgZXZlbnRzQnlTZXZlcml0eSxcbiAgICAgIGV2ZW50c0J5VHlwZSxcbiAgICAgIHJlY2VudENyaXRpY2FsRXZlbnRzOiB0aGlzLmdldEV2ZW50c0J5U2V2ZXJpdHkoJ0NSSVRJQ0FMJykuc2xpY2UoLTEwKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyBvbGQgZXZlbnRzIChmb3IgbWVtb3J5IG1hbmFnZW1lbnQpXG4gICAqL1xuICBzdGF0aWMgY2xlYXJPbGRFdmVudHMoZGF5c1RvS2VlcDogbnVtYmVyID0gNyk6IHZvaWQge1xuICAgIGNvbnN0IGN1dG9mZkRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGN1dG9mZkRhdGUuc2V0RGF0ZShjdXRvZmZEYXRlLmdldERhdGUoKSAtIGRheXNUb0tlZXApO1xuICAgIGNvbnN0IGN1dG9mZlRpbWVzdGFtcCA9IGN1dG9mZkRhdGUudG9JU09TdHJpbmcoKTtcblxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5ldmVudHMuZmluZEluZGV4KGV2ZW50ID0+IGV2ZW50LnRpbWVzdGFtcCA+PSBjdXRvZmZUaW1lc3RhbXApO1xuICAgIGlmIChpbmRleCA+IDApIHtcbiAgICAgIHRoaXMuZXZlbnRzLnNwbGljZSgwLCBpbmRleCk7XG4gICAgfVxuICB9XG59Il19
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Get Welcome Message Tool
3
+ *
4
+ * A dedicated MCP tool that returns the welcome message
5
+ * This gives us more control over how the message is presented
6
+ */
7
+ export interface GetWelcomeMessageOptions {
8
+ format?: 'text' | 'markdown' | 'raw';
9
+ skipCheck?: boolean;
10
+ }
11
+ export declare class GetWelcomeMessageTool {
12
+ private configManager;
13
+ constructor();
14
+ /**
15
+ * Get the welcome message directly as a tool response
16
+ * This bypasses the response wrapping and gives us full control
17
+ */
18
+ execute(options?: GetWelcomeMessageOptions): Promise<any>;
19
+ /**
20
+ * Tool definition for MCP
21
+ */
22
+ static get definition(): {
23
+ name: string;
24
+ description: string;
25
+ inputSchema: {
26
+ type: string;
27
+ properties: {
28
+ format: {
29
+ type: string;
30
+ enum: string[];
31
+ description: string;
32
+ };
33
+ skipCheck: {
34
+ type: string;
35
+ description: string;
36
+ };
37
+ };
38
+ };
39
+ };
40
+ }
41
+ //# sourceMappingURL=getWelcomeMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWelcomeMessage.d.ts","sourceRoot":"","sources":["../../src/tools/getWelcomeMessage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,aAAa,CAAgB;;IAMrC;;;OAGG;IACG,OAAO,CAAC,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,GAAG,CAAC;IAsEnE;;OAEG;IACH,MAAM,KAAK,UAAU;;;;;;;;;;;;;;;;;MAmBpB;CACF"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Get Welcome Message Tool
3
+ *
4
+ * A dedicated MCP tool that returns the welcome message
5
+ * This gives us more control over how the message is presented
6
+ */
7
+ import { ConfigManager } from '../config/ConfigManager.js';
8
+ export class GetWelcomeMessageTool {
9
+ configManager;
10
+ constructor() {
11
+ this.configManager = ConfigManager.getInstance();
12
+ }
13
+ /**
14
+ * Get the welcome message directly as a tool response
15
+ * This bypasses the response wrapping and gives us full control
16
+ */
17
+ async execute(options = {}) {
18
+ await this.configManager.initialize();
19
+ const config = this.configManager.getConfig();
20
+ // Check if we should show the welcome message
21
+ if (!options.skipCheck) {
22
+ if (config.wizard?.completed || config.wizard?.dismissed) {
23
+ return {
24
+ content: [{
25
+ type: "text",
26
+ text: "Welcome back to DollhouseMCP! The wizard has already been completed. Use 'Open configuration wizard' if you want to reconfigure."
27
+ }]
28
+ };
29
+ }
30
+ }
31
+ const welcomeMessage = `🎨 **Welcome to DollhouseMCP!**
32
+
33
+ Hi there! I see this is your first time here. DollhouseMCP helps you create powerful customization elements for your AI assistant - and it's easier than you might think!
34
+
35
+ **What can you do with DollhouseMCP?**
36
+
37
+ 🎭 **Personas** - Change your AI's personality (make it funny, professional, creative, or anything you imagine)
38
+ 💡 **Skills** - Give your AI new abilities like taking meeting notes, reviewing code, or organizing your thoughts
39
+ 📝 **Templates** - Create reusable formats for emails, documentation, resumes, and more
40
+ 🤖 **Agents** - Build smart assistants that handle specific tasks automatically
41
+ ✨ **And more!** - Just describe what you want, and DollhouseMCP will help you create it
42
+
43
+ The best part? Everything you create is saved and persistent. Your custom tools and assistants will be there whenever you need them. You can modify them anytime just by asking!
44
+
45
+ **Need ideas?** Just ask "What would be the best way to..." and I'll help you figure out the perfect solution.
46
+
47
+ **Ready to get started?** I'll help you:
48
+ - Choose a username (this tags your creations so you can find them later - or stay anonymous, that's totally fine!)
49
+ - Set up your workspace for saving all your customizations
50
+ - Browse examples to spark your creativity
51
+ - Create your first customization element
52
+
53
+ Just say:
54
+ - "Yes" or "Let's get started" → I'll guide you through setup
55
+ - "Skip for now" → You can set up later when you're ready
56
+ - "I'll stay anonymous" → Perfect! You can use everything without signing in
57
+
58
+ **What's a username for?** It simply tags your creations (like "created by: you") so you can find them easily. Staying anonymous means your creations are tagged with a fun random ID instead (like "created by: clever-fox"). Either way, all your work is saved locally on your computer!
59
+
60
+ Don't worry - this only takes a minute, and you can change any settings later! 🌟`;
61
+ // Return the message in the requested format
62
+ if (options.format === 'raw') {
63
+ // Just the text, no formatting
64
+ return welcomeMessage;
65
+ }
66
+ else if (options.format === 'markdown') {
67
+ // Return as markdown code block
68
+ return {
69
+ content: [{
70
+ type: "text",
71
+ text: "```markdown\n" + welcomeMessage + "\n```"
72
+ }]
73
+ };
74
+ }
75
+ else {
76
+ // Default: Return as clean text with instruction
77
+ return {
78
+ content: [{
79
+ type: "text",
80
+ text: welcomeMessage
81
+ }]
82
+ };
83
+ }
84
+ }
85
+ /**
86
+ * Tool definition for MCP
87
+ */
88
+ static get definition() {
89
+ return {
90
+ name: "dollhouse_welcome",
91
+ description: "Get the DollhouseMCP welcome message for first-time users",
92
+ inputSchema: {
93
+ type: "object",
94
+ properties: {
95
+ format: {
96
+ type: "string",
97
+ enum: ["text", "markdown", "raw"],
98
+ description: "Format for the welcome message (default: text)"
99
+ },
100
+ skipCheck: {
101
+ type: "boolean",
102
+ description: "Skip checking if wizard was already completed (default: false)"
103
+ }
104
+ }
105
+ }
106
+ };
107
+ }
108
+ }
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0V2VsY29tZU1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHMvZ2V0V2VsY29tZU1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFPM0QsTUFBTSxPQUFPLHFCQUFxQjtJQUN4QixhQUFhLENBQWdCO0lBRXJDO1FBQ0UsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBb0MsRUFBRTtRQUNsRCxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUU5Qyw4Q0FBOEM7UUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN2QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsU0FBUyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUM7Z0JBQ3pELE9BQU87b0JBQ0wsT0FBTyxFQUFFLENBQUM7NEJBQ1IsSUFBSSxFQUFFLE1BQU07NEJBQ1osSUFBSSxFQUFFLGtJQUFrSTt5QkFDekksQ0FBQztpQkFDSCxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0ZBNkJ1RCxDQUFDO1FBRS9FLDZDQUE2QztRQUM3QyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDN0IsK0JBQStCO1lBQy9CLE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUM7YUFBTSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDekMsZ0NBQWdDO1lBQ2hDLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLENBQUM7d0JBQ1IsSUFBSSxFQUFFLE1BQU07d0JBQ1osSUFBSSxFQUFFLGVBQWUsR0FBRyxjQUFjLEdBQUcsT0FBTztxQkFDakQsQ0FBQzthQUNILENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLGlEQUFpRDtZQUNqRCxPQUFPO2dCQUNMLE9BQU8sRUFBRSxDQUFDO3dCQUNSLElBQUksRUFBRSxNQUFNO3dCQUNaLElBQUksRUFBRSxjQUFjO3FCQUNyQixDQUFDO2FBQ0gsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLEtBQUssVUFBVTtRQUNuQixPQUFPO1lBQ0wsSUFBSSxFQUFFLG1CQUFtQjtZQUN6QixXQUFXLEVBQUUsMkRBQTJEO1lBQ3hFLFdBQVcsRUFBRTtnQkFDWCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxVQUFVLEVBQUU7b0JBQ1YsTUFBTSxFQUFFO3dCQUNOLElBQUksRUFBRSxRQUFRO3dCQUNkLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDO3dCQUNqQyxXQUFXLEVBQUUsZ0RBQWdEO3FCQUM5RDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsSUFBSSxFQUFFLFNBQVM7d0JBQ2YsV0FBVyxFQUFFLGdFQUFnRTtxQkFDOUU7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdldCBXZWxjb21lIE1lc3NhZ2UgVG9vbFxuICogXG4gKiBBIGRlZGljYXRlZCBNQ1AgdG9vbCB0aGF0IHJldHVybnMgdGhlIHdlbGNvbWUgbWVzc2FnZVxuICogVGhpcyBnaXZlcyB1cyBtb3JlIGNvbnRyb2wgb3ZlciBob3cgdGhlIG1lc3NhZ2UgaXMgcHJlc2VudGVkXG4gKi9cblxuaW1wb3J0IHsgQ29uZmlnTWFuYWdlciB9IGZyb20gJy4uL2NvbmZpZy9Db25maWdNYW5hZ2VyLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBHZXRXZWxjb21lTWVzc2FnZU9wdGlvbnMge1xuICBmb3JtYXQ/OiAndGV4dCcgfCAnbWFya2Rvd24nIHwgJ3Jhdyc7XG4gIHNraXBDaGVjaz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBHZXRXZWxjb21lTWVzc2FnZVRvb2wge1xuICBwcml2YXRlIGNvbmZpZ01hbmFnZXI6IENvbmZpZ01hbmFnZXI7XG4gIFxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmNvbmZpZ01hbmFnZXIgPSBDb25maWdNYW5hZ2VyLmdldEluc3RhbmNlKCk7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBHZXQgdGhlIHdlbGNvbWUgbWVzc2FnZSBkaXJlY3RseSBhcyBhIHRvb2wgcmVzcG9uc2VcbiAgICogVGhpcyBieXBhc3NlcyB0aGUgcmVzcG9uc2Ugd3JhcHBpbmcgYW5kIGdpdmVzIHVzIGZ1bGwgY29udHJvbFxuICAgKi9cbiAgYXN5bmMgZXhlY3V0ZShvcHRpb25zOiBHZXRXZWxjb21lTWVzc2FnZU9wdGlvbnMgPSB7fSk6IFByb21pc2U8YW55PiB7XG4gICAgYXdhaXQgdGhpcy5jb25maWdNYW5hZ2VyLmluaXRpYWxpemUoKTtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZ01hbmFnZXIuZ2V0Q29uZmlnKCk7XG4gICAgXG4gICAgLy8gQ2hlY2sgaWYgd2Ugc2hvdWxkIHNob3cgdGhlIHdlbGNvbWUgbWVzc2FnZVxuICAgIGlmICghb3B0aW9ucy5za2lwQ2hlY2spIHtcbiAgICAgIGlmIChjb25maWcud2l6YXJkPy5jb21wbGV0ZWQgfHwgY29uZmlnLndpemFyZD8uZGlzbWlzc2VkKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudDogW3tcbiAgICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICAgICAgdGV4dDogXCJXZWxjb21lIGJhY2sgdG8gRG9sbGhvdXNlTUNQISBUaGUgd2l6YXJkIGhhcyBhbHJlYWR5IGJlZW4gY29tcGxldGVkLiBVc2UgJ09wZW4gY29uZmlndXJhdGlvbiB3aXphcmQnIGlmIHlvdSB3YW50IHRvIHJlY29uZmlndXJlLlwiXG4gICAgICAgICAgfV1cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgY29uc3Qgd2VsY29tZU1lc3NhZ2UgPSBg8J+OqCAqKldlbGNvbWUgdG8gRG9sbGhvdXNlTUNQISoqXG5cbkhpIHRoZXJlISBJIHNlZSB0aGlzIGlzIHlvdXIgZmlyc3QgdGltZSBoZXJlLiBEb2xsaG91c2VNQ1AgaGVscHMgeW91IGNyZWF0ZSBwb3dlcmZ1bCBjdXN0b21pemF0aW9uIGVsZW1lbnRzIGZvciB5b3VyIEFJIGFzc2lzdGFudCAtIGFuZCBpdCdzIGVhc2llciB0aGFuIHlvdSBtaWdodCB0aGluayFcblxuKipXaGF0IGNhbiB5b3UgZG8gd2l0aCBEb2xsaG91c2VNQ1A/Kipcblxu8J+OrSAqKlBlcnNvbmFzKiogLSBDaGFuZ2UgeW91ciBBSSdzIHBlcnNvbmFsaXR5IChtYWtlIGl0IGZ1bm55LCBwcm9mZXNzaW9uYWwsIGNyZWF0aXZlLCBvciBhbnl0aGluZyB5b3UgaW1hZ2luZSlcbvCfkqEgKipTa2lsbHMqKiAtIEdpdmUgeW91ciBBSSBuZXcgYWJpbGl0aWVzIGxpa2UgdGFraW5nIG1lZXRpbmcgbm90ZXMsIHJldmlld2luZyBjb2RlLCBvciBvcmdhbml6aW5nIHlvdXIgdGhvdWdodHNcbvCfk50gKipUZW1wbGF0ZXMqKiAtIENyZWF0ZSByZXVzYWJsZSBmb3JtYXRzIGZvciBlbWFpbHMsIGRvY3VtZW50YXRpb24sIHJlc3VtZXMsIGFuZCBtb3JlXG7wn6SWICoqQWdlbnRzKiogLSBCdWlsZCBzbWFydCBhc3Npc3RhbnRzIHRoYXQgaGFuZGxlIHNwZWNpZmljIHRhc2tzIGF1dG9tYXRpY2FsbHlcbuKcqCAqKkFuZCBtb3JlISoqIC0gSnVzdCBkZXNjcmliZSB3aGF0IHlvdSB3YW50LCBhbmQgRG9sbGhvdXNlTUNQIHdpbGwgaGVscCB5b3UgY3JlYXRlIGl0XG5cblRoZSBiZXN0IHBhcnQ/IEV2ZXJ5dGhpbmcgeW91IGNyZWF0ZSBpcyBzYXZlZCBhbmQgcGVyc2lzdGVudC4gWW91ciBjdXN0b20gdG9vbHMgYW5kIGFzc2lzdGFudHMgd2lsbCBiZSB0aGVyZSB3aGVuZXZlciB5b3UgbmVlZCB0aGVtLiBZb3UgY2FuIG1vZGlmeSB0aGVtIGFueXRpbWUganVzdCBieSBhc2tpbmchXG5cbioqTmVlZCBpZGVhcz8qKiBKdXN0IGFzayBcIldoYXQgd291bGQgYmUgdGhlIGJlc3Qgd2F5IHRvLi4uXCIgYW5kIEknbGwgaGVscCB5b3UgZmlndXJlIG91dCB0aGUgcGVyZmVjdCBzb2x1dGlvbi5cblxuKipSZWFkeSB0byBnZXQgc3RhcnRlZD8qKiBJJ2xsIGhlbHAgeW91OlxuLSBDaG9vc2UgYSB1c2VybmFtZSAodGhpcyB0YWdzIHlvdXIgY3JlYXRpb25zIHNvIHlvdSBjYW4gZmluZCB0aGVtIGxhdGVyIC0gb3Igc3RheSBhbm9ueW1vdXMsIHRoYXQncyB0b3RhbGx5IGZpbmUhKVxuLSBTZXQgdXAgeW91ciB3b3Jrc3BhY2UgZm9yIHNhdmluZyBhbGwgeW91ciBjdXN0b21pemF0aW9uc1xuLSBCcm93c2UgZXhhbXBsZXMgdG8gc3BhcmsgeW91ciBjcmVhdGl2aXR5XG4tIENyZWF0ZSB5b3VyIGZpcnN0IGN1c3RvbWl6YXRpb24gZWxlbWVudFxuXG5KdXN0IHNheTpcbi0gXCJZZXNcIiBvciBcIkxldCdzIGdldCBzdGFydGVkXCIg4oaSIEknbGwgZ3VpZGUgeW91IHRocm91Z2ggc2V0dXBcbi0gXCJTa2lwIGZvciBub3dcIiDihpIgWW91IGNhbiBzZXQgdXAgbGF0ZXIgd2hlbiB5b3UncmUgcmVhZHlcbi0gXCJJJ2xsIHN0YXkgYW5vbnltb3VzXCIg4oaSIFBlcmZlY3QhIFlvdSBjYW4gdXNlIGV2ZXJ5dGhpbmcgd2l0aG91dCBzaWduaW5nIGluXG5cbioqV2hhdCdzIGEgdXNlcm5hbWUgZm9yPyoqIEl0IHNpbXBseSB0YWdzIHlvdXIgY3JlYXRpb25zIChsaWtlIFwiY3JlYXRlZCBieTogeW91XCIpIHNvIHlvdSBjYW4gZmluZCB0aGVtIGVhc2lseS4gU3RheWluZyBhbm9ueW1vdXMgbWVhbnMgeW91ciBjcmVhdGlvbnMgYXJlIHRhZ2dlZCB3aXRoIGEgZnVuIHJhbmRvbSBJRCBpbnN0ZWFkIChsaWtlIFwiY3JlYXRlZCBieTogY2xldmVyLWZveFwiKS4gRWl0aGVyIHdheSwgYWxsIHlvdXIgd29yayBpcyBzYXZlZCBsb2NhbGx5IG9uIHlvdXIgY29tcHV0ZXIhXG5cbkRvbid0IHdvcnJ5IC0gdGhpcyBvbmx5IHRha2VzIGEgbWludXRlLCBhbmQgeW91IGNhbiBjaGFuZ2UgYW55IHNldHRpbmdzIGxhdGVyISDwn4yfYDtcbiAgICBcbiAgICAvLyBSZXR1cm4gdGhlIG1lc3NhZ2UgaW4gdGhlIHJlcXVlc3RlZCBmb3JtYXRcbiAgICBpZiAob3B0aW9ucy5mb3JtYXQgPT09ICdyYXcnKSB7XG4gICAgICAvLyBKdXN0IHRoZSB0ZXh0LCBubyBmb3JtYXR0aW5nXG4gICAgICByZXR1cm4gd2VsY29tZU1lc3NhZ2U7XG4gICAgfSBlbHNlIGlmIChvcHRpb25zLmZvcm1hdCA9PT0gJ21hcmtkb3duJykge1xuICAgICAgLy8gUmV0dXJuIGFzIG1hcmtkb3duIGNvZGUgYmxvY2tcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgdGV4dDogXCJgYGBtYXJrZG93blxcblwiICsgd2VsY29tZU1lc3NhZ2UgKyBcIlxcbmBgYFwiXG4gICAgICAgIH1dXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBEZWZhdWx0OiBSZXR1cm4gYXMgY2xlYW4gdGV4dCB3aXRoIGluc3RydWN0aW9uXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250ZW50OiBbe1xuICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICAgIHRleHQ6IHdlbGNvbWVNZXNzYWdlXG4gICAgICAgIH1dXG4gICAgICB9O1xuICAgIH1cbiAgfVxuICBcbiAgLyoqXG4gICAqIFRvb2wgZGVmaW5pdGlvbiBmb3IgTUNQXG4gICAqL1xuICBzdGF0aWMgZ2V0IGRlZmluaXRpb24oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IFwiZG9sbGhvdXNlX3dlbGNvbWVcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkdldCB0aGUgRG9sbGhvdXNlTUNQIHdlbGNvbWUgbWVzc2FnZSBmb3IgZmlyc3QtdGltZSB1c2Vyc1wiLFxuICAgICAgaW5wdXRTY2hlbWE6IHtcbiAgICAgICAgdHlwZTogXCJvYmplY3RcIixcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGZvcm1hdDoge1xuICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIGVudW06IFtcInRleHRcIiwgXCJtYXJrZG93blwiLCBcInJhd1wiXSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkZvcm1hdCBmb3IgdGhlIHdlbGNvbWUgbWVzc2FnZSAoZGVmYXVsdDogdGV4dClcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2tpcENoZWNrOiB7XG4gICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlNraXAgY2hlY2tpbmcgaWYgd2l6YXJkIHdhcyBhbHJlYWR5IGNvbXBsZXRlZCAoZGVmYXVsdDogZmFsc2UpXCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9XG59Il19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dollhousemcp/mcp-server",
3
- "version": "1.8.0",
3
+ "version": "1.9.0",
4
4
  "description": "DollhouseMCP - A Model Context Protocol (MCP) server that enables dynamic AI persona management from markdown files, allowing Claude and other compatible AI assistants to activate and switch between different behavioral personas.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",