/**
* Prompt registry — versioned, typed templates for every cognitive prompt.
*
* The dream pipeline's behavior is substantially determined by prompt wording,
* so prompts are treated like schema: each has a stable id, an explicit
* version, and a typed build() function. Tests snapshot the registry so any
* wording change forces a deliberate version bump.
*
* Rules:
* - Bump `version` whenever wording changes in a way that could shift model
* behavior (not for pure whitespace/typo fixes, judgment call).
* - Keep templates deterministic: same params → same string.
* - New cognitive prompts belong here, not inline in engines or tools.
*/
import type { EdgeRelation, MemoryCategory } from '../core/types.js';
export interface PromptTemplate
{
/** Stable identifier, unique across the registry. */
id: string;
/** Bumped when wording changes could shift model behavior. */
version: number;
/** Render the prompt with typed params. */
build(params: P): string;
}
export declare const EDGE_RELATIONS: readonly EdgeRelation[];
export declare const MEMORY_CATEGORIES: readonly MemoryCategory[];
/** Phase 2 — rewrite a memory definition to incorporate new evidence. */
export declare const REFINE_DEFINITION: PromptTemplate<{
definition: string;
observations: string[];
}>;
/** Phase 2 — re-check an edge after its source definition changed. */
export declare const EDGE_REVALIDATE: PromptTemplate<{
updatedDefinition: string;
targetName: string;
targetDefinition: string;
relation: EdgeRelation;
evidence: string;
}>;
/** Phase 3 — classify an observation into a memory category. */
export declare const CLASSIFY_CATEGORY: PromptTemplate<{
content: string;
}>;
/** Phase 4 (sequential) — pairwise edge discovery. */
export declare const EDGE_DISCOVER_PAIR: PromptTemplate<{
nameA: string;
definitionA: string;
nameB: string;
definitionB: string;
}>;
/** Phase 4 (long-context) — whole-graph edge discovery. */
export declare const EDGE_DISCOVER_GRAPH: PromptTemplate<{
memoryLines: string;
memoryCount: number;
existingEdgeLines: string;
}>;
/** Phase 6 — cross-domain abstraction synthesis. */
export declare const ABSTRACT_SYNTHESIS: PromptTemplate<{
conceptLines: string;
}>;
/** Phase 7 — hindsight audit of an entrenched memory. */
export declare const HINDSIGHT_REVIEW: PromptTemplate<{
name: string;
definition: string;
category: MemoryCategory;
confidence: number;
stability: number;
reps: number;
lapses: number;
historyNote: string;
edgeSummary: string;
}>;
/** Phase 8 — narrative report of the cycle. */
export declare const DREAM_REPORT: PromptTemplate<{
statsLine: string;
}>;
/**
* HyDE query expansion. The /no_think prefix suppresses reasoning-mode
* ... output on thinking models (qwen3, phi4-reasoning) —
* without it a small maxTokens budget can be consumed entirely by the
* thinking block, leaving an empty answer.
*/
export declare const HYDE_EXPAND: PromptTemplate<{
query: string;
}>;
/**
* Contradiction adjudication (LLM fallback when no NLI provider is available).
* Verdict vocabulary is a superset of nliToCortexVerdict: NLI cannot detect
* temporal succession, so "supersedes" is only reachable via this path.
*
* v2: added the "supersedes" verdict — a state change over time is belief
* revision, not contradiction (bitemporal distinction).
*/
export declare const ADJUDICATE_CONTRADICTION: PromptTemplate<{
claim: string;
target: string;
}>;
/** observe() — 4-channel salience auto-scoring when the caller omits salience. */
export declare const SALIENCE_SCORE: PromptTemplate<{
text: string;
}>;
/** abstract() — subsume explicitly-selected concepts under one abstraction. */
export declare const ABSTRACT_SUBSUME: PromptTemplate<{
conceptCount: number;
formattedConcepts: string;
}>;
/** query-explain() — one-sentence relevance rationale for a search hit. */
export declare const QUERY_EXPLAIN_RELEVANCE: PromptTemplate<{
query: string;
memoryName: string;
memoryDefinition: string;
}>;
/** reflect() — synthesize related memories into a topical reflection. */
export declare const REFLECT_TOPIC: PromptTemplate<{
topic: string;
memoryContext: string;
}>;
/** System prompt paired with REFLECT_TOPIC. */
export declare const REFLECT_SYSTEM: PromptTemplate>;
/** agent-invoke() — extract storable findings from a sub-agent's output. */
export declare const AGENT_FINDINGS_EXTRACT: PromptTemplate<{
text: string;
}>;
/**
* Free-writing pass over accumulated context — dream() for identity.
* High temperature by design; the value is in what emerges.
*/
export declare const RUMINATE_FREEWRITE: PromptTemplate<{
context: string;
topicInstruction: string;
}>;
/** Extract beliefs/speculations/questions/identity insights from a rumination. */
export declare const RUMINATE_EXTRACT: PromptTemplate<{
text: string;
}>;
/** All registered prompts, for introspection, docs, and version tests. */
export declare const PROMPT_REGISTRY: readonly [PromptTemplate<{
definition: string;
observations: string[];
}>, PromptTemplate<{
updatedDefinition: string;
targetName: string;
targetDefinition: string;
relation: EdgeRelation;
evidence: string;
}>, PromptTemplate<{
content: string;
}>, PromptTemplate<{
nameA: string;
definitionA: string;
nameB: string;
definitionB: string;
}>, PromptTemplate<{
memoryLines: string;
memoryCount: number;
existingEdgeLines: string;
}>, PromptTemplate<{
conceptLines: string;
}>, PromptTemplate<{
name: string;
definition: string;
category: MemoryCategory;
confidence: number;
stability: number;
reps: number;
lapses: number;
historyNote: string;
edgeSummary: string;
}>, PromptTemplate<{
statsLine: string;
}>, PromptTemplate<{
query: string;
}>, PromptTemplate<{
claim: string;
target: string;
}>, PromptTemplate<{
text: string;
}>, PromptTemplate<{
conceptCount: number;
formattedConcepts: string;
}>, PromptTemplate<{
query: string;
memoryName: string;
memoryDefinition: string;
}>, PromptTemplate<{
topic: string;
memoryContext: string;
}>, PromptTemplate>, PromptTemplate<{
text: string;
}>, PromptTemplate<{
context: string;
topicInstruction: string;
}>, PromptTemplate<{
text: string;
}>];
/** id → version map, used by tests and telemetry. */
export declare function promptVersions(): Record;
//# sourceMappingURL=prompts.d.ts.map