Add debug log panel, centered modals, and fix multiple UX issues

Features:
  - Add /logs command to toggle debug log panel (20% width on right)
  - Debug panel shows API calls, streaming events, tool calls, state changes
  - Add /help submenus with detailed command explanations
  - Center all modal dialogs in the terminal window

  Bug Fixes:
  - Fix streaming content not displaying (add fallback when streaming fails)
  - Fix permission modal shortcut key mismatch ('a' → 'l' for local scope)
  - Fix agent prompt accumulation when switching agents multiple times
  - Fix permission modal using brittle index for "No" option

  Improvements:
  - Restrict git commands (add, commit, push, etc.) unless user explicitly requests
  - Unify permission options across all UI components
  - Add Ollama model selection when switching to Ollama provider
  - Store base system prompt to prevent agent prompt stacking

  New files:
  - src/tui-solid/components/debug-log-panel.tsx
  - src/tui-solid/components/centered-modal.tsx
  - src/tui-solid/components/help-menu.tsx
  - src/tui-solid/components/help-detail.tsx
  - src/constants/help-content.ts
This commit is contained in:
2026-01-29 04:53:39 -05:00
parent dfbbab2ecb
commit adfebda501
27 changed files with 1031 additions and 167 deletions

View File

@@ -150,7 +150,25 @@ assistant: Errors are handled in src/services/error-handler.ts:42.
# Git Operations
Only commit when requested. When creating commits:
CRITICAL: Git commands that modify the repository are FORBIDDEN unless the user EXPLICITLY requests them.
## Forbidden by Default (require explicit user request):
- \`git add\` - NEVER run git add (including \`git add .\` or \`git add -A\`)
- \`git commit\` - NEVER run git commit
- \`git push\` - NEVER run git push
- \`git merge\` - NEVER run git merge
- \`git rebase\` - NEVER run git rebase
- \`git reset\` - NEVER run git reset
- \`git checkout -- .\` or \`git restore\` - NEVER discard changes
## Allowed without asking:
- \`git status\` - checking current state
- \`git diff\` - viewing changes
- \`git log\` - viewing history
- \`git branch\` - listing branches
- \`git show\` - viewing commits
## When user requests a commit:
- NEVER use destructive commands (push --force, reset --hard) unless explicitly asked
- NEVER skip hooks unless explicitly asked
- Use clear, concise commit messages focusing on "why" not "what"