Skip to main content
Create server-only tools that call the Darwin SDK or REST API. Keep the public Search schema separate from Act thread writes so the UI can render different confirmation behavior.
  • selected Search agent and optional nested capability
  • durable threadId, revision, and last consumed cursor
  • stable idempotencyKey values for identical mutation retries
  • current typed events and operation states
Stream explanatory model text separately from the authoritative thread state. A finished text stream does not mean external work completed.

UI responsibilities

Keep the stream reconnectable and the thread state durable. A page refresh should call get_thread with the stored threadId and cursor, not create a new thread.
Last modified on October 1, 2026