Files
deepseek-harness/docs/persistence-catalog.md
T
Tianyi Cui a6981c56f6 feat(persistence): add stable catalogs and policy-aware schema review
Traversal ordinals and first-owner paths gave shared persistence types
unstable display names. Keep authored names and source locations as metadata,
use structural digests for identity, and render complete kind/form groups
with bounded array labels. Preserve historical rendering and stored graphs.

Record supported source compatibility promises with their property binding,
policy version, discriminator, preservation rule, and qualified kind set.
The extractor and classifier require explicit opt-ins in both compared
schemas; ordinary or unsupported changes retain strict classification.
Policy-bearing graphs use the format-2 fingerprint domain while unannotated
graphs keep their format-1 fingerprints. Runtime owners activate bindings
only with the corresponding reader behavior; this tooling layer activates
none and changes no package source or Session generation.

Provide a read-only before/after review command that groups shared structural
evidence without replacing authoritative compatibility diagnostics. Match
changed alternatives only through unique literal discriminators and retain
ambiguous additions and removals as independent facts.

At the X baseline, all 61 roots and 472 schemas, digests, and source fields
are unchanged. The inventory remains format 1 and removes only 296 synthetic
names. Existing acknowledgement history still matches every root. All 195
focused tooling tests, Host build/full lint, and bilingual pairing pass.
2026-09-18 19:05:32 +08:00

274 KiB

Session Persistence Event Catalog

Every repository-declared durable Session event appears here with its source declaration and resolved types. The catalog covers the logical and physical headers, event envelopes, and every plugin declaration merge. See Session for replay and persistence for storage.

Run pnpm run gen-persistence-catalog to regenerate both catalog languages, their pairing record, the known-event module, and the machine schema inventory. pnpm run verify-persistence-catalog checks all generated files. Declaration fences preserve source JSDoc and type references; resolved definitions expose their transitive structure.

The envelope carries type, seq, time, data, optional ignorable, and conditional surfaceOp / sourceEventSeqs. A surface event produces model history; a log-only event does not. The inventory covers this repository; external plugin types require their own declarations and are outside this catalog.

Persistence type fingerprints

The machine inventory contains every reachable normalized type and its SHA-256 digest. Root digests include referenced types. Comments, source locations, alias names, erased brands, readonly markers, and harmless field, union, or intersection reordering do not affect these fingerprints. Tuple order, property names, value types, and optionality do. Catalog text and source locations can still produce a diff when digests stay unchanged.

The format references cover every historical Session format. The change records acknowledge exact transitions using snapshots kept in this tree. Follow the review workflow to classify a change and record it. These checks cover declared type structure; opaque payload contents and behavior without type changes are outside their scope.

Root Kind SHA-256 Resolved type
SessionHeader header 1a3440e3577382704d42a6263aa463504eb74c566734a55e9503a63efcd02445 SessionHeader
JsonlHeaderLine header 18ee62b8900a4c3d046700f05d7a4d49d6cab2a660a020c87481d1603dd8bd4f HeaderLine
SessionEventEnvelope envelope 5776e5553ff2dfe3f5bc202dbb1e7c9f93e35a531aebb7764c23b2b6153b2ccc union (3 variants)
event:agent-preset/selected event a10c17474eaf2ddab7095a099e0fe3d046fc18e56c3e344fc8894c05ff9ef97b { type: "agent-preset/selected" }
event:agent/inbox/spliced event 646c2f1d243d3a78c5bc9305786fb340f5209c48a97e65f2a186cc5195491f3f { type: "agent/inbox/spliced" }
event:approval/asked event 3bfeb47b58606f4661904bc723da612782214c463d01e6d61cd6d6193d7374e1 { type: "approval/asked" }
event:approval/decided event bb1ab3d08f49a9f3b265f844cd78d5c49813062a7b34b54904b426f85d0ff6e3 { type: "approval/decided" }
event:approval/policy event 26718e15e7e395bce9642dba5bbe09b3b1a4ce2213d20d566cd9207d7fc5fb78 { type: "approval/policy" }
event:assistant/attempt event c80c89da83c46db7a454f034c10f969e03cfb574859c7316e5bff683f5a14b0e { type: "assistant/attempt" }
event:assistant/message event 1169b301aaabcd992657b93ec93750c43175dda81ada5cac086f14f2eaaeed6d { type: "assistant/message" }
event:command/done event 15196447222782e773eb943c92b18316ce96b9af0f0cfddb6e57ba8274ecc5ff { type: "command/done" }
event:command/run event 37184378c6439257d105c4e2022d80fc9c3a3f7c7f6ac661b00bc9f18d871006 { type: "command/run" }
event:compaction/end event b0127044ab31a702bddfd785d345f5abd7a70876746e895ce443afa3e60ddf2d { type: "compaction/end" }
event:compaction/prune event 7f7fd5a6b0064f597534b29ff62ef26e786dffccf5e14f654a7d4fcea2c35f04 { type: "compaction/prune" }
event:compaction/start event db874d463b0fdec77e9da1c4568f37cb70bd6596781eb93800db44fb8a116965 { type: "compaction/start" }
event:compaction/summary event f6f3f30109e9008fccf7da2a3268a63da8646b59dd7cf7b75bcd9cf08ac08a59 { type: "compaction/summary" }
event:deliverables/presented event 13d3d180f977bf78081d487ffa0ecb75857349bcab29a5a3fb48189fca2a6176 { type: "deliverables/presented" }
event:feedback/message-delete event 3ee93b06f3a125850337602bcdf155d2538c43a5c944ec55b1b3c365152d6796 { type: "feedback/message-delete" }
event:feedback/message-put event b5086d249e8502e9ead1d39156bb8d559bde7951cac0f14ce150345b4e42a2bf { type: "feedback/message-put" }
event:feedback/record event b54940ff095c17e874c5be03815f4c2145a256cf3a1d34dae4ab2f7769dfffe8 { type: "feedback/record" }
event:goal/change event 763c8a20af487263a0080548274f7437ef4a86e0ba8769127d1ced10a72c664d { type: "goal/change" }
event:hook/invoked event 8a6e1ec9e8db346b0e02f027db73c07a94f067a26d40c1aef1abd09c47ce7ba0 { type: "hook/invoked" }
event:hook/result event e75916628f3f10c2d50658bd143052a46285fbf1a9a700ba54947614603d26b4 { type: "hook/result" }
event:image/offload event b222069eea2d768065161c1147b1f2c78c1b54328c84b3586ae5c8f91b8ed35e { type: "image/offload" }
event:llm/retry event 525254db03b1d1e6b74cf55aced52817568331ac1f96c0818728910b6692e336 { type: "llm/retry" }
event:llm/retry-started event 48e5c9861f16ac07e78cb7b5ae9dabdf7bb85c58baed5a51b4ad275050ea58e3 { type: "llm/retry-started" }
event:model/selection event 35203ba7ad5ef6f97d556b85df20ae98f04f09c65748cecdf8eefdb8b6405ffc { type: "model/selection" }
event:permission/preset event 5c45bf4c544a7211dcd8ba6ba7e5f1bc39b49e7a9df9d5cbdc8e87c22771b37b { type: "permission/preset" }
event:plan/mode event a7cf43ce7c2a4c038feed1885cd7a00d5c6ee2d90a7e0d56b46f78a3e1ca327f { type: "plan/mode" }
event:request/context event 37cbc9cf06d494cfe5c67f078af1605eacb8e4c2c853e9e26455b73de0ee7ccf { type: "request/context" }
event:request/header event 8ea13bcd983eab596dbfd41c5c2b62a0b318b71cd2a987a6fd752c6ced7e4489 { type: "request/header" }
event:sandbox/mode event 516da4cdd6d2f1e5ce488e648578ca51f40e458f707b803e5b24de870e799415 { type: "sandbox/mode" }
event:schedule/change event 2a7f86849ae54b3398ee49661a757c4fcb59a6192b7036ee2ff514617e13fb42 { type: "schedule/change" }
event:session-log-deepseek/delivery-accepted event d63b8b8ffad9c02fd80c43a17df4f240c1fe8118ecca9de34f9d5871838ab5b9 { type: "session-log-deepseek/delivery-accepted" }
event:session/end-seed event 5e6db6e24948d4a853c71cb9fabd252ad051ce93d4672c1266cf837c1c17b84e { type: "session/end-seed" }
event:session/title event 1b912703e2d64f91c99c675b8f805b01076c8325b905c1218ad81ef0b24909d5 { type: "session/title" }
event:session/title-llm-request event e0b5bf44c27bbfc6ab144239e3e4169c4d21146645e0e3121bbb359c3bc8591d { type: "session/title-llm-request" }
event:step/end event e0a787e6ec76c7c94fecbc501b489164ab0293db05bc947914077ad01e674f05 { type: "step/end" }
event:step/start event 4513e088d43e6c68425be30451b9f961cc264fe7318ca62681c41d4d78615986 { type: "step/start" }
event:subagent/catalog event ae1f7110feeec697b8cab42b68f7709aa7b3279764099dfb53c25890d2e5c871 { type: "subagent/catalog" }
event:subagent/descriptor event b79ada42962cad0190a9d465805260567621fa3a4abd757eb31e6016b52d5ab5 { type: "subagent/descriptor" }
event:subagent/model-selection-policy event a6567ccb2e530606b775371eb4fa31468d72084339968e8b0440a516a23b39dc { type: "subagent/model-selection-policy" }
event:system/message event 69becfb6b2d3fd5da91518089454cae8ef33f1835637ec44dde35dd077fd4bae { type: "system/message" }
event:team/member event 4fb59762612c3e3ac3a3bd4f84c9c148d3c3893bd422ba2b201cc039fabd49bc { type: "team/member" }
event:team/message/delivered event 48f9c19417a1abbedfa59f4667bba36b93ac2db407adf5e84cb3ba0de30942cb { type: "team/message/delivered" }
event:team/message/queued event 443371ec07a03a82a0e93d93abca3e70b03bca55ba5b01d507030fcb66e8fbb4 { type: "team/message/queued" }
event:team/task event d595ec73b32b016a6055333c67a5d646032b22e672da1d4a09c5b1ae398a093a { type: "team/task" }
event:todo/write event b978cff734e62143eb56c9125423ec275405eda969802d42aaf73ecb987d3b26 { type: "todo/write" }
event:tool-workflow/agent-end event babf9ee4d1af62bf6c3a8103737f7a5e4e78ce179be835ce05a38803e15884b7 { type: "tool-workflow/agent-end" }
event:tool-workflow/agent-start event 5f26a6c20b37632f8f57729d171c671def4683d994ac6257a8dffcd855101627 { type: "tool-workflow/agent-start" }
event:tool-workflow/run-end event 42e0916e0dda5f6d1e7bb05d8514717147c036a79c9f36085683469516c1fd3f { type: "tool-workflow/run-end" }
event:tool-workflow/run-start event c1f9e0405de6d18cabb9ee70782a027f9bbdc57e5abec9dcccdd56119e2e9058 { type: "tool-workflow/run-start" }
event:tool/call event 3b1be838223869fe0a08210db85bf773796ed3f2373ac16555dff227cade0c48 { type: "tool/call" }
event:tool/ptc-dispatch event b33142af8176323ffbb20762541be81c1d51b60a60887803836e0b146e5bef0c { type: "tool/ptc-dispatch" }
event:tool/ptc-dispatch-start event ec38b5949af8eacaf00df002f4acbe344f934f8a061e9cdc65a52a48e5f6dd93 { type: "tool/ptc-dispatch-start" }
event:tool/result event 29af48b840d0cd9e48b6f50bf3b354f8f6340607c5b99220a48e74f60beac9e2 { type: "tool/result" }
event:turn/end event 0f8512903d94f57a4748fa1a2092e64342856796684e6b8343db685b192745ce { type: "turn/end" }
event:turn/start event aa0957eca50aeb28bcd2e6930b95809926edacb550c8c340ba526ba6b861b3d8 { type: "turn/start" }
event:user/message event 314765bdff29c7862fb6ce820f1773563ba3094a680d163ea21180a2591b8578 { type: "user/message" }
event:web/deepseek-search-llm-request event cf6e3aaf1e2de6480aa0157730a41b9a492108a55304100b0f7e112711dd4331 { type: "web/deepseek-search-llm-request" }
event:workspace/changes event e308ccf867a5398e316e0af8cb6ce238a8d33a63b9b384c8250a686786285f72 { type: "workspace/changes" }

Event envelope

/** The appendable event-type keys of {@link SessionEventMap}, plugin-merged extensions included. */
export type SessionEventType = keyof SessionEventMap

/**
 * The subset of {@link SessionEventType} values whose events produce LLM
 * messages and are eligible to appear on the ordered surface. Only these
 * event types may carry {@link SurfaceOp}; system, user, and tool events may also cite
 * earlier sources through {@link SessionEvent.sourceEventSeqs}.
 */
export type SurfaceEventType =
  | 'system/message'
  | 'user/message'
  | 'assistant/message'
  | 'tool/result'

/**
 * How a session event entered the ordered surface. Only valid on
 * {@link SurfaceEventType} events.
 *
 * - `'append'`: added to the tail — normal path for user/assistant/tool
 *   messages.
 * - `{ op: 'replace', startSeq, endSeq }`: replaces surface nodes from `startSeq`
 *   (inclusive) through `endSeq` (inclusive) with this node. Both must exist as
 *   surface nodes in the current surface. `startSeq === endSeq` replaces a single
 *   node. The node's {@link SessionEvent.sourceEventSeqs} must include every
 *   shadowed surface node. Used by compaction; any surface-replacing producer
 *   may use it.
 */
export type SurfaceOp =
  | 'append'
  | { op: 'replace'; startSeq: SessionSeq; endSeq: SessionSeq }

/**
 * One immutable entry in the session log.
 *
 * A proper discriminated union over `type` (not independent `type`/`data`
 * unions), so `switch (event.type)` narrows `event.data` without casts.
 *
 * The {@link sourceEventSeqs} and {@link surfaceOp} fields are conditional:
 * they only exist on {@link SurfaceEventType} variants (`system/message`, `user/message`,
 * `assistant/message`, `tool/result`).
 * Non-surface events (boundary markers, attempts, errors) never carry
 * surface metadata — the compiler enforces this at `Session.append()`
 * call sites.
 */
export type SessionEvent<T extends SessionEventType = SessionEventType> = {
  [K in SessionEventType]: {
    type: K
    /** Monotonic sequence number within the session. */
    seq: SessionSeq
    /** Unix epoch milliseconds. */
    time: number
    data: SessionEventMap[K]
    /**
     * Marks an event a reader may safely skip when it does not recognize
     * `type`. Absent means required: a reader meeting an unrecognized type
     * without this marker MUST refuse to reconstruct the session instead of
     * silently dropping the event, because an unrecognized required event may
     * change how the rest of the log is interpreted. A writer sets `true` only
     * on purely informational records whose loss cannot affect reconstruction;
     * defaulting to required means a forgotten marker over-refuses (an
     * inconvenience) rather than silently resuming a gutted session.
     */
    ignorable?: true
  } & (K extends SurfaceEventType ? SurfaceIntent<K> : {
    surfaceOp?: never
    sourceEventSeqs?: never
  })
}[T]

Sources: packages/core/session/src/types.ts:418 · packages/core/session/src/types.ts:426 · packages/core/session/src/types.ts:448 · packages/core/session/src/types.ts:479

Events

agent/*

agent/inbox/spliced — log-only

/**
 * One normalized mutation of an agent's durable pending-message lists.
 * The session-projection registry applies the committed event before
 * `Session.append()` returns; Inbox live notifications follow that commit.
 */
'agent/inbox/spliced': {
  target: InboxTarget
  start: number
  removedCount?: number
  inserted: UserMessage[]
  outcome?: 'canceled'
}

Source: packages/core/agent/src/types.ts:87

agent-preset/*

agent-preset/selected — log-only

/**
 * The session's agent preset was chosen after creation, while the session
 * was still blank. Log-only: it records the composition later turns ran
 * under, so a resumed or forked session rebuilds the same one instead of
 * the header's creation-time value.
 */
'agent-preset/selected': { agentPreset: string }

Source: packages/preset/agent-presets/src/session.ts:28

approval/*

approval/asked — log-only

/**
 * An approval question was put to the answerer chain — log-only audit
 * (like `hook/*`; NOT a surface event, carries no `surfaceOp`). `id` pairs
 * it with the `approval/decided` that always follows; `toolName` is the
 * tool the question is about, `callId` the exact tool call when the asker
 * had one, `reason` the asker's human-readable explanation (e.g. a hook's
 * permission-decision reason).
 */
'approval/asked': {
  id: ApprovalRequestId
  toolName: string
  callId?: ToolCallId
  reason?: string
}

Types: ToolCallId

Source: packages/interaction/user-approval/src/types.ts:44

approval/decided — log-only

/**
 * The outcome of a prior `approval/asked` (same `id`) — log-only audit.
 * Exactly one per ask, appended when the outcome is known: a decision, a
 * cancellation, or the fail-closed `'unavailable'`.
 */
'approval/decided': {
  id: ApprovalRequestId
  outcome: ApprovalOutcome
}

Source: packages/interaction/user-approval/src/types.ts:55

approval/policy — log-only

/**
 * The session's approval policy was switched — log-only, durable,
 * replayable, never in the model transcript (the model learns the policy
 * from the runtime-context snapshot and live switch notices). The LAST
 * such event is the session's override.
 * `source: 'delegation'` marks an override seeded into a child; an absent
 * source is a runtime switch.
 */
'approval/policy': {
  policy: ApprovalPolicy
  /** Marks an override seeded into a child at delegation. */
  source?: 'delegation'
}

Source: packages/interaction/user-approval/src/index.ts:33

assistant/*

assistant/attempt — log-only

/**
 * One model attempt that committed no surface message. The embedded stream
 * preserves a failed, retried, cancelled, or stream-error attempt that
 * reached settlement without fabricating model-visible history.
 */
'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[] }

Source: packages/core/session/src/types.ts:342

assistant/message — surface

/**
 * Assembled assistant message for one step (derived history uses this).
 * Carries the step's `usage` when the adapter reported token accounting, so
 * the model output and its accounting travel together (there is no separate
 * usage record). `usage` is absent when the adapter reported none. A turn
 * cancelled mid-stream finalizes its delivered text/reasoning prefix as this
 * event with `interrupted: true`; undispatched tool calls are absent. The
 * marker distinguishes that prefix without re-deriving interruption from turn
 * boundaries. An aborted turn with no such event streamed no visible content.
 */
'assistant/message': {
  turn: number
  step: number
  message: AssistantMessage
  /** Exact timed model stream, compacted without joining delta boundaries. */
  stream: AssistantStreamRecord[]
  usage?: TokenUsage
  interrupted?: true
}

Types: TokenUsage

Source: packages/core/session/src/types.ts:328

command/*

command/done — log-only

/**
 * The paired command settled. `kind`/`text` carry the handler's verbatim
 * outcome (a thrown/aborted handler settles as `kind: 'error'` with the
 * rendered failure). A successful command may identify the earlier
 * authoritative domain event for a richer client-computed presentation.
 */
'command/done': {
  commandId: CommandId
  kind: 'success' | 'error'
  text?: string
  sourceEventSeq?: import('@deepseek-ai/dsh-session/types').SessionSeq
}

