Skip to content

πŸ¦‹ New version release - #503

Open
brentrager wants to merge 1 commit into
mainfrom
changeset-release/main
Open

πŸ¦‹ New version release#503
brentrager wants to merge 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@1.55.2

Patch Changes

  • 6120535: dotnet-server: port the identity_intake Rich Interaction kind + add the kind-routed host-effect seam.

    The .NET server now hosts a second Rich Interaction kind alongside choices:
    identity_intake (structured name/email/phone lead capture, capability identity_form).
    It mirrors the Rust reference: the request_identity_intake raise tool, a server-side
    validator (required-field presence, email shape, phone β†’ E.164 normalization, per-field
    errors reported one-pass), and the conversational fallback directive for text-only channels.

    This wave also adds the one framework piece the choices wave omitted: a kind-agnostic
    host-effect seam
    . IInteractionKind gains an optional ApplyEffect hook (no-op default,
    so choices is unaffected); the caller resolves the kind from the DI-provided
    InteractionCatalog and runs its effect without knowing which kind it is. It fires on BOTH
    submit paths β€” the rich submit_interaction frame (FrameDispatcher) and the generic
    submit_interaction tool (the conversational fallback, wired through the turn runner).
    identity_intake's effect stamps the captured, normalized contact onto a session-keyed
    in-memory overlay (SessionIdentityRegistry) β€” the C# analog of the Rust reference's
    in-memory session metadata (userName / contactEmail / contactPhone) β€” which the OTP
    contact seam now reads alongside the create-session email, so a captured email/phone (phone β†’
    SMS) becomes OTP-contactable on the next turn.

    Tests: validator unit tests (+ shared-fixture cross-check against the Rust reference) and WS
    park/resume integration tests on both the rich and conversational-fallback paths that assert
    the host effect stamped the session and left it OTP-contactable.

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

Patch Changes

  • Updated dependencies [6120535]
    • @smooai/smooth-operator@1.55.2

@smooai/smooth-operator-server@1.15.1

Patch Changes

  • af092bf: Port the identity_intake Rich Interaction kind to the Python server, plus the kind-routed host-effect seam the choices wave omitted.

    identity_intake is structured name/email/phone lead capture β€” the second interaction kind (after choices), mirroring the Rust reference. Its request_identity_intake raise tool ({ fields, reason }) parks the turn on channels that declare the identity_form capability and degrades to a conversational directive on text-only channels; both paths run one server-side validator (required fields present, email shape, phone normalized to E.164, per-field errors) and resume with the same canonical payload.

    New framework piece: a kind-agnostic host effect (InteractionKind.host_effect, a no-op by default) fires on a valid submit on BOTH paths β€” the dispatcher's submit_interaction action and the conversational-fallback submit_interaction tool. identity_intake overrides it to stamp the captured contacts onto the session (user_name / contact_email / contact_phone β€” the same keys the pre-chat create path stashes and the OTP contact seam reads), so a captured contact is immediately OTP-verifiable (email and/or SMS). choices is unaffected. Registered in the default interaction catalog alongside choices.

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