Skip to content

πŸ¦‹ New version release#26

Merged
brentrager merged 1 commit into
mainfrom
changeset-release/main
Jul 3, 2026
Merged

πŸ¦‹ New version release#26
brentrager merged 1 commit into
mainfrom
changeset-release/main

Conversation

@brentrager

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@smooai/smooth-operator-core@0.4.0

Minor Changes

  • 2466187: SEP Phase 2 β€” the event bus + the intercept tier.

    Observe events now fan out end-to-end. dispatch_event routes through a new
    per-connection bounded observe lane in ExtensionProcess: events carry a
    monotonic seq, and when a slow/stalled extension lets the queue pass 1024 the
    oldest events are shed (never requests) and an out-of-band events_lost marker
    (carrying the shed count) is delivered on recovery β€” bounded memory instead of
    unbounded growth or a stalled turn. Effective subscriptions are the extension's
    handshake list clamped to its manifest [capabilities] events. Wire event names
    mirror pi's (turn_start/turn_end, tool_execution_start/update/end,
    message_end) for near-mechanical porting; model_select maps to the existing
    AgentEvent::ModelResolved.

    Intercept tier: the fail-closed tool_call hook now applies Modify (arg
    rewrite), not just Block, before execution; the new fail-open tool_result
    hook patches a result before it is pushed to the conversation. Both hooks β€” and
    the turn/tool events β€” are wired into a shared sep_run_tool_calls used by BOTH
    run() and the streaming run_with_channel() (the path the polyglot servers and
    the TUI drive), so hooks fire identically on both. A hung hook still times out
    per-class, $/cancels, and (for tool_call) fail-closed BLOCKS without stalling
    the turn β€” covered by a new integration test with a hanging peer, plus tests for
    tool_result patching and the observe-lane shedding. EventParams gains seq.

    Zero behavior change when no ExtensionHost is attached (the default).

    before_agent_start run-loop wiring is deferred to a later phase (the host method
    exists and is tested; the engine's system prompt is baked at resume_or_new and
    composing it is a frontend/server concern) β€” see the SEP pearls.

@brentrager brentrager merged commit 02b1f63 into main Jul 3, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant