@dollhousemcp/mcp-server 1.7.3 → 1.7.4
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/dist/config/ConfigWizard.d.ts +78 -0
- package/dist/config/ConfigWizard.d.ts.map +1 -0
- package/dist/config/ConfigWizard.js +370 -0
- package/dist/config/ConfigWizardCheck.d.ts +47 -0
- package/dist/config/ConfigWizardCheck.d.ts.map +1 -0
- package/dist/config/ConfigWizardCheck.js +208 -0
- package/dist/config/ConfigWizardDisplay.d.ts +64 -0
- package/dist/config/ConfigWizardDisplay.d.ts.map +1 -0
- package/dist/config/ConfigWizardDisplay.js +150 -0
- package/dist/config/WizardFirstResponse.d.ts +25 -0
- package/dist/config/WizardFirstResponse.d.ts.map +1 -0
- package/dist/config/WizardFirstResponse.js +118 -0
- package/dist/config/portfolioConfig.d.ts +40 -0
- package/dist/config/portfolioConfig.d.ts.map +1 -0
- package/dist/config/portfolioConfig.js +58 -0
- package/dist/config/wizardTemplates.d.ts +84 -0
- package/dist/config/wizardTemplates.d.ts.map +1 -0
- package/dist/config/wizardTemplates.js +195 -0
- package/dist/elements/BaseElement.d.ts +15 -0
- package/dist/elements/BaseElement.d.ts.map +1 -1
- package/dist/elements/BaseElement.js +38 -5
- package/dist/generated/version.d.ts +2 -2
- package/dist/generated/version.js +3 -3
- package/dist/handlers/PortfolioPullHandler.d.ts +69 -0
- package/dist/handlers/PortfolioPullHandler.d.ts.map +1 -0
- package/dist/handlers/PortfolioPullHandler.js +340 -0
- package/dist/scripts/scripts/run-config-wizard.js +57 -0
- package/dist/scripts/src/config/ConfigManager.js +799 -0
- package/dist/scripts/src/config/ConfigWizard.js +368 -0
- package/dist/scripts/src/errors/SecurityError.js +47 -0
- package/dist/scripts/src/security/constants.js +28 -0
- package/dist/scripts/src/security/contentValidator.js +415 -0
- package/dist/scripts/src/security/errors.js +32 -0
- package/dist/scripts/src/security/regexValidator.js +217 -0
- package/dist/scripts/src/security/secureYamlParser.js +272 -0
- package/dist/scripts/src/security/securityMonitor.js +111 -0
- package/dist/scripts/src/security/validators/unicodeValidator.js +315 -0
- package/dist/scripts/src/utils/logger.js +288 -0
- package/dist/sync/PortfolioDownloader.d.ts +27 -0
- package/dist/sync/PortfolioDownloader.d.ts.map +1 -0
- package/dist/sync/PortfolioDownloader.js +120 -0
- package/dist/sync/PortfolioSyncComparer.d.ts +50 -0
- package/dist/sync/PortfolioSyncComparer.d.ts.map +1 -0
- package/dist/sync/PortfolioSyncComparer.js +158 -0
- package/dist/tools/getWelcomeMessage.d.ts +41 -0
- package/dist/tools/getWelcomeMessage.d.ts.map +1 -0
- package/dist/tools/getWelcomeMessage.js +109 -0
- package/dist/utils/TemplateRenderer.d.ts +63 -0
- package/dist/utils/TemplateRenderer.d.ts.map +1 -0
- package/dist/utils/TemplateRenderer.js +154 -0
- package/package.json +1 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Portfolio configuration utilities
|
|
3
|
+
* Handles repository name configuration for portfolio sync
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Get the configured portfolio repository name
|
|
7
|
+
* Priority order:
|
|
8
|
+
* 1. TEST_GITHUB_REPO environment variable (for testing)
|
|
9
|
+
* 2. Configured repository name (future: from config file)
|
|
10
|
+
* 3. Default: 'dollhouse-portfolio'
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* // Default usage
|
|
14
|
+
* const repo = getPortfolioRepositoryName(); // 'dollhouse-portfolio'
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* // With TEST_GITHUB_REPO set
|
|
18
|
+
* process.env.TEST_GITHUB_REPO = 'test-portfolio';
|
|
19
|
+
* const repo = getPortfolioRepositoryName(); // 'test-portfolio'
|
|
20
|
+
*
|
|
21
|
+
* @returns {string} The configured portfolio repository name
|
|
22
|
+
*/
|
|
23
|
+
export declare function getPortfolioRepositoryName(): string;
|
|
24
|
+
/**
|
|
25
|
+
* Check if we're in a test environment
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* // When TEST_GITHUB_REPO is set
|
|
29
|
+
* process.env.TEST_GITHUB_REPO = 'test-repo';
|
|
30
|
+
* const isTest = isTestEnvironment(); // true
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* // In production environment
|
|
34
|
+
* delete process.env.TEST_GITHUB_REPO;
|
|
35
|
+
* const isTest = isTestEnvironment(); // false
|
|
36
|
+
*
|
|
37
|
+
* @returns {boolean} True if running in a test environment
|
|
38
|
+
*/
|
|
39
|
+
export declare function isTestEnvironment(): boolean;
|
|
40
|
+
//# sourceMappingURL=portfolioConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portfolioConfig.d.ts","sourceRoot":"","sources":["../../src/config/portfolioConfig.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAgBnD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAI3C"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Portfolio configuration utilities
|
|
3
|
+
* Handles repository name configuration for portfolio sync
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Get the configured portfolio repository name
|
|
7
|
+
* Priority order:
|
|
8
|
+
* 1. TEST_GITHUB_REPO environment variable (for testing)
|
|
9
|
+
* 2. Configured repository name (future: from config file)
|
|
10
|
+
* 3. Default: 'dollhouse-portfolio'
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* // Default usage
|
|
14
|
+
* const repo = getPortfolioRepositoryName(); // 'dollhouse-portfolio'
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* // With TEST_GITHUB_REPO set
|
|
18
|
+
* process.env.TEST_GITHUB_REPO = 'test-portfolio';
|
|
19
|
+
* const repo = getPortfolioRepositoryName(); // 'test-portfolio'
|
|
20
|
+
*
|
|
21
|
+
* @returns {string} The configured portfolio repository name
|
|
22
|
+
*/
|
|
23
|
+
export function getPortfolioRepositoryName() {
|
|
24
|
+
// For testing environments, use TEST_GITHUB_REPO if set
|
|
25
|
+
// Trim whitespace to handle edge cases
|
|
26
|
+
const testRepo = process.env.TEST_GITHUB_REPO?.trim();
|
|
27
|
+
if (testRepo) {
|
|
28
|
+
return testRepo;
|
|
29
|
+
}
|
|
30
|
+
// TODO: Add support for reading from config file
|
|
31
|
+
// const config = ConfigManager.getInstance();
|
|
32
|
+
// if (config.github?.portfolio?.repository_name) {
|
|
33
|
+
// return config.github.portfolio.repository_name;
|
|
34
|
+
// }
|
|
35
|
+
// Default repository name
|
|
36
|
+
return 'dollhouse-portfolio';
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if we're in a test environment
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* // When TEST_GITHUB_REPO is set
|
|
43
|
+
* process.env.TEST_GITHUB_REPO = 'test-repo';
|
|
44
|
+
* const isTest = isTestEnvironment(); // true
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* // In production environment
|
|
48
|
+
* delete process.env.TEST_GITHUB_REPO;
|
|
49
|
+
* const isTest = isTestEnvironment(); // false
|
|
50
|
+
*
|
|
51
|
+
* @returns {boolean} True if running in a test environment
|
|
52
|
+
*/
|
|
53
|
+
export function isTestEnvironment() {
|
|
54
|
+
return process.env.TEST_MODE === 'true' ||
|
|
55
|
+
process.env.NODE_ENV === 'test' ||
|
|
56
|
+
!!process.env.TEST_GITHUB_REPO?.trim();
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGZvbGlvQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9wb3J0Zm9saW9Db25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUg7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQjtJQUN4Qyx3REFBd0Q7SUFDeEQsdUNBQXVDO0lBQ3ZDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDdEQsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNiLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxpREFBaUQ7SUFDakQsOENBQThDO0lBQzlDLG1EQUFtRDtJQUNuRCxvREFBb0Q7SUFDcEQsSUFBSTtJQUVKLDBCQUEwQjtJQUMxQixPQUFPLHFCQUFxQixDQUFDO0FBQy9CLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sVUFBVSxpQkFBaUI7SUFDL0IsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsS0FBSyxNQUFNO1FBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLE1BQU07UUFDL0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDaEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUG9ydGZvbGlvIGNvbmZpZ3VyYXRpb24gdXRpbGl0aWVzXG4gKiBIYW5kbGVzIHJlcG9zaXRvcnkgbmFtZSBjb25maWd1cmF0aW9uIGZvciBwb3J0Zm9saW8gc3luY1xuICovXG5cbi8qKlxuICogR2V0IHRoZSBjb25maWd1cmVkIHBvcnRmb2xpbyByZXBvc2l0b3J5IG5hbWVcbiAqIFByaW9yaXR5IG9yZGVyOlxuICogMS4gVEVTVF9HSVRIVUJfUkVQTyBlbnZpcm9ubWVudCB2YXJpYWJsZSAoZm9yIHRlc3RpbmcpXG4gKiAyLiBDb25maWd1cmVkIHJlcG9zaXRvcnkgbmFtZSAoZnV0dXJlOiBmcm9tIGNvbmZpZyBmaWxlKVxuICogMy4gRGVmYXVsdDogJ2RvbGxob3VzZS1wb3J0Zm9saW8nXG4gKiBcbiAqIEBleGFtcGxlXG4gKiAvLyBEZWZhdWx0IHVzYWdlXG4gKiBjb25zdCByZXBvID0gZ2V0UG9ydGZvbGlvUmVwb3NpdG9yeU5hbWUoKTsgLy8gJ2RvbGxob3VzZS1wb3J0Zm9saW8nXG4gKiBcbiAqIEBleGFtcGxlXG4gKiAvLyBXaXRoIFRFU1RfR0lUSFVCX1JFUE8gc2V0XG4gKiBwcm9jZXNzLmVudi5URVNUX0dJVEhVQl9SRVBPID0gJ3Rlc3QtcG9ydGZvbGlvJztcbiAqIGNvbnN0IHJlcG8gPSBnZXRQb3J0Zm9saW9SZXBvc2l0b3J5TmFtZSgpOyAvLyAndGVzdC1wb3J0Zm9saW8nXG4gKiBcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBjb25maWd1cmVkIHBvcnRmb2xpbyByZXBvc2l0b3J5IG5hbWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBvcnRmb2xpb1JlcG9zaXRvcnlOYW1lKCk6IHN0cmluZyB7XG4gIC8vIEZvciB0ZXN0aW5nIGVudmlyb25tZW50cywgdXNlIFRFU1RfR0lUSFVCX1JFUE8gaWYgc2V0XG4gIC8vIFRyaW0gd2hpdGVzcGFjZSB0byBoYW5kbGUgZWRnZSBjYXNlc1xuICBjb25zdCB0ZXN0UmVwbyA9IHByb2Nlc3MuZW52LlRFU1RfR0lUSFVCX1JFUE8/LnRyaW0oKTtcbiAgaWYgKHRlc3RSZXBvKSB7XG4gICAgcmV0dXJuIHRlc3RSZXBvO1xuICB9XG4gIFxuICAvLyBUT0RPOiBBZGQgc3VwcG9ydCBmb3IgcmVhZGluZyBmcm9tIGNvbmZpZyBmaWxlXG4gIC8vIGNvbnN0IGNvbmZpZyA9IENvbmZpZ01hbmFnZXIuZ2V0SW5zdGFuY2UoKTtcbiAgLy8gaWYgKGNvbmZpZy5naXRodWI/LnBvcnRmb2xpbz8ucmVwb3NpdG9yeV9uYW1lKSB7XG4gIC8vICAgcmV0dXJuIGNvbmZpZy5naXRodWIucG9ydGZvbGlvLnJlcG9zaXRvcnlfbmFtZTtcbiAgLy8gfVxuICBcbiAgLy8gRGVmYXVsdCByZXBvc2l0b3J5IG5hbWVcbiAgcmV0dXJuICdkb2xsaG91c2UtcG9ydGZvbGlvJztcbn1cblxuLyoqXG4gKiBDaGVjayBpZiB3ZSdyZSBpbiBhIHRlc3QgZW52aXJvbm1lbnRcbiAqIFxuICogQGV4YW1wbGVcbiAqIC8vIFdoZW4gVEVTVF9HSVRIVUJfUkVQTyBpcyBzZXRcbiAqIHByb2Nlc3MuZW52LlRFU1RfR0lUSFVCX1JFUE8gPSAndGVzdC1yZXBvJztcbiAqIGNvbnN0IGlzVGVzdCA9IGlzVGVzdEVudmlyb25tZW50KCk7IC8vIHRydWVcbiAqIFxuICogQGV4YW1wbGVcbiAqIC8vIEluIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRcbiAqIGRlbGV0ZSBwcm9jZXNzLmVudi5URVNUX0dJVEhVQl9SRVBPO1xuICogY29uc3QgaXNUZXN0ID0gaXNUZXN0RW52aXJvbm1lbnQoKTsgLy8gZmFsc2VcbiAqIFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgcnVubmluZyBpbiBhIHRlc3QgZW52aXJvbm1lbnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVGVzdEVudmlyb25tZW50KCk6IGJvb2xlYW4ge1xuICByZXR1cm4gcHJvY2Vzcy5lbnYuVEVTVF9NT0RFID09PSAndHJ1ZScgfHwgXG4gICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Rlc3QnIHx8XG4gICAgICAgICAhIXByb2Nlc3MuZW52LlRFU1RfR0lUSFVCX1JFUE8/LnRyaW0oKTtcbn0iXX0=
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wizard Text Templates
|
|
3
|
+
*
|
|
4
|
+
* Centralized configuration for all wizard text to support:
|
|
5
|
+
* - Internationalization (i18n) in the future
|
|
6
|
+
* - Consistent messaging across the application
|
|
7
|
+
* - Easy updates without modifying business logic
|
|
8
|
+
* - Template reusability
|
|
9
|
+
*/
|
|
10
|
+
export interface WizardTemplates {
|
|
11
|
+
title: string;
|
|
12
|
+
currentConfigHeader: string;
|
|
13
|
+
steps: {
|
|
14
|
+
userIdentity: WizardStep;
|
|
15
|
+
githubIntegration: WizardStep;
|
|
16
|
+
portfolioSync: WizardStep;
|
|
17
|
+
displayPreferences: WizardStep;
|
|
18
|
+
};
|
|
19
|
+
instructions: {
|
|
20
|
+
quick: string;
|
|
21
|
+
detailed: string;
|
|
22
|
+
skip: string;
|
|
23
|
+
};
|
|
24
|
+
footer: string;
|
|
25
|
+
}
|
|
26
|
+
export interface WizardStep {
|
|
27
|
+
title: string;
|
|
28
|
+
description: string;
|
|
29
|
+
instructions: string[];
|
|
30
|
+
currentValue: (value: any) => string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Default English templates
|
|
34
|
+
*/
|
|
35
|
+
export declare const defaultWizardTemplates: WizardTemplates;
|
|
36
|
+
/**
|
|
37
|
+
* Friendly value replacements for null/undefined config values
|
|
38
|
+
*/
|
|
39
|
+
export declare const friendlyNullValues: Record<string, string>;
|
|
40
|
+
/**
|
|
41
|
+
* Helper function to get wizard text in specified language
|
|
42
|
+
* @param language - Language code (e.g., 'en', 'es', 'fr')
|
|
43
|
+
* @returns Wizard templates for the specified language
|
|
44
|
+
*/
|
|
45
|
+
export declare function getWizardTemplates(language?: string): WizardTemplates;
|
|
46
|
+
/**
|
|
47
|
+
* Helper function to get friendly null value
|
|
48
|
+
* @param path - Dot-notation path to the config field
|
|
49
|
+
* @returns Friendly message for null value
|
|
50
|
+
*/
|
|
51
|
+
export declare function getFriendlyNullValue(path: string): string;
|
|
52
|
+
/**
|
|
53
|
+
* Template builder for wizard steps
|
|
54
|
+
* Allows for dynamic construction of wizard content
|
|
55
|
+
*/
|
|
56
|
+
export declare class WizardTemplateBuilder {
|
|
57
|
+
private templates;
|
|
58
|
+
constructor(language?: string);
|
|
59
|
+
/**
|
|
60
|
+
* Build the complete wizard text
|
|
61
|
+
*/
|
|
62
|
+
buildWizardText(currentConfig: any): string;
|
|
63
|
+
/**
|
|
64
|
+
* Build current configuration section
|
|
65
|
+
*/
|
|
66
|
+
private buildCurrentConfig;
|
|
67
|
+
/**
|
|
68
|
+
* Build all wizard steps
|
|
69
|
+
*/
|
|
70
|
+
private buildSteps;
|
|
71
|
+
/**
|
|
72
|
+
* Format a single wizard step
|
|
73
|
+
*/
|
|
74
|
+
private formatStep;
|
|
75
|
+
/**
|
|
76
|
+
* Build instruction options
|
|
77
|
+
*/
|
|
78
|
+
private buildInstructions;
|
|
79
|
+
/**
|
|
80
|
+
* Format config as YAML (stub - would use actual yaml library)
|
|
81
|
+
*/
|
|
82
|
+
private formatConfigAsYaml;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=wizardTemplates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wizardTemplates.d.ts","sourceRoot":"","sources":["../../src/config/wizardTemplates.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE;QACL,YAAY,EAAE,UAAU,CAAC;QACzB,iBAAiB,EAAE,UAAU,CAAC;QAC9B,aAAa,EAAE,UAAU,CAAC;QAC1B,kBAAkB,EAAE,UAAU,CAAC;KAChC,CAAC;IACF,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC;CACtC;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,eAqDpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA0BrD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,GAAE,MAAa,GAAG,eAAe,CAQ3E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,SAAS,CAAkB;gBAEvB,QAAQ,GAAE,MAAa;IAInC;;OAEG;IACH,eAAe,CAAC,aAAa,EAAE,GAAG,GAAG,MAAM;IAgB3C;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;IACH,OAAO,CAAC,UAAU;IAsBlB;;OAEG;IACH,OAAO,CAAC,UAAU;IAelB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAK3B"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wizard Text Templates
|
|
3
|
+
*
|
|
4
|
+
* Centralized configuration for all wizard text to support:
|
|
5
|
+
* - Internationalization (i18n) in the future
|
|
6
|
+
* - Consistent messaging across the application
|
|
7
|
+
* - Easy updates without modifying business logic
|
|
8
|
+
* - Template reusability
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Default English templates
|
|
12
|
+
*/
|
|
13
|
+
export const defaultWizardTemplates = {
|
|
14
|
+
title: '🧙 Configuration Wizard',
|
|
15
|
+
currentConfigHeader: '📊 Current Configuration:',
|
|
16
|
+
steps: {
|
|
17
|
+
userIdentity: {
|
|
18
|
+
title: '🎯 Step 1: User Identity',
|
|
19
|
+
description: 'This tags your creations so you can find them later. Everything is saved locally on your computer.',
|
|
20
|
+
instructions: [
|
|
21
|
+
'To set a username: Say "Set my username to [your-name]"',
|
|
22
|
+
'To stay anonymous: Say "I\'ll stay anonymous"',
|
|
23
|
+
],
|
|
24
|
+
currentValue: (value) => value || '(not set - anonymous mode)',
|
|
25
|
+
},
|
|
26
|
+
githubIntegration: {
|
|
27
|
+
title: '🔐 Step 2: GitHub Integration (Optional)',
|
|
28
|
+
description: 'Connect to GitHub to share your creations and browse community content.',
|
|
29
|
+
instructions: [
|
|
30
|
+
'To connect GitHub: Say "Connect my GitHub account"',
|
|
31
|
+
'To skip: Say "Skip GitHub for now"',
|
|
32
|
+
],
|
|
33
|
+
currentValue: (value) => value ? 'Connected' : '(not connected)',
|
|
34
|
+
},
|
|
35
|
+
portfolioSync: {
|
|
36
|
+
title: '🔄 Step 3: Portfolio Sync (Optional)',
|
|
37
|
+
description: 'Automatically backup your creations to GitHub.',
|
|
38
|
+
instructions: [
|
|
39
|
+
'To enable: Say "Enable auto-sync"',
|
|
40
|
+
'To keep manual: Say "I\'ll sync manually"',
|
|
41
|
+
],
|
|
42
|
+
currentValue: (value) => value ? 'Enabled' : 'Manual',
|
|
43
|
+
},
|
|
44
|
+
displayPreferences: {
|
|
45
|
+
title: '🎨 Step 4: Display Preferences',
|
|
46
|
+
description: 'Customize how DollhouseMCP shows information.',
|
|
47
|
+
instructions: [
|
|
48
|
+
'To show active persona: Say "Show persona indicators"',
|
|
49
|
+
'To keep minimal: Say "Use minimal display"',
|
|
50
|
+
],
|
|
51
|
+
currentValue: (value) => value ? 'Enabled' : 'Minimal',
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
instructions: {
|
|
55
|
+
quick: '💡 **Quick Setup**: Say "Configure the basics" to set just username and GitHub',
|
|
56
|
+
detailed: '📝 **Detailed Setup**: Say "Configure everything" to go through all options',
|
|
57
|
+
skip: '⏭️ **Skip for Now**: Say "Skip wizard" to use anonymous mode',
|
|
58
|
+
},
|
|
59
|
+
footer: '✨ You can always change these settings later by saying "Open configuration wizard"',
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Friendly value replacements for null/undefined config values
|
|
63
|
+
*/
|
|
64
|
+
export const friendlyNullValues = {
|
|
65
|
+
// User fields
|
|
66
|
+
'user.username': '(not set - anonymous mode active)',
|
|
67
|
+
'user.email': '(optional - not set)',
|
|
68
|
+
'user.display_name': '(not set - will use username)',
|
|
69
|
+
// GitHub fields
|
|
70
|
+
'github.auth_token': '(not configured - GitHub features disabled)',
|
|
71
|
+
'github.oauth_token': '(not authenticated)',
|
|
72
|
+
'github.default_repository': '(not set - will use default)',
|
|
73
|
+
'github.username': '(not connected)',
|
|
74
|
+
// Portfolio sync fields
|
|
75
|
+
'portfolio.sync_status.last_sync': '(never synced)',
|
|
76
|
+
'portfolio.sync_status.last_push': '(never pushed)',
|
|
77
|
+
'portfolio.sync_status.last_pull': '(never pulled)',
|
|
78
|
+
'portfolio.repository_name': `(using default: ${process.env.TEST_GITHUB_REPO || 'dollhouse-portfolio'})`,
|
|
79
|
+
// Collection submission
|
|
80
|
+
'collection_submission.auto_submit': '(disabled)',
|
|
81
|
+
// Indicator settings
|
|
82
|
+
'indicator.custom_format': '(using default format)',
|
|
83
|
+
// Default for any other null
|
|
84
|
+
'default': '(not set)',
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Helper function to get wizard text in specified language
|
|
88
|
+
* @param language - Language code (e.g., 'en', 'es', 'fr')
|
|
89
|
+
* @returns Wizard templates for the specified language
|
|
90
|
+
*/
|
|
91
|
+
export function getWizardTemplates(language = 'en') {
|
|
92
|
+
// For now, only English is supported
|
|
93
|
+
// Future: Load from language-specific files
|
|
94
|
+
switch (language) {
|
|
95
|
+
case 'en':
|
|
96
|
+
default:
|
|
97
|
+
return defaultWizardTemplates;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Helper function to get friendly null value
|
|
102
|
+
* @param path - Dot-notation path to the config field
|
|
103
|
+
* @returns Friendly message for null value
|
|
104
|
+
*/
|
|
105
|
+
export function getFriendlyNullValue(path) {
|
|
106
|
+
return friendlyNullValues[path] || friendlyNullValues['default'];
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Template builder for wizard steps
|
|
110
|
+
* Allows for dynamic construction of wizard content
|
|
111
|
+
*/
|
|
112
|
+
export class WizardTemplateBuilder {
|
|
113
|
+
templates;
|
|
114
|
+
constructor(language = 'en') {
|
|
115
|
+
this.templates = getWizardTemplates(language);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Build the complete wizard text
|
|
119
|
+
*/
|
|
120
|
+
buildWizardText(currentConfig) {
|
|
121
|
+
const parts = [
|
|
122
|
+
this.templates.title,
|
|
123
|
+
'',
|
|
124
|
+
this.buildCurrentConfig(currentConfig),
|
|
125
|
+
'',
|
|
126
|
+
this.buildSteps(currentConfig),
|
|
127
|
+
'',
|
|
128
|
+
this.buildInstructions(),
|
|
129
|
+
'',
|
|
130
|
+
this.templates.footer,
|
|
131
|
+
];
|
|
132
|
+
return parts.join('\n');
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Build current configuration section
|
|
136
|
+
*/
|
|
137
|
+
buildCurrentConfig(config) {
|
|
138
|
+
return `${this.templates.currentConfigHeader}
|
|
139
|
+
\`\`\`yaml
|
|
140
|
+
${this.formatConfigAsYaml(config)}
|
|
141
|
+
\`\`\``;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Build all wizard steps
|
|
145
|
+
*/
|
|
146
|
+
buildSteps(config) {
|
|
147
|
+
const steps = [];
|
|
148
|
+
// User Identity
|
|
149
|
+
const userStep = this.templates.steps.userIdentity;
|
|
150
|
+
steps.push(this.formatStep(userStep, config.user?.username));
|
|
151
|
+
// GitHub Integration
|
|
152
|
+
const githubStep = this.templates.steps.githubIntegration;
|
|
153
|
+
steps.push(this.formatStep(githubStep, config.github?.auth_token));
|
|
154
|
+
// Portfolio Sync
|
|
155
|
+
const portfolioStep = this.templates.steps.portfolioSync;
|
|
156
|
+
steps.push(this.formatStep(portfolioStep, config.portfolio?.auto_sync));
|
|
157
|
+
// Display Preferences
|
|
158
|
+
const displayStep = this.templates.steps.displayPreferences;
|
|
159
|
+
steps.push(this.formatStep(displayStep, config.indicator?.enabled));
|
|
160
|
+
return steps.join('\n\n');
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Format a single wizard step
|
|
164
|
+
*/
|
|
165
|
+
formatStep(step, currentValue) {
|
|
166
|
+
const lines = [
|
|
167
|
+
step.title,
|
|
168
|
+
step.description,
|
|
169
|
+
];
|
|
170
|
+
for (const instruction of step.instructions) {
|
|
171
|
+
lines.push(`- ${instruction}`);
|
|
172
|
+
}
|
|
173
|
+
lines.push(`- Current: ${step.currentValue(currentValue)}`);
|
|
174
|
+
return lines.join('\n');
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Build instruction options
|
|
178
|
+
*/
|
|
179
|
+
buildInstructions() {
|
|
180
|
+
return [
|
|
181
|
+
this.templates.instructions.quick,
|
|
182
|
+
this.templates.instructions.detailed,
|
|
183
|
+
this.templates.instructions.skip,
|
|
184
|
+
].join('\n');
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Format config as YAML (stub - would use actual yaml library)
|
|
188
|
+
*/
|
|
189
|
+
formatConfigAsYaml(config) {
|
|
190
|
+
// This would use the actual yaml.dump with friendly values
|
|
191
|
+
// For now, return a placeholder
|
|
192
|
+
return 'user:\n username: (not set)\n email: (optional)';
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkVGVtcGxhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy93aXphcmRUZW1wbGF0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUEwQkg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBb0I7SUFDckQsS0FBSyxFQUFFLHlCQUF5QjtJQUNoQyxtQkFBbUIsRUFBRSwyQkFBMkI7SUFFaEQsS0FBSyxFQUFFO1FBQ0wsWUFBWSxFQUFFO1lBQ1osS0FBSyxFQUFFLDBCQUEwQjtZQUNqQyxXQUFXLEVBQUUsb0dBQW9HO1lBQ2pILFlBQVksRUFBRTtnQkFDWix5REFBeUQ7Z0JBQ3pELCtDQUErQzthQUNoRDtZQUNELFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLDRCQUE0QjtTQUMvRDtRQUVELGlCQUFpQixFQUFFO1lBQ2pCLEtBQUssRUFBRSwwQ0FBMEM7WUFDakQsV0FBVyxFQUFFLHlFQUF5RTtZQUN0RixZQUFZLEVBQUU7Z0JBQ1osb0RBQW9EO2dCQUNwRCxvQ0FBb0M7YUFDckM7WUFDRCxZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxpQkFBaUI7U0FDakU7UUFFRCxhQUFhLEVBQUU7WUFDYixLQUFLLEVBQUUsc0NBQXNDO1lBQzdDLFdBQVcsRUFBRSxnREFBZ0Q7WUFDN0QsWUFBWSxFQUFFO2dCQUNaLG1DQUFtQztnQkFDbkMsMkNBQTJDO2FBQzVDO1lBQ0QsWUFBWSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUTtTQUN0RDtRQUVELGtCQUFrQixFQUFFO1lBQ2xCLEtBQUssRUFBRSxnQ0FBZ0M7WUFDdkMsV0FBVyxFQUFFLCtDQUErQztZQUM1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RCxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFNUQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNLLGlCQUFpQjtRQUN2QixPQUFPO1lBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsS0FBSztZQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxRQUFRO1lBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUk7U0FDakMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZixDQUFDO0lBRUQ7O09BRUc7SUFDSyxrQkFBa0IsQ0FBQyxNQUFXO1FBQ3BDLDJEQUEyRDtRQUMzRCxnQ0FBZ0M7UUFDaEMsT0FBTyxtREFBbUQsQ0FBQztJQUM3RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFdpemFyZCBUZXh0IFRlbXBsYXRlc1xuICogXG4gKiBDZW50cmFsaXplZCBjb25maWd1cmF0aW9uIGZvciBhbGwgd2l6YXJkIHRleHQgdG8gc3VwcG9ydDpcbiAqIC0gSW50ZXJuYXRpb25hbGl6YXRpb24gKGkxOG4pIGluIHRoZSBmdXR1cmVcbiAqIC0gQ29uc2lzdGVudCBtZXNzYWdpbmcgYWNyb3NzIHRoZSBhcHBsaWNhdGlvblxuICogLSBFYXN5IHVwZGF0ZXMgd2l0aG91dCBtb2RpZnlpbmcgYnVzaW5lc3MgbG9naWNcbiAqIC0gVGVtcGxhdGUgcmV1c2FiaWxpdHlcbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIFdpemFyZFRlbXBsYXRlcyB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGN1cnJlbnRDb25maWdIZWFkZXI6IHN0cmluZztcbiAgc3RlcHM6IHtcbiAgICB1c2VySWRlbnRpdHk6IFdpemFyZFN0ZXA7XG4gICAgZ2l0aHViSW50ZWdyYXRpb246IFdpemFyZFN0ZXA7XG4gICAgcG9ydGZvbGlvU3luYzogV2l6YXJkU3RlcDtcbiAgICBkaXNwbGF5UHJlZmVyZW5jZXM6IFdpemFyZFN0ZXA7XG4gIH07XG4gIGluc3RydWN0aW9uczoge1xuICAgIHF1aWNrOiBzdHJpbmc7XG4gICAgZGV0YWlsZWQ6IHN0cmluZztcbiAgICBza2lwOiBzdHJpbmc7XG4gIH07XG4gIGZvb3Rlcjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdpemFyZFN0ZXAge1xuICB0aXRsZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBpbnN0cnVjdGlvbnM6IHN0cmluZ1tdO1xuICBjdXJyZW50VmFsdWU6ICh2YWx1ZTogYW55KSA9PiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGVmYXVsdCBFbmdsaXNoIHRlbXBsYXRlc1xuICovXG5leHBvcnQgY29uc3QgZGVmYXVsdFdpemFyZFRlbXBsYXRlczogV2l6YXJkVGVtcGxhdGVzID0ge1xuICB0aXRsZTogJ/Cfp5kgQ29uZmlndXJhdGlvbiBXaXphcmQnLFxuICBjdXJyZW50Q29uZmlnSGVhZGVyOiAn8J+TiiBDdXJyZW50IENvbmZpZ3VyYXRpb246JyxcbiAgXG4gIHN0ZXBzOiB7XG4gICAgdXNlcklkZW50aXR5OiB7XG4gICAgICB0aXRsZTogJ/Cfjq8gU3RlcCAxOiBVc2VyIElkZW50aXR5JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyB0YWdzIHlvdXIgY3JlYXRpb25zIHNvIHlvdSBjYW4gZmluZCB0aGVtIGxhdGVyLiBFdmVyeXRoaW5nIGlzIHNhdmVkIGxvY2FsbHkgb24geW91ciBjb21wdXRlci4nLFxuICAgICAgaW5zdHJ1Y3Rpb25zOiBbXG4gICAgICAgICdUbyBzZXQgYSB1c2VybmFtZTogU2F5IFwiU2V0IG15IHVzZXJuYW1lIHRvIFt5b3VyLW5hbWVdXCInLFxuICAgICAgICAnVG8gc3RheSBhbm9ueW1vdXM6IFNheSBcIklcXCdsbCBzdGF5IGFub255bW91c1wiJyxcbiAgICAgIF0sXG4gICAgICBjdXJyZW50VmFsdWU6ICh2YWx1ZSkgPT4gdmFsdWUgfHwgJyhub3Qgc2V0IC0gYW5vbnltb3VzIG1vZGUpJyxcbiAgICB9LFxuICAgIFxuICAgIGdpdGh1YkludGVncmF0aW9uOiB7XG4gICAgICB0aXRsZTogJ/CflJAgU3RlcCAyOiBHaXRIdWIgSW50ZWdyYXRpb24gKE9wdGlvbmFsKScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0Nvbm5lY3QgdG8gR2l0SHViIHRvIHNoYXJlIHlvdXIgY3JlYXRpb25zIGFuZCBicm93c2UgY29tbXVuaXR5IGNvbnRlbnQuJyxcbiAgICAgIGluc3RydWN0aW9uczogW1xuICAgICAgICAnVG8gY29ubmVjdCBHaXRIdWI6IFNheSBcIkNvbm5lY3QgbXkgR2l0SHViIGFjY291bnRcIicsXG4gICAgICAgICdUbyBza2lwOiBTYXkgXCJTa2lwIEdpdEh1YiBmb3Igbm93XCInLFxuICAgICAgXSxcbiAgICAgIGN1cnJlbnRWYWx1ZTogKHZhbHVlKSA9PiB2YWx1ZSA/ICdDb25uZWN0ZWQnIDogJyhub3QgY29ubmVjdGVkKScsXG4gICAgfSxcbiAgICBcbiAgICBwb3J0Zm9saW9TeW5jOiB7XG4gICAgICB0aXRsZTogJ/CflIQgU3RlcCAzOiBQb3J0Zm9saW8gU3luYyAoT3B0aW9uYWwpJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQXV0b21hdGljYWxseSBiYWNrdXAgeW91ciBjcmVhdGlvbnMgdG8gR2l0SHViLicsXG4gICAgICBpbnN0cnVjdGlvbnM6IFtcbiAgICAgICAgJ1RvIGVuYWJsZTogU2F5IFwiRW5hYmxlIGF1dG8tc3luY1wiJyxcbiAgICAgICAgJ1RvIGtlZXAgbWFudWFsOiBTYXkgXCJJXFwnbGwgc3luYyBtYW51YWxseVwiJyxcbiAgICAgIF0sXG4gICAgICBjdXJyZW50VmFsdWU6ICh2YWx1ZSkgPT4gdmFsdWUgPyAnRW5hYmxlZCcgOiAnTWFudWFsJyxcbiAgICB9LFxuICAgIFxuICAgIGRpc3BsYXlQcmVmZXJlbmNlczoge1xuICAgICAgdGl0bGU6ICfwn46oIFN0ZXAgNDogRGlzcGxheSBQcmVmZXJlbmNlcycsXG4gICAgICBkZXNjcmlwdGlvbjogJ0N1c3RvbWl6ZSBob3cgRG9sbGhvdXNlTUNQIHNob3dzIGluZm9ybWF0aW9uLicsXG4gICAgICBpbnN0cnVjdGlvbnM6IFtcbiAgICAgICAgJ1RvIHNob3cgYWN0aXZlIHBlcnNvbmE6IFNheSBcIlNob3cgcGVyc29uYSBpbmRpY2F0b3JzXCInLFxuICAgICAgICAnVG8ga2VlcCBtaW5pbWFsOiBTYXkgXCJVc2UgbWluaW1hbCBkaXNwbGF5XCInLFxuICAgICAgXSxcbiAgICAgIGN1cnJlbnRWYWx1ZTogKHZhbHVlKSA9PiB2YWx1ZSA/ICdFbmFibGVkJyA6ICdNaW5pbWFsJyxcbiAgICB9LFxuICB9LFxuICBcbiAgaW5zdHJ1Y3Rpb25zOiB7XG4gICAgcXVpY2s6ICfwn5KhICoqUXVpY2sgU2V0dXAqKjogU2F5IFwiQ29uZmlndXJlIHRoZSBiYXNpY3NcIiB0byBzZXQganVzdCB1c2VybmFtZSBhbmQgR2l0SHViJyxcbiAgICBkZXRhaWxlZDogJ/Cfk50gKipEZXRhaWxlZCBTZXR1cCoqOiBTYXkgXCJDb25maWd1cmUgZXZlcnl0aGluZ1wiIHRvIGdvIHRocm91Z2ggYWxsIG9wdGlvbnMnLFxuICAgIHNraXA6ICfij63vuI8gKipTa2lwIGZvciBOb3cqKjogU2F5IFwiU2tpcCB3aXphcmRcIiB0byB1c2UgYW5vbnltb3VzIG1vZGUnLFxuICB9LFxuICBcbiAgZm9vdGVyOiAn4pyoIFlvdSBjYW4gYWx3YXlzIGNoYW5nZSB0aGVzZSBzZXR0aW5ncyBsYXRlciBieSBzYXlpbmcgXCJPcGVuIGNvbmZpZ3VyYXRpb24gd2l6YXJkXCInLFxufTtcblxuLyoqXG4gKiBGcmllbmRseSB2YWx1ZSByZXBsYWNlbWVudHMgZm9yIG51bGwvdW5kZWZpbmVkIGNvbmZpZyB2YWx1ZXNcbiAqL1xuZXhwb3J0IGNvbnN0IGZyaWVuZGx5TnVsbFZhbHVlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgLy8gVXNlciBmaWVsZHNcbiAgJ3VzZXIudXNlcm5hbWUnOiAnKG5vdCBzZXQgLSBhbm9ueW1vdXMgbW9kZSBhY3RpdmUpJyxcbiAgJ3VzZXIuZW1haWwnOiAnKG9wdGlvbmFsIC0gbm90IHNldCknLFxuICAndXNlci5kaXNwbGF5X25hbWUnOiAnKG5vdCBzZXQgLSB3aWxsIHVzZSB1c2VybmFtZSknLFxuICBcbiAgLy8gR2l0SHViIGZpZWxkc1xuICAnZ2l0aHViLmF1dGhfdG9rZW4nOiAnKG5vdCBjb25maWd1cmVkIC0gR2l0SHViIGZlYXR1cmVzIGRpc2FibGVkKScsXG4gICdnaXRodWIub2F1dGhfdG9rZW4nOiAnKG5vdCBhdXRoZW50aWNhdGVkKScsXG4gICdnaXRodWIuZGVmYXVsdF9yZXBvc2l0b3J5JzogJyhub3Qgc2V0IC0gd2lsbCB1c2UgZGVmYXVsdCknLFxuICAnZ2l0aHViLnVzZXJuYW1lJzogJyhub3QgY29ubmVjdGVkKScsXG4gIFxuICAvLyBQb3J0Zm9saW8gc3luYyBmaWVsZHNcbiAgJ3BvcnRmb2xpby5zeW5jX3N0YXR1cy5sYXN0X3N5bmMnOiAnKG5ldmVyIHN5bmNlZCknLFxuICAncG9ydGZvbGlvLnN5bmNfc3RhdHVzLmxhc3RfcHVzaCc6ICcobmV2ZXIgcHVzaGVkKScsXG4gICdwb3J0Zm9saW8uc3luY19zdGF0dXMubGFzdF9wdWxsJzogJyhuZXZlciBwdWxsZWQpJyxcbiAgJ3BvcnRmb2xpby5yZXBvc2l0b3J5X25hbWUnOiBgKHVzaW5nIGRlZmF1bHQ6ICR7cHJvY2Vzcy5lbnYuVEVTVF9HSVRIVUJfUkVQTyB8fCAnZG9sbGhvdXNlLXBvcnRmb2xpbyd9KWAsXG4gIFxuICAvLyBDb2xsZWN0aW9uIHN1Ym1pc3Npb25cbiAgJ2NvbGxlY3Rpb25fc3VibWlzc2lvbi5hdXRvX3N1Ym1pdCc6ICcoZGlzYWJsZWQpJyxcbiAgXG4gIC8vIEluZGljYXRvciBzZXR0aW5nc1xuICAnaW5kaWNhdG9yLmN1c3RvbV9mb3JtYXQnOiAnKHVzaW5nIGRlZmF1bHQgZm9ybWF0KScsXG4gIFxuICAvLyBEZWZhdWx0IGZvciBhbnkgb3RoZXIgbnVsbFxuICAnZGVmYXVsdCc6ICcobm90IHNldCknLFxufTtcblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHdpemFyZCB0ZXh0IGluIHNwZWNpZmllZCBsYW5ndWFnZVxuICogQHBhcmFtIGxhbmd1YWdlIC0gTGFuZ3VhZ2UgY29kZSAoZS5nLiwgJ2VuJywgJ2VzJywgJ2ZyJylcbiAqIEByZXR1cm5zIFdpemFyZCB0ZW1wbGF0ZXMgZm9yIHRoZSBzcGVjaWZpZWQgbGFuZ3VhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFdpemFyZFRlbXBsYXRlcyhsYW5ndWFnZTogc3RyaW5nID0gJ2VuJyk6IFdpemFyZFRlbXBsYXRlcyB7XG4gIC8vIEZvciBub3csIG9ubHkgRW5nbGlzaCBpcyBzdXBwb3J0ZWRcbiAgLy8gRnV0dXJlOiBMb2FkIGZyb20gbGFuZ3VhZ2Utc3BlY2lmaWMgZmlsZXNcbiAgc3dpdGNoIChsYW5ndWFnZSkge1xuICAgIGNhc2UgJ2VuJzpcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGRlZmF1bHRXaXphcmRUZW1wbGF0ZXM7XG4gIH1cbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IGZyaWVuZGx5IG51bGwgdmFsdWVcbiAqIEBwYXJhbSBwYXRoIC0gRG90LW5vdGF0aW9uIHBhdGggdG8gdGhlIGNvbmZpZyBmaWVsZFxuICogQHJldHVybnMgRnJpZW5kbHkgbWVzc2FnZSBmb3IgbnVsbCB2YWx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RnJpZW5kbHlOdWxsVmFsdWUocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGZyaWVuZGx5TnVsbFZhbHVlc1twYXRoXSB8fCBmcmllbmRseU51bGxWYWx1ZXNbJ2RlZmF1bHQnXTtcbn1cblxuLyoqXG4gKiBUZW1wbGF0ZSBidWlsZGVyIGZvciB3aXphcmQgc3RlcHNcbiAqIEFsbG93cyBmb3IgZHluYW1pYyBjb25zdHJ1Y3Rpb24gb2Ygd2l6YXJkIGNvbnRlbnRcbiAqL1xuZXhwb3J0IGNsYXNzIFdpemFyZFRlbXBsYXRlQnVpbGRlciB7XG4gIHByaXZhdGUgdGVtcGxhdGVzOiBXaXphcmRUZW1wbGF0ZXM7XG4gIFxuICBjb25zdHJ1Y3RvcihsYW5ndWFnZTogc3RyaW5nID0gJ2VuJykge1xuICAgIHRoaXMudGVtcGxhdGVzID0gZ2V0V2l6YXJkVGVtcGxhdGVzKGxhbmd1YWdlKTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIEJ1aWxkIHRoZSBjb21wbGV0ZSB3aXphcmQgdGV4dFxuICAgKi9cbiAgYnVpbGRXaXphcmRUZXh0KGN1cnJlbnRDb25maWc6IGFueSk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW1xuICAgICAgdGhpcy50ZW1wbGF0ZXMudGl0bGUsXG4gICAgICAnJyxcbiAgICAgIHRoaXMuYnVpbGRDdXJyZW50Q29uZmlnKGN1cnJlbnRDb25maWcpLFxuICAgICAgJycsXG4gICAgICB0aGlzLmJ1aWxkU3RlcHMoY3VycmVudENvbmZpZyksXG4gICAgICAnJyxcbiAgICAgIHRoaXMuYnVpbGRJbnN0cnVjdGlvbnMoKSxcbiAgICAgICcnLFxuICAgICAgdGhpcy50ZW1wbGF0ZXMuZm9vdGVyLFxuICAgIF07XG4gICAgXG4gICAgcmV0dXJuIHBhcnRzLmpvaW4oJ1xcbicpO1xuICB9XG4gIFxuICAvKipcbiAgICogQnVpbGQgY3VycmVudCBjb25maWd1cmF0aW9uIHNlY3Rpb25cbiAgICovXG4gIHByaXZhdGUgYnVpbGRDdXJyZW50Q29uZmlnKGNvbmZpZzogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy50ZW1wbGF0ZXMuY3VycmVudENvbmZpZ0hlYWRlcn1cblxcYFxcYFxcYHlhbWxcbiR7dGhpcy5mb3JtYXRDb25maWdBc1lhbWwoY29uZmlnKX1cblxcYFxcYFxcYGA7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBCdWlsZCBhbGwgd2l6YXJkIHN0ZXBzXG4gICAqL1xuICBwcml2YXRlIGJ1aWxkU3RlcHMoY29uZmlnOiBhbnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IHN0ZXBzID0gW107XG4gICAgXG4gICAgLy8gVXNlciBJZGVudGl0eVxuICAgIGNvbnN0IHVzZXJTdGVwID0gdGhpcy50ZW1wbGF0ZXMuc3RlcHMudXNlcklkZW50aXR5O1xuICAgIHN0ZXBzLnB1c2godGhpcy5mb3JtYXRTdGVwKHVzZXJTdGVwLCBjb25maWcudXNlcj8udXNlcm5hbWUpKTtcbiAgICBcbiAgICAvLyBHaXRIdWIgSW50ZWdyYXRpb25cbiAgICBjb25zdCBnaXRodWJTdGVwID0gdGhpcy50ZW1wbGF0ZXMuc3RlcHMuZ2l0aHViSW50ZWdyYXRpb247XG4gICAgc3RlcHMucHVzaCh0aGlzLmZvcm1hdFN0ZXAoZ2l0aHViU3RlcCwgY29uZmlnLmdpdGh1Yj8uYXV0aF90b2tlbikpO1xuICAgIFxuICAgIC8vIFBvcnRmb2xpbyBTeW5jXG4gICAgY29uc3QgcG9ydGZvbGlvU3RlcCA9IHRoaXMudGVtcGxhdGVzLnN0ZXBzLnBvcnRmb2xpb1N5bmM7XG4gICAgc3RlcHMucHVzaCh0aGlzLmZvcm1hdFN0ZXAocG9ydGZvbGlvU3RlcCwgY29uZmlnLnBvcnRmb2xpbz8uYXV0b19zeW5jKSk7XG4gICAgXG4gICAgLy8gRGlzcGxheSBQcmVmZXJlbmNlc1xuICAgIGNvbnN0IGRpc3BsYXlTdGVwID0gdGhpcy50ZW1wbGF0ZXMuc3RlcHMuZGlzcGxheVByZWZlcmVuY2VzO1xuICAgIHN0ZXBzLnB1c2godGhpcy5mb3JtYXRTdGVwKGRpc3BsYXlTdGVwLCBjb25maWcuaW5kaWNhdG9yPy5lbmFibGVkKSk7XG4gICAgXG4gICAgcmV0dXJuIHN0ZXBzLmpvaW4oJ1xcblxcbicpO1xuICB9XG4gIFxuICAvKipcbiAgICogRm9ybWF0IGEgc2luZ2xlIHdpemFyZCBzdGVwXG4gICAqL1xuICBwcml2YXRlIGZvcm1hdFN0ZXAoc3RlcDogV2l6YXJkU3RlcCwgY3VycmVudFZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxpbmVzID0gW1xuICAgICAgc3RlcC50aXRsZSxcbiAgICAgIHN0ZXAuZGVzY3JpcHRpb24sXG4gICAgXTtcbiAgICBcbiAgICBmb3IgKGNvbnN0IGluc3RydWN0aW9uIG9mIHN0ZXAuaW5zdHJ1Y3Rpb25zKSB7XG4gICAgICBsaW5lcy5wdXNoKGAtICR7aW5zdHJ1Y3Rpb259YCk7XG4gICAgfVxuICAgIFxuICAgIGxpbmVzLnB1c2goYC0gQ3VycmVudDogJHtzdGVwLmN1cnJlbnRWYWx1ZShjdXJyZW50VmFsdWUpfWApO1xuICAgIFxuICAgIHJldHVybiBsaW5lcy5qb2luKCdcXG4nKTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIEJ1aWxkIGluc3RydWN0aW9uIG9wdGlvbnNcbiAgICovXG4gIHByaXZhdGUgYnVpbGRJbnN0cnVjdGlvbnMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy50ZW1wbGF0ZXMuaW5zdHJ1Y3Rpb25zLnF1aWNrLFxuICAgICAgdGhpcy50ZW1wbGF0ZXMuaW5zdHJ1Y3Rpb25zLmRldGFpbGVkLFxuICAgICAgdGhpcy50ZW1wbGF0ZXMuaW5zdHJ1Y3Rpb25zLnNraXAsXG4gICAgXS5qb2luKCdcXG4nKTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIEZvcm1hdCBjb25maWcgYXMgWUFNTCAoc3R1YiAtIHdvdWxkIHVzZSBhY3R1YWwgeWFtbCBsaWJyYXJ5KVxuICAgKi9cbiAgcHJpdmF0ZSBmb3JtYXRDb25maWdBc1lhbWwoY29uZmlnOiBhbnkpOiBzdHJpbmcge1xuICAgIC8vIFRoaXMgd291bGQgdXNlIHRoZSBhY3R1YWwgeWFtbC5kdW1wIHdpdGggZnJpZW5kbHkgdmFsdWVzXG4gICAgLy8gRm9yIG5vdywgcmV0dXJuIGEgcGxhY2Vob2xkZXJcbiAgICByZXR1cm4gJ3VzZXI6XFxuICB1c2VybmFtZTogKG5vdCBzZXQpXFxuICBlbWFpbDogKG9wdGlvbmFsKSc7XG4gIH1cbn0iXX0=
|
|
@@ -4,6 +4,21 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { IElement, IElementMetadata, ElementStatus, ElementRatings, Reference, ElementValidationResult, FeedbackContext } from '../types/elements/index.js';
|
|
6
6
|
import { ElementType } from '../portfolio/types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Normalizes version strings to full semver format (X.Y.Z)
|
|
9
|
+
* This helps maintain consistency while accepting flexible input formats
|
|
10
|
+
*
|
|
11
|
+
* @param version - The version string to normalize
|
|
12
|
+
* @returns Normalized version string in X.Y.Z format with leading zeros removed
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* normalizeVersion("1") // "1.0.0"
|
|
16
|
+
* normalizeVersion("1.2") // "1.2.0"
|
|
17
|
+
* normalizeVersion("1.2.3") // "1.2.3"
|
|
18
|
+
* normalizeVersion("1.0-beta") // "1.0.0-beta"
|
|
19
|
+
* normalizeVersion("01.02.03") // "1.2.3" (strips leading zeros)
|
|
20
|
+
*/
|
|
21
|
+
export declare function normalizeVersion(version: string): string;
|
|
7
22
|
export declare abstract class BaseElement implements IElement {
|
|
8
23
|
id: string;
|
|
9
24
|
type: ElementType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseElement.d.ts","sourceRoot":"","sources":["../../src/elements/BaseElement.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,SAAS,EACT,uBAAuB,EAGvB,eAAe,EAEhB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAQpD,8BAAsB,WAAY,YAAW,QAAQ;IAE5C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAGhB,QAAQ,EAAE,gBAAgB,CAAC;IAG3B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,cAAc,CAAC;IAGhC,SAAS,CAAC,OAAO,EAAE,aAAa,CAA0B;IAC1D,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAS;IAGpC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAO;gBAEhC,IAAI,EAAE,WAAW,EAAE,QAAQ,GAAE,OAAO,CAAC,gBAAgB,CAAM;IAgCvE;;;OAGG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAW1C;;;OAGG;IACI,QAAQ,IAAI,uBAAuB;
|
|
1
|
+
{"version":3,"file":"BaseElement.d.ts","sourceRoot":"","sources":["../../src/elements/BaseElement.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,SAAS,EACT,uBAAuB,EAGvB,eAAe,EAEhB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAQpD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAiBxD;AAED,8BAAsB,WAAY,YAAW,QAAQ;IAE5C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAGhB,QAAQ,EAAE,gBAAgB,CAAC;IAG3B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,cAAc,CAAC;IAGhC,SAAS,CAAC,OAAO,EAAE,aAAa,CAA0B;IAC1D,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAS;IAGpC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAO;gBAEhC,IAAI,EAAE,WAAW,EAAE,QAAQ,GAAE,OAAO,CAAC,gBAAgB,CAAM;IAgCvE;;;OAGG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAW1C;;;OAGG;IACI,QAAQ,IAAI,uBAAuB;IAmG1C;;;OAGG;IACI,eAAe,IAAI,MAAM;IAchC;;;;;OAKG;IACI,SAAS,IAAI,MAAM;IAoE1B;;;OAGG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,MAAM;IAE/B;;;OAGG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA0CtC;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI;IA6DzE;;;OAGG;IACH,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS;IAcjF;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAyB3D;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IA+BnD;;OAEG;IACI,SAAS,IAAI,aAAa;IAIjC;;OAEG;IACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAK/B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAKzB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOxC;;OAEG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;IAK3B;;OAEG;IACI,OAAO,IAAI,OAAO;IAIzB;;OAEG;IACI,SAAS,IAAI,IAAI;CAGzB"}
|