Source: packages/interaction/commands/src/types.ts:112

command/run — log-only

/**
 * A resolved slash command entered its handler. Log-only (never model
 * surface); paired with `command/done` by `commandId`, mirroring the
 * `tool/call`↔`tool/result` pairing. The payload is structured — `name`
 * and `args` are `parseCommand`'s own split (name and verbatim rawInput,
 * separator whitespace included), so a consumer (a projection unit
 * folding its own command records, a rich command card) never re-parses
 * a line. `args` is absent when the definition sets `recordInput: false`
 * because an authoritative domain event owns the input payload.
 */
'command/run': { commandId: CommandId; name: string; args?: string; source: CommandSource }

Source: packages/interaction/commands/src/types.ts:105

compaction/*

compaction/end — log-only

/**
 * Marks the end of a compaction — log-only, releases the lock. Its owner
 * matches `compaction/start`; `error` records an unsuccessful attempt.
 */
'compaction/end': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; error?: string }

Source: packages/compaction/compaction/src/types.ts:72

compaction/prune — log-only

/**
 * Shadow price of one model-free prune replacement — log-only, no
 * surfaceOp. The shared shadow-price protocol: a surface `replace` event
 * is priced by the metering event immediately before it (`compaction/summary`
 * for a summarizing compaction, this event for a prune), which states the
 * heuristic token price of the exact replaced range so a pure consumer
 * can subtract it without retaining per-node prices. The replacement MUST
 * be appended synchronously right after this event.
 */
'compaction/prune': {
  /** The replaced range's first and last surface-node seqs (a surface-position span, like {@link CompactionResult.shadowedRange}). */
  shadowedRange: { start: SessionSeq; end: SessionSeq }
  /** The seqs of all shadowed surface nodes, in surface order. */
  shadowedSeqs: SessionSeq[]
  /** Heuristic price of the shadowed content under the token-meter's fixed estimator. */
  shadowedTokenCount: number
}

Source: packages/compaction/compaction/src/types.ts:82

compaction/start — log-only

/**
 * Marks the start of a compaction — log-only, holds the lock until
 * `compaction/end`. A numbered owner is strictly enclosed by that open turn;
 * `null` identifies a standalone manual transaction between turns.
 */
'compaction/start': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null }

Source: packages/compaction/compaction/src/types.ts:24

compaction/summary — log-only

/**
 * Completed summary, its inputs, and its model call facts — log-only, no surfaceOp.
 * The summary content is in `data.summary`; the actual surface replacement
 * is performed by the immediately following `user/message` event that
 * shadows the compacted range. That adjacency is contractual — the
 * shadowed pricing fields are the replacement's shadow price, so a
 * consumer may pair a replacement with the metering event directly
 * before it (`compaction/prune` documents the shared protocol).
 */
'compaction/summary': {
  compactionId: CompactionId
  sourceCommandId?: CommandId
  summary: ContentBlock[]
  shadowedRange: { start: SessionSeq; end: SessionSeq }
  shadowedSeqs: SessionSeq[]
  shadowedTokenCount: number
  /** The provider route that wrote the summary. */
  provider: string
  /**
   * The model that wrote the summary — the summarize call's envelope,
   * reported by the backend that made the call, logged so the one-shot
   * request is reconstructable from log + code and "which model wrote
   * this summary" has a durable answer (the reconstructability Agent Note).
   */
  model: string
  /** The generation cap the summarize call sent, when one applied. */
  maxTokens?: number
  /** Provider-reported token usage for the summarization request, when emitted. */
  usage?: TokenUsage
} & (
  | {
    /** Complete provider output before the backend's safe summary projection. */
    rawOutput: ContentBlock[]
    /** Identifies exactly one call through this context's `ctx.llm.stream()`. */
    llmStreamCall: true
  }
  | {
    /** Optional complete output from an unmarked template, remote, or other summarizer. */
    rawOutput?: ContentBlock[]
    /** An unmarked summary does not identify a call through this context's LLM seam. */
    llmStreamCall?: never
  }
)

Types: ContentBlock · TokenUsage

Source: packages/compaction/compaction/src/types.ts:34

deliverables/*

deliverables/presented — log-only

/** Declared filesystem files from a successful final present result, including nested calls. */
'deliverables/presented': { turn: number; callId: ToolCallId; files: PresentedFile[] }

Types: PresentedFile · ToolCallId

Source: packages/deliverables/tool-present/src/types.ts:15

feedback/*

feedback/message-delete — log-only

/** Log-only deletion; earlier ratings and notes remain in the log. */
'feedback/message-delete': MessageFeedbackDelete

Source: packages/feedback/message-feedback/src/types.ts:58

feedback/message-put — log-only

/** Log-only human feedback; never enters model history. */
'feedback/message-put': MessageFeedbackPut

Source: packages/feedback/message-feedback/src/types.ts:56

feedback/record — log-only

/**
 * One recorded human remark about this session. Log-only and independent
 * of its trigger; it never enters model context or derived history.
 */
'feedback/record': FeedbackRecord

Source: packages/feedback/command-feedback/src/types.ts:40

goal/*

goal/change — log-only

/**
 * Complete post-mutation goal state or clear tombstone.
 */
'goal/change': GoalChangeMeta

Source: packages/goal/goal/src/domain.ts:66

hook/*

hook/invoked — log-only

/**
 * A hook command was invoked at a hook point — a log-only record (like
 * `compaction/*`; NOT a {@link SurfaceEventType}, carries no `surfaceOp`).
 * `dialect` is the bridge that ran it (`claude`/`codex`), `point`
 * the hook point (`PreToolUse`, `Stop`, …), `matcher` the matcher-group
 * pattern that selected it (absent for match-all), `handlerId` a stable id
 * for the command (so an invoked/result pair correlates). `turn` is the open
 * turn the invocation lives inside.
 */
'hook/invoked': {
  turn: number
  point: string
  dialect: HookDialect
  matcher?: string
  handlerId: string
}

Source: packages/hooks/hook-protocol/src/types.ts:19

hook/result — log-only

/**
 * Log-only outcome paired to `hook/invoked` by `handlerId`. Decision is the
 * parsed permission result, `stop` for `continue:false`, or `pass`; exit code
 * may be absent, stderr is bounded, and duration is wall-clock runtime.
 */
'hook/result': {
  turn: number
  point: string
  handlerId: string
  decision: string
  exitCode?: number
  stderrSummary?: string
  durationMs: number
}

Source: packages/hooks/hook-protocol/src/types.ts:31

image/*

image/offload — log-only

/**
 * Permanently omit selected input-image occurrences from subsequent model requests.
 * Targets name unique current user/message or tool/result nodes. Nonempty, strictly
 * increasing indexes count all images in depth-first order, including nested tool
 * results and already omitted images. Message nodes and identities remain unchanged.
 * @messageProjection
 */
'image/offload': { targets: ImageOffloadTarget[] }

Source: packages/compaction/compaction-image-offload/src/projection.ts:25

llm/*

llm/retry — log-only

/** Durable, non-surface record of one provider-routed retry scheduled after a failed request attempt. */
'llm/retry': LlmRetryEventData

Source: packages/llm/llm-retry/src/types.ts:9

llm/retry-started — log-only

/** Durable transition written after a retry wait succeeds and before the next request attempt starts. */
'llm/retry-started': LlmRetryStartedEventData

Source: packages/llm/llm-retry/src/types.ts:11

model/*

model/selection — log-only

/**
 * Complete validated model selection requested for subsequent prompt
 * assembly. Log-only: it never enters derived model history.
 */
'model/selection': ModelSelection

Source: packages/api/session-controller/src/types.ts:40

permission/*

permission/preset — log-only

/**
 * Records the selected preset as durable, log-only user intent. The knob
 * events follow in the same turn and control execution; this event stays
 * out of the model transcript and lets the permission projection unit
 * preserve a selection when bundles match.
 */
'permission/preset': { preset: string }

Source: packages/interaction/permission-presets/src/index.ts:57

plan/*

plan/mode — log-only

/**
 * Whether plan mode is in force from this point on: log-only, non-surface,
 * whole-value replace. The last `plan/mode` wins; a log with none folds to
 * inactive through the projection unit's fold.
 */
'plan/mode': { active: boolean }

Source: packages/plan/plan-mode/src/index.ts:47

request/*

request/context — log-only

/**
 * Route metadata for the next request, logged only when the route, capacity,
 * or system prompt update mode changes. It does not participate in request
 * reconstruction or header equality. Prompt admission uses the bound prepared
 * call's capability, not this snapshot from an earlier request.
 */
'request/context': RequestContext

Source: packages/core/session/src/types.ts:389

request/header — log-only

/**
 * Full header for the next request, appended inside its step before dispatch.
 * It is log-only; the latest snapshot reconstructs the request header.
 */
'request/header': {
  header: EpochHeader
  reason: RequestHeaderReason
  /** A changed header also begins a distinct model-message series. */
  startsSeries?: true
}

Source: packages/core/session/src/types.ts:377

sandbox/*

sandbox/mode — log-only

/**
 * The session's sandbox mode was switched — log-only (like `approval/*`;
 * NOT a surface event, carries no `surfaceOp`): durable and replayable,
 * never in the model transcript. The LAST such event is the session's
 * override (folded by the sandboxMode projection unit). `source: 'delegation'` marks
 * an override seeded into a child; an absent source is a runtime switch.
 */
'sandbox/mode': {
  mode: SandboxMode
  /** Marks an override seeded into a child at delegation. */
  source?: 'delegation'
}

Source: packages/sandbox/sandbox-policy/src/session-mode.ts:33

schedule/*

schedule/change — log-only

/**
 * Versioned Schedule mutation. The owning package validates the complete
 * session-local transition stream before accepting a candidate event.
 */
'schedule/change': ScheduleChange

Types: ScheduleChange

Source: packages/schedule/schedule/src/types.ts:219

session/*

session/end-seed — log-only

/**
 * Separates inherited or restored history from later lifecycle-owned work.
 * This log-only marker need not be at {@link Session.firstLiveSeq}: a fork
 * seed can already contain its tagged marker and child-owned synthetic
 * closers before construction.
 *
 * A fresh fork child owns one `{ inherited: true }` marker at its exact
 * inherited-prefix cut, even when that prefix ends in an ancestor marker.
 * `buildForkSeed` appends that marker before any synthetic closers; the
 * `Session` constructor supplies it when given only the inherited prefix.
 * The last tagged marker is the current Session's cut; untagged markers
 * keep ordinary restore and replay lifecycle boundaries.
 *
 * Only the `Session` constructor and `buildForkSeed` may create this marker.
 * The invariant companion deliberately constrains nothing here, so a plugin
 * appending one would silently classify every live bracket before it as seed history.
 *
 * An owner of a standalone open/close bracket (`compaction/start` …
 * `compaction/end`) reads it because seed history and live work are otherwise
 * byte-identical: an unmatched opening marker before this event belongs to
 * an ended lifecycle, whatever ended it. NOT a liveness signal about other
 * writers — a concurrently live session holds its own boundary elsewhere,
 * so tolerating concurrent writers needs a signal beyond the log.
 */
'session/end-seed': { inherited?: true }

Source: packages/core/session/src/types.ts:414

session/title — log-only

/**
 * Latest-wins session title snapshot. Log-only: it never enters the model
 * surface or derived history.
 */
'session/title': SessionTitleEventData

Types: SessionTitleEventData

Source: packages/session/session-title/src/index.ts:77

session/title-llm-request — log-only

/** Log-only pre-dispatch record of one session-title model request. */
'session/title-llm-request': SessionTitleLlmRequestEventData

Types: SessionTitleLlmRequestEventData

Source: packages/session/session-title-llm/src/index.ts:45

session-log-deepseek/*

session-log-deepseek/delivery-accepted — log-only

/** Records that the configured endpoint accepted one delivery through `throughSeq`. */
'session-log-deepseek/delivery-accepted': {
  /** Session identity the accepted delivery carried; inherited fork markers retain the parent's id. */
  sessionId: import('@deepseek-ai/dsh-session/types').SessionId
  /** Accepted Session format generation; absence identifies version 0. */
  sessionFormatVersion?: number
  /** Last canonical event included in the accepted request. */
  throughSeq: import('@deepseek-ai/dsh-session/types').SessionSeq
}

Source: packages/session/session-log-deepseek/src/types.ts:81

step/*

step/end — log-only

/** Closes step `step` of turn `turn`. */
'step/end': { turn: number; step: number }

Source: packages/core/session/src/types.ts:296

step/start — log-only

/** Opens step `step` of turn `turn` — one model call plus the tool executions it requested. */
'step/start': { turn: number; step: number }

Source: packages/core/session/src/types.ts:294

subagent/*

subagent/catalog — log-only

/**
 * A direct child's complete discovery fact.
 * @param data - versioned parent-owned catalog entry.
 */
'subagent/catalog': SubagentCatalogEvent

Source: packages/subagent/subagent/src/catalog.ts:40

subagent/descriptor — log-only

/**
 * Durable identity and lifecycle mode of a session-backed subagent child,
 * appended once by the establishing provider inside the child's initial
 * turn, before its first request. Continuable records also carry their
 * resumable composition. Log-only: it carries no `surfaceOp`, never enters
 * model history, and survives compaction.
 */
'subagent/descriptor': SubagentDescriptorData

Source: packages/subagent/subagent/src/descriptor.ts:38

subagent/model-selection-policy — log-only

/**
 * Records that this session's delegation tool exposes child provider,
 * model, and reasoning-effort selection. Appended before the first model
 * request; absence means the fixed-route definition. Log-only: it carries
 * no `surfaceOp` and never enters model history.
 */
'subagent/model-selection-policy': {
  /** Exact routes this Session may select explicitly for a child. */
  allowedModels: AllowedModelRoute[]
}

Source: packages/subagent/tool-subagent/src/model-selection-state.ts:17

system/*

system/message — surface

/**
 * The rendered system prompt on the model-visible surface. The loop appends
 * the first one as surface node 0 before the step's first `user/message`.
 * A prepared in-history route can append nonempty changes in a continuing
 * series. An incapable route or new series normalizes text to the first system
 * node. Normalization empties nonempty later nodes, then rewrites the head if
 * needed, through logged per-node replacements. An empty rendering always
 * clears all active system nodes, leaving no older instructions model-visible.
 * Empty later nodes are dormant and project to no message; an empty head with
 * no active later node records "no system prompt". Restored nonempty text follows
 * the same route and series rule; empty nodes never restore older text.
 */
'system/message': { turn: number; step: number; message: SystemMessage }

Source: packages/core/session/src/types.ts:317

team/*

team/member — log-only

/** Whole teammate lifecycle value, stored only in the Team Lead Session. */
'team/member': { version: 2; teamId: TeamId; member: TeamMemberSnapshot }

Types: TeamId · TeamMemberSnapshot

Source: packages/experimental/agent-team/src/types.ts:221

team/message/delivered — log-only

/** Durable acknowledgement that the target Session recorded the message. */
'team/message/delivered': {
  version: 2
  teamId: TeamId
  messageId: TeamMessageId
  targetId: SessionId
}

Types: TeamId · TeamMessageId

Source: packages/experimental/agent-team/src/types.ts:227

team/message/queued — log-only

/** Durable mailbox enqueue, stored before delivery is attempted. */
'team/message/queued': { version: 2; teamId: TeamId; message: TeamMessageSnapshot }

Types: TeamId · TeamMessageSnapshot

Source: packages/experimental/agent-team/src/types.ts:225

team/task — log-only

/** Whole shared-task value, stored only in the Team Lead Session. */
'team/task': { version: 2; teamId: TeamId; task: TeamTaskSnapshot }

Types: TeamId · TeamTaskSnapshot

Source: packages/experimental/agent-team/src/types.ts:223

todo/*

todo/write — log-only

/** Whole-list snapshot; latest write wins on replay. Log-only UI state; never derived history. */
'todo/write': { todos: TodoItem[] }

Types: TodoItem

Source: packages/todo/tool-todo/src/types.ts:31

tool/*

tool/call — log-only

/**
 * The model requested one tool invocation: `name` with the raw `arguments`
 * JSON string exactly as the model produced it (unparsed). `callId` pairs the
 * call with its `tool/result`.
 */
'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string }

Types: ToolCallId

Source: packages/core/session/src/types.ts:348

tool/ptc-dispatch — log-only

/**
 * One bridged sub-dispatch SETTLING: the pairing ids (matching the
 * `tool/ptc-dispatch-start` with the same `subCallId`), the tool `name`
 * with the same JSON-normalized `arguments`, and the sub-call's complete
 * durable outcome in `tool/result`'s own vocabulary (`content` + `isError`
 * + optional structured `error`), so UIs and SDKs render a sub-call through
 * the exact path used for a native call. Every started sub-call settles
 * with exactly one of these (abort included: the aborted pipeline result
 * is an `isError` outcome).
 * Log-only: `deriveMessages()` ignores it, so sub-calls never re-enter
 * model context; persistence and UIs get every call. Appended inside the
 * parent `run_code`'s execution (the bridge drains in-flight dispatches
 * before returning), so its execution-enclosure relation holds by
 * construction.
 */
'tool/ptc-dispatch': PtcDispatchEventData

Source: packages/core/tools/src/types.ts:58

tool/ptc-dispatch-start — log-only

/**
 * One sub-dispatch STARTING inside a `run_code` program: the parent
 * `run_code` call id, the opaque sub-call id (new calls use
 * `<parent>:ptc:<n>`, numbered in submission order), and the tool `name` with its
 * JSON-normalized `arguments` — the exact value dispatched, normalized
 * BEFORE dispatch, so this append can never fail on payload shape.
 * Appended when the scheduler actually starts the call (not at
 * submission), so a start means the tool body pipeline was entered; a
 * call abandoned in the queue logs nothing. Log-only: `deriveMessages()`
 * ignores it; UIs use it for live per-sub-call running state and pair it
 * with `tool/ptc-dispatch` by `subCallId` (timing = the two events'
 * `time` fields).
 */
'tool/ptc-dispatch-start': PtcDispatchStartEventData

Source: packages/core/tools/src/types.ts:42

tool/result — surface

/**
 * A completed tool call's model-facing result, optional internal failure
 * identity and user-facing reason, and optional tool-private `meta`
 * presentation payload. The reason remains outside the model-facing message.
 * `meta` is
 * opaque to the core (the producing tool owns its shape and reads it back in
 * `presentResult`) but MUST be JSON-serializable: `Session.append`
 * runtime-validates all event data with `isJsonValue`, so a non-serializable
 * `meta` is rejected at the source, and the durable log reproduces the
 * identical card on replay. Absent
 * unless the tool attaches one (e.g. `dsh-tool-fs` carries its result-time
 * contextual diff here).
 */
'tool/result': {
  turn: number
  step: number
  message: ToolResultMessage
  /**
   * Optional failure identity and raw user-facing reason, outside model content;
   * allowed only when the tool-result block has `isError: true`.
   */
  error?: { name: string; code: string; reason?: string }
  meta?: JsonValue
}

Source: packages/core/session/src/types.ts:362

tool-workflow/*

tool-workflow/agent-end — log-only

/**
 * Records one member settlement.
 * @param data - run identity, paired member sequence, and outcome.
 */
