@aid-framework/cli 0.1.56 → 0.1.58

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.
@@ -0,0 +1,27 @@
1
+ /**
2
+ * `aid eject` — take ownership of a generated file (§10).
3
+ *
4
+ * The CLI's whole job here is to decide *which managed tree* the path belongs to and to
5
+ * write the manifest afterwards. The decision that matters — that ownership is a move to
6
+ * the business tier plus a permanent exclusion, and that neither half is optional — is
7
+ * `@aid-framework/generator-sdk`'s `eject`, so `aid gen`, `aid doctor` and this command cannot
8
+ * disagree about what "ejected" means.
9
+ *
10
+ * Two trees own paths, so the path selects the tree rather than a flag: `app/...` is the
11
+ * spec target's tree, `infra/...` is the infra emitter's (§12.2 spells `aid eject
12
+ * infra/...`). `--target` only disambiguates which generator's manifest to read when a
13
+ * tree could belong to more than one target; today both Phase 0 targets use `app/`, so it
14
+ * changes nothing but the diagnostic wording. A path under neither root is a usage
15
+ * mistake, not a missing file.
16
+ */
17
+ import type { CliContext } from '../context.js';
18
+ import type { CommandOutcome } from '../output.js';
19
+ export interface EjectOptions {
20
+ /** The generated path to take ownership of. */
21
+ readonly path: string | undefined;
22
+ readonly target: string | undefined;
23
+ /** Report the move without writing anything. */
24
+ readonly dryRun: boolean;
25
+ }
26
+ export declare function eject(context: CliContext, options: EjectOptions): CommandOutcome;
27
+ //# sourceMappingURL=eject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eject.d.ts","sourceRoot":"","sources":["../../src/commands/eject.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAYH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AASnD,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAiFD,wBAAgB,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,GAAG,cAAc,CAqIhF"}
@@ -0,0 +1,206 @@
1
+ /**
2
+ * `aid eject` — take ownership of a generated file (§10).
3
+ *
4
+ * The CLI's whole job here is to decide *which managed tree* the path belongs to and to
5
+ * write the manifest afterwards. The decision that matters — that ownership is a move to
6
+ * the business tier plus a permanent exclusion, and that neither half is optional — is
7
+ * `@aid-framework/generator-sdk`'s `eject`, so `aid gen`, `aid doctor` and this command cannot
8
+ * disagree about what "ejected" means.
9
+ *
10
+ * Two trees own paths, so the path selects the tree rather than a flag: `app/...` is the
11
+ * spec target's tree, `infra/...` is the infra emitter's (§12.2 spells `aid eject
12
+ * infra/...`). `--target` only disambiguates which generator's manifest to read when a
13
+ * tree could belong to more than one target; today both Phase 0 targets use `app/`, so it
14
+ * changes nothing but the diagnostic wording. A path under neither root is a usage
15
+ * mistake, not a missing file.
16
+ */
17
+ import { createNodeSink, eject as ejectPath, normalizeRelativePath, parseAidManifestJson, serializeAidManifest, } from '@aid-framework/generator-sdk';
18
+ import { hasErrors, sortDiagnostics } from '@aid-framework/spec';
19
+ import { CLI_DIAGNOSTIC_CODES, cliError } from '../diagnostics.js';
20
+ import { EXIT_FAILURE, EXIT_OK, EXIT_USAGE } from '../exit.js';
21
+ import { INFRA_GENERATED_DIR, INFRA_MANIFEST_PATH } from '../infra/emit.js';
22
+ import { outcome } from '../output.js';
23
+ import { readManifest } from '../pipeline.js';
24
+ import { resolveTarget, TARGETS, unknownTargetDiagnostic } from '../targets.js';
25
+ /** The infra emitter's business root, parallel to the app target's `app/business`. */
26
+ const INFRA_BUSINESS_DIR = 'infra/business';
27
+ function stripTrailingSlash(value) {
28
+ let end = value.length;
29
+ while (end > 0 && value[end - 1] === '/')
30
+ end--;
31
+ return value.slice(0, end);
32
+ }
33
+ function under(path, dir) {
34
+ return path.startsWith(`${stripTrailingSlash(dir)}/`);
35
+ }
36
+ /** Which managed tree `path` lives in, or `undefined` when it lives in neither. */
37
+ function managedTree(path, options) {
38
+ if (under(path, INFRA_GENERATED_DIR) || under(path, INFRA_BUSINESS_DIR)) {
39
+ return { kind: 'infra' };
40
+ }
41
+ const target = resolveTarget(options.target);
42
+ if (target === undefined)
43
+ return undefined;
44
+ if (under(path, target.generatedDir) || under(path, target.businessDir)) {
45
+ return { kind: 'target', target };
46
+ }
47
+ return undefined;
48
+ }
49
+ /** Every generated and business root this CLI knows, for the unmanaged-path hint. */
50
+ function managedRootsHint() {
51
+ const roots = new Set();
52
+ for (const target of TARGETS) {
53
+ roots.add(target.generatedDir);
54
+ roots.add(target.businessDir);
55
+ }
56
+ roots.add(INFRA_GENERATED_DIR);
57
+ roots.add(INFRA_BUSINESS_DIR);
58
+ return [...roots].sort().join(', ');
59
+ }
60
+ function readTreeManifest(sink, tree) {
61
+ if (tree.kind === 'target') {
62
+ const read = readManifest(sink, tree.target);
63
+ return read.ok
64
+ ? { ok: true, manifest: read.manifest, manifestPath: tree.target.manifestPath }
65
+ : { ok: false, diagnostics: read.diagnostics };
66
+ }
67
+ const text = sink.read(INFRA_MANIFEST_PATH);
68
+ if (text === undefined) {
69
+ return { ok: true, manifest: undefined, manifestPath: INFRA_MANIFEST_PATH };
70
+ }
71
+ // The same parser and the same roots the infra emitter wrote with, so an infra path
72
+ // satisfies the ownership rule exactly as `aid infra gen` wrote it.
73
+ const parsed = parseAidManifestJson(text, {
74
+ generatedDir: INFRA_GENERATED_DIR,
75
+ businessDir: INFRA_BUSINESS_DIR,
76
+ });
77
+ if (parsed.manifest === undefined || hasErrors(parsed.diagnostics)) {
78
+ return { ok: false, diagnostics: sortDiagnostics(parsed.diagnostics) };
79
+ }
80
+ return { ok: true, manifest: parsed.manifest, manifestPath: INFRA_MANIFEST_PATH };
81
+ }
82
+ export function eject(context, options) {
83
+ const command = 'eject';
84
+ const raw = options.path?.trim() ?? '';
85
+ const fields = { path: raw, dryRun: options.dryRun };
86
+ if (raw === '') {
87
+ return outcome({
88
+ command,
89
+ exitCode: EXIT_USAGE,
90
+ diagnostics: [
91
+ cliError({
92
+ code: CLI_DIAGNOSTIC_CODES.ejectUnmanagedPath,
93
+ message: 'eject needs the path of a generated file.',
94
+ hint: 'For example: aid eject app/generated/prompts/triage.py',
95
+ }),
96
+ ],
97
+ });
98
+ }
99
+ if (options.target !== undefined && resolveTarget(options.target) === undefined) {
100
+ return outcome({
101
+ command,
102
+ exitCode: EXIT_USAGE,
103
+ fields,
104
+ diagnostics: [unknownTargetDiagnostic(options.target)],
105
+ });
106
+ }
107
+ const path = normalizeRelativePath(raw);
108
+ if (path === undefined) {
109
+ return outcome({
110
+ command,
111
+ exitCode: EXIT_USAGE,
112
+ fields,
113
+ diagnostics: [
114
+ cliError({
115
+ code: CLI_DIAGNOSTIC_CODES.ejectUnmanagedPath,
116
+ message: `"${raw}" is not a path relative to the project root.`,
117
+ path: [raw],
118
+ hint: `Managed roots: ${managedRootsHint()}.`,
119
+ }),
120
+ ],
121
+ });
122
+ }
123
+ const tree = managedTree(path, options);
124
+ if (tree === undefined) {
125
+ return outcome({
126
+ command,
127
+ exitCode: EXIT_USAGE,
128
+ fields,
129
+ diagnostics: [
130
+ cliError({
131
+ code: CLI_DIAGNOSTIC_CODES.ejectUnmanagedPath,
132
+ message: `"${path}" is not under a generated or business root.`,
133
+ path: [path],
134
+ hint: `Managed roots: ${managedRootsHint()}.`,
135
+ }),
136
+ ],
137
+ });
138
+ }
139
+ const sink = createNodeSink(context.cwd);
140
+ const read = readTreeManifest(sink, tree);
141
+ if (!read.ok) {
142
+ return outcome({ command, exitCode: EXIT_FAILURE, fields, diagnostics: read.diagnostics });
143
+ }
144
+ const result = ejectPath({
145
+ path,
146
+ sink,
147
+ manifest: read.manifest,
148
+ ...(tree.kind === 'target'
149
+ ? { generatedDir: tree.target.generatedDir, businessDir: tree.target.businessDir }
150
+ : { generatedDir: INFRA_GENERATED_DIR, businessDir: INFRA_BUSINESS_DIR }),
151
+ ...(options.dryRun ? { dryRun: true } : {}),
152
+ });
153
+ if (!result.ok) {
154
+ return outcome({
155
+ command,
156
+ exitCode: EXIT_FAILURE,
157
+ fields,
158
+ diagnostics: sortDiagnostics(result.diagnostics),
159
+ });
160
+ }
161
+ // Checked before the manifest, because an idempotent `already-owned` result carries no
162
+ // new manifest and requiring one would turn success into a failure.
163
+ if (result.status === 'already-owned') {
164
+ return outcome({
165
+ command,
166
+ exitCode: EXIT_OK,
167
+ diagnostics: [],
168
+ text: `${result.from ?? path} is already developer-owned; nothing to do.`,
169
+ fields: { ...fields, path, status: result.status },
170
+ });
171
+ }
172
+ if (result.manifest === undefined) {
173
+ return outcome({
174
+ command,
175
+ exitCode: EXIT_FAILURE,
176
+ fields,
177
+ diagnostics: sortDiagnostics(result.diagnostics),
178
+ });
179
+ }
180
+ const written = !options.dryRun;
181
+ if (written)
182
+ sink.write(read.manifestPath, serializeAidManifest(result.manifest));
183
+ return outcome({
184
+ command,
185
+ exitCode: EXIT_OK,
186
+ diagnostics: [],
187
+ text: [
188
+ options.dryRun
189
+ ? `would eject ${result.from} -> ${result.to}`
190
+ : `ejected ${result.from} -> ${result.to}`,
191
+ written
192
+ ? `${result.from} is now permanently excluded from generation.`
193
+ : 'nothing was written (--dry-run).',
194
+ ].join('\n'),
195
+ fields: {
196
+ ...fields,
197
+ path,
198
+ status: result.status,
199
+ from: result.from,
200
+ to: result.to,
201
+ written: result.written,
202
+ manifest: { path: read.manifestPath, written },
203
+ },
204
+ });
205
+ }
206
+ //# sourceMappingURL=eject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eject.js","sourceRoot":"","sources":["../../src/commands/eject.ts"],"names":[],"mappings":"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"}
@@ -109,6 +109,7 @@ function summarize(success) {
109
109
  }
