Skip to content

πŸ¦‹ New version release - #454

Merged
brentrager merged 1 commit into
mainfrom
changeset-release/main
Aug 17, 2026
Merged

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

Conversation

@brentrager

@brentrager brentrager commented Aug 17, 2026

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@1.50.3

Patch Changes

  • 0f1ead2: feat(go): env-gated durable-executor selection seam on the Go server turn path (th-137b91, Q parity)

    The Go server drove every turn by calling SmoothAgent.RunStream directly, so there was no single
    place a durable backend (ADR-030) could plug in β€” parity gap with the Rust server's turn_executor.
    TurnRunner.Run now drives the turn through the engine's AgentExecutor seam:
    turnExecutor(r.executor, os.Getenv("SMOOTH_AGENT_DURABLE_EXECUTOR")).ExecuteStreaming(...).

    The durable backend is DEPENDENCY-INJECTED via the new TurnRunner.executor field (nil by default),
    so the server binary keeps no compile-time dependency on any Temporal package. Selection mirrors the
    Rust durable_requested opt-in exactly (1/true/on/yes, case- and whitespace-insensitive):
    the injected executor is used only when the env opts in AND one was supplied; otherwise the
    zero-infra InProcessExecutor, a verbatim delegation to RunStream, so a default deployment behaves
    exactly as before. Requesting durable mode with nothing injected warns and falls back rather than
    silently pretending the turn is durable. Unit tests cover the full selection matrix with a fake
    injected executor.

  • d8a6d43: feat(python-server): env-gated durable-executor selection seam (th-137b91, Q parity)

    The Python server ran every turn by calling SmoothAgent.run_stream directly, so there was no single
    place a durable backend (ADR-030) could be selected β€” unlike the Rust server's turn_executor
    (runner.rs). TurnRunner now routes each turn through the engine's AgentExecutor seam, chosen
    once in select_turn_executor: a durable backend is dependency-injected as an opaque AgentExecutor
    (so the server keeps no hard dependency on the Temporal package), and it is used only when
    SMOOTH_AGENT_DURABLE_EXECUTOR opts in (1/true/on/yes). With nothing injected β€” the default β€” the
    turn runs on InProcessExecutor, a verbatim delegation to run_stream, so behavior is unchanged.
    Asking for durable mode with nothing injected warns and falls back rather than silently pretending a
    turn is durable. durable_requested is split out for a testable parse. Tests cover the parse table,
    the selection logic, and two real turns driven through a fake injected executor.

@smooai/smooth-operator-web-chat-example@0.0.85

Patch Changes

  • Updated dependencies [0f1ead2]
  • Updated dependencies [d8a6d43]
    • @smooai/smooth-operator@1.50.3

@brentrager
brentrager force-pushed the changeset-release/main branch from a9bbded to ca465c4 Compare August 17, 2026 21:52
@brentrager
brentrager force-pushed the changeset-release/main branch from ca465c4 to 9739e7a Compare August 17, 2026 21:56
@brentrager
brentrager merged commit dab97f4 into main Aug 17, 2026
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