/** * Sticky Note Conversion * * Converts sticky notes to tasks or memory entries. * * @task T5280 * @epic T5267 */ import type { BrainAttentionRow } from '../store/schema/memory-schema.js'; /** * Convert a sticky note to a task. * * @param stickyId - Sticky note ID * @param taskTitle - Optional task title (defaults to sticky content) * @param projectRoot - Project root path * @returns Result with new task ID */ export declare function convertStickyToTask(stickyId: string, taskTitle: string | undefined, projectRoot: string): Promise<{ success: boolean; taskId?: string; error?: { code: string; message: string; }; }>; /** * Convert a sticky note to a memory observation. * * @param stickyId - Sticky note ID * @param memoryType - Optional memory type * @param projectRoot - Project root path * @returns Result with new memory entry ID */ export declare function convertStickyToMemory(stickyId: string, memoryType: string | undefined, projectRoot: string): Promise<{ success: boolean; memoryId?: string; error?: { code: string; message: string; }; }>; /** * Convert a sticky note to a task note. * * @param stickyId - Sticky note ID * @param taskId - Target task ID * @param projectRoot - Project root path * @returns Result with updated task ID */ export declare function convertStickyToTaskNote(stickyId: string, taskId: string, projectRoot: string): Promise<{ success: boolean; taskId?: string; error?: { code: string; message: string; }; }>; /** * Convert a sticky note to a session note. * * @param stickyId - Sticky note ID * @param sessionId - Optional target session ID (defaults to current active session) * @param projectRoot - Project root path * @returns Result with session ID */ export declare function convertStickyToSessionNote(stickyId: string, sessionId: string | undefined, projectRoot: string): Promise<{ success: boolean; sessionId?: string; error?: { code: string; message: string; }; }>; /** * Promote a Tier-2 attention entry to a durable BRAIN observation — the * dream-cycle's promotion conduit (E3 · Epic T11289 · Saga T11283). * * Stickies remain the conduit (council verdict): rather than build a parallel * promotion path, this reuses the exact `convertStickyToMemory` shape — write a * `brain_observations` row via `observeBrain`, then attach provenance — so the * single salient-→-durable path is shared. The caller * ({@link consolidateAttention}) is responsible for flipping the source row to * `status='consolidated'` after a successful promotion (idempotency lives with * the buffer-status transition, not here). * * ## Leakage preservation (Epic T11289 AC; T11383) * * The promoted observation carries the entry's scope as structured provenance: * * - `crossRef` records `attention:` + `scope::` so the durable row * is traceable back to the exact scope key it came from. * - `agent` records the writing agent's id so an agent-scoped jot's durable form * is attributed to that agent, never surfaced under another agent's identity. * - `provenanceChain` records the source attention id. * * Because the scope key travels with the observation, agent A's promoted entry * can never be mis-attributed to agent B's scope — the structural read-time * guarantee of the buffer is carried forward into Tier-3. * * @param row - The attention entry to promote (already scored + verdict='promote'). * @param projectRoot - Project root path (brain.db resolution). * @returns Result with the new durable observation id, or a structured error. * @task T11383 * @epic T11289 */ export declare function promoteAttentionToMemory(row: BrainAttentionRow, projectRoot: string): Promise<{ success: boolean; memoryId?: string; error?: { code: string; message: string; }; }>; //# sourceMappingURL=convert.d.ts.map