feat(mosaic): migrate install wizard from v0 to v1
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful

Complete port of the ~2000 LOC mosaic install wizard from v0. Migrates
all 27 source files across the prompter, config, platform, template,
runtime, skills, and stages subsystems to v1 ESM/NodeNext conventions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-14 19:54:09 -05:00
parent 84e1868028
commit b57fc317b8
31 changed files with 2272 additions and 2 deletions

View File

@@ -0,0 +1,23 @@
export interface TemplateVars {
[key: string]: string;
}
/**
* Replaces {{PLACEHOLDER}} tokens with provided values.
* Does NOT expand ${ENV_VAR} syntax — those pass through for shell resolution.
*/
export function renderTemplate(
template: string,
vars: TemplateVars,
options: { strict?: boolean } = {},
): string {
return template.replace(/\{\{([A-Z_][A-Z0-9_]*)\}\}/g, (match, varName: string) => {
if (varName in vars) {
return vars[varName] ?? '';
}
if (options.strict) {
throw new Error(`Template variable not provided: {{${varName}}}`);
}
return '';
});
}