'tool-workflow/agent-end': ToolWorkflowAgentEndData

Source: packages/workflow/tool-workflow/src/types.ts:57

tool-workflow/agent-start — log-only

/**
 * Records one published workflow member.
 * @param data - run identity, member sequence, display identity, and child Session.
 */
'tool-workflow/agent-start': ToolWorkflowAgentStartData

Source: packages/workflow/tool-workflow/src/types.ts:52

tool-workflow/run-end — log-only

/**
 * Closes one workflow record after cleanup.
 * @param data - stable run identity and terminal reason.
 */
'tool-workflow/run-end': ToolWorkflowRunEndData

Source: packages/workflow/tool-workflow/src/types.ts:62

tool-workflow/run-start — log-only

/**
 * Opens one top-level workflow record.
 * @param data - stable run identity and display name.
 */
'tool-workflow/run-start': ToolWorkflowRunStartData

Source: packages/workflow/tool-workflow/src/types.ts:47

turn/*

turn/end — log-only

/**
 * Closes turn `turn` with the {@link TurnEndReason} that ended it. A turn
 * with no entered step has no `step/start` or `step/end`. The loop does not await a
 * flush at turn boundaries: `dsh-session-checkpoint-policy` owns the
 * per-request durability checkpoint, and consumers that read storage after
 * `whenIdle()` flush themselves. Success commits the turn; rejection is
 * reported live and does not prevent later work.
 */
'turn/end': { turn: number; reason: TurnEndReason }

Types: TurnEndReason

Source: packages/core/session/src/types.ts:292

turn/start — log-only

/**
 * Opens turn `turn` before the loop claims queued input or runs pre-step.
 * Rejection, empty input, cancellation, or failure may close it with no
 * step; otherwise the following identified `user/message` event or batch
 * records the messages entering the step.
 */
'turn/start': { turn: number }

Source: packages/core/session/src/types.ts:283

user/*

user/message — surface

/**
 * A user-role message on the model-visible surface: a direct human prompt
 * (the queued message claimed for this turn), a synthetic `agent.inject()`
 * context (file-change notices, subdir AGENTS.md, skill content, cron
 * notifications, …), or an entered goal continuation round. All three
 * project their `content` verbatim; `source` tells them apart.
 */
'user/message': UserMessage

Source: packages/core/session/src/types.ts:304

web/*

web/deepseek-search-llm-request — log-only

/** Secret-free auxiliary DeepSeek search request recorded before dispatch. */
'web/deepseek-search-llm-request': DeepSeekSearchLlmRequest

Source: packages/web/web-search-deepseek/src/provider.ts:82

workspace/*

workspace/changes — log-only

/**
 * A completed top-level turn's changed files were summarized; the summary itself stays on the
 * Host and is served by `workspaceChanges.summary` for the event's sequence while the Session
 * lives. The latest event for one turn replaces earlier ones.
 */
'workspace/changes': { turn: number }

Source: packages/deliverables/workspace-changes/src/types.ts:106

Resolved persistence types

Each definition appears once. References preserve sharing and recursion; the digest beside a definition includes its complete reachable structure. Source names and locations identify its declarations but are excluded from its digest.

"aborted"

SHA-256: 1e0b0b66b6f0c53fc72e52289d06b4708d776f1ca9df4c86a22bff621d403cf0

"aborted"

"active"

SHA-256: c8e6f48878cc2a2f0dc59682280d81f407943fb503f32c64bf9ff3d9393c3eff

"active"

"after"

SHA-256: 5b232a9b9bfcc0fc6794dab7865bcf203a65785c5de5aa647a51228bff628413

"after"

"agent-instructions"

SHA-256: fbd2c74b346a1595b376139c587fadd23e4a21acc9c0abce342975b6cfc60986

"agent-instructions"

"agent-message"

SHA-256: 82470020b5bfcb1a843e2aa05602af7d37df99e82d01f015c7c589ba054fd89d

"agent-message"

"agent-preset/selected"

SHA-256: 557e148d30b79ee48645850832b30c717d7c3b64641deb5d6133b8b4e91ee0b8

"agent-preset/selected"

"agent/inbox/spliced"

SHA-256: 829a2fb3be6efd4ba36aef8ed2d381a4c6fb2a0aaf50c823a6f3f8290786b809

"agent/inbox/spliced"

"allowed-once"

SHA-256: 811229eedcec57979dbadca7dbea832a59f8580cff30cb217fca5e2da16314bd

"allowed-once"

"always"

SHA-256: 142c37d302aa22a0a57915b5255939d3ca91c1811ca13fddcf84cf76ea00758a

"always"

"append"

SHA-256: e438a9d4fb883b3e4a8d9fc8913aa1550ed50eb384bfbf943100a5605b537498

"append"

"approval/asked"

SHA-256: cd186c309e2bef305705e1d324139240f5e681f4f6a957d6a25b0225f65560df

"approval/asked"

"approval/decided"

SHA-256: 378f90f9f6022a0991928a1eaf7991094ea1920fe89a9248358a1da106e1a970

"approval/decided"

"approval/policy"

SHA-256: 36d6a9a871d949ea4f3edd919d81d66aa69218bebef38899d2a1282c39420a1f

"approval/policy"

"ask"

SHA-256: 9e07693fd7cd9babe0688c22c986e4d519ae1c0e40eeea13b2dc583bed2abc86

"ask"

"assistant"

SHA-256: 95c0e88fcf0bafb2087f912ad9e2369de6ae6530cc0c4c2772c96205b57f7f60

"assistant"

"assistant/attempt"

SHA-256: e95f957154b2b1b58692af53d4131180b6dd19e2264869f876dbaa959991494e

"assistant/attempt"

"assistant/message"

SHA-256: 6ab45ac76839722df912f3ba50f1c6b41f2d614bde11f1aabfae04117ccdc80d

"assistant/message"

"at"

SHA-256: 17aae616ef020b8b9f011ec398ec935450fb06d3e2a0722c456f63aeaf5ff728

"at"

"block"

SHA-256: 1e346446e183ee76f48d7994c97ecb302bddc682abb60b8a10ea0bb26223a69c

"block"

"block-end"

SHA-256: eefbea819caeeea91ccb02dfafc16c68dd7f961cf9c1b2be25a2084509cf5c5a

"block-end"

"block-start"

SHA-256: cbca49bde16b656d5b8fbe4a8a507769f7b594c6287782b809c03814941bc5e3

"block-start"

"blocked"

SHA-256: 254dce209e735f9cb6f6b7aec0354712b1611759ec02af4d35a96f2081e666f6

"blocked"

"canceled"

SHA-256: d4e4d575abeb4b72d616dc65c17ac0eaa943cc135609395044c38d5afcb10e31

"canceled"

"cancelled"

SHA-256: 2142e391b9ccb60d487afcf373ce74db98d952f69e8289eddb352a7e16e996c5

"cancelled"

"catalog"

SHA-256: aec150797b655c5f15ebb7a501454b0c208fbaccec9ace49d7de2171fc02f47d

"catalog"

"change"

SHA-256: f789af5ab844827eb5a4f357c0afae1eeed108c6c22d8ca1a56e586b349a7c85

"change"

"chunk"

SHA-256: 14230f9b8b5797bb7e8c621fa636531cfbde2ffba1ef5f1fd058216ff21952a0

"chunk"

"claude-code"

SHA-256: aff60ef947c18b012644852bdd0d5bfe72065e061dd563787c76c646b4a10f6b

"claude-code"

"clear"

SHA-256: e7e154d47d5fbc5366330fb4dade1f108c6dfe4335044d21ded14b7bf1dce084

"clear"

"codex"

SHA-256: 15495614ccfa9cbdeefb0ec2abd76406435f4c6ff3dae42acae8e09ef42025c9

"codex"

"command/done"

SHA-256: 8cdd3fdd295cee53035de16a1b23411716f75e9f994fe9510cac5d7fef605c76

"command/done"

"command/run"

SHA-256: f1996af2602e6f62b5ab179ca5c4af00d8753938b74cc6ef102de09e99e74a7e

"command/run"

"compaction/end"

SHA-256: 1986c2664009c99155e44795676c887fa67f7c55cd2d5e6b648ff763e0ab033a

"compaction/end"

"compaction/prune"

SHA-256: 10e386801903f9d424602c31d3ff837a94aef623c8b391376d8d9e253525fabe

"compaction/prune"

"compaction/start"

SHA-256: e2d0367e5716bc188435e51718ebff8ce873190625fa93b1c5331102d98758fa

"compaction/start"

"compaction/summary"

SHA-256: ef4f00923b9edbae15c7ef05320280bf61147ca17146cf59690359bfd5e5da45

"compaction/summary"

"complete"

SHA-256: d9196086e41e4dd5c2ce87f5c25529c8112a1731d258cf0728747d41a9ee3241

"complete"

"completed"

SHA-256: 1ebc6f9ff3aa9e3a38f8695f49bacdab1f8b7a3832741853ca46f40af56ccd01

"completed"

"continuable"

SHA-256: e5d3828df1ec3e2a66879de0659e0f4866d9cfffc00825ee731a66f8a0c03d98

"continuable"

"create"

SHA-256: 7624ca28c61ca0eaa4f015140f3cea6e0c16cce2f2960fab5f531203d253903e

"create"

"danger-full-access"

SHA-256: 18fce9540bb20897a66275499faee6b8296c97e9901fa1ff45a191772448ad1a

"danger-full-access"

"delegation"

SHA-256: 76632533f67879dcb346fcae640540dbc89b2472b0bce88c59f7e48fc5c0e668

"delegation"

"delete"

SHA-256: d0fbb0ca1bbba059830826f33f801da1aced35a2504376d61e020bdfec8d50c0

"delete"

"deleted"

SHA-256: e7e8f1318170b8284f16ab45a557afd4675c96071c0f2a456636481dab20b427

"deleted"

"deliverables/presented"

SHA-256: 1a2718b00937b236a0d0910ef5dab2f9f8b65e4bde410cc21f15fbbf29f584d3

"deliverables/presented"

"dispatch"

SHA-256: 26c879bdd130e8b8683a6ce588414fad2244783d6573ca399fa0de184a2b0bb1

"dispatch"

"disposed"

SHA-256: b38f206d59bad891fa58c89f97a0036987b3defe7685acbd318fa55eb85f9751

"disposed"

"edit"

SHA-256: ad22a5ca5bbaab2e1440779cd3648e85ddfc6f73b5207394eda699555cf31430

"edit"

"error"

SHA-256: a2be0f0cb59f0d4a06557d45847d1938aced238baa77a6da416e590b8b958553

"error"

"every"

SHA-256: e42b0f40b5d0b628c6e1c44a8fb9eda0780037a81959e1b93d2dfb47b46b0e87

"every"

"failed"

SHA-256: b57a2889408de36e4516807194c73bdecd51a92f633ccd05db81bf049200f420

"failed"

"fallback"

SHA-256: d6e654b88b584fcdf290a56802b1730bc7b9847ae86baa4265ab7769eb48990c

"fallback"

"feedback/message-delete"

SHA-256: 44818000e56acb97afdb5045ce235eb55e3fb1ccabc9fc7d0750bb38f36a7f8e

"feedback/message-delete"

"feedback/message-put"

SHA-256: 6cda0d6d3b4336d83998fe580628426df81c2afbab5d768b8813b56d569120e8

"feedback/message-put"

"feedback/record"

SHA-256: c99e20441bf15341e9db54385e558e5c03d21dff2eb1ac08ccbf47c2d8747954

"feedback/record"

"file"

SHA-256: 277b61f9c6f8170425fa6ffe06cfa14376757a896a4749cb82a687d7364c4fc9

"file"

"finish"

SHA-256: bd499eac047efe091a4df7382eadd06d25cf0cb31fee3981e8b24d85762841cd

"finish"

"fork"

SHA-256: 2da725e554cd89301d829ed9dc45a572c3cd1b93b5e91d0d71f007976d8a0863

"fork"

"forked"

SHA-256: b2245a906e13aa94f2d3cc6cf7b04cfa0267f7b7f4d468de1b00b1a314e54626

"forked"

"fresh"

SHA-256: dd2780e7e07684332f7a9ab047237798d260e7eaffb1321cb38eca695d184c3d

"fresh"

"goal"

SHA-256: b815d7b91cdd9fc6ccc7dcba05cfc5ce1d55fab5fc0c0801803cd3630cedb602

"goal"

"goal/change"

SHA-256: 237c004c73b6b288246816e0d7fde16e09c63a47aa3b1227383d7afe58666163

"goal/change"

"hook"

SHA-256: dbdafceb9a900183cccc80596498d386f3bf7bddead2b8cfde68453aa4739edc

"hook"

"hook/invoked"

SHA-256: b9305f0ea75ccd6a6061c27fde19f2ab85534f9f3c1a717b573b077ebae0f611

"hook/invoked"

"hook/result"

SHA-256: a3a259a1aa5401af786ce08c4a8419681d3000d73467991b5fc563389bc4ebd2

"hook/result"

"image"

SHA-256: fb8b6a2e53cb9cf44c551176de0fb77d1ddc60037b99a891ff8a860b6d5c29a0

"image"

"image/gif"

SHA-256: de30b1fa12c75f81df6aa4096e1595296d2d04e2be14a7c29849cf8028b79048

"image/gif"

"image/jpeg"

SHA-256: 3f74ba74acd10644c1ed6947a411d8088bd2cfac74f61bb8540f96d68e31f004

"image/jpeg"

"image/offload"

SHA-256: 9acbe713f3f641921dd3333b240aa72e176d795327c24e8d9db9b68b16771b49

"image/offload"

"image/png"

SHA-256: 58f94390b982f8a5ac1f4f235ba612557f4a1dc4a995d8b1cec63ce7639decb0

"image/png"

"image/webp"

SHA-256: ebb768d85ec87fb68e42fc14fd7d8535b5ac11791b14d04c6770180f0a719bf8

"image/webp"

"in-history"

SHA-256: f311671e07bc7fa645a0b6597de9966b97147956565296ba76a36543801b66c5

Sources: packages/llm/llm/src/types.ts:383

"in-history"

"in_progress"

SHA-256: 94c56aeb1564ad735eb773d88636b40761d063efa1610f1308004d32923f5378

"in_progress"

"initial"

SHA-256: e7ce49f12953583fad217bf80fb9f1463acff2c3e9471a823782661675fb124c

"initial"

"instruction-following"

SHA-256: e4cac694f8b6e1d52e48c699464f1c4c26111ef87e558f7931040d00fdc8d486

"instruction-following"

"instructions"

SHA-256: fee1caf8ab6a65c1bc981f5a1730164490f22a2a89ffa3d0b76f1f432c44c8b5

"instructions"

"interrupted"

SHA-256: 69d238a6e9b08d67f601b1825962963d8d3523cb69ebf6208c697dc5d058c199

"interrupted"

"legacy"

SHA-256: ad3b56aa2fc1ad4250e7399295d34a8eae592e1907e85852e2291b2e498a30bc

"legacy"

"llm/retry"

SHA-256: 611cae9a3539733aa0c42f66035a7d90f19dcbbdfb5d9e3b628b13705253942d

"llm/retry"

"llm/retry-started"

SHA-256: 4ae007ed190a72c92138b22d059b83208079c7551ca13fb59ae8cf5e23693964

"llm/retry-started"

"max-tokens"

SHA-256: 68141cbe3994a5ffcd064c07c75996538437fd9dbf77ce8a2927e89ec577fabe

"max-tokens"

"model"

SHA-256: 2765e9119edf5816ac1ab4c95c5ee32c90403f3742962eff11544f7752d59d2e

"model"

"model/selection"

SHA-256: 1d5f04a03ea75fc8eeece544129eba0f49f0c82046e9c404461920390135c7b2

"model/selection"

"negative"

SHA-256: b1f62380f6746fedd629e71065e3583cef83334875b499ac9665c2eb87acfbf5

"negative"

"never"

SHA-256: 1571525adc95a24e5d25b5a6440df401cd7cdd881b745178e85f5a333435cd1b

"never"

"next-step"

SHA-256: 3e2ece4967cfebe95f450a93f45523dff99d6749f6269f2f60f84dfecfcf3693

"next-step"

"next-turn"

SHA-256: 62ecb62dc0fe1b5e70217f8a80c39256a40ee3a1917be14e5ca899d20c35f7fd

"next-turn"

"normal"

SHA-256: 3bc287e765d58dc3a22672a0495a6cfd561220dd38fbaecef80aa95b96caed79

"normal"

"notice"

SHA-256: e8de0f457fed5b9ff94dc4950b59ef75fd8ba8af665cc7899485924a62653367

"notice"

"one-shot"

SHA-256: d28765f87d6b6ab408e0b2f3e7e297791b004b806d8e302c49903ebae815feb2

"one-shot"

"other"

SHA-256: 9d80129e13edfb6feb03ed327e6085c6ef60b97ad074244b2f5fd4667424a6a4

"other"

"parent"

SHA-256: e6411b09c1d982f789bf741ca74e2bea69df56029847f86a6148e722039ee732

"parent"

"pause"

SHA-256: 1d8798b1a5e8c545ee4dcd2b4e75c0b4c9ffd985e4744c6d1a1aab992f859721

"pause"

"paused"

SHA-256: c43b119ce579b3e9983a0d3adc4ba402ebb9ba773d89738a2dab01ecf5813943

"paused"

"pending"

SHA-256: 234142ee4f996f38cc9fa3b8b3e3de29b03c9aefe5ebf6c224eddd564505aa85

"pending"

"permission/preset"

SHA-256: ae63d9d1080ed8945031594d93f8d96651d7101b848719cc3e1475875cd3d649

"permission/preset"

"plan/mode"

SHA-256: f634871d1e18b1eb199497ac8ab72d3964f48d03fbf611dc7521a1970cf429d9

"plan/mode"

"plugin"

SHA-256: e654d28d1e6c471147310d2fba396d00969cfe6ed9022626d3f2c2312e0b1cbb

"plugin"

"positive"

SHA-256: df5d9709b7db2a72510dc52052a23f0c38f39730af1504bab8bccabc14fae528

"positive"

"product-interaction"

SHA-256: 0341d4c3dfcd53253cdc1e789d9130d3cd848b6f8b0706bf92f313a68b39ff23

"product-interaction"

"provider"

SHA-256: e31572180d6b28b73f073ad30ae19d5d82982d3daf984723984e23da1e7c459a

"provider"

"provisioning"

SHA-256: 871bfd6f7bb91061246768d3377f3fd58d6b8ea7c31f44c714ae7ab215650d62

"provisioning"

"read-only"

SHA-256: 12a0cfa619ac4a5fc6c3e8e359c8dae15769edc61497a575935c78d5842f8e42

"read-only"

"reasoning"

SHA-256: 3c2535ca0a2062f172f15344f8040755002b5ac506cf94fc4ebaa822b15feb8c

"reasoning"

"reasoning-chunks"

SHA-256: 688e853dc149f0d30b31765c12ec7e3be74169bdf1a4c6463a10b945d50cc1b8

"reasoning-chunks"

"reasoning-delta"

SHA-256: 6f091fe32ab24407236090ca9d710bbaf59bb57466e9f3b8f1f6e4862bc863c6

"reasoning-delta"

"recall"

