Commit Graph
100 Commits
Author SHA1 Message Date
Mario Zechner 3433d88648 fix(coding-agent): inline ALT+UP UI hint (#657)
- Add inline hint for queued messages showing the Alt+Up restore shortcut
- Update README.md to document dequeue keybinding
- fixes #657
2026-01-12 16:36:57 +01:00
Mario Zechner 06bf2493a1 docs: add changelog and readme entry for notify.ts extension (#658) 2026-01-12 16:33:42 +01:00
Mario Zechner 175a137d00 Fix missing spacer between assistant message and text editor
Initialize widgetContainer with default spacer during init() instead of
only when extension widgets change.

fixes #655
2026-01-12 14:26:22 +01:00
Mario Zechner 6730b4fa59 Add [Unreleased] section for next cycle 2026-01-12 01:00:23 +01:00
Mario Zechner 8ac130c729 Release v0.43.0 2026-01-12 00:59:39 +01:00
Mario Zechner 50cd054edb Rework /scoped-models command UX
- Renamed from /models to /scoped-models
- Changes are now session-only by default (Ctrl+S to persist to settings)
- Added search with fuzzy filtering
- Hotkeys: Enter toggle, Ctrl+A enable all, Ctrl+X clear all, Ctrl+P toggle provider
- Ctrl+C clears search (or exits if empty), Escape exits
- Enabled models shown at top of list
- No checkmarks when all models enabled (no scope)
- First toggle when unscoped clears all and selects that model
- Uses current session thinking level instead of settings default
- Reads from session state first (preserves session-only changes across /scoped-models invocations)

Builds on #626
2026-01-12 00:53:52 +01:00
Mario Zechner 4755da4bfb Remove minor rendering fix from changelog 2026-01-12 00:18:18 +01:00
Mario Zechner c16e21331a Preserve tree selection when returning from summary selector or abort 2026-01-12 00:15:12 +01:00
Mario Zechner a0311fd5b9 Return to summary selector when cancelling custom instructions editor 2026-01-12 00:12:36 +01:00
Mario Zechner 3caaae0491 Merge PR #642: Hook up custom summarization on branch switch 2026-01-12 00:10:21 +01:00
Mario Zechner 783aa0d6d0 Add changelog, update docs, fix handoff example for PR #642 2026-01-12 00:10:14 +01:00
Mario Zechner 9d49b4d4ed Merge branch 'tmp-2025-01-11' - resume scope toggle with async loading (#620) 2026-01-12 00:00:28 +01:00
Mario ZechnerandThomas Mustier 302404684f feat(coding-agent): add resume scope toggle with async loading
- /resume and --resume now toggle between Current Folder and All sessions with Tab
- SessionManager.list() and listAll() are now async with optional progress callback
- Shows loading progress (e.g. Loading 5/42) while scanning sessions
- SessionInfo.cwd field shows session working directory in All view
- Lazy loading: All sessions only loaded when user presses Tab

closes #619

Co-authored-by: Thomas Mustier <mustierthomas@gmail.com>
2026-01-12 00:00:03 +01:00
Mario Zechner c997305685 fix(coding-agent): footer git branch not updating after external branch switches
Git uses atomic writes (temp file + rename) which changes the inode.
fs.watch on a file stops working after the inode changes.
Now watches the directory containing HEAD and filters for HEAD changes.
2026-01-11 23:27:22 +01:00
Mario Zechner e4f1c0bb4d fix(coding-agent): display extension loading errors to user (#639) 2026-01-11 23:24:10 +01:00
Mario Zechner df3f5f41c0 Rename /branch command to /fork
- RPC: branch -> fork, get_branch_messages -> get_fork_messages
- SDK: branch() -> fork(), getBranchMessages() -> getForkMessages()
- AgentSession: branch() -> fork(), getUserMessagesForBranching() -> getUserMessagesForForking()
- Extension events: session_before_branch -> session_before_fork, session_branch -> session_fork
- Settings: doubleEscapeAction 'branch' -> 'fork'

fixes #641
2026-01-11 23:12:31 +01:00
Mario Zechner e7352a50bf Merge pull request #640 from patrick-kidger/patch-1
Fix install-from-source instructions
2026-01-11 23:03:32 +01:00
Mario Zechner c07126c0fd fix(tui): remove Kitty protocol query timeout
The 100ms timeout was causing Kitty protocol detection to fail when the
terminal response was delayed (e.g., due to event loop blocking during
startup). This resulted in shift+enter not working in some scenarios.

Changes:
- Remove timeout-based Kitty detection, process input immediately
- Detect Kitty response in stdinBuffer output (handles split data)
- Add modifyOtherKeys fallback for terminals without Kitty support
  (matches xterm format \x1b[27;modifier;keycode~)
2026-01-11 22:51:30 +01:00
Mario Zechner f1e225d9e7 Add /models command for enabling/disabling Ctrl+P model cycling (#626)
- New /models command with toggle UI for each available model
- Changes persist to enabledModels in settings.json
- Updates take effect immediately for Ctrl+P cycling
- Added documentation to README.md

closes #626
2026-01-11 19:36:42 +01:00
Mario Zechner 42ed0129ed Merge pull request #634 from ogulcancelik/fix/extension-context-model-getter
fix: custom footer extensions now see model changes
2026-01-11 19:31:09 +01:00
Mario Zechner 3eb91d223f fix(ai): Google thinking detection + remove unsupported id fields (#631) 2026-01-11 19:26:07 +01:00
Mario Zechner 667cf5aa6e docs(ai): add changelog entry for Google thinking fix 2026-01-11 19:26:00 +01:00
Mario Zechner f5e97427ce chore: add changelog entry for resume keybindings 2026-01-11 19:23:04 +01:00
Mario Zechner da6a2fb5ea test(tui): cover style reset cases 2026-01-11 19:01:16 +01:00
Mario Zechner ae134e7e02 Merge pull request #632 from thomasmhr/patch-1
Fix header level for tool usage rules
2026-01-11 18:59:16 +01:00
Mario Zechner 6d495348c5 fix(tui): reset styles per line 2026-01-11 18:36:48 +01:00
Mario Zechner 741262d89d Merge model-select-hook: add model_select extension hook (#628) 2026-01-11 18:12:54 +01:00
Mario Zechner a20c6efe17 feat(coding-agent): add model_select extension hook
Fires when the model changes via /model command, model cycling (Ctrl+P),
or session restore. Includes source field and previousModel.

Add model-status.ts example extension demonstrating status bar updates.

closes #628
2026-01-11 18:12:46 +01:00
Mario Zechner 5db7cc693b fix: Model selector fuzzy search matches id + provider
Restores original behavior from 3de8e075. Allows multi-token queries
like 'opus anthropic' to match Anthropic models.
2026-01-11 18:04:57 +01:00
Mario Zechner 3592f9b7c9 fix: Model selector fuzzy search matches provider + id
Allows queries like 'anthropic opus' to match Anthropic models.
Previously only matched against model ID, so 'anthropic' token failed.
2026-01-11 18:00:52 +01:00
Mario Zechner 9655907624 feat: Add skill slash commands and fuzzy matching for all commands
- Skills registered as /skill:name commands for quick access
- Toggle via /settings or skills.enableSkillCommands in settings.json
- Fuzzy matching for all slash command autocomplete (type /skbra for /skill:brave-search)
- Moved fuzzy module from coding-agent to tui package for reuse

Closes #630 by @Dwsy (reimplemented with fixes)
2026-01-11 17:56:11 +01:00
Mario Zechner 92486e026c Add session transcript analysis script
- Extracts user/assistant messages from session files for a given cwd
- Splits into ~100k char files to fit in context
- Spawns pi subagents to analyze each file for recurring patterns
- Compares against existing AGENTS.md to mark NEW vs EXISTING patterns
- Final aggregation step creates FINAL-SUMMARY.txt with consolidated findings
- Shows progress with tool call args during analysis
2026-01-11 17:28:39 +01:00
Mario Zechner 925ed89af1 Merge pull request #625 from nicobailon/feat/set-working-message
feat: add ctx.ui.setWorkingMessage() extension API
2026-01-11 12:36:50 +01:00
Mario Zechner 016a24e9a1 Add [Unreleased] section for next cycle 2026-01-11 04:11:34 +01:00
Mario Zechner 31fe16f2e7 Release v0.42.5 2026-01-11 04:10:49 +01:00
Mario Zechner fa8076bb3d docs(coding-agent): add tui fixes to changelog 2026-01-11 04:07:03 +01:00
Mario Zechner 178a3a563f fix(tui): handle split Shift+Enter in VS Code 2026-01-11 04:03:42 +01:00
Mario Zechner f0fd0a7d6a fix(mom): use coding-agent SessionManager instead of custom MomSessionManager
Removes MomSessionManager which was missing methods expected by AgentSession
(appendMessage, getBranch, etc.), causing runtime crashes.

Now uses the standard SessionManager from coding-agent with a fixed context.jsonl
path per channel. The syncLogToSessionManager function handles syncing messages
from log.jsonl using SessionManager's public API.

Ref #595
2026-01-11 04:03:42 +01:00
Mario Zechner 6db2d0770a Merge pull request #621 from kaofelix/fix-register-flag-docs
fix(coding-agent): remove -- from registerFlag calls
2026-01-11 03:19:29 +01:00
Mario Zechner 3bb115a39c fix(tui): cursor position tracking when content shrinks with unchanged lines 2026-01-11 03:00:23 +01:00
Mario Zechner d7394eb109 Fix TUI rendering with wrong dimensions after suspend/resume
- Send SIGWINCH to self on terminal start to refresh stale dimensions (Unix only)
- Change requestRender(true) to set previousWidth = -1 to trigger widthChanged
- Update first render condition to skip when widthChanged is true

Fixes #599
2026-01-11 02:47:28 +01:00
Mario Zechner 019ad0ec11 Fix /changelog adding 'What's New' to footer permanently
fixes #613
2026-01-11 02:23:04 +01:00
Mario Zechner 0d2731cf6b Remove built-in tool override warning, closes #615 2026-01-11 02:20:32 +01:00
Mario Zechner 2787638561 Remove built-in tool override warning, closes #615 2026-01-11 02:20:32 +01:00
Mario Zechner 65b72cc514 Merge pull request #618 from tmustier/fix-codex-stream-originator
fix(ai): update codex stream originator test
2026-01-11 01:58:54 +01:00
Mario Zechner bd82d06de2 Merge pull request #614 from mitsuhiko/auto-complete-model
Add support for /model autocomplete
2026-01-10 22:07:49 +01:00
Mario Zechner c95b132fcc Add [Unreleased] section for next cycle 2026-01-10 13:56:55 +01:00
Mario Zechner 345de59833 Release v0.42.4 2026-01-10 13:56:11 +01:00
Mario Zechner 7293d7cb82 fix(coding-agent): UTF-8 corruption in remote bash execution
Applied streaming TextDecoder fix to executeBashWithOperations(), matching
the fix in executeBash() from PR #433. Remote execution (SSH, containers)
was still using Buffer.toString() which corrupts multi-byte UTF-8 sequences
split across chunk boundaries.

fixes #608
2026-01-10 13:55:02 +01:00
Mario Zechner ec83d91473 fix(ai): resolve OAuth tool names via context 2026-01-10 13:45:08 +01:00
Mario Zechner 79ed50e0db chore(coding-agent): add changelog for bash hint 2026-01-10 13:36:13 +01:00
Mario Zechner 52e2b4e780 Merge pull request #610 from tallshort/fix/expand-hint
fix(coding-agent): show '(ctrl+o to collapse)' hint for bash output when expanded
2026-01-10 13:34:30 +01:00
Mario Zechner 3743ebc03d Add [Unreleased] section for next cycle 2026-01-10 13:28:10 +01:00
Mario Zechner 2a04b0fb28 Release v0.42.3 2026-01-10 13:27:28 +01:00
Mario Zechner 232749ee52 Remove copy-assets.js build step (prompt now bundled in .ts) 2026-01-10 13:26:46 +01:00
Mario Zechner 6dcb64565a Prepare for alternative Codex harness certification 2026-01-10 13:22:10 +01:00
Mario Zechner 11dd2f476b Add [Unreleased] section for next cycle 2026-01-10 01:43:32 +01:00
Mario Zechner 0c02f5c053 Release v0.42.2 2026-01-10 01:42:46 +01:00
Mario Zechner cf922b01b4 docs: update changelogs and clarify lockstep versioning in AGENTS.md 2026-01-10 01:41:48 +01:00
Mario Zechner d82df76222 docs: add supportsUsageInStreaming to compat table 2026-01-10 01:16:52 +01:00
Mario Zechner 14be8efba8 Merge PR #596: Add supportsUsageInStreaming compat flag 2026-01-10 00:34:29 +01:00
Mario Zechner 52ce113754 Add supportsUsageInStreaming compat flag for OpenAI-compatible providers
Renamed from supportsStreamOptions to clarify this controls stream_options: { include_usage: true }.
Defaults to true (no behavioral change for existing providers).
Providers like gatewayz.ai that reject this parameter can set supportsUsageInStreaming: false in model config.

Based on #596 by @XesGaDeus
2026-01-10 00:34:06 +01:00
Mario Zechner a613306e11 fix(ai): disable strict mode for OpenAI completions tool schemas
OpenRouter with models like openai/gpt-5.2 enforces strict mode which
requires all properties in the required array. Setting strict: false
allows optional parameters without null unions, matching the approach
already used in openai-responses.ts.
2026-01-10 00:19:02 +01:00
Mario Zechner fe98895706 Better error messages on OpenRouter via openai-completions 2026-01-10 00:09:51 +01:00
Mario Zechner c84f2f25de Fix lint warnings: use literal keys instead of bracket notation 2026-01-09 23:54:50 +01:00
Mario Zechner c39250d0df Fix Google Cloud Code Assist OAuth for paid subscriptions
- Properly handle long-running operations for project provisioning
- Support GOOGLE_CLOUD_PROJECT / GOOGLE_CLOUD_PROJECT_ID env vars for paid tiers
- Handle VPC-SC affected users
- Update docs for paid subscription requirements

Closes #582
2026-01-09 23:32:46 +01:00
Mario Zechner 498958a92a Updated AGENTS.md 2026-01-09 23:15:14 +01:00
Mario Zechner dbd82df5af docs: add PR workflow rules 2026-01-09 23:11:19 +01:00
Mario Zechner 63f3e609e7 Merge pull request #606 from badlogic/chore/changelog-footer-data-provider
chore(coding-agent): add footer data provider changelog
2026-01-09 23:08:03 +01:00
Mario Zechner 4afbf4291f chore(coding-agent): add footer data provider changelog 2026-01-09 23:04:20 +01:00
Mario Zechner e8eb4c254a feat: add search parameter and auto-select to /model command
- /model <search> pre-filters selector or auto-selects on exact match
- Support provider/model syntax for disambiguation (e.g., /model openai/gpt-4)
- Auto-select logic moved to InteractiveMode to avoid selector UI flicker

Closes #587
2026-01-09 22:39:26 +01:00
Mario Zechner b4b9cc2a80 Rebuild prompt widget on resume 2026-01-09 22:19:55 +01:00
Mario Zechner 35690f6d1a Merge branch 'fix/lazy-homedir-env-first' 2026-01-09 22:09:27 +01:00
Mario Zechner 4c68ab6eab chore: update prompt-url widget 2026-01-09 22:09:05 +01:00
Mario Zechner e2d14cdc23 Add spacing before aborted messages 2026-01-09 21:48:43 +01:00
Mario Zechner 62a423a218 Adjust widget spacing with empty state 2026-01-09 21:42:44 +01:00
Mario Zechner b95cb7503e Add PR/issue widget metadata and spacing 2026-01-09 21:40:29 +01:00
Mario Zechner 32dd0d3cc4 Add changelog entries for PR 598 2026-01-09 20:50:23 +01:00
Mario Zechner 60f5a03576 Add [Unreleased] section for next cycle 2026-01-09 20:24:50 +01:00
Mario Zechner d856bb097c Release v0.42.1 2026-01-09 20:24:10 +01:00
Mario Zechner 5eb53cdb9e Add [Unreleased] section for next cycle 2026-01-09 07:00:09 +01:00
Mario Zechner 0752995424 Release v0.42.0 2026-01-09 06:59:26 +01:00
Mario Zechner 97d0189eae Add OpenCode Zen provider support 2026-01-09 06:58:20 +01:00
Mario Zechner 98b25baf4d Add [Unreleased] section for next cycle 2026-01-09 06:07:35 +01:00
Mario Zechner ec9def84ef Release v0.41.0 2026-01-09 06:06:54 +01:00
Mario Zechner 342d896881 Add changelog entry for Anthropic OAuth restoration 2026-01-09 06:02:20 +01:00
Mario Zechner 19b5663340 Revert "Remove Anthropic OAuth support"
This reverts commit f5e6bcac1b.
2026-01-09 06:00:20 +01:00
Mario Zechner f745321169 Clean-up. 2026-01-09 05:23:08 +01:00
Mario Zechner 439385afbc Add [Unreleased] section for next cycle 2026-01-09 05:12:52 +01:00
Mario Zechner ebd661fe13 Release v0.40.1 2026-01-09 05:11:49 +01:00
Mario Zechner f5e6bcac1b Remove Anthropic OAuth support 2026-01-09 05:10:33 +01:00
Mario Zechner 2e362fbfd2 Make mac-system-theme extension async to avoid blocking keyboard input 2026-01-09 00:49:31 +01:00
Mario Zechner 0cf4e1dbf9 Add [Unreleased] section for next cycle 2026-01-09 00:44:14 +01:00
Mario Zechner 070ef9c771 Release v0.40.0 2026-01-09 00:43:32 +01:00
Mario Zechner e0e66a3054 Add documentation on component invalidation and theme changes 2026-01-09 00:42:33 +01:00
Mario Zechner 45a6c394ca Fix components not rebuilding content on theme change 2026-01-09 00:40:57 +01:00
Mario Zechner 36fbce85c2 Add [Unreleased] section for next cycle 2026-01-09 00:34:20 +01:00
Mario Zechner 39bfbb125c Release v0.39.1 2026-01-09 00:33:39 +01:00
Mario Zechner 37378fb346 Fix setTheme not triggering rerender, improve mac-system-theme example 2026-01-09 00:32:41 +01:00
Mario Zechner e5e944475d Poll macOS system theme every 2 seconds in mac-system-theme extension 2026-01-09 00:18:59 +01:00