Repository navigation
feat(connect): ask is a map of tools or "everything" (v2.11.0) - #218
Merged
Merged
Conversation
one.connect.ts now always says what the app asks for (@withone/connect
0.20.0). The setup handoff is version 2 and carries the ask either way,
so the page can switch an existing app to everything, which version 1's
ask: null ("leave it alone") could not. When the app asks for
everything the CLI removes ONE_PERMISSION_SET from the env file, since
a set left there would keep the app asking for the old tools. A config
without ask, with an empty map, or with any other string is refused
with a message naming both forms.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
moekatib
approved these changes
Nov 3, 2026
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.
Part of one change across three repos: the connect SDK makes
askrequired ("everything"or tools, 0.20.0), core-ui withoneai/core-ui#1040 handles the setup page, and this PR is the CLI.Change
validateConfig:askis required and must be a map of tools or"everything". A missingask, an empty map, or any other string is refused with a message naming both forms.v: 2:askis{ kind: "tools", rules }or{ kind: "everything" }. Version 1'sask: nullmeant "leave it alone", so it could never switch an app to everything. The page still reads v1.connect createremovesONE_PERMISSION_SETfrom the env file with a newremoveEnvKeys.upsertEnv'snullonly appends an empty key, so it can't remove one. A set left there would keep the app asking for the old tools, because the backend asks for everything only when authorize names nopermission_set. The agent-mode result gainsasksForEverything.connect types: writes action names only for named tools (askedTools).oneskill andone guidedescribe both forms. Version 2.11.0.Verified end to end (local stack)
The CLI from this change (
one connect create) against the local core-ui page on this branch, in a fresh project:ask: "everything"ONE_PERMISSION_SETask: { stripe: { access: "read-only" } }ONE_PERMISSION_SET=b6644fbc…ask: "everything"deleted: true)ONE_PERMISSION_SETremovedaskaskis required: name the tools the app asks for, or writeask: \"everything\"."Step 3 (switching an existing app to everything) was impossible before: version 1 sent
ask: null, which the page read as "leave it alone", and the CLI never removedONE_PERMISSION_SET.Backend: nothing changes. An authorize request without
permission_setalready asks for everything (oauth.rs).Tests:
npm testpasses 709 of 715, including 4 new (everything accepted, every badaskrefused,removeEnvKeys, handoff v2). The 6 failures areresolveConfigpath tests that also fail onmainon macOS (/varvs/private/var). tsc and the build are clean.Release order: core-ui #1040 first (it reads v1 and v2), then this, then the SDK.
🤖 Generated with Claude Code