// AUTO-GENERATED by packages/cli/scripts/generate-template-manifest.ts.
// DO NOT EDIT MANUALLY. Re-run the script whenever packages/cli/templates/
// `init-landing.md` or `errors/*.md` change:
//   bun run packages/cli/scripts/generate-template-manifest.ts
//
// Unlike templates-manifest.js (which embeds file bytes via
// `with { type: "file" }` for async `Bun.file()` reads), this manifest
// uses `with { type: "text" }` so the markdown **string payload** is
// inlined at compile-time. That gives `formatCLIError()` (called from
// the `CLIError` constructor — cannot be async) and
// `renderInitLanding()` (synchronous console output) a synchronous
// source of truth that works identically in dev (`bun run`) and compiled
// binaries (`bun build --compile`).
//
// Consumers: src/errors/messages.ts (loadErrorTemplate),
//            src/commands/init.ts (loadInitLandingTemplate).

import uxtpl_init_landing_md from "../templates/init-landing.md" with { type: "text" };
import uxtpl_errors_CLI_E001_md from "../templates/errors/CLI_E001.md" with { type: "text" };
import uxtpl_errors_CLI_E010_md from "../templates/errors/CLI_E010.md" with { type: "text" };
import uxtpl_errors_CLI_E022_md from "../templates/errors/CLI_E022.md" with { type: "text" };

/**
 * Map from stable CLI-UX key (e.g. `"init-landing"` or
 * `"errors/CLI_E001"`) to the **raw markdown text** embedded at build
 * time. Callers can consume values synchronously — no filesystem access
 * is required at runtime.
 */
export const CLI_UX_TEMPLATES = new Map([
  ["init-landing", uxtpl_init_landing_md],
  ["errors/CLI_E001", uxtpl_errors_CLI_E001_md],
  ["errors/CLI_E010", uxtpl_errors_CLI_E010_md],
  ["errors/CLI_E022", uxtpl_errors_CLI_E022_md],
]);

/** Total count (sanity check for tests and diagnostics). */
export const CLI_UX_TEMPLATE_COUNT = 4;
