Skip to content

πŸ¦‹ New version release#30

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

πŸ¦‹ New version release#30
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.6.0

Minor Changes

  • 26b4489: SEP Phase 4 (engine) β€” commands, session actions, and hot reload.

    ExtensionHost gains the command surface and the command-tier deadlock guard:

    • Command dispatch β€” run_command(ext, command, arguments) sends
      command/execute to the owning extension with a COMMAND-tier context;
      complete_command(...) round-trips command/complete for argument
      autocomplete (best-effort β€” an extension without a completer yields no
      suggestions, never an error). commands() and shortcuts() surface the
      registered slash-commands and keyboard shortcuts for a frontend's palette.
    • Session actions β€” HostDelegate grows session_send_message,
      session_send_user_message (deliver_as steer/follow_up/next_turn), and
      session_append_entry. The headless engine has no session, so the defaults
      report -32004 CapabilityDisabled; frontends with a session store override
      them. Every session action is gated by validate_command_context: it must
      present a COMMAND-tier context whose epoch is still current, else
      -32003 ContextViolation β€” fired in HostInbound BEFORE the delegate runs.
    • Hot reload β€” reload(name) notifies the extension (session_shutdown
      reason reload), bumps the shared epoch so every context token it still holds
      is invalidated, respawns the subprocess (the generation guard discards late
      replies from the dead child), re-runs initialize, and notifies it again
      (session_start reason reload). The manifest's declared-events clamp is
      re-applied so a restart can never widen a project extension's subscriptions.

    New protocol types (CommandExecuteParams/Result, CommandCompleteParams/Result,
    Completion, ShortcutRegistration, DeliverAs, Session*Params), an
    InitializeParams.flags map for delivering parsed CLI flag values, and a
    Registrations.shortcuts list. The reference sep-echo-peer registers a command

    • shortcut and answers command/execute/command/complete. Purely additive:
      with no extension host attached the agent loop is unchanged.

@brentrager brentrager merged commit f477a1b into main Jul 3, 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