/** * Zod schema for the parsed runtime YAML. * Single source of truth for validation and RuntimeConfig type. */ import { z } from "zod"; declare const strategyEntrySchema: z.ZodObject<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; /** * Scanner entry. Shared base shape across all scanner types. v2.0.0 is integer-seconds * everywhere: built-in scanner cadence is `interval_seconds` (the legacy `interval` duration * string is rejected by the superRefine below, for built-ins and external_scanner alike). The * external_scanner v2.0.0 fields (`interval_seconds`, `inputs`, `signal_data_schema`, * `default_signal_validity_seconds`, `state_history_max_count`) are declared here so they parse * through for every type; the superRefine enforces the per-type v2 contract. */ declare const scannerEntrySchema: z.ZodEffects; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>; declare const actionEntrySchema: z.ZodObject<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>; declare const exitBlockSchema: z.ZodObject<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">>; export declare const runtimeConfigSchema: z.ZodEffects>; description: z.ZodOptional; group: z.ZodOptional; strategy: z.ZodObject<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; scanners: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, "many">>; actions: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; exit: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">>>; health: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ window_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ window_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; hooks: z.ZodOptional>; notifications: z.ZodOptional>; risk: z.ZodOptional; guard_rails: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { data_retention_seconds?: number | undefined; guard_rails?: z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { data_retention_seconds?: number | undefined; guard_rails?: z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; advanced: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; version: z.ZodOptional>; description: z.ZodOptional; group: z.ZodOptional; strategy: z.ZodObject<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; scanners: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, "many">>; actions: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; exit: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">>>; health: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ window_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ window_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; hooks: z.ZodOptional>; notifications: z.ZodOptional>; risk: z.ZodOptional; guard_rails: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { data_retention_seconds?: number | undefined; guard_rails?: z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { data_retention_seconds?: number | undefined; guard_rails?: z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; advanced: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; version: z.ZodOptional>; description: z.ZodOptional; group: z.ZodOptional; strategy: z.ZodObject<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; scanners: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, "many">>; actions: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; exit: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">>>; health: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ window_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ window_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; hooks: z.ZodOptional>; notifications: z.ZodOptional>; risk: z.ZodOptional; guard_rails: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { data_retention_seconds?: number | undefined; guard_rails?: z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { data_retention_seconds?: number | undefined; guard_rails?: z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; advanced: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ name: z.ZodString; version: z.ZodOptional>; description: z.ZodOptional; group: z.ZodOptional; strategy: z.ZodObject<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; scanners: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, "many">>; actions: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; exit: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">>>; health: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ window_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ window_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; hooks: z.ZodOptional>; notifications: z.ZodOptional>; risk: z.ZodOptional; guard_rails: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { data_retention_seconds?: number | undefined; guard_rails?: z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { data_retention_seconds?: number | undefined; guard_rails?: z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; advanced: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; version: z.ZodOptional>; description: z.ZodOptional; group: z.ZodOptional; strategy: z.ZodObject<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; scanners: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, "many">>; actions: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; exit: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">>>; health: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ window_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ window_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; hooks: z.ZodOptional>; notifications: z.ZodOptional>; risk: z.ZodOptional; guard_rails: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { data_retention_seconds?: number | undefined; guard_rails?: z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { data_retention_seconds?: number | undefined; guard_rails?: z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; advanced: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ name: z.ZodString; version: z.ZodOptional>; description: z.ZodOptional; group: z.ZodOptional; strategy: z.ZodObject<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; scanners: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, "many">>; actions: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; exit: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">>>; health: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ window_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ window_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; hooks: z.ZodOptional>; notifications: z.ZodOptional>; risk: z.ZodOptional; guard_rails: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { data_retention_seconds?: number | undefined; guard_rails?: z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { data_retention_seconds?: number | undefined; guard_rails?: z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; advanced: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; version: z.ZodOptional>; description: z.ZodOptional; group: z.ZodOptional; strategy: z.ZodObject<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; scanners: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, "many">>; actions: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; exit: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">>>; health: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ window_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ window_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; hooks: z.ZodOptional>; notifications: z.ZodOptional>; risk: z.ZodOptional; guard_rails: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { data_retention_seconds?: number | undefined; guard_rails?: z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { data_retention_seconds?: number | undefined; guard_rails?: z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; advanced: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ name: z.ZodString; version: z.ZodOptional>; description: z.ZodOptional; group: z.ZodOptional; strategy: z.ZodObject<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; scanners: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, "many">>; actions: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; exit: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">>>; health: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ window_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ window_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; hooks: z.ZodOptional>; notifications: z.ZodOptional>; risk: z.ZodOptional; guard_rails: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { data_retention_seconds?: number | undefined; guard_rails?: z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { data_retention_seconds?: number | undefined; guard_rails?: z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; advanced: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; version: z.ZodOptional>; description: z.ZodOptional; group: z.ZodOptional; strategy: z.ZodObject<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ wallet: z.ZodString; slots: z.ZodOptional; margin_per_slot: z.ZodOptional; margin_pct: z.ZodOptional; trading_risk: z.ZodOptional>; default_leverage: z.ZodOptional; leverage_multipliers: z.ZodOptional; moderate: z.ZodOptional; aggressive: z.ZodOptional; }, "strip", z.ZodTypeAny, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }, { conservative?: number | undefined; moderate?: number | undefined; aggressive?: number | undefined; }>>; enabled: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; scanners: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; depends_on: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ scanner: z.ZodString; required: z.ZodOptional; max_age_seconds: z.ZodOptional; on_missing: z.ZodOptional>; on_stale: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; blocked_assets: z.ZodOptional>; outputs: z.ZodOptional>; retention: z.ZodOptional>; retention_max_runs: z.ZodOptional; config: z.ZodOptional>; advanced: z.ZodOptional>; path: z.ZodOptional; entrypoint: z.ZodOptional; interval_seconds: z.ZodOptional; timeout_seconds: z.ZodOptional; default_signal_validity_seconds: z.ZodOptional; state_history_max_count: z.ZodOptional; inputs: z.ZodOptional>; signal_data_schema: z.ZodOptional; required: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }, { type: "string" | "number" | "boolean" | "object" | "array"; required?: boolean | undefined; }>>, Record, Record>>; }, z.ZodTypeAny, "passthrough">>, "many">>; actions: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; action_type: z.ZodString; decision_mode: z.ZodOptional>; decision_model: z.ZodOptional; scanners: z.ZodOptional>; min_confidence: z.ZodDefault; context: z.ZodOptional; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signal"; scanner: string; }, { type: "signal"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"context">; scanner: z.ZodString; }, "strip", z.ZodTypeAny, { type: "context"; scanner: string; }, { type: "context"; scanner: string; }>, z.ZodObject<{ type: z.ZodLiteral<"strategy">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "strategy"; }, { value: string; type: "strategy"; }>, z.ZodObject<{ type: z.ZodLiteral<"asset-trend">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; type: "asset-trend"; }, { value: string; type: "asset-trend"; }>]>, "many">>; decision_prompt: z.ZodOptional; params: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; exit: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ engine: z.ZodOptional; interval_seconds: z.ZodOptional; /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */ dsl_preset: z.ZodOptional>; sm_flip: z.ZodOptional; order_type: z.ZodOptional>; fee_optimized_limit_options: z.ZodOptional; execution_timeout_seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }, { ensure_execution_as_taker?: boolean | undefined; execution_timeout_seconds?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">>>; health: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ window_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ window_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; hooks: z.ZodOptional>; notifications: z.ZodOptional>; risk: z.ZodOptional; guard_rails: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strict", z.ZodTypeAny, { data_retention_seconds?: number | undefined; guard_rails?: z.objectOutputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { data_retention_seconds?: number | undefined; guard_rails?: z.objectInputType<{ daily_loss_limit_pct: z.ZodOptional; max_entries_per_day: z.ZodOptional; bypass_max_entries_per_day_on_profit: z.ZodOptional; max_consecutive_losses: z.ZodOptional; cooldown_seconds: z.ZodOptional; drawdown_halt_pct: z.ZodOptional; drawdown_reset_on_day_rollover: z.ZodOptional; per_asset_cooldown_seconds: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; advanced: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>; export type RuntimeConfig = z.infer; export type RuntimeStrategy = z.infer; export type RuntimeScanner = z.infer; export type RuntimeAction = z.infer; export type RuntimeExit = z.infer; export {}; //# sourceMappingURL=runtime-schema.d.ts.map