import type { ActionEntry } from "../../agent/production-agent.js"; import type { DatabaseToolsOption } from "../../scripts/db/tool-mode.js"; import { type PromptExamples } from "../prompts/index.js"; import { resolveInitialToolNames } from "./action-filters-a2a.js"; import { createDataWidgetActionEntries } from "./context-tools.js"; /** * Framework-level instructions injected into every agent's system prompt. * Prompt text lives in packages/core/src/server/prompts/ so this file stays * focused on routing and assembly logic. * * buildFrameworkPrompts() is called once per plugin instantiation (not per * request) with the template's promptExamples, producing the four assembled * prompt strings used at request time. */ export declare function buildFrameworkPrompts(examples?: PromptExamples, options?: { databaseTools?: DatabaseToolsOption; extensionTools?: boolean; }): { FRAMEWORK_CORE: string; FRAMEWORK_CORE_COMPACT: string; PROD_FRAMEWORK_PROMPT: string; DEV_FRAMEWORK_PROMPT: string; PROD_FRAMEWORK_PROMPT_COMPACT: string; DEV_FRAMEWORK_PROMPT_COMPACT: string; }; export declare const _agentChatPromptSectionsForTests: { frameworkCore: string; frameworkCoreCompact: string; frameworkContextSections: Record; buildFrameworkPrompts: typeof buildFrameworkPrompts; generateActionsPrompt: typeof generateActionsPrompt; resolveInitialToolNames: typeof resolveInitialToolNames; createDataWidgetActionEntries: typeof createDataWidgetActionEntries; }; /** * Build the per-request SQL-schema context block. Reads AGENT_ORG_ID live * from the environment so scheduler/A2A/HTTP call sites all see whatever * org was just resolved for this request. */ export declare function buildSchemaBlock(owner: string, databaseTools?: DatabaseToolsOption): Promise; /** * Generates a system prompt section describing registered template actions. * * Two output modes: * * - `"tool"` — used in production, where template actions are registered * as native Anthropic tools. The native tool schema already carries each * action's name, full description, and parameters, so this mode does NOT * re-list every action — it only surfaces what the tool list can't: * native-chat-widget annotations and a `tool-search` pointer for actions * omitted from the initial tool set. * - `"cli"` — used in dev, where template actions are NOT registered as * native tools and must be invoked via `bash(command="pnpm action ...")`. * This listing is load-bearing here (there is no tool schema to fall * back on), so it still emits the full * `pnpm action name --arg [--opt ] — desc` line per action. */ export declare function generateActionsPrompt(registry: Record, mode?: "cli" | "tool", initialToolNames?: string[]): string; export declare function corpusToolNamesTaughtByPrompt(registry: Record): string[]; export declare function generateCorpusToolsPrompt(registry: Record): string; /** * Walks the local filesystem (dev mode only) to build a bounded file/folder * tree, used by a couple of dev-mode workspace-inspection tools. */ export declare function collectFiles(dir: string, prefix: string, depth: number, results: Array<{ path: string; name: string; type: "file" | "folder"; }>): Promise; //# sourceMappingURL=framework-prompts.d.ts.map