feat(widget): serve the canonical @smooai/chat-widget (Aurora Glass), not a copy#113
Merged
Merged
Conversation
… not a copy smooth-operator was serving a PARALLEL copy of the widget (the @smooai/smooth-operator SDK widget bundle) rather than the published @smooai/chat-widget (Aurora Glass) — the single canonical public widget (Aurora Glass redesign + OTP/HITL UI). Re-vendor the local-flavor server asset from @smooai/[email protected] dist/chat-widget.global.js (protocol client inlined) so the served/embedded widget IS Aurora Glass. Drop-in: same <smooth-agent-chat> element + endpoint/agent-id attributes; server builds (include_str!), bundle defines the element + SmoothAgentChat global + send_message protocol. Follow-up: the @smooai/smooth-operator SDK still ships its own typescript/src/widget copy (the ./widget export) — retiring that duplicate is a separate SDK-surface change. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> Claude-Session: https://claude.ai/code/session_01U7Mn93HpqhSgEmX6tRdPAv
🦋 Changeset detectedLatest commit: afddacc The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
brentrager
added a commit
that referenced
this pull request
Jun 25, 2026
The local flavor serves the Aurora Glass widget (the host page at / with the auth token injected, and the @smooai/chat-widget bundle at /chat-widget.iife.js) but had NO test — a re-vendor (e.g. #113) can compile via include_str! yet serve a broken/wrong bundle. Adds tests/widget_serving.rs (tower oneshot, no network): the bundle is served with the right content-type + the Aurora Glass markers (<smooth-agent-chat>, SmoothAgentChat global, inlined send_message client); the host page substitutes the token placeholder + mounts the element; and both routes are 404 unless the flavor opts in via with_widget (K8s/Lambda never serve them). 3 tests, all green. Claude-Session: https://claude.ai/code/session_01U7Mn93HpqhSgEmX6tRdPAv Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
brentrager
added a commit
that referenced
this pull request
Jun 25, 2026
…(Aurora Glass) (#116) The React/Custom-UIs guide steered consumers to the SDK @smooai/smooth-operator/widget (the in-tree duplicate tracked for retirement under SMOODEV-1845) instead of the canonical published @smooai/chat-widget (Aurora Glass) — the widget smooth-operator itself now serves (#113) and the marketing demos embed. Update the recommendation: the mermaid node, the table row, the install note, and the No-React section now use @smooai/chat-widget (mountChatWidget + the recommended deferred loader + the eager IIFE), with a note that the SDK ./widget copy still exists but @smooai/chat-widget is canonical. Docs-only; does not change the SDK API (independent of the 1845 removal decision). Claude-Session: https://claude.ai/code/session_01U7Mn93HpqhSgEmX6tRdPAv Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
smooth-operator was serving a parallel copy of the chat widget (bundled from the
@smooai/smooth-operatorSDK's owntypescript/src/widget) instead of consuming the published@smooai/chat-widget— the single canonical public Aurora Glass widget (Aurora Glass redesign + OTP/HITL UI, protocol client inlined).Change: re-vendor the local-flavor server asset (
rust/smooth-operator-server/assets/chat-widget.iife.js) from@smooai/[email protected]dist/chat-widget.global.js, and update the provenance README + refresh recipe. Drop-in — same<smooth-agent-chat>custom element +endpoint/agent-idattributes the local host page already uses, sowidget-index.htmlis unchanged.Verified: the vendored bundle defines
smooth-agent-chat+ theSmoothAgentChatglobal + thesend_messageprotocol; the Rust server builds (itinclude_str!s the asset).Follow-up (not in this PR): the
@smooai/smooth-operatorSDK still ships its owntypescript/src/widgetcopy (the./widget+./widget/standaloneexports). Retiring that duplicate in favor of@smooai/chat-widgetis a separate SDK-surface decision (it can't simply re-export it —@smooai/chat-widgetdepends on the@smooai/smooth-operatorclient, so that would be circular; the path is deprecate-then-remove).🤖 Generated with Claude Code