Repository navigation
Providers phase 4: registry-derived command surfaces - #404
Merged
Merged
Conversation
The command layer was the last hand-enumerated provider surface the user flagged as first-class scope in #394 (§7): - paneCommands' hardcoded codex-vertical/codex-horizontal entries become GENERATED per-provider split commands: every registered agent provider except the DEFAULT_PROVIDER (covered by the generic split-vertical/-horizontal) gets "New <Provider> Right/Below" palette entries, with an ⌥<key> chord when its identity descriptor declares splitShortcutKey. Codex declares 'C', so ⌥C/⌥⇧C and the command ids (`codex-vertical` etc.) are byte-identical to before — user keybinding overrides keyed on ids survive. A provider without a declared key gets palette-only split commands: chords are a scarce resource, palette entries aren't. - useKeybinds' hardcoded alt-c/alt-shift-c block becomes a loop over the same descriptors (physical-key e.code matching preserved for the macOS alt-letter reason documented in place). - The remaining shortLabel ternaries (`kind === 'codex' ? 'Codex' : 'Claude'`) route through the registry: sessionCommands ×4, DispatchAgentBadge, bulkProviderSwitch + BulkProviderSwitchModal's local providerLabel fns, prompt-templates' agent listing. - Opportunistic: linked-agent's run() still had a literal-pair guard (phase-1 pattern in a shape the sweep missed) → isAgentProviderKind. NOT here: the switch-direction UI redesign (BulkProviderSwitchModal's binary source→target model) — that's phase 5, blocked on the explicit-target switch API over the neutral-hub codecs. Verified: tsc clean on both projects, electron-vite build clean, vitest 170/170. Part of #394. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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 #394 (phase 4 — the command-surface rewrite flagged as first-class scope).
splitShortcutKeyon the identity descriptor. Codex's ids/chords are byte-identical to the old hardcoded ones; a future provider gets palette entries automatically and a chord only if it declares one.'Codex' : 'Claude'label ternaries (sessionCommands ×4, DispatchAgentBadge, bulk-switch label fns, prompt-templates) → registryshortLabel.isAgentProviderKind.Not here: the binary switch-direction UI redesign — phase 5, blocked on the explicit-target switch API over the atp neutral-hub codecs.
Verified: tsc both projects, build, vitest 170/170.
🤖 Generated with Claude Code