Skip to main content

Variable: TypedExtractionFactSchema

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

Defined in: packages/agentos/src/memory/retrieval/typed-network/prompts/extraction-schema.ts:52

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'.