Repository navigation
feat/workbench-llm-tools-retrieval - #5
Merged
Merged
Conversation
…operations - llm.generateText/streamText accept messages, tools, toolChoice and reasoning; results carry toolCalls and an assistant message with encrypted hostState - llm.embed (explicit model) and llm.rerank, plus sdk/vectors.mts for local cosine similarity, top-k and SQLite BLOB conversion - workbench:check scans server code and records Host operations beyond the baseline in manifest.requires.operations so older clients ask to update - references/llm.md documents the tool loop, retrieval and required operations Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ketd
changed the base branch from
feat/workbench-model-media-capabilities
to
main
November 6, 2026 10:52
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 #4 (base is its branch); GitHub retargets this PR to
mainonce #4 merges.Syncs the template with the desktop change
add-workbench-llm-tools-retrieval-and-guards.SDK
llm.generateText/streamTextacceptmessages(one ofpromptormessages),tools,toolChoiceandreasoning.toolCalls(finishReason: 'TOOL_CALLS',inputErrorwhen arguments fail the tool schema) and anassistantmessage to append unchanged. ItshostStateis reasoning material encrypted by the Host.streamTextalso emitstool-callevents.llm.embed({ model, input })requires an explicit model.llm.rerank({ query, documents, topN? })returns results sorted by score.sdk/vectors.mts:cosineSimilarity,topK,vectorToBlobandvectorFromBlob, for keeping vectors in the app's own SQLite.Tooling
workbench:checkscans server code with the TypeScript checker. It records Host methods newer than the baseline (for examplellm.embed) and new text-call fields (llm.messages,llm.tools,llm.reasoning,llm.images) inmanifest.requires.operations. If nothing is beyond the baseline, the field is omitted so older clients can still install the app.requires.operations, and the compilation report carriesoperations.Docs
references/llm.mdcovers the tool loop, retrieval and required operations. The topic row inSKILL.mdis updated.Verification
pnpm exec tsc -p tooling/tsconfig.sdk.json --noEmitandtooling/tsconfig.json --noEmitpasspnpm run skills:checkpassespnpm run test:tooling: 35/35 pass, including a new test that checks the scan writesrequiresand omits it for baseline-only apps🤖 Generated with Claude Code