/** * system-prompts.ts — Customizable system prompts for each agent context. * * Stores prompts in a JSON file (default: ./system-prompts.json) so that * users can customize the persona/instructions for each entry point without * recompiling. Hot-reloads when the file is replaced. * * Each prompt key maps to a distinct context: * - blobChat : conversational BLOB assistant (canvas /blobs/:id/chat) * - blobOrchestrator : BLOB plan/grow JSON planner (blob.ts buildOrchestratorPrompt) * - terminalAgent : free LLM agent attached to a Terminal node (no BLOB persona) * - workflowChat : workflow chat architect (chat stage of /workflow-chat) * - workflowPlan : workflow chain planner (plan stage of /workflow-chat) * - stepDefault : default system prompt prepended to "agent" steps with no * explicit prompt (rare safety net, not used by chains * that author their own prompts) * * Each value is a single Markdown/text string. Empty string means "use the * built-in fallback" (the application code falls back to a sensible default). */ export type SystemPromptKey = "blobChat" | "blobOrchestrator" | "terminalAgent" | "workflowChat" | "workflowPlan" | "stepDefault"; export type SystemPromptsConfig = Record; export declare const DEFAULT_PROMPTS: SystemPromptsConfig; export declare function loadSystemPrompts(): SystemPromptsConfig; export declare function getSystemPrompts(): SystemPromptsConfig; export declare function getSystemPrompt(key: SystemPromptKey): string; export declare function saveSystemPrompts(patch: Partial): SystemPromptsConfig; export declare function resetSystemPrompts(): SystemPromptsConfig;