Repository navigation
feat(app): the desktop request card and what each bot may see, in its details - #172
Merged
Merged
Conversation
…y app as the owner allows The daemon part of D1 (spec 24.2, 24.6, 24.8, 24.11): - desktop_grants (migration 20): one grant per bot and app, by the executable's path case aside, that only goes up from see to act; deleting the bot deletes them. desktop.grants and desktop.revoke, and the bot.desktop notification; ids with the dsk_ prefix. - Tools desktop_windows, desktop_look and desktop_screenshot. The list hides the titles of apps not granted yet and names what is never available. Reading or picturing a window of a new app asks the owner with the bot's why (mcp__botloft__desktop); allowed, the grant is kept. The bot's permission mode never opens the desktop. - The owner must be there: the app open (a connection past hello) and the computer used in the last 5 minutes (GetLastInputInfo); tests stand in for the owner. One desktop action at a time across bots. Tested end to end on Windows with a real window of the test's own: the title hidden, then the request, the reading without the password, the grant kept and told, the picture, revoked and refused; and nothing seen while the owner is away.
… details The app part of D1 (spec 24.9, 24.10): a bot asking to see an app shows a card with the app, the bot's why, the executable's path and what seeing means (its windows read and pictured while the owner is at the computer, never passwords, and where to take it back), with Allow and Deny; answered, it is one line. The bot's details gain "Your desktop": each app it may see, its path and level, with a button that takes it back, kept current by bot.desktop. The desktop tools show in the chat with the screen icon and names in the three languages. The preview seeds a request and a grant.
httpsphl
enabled auto-merge
October 4, 2026 21:41
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.
What
The app part of D1 (spec 24.9, 24.10). It sits on top of #171, so this diff shows it too until it merges. With this, D1 is complete.
DesktopCard, formcp__botloft__desktop):desktop.revoke. The list stays current throughbot.desktop, and when empty it says the bot asks in the chat the first time.Checks
pnpm checkpasses: 394 tests, 2 of them new for the card and the details section.Manual check on the real app