SHA-256: 383cf73ae4748e5beb281ae74857ba1ffb92ae01075b9fbf51af78b666007a8f

"recall"

"rejected"

SHA-256: fab35c4520883c0d69e42d079c9f543fc5ac7a2d15b537b5572fcd99059c7018

"rejected"

"relay"

SHA-256: 16d0507cb94b4cfc84a87446b1ba7652d6ec1d65ee1684789e747e30d542800e

"relay"

"remove"

SHA-256: 7382c4fc95fe8c5db65ca4d9da572b115d0dbb818b7f32c22ab040318ffbb4bc

"remove"

"replace"

SHA-256: f6cb462f808309e315fea634f1ed86268b8346bbcee6774d9097ca6eed7ac1f8

"replace"

"request/context"

SHA-256: 70b082fe78991edf13cf66e1b4d06cd2dcff9cacfd76f8cfb996bfb61939e7b2

"request/context"

"request/header"

SHA-256: 3e0eff5946255ff05d88a10839c60305135801f97794ea48d409f8503303317e

"request/header"

"resource-cost"

SHA-256: 5bd310104cfe448e530beb11422d2f791e2e32e8e95fdc528a15f9ca693dae75

"resource-cost"

"resume"

SHA-256: 34d1ab5c5df378186d6054b1a1beea9a41e41965d6f336f0bc0025c441a82e66

"resume"

"sandbox/mode"

SHA-256: ca085dba2c877feceebf3c62f9d39c6c2a4d2314d97b94b3927a780fe8fe2bb2

"sandbox/mode"

"schedule/change"

SHA-256: 0e7b2a97f54f1afdb8cdfad1635abe9145327db539bfb69b4045c19d8c17755d

"schedule/change"

"security-privacy-permission"

SHA-256: 07eccc9ea2f9b5439d76cc77d5e062936677d43f07a23da749819b0a22ee36b7

"security-privacy-permission"

"series"

SHA-256: 4f507598cf476214aa7646ce7841a7064a9dcb05d0a1eaaefaf79c2b738f160f

"series"

"service-stability"

SHA-256: 7180844e1066230c5e891f1b9ccd942423b0fe48aac6ded7eef2a285b288a732

"service-stability"

"session"

SHA-256: e41bdebe246abe17154de7e7a1d81035437eee8d20e7f1edff0d91e2598ad828

"session"

"session-log-deepseek/delivery-accepted"

SHA-256: 47e5d84f1a93450a78c7f3954b43990d0f629af7c034a56313e5deb63e772c1b

"session-log-deepseek/delivery-accepted"

"session-reference"

SHA-256: 7f13860ee89a2d35ce09f958e85a04566cd59cb1de1d73a9619a9b631961dc71

"session-reference"

"session/end-seed"

SHA-256: 1c2686c0682e7bc51d61117b2652bd4a80707e331aa276d6ef915ae32534a330

"session/end-seed"

"session/title"

SHA-256: 7a651f3b672c52fb615f22c0ce9cb3cc5b22aad92e6bbeefb0808fd7b9233a50

"session/title"

"session/title-llm-request"

SHA-256: 587bb11da730e06aa52b62c087d217d6f8f22459b25f31cb9e1e1baf17944e5e

"session/title-llm-request"

"set"

SHA-256: b765ee31033cea463863faf3fc6a0a1b85c47c6a2f13fe1ce833abe56105114b

"set"

"skill-catalog"

SHA-256: 6ebcc2dbec9f2dabca9f668ae6d39e877899b180740570f453409db339221df3

"skill-catalog"

"skill-invocation"

SHA-256: 1922cd79a70806c17758185a6ef0458bc1fb3900363906733421c16414da2509

"skill-invocation"

"snapshot"

SHA-256: 6f9e00383836275e46c0a9915767f9bb561be5fc30aae490174908a93e99a912

"snapshot"

"step/end"

SHA-256: c219efbdfd53b836786202ab4532913d555798f0a8615a4e9629736e3799fb70

"step/end"

"step/start"

SHA-256: 2c64d4bc7264fd3f8bed47e96ab8a593bce05a1e4e1c436dcd244a3b7e0c2a9d

"step/start"

"stop"

SHA-256: 57f3f606ff8b6c84d9c443faace9d1dd10cca0354f37a4f515ef075f7c351b90

"stop"

"subagent"

SHA-256: aacda84a69739238aa782eea902d3073017d9d74b9808de2bf5a83c9738cbdc6

"subagent"

"subagent-settled"

SHA-256: bf16d2e98a7f13894ded2cffe5ce857bf473954a0e3c0ed9bc7739e2e1c7b78a

"subagent-settled"

"subagent/catalog"

SHA-256: 44c8c77aa9aa100b0d74d2deee85474b29faa6eee0ac0f662f7abe9931ddd7f2

"subagent/catalog"

"subagent/descriptor"

SHA-256: 5ebce1317eacd2c148456627a09668e927ee15c204f0643f5ea76b46b54a2647

"subagent/descriptor"

"subagent/model-selection-policy"

SHA-256: 0a8a062bc9c3c0d97fd97742262f2ea53dd32297f834e81114870d38ac3dc6da

"subagent/model-selection-policy"

"success"

SHA-256: 511801b0a6470d98566e8385d3dffddb2b67f79fcf73ed6056f46c3cc0a245a7

"success"

"system"

SHA-256: 8af841fc9b265ade3441caf9fe40dd24db24226befba48150e6d0eeccc1389c3

"system"

"system/message"

SHA-256: 1c5a58f4599bd4a9711712551ffe2442a5e5fcd0758bafe630cc4ead850bdaa7

"system/message"

"task-result"

SHA-256: f05fb85e715af4ab4de0b6ba111166dd0435bd8bb74a0fa0f32b9d174113fc7c

"task-result"

"team-message"

SHA-256: 2e4debca12f2c449f96dc6574f3fbf2fb346193443114a241d01a236362ec48c

"team-message"

"team/member"

SHA-256: 18fcdd273a2f2f9d813a3be5e71df5903a963a5c88e46b90b14de6e2db890da0

"team/member"

"team/message/delivered"

SHA-256: a8a2b9011fc067862df7ce40748868467e5778283d7ac193c13f77684a914c57

"team/message/delivered"

"team/message/queued"

SHA-256: 4e011753f8263f436efaabfbb3b4db53a98fc55342c5ded2daf7208b217be159

"team/message/queued"

"team/task"

SHA-256: b57ae1b37e52bee0a21cbdace168dc6a15582bcda8c306dad962c5dcc8a8e28b

"team/task"

"text"

SHA-256: 4e44c9118152f6829634bfd508e47669ab0497caffa380c94b4be91f9390d35d

"text"

"text-chunks"

SHA-256: f9cfc89e8fe085b4fcc9cd32b74b6f103608c54d7d8cd97b47c01de34f252ba3

"text-chunks"

"text-delta"

SHA-256: 5abab3a27fd2736660ecddd94b28d6bbf114986dd894880153bd1be3ccacb563

"text-delta"

"todo/write"

SHA-256: af0750d32d97d47b12b7361a587db41894b17e04c9a805fe212f0114aa2248c7

"todo/write"

"tool"

SHA-256: a13d8f379222ece8a02a86efe4c8334af4f108ecb3034b38c0a42bb3046e6847

"tool"

"tool-call"

SHA-256: 1f0133217eeeffd8d387baf1ec8ed9856e719bcd999dc08e48624cba96d75fd7

"tool-call"

"tool-call-chunks"

SHA-256: 616f93a5047de668e1c30d57b1786abd76beeb4123599637ec1dc5290320ede5

"tool-call-chunks"

"tool-call-delta"

SHA-256: 9b4fd974c124c83743efe030ba4e1250e087505f3f74588716a521fb8d453267

"tool-call-delta"

"tool-calls"

SHA-256: 6c1cccb433ddc153facb380c7dda956237ba5c31f8a532a69142dc277890cc9b

"tool-calls"

"tool-result"

SHA-256: e5244812c495a80c2e78ba2c2690dca5f6b58ea8d3fe5531ff94a6f9ac5e5d66

"tool-result"

"tool-workflow/agent-end"

SHA-256: 5d17f27a1ef9f7026c0232714adf7573961536d75f3303ca97973975f5af170e

"tool-workflow/agent-end"

"tool-workflow/agent-start"

SHA-256: ad92f473a03ae72599ff26c86e897c25e16269519ad2a87340f0bea946517af8

"tool-workflow/agent-start"

"tool-workflow/run-end"

SHA-256: fe792a6cd430494503837e21e79f91677704ccdd9e870c679aabd7d43ed47ddd

"tool-workflow/run-end"

"tool-workflow/run-start"

SHA-256: cdca80b8dad24d4e7b1d5a288a8475ba8d8d46be385bd2da85f122ee836f1670

"tool-workflow/run-start"

"tool/call"

SHA-256: c589e938cc0e4989df8b82abef6339de621f0dc4fe62c230d145b94996af7f92

"tool/call"

"tool/ptc-dispatch"

SHA-256: fb5e0517050d2c6d40e5b8145db1f7c5ca7044d5d50fada6ff80e0b22c6ca973

"tool/ptc-dispatch"

"tool/ptc-dispatch-start"

SHA-256: 2aed07493b1c65b6d00de5586da1e743cf501684b9ad43a1765fb4007d4ea456

"tool/ptc-dispatch-start"

"tool/result"

SHA-256: 570e85022434613394418ad33e77e9f1f7a05699b33d0b62eae0677a638c3833

"tool/result"

"turn/end"

SHA-256: 4312134fc6f9cad507c31390bd3d147535492dd77621ec517c5e85f853d53a03

"turn/end"

"turn/start"

SHA-256: 0af3ecfb8c60d416fc40a7cc4fb2c4851a8e46608b2b38ab9e510670c971aa1f

"turn/start"

"unavailable"

SHA-256: 2c4c21f19f426a58f2dac914e34313aa43f8408972de857a486d1f086d5adb6c

"unavailable"

"usage"

SHA-256: 0bdaf9cb63594be4ef034b68901fffe792fe09d6d5f6bac42d7f56f6e7834fb9

"usage"

"user"

SHA-256: 68f44f59e91c41395076cb77265981a601680ec8a381bbbeb6ab754ffdc94573

"user"

"user/message"

SHA-256: de25352d2dc4196309bd84b5bac6319f6d5c898ea0e82bb5ae66c5738d0d426f

"user/message"

"web/deepseek-search-llm-request"

SHA-256: 6f611bed14b2106542480c4a230b4a83baf76dc0d8ac0cd13319a7cb8dae7675

"web/deepseek-search-llm-request"

SHA-256: 935c8d486292b13c87b57ca280eb8c58b5b2f5239be86fcd4334c33fdeb87682

"web_search"

"web_search_20250305"

SHA-256: 0116b1f89c05221d56b0ba35c83d302bf4857bc7277d247e9bbaf74b27d2c66e

"web_search_20250305"

"webhook"

SHA-256: db6c5246911d47a7969f6b4cb47c7d0dbbde75c402710b22ace3672fa97bebe0

"webhook"

"workspace-write"

SHA-256: a3edd1efd1fef21b72c55e213c8a8b24196b091abde2b89db52be0b2aaae3cfa

"workspace-write"

"workspace/changes"

SHA-256: 8e8155594e07812356b67d732196dda894b0f9c91a5969d51612cf490b0a016d

"workspace/changes"

0

SHA-256: 93d38436347f67c9022aacbc4472e283d722bcab8eb73fc376aaf7b6a6b9fb35

0

1

SHA-256: f88f1b7b6bb733f685f5fb6a8744a5db9199fa53c90463ea1a33bad51153671d

1

2

SHA-256: a0f906856fc06f1c6f2083eb970e5a657a82b1a84c06c095445e5d6d161cda80

2

4

SHA-256: af6e173f7be819bcd0a5c8d77918649c10ce761d8a184ff472f2e01ce64eb2e0

4

AfterScheduleRecord

SHA-256: 27e337d3d6b402b221e50c247a3f518a70d0c474cc60beee15fac3e9c5cbfcbe

Sources: packages/schedule/schedule/src/types.ts:13

Property Presence Type
afterSeconds required number
id required string
kind required "after"
prompt required string
scheduledAt required string

AgentInstructionChange

SHA-256: 83da72c6857601c75da11212ef847f57d457b9c99f0a82246dcdff3e26700239

Sources: packages/context/agent-instructions/src/render.ts:47

Property Presence Type
action required union (3 variants)
digest optional string
path required string
scope required string

AgentInstructionChange[]

SHA-256: 2ab12a0e345658f9342816d773fe610f049982bcad82631f43b9205abe43e5ee

Array of AgentInstructionChange.

AgentInstructionSource

SHA-256: 6f22a9d02b9a1f1157f3b0e7bdccd7e7b12b085c4efdb709dfc74a465cd4e590

Sources: packages/context/agent-instructions/src/state.ts:37

Property Presence Type
baseline optional true
baselineIdentity optional string
changes required AgentInstructionChange[]
form required "instructions"
kind required "agent-instructions"

AgentMessageSource

SHA-256: 4a9bef9f27a942520cc2279ca7dd3082556e4bff543f66b5c0333e1bbed1cd86

Sources: packages/subagent/subagent/src/continuation-messages.ts:15

Property Presence Type
form required "relay"
kind required "agent-message"
senderSessionId required string

ApprovalOutcome

SHA-256: 930c1cd289def119d443e19dd90008916bf035f0a4d23e07241e7f050f2b89b7

Sources: packages/interaction/user-approval/src/types.ts:32

One of:

  • "allowed-once"
  • "cancelled"
  • "rejected"
  • "unavailable"

ApprovalPolicy

SHA-256: 05d2ae1e0c7f8770f83f9a09047afb39a335d8ac986df3193659aa1e581472cf

Sources: packages/interaction/user-approval/src/index.ts:60

One of:

  • "ask"
  • "never"

AssistantMessage

SHA-256: e50b0a3ed8e6c80b672e4f855c91984f03b5c3fdd5d475bf171171f391a86c83

Sources: packages/llm/llm/src/message.ts:148

Property Presence Type
content required ContentBlock[]
id required string
role required "assistant"
source required ModelMessageSource

AssistantStreamRecord

SHA-256: 86cf1e44038cb8b11659863dd0efafe682e41b9c782265c1d50e0a687debfc60

Sources: packages/llm/llm/src/assistant-stream.ts:20

One of:

AssistantStreamRecord[]

SHA-256: 26f3bb7529cfce1e3a0f1ededa365d8b426758ca0feeb0beabeee805f8bb8346

Array of AssistantStreamRecord.

AtScheduleRecord

SHA-256: 658d895d187b26d83f3b53109a3bf77bbfba9f6f9a6d4bc4ee4315b4eb36239e

Sources: packages/schedule/schedule/src/types.ts:27

Property Presence Type
id required string
kind required "at"
prompt required string
scheduledAt required string

CommandSource

SHA-256: ada310bf0bdb8fed51f3b56ea63f6ea6b18bbd587f04fccb63a14ab0b2a24e05

Sources: packages/core/session/src/types.ts:189 · packages/interaction/commands/src/types.ts:75 · packages/interaction/commands/src/types.ts:79 · packages/llm/llm/src/message.ts:103 · packages/session/session-title/src/types.ts:35

Property Presence Type
kind required "user"

ContentBlock

SHA-256: c7b24be059d34d08929593049a1a81eaa3855166aacfe9d7603c0bc8bb728d56

Sources: packages/llm/llm/src/types.ts:137

One of:

ContentBlockType

SHA-256: 757013fff5879d73d5753d8d1120faab56110e88ac3932485ab7e034d9e9ce61

Sources: packages/llm/llm/src/types.ts:135

One of:

  • "file"
  • "image"
  • "reasoning"
  • "text"
  • "tool-call"
  • "tool-result"

ContentBlock[]

SHA-256: bb72d86bc9ef0b3908bfa57ef98ccccae24d67d945c9f6869ca3cb8577889e75

Array of ContentBlock.

ContextSnapshotSection

SHA-256: 86e1e384495ee09ac2d60c9db3610f1f1fddac2d248f6f1d6000e78054680219

Sources: packages/llm/llm/src/message.ts:65

Property Presence Type
name required string
text required string

ContextSnapshotSection[]

SHA-256: c748fb42c80a120038a8c587af80ec39924803c401364db11c8974d5bf6d0262

Array of ContextSnapshotSection.

ContinuableSubagentDescriptorData

SHA-256: 6487b10ba7542f3c447b1e41a1c6a590b7bfafe0b9b66b49f34028da85bb970f

Sources: packages/subagent/subagent/src/descriptor.ts:72

Property Presence Type
agentModel optional string
agentProvider optional string
agentReasoningEffort optional string
label required string
mode required "continuable"
persona optional string
provider required string
toolFilter optional ToolRestriction
version required number

DeepSeekSearchLlmRequest

SHA-256: 2517ba143a271508d3ca35126d5aca8f7f1facf5aaddce4adf011832042fa2b9

Sources: packages/web/web-search-deepseek/src/provider.ts:55

Property Presence Type
apiVersion required string
body required { max_tokens, messages, model, tools }
endpoint required string

EpochHeader

SHA-256: c55a891c7aac496de6ee64c91c1fb65728c977314013033e42c863428aada854

Sources: packages/core/session/src/types.ts:239

Property Presence Type
adapterDefaults optional LlmCallConfigAdapterDefaults
config required LlmCallConfig
tools optional ToolSchema[]

EveryScheduleDispatchChange

SHA-256: e6063d0451dc02026fd9b54ad3f77c7b1b6392ad3e872a7737ac84e13ca72344

Sources: packages/schedule/schedule/src/types.ts:93

Property Presence Type
acceptedAt required string
id required string
operation required "dispatch"
version required 1

EveryScheduleRecord

SHA-256: 66ece68282d8c06330fb83329a24ae54c386d5ccfab296bbf18369da8beb7d14

Sources: packages/schedule/schedule/src/types.ts:39

Property Presence Type
everySeconds required number
id required string
kind required "every"
prompt required string
scheduledAt required string

FeedbackRecord

SHA-256: 7d54a5a5e629e2e7783bfac72683bcc5e969e9f43426b9289826aaf294ff6344

Sources: packages/feedback/command-feedback/src/types.ts:27

Property Presence Type
category optional union (7 variants)
text optional string

FileAttachmentRef

SHA-256: f19bee84bf3d20904553cdcd57465232bc1c2a194f54c4d195292ba0487223a6

Sources: packages/attachment/attachment/src/types.ts:39

Property Presence Type
attachmentId required string
bytes required number
name required string

FileBlock

SHA-256: f2da0f27c1e6add59982c37b15e4a4912c5b33466859cce3b13d503600e24aef

Sources: packages/llm/llm/src/types.ts:97

Property Presence Type
attachment required FileAttachmentRef
type required "file"

FinishReason

SHA-256: 5808e36c95355f0e745201b5db1b6bcec4ebf5adb75d3e82d7d59cc89635ab80

Sources: packages/llm/llm/src/types.ts:152

kind Form property Other required fields Full definition
aborted not declared failure: LlmFailure { failure, kind: "aborted" }
error not declared failure: LlmFailure { failure, kind: "error" }
max-tokens not declared none { kind: "max-tokens" }
stop not declared none { kind: "stop" }
tool-calls not declared none { kind: "tool-calls" }

