export declare const EXTRACT_SAVED_DURING_CONVERSATION_HEADING = "## Memories already saved during this conversation"; export declare const EXTRACT_PROMPT = "You are now acting as the memory extraction subagent. The conversation below is reviewed for anything worth remembering for future sessions.\n\n## What to save\n\nUse the `memory_save` tool to persist memories. There are four types:\n\n1. **user** \u2014 Who the user is: role, expertise, preferences, communication style. Helps tailor future interactions.\n2. **feedback** \u2014 Guidance on how to work: corrections (\"don't do X\"), confirmations (\"yes, keep doing that\"), approach preferences. Include *why* so edge cases can be judged.\n3. **project** \u2014 Ongoing work context: goals, deadlines, initiatives, decisions, bugs. NOT derivable from code/git.\n4. **reference** \u2014 Pointers to external resources: URLs, tool names, where to find information outside the codebase.\n\n## Dates\n\nConvert a relative date (\"Thursday\", \"tomorrow\") to an absolute one only when it can be worked out exactly from today's date, which is given with the transcript. When it cannot (\"last week\", \"recently\", \"a while ago\"), keep the user's own wording, anchored to today's date (e.g. \"last week, as of 2026-03-05\"). Never invent, estimate or guess a date.\n\n## What NOT to save\n\n- Code patterns, architecture, file structure \u2014 derivable from the codebase\n- Git history, recent changes \u2014 use `git log`/`git blame`\n- Debugging solutions \u2014 the fix is in the code\n- Anything already in AGENTS.md / project config files\n- Ephemeral task details or current conversation context\n- Information that is already covered by an existing memory (see the list below) unless you are updating it with something new\n\n## How to save\n\nFor each memory worth saving, call `memory_save` with:\n- `file_name`: a short kebab-case slug (e.g., `user-role`, `no-db-mocks-in-tests`); for an existing memory, its existing file name\n- `name`: the same kebab-case slug (for an existing memory, keep its current name)\n- `title` (optional): a short human-readable title for the memory's MEMORY.md line\n- `description`: one-line summary (used for relevance matching in future sessions)\n- `type`: one of user, feedback, project, reference\n- `content`: the memory content. For feedback/project types, structure as: rule/fact, then **Why:** and **How to apply:** lines \u2014 only with what the conversation actually says; leave a line out rather than fill it with a guess or a placeholder.\n\n## Instructions\n\n1. Analyze the conversation for memorable information\n2. The existing memories are listed below \u2014 do not duplicate them. To update one, call `memory_read` first and re-save it under the same `file_name` with the merged content\n3. Only touch an existing memory when this conversation adds information about that memory's own subject. Never edit memories about unrelated topics, never append notes about what you could not find or verify, and keep a memory's name and description unless the new content makes them wrong.\n4. Memories listed under \"Memories already saved during this conversation\" (when that list is present) were already written while this conversation ran (usually by the main agent): do not create another memory covering the same thing, and leave them alone unless the transcript contains information they are missing.\n5. Save each distinct memory as a separate entry\n6. If the conversation was trivial (e.g., just \"hello\" or a quick lookup), save nothing \u2014 that's fine\n7. Be selective: 0-3 memories per session is typical. Quality over quantity.\n8. Do NOT save a memory about the extraction process itself.\n9. Each `memory_save` call persists immediately and its result lists everything saved so far in this run. Never save the same `file_name` twice in one run. When nothing else is worth saving, stop calling tools and reply with a one-line summary."; export declare const EXTRACT_EXISTING_MEMORIES_HEADING = "## Existing memories"; export declare const TRANSCRIPT_OPEN = ""; export declare const TRANSCRIPT_CLOSE = ""; export declare function buildExtractionUserMessage(conversation: string, today: string): string; export declare function buildExtractionSystemPrompt(manifest: string, savedDuringConversation?: string): string; export declare function formatLocalDate(ms: number): string; export declare const AUTODREAM_PROMPT = "You are performing an auto-dream memory consolidation pass.\n\nGoal: tighten and de-duplicate memory files so future sessions can orient faster.\n\n## Available tools\n- memory_list\n- memory_search\n- memory_read\n- memory_save\n- memory_delete\n\n## Phase 1 \u2014 Orient\n1. Use memory_list to inspect current memory inventory.\n2. Identify duplicate entries (two memories about the same fact) and entries that are clearly obsolete.\n\n## Phase 2 \u2014 Consolidate\n1. Merge duplicates into a single memory using memory_save, then delete the redundant file with memory_delete.\n2. Leave every other memory as it is. Do not reword names or descriptions for style or retrieval: change a description only when you changed the memory's content, or when it is genuinely misleading about what the memory says.\n3. Do not restructure content that is already understandable. Never add **Why:** / **How to apply:** lines, or any other placeholder, unless the memory itself states the reason or how to apply it; never write lines such as \"not recorded\" or \"unknown\".\n\n## Phase 3 \u2014 Prune\n1. Delete memories that are clearly obsolete or contradicted by a newer memory (for example a sprint goal whose date has passed and that a newer memory replaced).\n2. When in doubt, keep the memory.\n\n## Guardrails\n- Do NOT invent facts, dates or reasons.\n- Do not edit MEMORY.md: memory_save and memory_delete keep it in sync, and its hand-written lines must stay as they are.\n- If confidence is low, keep existing memory instead of guessing.\n- If memory quality is already acceptable, make no changes and explicitly say so. Making no changes is the expected outcome of most passes.\n\nReturn a short summary of what you updated, merged, or removed."; export declare const AUTODREAM_USER_MESSAGE = "Run the memory consolidation pass described in your instructions over the current memory directory now. Use only the memory tools, then reply with a short summary of what you updated, merged or removed (or that nothing needed changing).";