ACP v2 TypeScript SDK — UNSTABLE DRAFT - v2.0.0
    Preparing search index...

    Type Alias SystemPromptExperimental

    UNSTABLE

    This capability is not part of the spec yet, and may be removed or changed at any point.

    Client-provided system-level instructions for a session.

    Clients MUST only send this when the Agent advertises session.systemPrompt. Agents that cannot apply it, for example because of an unadvertised mode or an unsupported content block type, MUST return an error instead of creating, resuming, or forking the session.

    type SystemPrompt = {
        mode: SystemPromptMode;
        content: ContentBlock[];
        _meta?: { [key: string]: unknown } | null;
    }
    Index

    How the Agent combines content with its own instructions.

    Required on the wire, so every request states its mode. In Rust, [SystemPrompt::new] starts it as [SystemPromptMode::Append]. Unknown values parse as [SystemPromptMode::Other]; Agents MUST return an error for modes they do not support.

    content: ContentBlock[]

    The system prompt content.

    Agents advertising the capability MUST accept [ContentBlock::Text]. Clients MUST NOT send other content block types until a future capability allows them, and Agents MUST return an error for content blocks they do not support, including unknown types preserved as [ContentBlock::Other].

    _meta?: { [key: string]: unknown } | null

    The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys.

    See protocol docs: Extensibility