container-superposition 0.1.4 → 0.1.6

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 (98) hide show
  1. package/README.md +74 -1370
  2. package/dist/scripts/init.js +350 -185
  3. package/dist/scripts/init.js.map +1 -1
  4. package/dist/tool/commands/adopt.d.ts +63 -0
  5. package/dist/tool/commands/adopt.d.ts.map +1 -0
  6. package/dist/tool/commands/adopt.js +1104 -0
  7. package/dist/tool/commands/adopt.js.map +1 -0
  8. package/dist/tool/commands/hash.d.ts +36 -0
  9. package/dist/tool/commands/hash.d.ts.map +1 -0
  10. package/dist/tool/commands/hash.js +242 -0
  11. package/dist/tool/commands/hash.js.map +1 -0
  12. package/dist/tool/commands/plan.d.ts +2 -0
  13. package/dist/tool/commands/plan.d.ts.map +1 -1
  14. package/dist/tool/commands/plan.js +262 -42
  15. package/dist/tool/commands/plan.js.map +1 -1
  16. package/dist/tool/schema/project-config.d.ts +17 -0
  17. package/dist/tool/schema/project-config.d.ts.map +1 -0
  18. package/dist/tool/schema/project-config.js +441 -0
  19. package/dist/tool/schema/project-config.js.map +1 -0
  20. package/dist/tool/schema/types.d.ts +39 -1
  21. package/dist/tool/schema/types.d.ts.map +1 -1
  22. package/dist/tool/utils/backup.d.ts +23 -0
  23. package/dist/tool/utils/backup.d.ts.map +1 -0
  24. package/dist/tool/utils/backup.js +123 -0
  25. package/dist/tool/utils/backup.js.map +1 -0
  26. package/docs/README.md +12 -2
  27. package/docs/adopt.md +202 -0
  28. package/docs/custom-patches.md +1 -1
  29. package/docs/discovery-commands.md +55 -3
  30. package/docs/examples.md +40 -6
  31. package/docs/filesystem-contract.md +58 -0
  32. package/docs/hash.md +183 -0
  33. package/docs/minimal-and-editor.md +1 -1
  34. package/docs/overlays.md +70 -0
  35. package/docs/presets-architecture.md +1 -1
  36. package/docs/presets.md +1 -1
  37. package/docs/publishing.md +36 -23
  38. package/docs/security.md +43 -0
  39. package/docs/specs/001-verbose-plan-graph/checklists/requirements.md +36 -0
  40. package/docs/specs/001-verbose-plan-graph/contracts/plan-verbose-output.md +96 -0
  41. package/docs/specs/001-verbose-plan-graph/data-model.md +111 -0
  42. package/docs/specs/001-verbose-plan-graph/plan.md +127 -0
  43. package/docs/specs/001-verbose-plan-graph/quickstart.md +106 -0
  44. package/docs/specs/001-verbose-plan-graph/research.md +100 -0
  45. package/docs/specs/001-verbose-plan-graph/spec.md +128 -0
  46. package/docs/specs/001-verbose-plan-graph/tasks.md +223 -0
  47. package/docs/specs/002-superposition-config-file/checklists/requirements.md +36 -0
  48. package/docs/specs/002-superposition-config-file/contracts/init-project-config.md +98 -0
  49. package/docs/specs/002-superposition-config-file/data-model.md +126 -0
  50. package/docs/specs/002-superposition-config-file/plan.md +213 -0
  51. package/docs/specs/002-superposition-config-file/quickstart.md +140 -0
  52. package/docs/specs/002-superposition-config-file/research.md +144 -0
  53. package/docs/specs/002-superposition-config-file/spec.md +136 -0
  54. package/docs/specs/002-superposition-config-file/tasks.md +215 -0
  55. package/docs/team-workflow.md +33 -1
  56. package/docs/workflows.md +139 -0
  57. package/features/cross-distro-packages/README.md +18 -0
  58. package/features/cross-distro-packages/devcontainer-feature.json +3 -3
  59. package/features/cross-distro-packages/install.sh +49 -7
  60. package/overlays/.presets/sdd.yml +84 -0
  61. package/overlays/README.md +7 -1
  62. package/overlays/amp/README.md +70 -0
  63. package/overlays/amp/devcontainer.patch.json +3 -0
  64. package/overlays/amp/overlay.yml +15 -0
  65. package/overlays/amp/setup.sh +21 -0
  66. package/overlays/amp/verify.sh +21 -0
  67. package/overlays/claude-code/README.md +83 -0
  68. package/overlays/claude-code/devcontainer.patch.json +3 -0
  69. package/overlays/claude-code/overlay.yml +15 -0
  70. package/overlays/claude-code/setup.sh +21 -0
  71. package/overlays/claude-code/verify.sh +21 -0
  72. package/overlays/gemini-cli/README.md +77 -0
  73. package/overlays/gemini-cli/devcontainer.patch.json +3 -0
  74. package/overlays/gemini-cli/overlay.yml +15 -0
  75. package/overlays/gemini-cli/setup.sh +21 -0
  76. package/overlays/gemini-cli/verify.sh +21 -0
  77. package/overlays/opencode/README.md +76 -0
  78. package/overlays/opencode/devcontainer.patch.json +3 -0
  79. package/overlays/opencode/overlay.yml +14 -0
  80. package/overlays/opencode/setup.sh +21 -0
  81. package/overlays/opencode/verify.sh +21 -0
  82. package/overlays/pandoc/README.md +279 -0
  83. package/overlays/pandoc/devcontainer.patch.json +14 -0
  84. package/overlays/pandoc/overlay.yml +19 -0
  85. package/overlays/pandoc/setup.sh +94 -0
  86. package/overlays/pandoc/verify.sh +13 -0
  87. package/overlays/spec-kit/README.md +181 -0
  88. package/overlays/spec-kit/devcontainer.patch.json +6 -0
  89. package/overlays/spec-kit/overlay.yml +19 -0
  90. package/overlays/spec-kit/setup.sh +45 -0
  91. package/overlays/spec-kit/verify.sh +33 -0
  92. package/overlays/windsurf-cli/README.md +69 -0
  93. package/overlays/windsurf-cli/devcontainer.patch.json +3 -0
  94. package/overlays/windsurf-cli/overlay.yml +15 -0
  95. package/overlays/windsurf-cli/setup.sh +21 -0
  96. package/overlays/windsurf-cli/verify.sh +21 -0
  97. package/package.json +1 -1
  98. 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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"}
@@ -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,8 +5,10 @@ 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;
10
12
  diff?: boolean;
11
13
  output?: string;
12
14
  diffFormat?: string;
@@ -1 +1 @@
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,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,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;AAuMD;;;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;AAsbD;;GAEG;AACH,wBAAsB,WAAW,CAC7B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,iBA4LvB"}
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"}