π¦ New version release#284
Merged
Merged
Conversation
brentrager
force-pushed
the
changeset-release/main
branch
from
July 26, 2026 21:29
bbbe705 to
8f11027
Compare
brentrager
enabled auto-merge (squash)
July 26, 2026 21:29
brentrager
force-pushed
the
changeset-release/main
branch
5 times, most recently
from
July 26, 2026 22:57
5f66cdf to
4f001c6
Compare
brentrager
force-pushed
the
changeset-release/main
branch
from
July 26, 2026 23:08
4f001c6 to
178ed10
Compare
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.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish 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@0.25.1
Patch Changes
4d7ce2f: Add a
create_artifactagent tool (smooth-tools): Big Smooth can now write a self-contained HTML report/artifact into<workspace>/.smooth-artifacts/and get back the absolute path plus a clickablefile://URL β Claude Code Artifacts style. Registered in the default tool set so every host (including the daemon) gets it. Rendering artifacts inline in smooth-web is a follow-up.dcee87a: Big Smooth can now delegate subtasks to a sidekick (pearl th-1adf55).
The engine already shipped
DispatchSubagentTool(send_sidekick) β thedaemon just never registered it. Now
tools_forbuilds it from the engine'sbuilt-in cast plus a snapshot of THIS turn's tool set, so a sidekick inherits
the same kernel-sandboxed fs/grep/bash instances filtered to its role's
clearance (
scoutread-only,runnerfull), and runs in its own isolatedconversation returning only a summary β keeping an expensive investigation out
of the parent's context window (the win behind Claude Code's Task tool).
Registered last so the snapshot never contains
send_sidekickitself (norecursive dispatch), and only when a gateway is resolvable (a sidekick with no
model would just error). Sidekick sub-calls still cross the load-bearing kernel
sandbox, but NOT the daemon's userspace deny-policy/narc hooks β documented
in-code as a known defense-in-depth gap for this first cut.
7f6b64f: Fix
th pearls pullfailing with "cannot merge with uncommitted changes"DOLT_PULLmerges, and Dolt refuses to merge a dirty working set β butread-path commands dirty it as a side effect:
th msg inboxand theth msg watchpoll loop heartbeat theagentstable without committing.That wedged
th pearls pullon every invocation, and silently stoppedth msg watchfrom receiving remote messages at all (it swallows pullerrors, so each poll's own heartbeat blocked the next poll's pull).
SmoothDolt::pullnow commits the working set first, via a newcommit_working_sethelper that no-ops when the store is already clean(
commitpasses--allow-empty, so an unconditional call would add anempty commit per pull). Fixing it at that shared choke point covers every
caller, including interrupted commands that leave the store dirty.
ff955e0: Maintain session metadata in the daemon's durable store (th-503c80). Appending a
message now increments the owning session's
messageCount(and refresheslastActivityAt/updatedAt) and writes it through to sqlite, so sessions nolonger report
messageCount: 0despite having real messages. Empty-sessionchurn is out of scope here β the engine's
handle_create_sessionmints a freshsession per WS connection when no known
conversationIdis passed, which thestorage adapter can't prevent.
dcda585: Add the
smooth-glow-upskill β Smooth's Presence design language.Sibling to smooai's
smooai-glow-up(Aurora), but for a terminal-firstproduct. Aurora is a dashboard language: cool midnight ground, tealβgoldβcoral
spent as heat. Presence is for a personal agent you cohabit with: a warm
ground, and color spent on presence and attention β the tealβblue
thgradient reserved for Big Smooth himself, amber meaning only "he needs you".
Grounded in what already ships (
crates/smooth-code/src/theme.rs,crates/smooth-web/web/src/globals.css) and covers all three Smooth surfaces:the
th codeTUI,thCLI output, and the smooth-web SPA β including theterminal translation of web ideas (borders not glass, foreground-only styling,
form-not-just-color), pipe/NO_COLOR safety, and how to actually see a TUI
change (ratatui
TestBackendsnapshots + tmuxcapture-pane).fe323d9: Add
th referralsβ the operator CLI for the partner / advocate referral program (SMOODEV-1035), which had API routes and schemas but no way to drive them short of hand-rolled curl. Coversshow/create/updatefor the program economics,partners list|add|update|remove,linkto print a partner's shareable referral URL, plusattributions/visits/commissions. Registered as top-levelth referralsand underth api referrals.--ratetakes a human percentage (20) rather than basis points, and partners are addressable by email, display name, or code instead of uuid. Referral links point atapi.smoo.ai/r/<code>β the host that actually serves the redirect; the marketing site 404s that path.d18e080: Fix
th code: send the local auth token so it can actually connect(pearl th-6dd202).
th codecalledconnect_asyncwith no authentication at all, while thedaemon runs the operator's strict-auth local flavor β so every session
died on
401 Unauthorizedeven with a healthy Big Smooth, and the errorunhelpfully suggested
Run: th upfor a server that was already up.Verified against the live daemon: no-auth β 401,
Authorization: Bearerβ401 (the upgrade path doesn't consult headers),
?token=<correct>β 101Switching Protocols,
?token=WRONGβ 401. The client now resolves the tokenthe same way the daemon does (
SMOOTH_LOCAL_TOKENβ~/.smooth/operator-token,read-only β the daemon owns provisioning) and passes it as the query param,
percent-encoded so a token containing
&/#/space can't silently truncatethe URL. A 401 now explains the token mismatch instead of misdirecting.
ec502ee:
th code: first application of the smooth-glow-up (Presence) skill(pearl th-24cdf3).
message to get started. /help for commands." and
app.rsadded an identicalSystem:message directly beneath it. Removed the duplicate.keybindings in one uniform gray separated by
|, with the health dot buriedmid-row. Now presence leads (the health glyph opens the line β it's Big
Smooth's "I'm awake" signal), live state reads next, and the static
keybindings are dimmed and right-aligned so alignment does the separating
work. Middots replace pipes throughout.
βdiffering only byhue said nothing under
NO_COLOR, on a mono terminal, or to the ~8% of userswho can't separate green from amber. The shape now carries it too:
βawake,βdegraded,βunknown.Verified by rendering under tmux at 110/120/80 columns and with
NO_COLOR=1.