Skip to content

v0.3.0 — async extraction, source verification, read links

Choose a tag to compare

@agentx402-bot agentx402-bot released this 27 Jul 12:09
· 30 commits to main since this release
v0.3.0
3f32c21

Async extraction jobs are now polled transparently: await scout.extract(...) behaves the same whether the server needed one pass or ninety. A large page returns a 202 job handle, which 0.2.0 could not handle at all.

  • Async extract: free polling with backoff, maxWaitMs (default 120s) whose timeout error carries the status_url — losing patience is not losing the extraction, the job keeps running server-side.
  • winning_rung: "chunked" plus chunks / merge_conflicts. A non-zero merge_conflicts means two passes disagreed on a scalar and the winner was chosen by position — part of that answer is a guess, and you can now see it.
  • Source verification documented on ExtractResult, with its limits: token-like values are checked against the fetched page and dropped if absent, but prose is exempt and only array items are removed. Schema-valid remains a shape check plus a literal check — not a truth check.
  • read({ links }) typed and actually forwarded (previously typed but never sent).

Additive only; existing calls behave identically. Pay-on-success is unchanged and holds across the async path: charged once when a schema-valid result exists, never for a failed job, never per poll.