container-superposition 0.1.7 → 0.1.9
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/README.md +24 -15
- package/dist/scripts/init.js +1 -1537
- package/dist/scripts/init.js.map +1 -1
- package/dist/tool/cli/args.d.ts +20 -0
- package/dist/tool/cli/args.d.ts.map +1 -0
- package/dist/tool/cli/args.js +325 -0
- package/dist/tool/cli/args.js.map +1 -0
- package/dist/tool/cli/run.d.ts +2 -0
- package/dist/tool/cli/run.d.ts.map +1 -0
- package/dist/tool/cli/run.js +318 -0
- package/dist/tool/cli/run.js.map +1 -0
- package/dist/tool/commands/adopt.js +1 -1
- package/dist/tool/commands/adopt.js.map +1 -1
- package/dist/tool/commands/doctor.d.ts +1 -0
- package/dist/tool/commands/doctor.d.ts.map +1 -1
- package/dist/tool/commands/doctor.js +1510 -78
- package/dist/tool/commands/doctor.js.map +1 -1
- package/dist/tool/commands/explain.d.ts.map +1 -1
- package/dist/tool/commands/explain.js +9 -0
- package/dist/tool/commands/explain.js.map +1 -1
- package/dist/tool/commands/migrate.d.ts +7 -0
- package/dist/tool/commands/migrate.d.ts.map +1 -0
- package/dist/tool/commands/migrate.js +52 -0
- package/dist/tool/commands/migrate.js.map +1 -0
- package/dist/tool/questionnaire/answers.d.ts +16 -0
- package/dist/tool/questionnaire/answers.d.ts.map +1 -0
- package/dist/tool/questionnaire/answers.js +102 -0
- package/dist/tool/questionnaire/answers.js.map +1 -0
- package/dist/tool/questionnaire/composer.d.ts +6 -4
- package/dist/tool/questionnaire/composer.d.ts.map +1 -1
- package/dist/tool/questionnaire/composer.js +778 -45
- package/dist/tool/questionnaire/composer.js.map +1 -1
- package/dist/tool/questionnaire/presets.d.ts +60 -0
- package/dist/tool/questionnaire/presets.d.ts.map +1 -0
- package/dist/tool/questionnaire/presets.js +165 -0
- package/dist/tool/questionnaire/presets.js.map +1 -0
- package/dist/tool/questionnaire/questionnaire.d.ts +10 -0
- package/dist/tool/questionnaire/questionnaire.d.ts.map +1 -0
- package/dist/tool/questionnaire/questionnaire.js +582 -0
- package/dist/tool/questionnaire/questionnaire.js.map +1 -0
- package/dist/tool/schema/manifest-migrations.d.ts +5 -0
- package/dist/tool/schema/manifest-migrations.d.ts.map +1 -1
- package/dist/tool/schema/manifest-migrations.js +45 -0
- package/dist/tool/schema/manifest-migrations.js.map +1 -1
- package/dist/tool/schema/overlay-loader.d.ts.map +1 -1
- package/dist/tool/schema/overlay-loader.js +24 -0
- package/dist/tool/schema/overlay-loader.js.map +1 -1
- package/dist/tool/schema/project-config.d.ts +13 -1
- package/dist/tool/schema/project-config.d.ts.map +1 -1
- package/dist/tool/schema/project-config.js +188 -10
- package/dist/tool/schema/project-config.js.map +1 -1
- package/dist/tool/schema/target-rules.d.ts +78 -0
- package/dist/tool/schema/target-rules.d.ts.map +1 -0
- package/dist/tool/schema/target-rules.js +367 -0
- package/dist/tool/schema/target-rules.js.map +1 -0
- package/dist/tool/schema/types.d.ts +42 -3
- package/dist/tool/schema/types.d.ts.map +1 -1
- package/dist/tool/utils/parameters.d.ts +76 -0
- package/dist/tool/utils/parameters.d.ts.map +1 -0
- package/dist/tool/utils/parameters.js +125 -0
- package/dist/tool/utils/parameters.js.map +1 -0
- package/dist/tool/utils/paths.d.ts +2 -0
- package/dist/tool/utils/paths.d.ts.map +1 -0
- package/dist/tool/utils/paths.js +31 -0
- package/dist/tool/utils/paths.js.map +1 -0
- package/docs/deployment-targets.md +88 -56
- package/docs/examples.md +20 -17
- package/docs/filesystem-contract.md +5 -0
- package/docs/minimal-and-editor.md +65 -5
- package/docs/overlay-imports.md +92 -14
- package/docs/overlays.md +231 -135
- package/docs/specs/001-verbose-plan-graph/spec.md +5 -12
- package/docs/specs/002-superposition-config-file/spec.md +5 -12
- package/docs/specs/003-mkdocs2-overlay/spec.md +2 -9
- package/docs/specs/004-doctor-fix/spec.md +1 -8
- package/docs/specs/005-cuda-overlay/spec.md +2 -9
- package/docs/specs/006-rocm-overlay/spec.md +3 -10
- package/docs/specs/007-target-aware-generation/spec.md +119 -0
- package/docs/specs/008-project-file-canonical/spec.md +82 -0
- package/docs/specs/009-project-env/spec.md +140 -0
- package/docs/specs/010-compose-env-materialization/spec.md +123 -0
- package/docs/specs/011-overlay-parameters/spec.md +228 -0
- package/docs/specs/012-ollama-cli-overlay/spec.md +47 -0
- package/docs/specs/013-doctor-dependency-check/spec.md +250 -0
- package/docs/specs/014-doctor-compose-port-cross-validation/spec.md +276 -0
- package/docs/specs/015-doctor-env-example-drift/spec.md +248 -0
- package/docs/specs/016-doctor-reproducibility-check/spec.md +276 -0
- package/docs/specs/017-doctor-dry-run/spec.md +276 -0
- package/docs/specs/018-init-project-file/spec.md +59 -0
- package/docs/specs/taxonomy.md +186 -0
- package/overlays/.presets/full-observability.yml +113 -0
- package/overlays/.presets/k8s-dev.yml +174 -0
- package/overlays/.presets/local-llm.yml +105 -0
- package/overlays/.presets/vector-ai.yml +150 -0
- package/overlays/.shared/README.md +27 -2
- package/overlays/.shared/compose/nvidia-gpu-devcontainer.yml +22 -0
- package/overlays/.shared/vscode/js-ts-settings.json +19 -0
- package/overlays/.shared/vscode/markdown-extensions.json +8 -0
- package/overlays/alertmanager/devcontainer.patch.json +0 -1
- package/overlays/alertmanager/docker-compose.yml +8 -0
- package/overlays/alertmanager/overlay.yml +1 -0
- package/overlays/amp/devcontainer.patch.json +4 -1
- package/overlays/bun/devcontainer.patch.json +1 -10
- package/overlays/bun/overlay.yml +8 -1
- package/overlays/claude-code/devcontainer.patch.json +6 -1
- package/overlays/codex/devcontainer.patch.json +5 -0
- package/overlays/comfyui/.env.example +34 -0
- package/overlays/comfyui/README.md +342 -0
- package/overlays/comfyui/devcontainer.patch.json +15 -0
- package/overlays/comfyui/docker-compose.yml +40 -0
- package/overlays/comfyui/overlay.yml +24 -0
- package/overlays/comfyui/setup.sh +36 -0
- package/overlays/comfyui/verify.sh +103 -0
- package/overlays/commitlint/devcontainer.patch.json +1 -6
- package/overlays/docker-sock/overlay.yml +1 -0
- package/overlays/dotnet/overlay.yml +4 -1
- package/overlays/fuseki/.env.example +5 -0
- package/overlays/fuseki/README.md +173 -0
- package/overlays/fuseki/devcontainer.patch.json +18 -0
- package/overlays/fuseki/docker-compose.yml +29 -0
- package/overlays/fuseki/overlay.yml +42 -0
- package/overlays/fuseki/verify.sh +58 -0
- package/overlays/gemini-cli/devcontainer.patch.json +4 -1
- package/overlays/go/overlay.yml +6 -1
- package/overlays/grafana/devcontainer.patch.json +0 -1
- package/overlays/grafana/docker-compose.yml +8 -2
- package/overlays/grafana/overlay.yml +6 -1
- package/overlays/jaeger/.env.example +11 -0
- package/overlays/jaeger/README.md +33 -4
- package/overlays/jaeger/devcontainer.patch.json +9 -1
- package/overlays/jaeger/docker-compose.yml +17 -0
- package/overlays/jaeger/overlay.yml +1 -12
- package/overlays/java/overlay.yml +6 -1
- package/overlays/jupyter/docker-compose.yml +1 -0
- package/overlays/jupyter/overlay.yml +1 -0
- package/overlays/k3d/README.md +201 -0
- package/overlays/k3d/devcontainer.patch.json +9 -0
- package/overlays/k3d/overlay.yml +19 -0
- package/overlays/k3d/setup.sh +34 -0
- package/overlays/k3d/verify.sh +38 -0
- package/overlays/keycloak/devcontainer.patch.json +0 -1
- package/overlays/keycloak/docker-compose.yml +1 -0
- package/overlays/keycloak/overlay.yml +15 -0
- package/overlays/localstack/docker-compose.yml +1 -0
- package/overlays/localstack/overlay.yml +19 -1
- package/overlays/loki/devcontainer.patch.json +0 -1
- package/overlays/loki/docker-compose.yml +8 -0
- package/overlays/loki/overlay.yml +1 -0
- package/overlays/mailpit/docker-compose.yml +1 -0
- package/overlays/mailpit/overlay.yml +1 -0
- package/overlays/minio/devcontainer.patch.json +1 -1
- package/overlays/minio/docker-compose.yml +1 -0
- package/overlays/minio/overlay.yml +23 -2
- package/overlays/mkdocs/devcontainer.patch.json +1 -5
- package/overlays/mkdocs/overlay.yml +3 -1
- package/overlays/mkdocs2/devcontainer.patch.json +1 -5
- package/overlays/mkdocs2/overlay.yml +2 -0
- package/overlays/mongodb/docker-compose.yml +2 -0
- package/overlays/mongodb/overlay.yml +26 -2
- package/overlays/mysql/docker-compose.yml +2 -0
- package/overlays/mysql/overlay.yml +36 -2
- package/overlays/nats/docker-compose.yml +1 -0
- package/overlays/nats/overlay.yml +18 -2
- package/overlays/nodejs/devcontainer.patch.json +1 -12
- package/overlays/nodejs/overlay.yml +8 -1
- package/overlays/ollama/.env.example +14 -0
- package/overlays/ollama/README.md +326 -0
- package/overlays/ollama/devcontainer.patch.json +14 -0
- package/overlays/ollama/docker-compose.yml +25 -0
- package/overlays/ollama/overlay.yml +27 -0
- package/overlays/ollama/verify.sh +76 -0
- package/overlays/ollama-cli/README.md +90 -0
- package/overlays/ollama-cli/devcontainer.patch.json +3 -0
- package/overlays/ollama-cli/overlay.yml +19 -0
- package/overlays/ollama-cli/setup.sh +103 -0
- package/overlays/ollama-cli/verify.sh +49 -0
- package/overlays/open-webui/.env.example +5 -0
- package/overlays/open-webui/README.md +162 -0
- package/overlays/open-webui/devcontainer.patch.json +14 -0
- package/overlays/open-webui/docker-compose.yml +24 -0
- package/overlays/open-webui/overlay.yml +45 -0
- package/overlays/opencode/devcontainer.patch.json +4 -1
- package/overlays/otel-collector/README.md +4 -0
- package/overlays/otel-collector/devcontainer.patch.json +4 -1
- package/overlays/otel-collector/docker-compose.yml +8 -4
- package/overlays/otel-collector/overlay.yml +1 -0
- package/overlays/otel-demo-nodejs/devcontainer.patch.json +0 -1
- package/overlays/otel-demo-nodejs/docker-compose.yml +1 -0
- package/overlays/otel-demo-nodejs/overlay.yml +9 -1
- package/overlays/otel-demo-python/devcontainer.patch.json +0 -1
- package/overlays/otel-demo-python/docker-compose.yml +1 -0
- package/overlays/otel-demo-python/overlay.yml +6 -1
- package/overlays/pandoc/README.md +10 -0
- package/overlays/pandoc/devcontainer.patch.json +0 -5
- package/overlays/pandoc/overlay.yml +2 -0
- package/overlays/pandoc/setup.sh +10 -0
- package/overlays/pgvector/.env.example +6 -0
- package/overlays/pgvector/README.md +215 -0
- package/overlays/pgvector/devcontainer.patch.json +29 -0
- package/overlays/pgvector/docker-compose.yml +33 -0
- package/overlays/pgvector/overlay.yml +47 -0
- package/overlays/playwright/devcontainer.patch.json +0 -5
- package/overlays/playwright/overlay.yml +2 -1
- package/overlays/postgres/.env.example +5 -5
- package/overlays/postgres/devcontainer.patch.json +4 -4
- package/overlays/postgres/docker-compose.yml +11 -6
- package/overlays/postgres/overlay.yml +23 -2
- package/overlays/pre-commit/devcontainer.patch.json +1 -7
- package/overlays/prometheus/devcontainer.patch.json +0 -1
- package/overlays/prometheus/docker-compose.yml +8 -0
- package/overlays/prometheus/overlay.yml +1 -0
- package/overlays/promtail/devcontainer.patch.json +1 -2
- package/overlays/promtail/docker-compose.yml +8 -0
- package/overlays/promtail/overlay.yml +1 -0
- package/overlays/qdrant/.env.example +4 -0
- package/overlays/qdrant/README.md +216 -0
- package/overlays/qdrant/devcontainer.patch.json +20 -0
- package/overlays/qdrant/docker-compose.yml +26 -0
- package/overlays/qdrant/overlay.yml +44 -0
- package/overlays/rabbitmq/docker-compose.yml +1 -0
- package/overlays/rabbitmq/overlay.yml +25 -2
- package/overlays/redis/docker-compose.yml +7 -0
- package/overlays/redis/overlay.yml +15 -1
- package/overlays/redpanda/docker-compose.yml +1 -0
- package/overlays/redpanda/overlay.yml +15 -3
- package/overlays/rocm/overlay.yml +2 -1
- package/overlays/rust/overlay.yml +3 -1
- package/overlays/skaffold/README.md +256 -0
- package/overlays/skaffold/devcontainer.patch.json +9 -0
- package/overlays/skaffold/overlay.yml +20 -0
- package/overlays/skaffold/setup.sh +33 -0
- package/overlays/skaffold/verify.sh +24 -0
- package/overlays/sqlserver/docker-compose.yml +1 -0
- package/overlays/sqlserver/overlay.yml +17 -0
- package/overlays/tempo/devcontainer.patch.json +0 -1
- package/overlays/tempo/docker-compose.yml +8 -0
- package/overlays/tempo/overlay.yml +1 -0
- package/overlays/windsurf-cli/devcontainer.patch.json +4 -1
- package/package.json +3 -2
- package/tool/schema/config.schema.json +31 -1
- package/tool/schema/overlay-manifest.schema.json +33 -0
- package/overlays/.shared/otel/otel-base-config.yaml +0 -30
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Target-aware generation rules.
|
|
3
|
+
*
|
|
4
|
+
* Each non-local deployment target has a TargetRule implementation that:
|
|
5
|
+
* - patches devcontainer.json with target-specific fields
|
|
6
|
+
* - generates target-specific workspace files and user guidance
|
|
7
|
+
* - declares the files it owns (for stale-artifact cleanup on target switch)
|
|
8
|
+
*/
|
|
9
|
+
import type { DeploymentTarget, DevContainer, OverlayMetadata, Stack } from './types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Information available to a target rule when it runs.
|
|
12
|
+
*/
|
|
13
|
+
export interface TargetRuleContext {
|
|
14
|
+
/** Selected overlay IDs (resolved, in application order). */
|
|
15
|
+
overlays: string[];
|
|
16
|
+
/** Metadata map for all selected overlays. */
|
|
17
|
+
overlayMetadata: Map<string, OverlayMetadata>;
|
|
18
|
+
/** Applied port offset (0 = none). */
|
|
19
|
+
portOffset: number;
|
|
20
|
+
/** Base stack used for generation. */
|
|
21
|
+
stack: Stack;
|
|
22
|
+
/** Absolute path to the output directory (e.g. <project>/.devcontainer). */
|
|
23
|
+
outputPath: string;
|
|
24
|
+
/** Absolute path to the project root (parent of outputPath). */
|
|
25
|
+
projectRoot: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A TargetRule encapsulates all target-specific generation logic for one
|
|
29
|
+
* deployment target. The `local` rule is a no-op pass-through.
|
|
30
|
+
*/
|
|
31
|
+
export interface TargetRule {
|
|
32
|
+
readonly target: DeploymentTarget;
|
|
33
|
+
/**
|
|
34
|
+
* Returns a partial DevContainer object that is deep-merged into the
|
|
35
|
+
* composed devcontainer.json before it is written to disk.
|
|
36
|
+
* Return an empty object for targets that need no devcontainer changes.
|
|
37
|
+
*/
|
|
38
|
+
devcontainerPatch(context: TargetRuleContext): Partial<DevContainer>;
|
|
39
|
+
/**
|
|
40
|
+
* Returns a map of files to write. Keys are relative to `context.outputPath`.
|
|
41
|
+
* A key that starts with `../` is resolved relative to `context.projectRoot`
|
|
42
|
+
* (one level above `.devcontainer/`) so it lands in the project root.
|
|
43
|
+
*/
|
|
44
|
+
generateFiles(context: TargetRuleContext): Map<string, string>;
|
|
45
|
+
/**
|
|
46
|
+
* Lists the relative paths (same conventions as `generateFiles`) owned by
|
|
47
|
+
* this rule. Used to remove stale project-root files when the user switches
|
|
48
|
+
* to a different target between runs.
|
|
49
|
+
*/
|
|
50
|
+
ownedFiles(): string[];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Return the target rule for the given deployment target.
|
|
54
|
+
* Throws a clear error when the target has no defined rule (future-proofing).
|
|
55
|
+
*/
|
|
56
|
+
export declare function getTargetRule(target: DeploymentTarget): TargetRule;
|
|
57
|
+
/**
|
|
58
|
+
* Resolve a path produced by TargetRule.generateFiles() to an absolute
|
|
59
|
+
* filesystem path.
|
|
60
|
+
*
|
|
61
|
+
* Keys starting with '../' are resolved relative to projectRoot (i.e. the
|
|
62
|
+
* repository root, one level above .devcontainer/). All other keys are
|
|
63
|
+
* resolved relative to outputPath (.devcontainer/).
|
|
64
|
+
*/
|
|
65
|
+
export declare function resolveTargetFilePath(key: string, outputPath: string, projectRoot: string): string;
|
|
66
|
+
/**
|
|
67
|
+
* Remove stale project-root artifacts left by a previous target.
|
|
68
|
+
*
|
|
69
|
+
* Only project-root files (keys starting with '../') are removed here; files
|
|
70
|
+
* inside outputPath are handled automatically by cleanupStaleFiles via the
|
|
71
|
+
* FileRegistry.
|
|
72
|
+
*
|
|
73
|
+
* @param previousTarget Target used in the previous generation run.
|
|
74
|
+
* @param nextTarget Target for the current generation run.
|
|
75
|
+
* @param projectRoot Absolute path to the project root.
|
|
76
|
+
*/
|
|
77
|
+
export declare function removeStaleTargetArtifacts(previousTarget: DeploymentTarget, nextTarget: DeploymentTarget, projectRoot: string): void;
|
|
78
|
+
//# sourceMappingURL=target-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-rules.d.ts","sourceRoot":"","sources":["../../../tool/schema/target-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIzF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8CAA8C;IAC9C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC9C,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,KAAK,EAAE,KAAK,CAAC;IACb,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;CACvB;AAID;;;GAGG;AACH,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAElC;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAErE;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/D;;;;OAIG;IACH,UAAU,IAAI,MAAM,EAAE,CAAC;CAC1B;AAkXD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CAOlE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACjC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GACpB,MAAM,CAKR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACtC,cAAc,EAAE,gBAAgB,EAChC,UAAU,EAAE,gBAAgB,EAC5B,WAAW,EAAE,MAAM,GACpB,IAAI,CAmBN"}
|
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Target-aware generation rules.
|
|
3
|
+
*
|
|
4
|
+
* Each non-local deployment target has a TargetRule implementation that:
|
|
5
|
+
* - patches devcontainer.json with target-specific fields
|
|
6
|
+
* - generates target-specific workspace files and user guidance
|
|
7
|
+
* - declares the files it owns (for stale-artifact cleanup on target switch)
|
|
8
|
+
*/
|
|
9
|
+
import * as fs from 'fs';
|
|
10
|
+
import * as path from 'path';
|
|
11
|
+
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
12
|
+
/** Collect all exposed ports across selected overlays, applying the offset. */
|
|
13
|
+
function collectPorts(overlays, overlayMetadata, portOffset) {
|
|
14
|
+
const result = [];
|
|
15
|
+
for (const id of overlays) {
|
|
16
|
+
const meta = overlayMetadata.get(id);
|
|
17
|
+
if (!meta?.ports)
|
|
18
|
+
continue;
|
|
19
|
+
for (const p of meta.ports) {
|
|
20
|
+
if (typeof p === 'number') {
|
|
21
|
+
result.push({
|
|
22
|
+
port: p + portOffset,
|
|
23
|
+
service: id,
|
|
24
|
+
description: '',
|
|
25
|
+
protocol: 'tcp',
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
result.push({
|
|
30
|
+
port: p.port + portOffset,
|
|
31
|
+
service: p.service ?? id,
|
|
32
|
+
description: p.description ?? '',
|
|
33
|
+
protocol: p.protocol ?? 'tcp',
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return result;
|
|
39
|
+
}
|
|
40
|
+
// ─── Local rule (no-op) ───────────────────────────────────────────────────────
|
|
41
|
+
class LocalTargetRule {
|
|
42
|
+
target = 'local';
|
|
43
|
+
devcontainerPatch(_ctx) {
|
|
44
|
+
return {};
|
|
45
|
+
}
|
|
46
|
+
generateFiles(_ctx) {
|
|
47
|
+
return new Map();
|
|
48
|
+
}
|
|
49
|
+
ownedFiles() {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// ─── Codespaces rule ─────────────────────────────────────────────────────────
|
|
54
|
+
class CodespacesTargetRule {
|
|
55
|
+
target = 'codespaces';
|
|
56
|
+
devcontainerPatch(ctx) {
|
|
57
|
+
// Recommend a machine size based on the number of services selected.
|
|
58
|
+
// More services → larger machine recommendation.
|
|
59
|
+
const serviceOverlays = ctx.overlays.filter((id) => {
|
|
60
|
+
const meta = ctx.overlayMetadata.get(id);
|
|
61
|
+
return meta?.category === 'database' || meta?.category === 'observability';
|
|
62
|
+
});
|
|
63
|
+
let cpus = 2;
|
|
64
|
+
let memoryGb = 4;
|
|
65
|
+
if (serviceOverlays.length >= 4) {
|
|
66
|
+
cpus = 8;
|
|
67
|
+
memoryGb = 16;
|
|
68
|
+
}
|
|
69
|
+
else if (serviceOverlays.length >= 2) {
|
|
70
|
+
cpus = 4;
|
|
71
|
+
memoryGb = 8;
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
hostRequirements: {
|
|
75
|
+
cpus,
|
|
76
|
+
memory: `${memoryGb}gb`,
|
|
77
|
+
storage: '32gb',
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
generateFiles(ctx) {
|
|
82
|
+
const files = new Map();
|
|
83
|
+
const overlayNames = ctx.overlays
|
|
84
|
+
.map((id) => ctx.overlayMetadata.get(id)?.name ?? id)
|
|
85
|
+
.join(', ');
|
|
86
|
+
const serviceOverlays = ctx.overlays.filter((id) => {
|
|
87
|
+
const meta = ctx.overlayMetadata.get(id);
|
|
88
|
+
return meta?.category === 'database' || meta?.category === 'observability';
|
|
89
|
+
});
|
|
90
|
+
let machineNote = '**2-core** machine (default)';
|
|
91
|
+
if (serviceOverlays.length >= 4) {
|
|
92
|
+
machineNote = '**8-core** machine (recommended — many services selected)';
|
|
93
|
+
}
|
|
94
|
+
else if (serviceOverlays.length >= 2) {
|
|
95
|
+
machineNote = '**4-core** machine (recommended — multiple services selected)';
|
|
96
|
+
}
|
|
97
|
+
const ports = collectPorts(ctx.overlays, ctx.overlayMetadata, ctx.portOffset);
|
|
98
|
+
const portSection = ports.length > 0
|
|
99
|
+
? `\n## Exposed Ports\n\n${ports.map((p) => `- **${p.port}** — ${p.service}${p.description ? ` (${p.description})` : ''}`).join('\n')}\n`
|
|
100
|
+
: '';
|
|
101
|
+
const content = `# GitHub Codespaces Setup
|
|
102
|
+
|
|
103
|
+
This devcontainer was generated with **\`--target codespaces\`** and is optimized for
|
|
104
|
+
[GitHub Codespaces](https://github.com/features/codespaces).
|
|
105
|
+
|
|
106
|
+
## Opening in a Codespace
|
|
107
|
+
|
|
108
|
+
1. Push this repository (including the \`.devcontainer/\` directory) to GitHub.
|
|
109
|
+
2. Click **Code → Codespaces → Create codespace on <branch>**.
|
|
110
|
+
3. GitHub will pick up \`.devcontainer/devcontainer.json\` automatically.
|
|
111
|
+
|
|
112
|
+
## Recommended Machine Type
|
|
113
|
+
|
|
114
|
+
The generated \`devcontainer.json\` includes \`hostRequirements\` recommending a
|
|
115
|
+
${machineNote} for the selected stack.
|
|
116
|
+
|
|
117
|
+
**Selected overlays**: ${overlayNames || '(none)'}
|
|
118
|
+
|
|
119
|
+
## Port Forwarding
|
|
120
|
+
|
|
121
|
+
Codespaces automatically forwards ports declared in \`devcontainer.json\`.
|
|
122
|
+
Forwarded ports appear in the **Ports** panel inside VS Code or the Codespaces UI.
|
|
123
|
+
${portSection}
|
|
124
|
+
## Notes
|
|
125
|
+
|
|
126
|
+
- **docker-sock** is not available in Codespaces — use \`docker-in-docker\` instead.
|
|
127
|
+
- Secrets can be added under *Settings → Codespaces → Secrets*.
|
|
128
|
+
- To set environment variables, copy \`.devcontainer/.env.example\` to \`.devcontainer/.env\`
|
|
129
|
+
and add the file to your Codespaces secrets or repository environment.
|
|
130
|
+
|
|
131
|
+
## References
|
|
132
|
+
|
|
133
|
+
- [GitHub Codespaces documentation](https://docs.github.com/en/codespaces)
|
|
134
|
+
- [devcontainer.json reference — hostRequirements](https://containers.dev/implementors/json_reference/#hostRequirementsProperties)
|
|
135
|
+
`;
|
|
136
|
+
files.set('CODESPACES.md', content);
|
|
137
|
+
return files;
|
|
138
|
+
}
|
|
139
|
+
ownedFiles() {
|
|
140
|
+
return ['CODESPACES.md'];
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// ─── Gitpod rule ─────────────────────────────────────────────────────────────
|
|
144
|
+
class GitpodTargetRule {
|
|
145
|
+
target = 'gitpod';
|
|
146
|
+
devcontainerPatch(_ctx) {
|
|
147
|
+
return {};
|
|
148
|
+
}
|
|
149
|
+
generateFiles(ctx) {
|
|
150
|
+
const files = new Map();
|
|
151
|
+
const ports = collectPorts(ctx.overlays, ctx.overlayMetadata, ctx.portOffset);
|
|
152
|
+
const portsSection = ports.length > 0
|
|
153
|
+
? ports
|
|
154
|
+
.map((p) => ` - port: ${p.port}\n onOpen: notify-user\n name: ${p.service}\n description: ${p.description || p.service}`)
|
|
155
|
+
.join('\n')
|
|
156
|
+
: '';
|
|
157
|
+
const devcontainerRef = ctx.stack === 'compose' ? '.devcontainer/devcontainer.json' : '.devcontainer';
|
|
158
|
+
const gitpodYml = [
|
|
159
|
+
'# Gitpod workspace configuration',
|
|
160
|
+
'# Generated by container-superposition with --target gitpod',
|
|
161
|
+
'#',
|
|
162
|
+
'# See: https://www.gitpod.io/docs/references/gitpod-yml',
|
|
163
|
+
'',
|
|
164
|
+
'image:',
|
|
165
|
+
` file: ${devcontainerRef}`,
|
|
166
|
+
'',
|
|
167
|
+
'tasks:',
|
|
168
|
+
' - name: Setup',
|
|
169
|
+
' init: |',
|
|
170
|
+
' echo "Workspace initialized — run your setup commands here"',
|
|
171
|
+
' command: |',
|
|
172
|
+
' echo "Workspace ready"',
|
|
173
|
+
'',
|
|
174
|
+
...(portsSection
|
|
175
|
+
? ['ports:', portsSection, '']
|
|
176
|
+
: ['# ports: [] # No overlay ports declared', '']),
|
|
177
|
+
'vscode:',
|
|
178
|
+
' extensions: []',
|
|
179
|
+
].join('\n');
|
|
180
|
+
// .gitpod.yml must live in the repository root (one level above .devcontainer/)
|
|
181
|
+
files.set('../.gitpod.yml', gitpodYml);
|
|
182
|
+
const overlayNames = ctx.overlays
|
|
183
|
+
.map((id) => ctx.overlayMetadata.get(id)?.name ?? id)
|
|
184
|
+
.join(', ');
|
|
185
|
+
const portSection = ports.length > 0
|
|
186
|
+
? `\n## Exposed Ports\n\n${ports.map((p) => `- **${p.port}** — ${p.service}${p.description ? ` (${p.description})` : ''}`).join('\n')}\n`
|
|
187
|
+
: '';
|
|
188
|
+
const repoUrl = '<!-- Replace with your repository URL -->';
|
|
189
|
+
const gitpodMd = `# Gitpod Setup
|
|
190
|
+
|
|
191
|
+
This devcontainer was generated with **\`--target gitpod\`** and includes a
|
|
192
|
+
\`.gitpod.yml\` at the repository root for use with [Gitpod](https://www.gitpod.io).
|
|
193
|
+
|
|
194
|
+
## Opening in Gitpod
|
|
195
|
+
|
|
196
|
+
1. Push this repository (including \`.devcontainer/\` and \`.gitpod.yml\`) to a
|
|
197
|
+
Git hosting provider supported by Gitpod (GitHub, GitLab, Bitbucket).
|
|
198
|
+
2. Prefix your repository URL with \`https://gitpod.io/#\`:
|
|
199
|
+
|
|
200
|
+
\`\`\`
|
|
201
|
+
https://gitpod.io/#${repoUrl}
|
|
202
|
+
\`\`\`
|
|
203
|
+
|
|
204
|
+
Or add an **Open in Gitpod** badge to your README:
|
|
205
|
+
|
|
206
|
+
\`\`\`markdown
|
|
207
|
+
[](https://gitpod.io/#${repoUrl})
|
|
208
|
+
\`\`\`
|
|
209
|
+
|
|
210
|
+
**Selected overlays**: ${overlayNames || '(none)'}
|
|
211
|
+
${portSection}
|
|
212
|
+
## Notes
|
|
213
|
+
|
|
214
|
+
- **docker-sock** is not available in Gitpod — use \`docker-in-docker\` instead.
|
|
215
|
+
- Environment variables can be set under *Gitpod Settings → Variables*.
|
|
216
|
+
- Copy \`.devcontainer/.env.example\` to \`.devcontainer/.env\` and configure locally.
|
|
217
|
+
- The generated \`.gitpod.yml\` references your devcontainer via its \`image.file\`
|
|
218
|
+
field — Gitpod reads devcontainer.json automatically.
|
|
219
|
+
|
|
220
|
+
## References
|
|
221
|
+
|
|
222
|
+
- [Gitpod documentation](https://www.gitpod.io/docs)
|
|
223
|
+
- [Gitpod .gitpod.yml reference](https://www.gitpod.io/docs/references/gitpod-yml)
|
|
224
|
+
- [Gitpod + devcontainers](https://www.gitpod.io/docs/references/ides-and-editors/vscode)
|
|
225
|
+
`;
|
|
226
|
+
files.set('GITPOD.md', gitpodMd);
|
|
227
|
+
return files;
|
|
228
|
+
}
|
|
229
|
+
ownedFiles() {
|
|
230
|
+
// '../.gitpod.yml' resolves to project root; 'GITPOD.md' is in outputPath.
|
|
231
|
+
return ['../.gitpod.yml', 'GITPOD.md'];
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
// ─── DevPod rule ──────────────────────────────────────────────────────────────
|
|
235
|
+
class DevPodTargetRule {
|
|
236
|
+
target = 'devpod';
|
|
237
|
+
devcontainerPatch(_ctx) {
|
|
238
|
+
return {};
|
|
239
|
+
}
|
|
240
|
+
generateFiles(ctx) {
|
|
241
|
+
const files = new Map();
|
|
242
|
+
const devcontainerPath = ctx.stack === 'compose' ? '.devcontainer/devcontainer.json' : '.devcontainer';
|
|
243
|
+
const devpodYaml = [
|
|
244
|
+
'# DevPod workspace configuration',
|
|
245
|
+
'# Generated by container-superposition with --target devpod',
|
|
246
|
+
'#',
|
|
247
|
+
'# See: https://devpod.sh/docs/managing-workspaces/workspace-configuration',
|
|
248
|
+
'',
|
|
249
|
+
`devcontainerPath: ${devcontainerPath}`,
|
|
250
|
+
].join('\n');
|
|
251
|
+
// devpod.yaml lives at the project root
|
|
252
|
+
files.set('../devpod.yaml', devpodYaml);
|
|
253
|
+
const overlayNames = ctx.overlays
|
|
254
|
+
.map((id) => ctx.overlayMetadata.get(id)?.name ?? id)
|
|
255
|
+
.join(', ');
|
|
256
|
+
const ports = collectPorts(ctx.overlays, ctx.overlayMetadata, ctx.portOffset);
|
|
257
|
+
const portSection = ports.length > 0
|
|
258
|
+
? `\n## Exposed Ports\n\n${ports.map((p) => `- **${p.port}** — ${p.service}${p.description ? ` (${p.description})` : ''}`).join('\n')}\n`
|
|
259
|
+
: '';
|
|
260
|
+
const devpodMd = `# DevPod Setup
|
|
261
|
+
|
|
262
|
+
This devcontainer was generated with **\`--target devpod\`** and includes a
|
|
263
|
+
\`devpod.yaml\` at the repository root for use with [DevPod](https://devpod.sh).
|
|
264
|
+
|
|
265
|
+
## Provisioning with DevPod
|
|
266
|
+
|
|
267
|
+
1. [Install DevPod](https://devpod.sh/docs/getting-started/install).
|
|
268
|
+
2. From the repository root run:
|
|
269
|
+
|
|
270
|
+
\`\`\`bash
|
|
271
|
+
devpod up .
|
|
272
|
+
\`\`\`
|
|
273
|
+
|
|
274
|
+
DevPod reads \`devpod.yaml\` and the referenced \`${devcontainerPath}\` automatically.
|
|
275
|
+
|
|
276
|
+
3. To use a specific provider:
|
|
277
|
+
|
|
278
|
+
\`\`\`bash
|
|
279
|
+
devpod up . --provider docker # Local Docker
|
|
280
|
+
devpod up . --provider aws # AWS EC2
|
|
281
|
+
\`\`\`
|
|
282
|
+
|
|
283
|
+
**Selected overlays**: ${overlayNames || '(none)'}
|
|
284
|
+
${portSection}
|
|
285
|
+
## Notes
|
|
286
|
+
|
|
287
|
+
- Copy \`.devcontainer/.env.example\` to \`.devcontainer/.env\` and edit credentials
|
|
288
|
+
before running \`devpod up\`.
|
|
289
|
+
- DevPod respects \`hostRequirements\` in \`devcontainer.json\` for cloud providers.
|
|
290
|
+
- To stop and destroy the workspace: \`devpod delete <workspace-name>\`.
|
|
291
|
+
|
|
292
|
+
## References
|
|
293
|
+
|
|
294
|
+
- [DevPod documentation](https://devpod.sh/docs)
|
|
295
|
+
- [DevPod workspace configuration](https://devpod.sh/docs/managing-workspaces/workspace-configuration)
|
|
296
|
+
- [DevPod providers](https://devpod.sh/docs/managing-providers/add-provider)
|
|
297
|
+
`;
|
|
298
|
+
files.set('DEVPOD.md', devpodMd);
|
|
299
|
+
return files;
|
|
300
|
+
}
|
|
301
|
+
ownedFiles() {
|
|
302
|
+
return ['../devpod.yaml', 'DEVPOD.md'];
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
// ─── Registry ────────────────────────────────────────────────────────────────
|
|
306
|
+
const TARGET_RULES = {
|
|
307
|
+
local: new LocalTargetRule(),
|
|
308
|
+
codespaces: new CodespacesTargetRule(),
|
|
309
|
+
gitpod: new GitpodTargetRule(),
|
|
310
|
+
devpod: new DevPodTargetRule(),
|
|
311
|
+
};
|
|
312
|
+
/**
|
|
313
|
+
* Return the target rule for the given deployment target.
|
|
314
|
+
* Throws a clear error when the target has no defined rule (future-proofing).
|
|
315
|
+
*/
|
|
316
|
+
export function getTargetRule(target) {
|
|
317
|
+
const rule = TARGET_RULES[target];
|
|
318
|
+
if (!rule) {
|
|
319
|
+
const valid = Object.keys(TARGET_RULES).join(', ');
|
|
320
|
+
throw new Error(`No target rule defined for '${target}'. Valid targets are: ${valid}`);
|
|
321
|
+
}
|
|
322
|
+
return rule;
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Resolve a path produced by TargetRule.generateFiles() to an absolute
|
|
326
|
+
* filesystem path.
|
|
327
|
+
*
|
|
328
|
+
* Keys starting with '../' are resolved relative to projectRoot (i.e. the
|
|
329
|
+
* repository root, one level above .devcontainer/). All other keys are
|
|
330
|
+
* resolved relative to outputPath (.devcontainer/).
|
|
331
|
+
*/
|
|
332
|
+
export function resolveTargetFilePath(key, outputPath, projectRoot) {
|
|
333
|
+
if (key.startsWith('../')) {
|
|
334
|
+
return path.join(projectRoot, key.slice(3));
|
|
335
|
+
}
|
|
336
|
+
return path.join(outputPath, key);
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Remove stale project-root artifacts left by a previous target.
|
|
340
|
+
*
|
|
341
|
+
* Only project-root files (keys starting with '../') are removed here; files
|
|
342
|
+
* inside outputPath are handled automatically by cleanupStaleFiles via the
|
|
343
|
+
* FileRegistry.
|
|
344
|
+
*
|
|
345
|
+
* @param previousTarget Target used in the previous generation run.
|
|
346
|
+
* @param nextTarget Target for the current generation run.
|
|
347
|
+
* @param projectRoot Absolute path to the project root.
|
|
348
|
+
*/
|
|
349
|
+
export function removeStaleTargetArtifacts(previousTarget, nextTarget, projectRoot) {
|
|
350
|
+
if (previousTarget === nextTarget) {
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
353
|
+
const previousRule = TARGET_RULES[previousTarget];
|
|
354
|
+
if (!previousRule) {
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
357
|
+
for (const ownedKey of previousRule.ownedFiles()) {
|
|
358
|
+
if (!ownedKey.startsWith('../')) {
|
|
359
|
+
continue; // outputPath files handled by FileRegistry
|
|
360
|
+
}
|
|
361
|
+
const absPath = path.join(projectRoot, ownedKey.slice(3));
|
|
362
|
+
if (fs.existsSync(absPath)) {
|
|
363
|
+
fs.unlinkSync(absPath);
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
//# sourceMappingURL=target-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-rules.js","sourceRoot":"","sources":["../../../tool/schema/target-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,8 @@ export type PackageManager = 'apt' | 'apk';
|
|
|
10
10
|
*/
|
|
11
11
|
export type DeploymentTarget = 'local' | 'codespaces' | 'gitpod' | 'devpod';
|
|
12
12
|
export type LanguageOverlay = 'dotnet' | 'nodejs' | 'python' | 'mkdocs' | 'java' | 'go' | 'rust' | 'bun' | 'jupyter' | 'powershell';
|
|
13
|
-
export type
|
|
13
|
+
export type MessagingOverlay = 'rabbitmq' | 'redpanda' | 'nats';
|
|
14
|
+
export type DatabaseOverlay = 'postgres' | 'redis' | 'mongodb' | 'mysql' | 'sqlserver' | 'sqlite' | 'duckdb' | 'minio' | MessagingOverlay;
|
|
14
15
|
export type CloudTool = 'azure-cli' | 'aws-cli' | 'gcloud' | 'cloudflared' | 'kubectl-helm' | 'kind' | 'localstack' | 'terraform' | 'pulumi';
|
|
15
16
|
export type DevTool = 'docker-in-docker' | 'docker-sock' | 'codex' | 'playwright' | 'git-helpers' | 'grpc-tools' | 'keycloak' | 'mailpit' | 'pre-commit' | 'commitlint' | 'just' | 'direnv' | 'modern-cli-tools' | 'ngrok' | 'openapi-tools' | 'pandoc' | 'spec-kit' | 'tilt' | 'claude-code' | 'gemini-cli' | 'amp' | 'windsurf-cli' | 'opencode' | 'mkdocs2' | 'devcontainer-cli';
|
|
16
17
|
export type ObservabilityTool = 'alertmanager' | 'otel-collector' | 'otel-demo-nodejs' | 'otel-demo-python' | 'jaeger' | 'prometheus' | 'promtail' | 'grafana' | 'loki' | 'tempo';
|
|
@@ -54,6 +55,11 @@ export interface DevContainerConfig {
|
|
|
54
55
|
* Editor profile for customizations
|
|
55
56
|
*/
|
|
56
57
|
export type EditorProfile = 'vscode' | 'jetbrains' | 'none';
|
|
58
|
+
export type ProjectEnvTarget = 'auto' | 'remoteEnv' | 'composeEnv';
|
|
59
|
+
export interface ProjectEnvVar {
|
|
60
|
+
value: string;
|
|
61
|
+
target?: ProjectEnvTarget;
|
|
62
|
+
}
|
|
57
63
|
/**
|
|
58
64
|
* Questionnaire response interface
|
|
59
65
|
*/
|
|
@@ -77,7 +83,9 @@ export interface QuestionnaireAnswers {
|
|
|
77
83
|
target?: DeploymentTarget;
|
|
78
84
|
minimal?: boolean;
|
|
79
85
|
editor?: EditorProfile;
|
|
86
|
+
projectEnv?: Record<string, ProjectEnvVar>;
|
|
80
87
|
customizations?: CustomizationConfig;
|
|
88
|
+
overlayParameters?: Record<string, string>;
|
|
81
89
|
}
|
|
82
90
|
/**
|
|
83
91
|
* Port attributes configuration
|
|
@@ -105,6 +113,9 @@ export interface DevContainer {
|
|
|
105
113
|
extensions?: string[];
|
|
106
114
|
settings?: Record<string, any>;
|
|
107
115
|
};
|
|
116
|
+
jetbrains?: {
|
|
117
|
+
backend: string;
|
|
118
|
+
};
|
|
108
119
|
};
|
|
109
120
|
forwardPorts?: number[];
|
|
110
121
|
portsAttributes?: Record<string, PortAttributes>;
|
|
@@ -119,7 +130,7 @@ export interface DevContainer {
|
|
|
119
130
|
/**
|
|
120
131
|
* Overlay categories - just metadata for grouping in UI
|
|
121
132
|
*/
|
|
122
|
-
export type OverlayCategory = 'language' | 'database' | 'observability' | 'cloud' | 'dev' | 'preset';
|
|
133
|
+
export type OverlayCategory = 'language' | 'database' | 'messaging' | 'observability' | 'cloud' | 'dev' | 'preset';
|
|
123
134
|
/**
|
|
124
135
|
* Port metadata - can be simple number or rich object
|
|
125
136
|
*/
|
|
@@ -138,6 +149,15 @@ export interface PortMetadata {
|
|
|
138
149
|
export interface NormalizedPort extends PortMetadata {
|
|
139
150
|
actualPort: number;
|
|
140
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Declaration of a single configurable parameter for an overlay.
|
|
154
|
+
* Parameters are resolved at generation time using {{cs.PARAM_NAME}} substitution.
|
|
155
|
+
*/
|
|
156
|
+
export interface OverlayParameterDefinition {
|
|
157
|
+
description: string;
|
|
158
|
+
default?: string;
|
|
159
|
+
sensitive?: boolean;
|
|
160
|
+
}
|
|
141
161
|
/**
|
|
142
162
|
* Overlay metadata from overlays.yml
|
|
143
163
|
*/
|
|
@@ -153,9 +173,12 @@ export interface OverlayMetadata {
|
|
|
153
173
|
tags?: string[];
|
|
154
174
|
ports?: (number | PortMetadata)[];
|
|
155
175
|
order?: number;
|
|
176
|
+
serviceOrder?: number;
|
|
156
177
|
imports?: string[];
|
|
178
|
+
compose_imports?: string[];
|
|
157
179
|
minimal?: boolean;
|
|
158
180
|
hidden?: boolean;
|
|
181
|
+
parameters?: Record<string, OverlayParameterDefinition>;
|
|
159
182
|
}
|
|
160
183
|
/**
|
|
161
184
|
* User choice configuration for presets
|
|
@@ -255,6 +278,9 @@ export interface SuperpositionManifest {
|
|
|
255
278
|
reason: string;
|
|
256
279
|
};
|
|
257
280
|
containerName?: string;
|
|
281
|
+
target?: DeploymentTarget;
|
|
282
|
+
minimal?: boolean;
|
|
283
|
+
editor?: EditorProfile;
|
|
258
284
|
customizations?: {
|
|
259
285
|
enabled: boolean;
|
|
260
286
|
location: string;
|
|
@@ -274,6 +300,8 @@ export interface CustomizationConfig {
|
|
|
274
300
|
files?: Array<{
|
|
275
301
|
source: string;
|
|
276
302
|
destination: string;
|
|
303
|
+
/** Pre-loaded file content; avoids re-reading from disk when available (e.g. when materialized from a project config). */
|
|
304
|
+
content?: string;
|
|
277
305
|
}>;
|
|
278
306
|
}
|
|
279
307
|
export interface ProjectConfigFileEntry {
|
|
@@ -283,7 +311,7 @@ export interface ProjectConfigFileEntry {
|
|
|
283
311
|
export interface ProjectConfigCustomizationsInput {
|
|
284
312
|
devcontainerPatch?: DevContainer;
|
|
285
313
|
dockerComposePatch?: Record<string, any>;
|
|
286
|
-
|
|
314
|
+
envTemplate?: Record<string, string>;
|
|
287
315
|
scripts?: {
|
|
288
316
|
postCreate?: string[];
|
|
289
317
|
postStart?: string[];
|
|
@@ -366,6 +394,15 @@ export interface FixRun {
|
|
|
366
394
|
summary: FixOutcomeSummary;
|
|
367
395
|
exitDisposition: ExitDisposition;
|
|
368
396
|
}
|
|
397
|
+
/**
|
|
398
|
+
* Resolved composition input — produced by mergeAnswers() after all user input has been
|
|
399
|
+
* collected and defaults applied. Guarantees that array fields which QuestionnaireAnswers
|
|
400
|
+
* leaves optional are present (empty arrays at minimum), making downstream code type-safe.
|
|
401
|
+
*/
|
|
402
|
+
export interface CompositionInput extends QuestionnaireAnswers {
|
|
403
|
+
language: LanguageOverlay[];
|
|
404
|
+
database: DatabaseOverlay[];
|
|
405
|
+
}
|
|
369
406
|
export interface ProjectConfigSelection {
|
|
370
407
|
stack?: Stack;
|
|
371
408
|
baseImage?: BaseImage;
|
|
@@ -379,6 +416,8 @@ export interface ProjectConfigSelection {
|
|
|
379
416
|
target?: DeploymentTarget;
|
|
380
417
|
minimal?: boolean;
|
|
381
418
|
editor?: EditorProfile;
|
|
419
|
+
env?: Record<string, ProjectEnvVar>;
|
|
382
420
|
customizations?: ProjectConfigCustomizationsInput;
|
|
421
|
+
parameters?: Record<string, string>;
|
|
383
422
|
}
|
|
384
423
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../tool/schema/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../tool/schema/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;AACxC,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC/E,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,CAAC;AAE3C;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC5E,MAAM,MAAM,eAAe,GACrB,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,MAAM,GACN,KAAK,GACL,SAAS,GACT,YAAY,CAAC;AACnB,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAChE,MAAM,MAAM,eAAe,GACrB,UAAU,GACV,OAAO,GACP,SAAS,GACT,OAAO,GACP,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,gBAAgB,CAAC;AACvB,MAAM,MAAM,SAAS,GACf,WAAW,GACX,SAAS,GACT,QAAQ,GACR,aAAa,GACb,cAAc,GACd,MAAM,GACN,YAAY,GACZ,WAAW,GACX,QAAQ,CAAC;AACf,MAAM,MAAM,OAAO,GACb,kBAAkB,GAClB,aAAa,GACb,OAAO,GACP,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,UAAU,GACV,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,MAAM,GACN,QAAQ,GACR,kBAAkB,GAClB,OAAO,GACP,eAAe,GACf,QAAQ,GACR,UAAU,GACV,MAAM,GACN,aAAa,GACb,YAAY,GACZ,KAAK,GACL,cAAc,GACd,UAAU,GACV,SAAS,GACT,kBAAkB,CAAC;AACzB,MAAM,MAAM,iBAAiB,GACvB,cAAc,GACd,gBAAgB,GAChB,kBAAkB,GAClB,kBAAkB,GAClB,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,SAAS,GACT,MAAM,GACN,OAAO,CAAC;AAEd;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,eAAe,GAAG,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,iBAAiB,CAAC;AAGpG,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAExE,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IAEzB;;OAEG;IACH,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAEpC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,WAAW,GAAG,YAAY,CAAC;AACnE,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC/E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE;QACJ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,cAAc,CAAC,EAAE;QACb,MAAM,CAAC,EAAE;YACL,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;YACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;SAClC,CAAC;QACF,SAAS,CAAC,EAAE;YACR,OAAO,EAAE,MAAM,CAAC;SACnB,CAAC;KACL,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACjD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpD,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GACrB,UAAU,GACV,UAAU,GACV,WAAW,GACX,eAAe,GACf,OAAO,GACP,KAAK,GACL,QAAQ,CAAC;AAEf;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC/E,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,YAAY;IAChD,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;CAC3D;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,qBAAqB,EAAE,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE;QACL,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;KACjD,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7C,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,WAAW,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,eAAe,CAAC,EAAE,cAAc,CAAC;KACpC,CAAC,CAAC;IACH,cAAc,EAAE,KAAK,CAAC;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;IACH,2CAA2C;IAC3C,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAElC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,SAAS,EAAE,MAAM,CAAC;IAGlB,YAAY,EAAE,KAAK,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE;QACX,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,cAAc,CAAC,EAAE;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,iBAAiB,CAAC,EAAE,YAAY,CAAC;IACjC,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE;QACN,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;IACF,KAAK,CAAC,EAAE,KAAK,CAAC;QACV,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,0HAA0H;QAC1H,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACN;AAED,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;CACxD;AAED,MAAM,WAAW,gCAAgC;IAC7C,iBAAiB,CAAC,EAAE,YAAY,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE;QACN,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;IACF,KAAK,CAAC,EAAE,KAAK,CAAC;QACV,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACN;AAID,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5F;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAE5E,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,GAAG,MAAM,CAAC;AAEhF,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,wBAAwB,CAAC;AAEvE,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,oBAAoB,GAAG,cAAc,GAAG,OAAO,CAAC;AAE9F,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,mBAAmB,GAAG,SAAS,GAAG,wBAAwB,CAAC;AAE9F,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,wBAAwB,GAAG,qBAAqB,CAAC;AAE3F;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,iBAAiB,EAAE,CAAC;IACrC,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC1D,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACnC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,gCAAgC,CAAC;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC"}
|