GoalBlockReason

SHA-256: 84ac8c1a66ffc697262e181f42e851259eae14038c113ca329fb4700ccdb1f7c

Sources: packages/goal/goal/src/types.ts:52

Property Presence Type
code required string
message required string

GoalChangeMeta

SHA-256: 7d226b9fd95b4ba213d4237c22e930a91c3c769c95ca7f92977b9d625ba13438

Sources: packages/goal/goal/src/domain.ts:44

kind Form property Other required fields Full definition
goal/change not declared createdAt: number; goal: GoalSnapshot; operation: union (6 variants); roundsStarted: number; updatedAt: number; version: 1 GoalSnapshotChangeMeta
goal/change not declared cleared: GoalRef; clearedAt: number; operation: "clear"; version: 1 GoalClearChangeMeta

GoalClearChangeMeta

SHA-256: cffcdc19881ab61ec0a9ce18743996f7ac44ac8889f34dfac36ae745574aa22f

Sources: packages/goal/goal/src/domain.ts:35

Property Presence Type
cleared required GoalRef
clearedAt required number
kind required "goal/change"
operation required "clear"
version required 1

GoalMessageSource

SHA-256: 7f959241c24128b4983b559984811861dc59774b85905c8fa57c6cb0148a3dbc

Sources: packages/goal/goal/src/domain.ts:47

Property Presence Type
goalId required string
kind required "goal"
revision required number
round required number

GoalPhase

SHA-256: b8327af7ee5767952d1300cb4f03b7fc04197ae5ba275e13981c689ff7506172

Sources: packages/goal/goal/src/types.ts:45

One of:

  • "active"
  • "blocked"
  • "complete"
  • "paused"

GoalRef

SHA-256: 0b6d718c693fdf7f06dcccb0bcbbabe78cc63514eafc62d6b2a3899735279d6f

Sources: packages/goal/goal/src/types.ts:20

Property Presence Type
id required string
revision required number

GoalSnapshot

SHA-256: 6bbe793f6a93dc8d50a4d4d3fbb6f8ed15650bcb7e151d28669628f7b7c3fc25

Sources: packages/goal/goal/src/types.ts:60

Property Presence Type
blockedReason optional GoalBlockReason
id required string
maxGoalRounds required number
objective required string
phase required GoalPhase
revision required number

GoalSnapshotChangeMeta

SHA-256: 1df34a6c086866ffdc2dd9e8e5c581c3751a010cdf6b8538a7327f7a3237f0b4

Sources: packages/goal/goal/src/domain.ts:24

Property Presence Type
createdAt required number
goal required GoalSnapshot
kind required "goal/change"
operation required union (6 variants)
roundsStarted required number
updatedAt required number
version required 1

HeaderLine

SHA-256: 18ee62b8900a4c3d046700f05d7a4d49d6cab2a660a020c87481d1603dd8bd4f

Sources: packages/session/session-persistence-jsonl/src/format.ts:82

Property Presence Type
agentPreset optional string
createdAt required number
cwd optional string
delegationDepth required number
id required string
isSeeded required boolean
origin optional "subagent"
parentSession optional string
type required "session"
version required number

HookDialect

SHA-256: a6b41f5bede8094d7bf635be5d69b1bd7a25e006ca9cf9415bceb9322f1a7feb

Sources: packages/hooks/hook-protocol/src/types.ts:48

One of:

  • "claude-code"
  • "codex"

ImageAttachmentRef

SHA-256: b0b0eb1b16490f6bee135b2377e8f8c39227974c799ad7d49ff418af23ecbc35

Sources: packages/attachment/attachment/src/types.ts:11

Property Presence Type
attachmentId required string
bytes required number
height required number
mediaType required ImageMediaType
name optional string
originalDimensions optional { height, width }
width required number

ImageBlock

SHA-256: 12d5808fac1996b9b3c2afa806e03022252ba2d7b88f835862ae1896591f60c7

Sources: packages/llm/llm/src/types.ts:78

Property Presence Type
attachment required ImageAttachmentRef
offloaded optional true
type required "image"

ImageMediaType

SHA-256: 2f1e6a7ebace43d727ae138ddcd352eb3813960009e5805b8c5ac84300c97716

Sources: packages/attachment/attachment/src/types.ts:8

One of:

  • "image/gif"
  • "image/jpeg"
  • "image/png"
  • "image/webp"

ImageOffloadTarget

SHA-256: 1cde1bedde79c5e8a56aee9c05c8e0a579cf5bc611deb85b93fa331a16ca978f

Sources: packages/compaction/compaction-image-offload/src/projection.ts:9

Property Presence Type
imageIndexes required number[]
seq required number

ImageOffloadTarget[]

SHA-256: 9e2c06d8653585b33d72d5c1a80da79c8a24a88c284409bca15cc0f0ead5ebfb

Array of ImageOffloadTarget.

InboxTarget

SHA-256: 96f4a9c81fc0f940ef71528a8cc66731ae4cf1f40d79680c5fe3c39f96d7723c

Sources: packages/core/agent/src/types.ts:30

One of:

  • "next-step"
  • "next-turn"

JsonValue

SHA-256: c592ce75aab73fcab19c1d7845684c72cf402b78d2e1f2833a58ecf9f3598ed6

Sources: packages/util/values/src/index.ts:4

One of:

JsonValue[]

SHA-256: 72ec79127a9c0d0241b1106a74cc2b24c81ce467170f1c3c93f7b71a9496d227

Array of JsonValue.

LlmCallConfig

SHA-256: 67d5f73ceae82f5265258142ad6cf172de2c1fef93ba551b7f0454e0a93bffe0

Sources: packages/llm/llm/src/call-config.ts:23

Property Presence Type
maxTokens optional number
model required string
provider required string
reasoningEffort optional string
stop optional string[]
temperature optional number

LlmCallConfigAdapterDefaults

SHA-256: 326a9bfda27dda5882fb3cbe6e715df41dae2298fdae3d66437457268a665693

Sources: packages/llm/llm/src/call-config.ts:36

Property Presence Type
maxTokens optional true
reasoningEffort optional true

LlmFailure

SHA-256: 5f2117d1856a5ab43c28371faa978ebfaa48f8c7d734ea3fc94842210df83dca

Sources: packages/llm/llm/src/types.ts:40

Property Presence Type
code required string
message required string
offloadImages optional number
providerRetryAfterMs optional number
requestId optional string
status optional number

LlmRetryEventData

SHA-256: c170da8ab7c37635b10867b2571811d9e317ac3ec394e8ff8efe53f902fc41c1

Sources: packages/llm/llm-retry/src/types.ts:16

One of:

LlmRetryStartedEventData

SHA-256: 6f72ece8f317cd080c4f20a93f1bf709965f5b81ac4669528f5a023191cfcf20

Sources: packages/llm/llm-retry/src/types.ts:43

Property Presence Type
retry required number
retryId required string
step required number
turn required number

Message

SHA-256: 23c7cce57d20589897f4e2bd5898affc6fc611b87cd0cc8b95be1cfdd8b3a7eb

Sources: packages/llm/llm/src/message.ts:131

Property Presence Type
content required ContentBlock[]
id required string
role required union (3 variants)
source required MessageSource

MessageFeedbackDelete

SHA-256: 7c6129b6961cf4b2a030f36c78d2b0a5be38617651a9b81322e054ee512bee06

Sources: packages/feedback/message-feedback/src/types.ts:46

Property Presence Type
messageId required string
sessionId required string

MessageFeedbackItem

SHA-256: 3d7d07060a7be77984feb651ea2bf1925d3e0477911d9d3ed86330d1e8ca6182

Sources: packages/feedback/message-feedback/src/types.ts:20

Property Presence Type
category optional union (7 variants)
createdAt required number
messageId required string
note optional string
rating required MessageFeedbackRating
updatedAt required number
version required string

MessageFeedbackPut

SHA-256: aa7bc2817014ca6c45719b1c193c5c131be718a0921f34345098ff250f444626

Sources: packages/feedback/message-feedback/src/types.ts:38

Property Presence Type
item required MessageFeedbackItem
sessionId required string

MessageFeedbackRating

SHA-256: 390eed1028aba02774f14408647acec10ec5516e97d4f15ecde2b9989d5a69f2

Sources: packages/feedback/message-feedback/src/types.ts:17

One of:

  • "negative"
  • "positive"

MessageSource

SHA-256: 4c965666d5b42116945bc356087cd5e1fd549e6dece560785ed60511059a8283

Sources: packages/llm/llm/src/message.ts:128

kind Form property Other required fields Full definition
agent-instructions "instructions" changes: AgentInstructionChange[] AgentInstructionSource
agent-message "relay" senderSessionId: string AgentMessageSource
goal not declared goalId: string; revision: number; round: number GoalMessageSource
model not declared model: string; provider: string ModelMessageSource
plugin "catalog" plugin: string { kind: "plugin", form: "catalog" }
plugin "instructions" plugin: string { kind: "plugin", form: "instructions" }
plugin "notice" plugin: string; summary: string { kind: "plugin", form: "notice" }
plugin "recall" plugin: string { kind: "plugin", form: "recall" }
plugin "relay" plugin: string { kind: "plugin", form: "relay" }
plugin "snapshot" plugin: string; sections: ContextSnapshotSection[] { kind: "plugin", form: "snapshot" }
plugin not declared plugin: string { kind: "plugin" }
session-reference "recall" references: { capturedFormatVersion?, capturedThroughSeq, compacted, inputIndex, … }[]; version: 1 SessionReferenceSource
skill-catalog "catalog" entries: { description, name }[] SkillCatalogSource
skill-invocation "instructions" name: string SkillInvocationSource
subagent-settled "notice" senderSessionId: string; summary: string SubagentSettledMessageSource
team-message not declared messageId: string; senderId: string; senderName: string; teamId: string TeamMessageSource
tool not declared callId: string ToolMessageSource
user not declared rpcId: string { kind: "user" }
user not declared none CommandSource
webhook "notice" deliveryId: string; provider: string; ruleId: string; source: string; summary: string { kind: "webhook", form: "notice" }

Message[]

SHA-256: 478738df7e7d2b103b09fb937817a9302c81076809f2b341169e00a9419c5665

Array of Message.

ModelMessageSource

SHA-256: 719c51f67074f97034a6c94297fe1f4b5d3c8d392c57586dab732aa5398c7a91

Sources: packages/llm/llm/src/message.ts:24

Property Presence Type
kind required "model"
model required string
provider required string
replayState optional unknown (opaque)

ModelSelection

SHA-256: f09e5e7acf5ff5ccd193ff2eeec015fa2ff7c29d98bc465f8c3302058d47e29b

Sources: packages/api/session-controller/src/types.ts:86

Property Presence Type
model required string
provider required string
reasoningEffort optional string

OneShotScheduleDispatchChange

SHA-256: 8e8e91646a5cae3fc78f7532a0013ff2088ae47077642c2edd507a508209b8af

Sources: packages/schedule/schedule/src/types.ts:86

Property Presence Type
id required string
operation required "dispatch"
version required 1

OneShotSubagentDescriptorData

SHA-256: 5f758f3de5f00c18968a7c6d347083aac5c9ae13f6a79c78f6611b23c4973564

Sources: packages/subagent/subagent/src/descriptor.ts:61

Property Presence Type
label optional string
mode required "one-shot"
provider required string
version required number

OptionalSessionSeq

SHA-256: 3bd652ebfa8726b3ce3937a4f1bd2759e02f86b3a08a20f9e41a8513656fbc5f

Sources: packages/core/session/src/types.ts:64

One of:

  • null
  • number

PresentedFile

SHA-256: b8fc636a2121df9d8423c242e03c9d23b7ab7c6fdce00e45746932c60b730f97

Sources: packages/deliverables/tool-present/src/types.ts:5

Property Presence Type
description optional string
path required string

PresentedFile[]

SHA-256: 1d9cb3caa96100b18b1911fa3ff8c751ef6992971a03c5f4d9aefc1a0004a345

Array of PresentedFile.

PtcDispatchEventData

SHA-256: 8d2e5a3c4230e6ea6c0b5151f02241d0db02cd2551f2df1b6b9700cddcc0dca3

Sources: packages/core/tools/src/types.ts:20

Property Presence Type
arguments required unknown (opaque)
content required ContentBlock[]
error optional { code, name, reason? }
isError required boolean
name required string
parentCallId required string
rootCallId required string
subCallId required string

PtcDispatchStartEventData

SHA-256: 2fe5026daf14bd4ff2b7bfb7cf9791c302d9cbba06802178b6dfec00b892698f

Sources: packages/core/tools/src/types.ts:11

Property Presence Type
arguments required unknown (opaque)
name required string
parentCallId required string
rootCallId required string
subCallId required string

ReasoningBlock

SHA-256: 814d9434e1ddf9078612b3b34322f26e9363b469213335007f7e9ba7fee9464e

Sources: packages/llm/llm/src/types.ts:67

Property Presence Type
text required string
type required "reasoning"

ReplayEnvelope

SHA-256: 0acd94fe8794574c9ae72c7855ee16d29c546096d4af760d16d1225385764555

Sources: packages/llm/llm/src/types.ts:404

Property Presence Type
blocks optional unknown[]
response required unknown (opaque)

RequestContext

SHA-256: b158f3ff6923714807c0d73882f0b05dc87f8fa85c9e90814852d48bbc866081

Sources: packages/core/session/src/types.ts:249

Property Presence Type
contextWindow optional number
model required string
provider required string
systemPromptUpdate optional "in-history"

RequestHeaderReason

SHA-256: 530da6c0267813bb4511af72883cc518834e624e3b3220a7062955fd57a788a6

Sources: packages/core/session/src/types.ts:268

One of:

  • "change"
  • "initial"
  • "resume"
  • "series"

SandboxMode

SHA-256: fab2bb09bc5e3b9db0685e8f5500b029af1a2b33e70bc703c1d5d0f596fbc1fd

Sources: packages/sandbox/sandbox/src/index.ts:29

One of:

  • "danger-full-access"
  • "read-only"
  • "workspace-write"

ScheduleChange

SHA-256: e1d0e52dcd1855ffb803efc18f8f7b776c48d1c25757e8a75c0281fa298c02e1

Sources: packages/schedule/schedule/src/types.ts:105

One of:

ScheduleCreateChange

SHA-256: ca6425edd20afe34d0cedc6ad1abad1ad7b32e2fbc4c1d24db53939e80bf887f

Sources: packages/schedule/schedule/src/types.ts:72

Property Presence Type
operation required "create"
schedule required ScheduleRecord
version required 1

ScheduleDeleteChange

SHA-256: 18dc21f12bbac8ade8377e6fbb54179e20c3d955d73fba3244c57fb6bf001df0

Sources: packages/schedule/schedule/src/types.ts:79

Property Presence Type
id required string
operation required "delete"
version required 1

ScheduleRecord

SHA-256: d8f868c6b3e7189de6c1ffe2ea04794ea2aa31315b6347d12536e46020afac87

Sources: packages/schedule/schedule/src/types.ts:69

kind Form property Other required fields Full definition
after not declared afterSeconds: number; id: string; prompt: string; scheduledAt: string AfterScheduleRecord
at not declared id: string; prompt: string; scheduledAt: string AtScheduleRecord
every not declared everySeconds: number; id: string; prompt: string; scheduledAt: string EveryScheduleRecord

SessionHeader

SHA-256: 1a3440e3577382704d42a6263aa463504eb74c566734a55e9503a63efcd02445

Sources: packages/core/session/src/types.ts:93

Property Presence Type
agentPreset optional string
createdAt required number
cwd optional string
delegationDepth optional number
id required string
isSeeded required boolean
origin optional "subagent"
parentSession optional string
version required 4

SessionReferenceSource

SHA-256: f56c5b59ca0161310c338d31dd16cf14287ccd602ff4181058df178c1c286d7f

Sources: packages/context/session-reference/src/types.ts:13

Property Presence Type
form required "recall"
kind required "session-reference"
references required { capturedFormatVersion?, capturedThroughSeq, compacted, inputIndex, … }[]
version required 1

SessionTitleEventData

SHA-256: b56f6a885da3dc394c69a3e3cc5c0cfc4da15601b63fda4989eee8f40efc5be4

Sources: packages/session/session-title/src/types.ts:41

Property Presence Type
messageSeqs required number[]
source required SessionTitleSource
title required string

SessionTitleLlmRequestEventData

SHA-256: 9fe0e77a7816b7fdb4b953ec0e2f0cd7bbd22c5de5c3567e612d1b20eb0992e6

Sources: packages/session/session-title-llm/src/index.ts:27

Property Presence Type
maxTokens required number
messageSeqs required number[]
messages required Message[]
route required SessionTitleModelIdentity
system required string
titleProvider required string

SessionTitleModelIdentity

SHA-256: 07e1a58c58b593f507b8e7f25723bb0aa42baae6e00f5ecfddf28cb1e64d3235

Sources: packages/session/session-title/src/types.ts:20 · packages/subagent/tool-subagent/src/model-selection.ts:9

Property Presence Type
model required string
provider required string

SessionTitleModelIdentity[]

SHA-256: ba77b58995e36f14bb13886b0493d0a1a63d5db10b1a6cd9f6ac65a72cf832ec

Array of SessionTitleModelIdentity.

SessionTitleSource

SHA-256: 30d5a537b296685770b1241c4b4bbde19d5a31ff81aa23df73fab5e90b8fc65f

Sources: packages/session/session-title/src/types.ts:28

kind Form property Other required fields Full definition
fallback not declared none { kind: "fallback" }
provider not declared provider: string { kind: "provider" }
user not declared none CommandSource

SkillCatalogSource

SHA-256: fc2ae6962f9f8801c2b1e414668e1e17cbb7544c4f39381198977a38bd10c093

Sources: packages/skill/tool-skill/src/index.ts:34

Property Presence Type
entries required { description, name }[]
form required "catalog"
kind required "skill-catalog"
update optional true

SkillInvocationSource

SHA-256: 672c4aa2a9b736e3d6e5da6346d2e2ed5e3573f2d0baafa18e7407c9f3fee3db

Sources: packages/skill/skill/src/index.ts:146

Property Presence Type
form required "instructions"
kind required "skill-invocation"
name required string

StreamChunk

SHA-256: 071d92b9dac661fcc826c678cf64d188f26fb93aab79c627b11a03acdd34dfca

Sources: packages/llm/llm/src/types.ts:426

One of:

SubagentCatalogEvent

SHA-256: 3ac1196f59d5e9e0e9345122c8c403b102478b526404a2e591a38f613483321e

Sources: packages/subagent/subagent/src/catalog.ts:24

One of:

SubagentDescriptorData

SHA-256: 86d1d0e9cfebb240421187e3dc37fb71cc38a1501885cf32f8f9adef7b0a2bde

Sources: packages/subagent/subagent/src/descriptor.ts:89

One of:

SubagentSettledMessageSource

SHA-256: 4e97c3d85c0fc817ee58873c38c25a2474abaaa0af4839311b50b68db3b8cf1a

Sources: packages/subagent/subagent/src/continuation-messages.ts:30

Property Presence Type
form required "notice"
kind required "subagent-settled"
senderSessionId required string
summary required string

SurfaceOp

