/** * Intent Schema — 配置层模块。 * * 职责边界: * - 负责:PRODUCT_PROFILE_VALUES 等 配置层职责 * - 不负责:不属于本模块的职责由对应模块承担 * * 被谁调用:项目初始化、配置加载 * 调用谁:zod * * 数据流:输入 → PRODUCT_PROFILE_VALUES 处理 → 输出 * 持久化:无持久化(纯计算/内存态) */ import { z } from "zod"; /** 产品画像合法值 — default 表示不注入产品特定知识 */ export declare const PRODUCT_PROFILE_VALUES: readonly ["default", "b2c", "b2b-internal", "saas", "fullstack", "backend", "frontend"]; declare const StrictIntentSchema: z.ZodObject<{ /** 产品画像 — 不可探测,始终由用户声明 */ product_profile: z.ZodEnum<["default", "b2c", "b2b-internal", "saas", "fullstack", "backend", "frontend"]>; /** 交付偏好 — 不可探测 */ delivery: z.ZodOptional; auto_pr: z.ZodOptional; auto_deploy: z.ZodOptional; }, "strict", z.ZodTypeAny, { auto_push?: boolean | undefined; auto_pr?: boolean | undefined; auto_deploy?: boolean | undefined; }, { auto_push?: boolean | undefined; auto_pr?: boolean | undefined; auto_deploy?: boolean | undefined; }>> | z.ZodOptional; auto_pr: z.ZodOptional; auto_deploy: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ auto_push: z.ZodOptional; auto_pr: z.ZodOptional; auto_deploy: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ auto_push: z.ZodOptional; auto_pr: z.ZodOptional; auto_deploy: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; /** 部署基础设施 — 可探测,用户可覆盖 */ deployment: z.ZodOptional>; services_override: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; /** HTTP 验收探针 — 配置驱动 local_http_acceptance(声明 path + 期望状态码/响应体子串)。 * 覆盖状态码/关键字段/登录态三维度;无配置时 executor 回退自动探活。 * 形态对齐 HttpAcceptanceProbe(src/context/config/detector/fingerprint.ts)。 */ http_acceptance: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "strict", z.ZodTypeAny, { method?: "auto" | "docker_compose" | "dockerfile" | "local_dev_server" | undefined; services_override?: z.objectOutputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; http_acceptance?: z.objectOutputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; }, { method?: "auto" | "docker_compose" | "dockerfile" | "local_dev_server" | undefined; services_override?: z.objectInputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; http_acceptance?: z.objectInputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; }>> | z.ZodOptional>; services_override: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; /** HTTP 验收探针 — 配置驱动 local_http_acceptance(声明 path + 期望状态码/响应体子串)。 * 覆盖状态码/关键字段/登录态三维度;无配置时 executor 回退自动探活。 * 形态对齐 HttpAcceptanceProbe(src/context/config/detector/fingerprint.ts)。 */ http_acceptance: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ method: z.ZodOptional>; services_override: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; /** HTTP 验收探针 — 配置驱动 local_http_acceptance(声明 path + 期望状态码/响应体子串)。 * 覆盖状态码/关键字段/登录态三维度;无配置时 executor 回退自动探活。 * 形态对齐 HttpAcceptanceProbe(src/context/config/detector/fingerprint.ts)。 */ http_acceptance: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ method: z.ZodOptional>; services_override: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; /** HTTP 验收探针 — 配置驱动 local_http_acceptance(声明 path + 期望状态码/响应体子串)。 * 覆盖状态码/关键字段/登录态三维度;无配置时 executor 回退自动探活。 * 形态对齐 HttpAcceptanceProbe(src/context/config/detector/fingerprint.ts)。 */ http_acceptance: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>>; /** 技术栈 — 空目录过渡阶段由用户声明,项目文件出现后由探测接管 */ tech_stack: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang: string; framework: string; version?: string | undefined; }, { lang: string; framework: string; version?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang: string; framework: string; version?: string | undefined; }, { lang: string; framework: string; version?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { backend?: { lang: string; framework: string; version?: string | undefined; } | z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { lang: string; framework: string; version?: string | undefined; } | z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { lang: string; framework: string; version?: string | undefined; } | z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { lang: string; framework: string; version?: string | undefined; } | z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; }, "strict", z.ZodTypeAny, { lang: string; framework: string; version?: string | undefined; }, { lang: string; framework: string; version?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang: string; framework: string; version?: string | undefined; }, { lang: string; framework: string; version?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang: string; framework: string; version?: string | undefined; }, { lang: string; framework: string; version?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang: string; framework: string; version?: string | undefined; }, { lang: string; framework: string; version?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang: string; framework: string; version?: string | undefined; }, { lang: string; framework: string; version?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang: string; framework: string; version?: string | undefined; }, { lang: string; framework: string; version?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; /** 覆盖探测结果 — 仅当探测不正确时使用 */ overrides: z.ZodOptional; frontend: z.ZodArray; }, "strict", z.ZodTypeAny, { backend: string[]; frontend: string[]; }, { backend: string[]; frontend: string[]; }>> | z.ZodOptional; frontend: z.ZodArray; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough">>>; build_commands: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { backend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { scope?: { backend: string[]; frontend: string[]; } | z.objectOutputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough"> | undefined; build_commands?: { backend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectOutputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { scope?: { backend: string[]; frontend: string[]; } | z.objectInputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough"> | undefined; build_commands?: { backend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectInputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; frontend: z.ZodArray; }, "strict", z.ZodTypeAny, { backend: string[]; frontend: string[]; }, { backend: string[]; frontend: string[]; }>> | z.ZodOptional; frontend: z.ZodArray; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough">>>; build_commands: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { backend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scope: z.ZodOptional; frontend: z.ZodArray; }, "strict", z.ZodTypeAny, { backend: string[]; frontend: string[]; }, { backend: string[]; frontend: string[]; }>> | z.ZodOptional; frontend: z.ZodArray; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough">>>; build_commands: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { backend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scope: z.ZodOptional; frontend: z.ZodArray; }, "strict", z.ZodTypeAny, { backend: string[]; frontend: string[]; }, { backend: string[]; frontend: string[]; }>> | z.ZodOptional; frontend: z.ZodArray; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough">>>; build_commands: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { backend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; /** 多仓库配置 — 单仓库项目不需要 */ repos: z.ZodOptional; framework: z.ZodOptional; scope: z.ZodOptional>; }, "strict", z.ZodTypeAny, { path: string; name: string; lang?: string | undefined; framework?: string | undefined; scope?: string[] | undefined; }, { path: string; name: string; lang?: string | undefined; framework?: string | undefined; scope?: string[] | undefined; }> | z.ZodObject<{ name: z.ZodString; path: z.ZodString; lang: z.ZodOptional; framework: z.ZodOptional; scope: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; path: z.ZodString; lang: z.ZodOptional; framework: z.ZodOptional; scope: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; path: z.ZodString; lang: z.ZodOptional; framework: z.ZodOptional; scope: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; /** 多工程项目目录(每端一个工程;build scope 据此派生,空则回退探测/根 src/) */ projects: z.ZodOptional>; deployable: z.ZodOptional; release_unit: z.ZodOptional; tech_stack: z.ZodOptional> | z.ZodOptional, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { id: string; dir: string; tech_stack?: { lang: string; framework: string; } | z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; }, z.ZodTypeAny, "passthrough"> | undefined; kind?: "frontend-end" | "backend" | "shared" | undefined; deployable?: boolean | undefined; release_unit?: boolean | undefined; }, { id: string; dir: string; tech_stack?: { lang: string; framework: string; } | z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; }, z.ZodTypeAny, "passthrough"> | undefined; kind?: "frontend-end" | "backend" | "shared" | undefined; deployable?: boolean | undefined; release_unit?: boolean | undefined; }> | z.ZodObject<{ id: z.ZodString; dir: z.ZodString; kind: z.ZodOptional>; deployable: z.ZodOptional; release_unit: z.ZodOptional; tech_stack: z.ZodOptional> | z.ZodOptional, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; dir: z.ZodString; kind: z.ZodOptional>; deployable: z.ZodOptional; release_unit: z.ZodOptional; tech_stack: z.ZodOptional> | z.ZodOptional, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; dir: z.ZodString; kind: z.ZodOptional>; deployable: z.ZodOptional; release_unit: z.ZodOptional; tech_stack: z.ZodOptional> | z.ZodOptional, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>, "many">>; /** 脚手架配置 — 自定义模板场景 */ scaffold: z.ZodOptional; custom_templates_dir: z.ZodOptional; }, "strict", z.ZodTypeAny, { base_package?: string | undefined; custom_templates_dir?: string | undefined; }, { base_package?: string | undefined; custom_templates_dir?: string | undefined; }>> | z.ZodOptional; custom_templates_dir: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ base_package: z.ZodOptional; custom_templates_dir: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ base_package: z.ZodOptional; custom_templates_dir: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; /** 约定文件路径 */ conventions_file: z.ZodOptional; /** 验证超时 */ verify_timeout: z.ZodOptional> | z.ZodOptional, z.objectInputType<{ build: z.ZodNumber; test: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>>; /** 源码扫描排除(glob 或路径前缀,相对项目根)——把参考原型包/vendored/生成代码挡在 * 完整源码集质量门禁(BLD-G02/TS-Q*)与源码内容摘要之外,非工程代码不制造假阻断/假 stale。 * 含 `*` 按 glob 匹配(如 `prototype-ref/**`);不含通配符按路径前缀(目录或精确文件)。 * 变更本字段会触发一次验证重验(进 config hash,预期)。 */ scan_exclude: z.ZodOptional>; /** 产品功能点到模块的映射 */ product_mapping: z.ZodOptional>; /** 文件位置表 —— override 层(brownfield 声明产物实际位置),空 = greenfield = 现状(默认路径逐字)。 * key 格式 {kind}:{logical}(artifact:slice_plan / companion:api_spec:openapi.yaml / deployment:docker_compose 等); * key 含冒号,YAML 须用引号包裹(如 'artifact:api_spec': docs/legacy/api.md)。 * companion key 第三段是 basename(文件名),同名 companion 会碰撞——须保证 basename 唯一。 * 默认值从 contract + deployment hardcode 派生(见 src/domain/project_map.ts),表只存偏离。 * 生成产物时 scope allowed_paths + prompt 目标路径都查此表(写盘听 override,非死放行); * soloforge doctor 可观测各产物当前解析路径(默认 vs override + 是否已产出)。 */ project_map: z.ZodOptional]>>>; }, "strict", z.ZodTypeAny, { overrides?: Record | undefined; }, { overrides?: Record | undefined; }>> | z.ZodOptional]>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ overrides: z.ZodOptional]>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ overrides: z.ZodOptional]>>>; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { product_profile: "backend" | "default" | "frontend" | "b2c" | "b2b-internal" | "saas" | "fullstack"; delivery?: { auto_push?: boolean | undefined; auto_pr?: boolean | undefined; auto_deploy?: boolean | undefined; } | z.objectOutputType<{ auto_push: z.ZodOptional; auto_pr: z.ZodOptional; auto_deploy: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; deployment?: { method?: "auto" | "docker_compose" | "dockerfile" | "local_dev_server" | undefined; services_override?: z.objectOutputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; http_acceptance?: z.objectOutputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } | z.objectOutputType<{ method: z.ZodOptional>; services_override: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; /** HTTP 验收探针 — 配置驱动 local_http_acceptance(声明 path + 期望状态码/响应体子串)。 * 覆盖状态码/关键字段/登录态三维度;无配置时 executor 回退自动探活。 * 形态对齐 HttpAcceptanceProbe(src/context/config/detector/fingerprint.ts)。 */ http_acceptance: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough"> | undefined; tech_stack?: { backend?: { lang: string; framework: string; version?: string | undefined; } | z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { lang: string; framework: string; version?: string | undefined; } | z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectOutputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang: string; framework: string; version?: string | undefined; }, { lang: string; framework: string; version?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang: string; framework: string; version?: string | undefined; }, { lang: string; framework: string; version?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough"> | undefined; overrides?: { scope?: { backend: string[]; frontend: string[]; } | z.objectOutputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough"> | undefined; build_commands?: { backend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectOutputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectOutputType<{ scope: z.ZodOptional; frontend: z.ZodArray; }, "strict", z.ZodTypeAny, { backend: string[]; frontend: string[]; }, { backend: string[]; frontend: string[]; }>> | z.ZodOptional; frontend: z.ZodArray; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough">>>; build_commands: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { backend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough"> | undefined; repos?: ({ path: string; name: string; lang?: string | undefined; framework?: string | undefined; scope?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodString; path: z.ZodString; lang: z.ZodOptional; framework: z.ZodOptional; scope: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">)[] | undefined; projects?: ({ id: string; dir: string; tech_stack?: { lang: string; framework: string; } | z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; }, z.ZodTypeAny, "passthrough"> | undefined; kind?: "frontend-end" | "backend" | "shared" | undefined; deployable?: boolean | undefined; release_unit?: boolean | undefined; } | z.objectOutputType<{ id: z.ZodString; dir: z.ZodString; kind: z.ZodOptional>; deployable: z.ZodOptional; release_unit: z.ZodOptional; tech_stack: z.ZodOptional> | z.ZodOptional, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">)[] | undefined; scaffold?: { base_package?: string | undefined; custom_templates_dir?: string | undefined; } | z.objectOutputType<{ base_package: z.ZodOptional; custom_templates_dir: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; conventions_file?: string | undefined; verify_timeout?: { build: number; test: number; } | z.objectOutputType<{ build: z.ZodNumber; test: z.ZodNumber; }, z.ZodTypeAny, "passthrough"> | undefined; scan_exclude?: string[] | undefined; product_mapping?: Record | undefined; project_map?: { overrides?: Record | undefined; } | z.objectOutputType<{ overrides: z.ZodOptional]>>>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { product_profile: "backend" | "default" | "frontend" | "b2c" | "b2b-internal" | "saas" | "fullstack"; delivery?: { auto_push?: boolean | undefined; auto_pr?: boolean | undefined; auto_deploy?: boolean | undefined; } | z.objectInputType<{ auto_push: z.ZodOptional; auto_pr: z.ZodOptional; auto_deploy: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; deployment?: { method?: "auto" | "docker_compose" | "dockerfile" | "local_dev_server" | undefined; services_override?: z.objectInputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; http_acceptance?: z.objectInputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } | z.objectInputType<{ method: z.ZodOptional>; services_override: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; /** HTTP 验收探针 — 配置驱动 local_http_acceptance(声明 path + 期望状态码/响应体子串)。 * 覆盖状态码/关键字段/登录态三维度;无配置时 executor 回退自动探活。 * 形态对齐 HttpAcceptanceProbe(src/context/config/detector/fingerprint.ts)。 */ http_acceptance: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough"> | undefined; tech_stack?: { backend?: { lang: string; framework: string; version?: string | undefined; } | z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { lang: string; framework: string; version?: string | undefined; } | z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectInputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang: string; framework: string; version?: string | undefined; }, { lang: string; framework: string; version?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang: string; framework: string; version?: string | undefined; }, { lang: string; framework: string; version?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough"> | undefined; overrides?: { scope?: { backend: string[]; frontend: string[]; } | z.objectInputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough"> | undefined; build_commands?: { backend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectInputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectInputType<{ scope: z.ZodOptional; frontend: z.ZodArray; }, "strict", z.ZodTypeAny, { backend: string[]; frontend: string[]; }, { backend: string[]; frontend: string[]; }>> | z.ZodOptional; frontend: z.ZodArray; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough">>>; build_commands: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { backend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough"> | undefined; repos?: ({ path: string; name: string; lang?: string | undefined; framework?: string | undefined; scope?: string[] | undefined; } | z.objectInputType<{ name: z.ZodString; path: z.ZodString; lang: z.ZodOptional; framework: z.ZodOptional; scope: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">)[] | undefined; projects?: ({ id: string; dir: string; tech_stack?: { lang: string; framework: string; } | z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; }, z.ZodTypeAny, "passthrough"> | undefined; kind?: "frontend-end" | "backend" | "shared" | undefined; deployable?: boolean | undefined; release_unit?: boolean | undefined; } | z.objectInputType<{ id: z.ZodString; dir: z.ZodString; kind: z.ZodOptional>; deployable: z.ZodOptional; release_unit: z.ZodOptional; tech_stack: z.ZodOptional> | z.ZodOptional, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">)[] | undefined; scaffold?: { base_package?: string | undefined; custom_templates_dir?: string | undefined; } | z.objectInputType<{ base_package: z.ZodOptional; custom_templates_dir: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; conventions_file?: string | undefined; verify_timeout?: { build: number; test: number; } | z.objectInputType<{ build: z.ZodNumber; test: z.ZodNumber; }, z.ZodTypeAny, "passthrough"> | undefined; scan_exclude?: string[] | undefined; product_mapping?: Record | undefined; project_map?: { overrides?: Record | undefined; } | z.objectInputType<{ overrides: z.ZodOptional]>>>; }, z.ZodTypeAny, "passthrough"> | undefined; }>; /** * deepPartial() 使所有字段可选;顶层 + 嵌套 passthrough 保留未知字段。 * 这样升级 intent.yaml 新增字段时,旧版本的读取不会丢失新字段。 */ declare const LenientIntentSchema: z.ZodObject<{ product_profile: z.ZodOptional>; delivery: z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, "strict", z.ZodTypeAny, { auto_push?: boolean | undefined; auto_pr?: boolean | undefined; auto_deploy?: boolean | undefined; }, { auto_push?: boolean | undefined; auto_pr?: boolean | undefined; auto_deploy?: boolean | undefined; }>> | z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ auto_push: z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ auto_push: z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; deployment: z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, "strict", z.ZodTypeAny, { method?: "auto" | "docker_compose" | "dockerfile" | "local_dev_server" | undefined; services_override?: z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; http_acceptance?: z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; }, { method?: "auto" | "docker_compose" | "dockerfile" | "local_dev_server" | undefined; services_override?: z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; http_acceptance?: z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; }>> | z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ method: z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ method: z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, z.ZodTypeAny, "passthrough">>>>; tech_stack: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; overrides: z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { scope?: { backend?: string[] | undefined; frontend?: string[] | undefined; } | z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; build_commands?: { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { scope?: { backend?: string[] | undefined; frontend?: string[] | undefined; } | z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; build_commands?: { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scope: z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scope: z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; repos: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, "strict", z.ZodTypeAny, { path?: string | undefined; name?: string | undefined; lang?: string | undefined; framework?: string | undefined; scope?: string[] | undefined; }, { path?: string | undefined; name?: string | undefined; lang?: string | undefined; framework?: string | undefined; scope?: string[] | undefined; }> | z.ZodObject<{ name: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, z.ZodTypeAny, "passthrough">>, "many">>>; projects: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { tech_stack?: { lang?: string | undefined; framework?: string | undefined; } | z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; id?: string | undefined; dir?: string | undefined; kind?: "frontend-end" | "backend" | "shared" | undefined; deployable?: boolean | undefined; release_unit?: boolean | undefined; }, { tech_stack?: { lang?: string | undefined; framework?: string | undefined; } | z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; id?: string | undefined; dir?: string | undefined; kind?: "frontend-end" | "backend" | "shared" | undefined; deployable?: boolean | undefined; release_unit?: boolean | undefined; }> | z.ZodObject<{ id: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>, "many">>>; scaffold: z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, "strict", z.ZodTypeAny, { base_package?: string | undefined; custom_templates_dir?: string | undefined; }, { base_package?: string | undefined; custom_templates_dir?: string | undefined; }>> | z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ base_package: z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ base_package: z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; conventions_file: z.ZodOptional>; verify_timeout: z.ZodOptional; test: z.ZodOptional; }, "strict", z.ZodTypeAny, { build?: number | undefined; test?: number | undefined; }, { build?: number | undefined; test?: number | undefined; }>> | z.ZodOptional; test: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; scan_exclude: z.ZodOptional>>; product_mapping: z.ZodOptional>>; project_map: z.ZodOptional]>>>>; }, "strict", z.ZodTypeAny, { overrides?: Record | undefined; }, { overrides?: Record | undefined; }>> | z.ZodOptional]>>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ overrides: z.ZodOptional]>>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ overrides: z.ZodOptional]>>>>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ product_profile: z.ZodOptional>; delivery: z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, "strict", z.ZodTypeAny, { auto_push?: boolean | undefined; auto_pr?: boolean | undefined; auto_deploy?: boolean | undefined; }, { auto_push?: boolean | undefined; auto_pr?: boolean | undefined; auto_deploy?: boolean | undefined; }>> | z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ auto_push: z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ auto_push: z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; deployment: z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, "strict", z.ZodTypeAny, { method?: "auto" | "docker_compose" | "dockerfile" | "local_dev_server" | undefined; services_override?: z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; http_acceptance?: z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; }, { method?: "auto" | "docker_compose" | "dockerfile" | "local_dev_server" | undefined; services_override?: z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; http_acceptance?: z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; }>> | z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ method: z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ method: z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, z.ZodTypeAny, "passthrough">>>>; tech_stack: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; overrides: z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { scope?: { backend?: string[] | undefined; frontend?: string[] | undefined; } | z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; build_commands?: { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { scope?: { backend?: string[] | undefined; frontend?: string[] | undefined; } | z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; build_commands?: { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scope: z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scope: z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; repos: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, "strict", z.ZodTypeAny, { path?: string | undefined; name?: string | undefined; lang?: string | undefined; framework?: string | undefined; scope?: string[] | undefined; }, { path?: string | undefined; name?: string | undefined; lang?: string | undefined; framework?: string | undefined; scope?: string[] | undefined; }> | z.ZodObject<{ name: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, z.ZodTypeAny, "passthrough">>, "many">>>; projects: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { tech_stack?: { lang?: string | undefined; framework?: string | undefined; } | z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; id?: string | undefined; dir?: string | undefined; kind?: "frontend-end" | "backend" | "shared" | undefined; deployable?: boolean | undefined; release_unit?: boolean | undefined; }, { tech_stack?: { lang?: string | undefined; framework?: string | undefined; } | z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; id?: string | undefined; dir?: string | undefined; kind?: "frontend-end" | "backend" | "shared" | undefined; deployable?: boolean | undefined; release_unit?: boolean | undefined; }> | z.ZodObject<{ id: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>, "many">>>; scaffold: z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, "strict", z.ZodTypeAny, { base_package?: string | undefined; custom_templates_dir?: string | undefined; }, { base_package?: string | undefined; custom_templates_dir?: string | undefined; }>> | z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ base_package: z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ base_package: z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; conventions_file: z.ZodOptional>; verify_timeout: z.ZodOptional; test: z.ZodOptional; }, "strict", z.ZodTypeAny, { build?: number | undefined; test?: number | undefined; }, { build?: number | undefined; test?: number | undefined; }>> | z.ZodOptional; test: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; scan_exclude: z.ZodOptional>>; product_mapping: z.ZodOptional>>; project_map: z.ZodOptional]>>>>; }, "strict", z.ZodTypeAny, { overrides?: Record | undefined; }, { overrides?: Record | undefined; }>> | z.ZodOptional]>>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ overrides: z.ZodOptional]>>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ overrides: z.ZodOptional]>>>>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ product_profile: z.ZodOptional>; delivery: z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, "strict", z.ZodTypeAny, { auto_push?: boolean | undefined; auto_pr?: boolean | undefined; auto_deploy?: boolean | undefined; }, { auto_push?: boolean | undefined; auto_pr?: boolean | undefined; auto_deploy?: boolean | undefined; }>> | z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ auto_push: z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ auto_push: z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; deployment: z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, "strict", z.ZodTypeAny, { method?: "auto" | "docker_compose" | "dockerfile" | "local_dev_server" | undefined; services_override?: z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; http_acceptance?: z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; }, { method?: "auto" | "docker_compose" | "dockerfile" | "local_dev_server" | undefined; services_override?: z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; http_acceptance?: z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; }>> | z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ method: z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ method: z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, z.ZodTypeAny, "passthrough">>>>; tech_stack: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; overrides: z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { scope?: { backend?: string[] | undefined; frontend?: string[] | undefined; } | z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; build_commands?: { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { scope?: { backend?: string[] | undefined; frontend?: string[] | undefined; } | z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; build_commands?: { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scope: z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scope: z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; repos: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, "strict", z.ZodTypeAny, { path?: string | undefined; name?: string | undefined; lang?: string | undefined; framework?: string | undefined; scope?: string[] | undefined; }, { path?: string | undefined; name?: string | undefined; lang?: string | undefined; framework?: string | undefined; scope?: string[] | undefined; }> | z.ZodObject<{ name: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, z.ZodTypeAny, "passthrough">>, "many">>>; projects: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { tech_stack?: { lang?: string | undefined; framework?: string | undefined; } | z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; id?: string | undefined; dir?: string | undefined; kind?: "frontend-end" | "backend" | "shared" | undefined; deployable?: boolean | undefined; release_unit?: boolean | undefined; }, { tech_stack?: { lang?: string | undefined; framework?: string | undefined; } | z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; id?: string | undefined; dir?: string | undefined; kind?: "frontend-end" | "backend" | "shared" | undefined; deployable?: boolean | undefined; release_unit?: boolean | undefined; }> | z.ZodObject<{ id: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>, "many">>>; scaffold: z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, "strict", z.ZodTypeAny, { base_package?: string | undefined; custom_templates_dir?: string | undefined; }, { base_package?: string | undefined; custom_templates_dir?: string | undefined; }>> | z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ base_package: z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ base_package: z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; conventions_file: z.ZodOptional>; verify_timeout: z.ZodOptional; test: z.ZodOptional; }, "strict", z.ZodTypeAny, { build?: number | undefined; test?: number | undefined; }, { build?: number | undefined; test?: number | undefined; }>> | z.ZodOptional; test: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; scan_exclude: z.ZodOptional>>; product_mapping: z.ZodOptional>>; project_map: z.ZodOptional]>>>>; }, "strict", z.ZodTypeAny, { overrides?: Record | undefined; }, { overrides?: Record | undefined; }>> | z.ZodOptional]>>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ overrides: z.ZodOptional]>>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ overrides: z.ZodOptional]>>>>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>; /** 写入时的完整 Intent 类型 */ export type StrictIntent = z.infer; /** 读取时的宽松 Intent 类型(所有字段均可缺失) */ export type LenientIntent = z.infer; /** 写入校验 — 严格模式,拒绝多余字段和类型错误 */ export declare function validateForWrite(data: unknown): z.SafeParseReturnType<{ product_profile: "backend" | "default" | "frontend" | "b2c" | "b2b-internal" | "saas" | "fullstack"; delivery?: { auto_push?: boolean | undefined; auto_pr?: boolean | undefined; auto_deploy?: boolean | undefined; } | z.objectInputType<{ auto_push: z.ZodOptional; auto_pr: z.ZodOptional; auto_deploy: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; deployment?: { method?: "auto" | "docker_compose" | "dockerfile" | "local_dev_server" | undefined; services_override?: z.objectInputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; http_acceptance?: z.objectInputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } | z.objectInputType<{ method: z.ZodOptional>; services_override: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; /** HTTP 验收探针 — 配置驱动 local_http_acceptance(声明 path + 期望状态码/响应体子串)。 * 覆盖状态码/关键字段/登录态三维度;无配置时 executor 回退自动探活。 * 形态对齐 HttpAcceptanceProbe(src/context/config/detector/fingerprint.ts)。 */ http_acceptance: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough"> | undefined; tech_stack?: { backend?: { lang: string; framework: string; version?: string | undefined; } | z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { lang: string; framework: string; version?: string | undefined; } | z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectInputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang: string; framework: string; version?: string | undefined; }, { lang: string; framework: string; version?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang: string; framework: string; version?: string | undefined; }, { lang: string; framework: string; version?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough"> | undefined; overrides?: { scope?: { backend: string[]; frontend: string[]; } | z.objectInputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough"> | undefined; build_commands?: { backend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectInputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectInputType<{ scope: z.ZodOptional; frontend: z.ZodArray; }, "strict", z.ZodTypeAny, { backend: string[]; frontend: string[]; }, { backend: string[]; frontend: string[]; }>> | z.ZodOptional; frontend: z.ZodArray; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough">>>; build_commands: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { backend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough"> | undefined; repos?: ({ path: string; name: string; lang?: string | undefined; framework?: string | undefined; scope?: string[] | undefined; } | z.objectInputType<{ name: z.ZodString; path: z.ZodString; lang: z.ZodOptional; framework: z.ZodOptional; scope: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">)[] | undefined; projects?: ({ id: string; dir: string; tech_stack?: { lang: string; framework: string; } | z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; }, z.ZodTypeAny, "passthrough"> | undefined; kind?: "frontend-end" | "backend" | "shared" | undefined; deployable?: boolean | undefined; release_unit?: boolean | undefined; } | z.objectInputType<{ id: z.ZodString; dir: z.ZodString; kind: z.ZodOptional>; deployable: z.ZodOptional; release_unit: z.ZodOptional; tech_stack: z.ZodOptional> | z.ZodOptional, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">)[] | undefined; scaffold?: { base_package?: string | undefined; custom_templates_dir?: string | undefined; } | z.objectInputType<{ base_package: z.ZodOptional; custom_templates_dir: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; conventions_file?: string | undefined; verify_timeout?: { build: number; test: number; } | z.objectInputType<{ build: z.ZodNumber; test: z.ZodNumber; }, z.ZodTypeAny, "passthrough"> | undefined; scan_exclude?: string[] | undefined; product_mapping?: Record | undefined; project_map?: { overrides?: Record | undefined; } | z.objectInputType<{ overrides: z.ZodOptional]>>>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { product_profile: "backend" | "default" | "frontend" | "b2c" | "b2b-internal" | "saas" | "fullstack"; delivery?: { auto_push?: boolean | undefined; auto_pr?: boolean | undefined; auto_deploy?: boolean | undefined; } | z.objectOutputType<{ auto_push: z.ZodOptional; auto_pr: z.ZodOptional; auto_deploy: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; deployment?: { method?: "auto" | "docker_compose" | "dockerfile" | "local_dev_server" | undefined; services_override?: z.objectOutputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; http_acceptance?: z.objectOutputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } | z.objectOutputType<{ method: z.ZodOptional>; services_override: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodOptional; ports: z.ZodOptional, z.objectInputType<{ internal: z.ZodNumber; external: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>, "many">>; health_check: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; /** HTTP 验收探针 — 配置驱动 local_http_acceptance(声明 path + 期望状态码/响应体子串)。 * 覆盖状态码/关键字段/登录态三维度;无配置时 executor 回退自动探活。 * 形态对齐 HttpAcceptanceProbe(src/context/config/detector/fingerprint.ts)。 */ http_acceptance: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodString; port: z.ZodOptional; expected_status: z.ZodOptional; expected_body_contains: z.ZodOptional; expected_body_not_contains: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough"> | undefined; tech_stack?: { backend?: { lang: string; framework: string; version?: string | undefined; } | z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { lang: string; framework: string; version?: string | undefined; } | z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectOutputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang: string; framework: string; version?: string | undefined; }, { lang: string; framework: string; version?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang: string; framework: string; version?: string | undefined; }, { lang: string; framework: string; version?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; version: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough"> | undefined; overrides?: { scope?: { backend: string[]; frontend: string[]; } | z.objectOutputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough"> | undefined; build_commands?: { backend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectOutputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectOutputType<{ scope: z.ZodOptional; frontend: z.ZodArray; }, "strict", z.ZodTypeAny, { backend: string[]; frontend: string[]; }, { backend: string[]; frontend: string[]; }>> | z.ZodOptional; frontend: z.ZodArray; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodArray; frontend: z.ZodArray; }, z.ZodTypeAny, "passthrough">>>; build_commands: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { backend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build: string; test: string; full?: string | undefined; } | z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; frontend: z.ZodOptional; }, "strict", z.ZodTypeAny, { build: string; test: string; full?: string | undefined; }, { build: string; test: string; full?: string | undefined; }>> | z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodString; test: z.ZodString; full: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough"> | undefined; repos?: ({ path: string; name: string; lang?: string | undefined; framework?: string | undefined; scope?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodString; path: z.ZodString; lang: z.ZodOptional; framework: z.ZodOptional; scope: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">)[] | undefined; projects?: ({ id: string; dir: string; tech_stack?: { lang: string; framework: string; } | z.objectOutputType<{ lang: z.ZodString; framework: z.ZodString; }, z.ZodTypeAny, "passthrough"> | undefined; kind?: "frontend-end" | "backend" | "shared" | undefined; deployable?: boolean | undefined; release_unit?: boolean | undefined; } | z.objectOutputType<{ id: z.ZodString; dir: z.ZodString; kind: z.ZodOptional>; deployable: z.ZodOptional; release_unit: z.ZodOptional; tech_stack: z.ZodOptional> | z.ZodOptional, z.objectInputType<{ lang: z.ZodString; framework: z.ZodString; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">)[] | undefined; scaffold?: { base_package?: string | undefined; custom_templates_dir?: string | undefined; } | z.objectOutputType<{ base_package: z.ZodOptional; custom_templates_dir: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; conventions_file?: string | undefined; verify_timeout?: { build: number; test: number; } | z.objectOutputType<{ build: z.ZodNumber; test: z.ZodNumber; }, z.ZodTypeAny, "passthrough"> | undefined; scan_exclude?: string[] | undefined; product_mapping?: Record | undefined; project_map?: { overrides?: Record | undefined; } | z.objectOutputType<{ overrides: z.ZodOptional]>>>; }, z.ZodTypeAny, "passthrough"> | undefined; }>; /** 读取解析 — 宽松模式,容忍字段缺失 */ export declare function parseForRead(data: unknown): z.SafeParseReturnType>; delivery: z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, "strict", z.ZodTypeAny, { auto_push?: boolean | undefined; auto_pr?: boolean | undefined; auto_deploy?: boolean | undefined; }, { auto_push?: boolean | undefined; auto_pr?: boolean | undefined; auto_deploy?: boolean | undefined; }>> | z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ auto_push: z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ auto_push: z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; deployment: z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, "strict", z.ZodTypeAny, { method?: "auto" | "docker_compose" | "dockerfile" | "local_dev_server" | undefined; services_override?: z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; http_acceptance?: z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; }, { method?: "auto" | "docker_compose" | "dockerfile" | "local_dev_server" | undefined; services_override?: z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; http_acceptance?: z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; }>> | z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ method: z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ method: z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, z.ZodTypeAny, "passthrough">>>>; tech_stack: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; overrides: z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { scope?: { backend?: string[] | undefined; frontend?: string[] | undefined; } | z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; build_commands?: { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { scope?: { backend?: string[] | undefined; frontend?: string[] | undefined; } | z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; build_commands?: { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scope: z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scope: z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; repos: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, "strict", z.ZodTypeAny, { path?: string | undefined; name?: string | undefined; lang?: string | undefined; framework?: string | undefined; scope?: string[] | undefined; }, { path?: string | undefined; name?: string | undefined; lang?: string | undefined; framework?: string | undefined; scope?: string[] | undefined; }> | z.ZodObject<{ name: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, z.ZodTypeAny, "passthrough">>, "many">>>; projects: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { tech_stack?: { lang?: string | undefined; framework?: string | undefined; } | z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; id?: string | undefined; dir?: string | undefined; kind?: "frontend-end" | "backend" | "shared" | undefined; deployable?: boolean | undefined; release_unit?: boolean | undefined; }, { tech_stack?: { lang?: string | undefined; framework?: string | undefined; } | z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; id?: string | undefined; dir?: string | undefined; kind?: "frontend-end" | "backend" | "shared" | undefined; deployable?: boolean | undefined; release_unit?: boolean | undefined; }> | z.ZodObject<{ id: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>, "many">>>; scaffold: z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, "strict", z.ZodTypeAny, { base_package?: string | undefined; custom_templates_dir?: string | undefined; }, { base_package?: string | undefined; custom_templates_dir?: string | undefined; }>> | z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ base_package: z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ base_package: z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; conventions_file: z.ZodOptional>; verify_timeout: z.ZodOptional; test: z.ZodOptional; }, "strict", z.ZodTypeAny, { build?: number | undefined; test?: number | undefined; }, { build?: number | undefined; test?: number | undefined; }>> | z.ZodOptional; test: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; scan_exclude: z.ZodOptional>>; product_mapping: z.ZodOptional>>; project_map: z.ZodOptional]>>>>; }, "strict", z.ZodTypeAny, { overrides?: Record | undefined; }, { overrides?: Record | undefined; }>> | z.ZodOptional]>>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ overrides: z.ZodOptional]>>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ overrides: z.ZodOptional]>>>>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectOutputType<{ product_profile: z.ZodOptional>; delivery: z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, "strict", z.ZodTypeAny, { auto_push?: boolean | undefined; auto_pr?: boolean | undefined; auto_deploy?: boolean | undefined; }, { auto_push?: boolean | undefined; auto_pr?: boolean | undefined; auto_deploy?: boolean | undefined; }>> | z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ auto_push: z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ auto_push: z.ZodOptional>; auto_pr: z.ZodOptional>; auto_deploy: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; deployment: z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, "strict", z.ZodTypeAny, { method?: "auto" | "docker_compose" | "dockerfile" | "local_dev_server" | undefined; services_override?: z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; http_acceptance?: z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; }, { method?: "auto" | "docker_compose" | "dockerfile" | "local_dev_server" | undefined; services_override?: z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; http_acceptance?: z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">[] | undefined; }>> | z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ method: z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ method: z.ZodOptional>>; services_override: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; type: z.ZodOptional>; ports: z.ZodOptional; external: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ internal: z.ZodOptional; external: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>>; health_check: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; http_acceptance: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; port: z.ZodOptional>; expected_status: z.ZodOptional>; expected_body_contains: z.ZodOptional>; expected_body_not_contains: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>>; }, z.ZodTypeAny, "passthrough">>>>; tech_stack: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; } | z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; version?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; version: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; overrides: z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { scope?: { backend?: string[] | undefined; frontend?: string[] | undefined; } | z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; build_commands?: { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { scope?: { backend?: string[] | undefined; frontend?: string[] | undefined; } | z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; build_commands?: { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; } | z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scope: z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scope: z.ZodOptional>; frontend: z.ZodOptional>; }, "strict", z.ZodTypeAny, { backend?: string[] | undefined; frontend?: string[] | undefined; }, { backend?: string[] | undefined; frontend?: string[] | undefined; }>> | z.ZodOptional>; frontend: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional>; frontend: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; build_commands: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }, { backend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; frontend?: { build?: string | undefined; full?: string | undefined; test?: string | undefined; } | z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough"> | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ backend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; frontend: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "strict", z.ZodTypeAny, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }, { build?: string | undefined; full?: string | undefined; test?: string | undefined; }>> | z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; full: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>>>; repos: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, "strict", z.ZodTypeAny, { path?: string | undefined; name?: string | undefined; lang?: string | undefined; framework?: string | undefined; scope?: string[] | undefined; }, { path?: string | undefined; name?: string | undefined; lang?: string | undefined; framework?: string | undefined; scope?: string[] | undefined; }> | z.ZodObject<{ name: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; path: z.ZodOptional; lang: z.ZodOptional>; framework: z.ZodOptional>; scope: z.ZodOptional>>; }, z.ZodTypeAny, "passthrough">>, "many">>>; projects: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, "strict", z.ZodTypeAny, { tech_stack?: { lang?: string | undefined; framework?: string | undefined; } | z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; id?: string | undefined; dir?: string | undefined; kind?: "frontend-end" | "backend" | "shared" | undefined; deployable?: boolean | undefined; release_unit?: boolean | undefined; }, { tech_stack?: { lang?: string | undefined; framework?: string | undefined; } | z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; id?: string | undefined; dir?: string | undefined; kind?: "frontend-end" | "backend" | "shared" | undefined; deployable?: boolean | undefined; release_unit?: boolean | undefined; }> | z.ZodObject<{ id: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodOptional; dir: z.ZodOptional; kind: z.ZodOptional>>; deployable: z.ZodOptional>; release_unit: z.ZodOptional>; tech_stack: z.ZodOptional; framework: z.ZodOptional; }, "strict", z.ZodTypeAny, { lang?: string | undefined; framework?: string | undefined; }, { lang?: string | undefined; framework?: string | undefined; }>> | z.ZodOptional; framework: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ lang: z.ZodOptional; framework: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>, "many">>>; scaffold: z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, "strict", z.ZodTypeAny, { base_package?: string | undefined; custom_templates_dir?: string | undefined; }, { base_package?: string | undefined; custom_templates_dir?: string | undefined; }>> | z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ base_package: z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ base_package: z.ZodOptional>; custom_templates_dir: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>>; conventions_file: z.ZodOptional>; verify_timeout: z.ZodOptional; test: z.ZodOptional; }, "strict", z.ZodTypeAny, { build?: number | undefined; test?: number | undefined; }, { build?: number | undefined; test?: number | undefined; }>> | z.ZodOptional; test: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ build: z.ZodOptional; test: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ build: z.ZodOptional; test: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; scan_exclude: z.ZodOptional>>; product_mapping: z.ZodOptional>>; project_map: z.ZodOptional]>>>>; }, "strict", z.ZodTypeAny, { overrides?: Record | undefined; }, { overrides?: Record | undefined; }>> | z.ZodOptional]>>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ overrides: z.ZodOptional]>>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ overrides: z.ZodOptional]>>>>; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>; export {};