Skip to content

v0.2.0

Latest

Choose a tag to compare

@qnguyen3 qnguyen3 released this 12 Jun 22:28
· 4 commits to main since this release

What's Changed

Added

  • AskUser tool — Agents can now pause mid-run to elicit structured input from the user. Supports single-select, multi-select, and free-text responses with a 1–4 question format, option validation, and graceful decline handling.
  • Hooks system — Introduced a first-class hook API (PreToolUse, PostToolUse, UserPromptSubmit, Stop, PreCompact) that allows consumers to intercept, modify, or block agent actions at runtime without modifying core loop logic.
  • Steering & interruption — Added Session.steer() and Session.interrupt() for active-run control. steer() injects a user message at the next turn boundary without aborting the run; interrupt() ends the current run cleanly while preserving all in-flight turn state.

Improved

  • Hardened abort signal propagation across parallel tool execution, ensuring in-flight tool calls emit proper tool_call_end events before surfacing AbortError.
  • Improved adjacent-batch partitioning in the tool scheduler to preserve strict result ordering across mixed read/write batches.
  • Strengthened session store concurrency guarantees; concurrent updateMeta calls now correctly accumulate all patches without loss.
  • Expanded provider error normalization for OpenAI Chat and Responses APIs, covering HTTP-date retry-after headers and mid-stream abort detection.
  • Refined compaction logic to correctly re-inject skill listings and invoked skill bodies after context threshold is crossed.

Full Changelog: https://github.com/skawld/skawld-sdk/blob/main/CHANGELOG.md