Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 0 additions & 12 deletions .changeset/sep-phase4-commands-sdk.md

This file was deleted.

2 changes: 1 addition & 1 deletion go/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ package e2e
// language artifacts. The real Go "publish" is a git tag (go/v<Version>); this
// constant is the anchor that scripts/sync-versions.mjs keeps in sync with the
// canonical npm version on every changeset release.
const Version = "1.11.3"
const Version = "1.11.4"
2 changes: 1 addition & 1 deletion python/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "smooai-smooth-operator"
version = "1.11.3"
version = "1.11.4"
description = "Python protocol types and native async WebSocket client for the smooth-operator protocol. Generated from the language-neutral JSON Schemas in spec/."
readme = "README.md"
license = { text = "MIT" }
Expand Down
16 changes: 8 additions & 8 deletions rust/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion rust/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ smooai-smooth-operator-core = { path = "../../smooth-operator-core/rust/smooth-o
# Intra-workspace dep on the reference lib carries its version so the adapters /
# ingestion / server that depend on it are publishable (path = local dev,
# version = the crates.io requirement).
smooth-operator = { package = "smooai-smooth-operator", path = "smooth-operator", version = "1.11.3" }
smooth-operator = { package = "smooai-smooth-operator", path = "smooth-operator", version = "1.11.4" }

async-trait = "0.1"
anyhow = "1"
Expand Down
2 changes: 1 addition & 1 deletion rust/adapters/backplane-nats/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "smooai-smooth-operator-adapter-backplane-nats"
version = "1.11.3"
version = "1.11.4"
edition.workspace = true
license.workspace = true
repository.workspace = true
Expand Down
2 changes: 1 addition & 1 deletion rust/adapters/backplane-redis/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "smooai-smooth-operator-adapter-backplane-redis"
version = "1.11.3"
version = "1.11.4"
edition.workspace = true
license.workspace = true
repository.workspace = true
Expand Down
4 changes: 2 additions & 2 deletions rust/adapters/dynamodb/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "smooai-smooth-operator-adapter-dynamodb"
version = "1.11.3"
version = "1.11.4"
edition.workspace = true
license.workspace = true
repository.workspace = true
Expand All @@ -19,7 +19,7 @@ s3-vectors = ["dep:aws-sdk-s3vectors", "dep:aws-smithy-types"]
smooth-operator = { workspace = true }
smooai-smooth-operator-core = { workspace = true }
# IndexingStore / IndexingRun for the persistent admin indexing-runs store.
smooai-smooth-operator-ingestion = { path = "../../ingestion", version = "1.11.3" }
smooai-smooth-operator-ingestion = { path = "../../ingestion", version = "1.11.4" }
async-trait = { workspace = true }
anyhow = { workspace = true }
chrono = { workspace = true }
Expand Down
2 changes: 1 addition & 1 deletion rust/adapters/in-memory/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "smooai-smooth-operator-adapter-memory"
version = "1.11.3"
version = "1.11.4"
edition.workspace = true
license.workspace = true
repository.workspace = true
Expand Down
4 changes: 2 additions & 2 deletions rust/adapters/postgres/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "smooai-smooth-operator-adapter-postgres"
version = "1.11.3"
version = "1.11.4"
edition.workspace = true
license.workspace = true
repository.workspace = true
Expand All @@ -15,7 +15,7 @@ smooth-operator = { workspace = true }
# `postgres` feature pulls in PostgresCheckpointStore (sync r2d2 path).
smooai-smooth-operator-core = { workspace = true, features = ["postgres"] }
# IndexingStore / IndexingRun for the persistent admin indexing-runs store.
smooai-smooth-operator-ingestion = { path = "../../ingestion", version = "1.11.3" }
smooai-smooth-operator-ingestion = { path = "../../ingestion", version = "1.11.4" }
async-trait = { workspace = true }
anyhow = { workspace = true }
chrono = { workspace = true }
Expand Down
2 changes: 1 addition & 1 deletion rust/ingestion/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "smooai-smooth-operator-ingestion"
version = "1.11.3"
version = "1.11.4"
edition.workspace = true
license.workspace = true
repository.workspace = true
Expand Down
14 changes: 7 additions & 7 deletions rust/smooth-operator-server/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "smooai-smooth-operator-server"
version = "1.11.3"
version = "1.11.4"
edition.workspace = true
license.workspace = true
repository.workspace = true
Expand Down Expand Up @@ -35,22 +35,22 @@ smooth-operator = { workspace = true }
smooai-smooth-operator-core = { workspace = true }
# In-memory storage + backplane β€” ALWAYS included. The local-flavor default and
# the lean (`--no-default-features`) build run entirely on these.
smooai-smooth-operator-adapter-memory = { path = "../adapters/in-memory", version = "1.11.3" }
smooai-smooth-operator-adapter-memory = { path = "../adapters/in-memory", version = "1.11.4" }
# Persistent storage + admin-store backends, selected at runtime to match the
# configured storage backend (Postgres / DynamoDB; default in-memory). Optional:
# gated behind the `postgres` / `dynamodb` features so a lean local/embed build
# can exclude tokio-postgres / the AWS SDK. The `postgres` crate also provides the
# gateway-backed embedder/reranker, so the `postgres` feature additionally enables
# the semantic-retrieval path in `embedder.rs` / `reranker.rs`.
smooai-smooth-operator-adapter-postgres = { path = "../adapters/postgres", version = "1.11.3", optional = true }
smooai-smooth-operator-adapter-dynamodb = { path = "../adapters/dynamodb", version = "1.11.3", optional = true }
smooai-smooth-operator-adapter-postgres = { path = "../adapters/postgres", version = "1.11.4", optional = true }
smooai-smooth-operator-adapter-dynamodb = { path = "../adapters/dynamodb", version = "1.11.4", optional = true }
# Distributed Backplane backends for horizontal scale-out, selected at runtime
# via SMOOTH_AGENT_BACKPLANE (default in-memory / single-process). Optional: gated
# behind the `redis` / `nats` features so a lean build excludes their drivers.
smooai-smooth-operator-adapter-backplane-redis = { path = "../adapters/backplane-redis", version = "1.11.3", optional = true }
smooai-smooth-operator-adapter-backplane-nats = { path = "../adapters/backplane-nats", version = "1.11.3", optional = true }
smooai-smooth-operator-adapter-backplane-redis = { path = "../adapters/backplane-redis", version = "1.11.4", optional = true }
smooai-smooth-operator-adapter-backplane-nats = { path = "../adapters/backplane-nats", version = "1.11.4", optional = true }
# Admin API surfaces indexing-run status via the ingestion crate's IndexingStore.
smooai-smooth-operator-ingestion = { path = "../ingestion", version = "1.11.3" }
smooai-smooth-operator-ingestion = { path = "../ingestion", version = "1.11.4" }

async-trait = { workspace = true }
anyhow = { workspace = true }
Expand Down
2 changes: 1 addition & 1 deletion rust/smooth-operator/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "smooai-smooth-operator"
version = "1.11.3"
version = "1.11.4"
edition.workspace = true
license.workspace = true
repository.workspace = true
Expand Down
12 changes: 12 additions & 0 deletions typescript/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# @smooai/smooth-operator

## 1.11.4

### Patch Changes

- 0953584: SEP Phase 4 (spec + SDK) β€” commands, flags, shortcuts, and session actions.

**Spec.** New `command-complete.schema.json` (argument autocomplete). `session.schema.json` now carries the dispatch `context` on every params object (the wire form of the command-tier + epoch guard the host enforces) and adds `send_user_message` (`deliver_as` steer/follow_up/next_turn). `initialize.schema.json` gains a `flags` delivery map on the params and a `shortcuts` list (+ `ShortcutRegistration`) on the registrations. New conformance fixtures for command/complete, session send_user_message/append_entry, shortcuts, and flag delivery; new `$invalid` cases proving `context` is required on a session action and `value` on a completion. The reference `echo.mjs` registers a command + shortcut and answers command/execute + command/complete.

**SDK.** `smooth.registerCommand` (with an optional `complete` completer), `registerFlag` (+ `smooth.getFlag`), and `registerShortcut`. Command handlers receive a `CommandContext` bound to their command-tier context, exposing `session.sendMessage` / `sendUserMessage` / `appendEntry`, `ui`, `hasUI`, and `args`. `createTestHost` gains `runCommand`, `completeCommand`, and a `session/*` service that enforces the same command-tier guard the engine does (event-tier β†’ -32003), recording every session call for assertions. `runConformance` now replays command/execute + command/complete.

**Demo.** `plan-mode` β€” the flagship extension that exercises phases 2–4 together: a `--plan` flag and a `/plan` command toggle plan mode; a `tool_call` intercept blocks write/edit/apply_patch/bash while it is on; each toggle pushes a `set_widget` render block and persists an LLM-invisible `appendEntry`, so the state survives a hot reload (the flag re-seeds it, the transcript keeps the history).

## 1.11.3

### Patch Changes
Expand Down
12 changes: 12 additions & 0 deletions typescript/extension-sdk/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# @smooai/smooth-extension-sdk

## 0.5.0

### Minor Changes

- 0953584: SEP Phase 4 (spec + SDK) β€” commands, flags, shortcuts, and session actions.

**Spec.** New `command-complete.schema.json` (argument autocomplete). `session.schema.json` now carries the dispatch `context` on every params object (the wire form of the command-tier + epoch guard the host enforces) and adds `send_user_message` (`deliver_as` steer/follow_up/next_turn). `initialize.schema.json` gains a `flags` delivery map on the params and a `shortcuts` list (+ `ShortcutRegistration`) on the registrations. New conformance fixtures for command/complete, session send_user_message/append_entry, shortcuts, and flag delivery; new `$invalid` cases proving `context` is required on a session action and `value` on a completion. The reference `echo.mjs` registers a command + shortcut and answers command/execute + command/complete.

**SDK.** `smooth.registerCommand` (with an optional `complete` completer), `registerFlag` (+ `smooth.getFlag`), and `registerShortcut`. Command handlers receive a `CommandContext` bound to their command-tier context, exposing `session.sendMessage` / `sendUserMessage` / `appendEntry`, `ui`, `hasUI`, and `args`. `createTestHost` gains `runCommand`, `completeCommand`, and a `session/*` service that enforces the same command-tier guard the engine does (event-tier β†’ -32003), recording every session call for assertions. `runConformance` now replays command/execute + command/complete.

**Demo.** `plan-mode` β€” the flagship extension that exercises phases 2–4 together: a `--plan` flag and a `/plan` command toggle plan mode; a `tool_call` intercept blocks write/edit/apply_patch/bash while it is on; each toggle pushes a `set_widget` render block and persists an LLM-invisible `appendEntry`, so the state survives a hot reload (the flag re-seeds it, the transcript keeps the history).

## 0.4.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion typescript/extension-sdk/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@smooai/smooth-extension-sdk",
"version": "0.4.0",
"version": "0.5.0",
"description": "TypeScript SDK for building Smooth Extension Protocol (SEP) extensions: `defineExtension`, `defineTool`, a stdio JSON-RPC transport, an in-process test host, and a conformance runner. Extensions are subprocesses speaking JSON-RPC 2.0 ndjson to any SEP host (smooth-operator-core and its polyglot servers).",
"license": "MIT",
"type": "module",
Expand Down
2 changes: 1 addition & 1 deletion typescript/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@smooai/smooth-operator",
"version": "1.11.3",
"version": "1.11.4",
"description": "TypeScript SDK for the smooth-operator WebSocket protocol: the native client (`.`), React bindings (`./react`), and the embeddable web-component chat widget (`./widget`). Generated from the language-neutral JSON Schemas in spec/.",
"license": "MIT",
"type": "module",
Expand Down
Loading