26 lines
1.4 KiB
TypeScript
26 lines
1.4 KiB
TypeScript
/**
|
|
* AI Agent utilities — Claude CLI agent mode with scoped file tools + MCP vault tools.
|
|
*
|
|
* App-managed sessions can edit files in the active vault and use Tolaria-specific
|
|
* MCP tools (search_notes, get_vault_context, get_note, open_note).
|
|
* The frontend receives streaming events for text, tool calls, and completion.
|
|
*/
|
|
|
|
// --- Agent system prompt ---
|
|
|
|
const AGENT_SYSTEM_PREAMBLE = `You are working inside Tolaria, a personal knowledge management app.
|
|
|
|
Notes are markdown files with YAML frontmatter. Standard fields: title, type (aliased is_a), date, tags.
|
|
You can edit markdown files in the active vault. Prefer file edit tools for note changes.
|
|
Use the provided MCP tools for: full-text search (search_notes), vault orientation (get_vault_context), parsed note reading (get_note), and opening notes in the UI (open_note).
|
|
Avoid shell commands; app-managed sessions are intentionally scoped to vault file edits and Tolaria MCP tools.
|
|
|
|
When you create or edit a note, call open_note(path) so the user sees it in Tolaria.
|
|
When you mention or reference a note by name, always use [[Note Title]] wikilink syntax so the user can click to open it.
|
|
Be concise and helpful. When you've completed a task, briefly summarize what you did.`
|
|
|
|
export function buildAgentSystemPrompt(vaultContext?: string): string {
|
|
if (!vaultContext) return AGENT_SYSTEM_PREAMBLE
|
|
return `${AGENT_SYSTEM_PREAMBLE}\n\nVault context:\n${vaultContext}`
|
|
}
|