import type { LocalAiTaskName } from "./model-manager.js"; export type EpisodeTriageAction = "skip" | "episode_only" | "candidate" | "candidate_and_enrich"; export type EpisodeTriageMemoryType = "preference" | "fact" | "project_state" | "workflow" | "identity" | "goal" | "stable_profile_detail" | "transient" | "unresolved"; export type EpisodeTriageDurability = "ephemeral" | "working" | "durable" | "canonical_candidate"; export type EpisodeTriageContradictionRisk = "none" | "low" | "medium" | "high"; export interface EpisodeTriageInput { task: "episode_triage"; episode: { id: string; text: string; scope: string; agent: string; timestamp: string; }; recent_context: { message_count: number; tool_calls: number; }; } export interface EpisodeTriageOutput { action: EpisodeTriageAction; memory_type: EpisodeTriageMemoryType; importance: number; durability: EpisodeTriageDurability; canonical_candidate: boolean; contradiction_risk: EpisodeTriageContradictionRisk; summary: string; tags: string[]; } export interface CandidateCompressionInput { task: "candidate_compression"; episode_text: string; memory_type_hint: EpisodeTriageMemoryType | null; } export interface CandidateCompressionOutput { summary: string; tags: string[]; memory_type: EpisodeTriageMemoryType; } export type ContradictionConflictLevel = "none" | "possible_conflict" | "strong_conflict"; export interface ContradictionSuspicionInput { task: "contradiction_suspicion"; candidate: { summary: string; memory_type: EpisodeTriageMemoryType; }; nearby_memories: Array<{ id: string; summary: string; memory_type?: EpisodeTriageMemoryType; }>; } export interface ContradictionSuspicionOutput { conflict_level: ContradictionConflictLevel; reason: string; } export type DoctorExplanationSeverity = "info" | "warning" | "error"; export type DoctorExplanationDomain = "local_ai" | "surrealdb" | "runtime" | "config" | "cloud"; export interface DoctorExplanationInput { task: "doctor_explanation"; report: { runtime_state: string; engine_state: string; notes: string[]; }; } export interface DoctorExplanationOutput { severity: DoctorExplanationSeverity; domain: DoctorExplanationDomain; summary: string; next_step: string; user_facing: boolean; } export type LocalAiTaskInput = EpisodeTriageInput | CandidateCompressionInput | ContradictionSuspicionInput | DoctorExplanationInput; export type LocalAiTaskOutput = EpisodeTriageOutput | CandidateCompressionOutput | ContradictionSuspicionOutput | DoctorExplanationOutput; export declare function parseEpisodeTriageOutput(raw: string, maxSummaryChars: number): EpisodeTriageOutput; export declare function parseCandidateCompressionOutput(raw: string, maxSummaryChars: number): CandidateCompressionOutput; export declare function parseContradictionSuspicionOutput(raw: string, maxReasonChars: number): ContradictionSuspicionOutput; export declare function parseDoctorExplanationOutput(raw: string, maxSummaryChars: number, maxNextStepChars: number): DoctorExplanationOutput; export declare function getLocalAiJsonSchema(task: LocalAiTaskName): Record; //# sourceMappingURL=schemas.d.ts.map