Member Junction
    Preparing search index...

    An input artifact attached to an agent run. Surfaced to the agent via the artifact tool manifest and reached through artifact tool calls (json_path, json_search, etc.) rather than inlined into the prompt.

    This is the typed contract for ExecuteAgentParams.inputArtifacts. Lives in core-plus rather than ai-agents so callers (AgentRunner, base-agent, external orchestrators) can construct params without importing the runtime package.

    interface InputArtifact {
        annotation?: string;
        content: string | Buffer;
        deliveryMode?: "Inline" | "ToolsOnly";
        forceToolsOnly?: boolean;
        mimeType?: string;
        name: string;
        toolLibraryClass?: string;
        typeName: string;
    }
    Index

    Properties

    annotation?: string

    Optional annotation surfaced verbatim on the artifact's manifest entry (e.g. "configured for Inline but exceeds inline size cap; delivered via tools"). Lets the resolver communicate routing decisions to the LLM.

    content: string | Buffer
    deliveryMode?: "Inline" | "ToolsOnly"

    Resolved DefaultDeliveryMode for this artifact's type. When 'ToolsOnly', the agent reaches the content via tool calls and we MUST NOT also offer it as a native file input (otherwise we double-deliver: 1 MB JSON would go through both the tool manager AND the native-file-input text fallback, leaking the full content into the prompt).

    forceToolsOnly?: boolean

    Per-instance override that forces ToolsOnly regardless of type default.

    mimeType?: string

    MIME type of the artifact content (e.g., 'application/pdf'). Populated for file-backed artifacts from ArtifactVersion.MimeType.

    name: string
    toolLibraryClass?: string

    Optional: class name from ArtifactType.ToolLibraryClass metadata. When set, used for plugin-based resolution via ClassFactory.

    typeName: string