@rowan-agent/agent 0.17.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -111,14 +111,20 @@ through:
111
111
  When an external side effect cannot be confirmed, the Tool must become
112
112
  `indeterminate`; the Run then fails and is never automatically retried.
113
113
 
114
- While running, a Tool may call `context.reportProgress(progress)` with a
115
- JSON-safe value. Progress is live-only and may be dropped.
114
+ While running, a Tool may call `context.reportProgress(progress: ToolProgress)` using
115
+ the standard MCP progress shape (`{ progress: number; total?: number; message?: string; _meta?: JsonObject }`).
116
+ Shape is validated with finite numbers; invalid reports are dropped with a warning.
117
+ Tool-private progress data goes under `_meta` keys, and continuous output should be reported
118
+ cumulatively (e.g. a tail) because transient updates coalesce per `toolCallId`.
119
+ Progress reports trigger the tool's presentation function and emit transient `tool_state_changed`
120
+ updates. Progress is live-only and may be dropped; the final completed or failed tool call state
121
+ is durably persisted.
116
122
 
117
123
  ## Events
118
124
 
119
125
  `run.observe()` delivers `RunEvent` values for live presentation:
120
126
 
121
- - transient `message_delta` and `tool_progress` events are live-only and
127
+ - transient `message_delta` and `tool_state_changed` (progress) events are live-only and
122
128
  best-effort;
123
129
  - durable `message_committed`, `run_state_changed`, and `tool_state_changed`
124
130
  events are replayable;
@@ -192,6 +198,9 @@ cannot be claimed by host sources.
192
198
 
193
199
  Extensions are Runtime-global. Load them only during `AgentRuntime.init()` via
194
200
  `bootstrap`; after initialization they are frozen until the Runtime closes.
201
+ Extensions can manage run-scoped in-memory state (`api.state.run(runId)`), agent-scoped
202
+ durable state (`api.state.agent(agentId)`), and extension-scoped durable state
203
+ (`api.state.global()`) via the configured `ExtensionHost`.
195
204
  Definition name lists narrow the selected Tools, Skills, and Phases: omission
196
205
  inherits all candidates, `[]` selects none, and missing names are skipped. The
197
206
  same rule applies to `definition.contexts`.