import type { LLMRouter } from "@onenomad/przm-cortex-llm-core"; import type { Logger } from "@onenomad/przm-cortex-core"; export interface ActionItem { description: string; owner?: string; due?: string; priority?: "P0" | "P1" | "P2"; } export interface Decision { summary: string; context?: string; } export interface Entity { name: string; kind: "person" | "project" | "product" | "company" | "event"; } export interface ExtractedItems { actionItems: ActionItem[]; decisions: Decision[]; entities: Entity[]; } export interface ExtractStructuredItemsArgs { content: string; llmRouter: LLMRouter; logger: Logger; /** Trace id for correlating logs across the ingest + extraction. */ traceId?: string; /** * Hard ceiling on chunk size to send to the LLM. Anything larger gets * truncated; we want bounded cost per call. The local Xenova chunker * already keeps cortex chunks below ~2KB so this is rarely a tail. */ maxInputChars?: number; } export declare function extractStructuredItems(args: ExtractStructuredItemsArgs): Promise; /** * Slugify a free-text name into a stable identifier suitable for * `owner:` tags or `sourceId` suffixes. Lowercase, alphanumeric + * hyphens, max 40 chars. Caller is responsible for deduping against the * workspace's people / projects taxonomy. */ export declare function slugify(input: string): string; //# sourceMappingURL=extract-structured-items.d.ts.map