SHA-256: 335e242de1fcc17b6ca920fc420d71bec2d76e53e37955c00948b65ab77f05c5

Sources: packages/core/session/src/types.ts:448

One of:

SystemMessage

SHA-256: 302b01ddddcbb3b16cfa3fba2a5d99f5082a55fbd9dc5c83a179a228b8a6a0ca

Sources: packages/llm/llm/src/message.ts:158

Property Presence Type
content required ContentBlock[]
id required string
role required "system"
source required union (7 variants)

TeamMemberPhase

SHA-256: dfce5db4aa42b7ebe0bb79eca92553587287e18c06b9eba85cbfb9d332e26acd

Sources: packages/experimental/agent-team/src/types.ts:44

One of:

  • "active"
  • "failed"
  • "provisioning"

TeamMemberSnapshot

SHA-256: 6598cd6da253948d6b207c6374a45335804c79b576866d6215649c2d1bc85e25

Sources: packages/experimental/agent-team/src/types.ts:47

Property Presence Type
context required union (2 variants)
description required string
error optional string
id required string
name required string
phase required TeamMemberPhase
provider required string

TeamMessageSnapshot

SHA-256: 5b694f394d5e11609887a3ccfa82844935d49806c37e336b30be2186d649ab94

Sources: packages/experimental/agent-team/src/types.ts:106

Property Presence Type
content required ContentBlock[]
id required string
senderId required string
senderName required string
targetId required string

TeamMessageSource

SHA-256: 2152caf1a71e588e4df2358a806dea24936c1c47131134f01a12939d12cdc0c0

Sources: packages/experimental/agent-team/src/types.ts:115

Property Presence Type
kind required "team-message"
messageId required string
senderId required string
senderName required string
teamId required string

TeamTaskSnapshot

SHA-256: 51edec100659da3a9bd9c3f6ba1180f5e64ec9a1585e5057080df45c180bd357

Sources: packages/experimental/agent-team/src/types.ts:74

Property Presence Type
blockedBy required string[]
description required string
id required string
ownerId optional string
revision required number
status required TeamTaskStatus
subject required string
writeScopes required string[]

TeamTaskStatus

SHA-256: b2d2a01e51341a3bfec809198952c8c830a7899f4cb6ecd3c1dc0b5d9a2af943

Sources: packages/experimental/agent-team/src/types.ts:71

One of:

  • "completed"
  • "deleted"
  • "in_progress"
  • "pending"

TextBlock

SHA-256: 4e887768586528565381dadbddee6cef555874148089f4579e0b4b1ad096fc9c

Sources: packages/llm/llm/src/types.ts:61 · packages/web/web-search-deepseek/src/provider.ts:66

Property Presence Type
text required string
type required "text"

TodoItem

SHA-256: a99f76fd149051c363f960bfeeb5b9509587ecaf7591a42797e4bfe810d8987a

Sources: packages/todo/tool-todo/src/types.ts:21

Property Presence Type
content required string
status required union (3 variants)

TodoItem[]

SHA-256: 4b7ddaf3710b88ff9b8df66304f5f97bf03688fd19730eedc2e9535203c820ea

Array of TodoItem.

TokenUsage

SHA-256: fec5442b9ee4122e10514d81d5a43648003fe8bfb7ee2ba50c0cdbdd383ed394

Sources: packages/llm/llm/src/types.ts:162

Property Presence Type
cacheReadTokens optional number
cacheWriteTokens optional number
inputTokens required number
outputTokens required number
reasoningTokens optional number
totalTokens optional number

ToolCallBlock

SHA-256: c1f0f17b6493b85db6453bb30e01b208d703731b25bc1e68e5d4fc72eea9cdea

Sources: packages/llm/llm/src/types.ts:104

Property Presence Type
arguments required string
id required string
name required string
type required "tool-call"

ToolMessageSource

SHA-256: d9c462b9f62fdd3efc76a44b9524dc8781f6b91cd9c7e584b17d971defafebab

Sources: packages/llm/llm/src/message.ts:29

Property Presence Type
callId required string
kind required "tool"

ToolRestriction

SHA-256: 3cfc3a56502da1f8c6153c2c56657bab4b749056968634dd0991d325ec1c919f

Sources: packages/core/tools/src/index.ts:682

Property Presence Type
allow optional string[]
deny optional string[]

ToolResultBlock

SHA-256: d61574d68558c5a184429e70b04da393dd5460bf5cc3ddef814546e659bd5127

Sources: packages/llm/llm/src/types.ts:114

Property Presence Type
content required ContentBlock[]
isError optional boolean
toolCallId required string
type required "tool-result"

ToolResultMessage

SHA-256: 1b573e2d5c094fa87e2a8bf409ddd4ac5ba92a123085e168de44b9ccdbd5244c

Sources: packages/llm/llm/src/message.ts:164

Property Presence Type
content required tuple (1 positions)
id required string
role required "user"
source required ToolMessageSource

ToolSchema

SHA-256: 7f5f2a8618c2ece530a18b1358b890fb57fb8c35705e47b66bff2296f8c6e889

Sources: packages/llm/llm/src/types.ts:447

Property Presence Type
description required string
name required string
parameters required {}

ToolSchema[]

SHA-256: 6d63f25a28b70801937a46b1058be5f52d4efbaf3516141470463ae469b59c23

Array of ToolSchema.

ToolWorkflowAgentEndData

SHA-256: c0ea97bc89dfc46fa94eab956f5c3ee6af2f964aa7db6327cb18b451f207bef7

Sources: packages/workflow/tool-workflow/src/types.ts:29

Property Presence Type
outcome required WorkflowAgentOutcome
runId required string
seq required number

ToolWorkflowAgentStartData

SHA-256: 9a410ddf56792b2b7cd4a224a2e54dc4dee30a8e8e6b1c2b9a1d19992b217adc

Sources: packages/workflow/tool-workflow/src/types.ts:20

Property Presence Type
childId required string
label required string
phase optional string
runId required string
seq required number

ToolWorkflowRunEndData

SHA-256: 7f9365bae9fcb73e1e34061a1acfe0422c1a5fd351848cace9bebbe806f28462

Sources: packages/workflow/tool-workflow/src/types.ts:36

Property Presence Type
runId required string
stopReason required WorkflowStopReason

ToolWorkflowRunStartData

SHA-256: a6da9ad5d42ae83a6833a8288b076688e8e0801633ea36cbdd8a30a6d9f3160c

Sources: packages/workflow/tool-workflow/src/types.ts:14

Property Presence Type
name required string
runId required string

TurnEndCancelCause

SHA-256: 1f8c126cfab3df812cd115cfc23e3256f0fa2383400f4ce91ecad313577e59b0

Sources: packages/core/session/src/types.ts:195

kind Form property Other required fields Full definition
disposed not declared none { kind: "disposed" }
hook not declared reason: string { kind: "hook" }
legacy not declared none { kind: "legacy" }
parent not declared none { kind: "parent" }
user not declared none CommandSource

TurnEndReason

SHA-256: f1687f982fa3d41ef29e159feed154ecd13af4dd209acaee16038f223f2e9402

Sources: packages/core/session/src/types.ts:231

kind Form property Other required fields Full definition
aborted not declared reason: TurnEndCancelCause { kind: "aborted", reason }
blocked not declared none { kind: "blocked" }
completed not declared none { kind: "completed" }
error not declared error: LlmFailure { error, kind: "error" }
forked not declared none { kind: "forked" }
interrupted not declared none { kind: "interrupted" }
max-tokens not declared none { kind: "max-tokens" }

UserMessage

SHA-256: 4de5e7644130ed715ef6b5a4d86a87b30dca4096d1a6683c66acf6f7809379c7

Sources: packages/llm/llm/src/message.ts:143

Property Presence Type
content required ContentBlock[]
id required string
role required "user"
source required MessageSource

UserMessage[]

SHA-256: 300341f890f7b9506a1749fff4fa5239d16ea1c63ff6b15851acb03c20f3b48d

Array of UserMessage.

WorkflowAgentOutcome

SHA-256: c2deb7c9183735d4e0fffddf5c623f4e34daa1c8e96b111982e957dfcbbcf896

Sources: packages/workflow/workflow/src/types.ts:110

One of:

  • "cancelled"
  • "completed"
  • "failed"

WorkflowStopReason

SHA-256: 8465ece5e9d9007c038b357015d849c15262cb0bc25abc59e47692d87ee01a15

Sources: packages/workflow/workflow/src/types.ts:63

One of:

  • "cancelled"
  • "completed"
  • "error"

boolean

SHA-256: aa93010d0e521ad7c42273f58d5c9b8bf1dfc94edf1b805a3971b364a35c1877

boolean

false

SHA-256: 0c4205180f75b9ee1e0d878bd9a9851628b5dc18448486389d9c5fdc3f1ccda3

false

null

SHA-256: 938f7c7357bc403ea3b281a9dd016939df7a0880fc8db12612585be574d0d615

null

number

SHA-256: 0657d3ca5ac4e7bf79b00bcf860b1c7159d01a9da137497221ec2f1776e365f7

Sources: packages/core/session/src/types.ts:31

number

number[]

SHA-256: 5d03ba38734809bcbd2a55221bd938b3b3fc34b49bb686c6113e9e4931e3aa78

Array of number.

string

SHA-256: 4cd48f3e5108bd6ebedf7301c3638839b8b2b9db8dbd493974177fbdeb91a01b

Sources: packages/api/session-controller/src/types.ts:380 · packages/attachment/attachment/src/brand.ts:6 · packages/compaction/compaction/src/brand.ts:4 · packages/core/session/src/types.ts:19 · packages/experimental/agent-team/src/types.ts:20 · packages/experimental/agent-team/src/types.ts:32 · packages/experimental/agent-team/src/types.ts:8 · packages/feedback/message-feedback/src/types.ts:14 · packages/goal/goal/src/types.ts:17 · packages/interaction/commands/src/brand.ts:31 · packages/interaction/user-approval/src/types.ts:17 · packages/llm/llm-retry/src/brand.ts:4 · packages/llm/llm/src/brand.ts:16 · packages/llm/llm/src/brand.ts:31 · packages/llm/llm/src/brand.ts:43 · packages/llm/llm/src/brand.ts:67 · packages/schedule/schedule/src/types.ts:10 · packages/session/session-title/src/index.ts:42 · packages/session/session-title/src/types.ts:17 · packages/webhook/webhook/src/brand.ts:12 · packages/webhook/webhook/src/brand.ts:6 · packages/webhook/webhook/src/brand.ts:9 · packages/workflow/workflow/src/types.ts:13

string

string[]

SHA-256: 93c33d9687613293f8c95d46c4d922fe9ceae83b84c384beff5c3315abe005f2

Array of string.

true

SHA-256: dacf3d5f3e4ff619c1320e64a48dec5e7ecd7870bece65fbd449a0e63adfa521

true

tuple (1 positions)

SHA-256: 4aed17ec726b5397c29f6cb4bcd7905dc1a12bb6140f1657f073cd24380f2af8

Position Presence Type
0 required { type: "web_search_20250305" }

tuple (1 positions)

SHA-256: 8d6a011f3ef7096a4a922ef420458419ff6b20e1eaeece5d331db7585d2f08d6

Position Presence Type
0 required ToolResultBlock

tuple (1 positions)

SHA-256: 8f6d609794bf5afc01d7ccf3e03811d32f4b8047f58a2c9a98db0154c2ad7cb9

Position Presence Type
0 required TextBlock

tuple (1 positions)

SHA-256: b993441f8ce7d27b80e619e113e232ae8e62d3d5a8340f6bfe12d8c4c018e62f

Position Presence Type
0 required { role: "user" }

union (2 variants)

SHA-256: 1ab2ef1296f157ba96998f179bb5daa9d21a82480da2901127aeab2730797c92

One of:

  • "error"
  • "success"

union (2 variants)

SHA-256: 50cf02d875f8a1f1411f4a6fbcffab9120ccef5f74a47331fbf29480e5f68f48

One of:

  • "fork"
  • "fresh"

union (2 variants)

SHA-256: feb329074f0206ecc06d8a1aa0a0b3e2f47fd27524ba020fbc849ba63e938896

One of:

union (3 variants)

SHA-256: 5776e5553ff2dfe3f5bc202dbb1e7c9f93e35a531aebb7764c23b2b6153b2ccc

One of:

union (3 variants)

SHA-256: 904bf499d98be4a3a5f836fcac533b6c4899569b018071e6604e1d32657d00fd

One of:

  • "remove"
  • "replace"
  • "set"

union (3 variants)

SHA-256: acd36e1717d2b4ef9e98a8e6fac17ca1203f3f448e5bca51677f129a8f4999e2

One of:

  • "assistant"
  • "system"
  • "user"

union (3 variants)

SHA-256: fd0d91a1f9dd2efb8959bdf5e07f8f0a98b1cdfa38ce8d4732ebde0b44c3abd4

One of:

  • "completed"
  • "in_progress"
  • "pending"

union (6 variants)

SHA-256: 62e6a429ff3f390a46ac39fb468692032f42936ca0db19b53454184189401379

One of:

  • "block"
  • "complete"
  • "create"
  • "edit"
  • "pause"
  • "resume"

union (7 variants)

SHA-256: 23cf7e0cf3fec1283b60fa15713506169bc9c079a08e124d1cb9733baca80b40

kind Form property Other required fields Full definition
plugin "catalog" plugin: string { kind: "plugin", form: "catalog" }
plugin "instructions" plugin: string { kind: "plugin", form: "instructions" }
plugin "notice" plugin: string; summary: string { kind: "plugin", form: "notice" }
plugin "recall" plugin: string { kind: "plugin", form: "recall" }
plugin "relay" plugin: string { kind: "plugin", form: "relay" }
plugin "snapshot" plugin: string; sections: ContextSnapshotSection[] { kind: "plugin", form: "snapshot" }
plugin not declared plugin: string { kind: "plugin" }

union (7 variants)

SHA-256: 3305a4bb6b6c29b482ba91d59c60b47e8f98282d3dacc8c29e4a4c2712209bdd

One of:

  • "instruction-following"
  • "other"
  • "product-interaction"
  • "resource-cost"
  • "security-privacy-permission"
  • "service-stability"
  • "task-result"

unknown

SHA-256: bbc5696e3f13c758237b316e3cf08cda0b9fd51ffe672539883457769faa185d

unknown: the declaration does not expose the stored value's internal fields.

unknown[]

SHA-256: b1664fa89f8eab49a14e7e3168d8bc4da4aa9fd76332f6c4a053d839e5276ae7

Array of unknown (opaque).

{ active }

SHA-256: 20a57544bbf204dacd1ae6beb2ab29444365c3c869f2afdf489dcdcbc3d9c8c5

Sources: packages/plan/plan-mode/src/index.ts:47

Property Presence Type
active required boolean

{ agentPreset }

SHA-256: 6e52dd55a1d48954ed5464ec46fe34d9eb65f709baabc9561e7a279910b0c406

Sources: packages/preset/agent-presets/src/session.ts:28

Property Presence Type
agentPreset required string

{ allowedModels }

SHA-256: 0d47a8f3d847243c4488e755ad4cab7a04ac5d4621b9c81865524cf3f4d8536f

Sources: packages/subagent/tool-subagent/src/model-selection-state.ts:17

Property Presence Type
allowedModels required SessionTitleModelIdentity[]

{ args?, commandId, name, source }

SHA-256: a853902cfab417b8f08aa51ad6855fea46f34ed4588a74e47403035111d0fb86

Sources: packages/interaction/commands/src/types.ts:105

Property Presence Type
args optional string
commandId required string
name required string
source required CommandSource

{ arguments, callId, name, step, … }

SHA-256: e4c18e294232c3ba6c9f1999f168263cc55956147cfe4121720899be8e52edd1

Sources: packages/core/session/src/types.ts:348

Property Presence Type
arguments required string
callId required string
name required string
step required number
turn required number

{ callId, files, turn }

SHA-256: 1528539c63db8b23506f0209a99ce77d8ad138adfbfcee3d4769b7382d93756c

Sources: packages/deliverables/tool-present/src/types.ts:15

Property Presence Type
callId required string
files required PresentedFile[]
turn required number

{ callId?, id, reason?, toolName }

SHA-256: 45f2a07ea94573123b6ae14db787a40062dec3834f36d8be92c523d40ba28448

Sources: packages/interaction/user-approval/src/types.ts:44

Property Presence Type
callId optional string
id required string
reason optional string
toolName required string

{ capturedFormatVersion?, capturedThroughSeq, compacted, inputIndex, … }

SHA-256: 4f91f187baeabef5c7950c4780d31bbe39f3345dff591a6cf26ac7e135ac1cf4

Sources: packages/context/session-reference/src/types.ts:18

Property Presence Type
capturedFormatVersion optional number
capturedThroughSeq required OptionalSessionSeq
compacted required boolean
inputIndex required number
label required string
omittedBytes required number
omittedMessages required number
originalMessages required number
retainedMessages required number
sessionId required string
truncated required boolean

{ capturedFormatVersion?, capturedThroughSeq, compacted, inputIndex, … }[]

SHA-256: df843efd87c78cf8de98f8e0d0216956cd568d0d0e56a22c853663e274aa1a18

Array of { capturedFormatVersion?, capturedThroughSeq, compacted, inputIndex, … }.

{ childCreatedAt, childId, label, mode, … }

SHA-256: 0e10d7c096b47e61defe372a5fc8bd37d835199410eac44367f95c45082498bd

Property Presence Type
childCreatedAt required number
childId required string
label required string
mode required "continuable"
version required 0

{ childCreatedAt, childId, label?, mode, … }

SHA-256: 5d542ac7bdf13310c46e1a884dec9fb18ad8c6e153cff207e639cd7bf9d7e694

Property Presence Type
childCreatedAt required number
childId required string
label optional string
mode required "one-shot"
version required 0

{ code, name, reason? }

SHA-256: a81059ca06999da1e712414520c2c65e491d052fcf9640fae20aa38f0a5dc735

Sources: packages/core/session/src/types.ts:370 · packages/core/tools/src/types.ts:24

Property Presence Type
code required string
name required string
reason optional string

{ commandId, kind, sourceEventSeq?, text? }

SHA-256: 5b6fb1f226ff56402db08a6aae82af76100b14056271875f69ec526a1ae05d51

Sources: packages/interaction/commands/src/types.ts:112

Property Presence Type
commandId required string
kind required union (2 variants)
sourceEventSeq optional number
text optional string

{ compactionId, error?, sourceCommandId?, turn }

SHA-256: ca59530d1a4f3e191b4032bc4a20eded0d827db8b5a7efb27b3af9e9b456c6f2

Sources: packages/compaction/compaction/src/types.ts:72

Property Presence Type
compactionId required string
error optional string
sourceCommandId optional string
turn required OptionalSessionSeq

{ compactionId, llmStreamCall, maxTokens?, model, … }

SHA-256: 9ff2ad8dddb836f75e8f6197fff2371323dfc396c3c6fb667e6e0b42fda79a5c

Property Presence Type
compactionId required string
llmStreamCall required true
maxTokens optional number
model required string
provider required string
rawOutput required ContentBlock[]
shadowedRange required { end, start }
shadowedSeqs required number[]
shadowedTokenCount required number
sourceCommandId optional string
summary required ContentBlock[]
usage optional TokenUsage

