Repository navigation
feat: the Barista, a @yielded/agent agent with a Kitchen container tool - #17
Open
sam-goodwin wants to merge 8 commits into
Open
sam-goodwin wants to merge 8 commits into
sam-goodwin wants to merge 8 commits into
Conversation
@yielded/agent needs effect ^4.0.3; Foldkit pins its effect peer to 4.0.0 exactly, so peerDependencyRules allows any effect 4. @effect/* and @yielded/* join the minimumReleaseAge exemptions alongside effect. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Patches alchemy@2.0.0-beta.83's Workers AI LanguageModel (to upstream):
- a call to a parameterless tool arrives with arguments "", which was passed
through as a string; decode it as {}.
- output usage reported text: 0, reasoning: 0 alongside the real total, which
@yielded/agent rejects as contradictory; report text = total - reasoning.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The Room's replies now come from a @yielded/agent agent on Workers AI. Its menu tool calls the Kitchen, an Effect container serving the menu over Alchemy's RPC, bound and started by the Room. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The demo deploys and runs the Kitchen container, whose image builds with Docker; macOS runners can't run it. tcut renders through Chrome on Linux. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…quest On a fresh deploy the Kitchen can fail to start at first, and the menu tool turned that into a defect that 500'd sendPrompt. Retry start with backoff, and report any reply defect as ResponseFailed with its cause. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Right after a deploy, Cloudflare can have no container instance for the
Durable Object yet ("There is no container instance that can be provided to
this Durable Object, try again later"): start succeeds but the container
exits before its port opens. Retry start + menu (safe to repeat) for ~45s,
and give the barista's run 90 seconds.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
CI saw a bare 500 from /health just after a fresh deploy with the Kitchen. Catch defects too and include the cause, and show the body in the test. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A fresh deploy now builds and pushes the Kitchen's container image, which pushed beforeAll past vitest's 120s hook timeout on CI. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Preview deployedApp: https://cafe-web-pr-17-e4ohbuapg62bvdhh.testing-2b2.workers.dev Built from commit 0780050. This comment updates automatically with each push. |
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.
Stacked on #16 (Alchemy beta.83).
The Room's replies now come from the Barista, a
@yielded/agentagent on Workers AI. Itsmenutool calls the Kitchen, an Effect container that serves tools over Alchemy's schemaless RPC.Kitchen: tools served over container RPC
The tool calls the Kitchen; the schema lives at the model boundary
The Barista
Baristais a service so the library's internal types don't leak into the Room's declaration emit.Room
Alchemy patch (to upstream)
patches/alchemy@2.0.0-beta.83.patchfixes the Workers AI LanguageModel for agents:const tryParseJsonArgs = (raw: unknown): unknown => { + // Workers AI sends `""` as the arguments of a call to a parameterless tool. + if (raw === "" || raw == null) return {};outputTokens: { total: completionTokens, - text: 0, - reasoning: 0, + text: Math.max(0, completionTokens - reasoningTokens), + reasoning: reasoningTokens, },Dependencies
alchemy devnow needs Docker for the Kitchen.Tests
🤖 Generated with Claude Code