@nifrajs/cli 1.5.0 → 1.11.0

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 (57) hide show
  1. package/README.md +25 -0
  2. package/dist/assure.d.ts +11 -0
  3. package/dist/assure.d.ts.map +1 -0
  4. package/dist/assure.js +67 -0
  5. package/dist/assure.js.map +1 -0
  6. package/dist/capabilities-tool.d.ts +33 -0
  7. package/dist/capabilities-tool.d.ts.map +1 -0
  8. package/dist/capabilities-tool.js +320 -0
  9. package/dist/capabilities-tool.js.map +1 -0
  10. package/dist/check.d.ts +1 -1
  11. package/dist/check.d.ts.map +1 -1
  12. package/dist/check.js +117 -11
  13. package/dist/check.js.map +1 -1
  14. package/dist/cli.d.ts.map +1 -1
  15. package/dist/cli.js +196 -9
  16. package/dist/cli.js.map +1 -1
  17. package/dist/levels-tool.d.ts +37 -0
  18. package/dist/levels-tool.d.ts.map +1 -0
  19. package/dist/levels-tool.js +180 -0
  20. package/dist/levels-tool.js.map +1 -0
  21. package/dist/manifest-tool.d.ts +15 -0
  22. package/dist/manifest-tool.d.ts.map +1 -0
  23. package/dist/manifest-tool.js +67 -0
  24. package/dist/manifest-tool.js.map +1 -0
  25. package/dist/mcp-http.js +1 -1
  26. package/dist/mcp-http.js.map +1 -1
  27. package/dist/mcp.d.ts +1 -0
  28. package/dist/mcp.d.ts.map +1 -1
  29. package/dist/mcp.js +31 -0
  30. package/dist/mcp.js.map +1 -1
  31. package/dist/recipes/1.8.0.d.ts +12 -0
  32. package/dist/recipes/1.8.0.d.ts.map +1 -0
  33. package/dist/recipes/1.8.0.js +20 -0
  34. package/dist/recipes/1.8.0.js.map +1 -0
  35. package/dist/recipes/index.d.ts +28 -0
  36. package/dist/recipes/index.d.ts.map +1 -0
  37. package/dist/recipes/index.js +27 -0
  38. package/dist/recipes/index.js.map +1 -0
  39. package/dist/upgrade.d.ts +82 -0
  40. package/dist/upgrade.d.ts.map +1 -0
  41. package/dist/upgrade.js +220 -0
  42. package/dist/upgrade.js.map +1 -0
  43. package/docs/examples.json +12 -0
  44. package/docs/llms-full.txt +419 -13
  45. package/docs/types.json +1924 -33
  46. package/package.json +8 -8
  47. package/src/assure.ts +88 -0
  48. package/src/capabilities-tool.ts +406 -0
  49. package/src/check.ts +135 -12
  50. package/src/cli.ts +203 -14
  51. package/src/levels-tool.ts +222 -0
  52. package/src/manifest-tool.ts +103 -0
  53. package/src/mcp-http.ts +1 -1
  54. package/src/mcp.ts +37 -0
  55. package/src/recipes/1.8.0.ts +21 -0
  56. package/src/recipes/index.ts +52 -0
  57. package/src/upgrade.ts +269 -0
package/dist/check.js CHANGED
@@ -15,8 +15,8 @@
15
15
  * `nifra_check` MCP tool, so an agent acts on diagnostics instead of scraping prose). Exits non-zero if
16
16
  * anything fails. Pure scanners (`scanFetchText`, `scanServerOnlyImports`) are unit-tested.
17
17
  */
18
- import { readFileSync } from "node:fs";
19
- import { dirname, isAbsolute, join } from "node:path";
18
+ import { existsSync, readFileSync } from "node:fs";
19
+ import { dirname, isAbsolute, join, resolve } from "node:path";
20
20
  import { Glob } from "bun";
21
21
  // `fetch( <ws> ('|"|`) / (not /)` — a string/template arg starting with a single `/` is a relative URL,
22
22
  // i.e. same-origin = this app's own API. `(?<![.\w])` skips `.fetch(` (a method) and `prefetch(`; the
@@ -169,8 +169,11 @@ function parseSimpleFetchCall(snippet) {
169
169
  return undefined;
170
170
  return { path, method, start: match.index, end: close + 1 };
171
171
  }