{ compactionId, maxTokens?, model, provider, … }

SHA-256: 3aa261c8516b5c955ed12080e6257a56cbe513f6c9f0ac9274c12e96c196ebca

Property Presence Type
compactionId required string
maxTokens optional number
model required string
provider required string
rawOutput optional ContentBlock[]
shadowedRange required { end, start }
shadowedSeqs required number[]
shadowedTokenCount required number
sourceCommandId optional string
summary required ContentBlock[]
usage optional TokenUsage

{ compactionId, sourceCommandId?, turn }

SHA-256: 3e4e7683b0192c9f0e6a75c59076108f017892cdb302a98032c2632fd79c356f

Sources: packages/compaction/compaction/src/types.ts:24

Property Presence Type
compactionId required string
sourceCommandId optional string
turn required OptionalSessionSeq

{ decision, durationMs, exitCode?, handlerId, … }

SHA-256: 8ad45ad053b4d89f8865c17cc9ff3b8748e86045f3f0fb816269a34af2619141

Sources: packages/hooks/hook-protocol/src/types.ts:31

Property Presence Type
decision required string
durationMs required number
exitCode optional number
handlerId required string
point required string
stderrSummary optional string
turn required number

{ delayMs, failure, maxRetries, mode, … }

SHA-256: cdee10e87dbed8440d8b6935888624884878efc7af95402e94171b29f173dced

Sources: packages/llm/llm-retry/src/types.ts:17

Property Presence Type
delayMs required number
failure required LlmFailure
maxRetries required number
mode required "normal"
policyKey required string
provider required string
retry required number
retryId required string
step required number
turn required number

{ delayMs, failure, mode, policyKey, … }

SHA-256: 374fdd68aee5ff844e378c0cbdd961d247a0f22e4ade0bb03d800cd2a46a2b8b

Sources: packages/llm/llm-retry/src/types.ts:30

Property Presence Type
delayMs required number
failure required LlmFailure
mode required "always"
policyKey required string
provider required string
retry required number
retryId required string
step required number
turn required number

{ description, name }

SHA-256: 83079c8a3f733ac3fa603eefa0fbb4737ca4d8b69e7e2e7298b60f9ac4098693

Sources: packages/skill/tool-skill/src/index.ts:40

Property Presence Type
description required string
name required string

{ description, name }[]

SHA-256: aba175fb20ffc71112c55efe70458ff5d7dbfb83501892b4ba8d077f0ea5d7ba

Array of { description, name }.

{ dialect, handlerId, matcher?, point, … }

SHA-256: 119abe2b9c0b2f46ecb31d82b9acba4d4b30e049f655e2475e8b4ae12d5a9e25

Sources: packages/hooks/hook-protocol/src/types.ts:19

Property Presence Type
dialect required HookDialect
handlerId required string
matcher optional string
point required string
turn required number

{ end, start }

SHA-256: 9e41386b3a0c9572b0d63078492ebb3997da7d3a830d44e0259418bd02f4bcb2

Sources: packages/compaction/compaction/src/types.ts:38 · packages/compaction/compaction/src/types.ts:84

Property Presence Type
end required number
start required number

{ endSeq, op, startSeq }

SHA-256: bcf0caf62d964b2fcf5404bd5c909cfa9a21c3f3c96e6b7e36d9e33565223825

Sources: packages/core/session/src/types.ts:450

Property Presence Type
endSeq required number
op required "replace"
startSeq required number

{ error, kind: "error" }

SHA-256: 79650cfa10aa3c52440328d85e8a25f0ffadc8d7efd784e3c0819d8bb74a1985

Sources: packages/core/session/src/types.ts:211

Property Presence Type
error required LlmFailure
kind required "error"

{ error?, message, meta?, step, … }

SHA-256: 356aad27134a0e31af67c994ff8b9e4b91acfb6c4917b3bc1f7a62bbf82794d5

Sources: packages/core/session/src/types.ts:362

Property Presence Type
error optional { code, name, reason? }
message required ToolResultMessage
meta optional JsonValue
step required number
turn required number

{ failure, kind: "aborted" }

SHA-256: 8e31bb958e9b015e6f8407eaade32217068159e816f3cc99c3ad76eb889732e0

Sources: packages/llm/llm/src/types.ts:147

Property Presence Type
failure required LlmFailure
kind required "aborted"

{ failure, kind: "error" }

SHA-256: 693f4952fb5565da96c06bace8924b098ac2fbc915fde0ff8019701183abc057

Sources: packages/llm/llm/src/types.ts:148

Property Presence Type
failure required LlmFailure
kind required "error"

{ header, reason, startsSeries? }

SHA-256: 2f0aefb72ab453c4bf21a6687f436775d359dc6f8f10410fd4c0615b20bd9d76

Sources: packages/core/session/src/types.ts:377

Property Presence Type
header required EpochHeader
reason required RequestHeaderReason
startsSeries optional true

{ height, width }

SHA-256: 0f46153645c297846a3fad3911636659ca4717a5e7d71c9f50bffacd312115ef

Sources: packages/attachment/attachment/src/types.ts:28

Property Presence Type
height required number
width required number

{ id, outcome }

SHA-256: 93cbbc5a7fd0b1aa1ff1b9a6bb5ec52b073f48e5a5200365c45c0cd54059e1b9

Sources: packages/interaction/user-approval/src/types.ts:55

Property Presence Type
id required string
outcome required ApprovalOutcome

{ ignorable?, seq, sourceEventSeqs?, surfaceOp, … }

SHA-256: 998f22585a5d73ec005365e203f07fc3b3a029e82323fdda3fd7f13b0a9639d0

Property Presence Type
ignorable optional true
seq required number
sourceEventSeqs optional number[]
surfaceOp required SurfaceOp
time required number
type required string

{ ignorable?, seq, surfaceOp, time, … }

SHA-256: 7af85bf70d4eafce63e739adae38ea85501e68df3a0e22f97f3a0be90fd9e4cb

Property Presence Type
ignorable optional true
seq required number
surfaceOp required SurfaceOp
time required number
type required string

{ ignorable?, seq, time, type }

SHA-256: e3e77b26f0148755a505f5b8ea843a3be117827d4703bb5754d9dc8ddbef521f

Property Presence Type
ignorable optional true
seq required number
time required number
type required string

{ inherited? }

SHA-256: 17d1afb770d9941936130996da00dc86782cfef731d8d6526162c301256a4ac3

Sources: packages/core/session/src/types.ts:414

Property Presence Type
inherited optional true

{ inserted, outcome?, removedCount?, start, … }

SHA-256: a6a195c1b4a906d953d24ab5864c9f1881d545460e080a51144adfc9cb058cfe

Sources: packages/core/agent/src/types.ts:87

Property Presence Type
inserted required UserMessage[]
outcome optional "canceled"
removedCount optional number
start required number
target required InboxTarget

{ interrupted?, message, step, stream, … }

SHA-256: 77b8491f946edfc8cc77ebae3ba49183759da31ba2dfa83d4c9e9e618c4b91d2

Sources: packages/core/session/src/types.ts:328

Property Presence Type
interrupted optional true
message required AssistantMessage
step required number
stream required AssistantStreamRecord[]
turn required number
usage optional TokenUsage

{ kind: "aborted", reason }

SHA-256: 0a30c3be336cdd4f8f34e66543a3d46d611c43986edd9b3ce6cbb9b721d3b5d3

Sources: packages/core/session/src/types.ts:203

Property Presence Type
kind required "aborted"
reason required TurnEndCancelCause

{ kind: "blocked" }

SHA-256: 023a355b2be0d688fb6e4df8388dadb942761d46cfe96d0f499aae9631a159d4

Sources: packages/core/session/src/types.ts:205

Property Presence Type
kind required "blocked"

{ kind: "completed" }

SHA-256: b6ef9c6210be8350cd465f485cf520031fffa6bf3809c61a1e713e834c5982d0

Sources: packages/core/session/src/types.ts:201

Property Presence Type
kind required "completed"

{ kind: "disposed" }

SHA-256: 4bb451330ff699f36b45539ceb0eb2606ead72084e2c5bb637c36cc80e2252db

Sources: packages/core/session/src/types.ts:192

Property Presence Type
kind required "disposed"

{ kind: "fallback" }

SHA-256: 1b5649238876e28811e80f10ec67a00c197ad3babd4ecc61a22b09064b88c597

Sources: packages/session/session-title/src/types.ts:29

Property Presence Type
kind required "fallback"

{ kind: "forked" }

SHA-256: ec8b5ff7c77ca6893ac7ba5a0c5b2aefeb52f12c64450b7359660c2a7e8a53d7

Sources: packages/core/session/src/types.ts:227

Property Presence Type
kind required "forked"

{ kind: "hook" }

SHA-256: 6c5a37d42ebdb12db4410699259335f1e149e3a0260425684c00b153afc8990d

Sources: packages/core/session/src/types.ts:191

Property Presence Type
kind required "hook"
reason required string

{ kind: "interrupted" }

SHA-256: 56b7c047694875a843ba020dfea3c8380d54ae4ff88ab349e72004dc21e07c23

Sources: packages/core/session/src/types.ts:220

Property Presence Type
kind required "interrupted"

{ kind: "legacy" }

SHA-256: eaa71be0fbf0f702df8ea6c11d0aa2f9782263d45a10d0fb14eda662f4bfe04c

Sources: packages/core/session/src/types.ts:195

Property Presence Type
kind required "legacy"

{ kind: "max-tokens" }

SHA-256: ab7ec5f9eb2c6dfacca5da4c37cf7ba85d04172053ee6b1ebf1709ffcd99c1a7

Sources: packages/core/session/src/types.ts:213 · packages/llm/llm/src/types.ts:146

Property Presence Type
kind required "max-tokens"

{ kind: "parent" }

SHA-256: 6c03546143cdf6ae88f1745ac98c5139efa1588d1415249bbc5f3104d32ab800

Sources: packages/core/session/src/types.ts:190

Property Presence Type
kind required "parent"

{ kind: "plugin" }

SHA-256: 0ddab4577db37a3e0d9e3a91761735c8ef6f5629d526ab8ecaeeea19c097c8f8

Property Presence Type
kind required "plugin"
plugin required string

{ kind: "plugin", form: "catalog" }

SHA-256: 2f90a7b3646fea3e677bd7b4000aa96f3b8964f107b614e204e11ad4051c24fc

Property Presence Type
form required "catalog"
kind required "plugin"
plugin required string

{ kind: "plugin", form: "instructions" }

SHA-256: dda6e111a8ccfc12f6e742e977a1a4e3549e8c03732a5ff6c8d7c3d4bcb7a412

Property Presence Type
form required "instructions"
kind required "plugin"
plugin required string

{ kind: "plugin", form: "notice" }

SHA-256: b4d298d90c798fa4d1f5b030ce3ce8031c4c41beafdb05323bec8b2a06903b43

Property Presence Type
form required "notice"
kind required "plugin"
plugin required string
summary required string

{ kind: "plugin", form: "recall" }

SHA-256: 85e1bd563d6c80c1f377f99f91103fec4e315148a7330f3b3dae7c2d04e33b01

Property Presence Type
form required "recall"
kind required "plugin"
plugin required string

{ kind: "plugin", form: "relay" }

SHA-256: 2ce7ef3b3daebf95815c7ae454a751d3e67ca7a22e2e0734fe2942df393bb66c

Property Presence Type
form required "relay"
kind required "plugin"
plugin required string

{ kind: "plugin", form: "snapshot" }

SHA-256: e8d26e6993445743e6c4342c31b284c7d8f5574369abdd6021183af1a6b3538f

Property Presence Type
form required "snapshot"
kind required "plugin"
plugin required string
sections required ContextSnapshotSection[]

{ kind: "provider" }

SHA-256: b81e9de81a481b24e1e1f9adf038bfc59e57b4f35ce62f8f1e45284186f4f812

Sources: packages/session/session-title/src/types.ts:30

Property Presence Type
kind required "provider"
model optional SessionTitleModelIdentity
provider required string

{ kind: "stop" }

SHA-256: 1d76406cbb2ddadb0dbbb51e9d8bc6cf678fed455cf8eb512f36f7c86d37a62f

Sources: packages/llm/llm/src/types.ts:144

Property Presence Type
kind required "stop"

{ kind: "tool-calls" }

SHA-256: 287211846beea1eccb5f9acee00d20388a38fcb2e95858fa2332d6f58529379a

Sources: packages/llm/llm/src/types.ts:145

Property Presence Type
kind required "tool-calls"

{ kind: "user" }

SHA-256: 6a4f72e2e179e17b922f2a9392c0e1c8f8c707f32494372454850a3eb184a6e7

Sources: packages/api/session-controller/src/types.ts:385

Property Presence Type
clientTimeZone optional string
kind required "user"
rpcId required string

{ kind: "webhook", form: "notice" }

SHA-256: 9edc162949abf93bd5ff049191b345454ba104f583937ce5580fb50f067d2b94

Sources: packages/webhook/webhook/src/types.ts:74

Property Presence Type
deliveryId required string
form required "notice"
kind required "webhook"
provider required string
ruleId required string
source required string
summary required string

{ max_tokens, messages, model, tools }

SHA-256: 930a6567a10bb62ddd157bd8abdf4b182810c8c3b49d91309b3b009a5fed9731

Sources: packages/web/web-search-deepseek/src/provider.ts:61

Property Presence Type
max_tokens required number
messages required tuple (1 positions)
model required string
tools required tuple (1 positions)

{ member, teamId, version }

SHA-256: b1ebd5cda47d90d980bb05bffc3f970c51537b9aff15b3bc3d639811727741b1

Sources: packages/experimental/agent-team/src/types.ts:221

Property Presence Type
member required TeamMemberSnapshot
teamId required string
version required 2

{ message, step, turn }

SHA-256: 2074f40221b76c75fd314246db558965dc3477dfb440bcc952b1eedc9778e366

Sources: packages/core/session/src/types.ts:317

Property Presence Type
message required SystemMessage
step required number
turn required number

{ message, teamId, version }

SHA-256: 0c3f4d2248d9bc9700e2d7253fa71aa9935f5c39af6f11de5727f08cccaf8383

Sources: packages/experimental/agent-team/src/types.ts:225

Property Presence Type
message required TeamMessageSnapshot
teamId required string
version required 2

{ messageId, targetId, teamId, version }

SHA-256: 0bcfaf5566d271028429ac7b562cb59053c9d78b8ae14708c35fac835108d1b1

Sources: packages/experimental/agent-team/src/types.ts:227

Property Presence Type
messageId required string
targetId required string
teamId required string
version required 2

{ mode, source? }

SHA-256: 9890113e97dd3541787bfe6704f2b223d3a890b5325ca0acae2b0398909b413e

Sources: packages/sandbox/sandbox-policy/src/session-mode.ts:33

Property Presence Type
mode required SandboxMode
source optional "delegation"

{ policy, source? }

SHA-256: 11f70b595aa76897fc4e25a352bfa718c659f44b799e5aa14e84e5a38fe72912

Sources: packages/interaction/user-approval/src/index.ts:33

Property Presence Type
policy required ApprovalPolicy
source optional "delegation"

{ preset }

SHA-256: 8a9c990773f798eac10ca8878e6bcc531ee080bc589cac956730e462cc6a09ad

Sources: packages/interaction/permission-presets/src/index.ts:57

Property Presence Type
preset required string

{ reason, turn }

SHA-256: e481c46af3813e0010558e93f578b2986acd658404cec2d1679e3ac2a6c48654

Sources: packages/core/session/src/types.ts:292

Property Presence Type
reason required TurnEndReason
turn required number

{ role: "user" }

SHA-256: 9a2a9029f8d7ede05336980d8342737557f487b913bfd28853d0ab5214600ab5

Sources: packages/web/web-search-deepseek/src/provider.ts:64

Property Presence Type
content required tuple (1 positions)
role required "user"

{ sessionFormatVersion?, sessionId, throughSeq }

SHA-256: 8bb8c3751a6ce64b61aba1ec7ae798c00a5803c4d868a0430873216c6569ed52

Sources: packages/session/session-log-deepseek/src/types.ts:81

Property Presence Type
sessionFormatVersion optional number
sessionId required string
throughSeq required number

{ shadowedRange, shadowedSeqs, shadowedTokenCount }

SHA-256: 5dd766ccd1702a1142ad8b4bd44f2242f8e8a6752669ad3de0a5d224329b1438

Sources: packages/compaction/compaction/src/types.ts:82

Property Presence Type
shadowedRange required { end, start }
shadowedSeqs required number[]
shadowedTokenCount required number

{ step, stream, turn }

SHA-256: 0c6412d3ba5e41adfaa6929c7d4093f2d52d8598c03f35844fc0d55e3070a3b1

Sources: packages/core/session/src/types.ts:342

Property Presence Type
step required number
stream required AssistantStreamRecord[]
turn required number

{ step, turn }

SHA-256: ef11a3b7fa2033ae4279545ff8a8a2ee4e301b9b73e5b91654c48e6d08283545

Sources: packages/core/session/src/types.ts:294 · packages/core/session/src/types.ts:296

Property Presence Type
step required number
turn required number

{ targets }

SHA-256: 477614bca595a9e7adb5a1870be446b9a8684f3ba8950259d6289f2d3b74f028

Sources: packages/compaction/compaction-image-offload/src/projection.ts:25

Property Presence Type
targets required ImageOffloadTarget[]

{ task, teamId, version }

SHA-256: a40d12070f6f4a124f32fb3cc86e7857554702e32f0eda3080a25c4b9ac9b18c

Sources: packages/experimental/agent-team/src/types.ts:223

Property Presence Type
task required TeamTaskSnapshot
teamId required string
version required 2

{ todos }

SHA-256: 79ddc907312f97cf9553d4841e8b3fc937097bd8d97900a790efad3c05255e99

Sources: packages/todo/tool-todo/src/types.ts:31

Property Presence Type
todos required TodoItem[]

{ turn }

SHA-256: f90eb4ab2d3897bc20c521a038e3119d581f791ec974b1a0004f63a8ab9e232d

Sources: packages/core/session/src/types.ts:283 · packages/deliverables/workspace-changes/src/types.ts:106

Property Presence Type
turn required number

{ type: "agent-preset/selected" }

SHA-256: a10c17474eaf2ddab7095a099e0fe3d046fc18e56c3e344fc8894c05ff9ef97b

Property Presence Type
data required { agentPreset }
ignorable optional true
seq required number
time required number
type required "agent-preset/selected"

{ type: "agent/inbox/spliced" }

SHA-256: 646c2f1d243d3a78c5bc9305786fb340f5209c48a97e65f2a186cc5195491f3f

Property Presence Type
data required { inserted, outcome?, removedCount?, start, … }
ignorable optional true
seq required number
time required number
type required "agent/inbox/spliced"

{ type: "approval/asked" }

SHA-256: 3bfeb47b58606f4661904bc723da612782214c463d01e6d61cd6d6193d7374e1

Property Presence Type
data required { callId?, id, reason?, toolName }
ignorable optional true
seq required number
time required number
type required "approval/asked"

{ type: "approval/decided" }

SHA-256: bb1ab3d08f49a9f3b265f844cd78d5c49813062a7b34b54904b426f85d0ff6e3

