import type { AgentTool } from "@mariozechner/pi-agent-core"; import type { AgentSession } from "@mariozechner/pi-coding-agent"; import type { SourceReplyDeliveryMode } from "../../auto-reply/get-reply-options.types.js"; import type { MemoryCitationsMode } from "../../config/types.memory.js"; import type { BootstrapMode } from "../bootstrap-mode.js"; import type { ResolvedTimeFormat } from "../date-time.js"; import type { EmbeddedContextFile } from "../pi-embedded-helpers.js"; import type { ProviderSystemPromptContribution } from "../system-prompt-contribution.js"; import type { PromptMode, SilentReplyPromptMode } from "../system-prompt.types.js"; import type { EmbeddedSandboxInfo } from "./types.js"; import type { ReasoningLevel, ThinkLevel } from "./utils.js"; export declare function buildEmbeddedSystemPrompt(params: { workspaceDir: string; defaultThinkLevel?: ThinkLevel; reasoningLevel?: ReasoningLevel; extraSystemPrompt?: string; ownerNumbers?: string[]; ownerDisplay?: "raw" | "hash"; ownerDisplaySecret?: string; reasoningTagHint: boolean; heartbeatPrompt?: string; skillsPrompt?: string; docsPath?: string; sourcePath?: string; ttsHint?: string; reactionGuidance?: { level: "minimal" | "extensive"; channel: string; }; workspaceNotes?: string[]; /** Controls which hardcoded sections to include. Defaults to "full". */ promptMode?: PromptMode; /** Controls the generic silent-reply section. Channel-aware prompts can set "none". */ silentReplyPromptMode?: SilentReplyPromptMode; sourceReplyDeliveryMode?: SourceReplyDeliveryMode; /** Whether ACP-specific routing guidance should be included. Defaults to true. */ acpEnabled?: boolean; /** Registered runtime slash/native command names such as `codex`. */ nativeCommandNames?: string[]; /** Plugin-owned prompt guidance for registered native slash commands. */ nativeCommandGuidanceLines?: string[]; runtimeInfo: { agentId?: string; host: string; os: string; arch: string; node: string; model: string; provider?: string; capabilities?: string[]; channel?: string; /** Supported message actions for the current channel (e.g., react, edit, unsend) */ channelActions?: string[]; canvasRootDir?: string; }; messageToolHints?: string[]; sandboxInfo?: EmbeddedSandboxInfo; tools: AgentTool[]; modelAliasLines: string[]; userTimezone: string; userTime?: string; userTimeFormat?: ResolvedTimeFormat; contextFiles?: EmbeddedContextFile[]; bootstrapMode?: BootstrapMode; bootstrapTruncationNotice?: string; includeMemorySection?: boolean; memoryCitationsMode?: MemoryCitationsMode; promptContribution?: ProviderSystemPromptContribution; }): string; export declare function createSystemPromptOverride(systemPrompt: string): (defaultPrompt?: string) => string; export declare function applySystemPromptOverrideToSession(session: AgentSession, override: string | ((defaultPrompt?: string) => string)): void;