Skip to content
Français

HarnessToolEvent

import type { HarnessToolEvent } from "@elie-laloum/outpost";

The fields below cover all variants; the signature specifies their allowed combinations.

  • kindRequired
    "warning" | "text" | "raw"
    Event type selecting the payload: phase, summary, warning, text, text-delta, result, prompt, tool, tool-result, tool-output, tool-denied, file-change, reasoning, step, hook, instructions-loaded, skills-loaded, model-route, model-request, model-response, model-retry, model-error, stop-prevented, steer, compaction, subagent, conversation, usage, message-usage, quota, fallback, stderr, stopped, failure, finished or raw.
  • messageVariant-dependent
    string
    Message of a warning, failure, quota, fallback, model-retry or model-error event, or the message a stop hook sent back to the model on stop-prevented.
  • subagentIdOptional
    string | undefined
    Identifier of the built-in child that emitted the event; absent for the root harness. Lifecycle events link that identifier to the delegating tool call.
  • textVariant-dependent
    string
    Text of the event according to kind: agent text, streamed fragment, final answer, rendered prompt, steering instruction, reasoning, stderr line or tool output chunk.
  • valueVariant-dependent
    unknown
    Raw protocol line as the agent printed it; for an oversized line, only its first 2000 characters.
  • bytesVariant-dependent
    number | undefined
    Observed UTF-8 byte size of an oversized protocol line or buffered prefix before termination.
  • truncatedVariant-dependent
    boolean | undefined
    Whether the stderr fragment or oversized raw preview was bounded before delivery.
export type HarnessToolEvent = Extract<
  AgentEvent,
  {
    readonly kind: "text" | "warning" | "raw";
  }
>;