From 301dbbfdc76a012649b840e6b19d3118f60cb363 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 19 Aug 2026 01:11:11 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=A6=8B=20New=20version=20release?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .changeset/identity-intake-ts-server.md | 7 ------- typescript/server/CHANGELOG.md | 8 ++++++++ typescript/server/package.json | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) delete mode 100644 .changeset/identity-intake-ts-server.md diff --git a/.changeset/identity-intake-ts-server.md b/.changeset/identity-intake-ts-server.md deleted file mode 100644 index bcd8cd47..00000000 --- a/.changeset/identity-intake-ts-server.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@smooai/smooth-operator-server': minor ---- - -Add the `identity_intake` Rich Interaction kind to the TypeScript server (structured name/email/phone lead capture) — the port of the Rust reference `identity_intake.rs`, hosted by default alongside `choices`. On an `identity_form`-capable channel the `request_identity_intake` tool parks the turn on a form; on a text-only channel it degrades to validated conversational collection. Both paths run the shared validator (required-fields present, email shape, phone normalized to E.164, per-field errors) and resume with the same canonical payload. - -Also adds the framework's kind-agnostic **host-effect seam**: a valid `submit_interaction` (both the rich WS path and the conversational-fallback tool) now routes to a kind-specific host effect. For `identity_intake` this stamps the captured contacts onto the session metadata (`userName` / `contactEmail` / `contactPhone`) — the same keys the pre-chat create path stashes and the OTP contact seam reads, so a captured contact is immediately OTP-contactable. Kinds with no effect (e.g. `choices`) are unaffected. diff --git a/typescript/server/CHANGELOG.md b/typescript/server/CHANGELOG.md index 9c3810ab..0e73e7e2 100644 --- a/typescript/server/CHANGELOG.md +++ b/typescript/server/CHANGELOG.md @@ -1,5 +1,13 @@ # @smooai/smooth-operator-server +## 1.15.0 + +### Minor Changes + +- d73ca95: Add the `identity_intake` Rich Interaction kind to the TypeScript server (structured name/email/phone lead capture) — the port of the Rust reference `identity_intake.rs`, hosted by default alongside `choices`. On an `identity_form`-capable channel the `request_identity_intake` tool parks the turn on a form; on a text-only channel it degrades to validated conversational collection. Both paths run the shared validator (required-fields present, email shape, phone normalized to E.164, per-field errors) and resume with the same canonical payload. + + Also adds the framework's kind-agnostic **host-effect seam**: a valid `submit_interaction` (both the rich WS path and the conversational-fallback tool) now routes to a kind-specific host effect. For `identity_intake` this stamps the captured contacts onto the session metadata (`userName` / `contactEmail` / `contactPhone`) — the same keys the pre-chat create path stashes and the OTP contact seam reads, so a captured contact is immediately OTP-contactable. Kinds with no effect (e.g. `choices`) are unaffected. + ## 1.14.0 ### Minor Changes diff --git a/typescript/server/package.json b/typescript/server/package.json index 0035bd86..4445592d 100644 --- a/typescript/server/package.json +++ b/typescript/server/package.json @@ -1,6 +1,6 @@ { "name": "@smooai/smooth-operator-server", - "version": "1.14.0", + "version": "1.15.0", "private": true, "description": "Native TypeScript smooth-operator server: a WebSocket service that speaks the smooth-operator wire protocol and runs the @smooai/smooth-operator-core engine in-process per turn. The TS sibling of the Rust (rust/smooth-operator-server) and C# (dotnet/server) servers; the client lives in ../src and is untouched.", "license": "MIT",