Property Presence Type
data required { id, outcome }
ignorable optional true
seq required number
time required number
type required "approval/decided"

{ type: "approval/policy" }

SHA-256: 26718e15e7e395bce9642dba5bbe09b3b1a4ce2213d20d566cd9207d7fc5fb78

Property Presence Type
data required { policy, source? }
ignorable optional true
seq required number
time required number
type required "approval/policy"

{ type: "assistant/attempt" }

SHA-256: c80c89da83c46db7a454f034c10f969e03cfb574859c7316e5bff683f5a14b0e

Property Presence Type
data required { step, stream, turn }
ignorable optional true
seq required number
time required number
type required "assistant/attempt"

{ type: "assistant/message" }

SHA-256: 1169b301aaabcd992657b93ec93750c43175dda81ada5cac086f14f2eaaeed6d

Property Presence Type
data required { interrupted?, message, step, stream, … }
ignorable optional true
seq required number
surfaceOp required SurfaceOp
time required number
type required "assistant/message"

{ type: "block-end" }

SHA-256: 90c811b8c2668898515e69a24e82caffeb08517f9c7aa193867ff0380f3b535d

Sources: packages/llm/llm/src/types.ts:431

Property Presence Type
block required ContentBlock
index required number
type required "block-end"

{ type: "block-start" }

SHA-256: 647cb2e3aeb58e27d1d4d60011f208bb66dce257e8654193c533b47c4c22c253

Sources: packages/llm/llm/src/types.ts:427

Property Presence Type
blockType required ContentBlockType
index required number
type required "block-start"

{ type: "chunk" }

SHA-256: c93b6f51b399607349b4bcc66b58e848a44250ffc1e2537207bd092dfff94192

Sources: packages/llm/llm/src/assistant-stream.ts:44

Property Presence Type
chunk required StreamChunk
time required number
type required "chunk"

{ type: "command/done" }

SHA-256: 15196447222782e773eb943c92b18316ce96b9af0f0cfddb6e57ba8274ecc5ff

Property Presence Type
data required { commandId, kind, sourceEventSeq?, text? }
ignorable optional true
seq required number
time required number
type required "command/done"

{ type: "command/run" }

SHA-256: 37184378c6439257d105c4e2022d80fc9c3a3f7c7f6ac661b00bc9f18d871006

Property Presence Type
data required { args?, commandId, name, source }
ignorable optional true
seq required number
time required number
type required "command/run"

{ type: "compaction/end" }

SHA-256: b0127044ab31a702bddfd785d345f5abd7a70876746e895ce443afa3e60ddf2d

Property Presence Type
data required { compactionId, error?, sourceCommandId?, turn }
ignorable optional true
seq required number
time required number
type required "compaction/end"

{ type: "compaction/prune" }

SHA-256: 7f7fd5a6b0064f597534b29ff62ef26e786dffccf5e14f654a7d4fcea2c35f04

Property Presence Type
data required { shadowedRange, shadowedSeqs, shadowedTokenCount }
ignorable optional true
seq required number
time required number
type required "compaction/prune"

{ type: "compaction/start" }

SHA-256: db874d463b0fdec77e9da1c4568f37cb70bd6596781eb93800db44fb8a116965

Property Presence Type
data required { compactionId, sourceCommandId?, turn }
ignorable optional true
seq required number
time required number
type required "compaction/start"

{ type: "compaction/summary" }

SHA-256: f6f3f30109e9008fccf7da2a3268a63da8646b59dd7cf7b75bcd9cf08ac08a59

Property Presence Type
data required union (2 variants)
ignorable optional true
seq required number
time required number
type required "compaction/summary"

{ type: "deliverables/presented" }

SHA-256: 13d3d180f977bf78081d487ffa0ecb75857349bcab29a5a3fb48189fca2a6176

Property Presence Type
data required { callId, files, turn }
ignorable optional true
seq required number
time required number
type required "deliverables/presented"

{ type: "feedback/message-delete" }

SHA-256: 3ee93b06f3a125850337602bcdf155d2538c43a5c944ec55b1b3c365152d6796

Property Presence Type
data required MessageFeedbackDelete
ignorable optional true
seq required number
time required number
type required "feedback/message-delete"

{ type: "feedback/message-put" }

SHA-256: b5086d249e8502e9ead1d39156bb8d559bde7951cac0f14ce150345b4e42a2bf

Property Presence Type
data required MessageFeedbackPut
ignorable optional true
seq required number
time required number
type required "feedback/message-put"

{ type: "feedback/record" }

SHA-256: b54940ff095c17e874c5be03815f4c2145a256cf3a1d34dae4ab2f7769dfffe8

Property Presence Type
data required FeedbackRecord
ignorable optional true
seq required number
time required number
type required "feedback/record"

{ type: "finish" }

SHA-256: a2b49331716ba0a7078b026d145306a70eae64b7313c3e6204bd931e75ec3bb1

Sources: packages/llm/llm/src/types.ts:433

Property Presence Type
reason required FinishReason
replayState optional ReplayEnvelope
type required "finish"

{ type: "goal/change" }

SHA-256: 763c8a20af487263a0080548274f7437ef4a86e0ba8769127d1ced10a72c664d

Property Presence Type
data required GoalChangeMeta
ignorable optional true
seq required number
time required number
type required "goal/change"

{ type: "hook/invoked" }

SHA-256: 8a6e1ec9e8db346b0e02f027db73c07a94f067a26d40c1aef1abd09c47ce7ba0

Property Presence Type
data required { dialect, handlerId, matcher?, point, … }
ignorable optional true
seq required number
time required number
type required "hook/invoked"

{ type: "hook/result" }

SHA-256: e75916628f3f10c2d50658bd143052a46285fbf1a9a700ba54947614603d26b4

Property Presence Type
data required { decision, durationMs, exitCode?, handlerId, … }
ignorable optional true
seq required number
time required number
type required "hook/result"

{ type: "image/offload" }

SHA-256: b222069eea2d768065161c1147b1f2c78c1b54328c84b3586ae5c8f91b8ed35e

Property Presence Type
data required { targets }
ignorable optional true
seq required number
time required number
type required "image/offload"

{ type: "llm/retry" }

SHA-256: 525254db03b1d1e6b74cf55aced52817568331ac1f96c0818728910b6692e336

Property Presence Type
data required LlmRetryEventData
ignorable optional true
seq required number
time required number
type required "llm/retry"

{ type: "llm/retry-started" }

SHA-256: 48e5c9861f16ac07e78cb7b5ae9dabdf7bb85c58baed5a51b4ad275050ea58e3

Property Presence Type
data required LlmRetryStartedEventData
ignorable optional true
seq required number
time required number
type required "llm/retry-started"

{ type: "model/selection" }

SHA-256: 35203ba7ad5ef6f97d556b85df20ae98f04f09c65748cecdf8eefdb8b6405ffc

Property Presence Type
data required ModelSelection
ignorable optional true
seq required number
time required number
type required "model/selection"

{ type: "permission/preset" }

SHA-256: 5c45bf4c544a7211dcd8ba6ba7e5f1bc39b49e7a9df9d5cbdc8e87c22771b37b

Property Presence Type
data required { preset }
ignorable optional true
seq required number
time required number
type required "permission/preset"

{ type: "plan/mode" }

SHA-256: a7cf43ce7c2a4c038feed1885cd7a00d5c6ee2d90a7e0d56b46f78a3e1ca327f

Property Presence Type
data required { active }
ignorable optional true
seq required number
time required number
type required "plan/mode"

{ type: "reasoning-chunks" }

SHA-256: 71bb3254ec8f1e491ce63b762a7b5f18709de23aa4e8abcc8b886f4b6ce051dd

Sources: packages/llm/llm/src/assistant-stream.ts:28

Property Presence Type
dt required number[]
index required number
texts required string[]
time0 required number
type required "reasoning-chunks"

{ type: "reasoning-delta" }

SHA-256: 2abb711460e6238d851c30f3e4bdd87a2aa1887ee70575b3d3b7b25610673095

Sources: packages/llm/llm/src/types.ts:429

Property Presence Type
index required number
text required string
type required "reasoning-delta"

{ type: "request/context" }

SHA-256: 37cbc9cf06d494cfe5c67f078af1605eacb8e4c2c853e9e26455b73de0ee7ccf

Property Presence Type
data required RequestContext
ignorable optional true
seq required number
time required number
type required "request/context"

{ type: "request/header" }

SHA-256: 8ea13bcd983eab596dbfd41c5c2b62a0b318b71cd2a987a6fd752c6ced7e4489

Property Presence Type
data required { header, reason, startsSeries? }
ignorable optional true
seq required number
time required number
type required "request/header"

{ type: "sandbox/mode" }

SHA-256: 516da4cdd6d2f1e5ce488e648578ca51f40e458f707b803e5b24de870e799415

Property Presence Type
data required { mode, source? }
ignorable optional true
seq required number
time required number
type required "sandbox/mode"

{ type: "schedule/change" }

SHA-256: 2a7f86849ae54b3398ee49661a757c4fcb59a6192b7036ee2ff514617e13fb42

Property Presence Type
data required ScheduleChange
ignorable optional true
seq required number
time required number
type required "schedule/change"

{ type: "session-log-deepseek/delivery-accepted" }

SHA-256: d63b8b8ffad9c02fd80c43a17df4f240c1fe8118ecca9de34f9d5871838ab5b9

Property Presence Type
data required { sessionFormatVersion?, sessionId, throughSeq }
ignorable optional true
seq required number
time required number
type required "session-log-deepseek/delivery-accepted"

{ type: "session/end-seed" }

SHA-256: 5e6db6e24948d4a853c71cb9fabd252ad051ce93d4672c1266cf837c1c17b84e

Property Presence Type
data required { inherited? }
ignorable optional true
seq required number
time required number
type required "session/end-seed"

{ type: "session/title" }

SHA-256: 1b912703e2d64f91c99c675b8f805b01076c8325b905c1218ad81ef0b24909d5

Property Presence Type
data required SessionTitleEventData
ignorable optional true
seq required number
time required number
type required "session/title"

{ type: "session/title-llm-request" }

SHA-256: e0b5bf44c27bbfc6ab144239e3e4169c4d21146645e0e3121bbb359c3bc8591d

Property Presence Type
data required SessionTitleLlmRequestEventData
ignorable optional true
seq required number
time required number
type required "session/title-llm-request"

{ type: "step/end" }

SHA-256: e0a787e6ec76c7c94fecbc501b489164ab0293db05bc947914077ad01e674f05

Property Presence Type
data required { step, turn }
ignorable optional true
seq required number
time required number
type required "step/end"

{ type: "step/start" }

SHA-256: 4513e088d43e6c68425be30451b9f961cc264fe7318ca62681c41d4d78615986

Property Presence Type
data required { step, turn }
ignorable optional true
seq required number
time required number
type required "step/start"

{ type: "subagent/catalog" }

SHA-256: ae1f7110feeec697b8cab42b68f7709aa7b3279764099dfb53c25890d2e5c871

Property Presence Type
data required SubagentCatalogEvent
ignorable optional true
seq required number
time required number
type required "subagent/catalog"

{ type: "subagent/descriptor" }

SHA-256: b79ada42962cad0190a9d465805260567621fa3a4abd757eb31e6016b52d5ab5

Property Presence Type
data required SubagentDescriptorData
ignorable optional true
seq required number
time required number
type required "subagent/descriptor"

{ type: "subagent/model-selection-policy" }

SHA-256: a6567ccb2e530606b775371eb4fa31468d72084339968e8b0440a516a23b39dc

Property Presence Type
data required { allowedModels }
ignorable optional true
seq required number
time required number
type required "subagent/model-selection-policy"

{ type: "system/message" }

SHA-256: 69becfb6b2d3fd5da91518089454cae8ef33f1835637ec44dde35dd077fd4bae

Property Presence Type
data required { message, step, turn }
ignorable optional true
seq required number
sourceEventSeqs optional number[]
surfaceOp required SurfaceOp
time required number
type required "system/message"

{ type: "team/member" }

SHA-256: 4fb59762612c3e3ac3a3bd4f84c9c148d3c3893bd422ba2b201cc039fabd49bc

Property Presence Type
data required { member, teamId, version }
ignorable optional true
seq required number
time required number
type required "team/member"

{ type: "team/message/delivered" }

SHA-256: 48f9c19417a1abbedfa59f4667bba36b93ac2db407adf5e84cb3ba0de30942cb

Property Presence Type
data required { messageId, targetId, teamId, version }
ignorable optional true
seq required number
time required number
type required "team/message/delivered"

{ type: "team/message/queued" }

SHA-256: 443371ec07a03a82a0e93d93abca3e70b03bca55ba5b01d507030fcb66e8fbb4

Property Presence Type
data required { message, teamId, version }
ignorable optional true
seq required number
time required number
type required "team/message/queued"

{ type: "team/task" }

SHA-256: d595ec73b32b016a6055333c67a5d646032b22e672da1d4a09c5b1ae398a093a

Property Presence Type
data required { task, teamId, version }
ignorable optional true
seq required number
time required number
type required "team/task"

{ type: "text-chunks" }

SHA-256: e72269f931559e901e5e8fe1cfcbd0669fb795f43cc038ff39fba62f60403c33

Sources: packages/llm/llm/src/assistant-stream.ts:21

Property Presence Type
dt required number[]
index required number
texts required string[]
time0 required number
type required "text-chunks"

{ type: "text-delta" }

SHA-256: 95080295115fbd83544520ba247b68a03790131f6a2eac323d388758cb542f65

Sources: packages/llm/llm/src/types.ts:428

Property Presence Type
index required number
text required string
type required "text-delta"

{ type: "todo/write" }

SHA-256: b978cff734e62143eb56c9125423ec275405eda969802d42aaf73ecb987d3b26

Property Presence Type
data required { todos }
ignorable optional true
seq required number
time required number
type required "todo/write"

{ type: "tool-call-chunks" }

SHA-256: 3860b4757d512a2869be833acb0faf834335b1b056bf3f83df5474dce95f8fa6

Sources: packages/llm/llm/src/assistant-stream.ts:35

Property Presence Type
args required string[]
dt required number[]
id required string
index required number
name optional string
time0 required number
type required "tool-call-chunks"

{ type: "tool-call-delta" }

SHA-256: 88a610b831be6d92612a464be5c7d0b88ec24d97bd299837bf74bf7672183c9a

Sources: packages/llm/llm/src/types.ts:430

Property Presence Type
argumentsDelta required string
id required string
index required number
name optional string
type required "tool-call-delta"

{ type: "tool-workflow/agent-end" }

SHA-256: babf9ee4d1af62bf6c3a8103737f7a5e4e78ce179be835ce05a38803e15884b7

Property Presence Type
data required ToolWorkflowAgentEndData
ignorable optional true
seq required number
time required number
type required "tool-workflow/agent-end"

{ type: "tool-workflow/agent-start" }

SHA-256: 5f26a6c20b37632f8f57729d171c671def4683d994ac6257a8dffcd855101627

Property Presence Type
data required ToolWorkflowAgentStartData
ignorable optional true
seq required number
time required number
type required "tool-workflow/agent-start"

{ type: "tool-workflow/run-end" }

SHA-256: 42e0916e0dda5f6d1e7bb05d8514717147c036a79c9f36085683469516c1fd3f

Property Presence Type
data required ToolWorkflowRunEndData
ignorable optional true
seq required number
time required number
type required "tool-workflow/run-end"

{ type: "tool-workflow/run-start" }

SHA-256: c1f9e0405de6d18cabb9ee70782a027f9bbdc57e5abec9dcccdd56119e2e9058

Property Presence Type
data required ToolWorkflowRunStartData
ignorable optional true
seq required number
time required number
type required "tool-workflow/run-start"

{ type: "tool/call" }

SHA-256: 3b1be838223869fe0a08210db85bf773796ed3f2373ac16555dff227cade0c48

Property Presence Type
data required { arguments, callId, name, step, … }
ignorable optional true
seq required number
time required number
type required "tool/call"

{ type: "tool/ptc-dispatch" }

SHA-256: b33142af8176323ffbb20762541be81c1d51b60a60887803836e0b146e5bef0c

Property Presence Type
data required PtcDispatchEventData
ignorable optional true
seq required number
time required number
type required "tool/ptc-dispatch"

{ type: "tool/ptc-dispatch-start" }

SHA-256: ec38b5949af8eacaf00df002f4acbe344f934f8a061e9cdc65a52a48e5f6dd93

Property Presence Type
data required PtcDispatchStartEventData
ignorable optional true
seq required number
time required number
type required "tool/ptc-dispatch-start"

{ type: "tool/result" }

SHA-256: 29af48b840d0cd9e48b6f50bf3b354f8f6340607c5b99220a48e74f60beac9e2

Property Presence Type
data required { error?, message, meta?, step, … }
ignorable optional true
seq required number
sourceEventSeqs optional number[]
surfaceOp required SurfaceOp
time required number
type required "tool/result"

{ type: "turn/end" }

SHA-256: 0f8512903d94f57a4748fa1a2092e64342856796684e6b8343db685b192745ce

Property Presence Type
data required { reason, turn }
ignorable optional true
seq required number
time required number
type required "turn/end"

{ type: "turn/start" }

SHA-256: aa0957eca50aeb28bcd2e6930b95809926edacb550c8c340ba526ba6b861b3d8

Property Presence Type
data required { turn }
ignorable optional true
seq required number
time required number
type required "turn/start"

{ type: "usage" }

SHA-256: f1a96afe7503ac1817de769cd0ba13d9b80111c7034c50106b3344ecc14cc515

Sources: packages/llm/llm/src/types.ts:432

Property Presence Type
type required "usage"
usage required TokenUsage

{ type: "user/message" }

SHA-256: 314765bdff29c7862fb6ce820f1773563ba3094a680d163ea21180a2591b8578

Property Presence Type
data required UserMessage
ignorable optional true
seq required number
sourceEventSeqs optional number[]
surfaceOp required SurfaceOp
time required number
type required "user/message"

{ type: "web/deepseek-search-llm-request" }

SHA-256: cf6e3aaf1e2de6480aa0157730a41b9a492108a55304100b0f7e112711dd4331

Property Presence Type
data required DeepSeekSearchLlmRequest
ignorable optional true
seq required number
time required number
type required "web/deepseek-search-llm-request"

{ type: "web_search_20250305" }

SHA-256: 2d11ca7b0d4493e244b74eba093227866b33249841e59a1e9bf56afed38604c3

Sources: packages/web/web-search-deepseek/src/provider.ts:71

Property Presence Type
max_uses required number
name required "web_search"
type required "web_search_20250305"

{ type: "workspace/changes" }

SHA-256: e308ccf867a5398e316e0af8cb6ce238a8d33a63b9b384c8250a686786285f72

Property Presence Type
data required { turn }
ignorable optional true
seq required number
time required number
type required "workspace/changes"

{}

SHA-256: 0aa62ab51b36c0e64b134bd03ba8725d758744180a1a447da49beaad194f219f

Property Presence Type
[string] index signature unknown (opaque)

{}

SHA-256: 529e0ccd0e34079ab4ff21ed87f810cee0388246263bf22e8aba5986b56fae05

Sources: packages/util/values/src/index.ts:4

Property Presence Type
[string] index signature JsonValue