Owned event types
events.iterate.com/agent/binding-setSets or enriches the typed external object this agent represents. Bindings are normally emitted atomically with integration agent creation, never inferred from paths. Contract-owned but reduced by integration processors, not by the agent.payload: { type, connection, channelId, threadTs, channelName?, url? } | { type, connection, cha…emitted by 3events.iterate.com/agent/configuredMerges a partial configuration into the agent's config; omitted keys keep their current values.payload: { config }emitted by 2 · consumed by 1events.iterate.com/agent/createdThe agent exists. Payload is open — provenance may ride along.payload: { …any }emitted by 2 · consumed by 1events.iterate.com/agent/llm-request-requestedThe recorded INTENT to run one LLM turn. Carries no id: the request's identity is the offset this event gets on commit. The reduce ignores it when no trigger is pending or a request already is open — a late debounced intent is a harmless stream fact.payload: { model, expiresAt }emitted by 1 · consumed by 2events.iterate.com/agent/llm-request-settledThe ONE terminal fact for an LLM request (succeeded | failed | cancelled), pointing back at the requested event's offset. Idempotency-keyed on that offset, so a zombie driver racing a fresh incarnation or an interrupt collapses to one settlement.payload: { requestOffset, durationMs?, result }emitted by 1 · consumed by 1events.iterate.com/agent/llm-response-chunkOne streamed chunk received from the transport, verbatim. Ephemeral: it reaches ephemeral subscriptions (browser feed, TUI) but is excluded from default reads, never delivered to durable subscribers, and evictable — the durable truth is the assistant context item / llm-request-settled pair.payload: { chunk, llmRequestOffset, sequence }emitted by 1events.iterate.com/agent/pausedThe agent stopped scheduling turns (autonomous-loop breaker, or an operator). Mirrors stream/paused. The next external message resumes it; self-driven triggers stay parked.payload: { reason? }emitted by 1 · consumed by 1events.iterate.com/agent/resumedThe agent resumed scheduling turns. Mirrors stream/resumed.payload: { reason? }emitted by 1 · consumed by 1events.iterate.com/agent/summary-updatedUpdates the agent's human-readable summary. Omitted fields remain unchanged, null clears an optional field, and pinned false unpins. The same event is used whether an agent or a human initiated the edit; the processor's own conditional waiting clear ({ waitingFor: null, clearWaitingForThroughOffset }) only clears a wait established at or before the waking input's offset.payload: { title?, description?, activity?, waitingFor?, pinned? } | { waitingFor, clearWaitingF…emitted by 1 · consumed by 2events.iterate.com/agent/token-usage-reportedNormalized token counts and the model's context window for a successful LLM request. The processor translates vendor usage dialects (input_tokens vs prompt_tokens) at source, so consumers — the state tally, cost views, and compaction — see one shape.payload: { llmRequestOffset, model, maxContextTokens, inputTokens, outputTokens, cachedInputToke…emitted by 1 · consumed by 1events.iterate.com/agents/context-addedModel-visible context arrived (user message, developer note, assistant output, system item). The single source of truth for what the LLM sees.payload: { role, content, key?, files?, refs?, actor?, llmRequestPolicy?, llmRequestOffset?, com…emitted by 5 · consumed by 1events.iterate.com/agents/web-message-sentA visible agent message was sent to the web UI (itx.chat.sendMessage). The processor mirrors it back into context as assistant history so the model sees what it sent.payload: { message, files? }consumed by 1
Consumes
events.iterate.com/agent/createdThe agent exists. Payload is open — provenance may ride along.events.iterate.com/agent/configuredMerges a partial configuration into the agent's config; omitted keys keep their current values.events.iterate.com/agents/context-addedModel-visible context arrived (user message, developer note, assistant output, system item). The single source of truth for what the LLM sees.events.iterate.com/agents/web-message-sentA visible agent message was sent to the web UI (itx.chat.sendMessage). The processor mirrors it back into context as assistant history so the model sees what it sent.events.iterate.com/agent/llm-request-requestedThe recorded INTENT to run one LLM turn. Carries no id: the request's identity is the offset this event gets on commit. The reduce ignores it when no trigger is pending or a request already is open — a late debounced intent is a harmless stream fact.events.iterate.com/agent/llm-request-settledThe ONE terminal fact for an LLM request (succeeded | failed | cancelled), pointing back at the requested event's offset. Idempotency-keyed on that offset, so a zombie driver racing a fresh incarnation or an interrupt collapses to one settlement.events.iterate.com/agent/token-usage-reportedNormalized token counts and the model's context window for a successful LLM request. The processor translates vendor usage dialects (input_tokens vs prompt_tokens) at source, so consumers — the state tally, cost views, and compaction — see one shape.events.iterate.com/agent/summary-updatedUpdates the agent's human-readable summary. Omitted fields remain unchanged, null clears an optional field, and pinned false unpins. The same event is used whether an agent or a human initiated the edit; the processor's own conditional waiting clear ({ waitingFor: null, clearWaitingForThroughOffset }) only clears a wait established at or before the waking input's offset.events.iterate.com/agent/pausedThe agent stopped scheduling turns (autonomous-loop breaker, or an operator). Mirrors stream/paused. The next external message resumes it; self-driven triggers stay parked.events.iterate.com/agent/resumedThe agent resumed scheduling turns. Mirrors stream/resumed.events.iterate.com/capability-host/script-run-requestedowned by capability-hostA script should run in this capability scope. Before any attempt starts, the code is typechecked against the scope's capability types: a script with a PROVABLE error — a syntax error, or a near-miss typo where the compiler names the fix ("Did you mean 'get'?") — settles straight to an error completion carrying the compiler errors, without ever running (no started event). Everything less certain runs: capabilities are provided dynamically and declared types can lag the runtime, so bare property/argument mismatches, unknown/untyped capabilities, non-async block shapes, and checker failures all let the script run unchecked.events.iterate.com/capability-host/script-run-settledowned by capability-hostThe one durable settlement for a script obligation. Failures classify where execution stopped, whether script code may have run, and whether cancellation can prove external work ended.events.iterate.com/stream/error-occurredowned by coreRecords a structured stream or processor runner error.
Emits
events.iterate.com/agents/context-addedModel-visible context arrived (user message, developer note, assistant output, system item). The single source of truth for what the LLM sees.events.iterate.com/agent/llm-request-requestedThe recorded INTENT to run one LLM turn. Carries no id: the request's identity is the offset this event gets on commit. The reduce ignores it when no trigger is pending or a request already is open — a late debounced intent is a harmless stream fact.events.iterate.com/agent/llm-request-settledThe ONE terminal fact for an LLM request (succeeded | failed | cancelled), pointing back at the requested event's offset. Idempotency-keyed on that offset, so a zombie driver racing a fresh incarnation or an interrupt collapses to one settlement.events.iterate.com/agent/llm-response-chunkOne streamed chunk received from the transport, verbatim. Ephemeral: it reaches ephemeral subscriptions (browser feed, TUI) but is excluded from default reads, never delivered to durable subscribers, and evictable — the durable truth is the assistant context item / llm-request-settled pair.events.iterate.com/agent/token-usage-reportedNormalized token counts and the model's context window for a successful LLM request. The processor translates vendor usage dialects (input_tokens vs prompt_tokens) at source, so consumers — the state tally, cost views, and compaction — see one shape.events.iterate.com/agent/summary-updatedUpdates the agent's human-readable summary. Omitted fields remain unchanged, null clears an optional field, and pinned false unpins. The same event is used whether an agent or a human initiated the edit; the processor's own conditional waiting clear ({ waitingFor: null, clearWaitingForThroughOffset }) only clears a wait established at or before the waking input's offset.events.iterate.com/agent/pausedThe agent stopped scheduling turns (autonomous-loop breaker, or an operator). Mirrors stream/paused. The next external message resumes it; self-driven triggers stay parked.events.iterate.com/agent/resumedThe agent resumed scheduling turns. Mirrors stream/resumed.events.iterate.com/capability-host/script-run-requestedowned by capability-hostA script should run in this capability scope. Before any attempt starts, the code is typechecked against the scope's capability types: a script with a PROVABLE error — a syntax error, or a near-miss typo where the compiler names the fix ("Did you mean 'get'?") — settles straight to an error completion carrying the compiler errors, without ever running (no started event). Everything less certain runs: capabilities are provided dynamically and declared types can lag the runtime, so bare property/argument mismatches, unknown/untyped capabilities, non-async block shapes, and checker failures all let the script run unchecked.events.iterate.com/stream/error-occurredowned by coreRecords a structured stream or processor runner error.