110
110
  }
111
111
  text.push(...lines('no longer generated:', report.stale));
112
+ text.push(...lines('ejected, skipped:', report.ejected));
112
113
  return outcome({
113
114
  command: 'gen',
114
115
  exitCode: failed ? EXIT_FAILURE : EXIT_OK,
@@ -131,6 +132,7 @@ function summarize(success) {
131
132
  conflicts: report.drifted.map((file) => file.path),
132
133
  stale: report.stale,
133
134
  pruned: report.pruned,
135
+ ejected: report.ejected,
134
136
  },
135
137
  },
136
138
  });
@@ -1 +1 @@
1
- {"version":3,"file":"gen.js","sourceRoot":"","sources":["../../src/commands/gen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gen.js","sourceRoot":"","sources":["../../src/commands/gen.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,18 @@
1
1
  /**
2
- * `aid infra` — derive the deployment wiring from the spec, and drive OpenTofu.
2
+ * `aid infra` — derive the deployment wiring from the spec, and drive a backend.
3
3
  *
4
4
  * The division of labour is the same one `aid gen` keeps, and for the same reason:
5
5
  * *what* the infrastructure says is derived by `@aid-framework/ir` (`buildDeployPlan`) and
6
6
  * spelled by `emitInfra`; *whether a file may be rewritten* is the generator SDK's drift
7
- * rule, reused as-is. This file decides four things and nothing else: which action, which
8
- * spec, which environment, and what an exit status means. In particular it does not
9
- * re-hash files or re-implement drift — a second implementation of that rule would
10
- * eventually disagree, and the one that disagreed would be holding someone's edits.
7
+ * rule, reused as-is. This file decides five things and nothing else: which action, which
8
+ * spec, which environment, which backend (`iac`), and what an exit status means. In
9
+ * particular it does not re-hash files or re-implement drift — a second implementation of
10
+ * that rule would eventually disagree, and the one that disagreed would be holding
11
+ * someone's edits.
11
12
  *
12
- * `plan`, `apply` and `drift` shell out through `context.spawn`, so a missing `tofu` is a
13
- * diagnostic and not a crash, and a test can observe the argv without OpenTofu installed.
13
+ * `plan`, `apply` and `drift` shell out through `context.spawn`, so a missing `tofu` or
14
+ * `cdk` is a diagnostic and not a crash, and a test can observe the argv without either
15
+ * installed.
14
16
  */
15
17
  import type { CliContext } from '../context.js';
16
18
  import type { CommandOutcome } from '../output.js';
@@ -24,7 +26,9 @@ export interface InfraOptions {
24
26
  readonly force: boolean;
25
27
  readonly env: string | undefined;
26
28
  readonly confirmProd: boolean;
27
- /** Whether stdout must stay a single JSON document, which decides how `tofu` streams. */
29
+ /** `plan`, `apply`, `drift`: which tool to drive. Defaults to `tofu`. */
30
+ readonly iac: string | undefined;
31
+ /** Whether stdout must stay a single JSON document, which decides how a tool streams. */
28
32
  readonly json: boolean;
29
33
  }
30
34
  export declare function infra(context: CliContext, options: InfraOptions): CommandOutcome;
@@ -1 +1 @@
1
- {"version":3,"file":"infra.d.ts","sourceRoot":"","sources":["../../src/commands/infra.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAkBH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAQhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAoBnD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,yFAAyF;IACzF,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,GAAG,cAAc,CAgChF"}
1
+ {"version":3,"file":"infra.d.ts","sourceRoot":"","sources":["../../src/commands/infra.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAkBH,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,eAAe,CAAC;AAc7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAyBnD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,yFAAyF;IACzF,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,GAAG,cAAc,CA8ChF"}
@@ -1,16 +1,18 @@
1
1
  /**
2
- * `aid infra` — derive the deployment wiring from the spec, and drive OpenTofu.
2
+ * `aid infra` — derive the deployment wiring from the spec, and drive a backend.
3
3
  *
4
4
  * The division of labour is the same one `aid gen` keeps, and for the same reason:
5
5
  * *what* the infrastructure says is derived by `@aid-framework/ir` (`buildDeployPlan`) and
6
6
  * spelled by `emitInfra`; *whether a file may be rewritten* is the generator SDK's drift
7
- * rule, reused as-is. This file decides four things and nothing else: which action, which
8
- * spec, which environment, and what an exit status means. In particular it does not
9
- * re-hash files or re-implement drift — a second implementation of that rule would
10
- * eventually disagree, and the one that disagreed would be holding someone's edits.
7
+ * rule, reused as-is. This file decides five things and nothing else: which action, which
8
+ * spec, which environment, which backend (`iac`), and what an exit status means. In
9
+ * particular it does not re-hash files or re-implement drift — a second implementation of
10
+ * that rule would eventually disagree, and the one that disagreed would be holding
11
+ * someone's edits.
11
12
  *
12
- * `plan`, `apply` and `drift` shell out through `context.spawn`, so a missing `tofu` is a
13
- * diagnostic and not a crash, and a test can observe the argv without OpenTofu installed.
13
+ * `plan`, `apply` and `drift` shell out through `context.spawn`, so a missing `tofu` or
14
+ * `cdk` is a diagnostic and not a crash, and a test can observe the argv without either
15
+ * installed.
14
16
  */
15
17
  import { existsSync } from 'node:fs';
16
18
  import { join } from 'node:path';
@@ -19,12 +21,15 @@ import { buildDeployPlan, DEPLOY_PLAN_VERSION } from '@aid-framework/ir';
19
21
  import { hasErrors, sortDiagnostics } from '@aid-framework/spec';
20
22
  import { CLI_DIAGNOSTIC_CODES, cliError } from '../diagnostics.js';
21
23
  import { EXIT_FAILURE, EXIT_OK, EXIT_USAGE } from '../exit.js';
22
- import { emitInfra, INFRA_GENERATED_DIR, INFRA_MANIFEST_PATH } from '../infra/emit.js';
23
- import { envRoot, runTofu, TFVARS_PATH } from '../infra/tofu.js';
24
+ import { cdkRoot, classifyCdk, runCdk } from '../infra/cdk.js';
25
+ import { emitInfra, INFRA_CDK_CONTEXT_PATH, INFRA_GENERATED_DIR, INFRA_MANIFEST_PATH, } from '../infra/emit.js';
26
+ import { classifyTofu, envRoot, runTofu, TFVARS_PATH } from '../infra/tofu.js';
24
27
  import { outcome } from '../output.js';
25
28
  import { lowerSpec, readSpec } from '../pipeline.js';
26
29
  import { DEFAULT_SPEC_PATH } from '../targets.js';
27
30
  const SUBCOMMANDS = ['gen', 'plan', 'apply', 'drift'];
31
+ /** The backends a bare action can drive. `tofu` stays the default, so nothing shipped moves. */
32
+ const IAC_BACKENDS = ['tofu', 'cdk'];
28
33
  /** The env root a bare action runs in. */
29
34
  const DEFAULT_ENV = 'dev';
30
35
  /**
@@ -63,6 +68,19 @@ export function infra(context, options) {
63
68
  ],
64
69
  });
65
70
  }
71
+ if (options.iac !== undefined && !IAC_BACKENDS.includes(options.iac)) {
72
+ return outcome({
73
+ command: 'infra',
74
+ exitCode: EXIT_USAGE,
75
+ diagnostics: [
76
+ cliError({
77
+ code: CLI_DIAGNOSTIC_CODES.infraUnknownIac,
78
+ message: `Unknown infrastructure backend "${options.iac}".`,
79
+ hint: `Use one of: ${IAC_BACKENDS.join(', ')}.`,
80
+ }),
81
+ ],
82
+ });
83
+ }
66
84
  return options.subcommand === 'gen'
67
85
  ? generate(context, options)
68
86
  : action(context, options, options.subcommand);
@@ -173,10 +191,36 @@ function generate(context, options) {
173
191
  },
174
192
  });
175
193
  }
194
+ function backendFor(context, iac, action, env) {
195
+ if (iac === 'cdk') {
196
+ return {
197
+ root: cdkRoot(env),
198
+ planPath: INFRA_CDK_CONTEXT_PATH,
199
+ missingCode: CLI_DIAGNOSTIC_CODES.infraCdkMissing,
200
+ failedCode: CLI_DIAGNOSTIC_CODES.infraCdkFailed,
201
+ installHint: 'Install the AWS CDK, or point AID_CDK at a cdk binary.',
202
+ rootHint: `Create ${cdkRoot(env)} with your CDK app; the generated context is consumed there, not written to.`,
203
+ run: (stdio) => runCdk(context, action, env, stdio),
204
+ classify: (status) => classifyCdk(action, status),
205
+ };
206
+ }
207
+ return {
208
+ root: envRoot(env),
209
+ planPath: TFVARS_PATH,
210
+ missingCode: CLI_DIAGNOSTIC_CODES.infraTofuMissing,
211
+ failedCode: CLI_DIAGNOSTIC_CODES.infraTofuFailed,
212
+ installHint: 'Install OpenTofu, or point AID_TOFU at a tofu binary.',
213
+ rootHint: `Create ${envRoot(env)} with your module wiring; the generated tfvars is consumed there, not written to.`,
214
+ run: (stdio) => runTofu(context, action, env, stdio),
215
+ classify: (status) => classifyTofu(action, status),
216
+ };
217
+ }
176
218
  function action(context, options, action) {
177
219
  const command = 'infra';
220
+ const iac = options.iac === 'cdk' ? 'cdk' : 'tofu';
178
221
  const env = options.env ?? DEFAULT_ENV;
179
- const fields = { action, env, tool: 'tofu' };
222
+ const fields = { action, env, tool: iac };
223
+ const backend = backendFor(context, iac, action, env);
180
224
  if (action === 'apply' && env === 'prod' && !options.confirmProd) {
181
225
  return outcome({
182
226
  command,
@@ -191,7 +235,7 @@ function action(context, options, action) {
191
235
  ],
192
236
  });
193
237
  }
194
- if (!existsSync(join(context.cwd, ...TFVARS_PATH.split('/')))) {
238
+ if (!existsSync(join(context.cwd, ...backend.planPath.split('/')))) {
195
239
  return outcome({
196
240
  command,
197
241
  exitCode: EXIT_FAILURE,
@@ -199,14 +243,13 @@ function action(context, options, action) {
199
243
  diagnostics: [
200
244
  cliError({
201
245
  code: CLI_DIAGNOSTIC_CODES.infraNotGenerated,
202
- message: `"${TFVARS_PATH}" is missing, so there is nothing to ${action}.`,
246
+ message: `"${backend.planPath}" is missing, so there is nothing to ${action}.`,
203
247
  hint: 'Run `aid infra gen` first.',
204
248
  }),
205
249
  ],
206
250
  });
207
251
  }
208
- const root = envRoot(env);
209
- if (!existsSync(join(context.cwd, ...root.split('/')))) {
252
+ if (!existsSync(join(context.cwd, ...backend.root.split('/')))) {
210
253
  return outcome({
211
254
  command,
212
255
  exitCode: EXIT_FAILURE,
@@ -214,13 +257,13 @@ function action(context, options, action) {
214
257
  diagnostics: [
215
258
  cliError({
216
259
  code: CLI_DIAGNOSTIC_CODES.infraEnvRootMissing,
217
- message: `The environment root "${root}" does not exist.`,
218
- hint: `Create ${root} with your module wiring; the generated tfvars is consumed there, not written to.`,
260
+ message: `The environment root "${backend.root}" does not exist.`,
261
+ hint: backend.rootHint,
219
262
  }),
220
263
  ],
221
264
  });
222
265
  }
223
- const result = runTofu(context, action, env, options.json ? 'pipe' : 'inherit');
266
+ const result = backend.run(options.json ? 'pipe' : 'inherit');
224
267
  if (result.error !== undefined) {
225
268
  return outcome({
226
269
  command,
@@ -228,19 +271,16 @@ function action(context, options, action) {
228
271
  fields,
229
272
  diagnostics: [
230
273
  cliError({
231
- code: CLI_DIAGNOSTIC_CODES.infraTofuMissing,
274
+ code: backend.missingCode,
232
275
  message: `Could not run "${result.error.message}".`,
233
- hint: 'Install OpenTofu, or point AID_TOFU at a tofu binary.',
276
+ hint: backend.installHint,
234
277
  }),
235
278
  ],
236
279
  });
237
280
  }
238
- // OpenTofu reserves exit 2 for "the plan is non-empty" under `-detailed-exitcode`, so
239
- // drift is a distinguishable status rather than a guess over human output. It is a
240
- // failure: a drift check that exited 0 would be a gate that never closes.
241
- const driftDetected = action === 'drift' && result.status === 2;
242
- const succeeded = result.status === 0;
243
- const diagnostics = driftDetected
281
+ const verdict = backend.classify(result.status);
282
+ // Drift is a failure: a drift check that exited 0 would be a gate that never closes.
283
+ const diagnostics = verdict === 'drift'
244
284
  ? [
245
285
  cliError({
246
286
  code: CLI_DIAGNOSTIC_CODES.infraDriftDetected,
@@ -248,26 +288,26 @@ function action(context, options, action) {
248
288
  hint: 'Review the plan output, then apply to converge or fix the spec.',
249
289
  }),
250
290
  ]
251
- : succeeded
291
+ : verdict === 'ok'
252
292
  ? []
253
293
  : [
254
294
  cliError({
255
- code: CLI_DIAGNOSTIC_CODES.infraTofuFailed,
256
- message: `tofu ${action} exited ${result.status}.`,
295
+ code: backend.failedCode,
296
+ message: `${iac} ${action} exited ${result.status}.`,
257
297
  ...(result.stderr.trim() === '' ? {} : { hint: result.stderr.trim() }),
258
298
  }),
259
299
  ];
260
- const text = driftDetected
300
+ const text = verdict === 'drift'
261
301
  ? `${env}: drift detected`
262
- : succeeded
263
- ? `${env}: tofu ${action} succeeded`
264
- : `${env}: tofu ${action} failed (exit ${result.status})`;
302
+ : verdict === 'ok'
303
+ ? `${env}: ${iac} ${action} succeeded`
304
+ : `${env}: ${iac} ${action} failed (exit ${result.status})`;
265
305
  return outcome({
266
306
  command,
267
- exitCode: succeeded ? EXIT_OK : EXIT_FAILURE,
307
+ exitCode: verdict === 'ok' ? EXIT_OK : EXIT_FAILURE,
268
308
  diagnostics,
269
309
  text,
270
- ...(succeeded ? {} : { stderr: result.stderr }),
310
+ ...(verdict === 'ok' ? {} : { stderr: result.stderr }),
271
311
  fields: {
272
312
  ...fields,
273
313
  status: result.status,
@@ -1 +1 @@
1
- {"version":3,"file":"infra.js","sourceRoot":"","sources":["../../src/commands/infra.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infra.js","sourceRoot":"","sources":["../../src/commands/infra.ts"],"names":[],"mappings":"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"}
@@ -37,13 +37,17 @@ export declare const CLI_DIAGNOSTIC_CODES: {
37
37
  readonly filesOutdated: 'cli/files-outdated';
38
38
  readonly infraSubcommandRequired: 'cli/infra-subcommand-required';
39
39
  readonly infraUnknownSubcommand: 'cli/infra-unknown-subcommand';
40
+ readonly infraUnknownIac: 'cli/infra-unknown-iac';
40
41
  readonly infraGeneratedOutdated: 'cli/infra-generated-outdated';
41
42
  readonly infraNotGenerated: 'cli/infra-not-generated';
42
43
  readonly infraEnvRootMissing: 'cli/infra-env-root-missing';
43
44
  readonly infraTofuMissing: 'cli/infra-tofu-missing';
44
45
  readonly infraTofuFailed: 'cli/infra-tofu-failed';
46
+ readonly infraCdkMissing: 'cli/infra-cdk-missing';
47
+ readonly infraCdkFailed: 'cli/infra-cdk-failed';
45
48
  readonly infraDriftDetected: 'cli/infra-drift-detected';
46
49
  readonly infraConfirmProdRequired: 'cli/infra-confirm-prod-required';
50
+ readonly ejectUnmanagedPath: 'cli/eject-unmanaged-path';
47
51
  };
48
52
  export type CliDiagnosticCode = (typeof CLI_DIAGNOSTIC_CODES)[keyof typeof CLI_DIAGNOSTIC_CODES];
49
53
  export interface CliDiagnosticInit {
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,gEAAgE;AAChE,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAE/C,eAAO,MAAM,oBAAoB;aAC/B,cAAc,EAAE,qBAAqB;aACrC,aAAa,EAAE,oBAAoB;aACnC,mBAAmB,EAAE,2BAA2B;aAChD,aAAa,EAAE,oBAAoB;aACnC,aAAa,EAAE,qBAAqB;aACpC,kBAAkB,EAAE,0BAA0B;aAC9C,iBAAiB,EAAE,wBAAwB;aAC3C,iBAAiB,EAAE,wBAAwB;aAC3C,iBAAiB,EAAE,yBAAyB;aAC5C,oBAAoB,EAAE,4BAA4B;aAClD,iBAAiB,EAAE,wBAAwB;aAC3C,YAAY,EAAE,mBAAmB;aACjC,YAAY,EAAE,mBAAmB;aAGjC,eAAe,EAAE,sBAAsB;aACvC,kBAAkB,EAAE,yBAAyB;aAC7C,eAAe,EAAE,sBAAsB;aACvC,YAAY,EAAE,mBAAmB;aACjC,eAAe,EAAE,sBAAsB;aACvC,aAAa,EAAE,oBAAoB;aAGnC,uBAAuB,EAAE,+BAA+B;aACxD,sBAAsB,EAAE,8BAA8B;aACtD,sBAAsB,EAAE,8BAA8B;aACtD,iBAAiB,EAAE,yBAAyB;aAC5C,mBAAmB,EAAE,4BAA4B;aACjD,gBAAgB,EAAE,wBAAwB;aAC1C,eAAe,EAAE,uBAAuB;aACxC,kBAAkB,EAAE,0BAA0B;aAC9C,wBAAwB,EAAE,iCAAiC;CACnD,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEjG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CAO/D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CAOjE"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,gEAAgE;AAChE,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAE/C,eAAO,MAAM,oBAAoB;aAC/B,cAAc,EAAE,qBAAqB;aACrC,aAAa,EAAE,oBAAoB;aACnC,mBAAmB,EAAE,2BAA2B;aAChD,aAAa,EAAE,oBAAoB;aACnC,aAAa,EAAE,qBAAqB;aACpC,kBAAkB,EAAE,0BAA0B;aAC9C,iBAAiB,EAAE,wBAAwB;aAC3C,iBAAiB,EAAE,wBAAwB;aAC3C,iBAAiB,EAAE,yBAAyB;aAC5C,oBAAoB,EAAE,4BAA4B;aAClD,iBAAiB,EAAE,wBAAwB;aAC3C,YAAY,EAAE,mBAAmB;aACjC,YAAY,EAAE,mBAAmB;aAGjC,eAAe,EAAE,sBAAsB;aACvC,kBAAkB,EAAE,yBAAyB;aAC7C,eAAe,EAAE,sBAAsB;aACvC,YAAY,EAAE,mBAAmB;aACjC,eAAe,EAAE,sBAAsB;aACvC,aAAa,EAAE,oBAAoB;aAGnC,uBAAuB,EAAE,+BAA+B;aACxD,sBAAsB,EAAE,8BAA8B;aACtD,eAAe,EAAE,uBAAuB;aACxC,sBAAsB,EAAE,8BAA8B;aACtD,iBAAiB,EAAE,yBAAyB;aAC5C,mBAAmB,EAAE,4BAA4B;aACjD,gBAAgB,EAAE,wBAAwB;aAC1C,eAAe,EAAE,uBAAuB;aACxC,eAAe,EAAE,uBAAuB;aACxC,cAAc,EAAE,sBAAsB;aACtC,kBAAkB,EAAE,0BAA0B;aAC9C,wBAAwB,EAAE,iCAAiC;aAI3D,kBAAkB,EAAE,0BAA0B;CACtC,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEjG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CAO/D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CAOjE"}