Kaizen
Browse modulesRulesrules/sharedTypes

Type Alias: Condition

type Condition = ZodObject<{
  condition_type: ZodString;
  config: ZodRecord<ZodString, ZodUnknown>;
  created_at: ZodString;
  created_by: ZodString;
  description: ZodNullable<ZodString>;
  domain: ZodString;
  id: ZodString;
  module: ZodNullable<ZodString>;
  name: ZodNullable<ZodString>;
  organization_id: ZodString;
}, $strip>;

Defined in: shared/rules/types/conditions.ts:848

condition_type is z.string() (not ConditionType) because consumers register custom condition types inline via matchRules()'s customConditions option. The repository runs every DB row through this schema before handing it to the engine, so narrowing here would make custom-typed rows fail at the boundary before the engine ever gets a chance to dispatch them. The TS type below already widens to ConditionType | (string & {}) to mirror this; the runtime contract matches.