import { type VoiceFormat, type VoiceScope } from "../lib/voice-corpus.js"; export interface VoiceRetrieveConditioningParams { accountId: string; userId: string; brief: { topic?: string; /** * Writing format for corpus and profile scoping (required, Task 462). * One :VoiceProfile per (accountId, userId, format). */ format: VoiceFormat; /** * K-selector: 'short' = K=5 (16k token budget, email/post); * 'long' = K=15 (96k token budget, brochure/prospectus). * Renamed from `format` in Task 462 to free the name for VoiceFormat. */ length?: "short" | "long"; register?: string; /** * Voice scope (Task 676). `'personal'` (default) retrieves the caller's own * profile and author-filtered exemplars, falling back to the org profile * when the caller has none. `'org'` retrieves the account/house profile and * account-wide exemplars, degrading to the default register when absent. */ scope?: VoiceScope; }; tokenBudget?: number; } export interface VoiceExemplar { nodeId: string; label: string; body: string; source: string; } /** * Outcome discriminator (Task 493). Three mutually-exclusive states so the * drafting agent and operator can tell genuine no-data apart from a failed * lookup — both previously collapsed into the same empty payload: * - "ok" — query ran; a style card and/or exemplars were returned * for the requested scope. * - "fallback-org"— a personal request found no personal profile/corpus, so * the org profile was returned instead (Task 676). Drafting * uses the org voice; this is the standing signal that the * caller has no personal attribution yet. * - "no-data" — query ran; no profile exists and the corpus is empty for * the requested scope (and, for personal, no org fallback). * - "error" — the lookup failed (blank identity, driver/connection * fault, or Cypher error). `error` carries the message. * Drafting degrades gracefully to default register on "no-data" and "error"; * "fallback-org" still injects a (org) style card. The caller must only report * "no profile exists" on "no-data". */ export type VoiceRetrieveStatus = "ok" | "fallback-org" | "no-data" | "error"; export interface VoiceRetrieveConditioningResult { styleCard: string | null; exemplars: VoiceExemplar[]; status: VoiceRetrieveStatus; error?: string; } export declare function voiceRetrieveConditioning(params: VoiceRetrieveConditioningParams): Promise; //# sourceMappingURL=voice-retrieve-conditioning.d.ts.map