Variable TypedExtractionFactSchemaConst

TypedExtractionFactSchema: ZodObject<{
    text: ZodString;
    bank: ZodPreprocess<ZodEnum<{
        EXPERIENCE: "EXPERIENCE";
        OBSERVATION: "OBSERVATION";
        OPINION: "OPINION";
        WORLD: "WORLD";
    }>, unknown>;
    temporal: ZodDefault<ZodObject<{
        start: ZodOptional<ZodString>;
        end: ZodOptional<ZodString>;
        mention: ZodDefault<ZodOptional<ZodString>>;
    }, $strip>>;
    participants: ZodDefault<ZodArray<ZodObject<{
        name: ZodString;
        role: ZodDefault<ZodString>;
    }, $strip>>>;
    reasoning_markers: ZodDefault<ZodArray<ZodString>>;
    entities: ZodDefault<ZodArray<ZodString>>;
    confidence: ZodDefault<ZodNumber>;
}, $strip> = ...

Schema for one extracted fact, matching the LLM's expected output.

Defaults applied when the LLM omits fields:

  • temporal.mention: '' (downstream tolerates empty mention)
  • participants: []
  • reasoning_markers: []
  • entities: []
  • confidence: 1.0

bank is uppercase-coerced before enum validation so a lowercase model output (e.g. 'world') passes as 'WORLD'.

Type declaration

  • text: ZodString
  • bank: ZodPreprocess<ZodEnum<{
        EXPERIENCE: "EXPERIENCE";
        OBSERVATION: "OBSERVATION";
        OPINION: "OPINION";
        WORLD: "WORLD";
    }>, unknown>
  • temporal: ZodDefault<ZodObject<{
        start: ZodOptional<ZodString>;
        end: ZodOptional<ZodString>;
        mention: ZodDefault<ZodOptional<ZodString>>;
    }, $strip>>
  • participants: ZodDefault<ZodArray<ZodObject<{
        name: ZodString;
        role: ZodDefault<ZodString>;
    }, $strip>>>
  • reasoning_markers: ZodDefault<ZodArray<ZodString>>
  • entities: ZodDefault<ZodArray<ZodString>>
  • confidence: ZodDefault<ZodNumber>