container-superposition 0.1.3 → 0.1.5

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 (141) hide show
  1. package/README.md +72 -1014
  2. package/dist/scripts/init.js +512 -238
  3. package/dist/scripts/init.js.map +1 -1
  4. package/dist/tool/commands/adopt.d.ts +62 -0
  5. package/dist/tool/commands/adopt.d.ts.map +1 -0
  6. package/dist/tool/commands/adopt.js +767 -0
  7. package/dist/tool/commands/adopt.js.map +1 -0
  8. package/dist/tool/commands/doctor.js +2 -2
  9. package/dist/tool/commands/explain.d.ts.map +1 -1
  10. package/dist/tool/commands/explain.js +88 -0
  11. package/dist/tool/commands/explain.js.map +1 -1
  12. package/dist/tool/commands/hash.d.ts +36 -0
  13. package/dist/tool/commands/hash.d.ts.map +1 -0
  14. package/dist/tool/commands/hash.js +242 -0
  15. package/dist/tool/commands/hash.js.map +1 -0
  16. package/dist/tool/commands/plan.d.ts +53 -0
  17. package/dist/tool/commands/plan.d.ts.map +1 -1
  18. package/dist/tool/commands/plan.js +784 -42
  19. package/dist/tool/commands/plan.js.map +1 -1
  20. package/dist/tool/questionnaire/composer.d.ts +12 -3
  21. package/dist/tool/questionnaire/composer.d.ts.map +1 -1
  22. package/dist/tool/questionnaire/composer.js +133 -20
  23. package/dist/tool/questionnaire/composer.js.map +1 -1
  24. package/dist/tool/schema/project-config.d.ts +15 -0
  25. package/dist/tool/schema/project-config.d.ts.map +1 -0
  26. package/dist/tool/schema/project-config.js +359 -0
  27. package/dist/tool/schema/project-config.js.map +1 -0
  28. package/dist/tool/schema/types.d.ts +57 -1
  29. package/dist/tool/schema/types.d.ts.map +1 -1
  30. package/dist/tool/utils/backup.d.ts +23 -0
  31. package/dist/tool/utils/backup.d.ts.map +1 -0
  32. package/dist/tool/utils/backup.js +123 -0
  33. package/dist/tool/utils/backup.js.map +1 -0
  34. package/dist/tool/utils/gitignore.d.ts +15 -0
  35. package/dist/tool/utils/gitignore.d.ts.map +1 -0
  36. package/dist/tool/utils/gitignore.js +41 -0
  37. package/dist/tool/utils/gitignore.js.map +1 -0
  38. package/dist/tool/utils/services-export.d.ts +14 -0
  39. package/dist/tool/utils/services-export.d.ts.map +1 -0
  40. package/dist/tool/utils/services-export.js +478 -0
  41. package/dist/tool/utils/services-export.js.map +1 -0
  42. package/dist/tool/utils/summary.d.ts +69 -0
  43. package/dist/tool/utils/summary.d.ts.map +1 -0
  44. package/dist/tool/utils/summary.js +260 -0
  45. package/dist/tool/utils/summary.js.map +1 -0
  46. package/docs/README.md +12 -2
  47. package/docs/adopt.md +196 -0
  48. package/docs/custom-patches.md +1 -1
  49. package/docs/discovery-commands.md +55 -3
  50. package/docs/examples.md +40 -6
  51. package/docs/filesystem-contract.md +58 -0
  52. package/docs/hash.md +183 -0
  53. package/docs/minimal-and-editor.md +1 -1
  54. package/docs/overlays.md +108 -5
  55. package/docs/presets-architecture.md +1 -1
  56. package/docs/presets.md +1 -1
  57. package/docs/publishing.md +36 -23
  58. package/docs/security.md +43 -0
  59. package/docs/specs/001-verbose-plan-graph/checklists/requirements.md +36 -0
  60. package/docs/specs/001-verbose-plan-graph/contracts/plan-verbose-output.md +96 -0
  61. package/docs/specs/001-verbose-plan-graph/data-model.md +111 -0
  62. package/docs/specs/001-verbose-plan-graph/plan.md +127 -0
  63. package/docs/specs/001-verbose-plan-graph/quickstart.md +106 -0
  64. package/docs/specs/001-verbose-plan-graph/research.md +100 -0
  65. package/docs/specs/001-verbose-plan-graph/spec.md +128 -0
  66. package/docs/specs/001-verbose-plan-graph/tasks.md +223 -0
  67. package/docs/specs/002-superposition-config-file/checklists/requirements.md +36 -0
  68. package/docs/specs/002-superposition-config-file/contracts/init-project-config.md +98 -0
  69. package/docs/specs/002-superposition-config-file/data-model.md +126 -0
  70. package/docs/specs/002-superposition-config-file/plan.md +208 -0
  71. package/docs/specs/002-superposition-config-file/quickstart.md +140 -0
  72. package/docs/specs/002-superposition-config-file/research.md +144 -0
  73. package/docs/specs/002-superposition-config-file/spec.md +130 -0
  74. package/docs/specs/002-superposition-config-file/tasks.md +213 -0
  75. package/docs/team-workflow.md +27 -1
  76. package/docs/workflows.md +136 -0
  77. package/overlays/.presets/microservice.yml +32 -6
  78. package/overlays/.presets/sdd.yml +84 -0
  79. package/overlays/.presets/web-api.yml +76 -56
  80. package/overlays/README.md +7 -1
  81. package/overlays/amp/README.md +70 -0
  82. package/overlays/amp/devcontainer.patch.json +3 -0
  83. package/overlays/amp/overlay.yml +15 -0
  84. package/overlays/amp/setup.sh +21 -0
  85. package/overlays/amp/verify.sh +21 -0
  86. package/overlays/claude-code/README.md +83 -0
  87. package/overlays/claude-code/devcontainer.patch.json +3 -0
  88. package/overlays/claude-code/overlay.yml +15 -0
  89. package/overlays/claude-code/setup.sh +21 -0
  90. package/overlays/claude-code/verify.sh +21 -0
  91. package/overlays/cloudflared/README.md +190 -0
  92. package/overlays/cloudflared/devcontainer.patch.json +3 -0
  93. package/overlays/cloudflared/overlay.yml +15 -0
  94. package/overlays/cloudflared/setup.sh +49 -0
  95. package/overlays/cloudflared/verify.sh +21 -0
  96. package/overlays/direnv/README.md +6 -4
  97. package/overlays/direnv/setup.sh +0 -12
  98. package/overlays/gemini-cli/README.md +77 -0
  99. package/overlays/gemini-cli/devcontainer.patch.json +3 -0
  100. package/overlays/gemini-cli/overlay.yml +15 -0
  101. package/overlays/gemini-cli/setup.sh +21 -0
  102. package/overlays/gemini-cli/verify.sh +21 -0
  103. package/overlays/grpc-tools/README.md +242 -0
  104. package/overlays/grpc-tools/devcontainer.patch.json +14 -0
  105. package/overlays/grpc-tools/overlay.yml +14 -0
  106. package/overlays/grpc-tools/setup.sh +57 -0
  107. package/overlays/grpc-tools/verify.sh +47 -0
  108. package/overlays/keycloak/.env.example +5 -0
  109. package/overlays/keycloak/README.md +238 -0
  110. package/overlays/keycloak/devcontainer.patch.json +17 -0
  111. package/overlays/keycloak/docker-compose.yml +32 -0
  112. package/overlays/keycloak/overlay.yml +23 -0
  113. package/overlays/keycloak/verify.sh +54 -0
  114. package/overlays/mailpit/.env.example +4 -0
  115. package/overlays/mailpit/README.md +191 -0
  116. package/overlays/mailpit/devcontainer.patch.json +20 -0
  117. package/overlays/mailpit/docker-compose.yml +17 -0
  118. package/overlays/mailpit/overlay.yml +26 -0
  119. package/overlays/mailpit/verify.sh +52 -0
  120. package/overlays/ngrok/overlay.yml +2 -1
  121. package/overlays/opencode/README.md +76 -0
  122. package/overlays/opencode/devcontainer.patch.json +3 -0
  123. package/overlays/opencode/overlay.yml +14 -0
  124. package/overlays/opencode/setup.sh +21 -0
  125. package/overlays/opencode/verify.sh +21 -0
  126. package/overlays/python/README.md +51 -35
  127. package/overlays/python/devcontainer.patch.json +7 -4
  128. package/overlays/python/setup.sh +50 -23
  129. package/overlays/python/verify.sh +29 -1
  130. package/overlays/spec-kit/README.md +181 -0
  131. package/overlays/spec-kit/devcontainer.patch.json +6 -0
  132. package/overlays/spec-kit/overlay.yml +19 -0
  133. package/overlays/spec-kit/setup.sh +45 -0
  134. package/overlays/spec-kit/verify.sh +33 -0
  135. package/overlays/windsurf-cli/README.md +69 -0
  136. package/overlays/windsurf-cli/devcontainer.patch.json +3 -0
  137. package/overlays/windsurf-cli/overlay.yml +15 -0
  138. package/overlays/windsurf-cli/setup.sh +21 -0
  139. package/overlays/windsurf-cli/verify.sh +21 -0
  140. package/package.json +1 -1
  141. package/tool/schema/config.schema.json +138 -9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adopt.js","sourceRoot":"","sources":["../../../tool/commands/adopt.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ function isVersionAtLeast(current, required) {
37
37
  */
38
38
  function checkNodeVersion() {
39
39
  const nodeVersion = process.version;
40
- const requiredVersion = '18.0.0';
40
+ const requiredVersion = '20.0.0';
41
41
  const versionMatch = nodeVersion.match(/^v(\d+\.\d+\.\d+)/);
42
42
  const currentVersion = versionMatch ? versionMatch[1] : '0.0.0';
43
43
  const ok = isVersionAtLeast(currentVersion, requiredVersion);
@@ -50,7 +50,7 @@ function checkNodeVersion() {
50
50
  details: ok
51
51
  ? undefined
52
52
  : [
53
- 'Update Node.js to version 18 or later',
53
+ 'Update Node.js to version 20 or later',
54
54
  'Visit https://nodejs.org/ to download the latest version',
55
55
  ],
56
56
  };
@@ -1 +1 @@
1
- {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../tool/commands/explain.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAmB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE1E,UAAU,cAAc;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAqMD;;GAEG;AACH,wBAAsB,cAAc,CAChC,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,iBAqC1B"}
1
+ {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../tool/commands/explain.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAmB,cAAc,EAAmB,MAAM,oBAAoB,CAAC;AAE3F,UAAU,cAAc;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAqTD;;GAEG;AACH,wBAAsB,cAAc,CAChC,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,iBA6C1B"}
@@ -61,6 +61,43 @@ function getDockerComposeServices(overlaysDir, overlayId) {
61
61
  return [];
62
62
  }
63
63
  }
64
+ /**
65
+ * Load preset definition from YAML file (for showing parameters in explain)
66
+ */
67
+ function loadPresetDefinition(overlaysDir, presetId) {
68
+ const presetPath = path.join(overlaysDir, '.presets', `${presetId}.yml`);
69
+ if (!fs.existsSync(presetPath)) {
70
+ return null;
71
+ }
72
+ try {
73
+ const content = fs.readFileSync(presetPath, 'utf8');
74
+ return yaml.load(content);
75
+ }
76
+ catch {
77
+ return null;
78
+ }
79
+ }
80
+ /**
81
+ * Format preset parameters section
82
+ */
83
+ function formatPresetParameters(parameters, lines) {
84
+ lines.push('');
85
+ lines.push(chalk.bold('Preset Parameters:'));
86
+ lines.push(chalk.dim(' Customize this preset with --preset-param key=value (e.g., --preset-param broker=nats)'));
87
+ for (const [key, param] of Object.entries(parameters)) {
88
+ lines.push('');
89
+ const desc = param.description ? ` — ${param.description}` : '';
90
+ lines.push(` ${chalk.cyan('--preset-param')} ${chalk.bold(key + '=...')}${chalk.dim(desc)}`);
91
+ lines.push(chalk.dim(` Default: ${param.default}`));
92
+ lines.push(chalk.dim(' Options:'));
93
+ for (const opt of param.options) {
94
+ const marker = opt.id === param.default ? chalk.green(' (default)') : '';
95
+ const optDesc = opt.description ? chalk.dim(` — ${opt.description}`) : '';
96
+ const overlaysList = opt.overlays.length > 0 ? chalk.dim(` [${opt.overlays.join(', ')}]`) : '';
97
+ lines.push(` • ${chalk.white(opt.id)}${marker}${overlaysList}${optDesc}`);
98
+ }
99
+ }
100
+ }
64
101
  /**
65
102
  * Format overlay explanation as text
66
103
  */
@@ -113,6 +150,52 @@ function formatAsText(overlay, overlaysDir, overlaysConfig) {
113
150
  lines.push(` ${port}`);
114
151
  }
115
152
  }
153
+ // For preset overlays, show selects and parameters
154
+ if (overlay.category === 'preset') {
155
+ const presetDef = loadPresetDefinition(overlaysDir, overlay.id);
156
+ if (presetDef) {
157
+ // Show required overlays
158
+ if (presetDef.selects?.required && presetDef.selects.required.length > 0) {
159
+ lines.push('');
160
+ lines.push(chalk.bold('Always Included Overlays:'));
161
+ lines.push(` ${presetDef.selects.required.join(', ')}`);
162
+ }
163
+ // Show user choices (single-select overlays)
164
+ if (presetDef.selects?.userChoice &&
165
+ Object.keys(presetDef.selects.userChoice).length > 0) {
166
+ lines.push('');
167
+ lines.push(chalk.bold('User Choices:'));
168
+ for (const [key, choice] of Object.entries(presetDef.selects.userChoice)) {
169
+ const opts = choice.options.join(', ');
170
+ const def = choice.defaultOption
171
+ ? chalk.green(` (default: ${choice.defaultOption})`)
172
+ : '';
173
+ lines.push(` ${chalk.cyan(key)}${def}: ${opts}`);
174
+ }
175
+ }
176
+ // Show parameterized slots
177
+ if (presetDef.parameters && Object.keys(presetDef.parameters).length > 0) {
178
+ formatPresetParameters(presetDef.parameters, lines);
179
+ }
180
+ // Usage examples
181
+ lines.push('');
182
+ lines.push(chalk.bold('Usage Examples:'));
183
+ lines.push(chalk.dim(` container-superposition init --preset ${overlay.id}`));
184
+ if (presetDef.parameters) {
185
+ const paramExamples = Object.entries(presetDef.parameters)
186
+ .slice(0, 2)
187
+ .map(([k, p]) => {
188
+ const nonDefault = p.options.find((o) => o.id !== p.default);
189
+ return nonDefault
190
+ ? `--preset-param ${k}=${nonDefault.id}`
191
+ : `--preset-param ${k}=${p.default}`;
192
+ });
193
+ if (paramExamples.length > 0) {
194
+ lines.push(chalk.dim(` container-superposition init --preset ${overlay.id} ${paramExamples.join(' ')}`));
195
+ }
196
+ }
197
+ }
198
+ }
116
199
  // Files
117
200
  const files = getOverlayFiles(overlaysDir, overlay.id);
118
201
  if (files.length > 0) {
@@ -191,12 +274,17 @@ export async function explainCommand(overlaysConfig, overlaysDir, overlayId, opt
191
274
  const files = getOverlayFiles(overlaysDir, overlayId);
192
275
  const patch = getDevcontainerPatch(overlaysDir, overlayId);
193
276
  const services = getDockerComposeServices(overlaysDir, overlayId);
277
+ // For presets, include the full preset definition
278
+ const presetDef = overlay.category === 'preset' ? loadPresetDefinition(overlaysDir, overlayId) : null;
194
279
  const output = {
195
280
  ...overlay,
196
281
  files,
197
282
  devcontainerPatch: patch,
198
283
  dockerComposeServices: services,
199
284
  };
285
+ if (presetDef) {
286
+ output.presetDefinition = presetDef;
287
+ }
200
288
  console.log(JSON.stringify(output, null, 2));
201
289
  return;
202
290
  }
@@ -1 +1 @@
1
- {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../tool/commands/explain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../tool/commands/explain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Hash command - deterministic environment fingerprint
3
+ */
4
+ import type { OverlaysConfig, Stack } from '../schema/types.js';
5
+ interface HashOptions {
6
+ stack?: Stack;
7
+ overlays?: string;
8
+ preset?: string;
9
+ base?: string;
10
+ manifest?: string;
11
+ json?: boolean;
12
+ write?: boolean;
13
+ output?: string;
14
+ }
15
+ export interface HashResult {
16
+ stack: string;
17
+ overlays: string[];
18
+ preset: string | null;
19
+ base: string;
20
+ tool: string;
21
+ hash: string;
22
+ hashFull: string;
23
+ }
24
+ /**
25
+ * Compute the canonical hash for a given configuration
26
+ */
27
+ export declare function computeHash(stack: string, overlays: string[], preset: string | null, base: string, toolVersion: string): {
28
+ hash: string;
29
+ hashFull: string;
30
+ };
31
+ /**
32
+ * Execute the hash command
33
+ */
34
+ export declare function hashCommand(overlaysConfig: OverlaysConfig, _overlaysDir: string, options: HashOptions): Promise<void>;
35
+ export {};
36
+ //# sourceMappingURL=hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../tool/commands/hash.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGhE,UAAU,WAAW;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB;AA8DD;;GAEG;AACH,wBAAgB,WAAW,CACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAAE,EAClB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAepC;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC7B,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,IAAI,CAAC,CAmNf"}
@@ -0,0 +1,242 @@
1
+ /**
2
+ * Hash command - deterministic environment fingerprint
3
+ */
4
+ import * as crypto from 'crypto';
5
+ import * as fs from 'fs';
6
+ import * as path from 'path';
7
+ import chalk from 'chalk';
8
+ import boxen from 'boxen';
9
+ import { getToolVersion } from '../utils/version.js';
10
+ /**
11
+ * Resolve overlay dependencies recursively (same logic as plan command)
12
+ */
13
+ function resolveDependencies(selectedIds, overlaysConfig) {
14
+ const overlayMap = new Map(overlaysConfig.overlays.map((o) => [o.id, o]));
15
+ const resolved = new Set(selectedIds);
16
+ const autoAdded = [];
17
+ const processDeps = (id) => {
18
+ const overlay = overlayMap.get(id);
19
+ if (!overlay || !overlay.requires)
20
+ return;
21
+ for (const reqId of overlay.requires) {
22
+ if (!resolved.has(reqId)) {
23
+ resolved.add(reqId);
24
+ autoAdded.push(reqId);
25
+ processDeps(reqId);
26
+ }
27
+ }
28
+ };
29
+ for (const id of selectedIds) {
30
+ processDeps(id);
31
+ }
32
+ return {
33
+ resolved: Array.from(resolved),
34
+ autoAdded,
35
+ };
36
+ }
37
+ /**
38
+ * Find superposition.json manifest in common locations
39
+ */
40
+ function findManifest(manifestPath) {
41
+ const candidates = manifestPath
42
+ ? [manifestPath]
43
+ : [
44
+ 'superposition.json',
45
+ '.devcontainer/superposition.json',
46
+ '../superposition.json',
47
+ path.join(process.cwd(), 'superposition.json'),
48
+ path.join(process.cwd(), '.devcontainer', 'superposition.json'),
49
+ ];
50
+ for (const p of candidates) {
51
+ const resolved = path.resolve(p);
52
+ if (fs.existsSync(resolved)) {
53
+ return resolved;
54
+ }
55
+ }
56
+ return null;
57
+ }
58
+ /**
59
+ * Compute the canonical hash for a given configuration
60
+ */
61
+ export function computeHash(stack, overlays, preset, base, toolVersion) {
62
+ // Canonical object – keys alphabetically sorted, overlays sorted
63
+ // toolVersion must already be truncated to major.minor by the caller
64
+ const canonical = {
65
+ base,
66
+ overlays: [...overlays].sort(),
67
+ preset: preset ?? null,
68
+ stack,
69
+ tool: toolVersion,
70
+ };
71
+ const json = JSON.stringify(canonical);
72
+ const hashFull = crypto.createHash('sha256').update(json).digest('hex');
73
+ const hash = hashFull.slice(0, 8);
74
+ return { hash, hashFull };
75
+ }
76
+ /**
77
+ * Execute the hash command
78
+ */
79
+ export async function hashCommand(overlaysConfig, _overlaysDir, options) {
80
+ try {
81
+ let stack;
82
+ let selectedOverlays;
83
+ let preset = null;
84
+ let base;
85
+ // Try loading from manifest if no explicit overlays/stack provided
86
+ if (!options.stack && !options.overlays) {
87
+ const manifestPath = findManifest(options.manifest);
88
+ if (!manifestPath) {
89
+ console.error(chalk.red('✗ No manifest found and no --stack/--overlays provided.'));
90
+ console.log(chalk.dim(' Provide --stack and --overlays, or run from a directory with superposition.json'));
91
+ process.exit(1);
92
+ }
93
+ let rawManifest;
94
+ try {
95
+ rawManifest = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
96
+ }
97
+ catch (err) {
98
+ console.error(chalk.red(`✗ Failed to read manifest: ${err instanceof Error ? err.message : String(err)}`));
99
+ process.exit(1);
100
+ }
101
+ if (typeof rawManifest !== 'object' || rawManifest === null) {
102
+ console.error(chalk.red('✗ Invalid manifest: expected a JSON object'));
103
+ process.exit(1);
104
+ }
105
+ const manifest = rawManifest;
106
+ if (!manifest.baseTemplate || typeof manifest.baseTemplate !== 'string') {
107
+ console.error(chalk.red('✗ Invalid manifest: missing or invalid "baseTemplate"'));
108
+ process.exit(1);
109
+ }
110
+ const validStacksForManifest = ['plain', 'compose'];
111
+ if (!validStacksForManifest.includes(manifest.baseTemplate)) {
112
+ console.error(chalk.red(`✗ Invalid manifest: "baseTemplate" must be one of: ${validStacksForManifest.join(', ')}`));
113
+ process.exit(1);
114
+ }
115
+ if (!Array.isArray(manifest.overlays)) {
116
+ console.error(chalk.red('✗ Invalid manifest: "overlays" must be an array'));
117
+ process.exit(1);
118
+ }
119
+ if (!manifest.overlays.every((o) => typeof o === 'string')) {
120
+ console.error(chalk.red('✗ Invalid manifest: "overlays" must be an array of strings'));
121
+ process.exit(1);
122
+ }
123
+ stack = manifest.baseTemplate;
124
+ selectedOverlays = manifest.overlays;
125
+ preset = typeof manifest.preset === 'string' ? manifest.preset : null;
126
+ base =
127
+ options.base ??
128
+ (typeof manifest.baseImage === 'string' ? manifest.baseImage : 'bookworm');
129
+ }
130
+ else {
131
+ // Explicit CLI options
132
+ if (!options.stack) {
133
+ console.error(chalk.red('✗ --stack is required when not reading from manifest'));
134
+ console.log(chalk.dim(' Example: container-superposition hash --stack compose --overlays postgres,redis'));
135
+ process.exit(1);
136
+ }
137
+ const validStacks = ['plain', 'compose'];
138
+ if (!validStacks.includes(options.stack)) {
139
+ console.error(chalk.red(`✗ Invalid --stack value: ${options.stack}`));
140
+ console.log(chalk.dim(` Valid values are: ${validStacks.join(', ')}`));
141
+ process.exit(1);
142
+ }
143
+ if (!options.overlays) {
144
+ console.error(chalk.red('✗ --overlays is required when not reading from manifest'));
145
+ console.log(chalk.dim(' Example: container-superposition hash --stack compose --overlays postgres,redis'));
146
+ process.exit(1);
147
+ }
148
+ stack = options.stack;
149
+ selectedOverlays = options.overlays
150
+ .split(',')
151
+ .map((o) => o.trim())
152
+ .filter(Boolean);
153
+ preset = options.preset ?? null;
154
+ base = options.base ?? 'bookworm';
155
+ }
156
+ // Validate overlays exist
157
+ const overlayMap = new Map(overlaysConfig.overlays.map((o) => [o.id, o]));
158
+ for (const id of selectedOverlays) {
159
+ if (!overlayMap.has(id)) {
160
+ console.error(chalk.red(`✗ Unknown overlay: ${id}`));
161
+ console.log(chalk.dim('\n💡 Use "container-superposition list" to see available overlays\n'));
162
+ process.exit(1);
163
+ }
164
+ }
165
+ // Resolve dependencies
166
+ const { resolved, autoAdded } = resolveDependencies(selectedOverlays, overlaysConfig);
167
+ // Apply stack-compatibility filtering (mirrors plan/init behavior)
168
+ const incompatible = [];
169
+ const compatibleResolved = resolved.filter((id) => {
170
+ const overlay = overlayMap.get(id);
171
+ if (!overlay)
172
+ return false;
173
+ if (overlay.supports && overlay.supports.length > 0) {
174
+ const ok = overlay.supports.includes(stack);
175
+ if (!ok)
176
+ incompatible.push(id);
177
+ return ok;
178
+ }
179
+ return true;
180
+ });
181
+ for (const id of incompatible) {
182
+ console.warn(chalk.yellow(`⚠ Overlay "${id}" does not support stack "${stack}" and will be excluded from the hash.`));
183
+ }
184
+ // Sort resolved overlays alphabetically for canonical representation
185
+ const sortedOverlays = [...compatibleResolved].sort();
186
+ // Truncate tool version to major.minor for hash stability across patches
187
+ const fullToolVersion = getToolVersion();
188
+ const toolMajorMinor = fullToolVersion.split('.').slice(0, 2).join('.');
189
+ const { hash, hashFull } = computeHash(stack, sortedOverlays, preset, base, toolMajorMinor);
190
+ const result = {
191
+ stack,
192
+ overlays: sortedOverlays,
193
+ preset,
194
+ base,
195
+ tool: toolMajorMinor,
196
+ hash,
197
+ hashFull,
198
+ };
199
+ if (options.json) {
200
+ console.log(JSON.stringify(result, null, 2));
201
+ }
202
+ else {
203
+ // Human-readable output
204
+ const overlayDisplay = sortedOverlays
205
+ .map((id) => (autoAdded.includes(id) ? `${id} (auto)` : id))
206
+ .join(', ');
207
+ const lines = [
208
+ `stack ${chalk.cyan(stack)}`,
209
+ `overlays ${chalk.cyan(overlayDisplay || '(none)')}`,
210
+ `preset ${chalk.cyan(preset ?? '(none)')}`,
211
+ `base ${chalk.cyan(base)}`,
212
+ `tool ${chalk.cyan(toolMajorMinor)}`,
213
+ '',
214
+ `hash ${chalk.green.bold(hash)}`,
215
+ ];
216
+ const box = boxen(lines.join('\n'), {
217
+ title: 'Environment Fingerprint',
218
+ padding: 1,
219
+ borderStyle: 'round',
220
+ borderColor: 'cyan',
221
+ });
222
+ console.log('\n' + box + '\n');
223
+ }
224
+ // --write flag: write hash to .devcontainer/superposition.hash
225
+ if (options.write) {
226
+ const outputDir = options.output
227
+ ? path.resolve(options.output)
228
+ : path.join(process.cwd(), '.devcontainer');
229
+ fs.mkdirSync(outputDir, { recursive: true });
230
+ const hashFilePath = path.join(outputDir, 'superposition.hash');
231
+ fs.writeFileSync(hashFilePath, hashFull + '\n', 'utf-8');
232
+ if (!options.json) {
233
+ console.log(chalk.green(`✓ Hash written to ${hashFilePath}`));
234
+ }
235
+ }
236
+ }
237
+ catch (error) {
238
+ console.error(chalk.red('✗ Error computing hash:'), error);
239
+ process.exit(1);
240
+ }
241
+ }
242
+ //# sourceMappingURL=hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../tool/commands/hash.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,62 @@ import type { OverlaysConfig, Stack } from '../schema/types.js';
5
5
  interface PlanOptions {
6
6
  stack?: Stack;
7
7
  overlays?: string;
8
+ fromManifest?: string;
8
9
  portOffset?: number;
9
10
  json?: boolean;
11
+ verbose?: boolean;
12
+ diff?: boolean;
13
+ output?: string;
14
+ diffFormat?: string;
15
+ diffContext?: number;
10
16
  }
17
+ interface FileDiffEntry {
18
+ path: string;
19
+ diff?: string;
20
+ }
21
+ interface OverlayChange {
22
+ id: string;
23
+ name?: string;
24
+ category?: string;
25
+ }
26
+ interface PortChange {
27
+ overlay: string;
28
+ port: number;
29
+ }
30
+ export interface PlanDiffResult {
31
+ existingPath: string;
32
+ hasExistingConfig: boolean;
33
+ created: string[];
34
+ modified: FileDiffEntry[];
35
+ overwritten: string[];
36
+ unchanged: string[];
37
+ preserved: string[];
38
+ removed: string[];
39
+ overlayChanges: {
40
+ added: OverlayChange[];
41
+ removed: OverlayChange[];
42
+ unchanged: string[];
43
+ };
44
+ portChanges: {
45
+ added: PortChange[];
46
+ removed: PortChange[];
47
+ };
48
+ }
49
+ /**
50
+ * Generate a PlanDiffResult comparing planned overlays/files against an existing
51
+ * .devcontainer/ directory.
52
+ */
53
+ export declare function generatePlanDiff(plan: {
54
+ stack: Stack;
55
+ selectedOverlays: string[];
56
+ autoAddedOverlays: string[];
57
+ portMappings: Array<{
58
+ overlay: string;
59
+ ports: number[];
60
+ offsetPorts: number[];
61
+ }>;
62
+ files: string[];
63
+ }, overlaysConfig: OverlaysConfig, overlaysDir: string, existingPath: string, contextLines?: number): PlanDiffResult;
11
64
  /**
12
65
  * Execute plan command
13
66
  */
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../tool/commands/plan.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAmB,cAAc,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGjF,UAAU,WAAW;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AA+QD;;GAEG;AACH,wBAAsB,WAAW,CAC7B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,iBAoJvB"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../tool/commands/plan.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAiC,cAAc,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAoB/F,UAAU,WAAW;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAID,UAAU,aAAa;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,aAAa;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,UAAU;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE;QACZ,KAAK,EAAE,aAAa,EAAE,CAAC;QACvB,OAAO,EAAE,aAAa,EAAE,CAAC;QACzB,SAAS,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;IACF,WAAW,EAAE;QACT,KAAK,EAAE,UAAU,EAAE,CAAC;QACpB,OAAO,EAAE,UAAU,EAAE,CAAC;KACzB,CAAC;CACL;AAgQD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE;IACF,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACjF,KAAK,EAAE,MAAM,EAAE,CAAC;CACnB,EACD,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,YAAY,SAAI,GACjB,cAAc,CAgNhB;AAilBD;;GAEG;AACH,wBAAsB,WAAW,CAC7B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,iBA8SvB"}