172
- function isPotentialNifraBackendSource(code) {
173
- return code.includes("@nifrajs/core") || /(?<![.\w])server\s*\(/.test(code);
172
+ function isPotentialBackendSource(code) {
173
+ return (code.includes("@nifrajs/core") ||
174
+ /(?<![.\w])server\s*\(/.test(code) ||
175
+ /(?:from\s*|import\s*)["']hono["']/.test(code) ||
176
+ /new\s+Hono(?:<[^>]+>)?\s*\(/.test(code));
174
177
  }
175
178
  function scanRoutePattern(file, content, code, pattern) {
176
179
  const out = [];
@@ -264,7 +267,7 @@ export function scanFetchText(file, content) {
264
267
  /** Statically collect simple Nifra route registrations from source, without importing app code. */
265
268
  export function scanStaticRouteText(file, content) {
266
269
  const code = stripComments(content);
267
- if (!isPotentialNifraBackendSource(code))
270
+ if (!isPotentialBackendSource(code))
268
271
  return [];
269
272
  return [
270
273
  ...scanRoutePattern(file, content, code, ROUTE_REGISTRATION_DQ),
@@ -674,6 +677,8 @@ const SERVER_IMPORT_HINT = "server-only import in a route module (bundled for th
674
677
  const RESPONSE_ROUTE_HINT = "route handler returns a raw Response — the typed client infers `data: never`, so drift detection is lost for this route. Return a plain object (it's serialized for you), or add `{ response: t.… }` to the route if a raw Response is intended (file/redirect/stream)";
675
678
  const UNDECLARED_DEP_HINT = "imported package is not declared in package.json dependencies — run bun add to declare it";
676
679
  const MANIFEST_DRIFT_HINT = "server-manifest.ts is out of sync with routes/ — re-run the build to regenerate it (a disk-less worker bakes this route table, so the drift is a silent edge break), then commit it";
680
+ const TRUST_MANIFEST_DRIFT_HINT = "nifra.manifest.json is missing, invalid, or out of sync — run `nifra manifest emit`, review it, and commit the regenerated trust artifact";
681
+ const CAPABILITY_HINT = "effect/capability assurance failed — align the route declaration with approved adapter provenance; never bypass an owned effect seam";
677
682
  function oneLineDiff(file, line, before, after) {
678
683
  return `--- ${file}:${line}\n+++ ${file}:${line}\n@@\n-${before}\n+${after}`;
679
684
  }
@@ -979,18 +984,116 @@ export async function collectCheckResult(cwd, opts = {}) {
979
984
  },
980
985
  });
981
986
  }
987
+ // G+B+D+F: when the project opts into capability assurance, `nifra check` becomes the static
988
+ // provenance firewall as well as the typed-contract gate. Loading is explicit/config-owned; projects
989
+ // without nifra.assurance.ts retain the historical scan and hot path unchanged.
990
+ const assuranceConfigPath = join(cwd, "nifra.assurance.ts");
991
+ if (existsSync(assuranceConfigPath)) {
992
+ try {
993
+ const { loadAssuranceConfig } = await import("./assure.js");
994
+ const config = await loadAssuranceConfig(cwd);
995
+ let capabilityReport;
996
+ if (config.capabilities !== undefined) {
997
+ const { collectCapabilityProjectReport } = await import("./capabilities-tool.js");
998
+ const project = await collectCapabilityProjectReport(cwd, config.source, config.capabilities);
999
+ capabilityReport = project.report;
1000
+ for (const finding of project.report.findings) {
1001
+ const violation = finding.code === "forbidden-effect-import"
1002
+ ? project.violations.find((candidate) => candidate.method === finding.method && candidate.path === finding.path)
1003
+ : undefined;
1004
+ diagnostics.push({
1005
+ rule: "capability-assurance",
1006
+ severity: "error",
1007
+ ...(violation !== undefined ? { file: violation.module, chain: violation.chain } : {}),
1008
+ message: `${finding.message} — ${CAPABILITY_HINT}`,
1009
+ fix: CAPABILITY_HINT,
1010
+ suggestion: {
1011
+ kind: "manual",
1012
+ title: "Restore declared effect provenance",
1013
+ steps: [
1014
+ "Route effectful work through an import listed in capabilities.provenance.imports.",
1015
+ "Declare the exact capability token on the route; do not widen unrelated routes in the same file.",
1016
+ "For domain writes, add the request-idempotency or durable-command adapter required by the capability definition.",
1017
+ "Run `nifra capabilities snapshot` only after assurance passes, then review the lockfile diff.",
1018
+ ],
1019
+ },
1020
+ });
1021
+ }
1022
+ }
1023
+ if (config.manifest !== undefined) {
1024
+ const { evaluateRouteAssurance } = await import("@nifrajs/core/assurance");
1025
+ const { buildNifraManifest, parseNifraManifest, serializeNifraManifest } = await import("@nifrajs/core/manifest");
1026
+ const assurance = evaluateRouteAssurance(config.source, config.policy);
1027
+ const path = resolve(cwd, config.manifest.path ?? "nifra.manifest.json");
1028
+ let message;
1029
+ if (!assurance.ok || (capabilityReport !== undefined && !capabilityReport.ok)) {
1030
+ message =
1031
+ "the configured assurance policy is failing, so a trusted manifest cannot be built";
1032
+ }
1033
+ else if (!existsSync(path)) {
1034
+ message = "the configured trust manifest is missing";
1035
+ }
1036
+ else {
1037
+ try {
1038
+ const current = await buildNifraManifest({
1039
+ source: config.source,
1040
+ assurance,
1041
+ ...(capabilityReport !== undefined ? { capabilities: capabilityReport } : {}),
1042
+ });
1043
+ const storedText = await Bun.file(path).text();
1044
+ const stored = await parseNifraManifest(storedText, path);
1045
+ const expectedText = `${serializeNifraManifest(current)}\n`;
1046
+ if (storedText !== expectedText || stored.contentHash !== current.contentHash) {
1047
+ message = "the configured trust manifest does not match live route reflection";
1048
+ }
1049
+ }
1050
+ catch (error) {
1051
+ message = `the configured trust manifest is invalid: ${error instanceof Error ? error.message : String(error)}`;
1052
+ }
1053
+ }
1054
+ if (message !== undefined) {
1055
+ diagnostics.push({
1056
+ rule: "manifest-drift",
1057
+ severity: "error",
1058
+ file: path,
1059
+ message: `${message} — ${TRUST_MANIFEST_DRIFT_HINT}`,
1060
+ fix: TRUST_MANIFEST_DRIFT_HINT,
1061
+ suggestion: {
1062
+ kind: "command",
1063
+ title: "Regenerate the signed-manifest input artifact",
1064
+ command: ["nifra", "manifest", "emit"],
1065
+ steps: [
1066
+ "Review the route, assurance, capability, and classification delta before committing it.",
1067
+ ],
1068
+ },
1069
+ });
1070
+ }
1071
+ }
1072
+ }
1073
+ catch (err) {
1074
+ diagnostics.push({
1075
+ rule: "capability-config",
1076
+ severity: "error",
1077
+ file: "nifra.assurance.ts",
1078
+ message: `capability assurance config could not be evaluated: ${err instanceof Error ? err.message : String(err)}`,
1079
+ suggestion: {
1080
+ kind: "manual",
1081
+ title: "Repair the assurance config",
1082
+ steps: [
1083
+ "Ensure nifra.assurance.ts default-exports defineAssuranceConfig({ source, policy, capabilities }).",
1084
+ "Fix configuration/import errors; the provenance firewall fails closed when its policy cannot load.",
1085
+ ],
1086
+ },
1087
+ });
1088
+ }
1089
+ }
982
1090
  // Cap the diagnostics when asked (the MCP path), so a project with thousands of findings can't return a
983
1091
  // message that breaks the stdio transport. `ok` reflects the FULL set — truncation never flips it.
984
1092
  const total = diagnostics.length;
985
1093
  const max = opts.maxDiagnostics;
986
1094
  const shown = max !== undefined && total > max ? diagnostics.slice(0, max) : diagnostics;
987
1095
  return {
988
- ok: tc.ok &&
989
- fetches.length === 0 &&
990
- untypedClients.length === 0 &&
991
- serverImports.length === 0 &&
992
- manifestDrift.length === 0 &&
993
- (!dr.ran || dr.findings.length === 0),
1096
+ ok: !diagnostics.some((diagnostic) => diagnostic.severity === "error"),
994
1097
  typecheck: tc.ran ? (tc.ok ? "pass" : "fail") : "skipped",
995
1098
  diagnostics: shown,
996
1099
  ...(shown.length < total ? { truncated: { shown: shown.length, total } } : {}),
@@ -1018,6 +1121,9 @@ export async function runCheck(cwd, opts = {}) {
1018
1121
  ["response-route", "route returns a raw Response (typed client → data: never)"],
1019
1122
  ["undeclared-dependency", "undeclared dependency in package.json"],
1020
1123
  ["server-manifest-drift", "server-manifest.ts drifted from routes/"],
1124
+ ["manifest-drift", "versioned trust manifest drift"],
1125
+ ["capability-assurance", "effect/capability assurance"],
1126
+ ["capability-config", "capability assurance config"],
1021
1127
  ]) {
1022
1128
  const ds = counts(rule);
1023
1129
  if (rule === "response-route") {
package/dist/check.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAoBA,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB;8FAC0F;IAC1F,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AA6ND,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAqBzD"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAoBA,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB;8FAC0F;IAC1F,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AA0PD,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAqBzD"}
package/dist/cli.js CHANGED
@@ -59,9 +59,34 @@ Usage:
59
59
  request field or a removed response field breaks; widening a
60
60
  request enum or adding a response field doesn't) and fails
61
61
  closed. Exits non-zero on any breaking change — run it in CI.
62
+ nifra assure [--config <file>] [--json] Route-assurance gate: load nifra.assurance.ts, classify every
63
+ reflected backend route, and fail when required enforcement
64
+ evidence is missing/forbidden or a route is unclassified.
65
+ nifra capabilities snapshot [--out <file>] [--config <file>]
66
+ Write the deterministic, token-only capability lockfile, but
67
+ only after provenance + idempotency assurance passes.
68
+ nifra capabilities check [--lockfile <file>] [--config <file>] [--json]
69
+ CI gate: fail on raw effect-import bypasses, declaration/evidence
70
+ drift, unsafe GET/HEAD writes, idempotency gaps, or lockfile drift.
71
+ nifra manifest emit [--out <file>] [--config <file>] [--sign <key-ref>]
72
+ Emit a deterministic route trust artifact after assurance passes;
73
+ optionally write an Ed25519 signature via the configured KMS signer.
74
+ nifra manifest diff <before> <after> [--json]
75
+ Hash-verify and compare two manifests; fail on contract, assurance,
76
+ capability, or response-classification regressions.
77
+ nifra levels [--json] [--min <n>] [--config <file>]
78
+ Compute the verification ladder (L0 typed contract → L1 route
79
+ assurance → L2 capability lockfile → L3 route manifest → L4
80
+ invariant-tested); --min <n> fails the exit code below level n.
62
81
  nifra doctor [--json] [--auto-fix] Flag packages imported in source but missing from package.json
63
82
  (resolve at Bun runtime, break tsc + standalone install);
64
83
  --auto-fix writes safe local-version dependency fixes.
84
+ nifra upgrade <version> Run the per-release upgrade recipe for <version>: sweep every
85
+ [--write] [--no-verify] matching dependency pin (preserving ^/~/exact) + apply exact
86
+ [--list] [--json] import moves across the workspace, then verify with nifra check.
87
+ Dry-run by default; --write applies then verifies (--no-verify
88
+ to skip). --list shows available targets. Fail-closed on an
89
+ unknown version. Deterministic + idempotent.
65
90
  nifra port [--target <t>] [--json] Portability linter: print a feature × deploy-target capability
66
91
  [--ci] [--strict] matrix (in-memory stores, in-process cron/WebSocket, Bun/Deno
67
92
  globals, node: builtins) with file:line evidence. --target auto-
@@ -75,7 +100,7 @@ routes/ from the current directory. Run from your project root.
75
100
  Port: \`dev\` and \`start\` share the default ${DEFAULT_DEV_PORT}. Override with \`--port <n>\` (alias \`-p\`) or the
76
101
  \`PORT\` env var (\`--port\` wins over \`PORT\`, which wins over the default).`;
77
102
  // Kept in lockstep with packages/cli/package.json by check:publish's version-consistency gate.
78
- const CLI_VERSION = "1.5.0";
103
+ const CLI_VERSION = "1.11.0";
79
104
  // A render adapter + nifra server are opaque to the CLI (it just forwards them); cast at the seam.
80
105
  const asAdapter = (v) => v;
81
106
  const asBunPlugins = (v) => v;
@@ -160,21 +185,24 @@ async function buildForTarget(app, target, report) {
160
185
  if (report)
161
186
  console.log(`\n${renderSizeReport(result.size)}`);
162
187
  }
163
- /** Build a fetch-capable app instance for the `static` target's prerender pass. Mirrors `nifra start`:
164
- * register the framework's SSR Bun plugins (so `.vue`/`.svelte`/Solid routes import), discover routes,
165
- * and wire the in-process backend so build-time loaders can read data. The returned `Server` already
166
- * satisfies `buildTarget`'s `PrerenderAppLike` (a `fetch(req)` yielding a `Response`). */
188
+ /** Build the app FACTORY for the `static` target's prerender pass. Mirrors `nifra start`: register the
189
+ * framework's SSR Bun plugins (so `.vue`/`.svelte`/Solid routes import) once, then return a factory that
190
+ * `createWebApp`s the app for the client build's manifest. The client entry MUST be the real content-hashed
191
+ * bundle (`client.entry`) — it's the hydration `<script src>` the prerendered HTML emits, so a placeholder
192
+ * would 404 and the pages would render but never hydrate (inert controls). Styles/route-preload are wired
193
+ * from the same manifest so the static HTML matches what `nifra start` serves. */
167
194
  async function buildPrerenderApp(app) {
168
195
  const { plugin } = await import("bun");
169
196
  const { framework: fw, routesDir, backend } = app;
170
197
  for (const p of asBunPlugins(await resolvePlugins(fw.serverPlugins)))
171
198
  plugin(p);
172
- return createWebApp({
199
+ return (client) => createWebApp({
173
200
  adapter: asAdapter(fw.adapter),
174
201
  manifest: discoverRoutes(routesDir),
175
- // The client entry is irrelevant to the static HTML (it's a hydration script tag) — a placeholder
176
- // is fine; the real hashed bundle is emitted to /assets by buildTarget's client build.
177
- clientEntry: "/assets/_nifra-entry.js",
202
+ clientEntry: client.entry,
203
+ ...(client.routes ? { routePreload: client.routes } : {}),
204
+ ...(client.css ? { styles: client.css } : {}),
205
+ ...(client.routeStyles ? { routeStyles: client.routeStyles } : {}),
178
206
  ...apiOf(backend),
179
207
  });
180
208
  }
@@ -343,6 +371,165 @@ async function main() {
343
371
  }
344
372
  return;
345
373
  }
374
+ // Route assurance intentionally loads only its explicit config (which imports the backend it audits),
375
+ // not the full SSR app. Like snapshot/diff, this works for API-only projects.
376
+ if (command === "assure") {
377
+ const { runAssurance } = await import("./assure.js");
378
+ const configIdx = argv.indexOf("--config");
379
+ const config = configIdx !== -1 ? argv[configIdx + 1] : undefined;
380
+ if (configIdx !== -1 && (config === undefined || config.startsWith("-"))) {
381
+ console.error("[nifra] --config needs a file path");
382
+ process.exitCode = 1;
383
+ return;
384
+ }
385
+ try {
386
+ if (!(await runAssurance(process.cwd(), {
387
+ json: argv.includes("--json"),
388
+ ...(config !== undefined ? { config } : {}),
389
+ })))
390
+ process.exitCode = 1;
391
+ }
392
+ catch (err) {
393
+ console.error(err instanceof Error ? err.message : String(err));
394
+ process.exitCode = 1;
395
+ }
396
+ return;
397
+ }
398
+ if (command === "capabilities") {
399
+ const action = argv[1];
400
+ const valueAfter = (flag) => {
401
+ const index = argv.indexOf(flag);
402
+ const value = index === -1 ? undefined : argv[index + 1];
403
+ if (index !== -1 && (value === undefined || value.startsWith("-"))) {
404
+ throw new Error(`[nifra] ${flag} needs a file path`);
405
+ }
406
+ return value;
407
+ };
408
+ try {
409
+ const { runCapabilityCheck, runCapabilitySnapshot } = await import("./capabilities-tool.js");
410
+ const config = valueAfter("--config");
411
+ if (action === "snapshot") {
412
+ const out = valueAfter("--out");
413
+ if (!(await runCapabilitySnapshot(process.cwd(), {
414
+ ...(config !== undefined ? { config } : {}),
415
+ ...(out !== undefined ? { out } : {}),
416
+ })))
417
+ process.exitCode = 1;
418
+ }
419
+ else if (action === "check") {
420
+ const lockfile = valueAfter("--lockfile");
421
+ if (!(await runCapabilityCheck(process.cwd(), {
422
+ ...(config !== undefined ? { config } : {}),
423
+ ...(lockfile !== undefined ? { lockfile } : {}),
424
+ json: argv.includes("--json"),
425
+ })))
426
+ process.exitCode = 1;
427
+ }
428
+ else {
429
+ throw new Error("[nifra] capabilities needs `snapshot` or `check`");
430
+ }
431
+ }
432
+ catch (err) {
433
+ console.error(err instanceof Error ? err.message : String(err));
434
+ process.exitCode = 1;
435
+ }
436
+ return;
437
+ }
438
+ if (command === "manifest") {
439
+ const action = argv[1];
440
+ const valueAfter = (flag) => {
441
+ const index = argv.indexOf(flag);
442
+ const value = index === -1 ? undefined : argv[index + 1];
443
+ if (index !== -1 && (value === undefined || value.startsWith("-"))) {
444
+ throw new Error(`[nifra] ${flag} needs a value`);
445
+ }
446
+ return value;
447
+ };
448
+ try {
449
+ const { runManifestDiff, runManifestEmit } = await import("./manifest-tool.js");
450
+ if (action === "emit") {
451
+ const config = valueAfter("--config");
452
+ const out = valueAfter("--out");
453
+ const sign = valueAfter("--sign");
454
+ if (!(await runManifestEmit(process.cwd(), {
455
+ ...(config !== undefined ? { config } : {}),
456
+ ...(out !== undefined ? { out } : {}),
457
+ ...(sign !== undefined ? { sign } : {}),
458
+ })))
459
+ process.exitCode = 1;
460
+ }
461
+ else if (action === "diff") {
462
+ const paths = argv.slice(2).filter((arg) => !arg.startsWith("-"));
463
+ if (paths.length !== 2)
464
+ throw new Error("[nifra] manifest diff needs <before> <after>");
465
+ if (!(await runManifestDiff(process.cwd(), paths[0], paths[1], {
466
+ json: argv.includes("--json"),
467
+ })))
468
+ process.exitCode = 1;
469
+ }
470
+ else {
471
+ throw new Error("[nifra] manifest needs `emit` or `diff`");
472
+ }
473
+ }
474
+ catch (err) {
475
+ console.error(err instanceof Error ? err.message : String(err));
476
+ process.exitCode = 1;
477
+ }
478
+ return;
479
+ }
480
+ if (command === "levels") {
481
+ const valueAfter = (flag) => {
482
+ const index = argv.indexOf(flag);
483
+ const value = index === -1 ? undefined : argv[index + 1];
484
+ if (index !== -1 && (value === undefined || value.startsWith("-"))) {
485
+ throw new Error(`[nifra] ${flag} needs a value`);
486
+ }
487
+ return value;
488
+ };
489
+ try {
490
+ const { runLevels } = await import("./levels-tool.js");
491
+ const config = valueAfter("--config");
492
+ const minRaw = valueAfter("--min");
493
+ const min = minRaw === undefined ? undefined : Number(minRaw);
494
+ if (min !== undefined && (!Number.isInteger(min) || min < 0 || min > 4)) {
495
+ throw new Error("[nifra] --min must be an integer level between 0 and 4");
496
+ }
497
+ if (!(await runLevels(process.cwd(), {
498
+ json: argv.includes("--json"),
499
+ ...(config !== undefined ? { config } : {}),
500
+ ...(min !== undefined ? { min } : {}),
501
+ })))
502
+ process.exitCode = 1;
503
+ }
504
+ catch (err) {
505
+ console.error(err instanceof Error ? err.message : String(err));
506
+ process.exitCode = 1;
507
+ }
508
+ return;
509
+ }
510
+ // `upgrade` is a pure cwd file-transformer (package.json pins + import moves) driven by a per-release
511
+ // recipe, then verified with `nifra check`. Dispatch before the eager `loadApp` — it must run on any
512
+ // repo (API-only, not built, or mid-upgrade with edits that don't yet typecheck under dry-run).
513
+ if (command === "upgrade") {
514
+ const { runUpgrade } = await import("./upgrade.js");
515
+ const version = argv.slice(1).find((arg) => !arg.startsWith("-"));
516
+ try {
517
+ const ok = await runUpgrade(process.cwd(), {
518
+ ...(version !== undefined ? { version } : {}),
519
+ write: argv.includes("--write"),
520
+ json: argv.includes("--json"),
521
+ list: argv.includes("--list"),
522
+ verify: !argv.includes("--no-verify"),
523
+ });
524
+ if (!ok)
525
+ process.exitCode = 1;
526
+ }
527
+ catch (err) {
528
+ console.error(err instanceof Error ? err.message : String(err));
529
+ process.exitCode = 1;
530
+ }
531
+ return;
532
+ }
346
533
  // `port` is a pure cwd-based portability linter (scans source, doesn't run the app) — like `check`/
347
534
  // `doctor`, dispatch before the eager `loadApp` so it runs on an API-only / not-yet-built project.
348
535
  if (command === "port") {