Commit Graph

17967 Commits

Author SHA1 Message Date
Ethan Cawse dd0a69baa7 fix(ai): preserve results when lease release fails 2026-08-11 23:03:48 -04:00
Ethan Cawse 3b2249d653 fix(ai): fence timed-out provider heartbeats 2026-08-11 23:03:48 -04:00
Ethan Cawse 3e538d71a4 fix(ai): release provider permit before stream completion 2026-08-11 23:03:48 -04:00
Ethan Cawse 7ab6b554f6 fix(coding-agent): isolate message-end notifications 2026-08-11 23:03:11 -04:00
Ethan Cawse a457173750 fix(coding-agent): preserve persistence after listener failures 2026-08-11 23:03:10 -04:00
Ethan Cawse bac3653806 docs(coding-agent): add persistence wait changelog 2026-08-11 23:03:10 -04:00
Ethan Cawse 94b865be6f fix(coding-agent): skip idle mid-turn persistence waits 2026-08-11 23:03:10 -04:00
x86matthew 80a02d6f24 Update CHANGELOG 2026-08-12 03:15:25 +01:00
Shawn Koh c6b626bf80 fix(tui): preserve nested width epoch tails
Amp-Thread-ID: https://ampcode.com/threads/T-019ff125-f53d-739b-8462-6027fe70f914
Co-authored-by: Amp <amp@ampcode.com>
2026-08-12 10:14:43 +08:00
Shawn Koh 7ec85280ec fix(tui): backfill unresolved overlay growth
Amp-Thread-ID: https://ampcode.com/threads/T-019ff125-f53d-739b-8462-6027fe70f914
Co-authored-by: Amp <amp@ampcode.com>
2026-08-12 10:14:43 +08:00
Shawn Koh c9e8d3791e fix(tui): preserve Kitty placement epochs across widths
Amp-Thread-ID: https://ampcode.com/threads/T-019ff125-f53d-739b-8462-6027fe70f914
Co-authored-by: Amp <amp@ampcode.com>
2026-08-12 10:14:43 +08:00
Shawn Koh d131b61227 fix(tui): preserve non-prefix width appends
Amp-Thread-ID: https://ampcode.com/threads/T-019ff125-f53d-739b-8462-6027fe70f914
Co-authored-by: Amp <amp@ampcode.com>
2026-08-12 10:14:42 +08:00
Shawn Koh 8751a9571f fix(tui): preserve live output across width epochs
Amp-Thread-ID: https://ampcode.com/threads/T-019ff125-f53d-739b-8462-6027fe70f914
Co-authored-by: Amp <amp@ampcode.com>
2026-08-12 10:14:42 +08:00
Shawn Koh 27eb61bf23 fix(tui): preserve Kitty placements on width repaint
Amp-Thread-ID: https://ampcode.com/threads/T-019ff125-f53d-739b-8462-6027fe70f914
Co-authored-by: Amp <amp@ampcode.com>
2026-08-12 10:14:42 +08:00
Shawn Koh ef9fb774f6 fix(tui): propagate width-epoch content revisions
Amp-Thread-ID: https://ampcode.com/threads/T-019ff125-f53d-739b-8462-6027fe70f914
Co-authored-by: Amp <amp@ampcode.com>
2026-08-12 10:14:42 +08:00
Shawn Koh a96831bdf7 fix(tui): account for trailing width-epoch roots
Amp-Thread-ID: https://ampcode.com/threads/T-019ff125-f53d-739b-8462-6027fe70f914
Co-authored-by: Amp <amp@ampcode.com>
2026-08-12 10:14:42 +08:00
Shawn Koh 02b08ef656 fix(tui): publish width-epoch commit seam
Amp-Thread-ID: https://ampcode.com/threads/T-019ff125-f53d-739b-8462-6027fe70f914
Co-authored-by: Amp <amp@ampcode.com>
2026-08-12 10:14:42 +08:00
Shawn Koh f3c963ca4a fix(tui): rebase overlayed width-epoch window
Amp-Thread-ID: https://ampcode.com/threads/T-019ff125-f53d-739b-8462-6027fe70f914
Co-authored-by: Amp <amp@ampcode.com>
2026-08-12 10:14:41 +08:00
Shawn Koh fb0bcdbba0 fix(tui): preserve mutable Markdown row on resize
Amp-Thread-ID: https://ampcode.com/threads/T-019ff125-f53d-739b-8462-6027fe70f914
Co-authored-by: Amp <amp@ampcode.com>
2026-08-12 10:14:41 +08:00
Shawn Koh d164a6407a fix(tui): avoid unwatermarked width-epoch appends
Amp-Thread-ID: https://ampcode.com/threads/T-019ff125-f53d-739b-8462-6027fe70f914
Co-authored-by: Amp <amp@ampcode.com>
2026-08-12 10:14:41 +08:00
Shawn Koh 07af386646 fix(tui): clamp width-epoch appends to overflow 2026-08-12 10:14:41 +08:00
Shawn Koh ef803e3880 fix(tui): rebuild direct HerdR scrollback from source 2026-08-12 10:14:41 +08:00
Shawn Koh ee527f2d69 fix(tui): retain output queued during mux resize 2026-08-12 10:14:40 +08:00
Shawn Koh 9e73b89621 fix(tui): preserve scrollback across multiplexer width changes 2026-08-12 10:14:40 +08:00
can1357 06aecdd51f test(read): aligned markdown preview expectation with addressable line split
- displayContent mirrors addressable rows since 21a7693dd7, so the terminal newline is no longer part of the preview text.
2026-08-12 03:48:34 +02:00
x86matthew 8924c152a4 Fix open browser behaviour on Windows 2026-08-12 02:42:53 +01:00
can1357 5481d8b9b0 chore: bump version to 17.2.15 2026-08-12 03:26:12 +02:00
can1357 92098d60ec chore: rewrote changelog 2026-08-12 03:25:42 +02:00
can1357 e49f8f4fb2 test(coding-agent): added shared auth storage and model registry to tests
- Added shared auth storage and model registry for concurrent and eager compaction tests.
- Replaced per-test auth storage creation and cleanup routines with shared lifecycle management.
- Removed local auth storage variables and individual cleanup hooks from test harness instances.
2026-08-12 03:25:31 +02:00
can1357 21a7693dd7 fix(hashline): prevented exposing terminal newline as an addressable row
- Added `splitAddressableFileLines` to strip terminal newlines from line addressability without removing genuine blank lines.
- Updated coding-agent read tool context parsing to use addressable file lines.
2026-08-12 03:22:01 +02:00
can1357 154c6222f6 fix(hashline): prevented terminal newline from exposing editable blank line
- Prevented `formatNumberedLines` from appending a synthetic empty line when encountering a terminal newline.
- Added tests to ensure trailing newlines do not generate addressable blank lines.
2026-08-12 03:17:59 +02:00
can1357 72624f6669 feat(hashline): added rust delimiter lexing and parse advisory warnings
- Added a post-apply syntax advisory warning when an edit breaks parsing on files that previously parsed cleanly.
- Implemented Rust-specific single-quote lexing in `computeDelimiterBalance` to correctly handle lifetimes and character literals.
- Added test suites covering rust lifetime delimiter counting and the post-apply parse advisory behavior.
2026-08-12 03:17:34 +02:00
can1357 b6dc98eb63 test(coding-agent): updated test suites and assertions for coding agent
- Updated eager compaction and plan reference tests to track call indices and task delegation markers instead of text strings.
- Removed obsolete context message marker checks, vibe mode assertions, and prompt gating test cases.
- Simplified prewalk, workflow, and Gemini instruction test expectations across agent modules.
- Removed the system prompt personality test suite entirely.
2026-08-12 03:12:15 +02:00
can1357 63b39b7040 feat(coding-agent/utils): expanded tar extraction and validation logic
- Added archive and member size assertion limits along with path byte-length checks for PAX and GNU metadata targets.
- Added support for global PAX attributes, old-GNU name records, and signed GNU base-256 numeric header fields.
- Updated archive reading in WriteTool to accept a filesystem path instead of buffered bytes.
- Added test coverage for signed GNU base-256 values, PAX extensions, overlong path rejections, and oversized archives.
2026-08-12 03:04:17 +02:00
can1357 94a76a8f27 feat: hardened tar parser and optimize prompt handling
- Bound PAX sparse record memory overhead by caching sparse markers and specific keys.
- Update system prompt phrasing and tests for tool inventory and date displays.
2026-08-12 03:04:07 +02:00
can1357 a4d8860a6c feat: added google reasoning controls mcp stream resumption and tar support
- Added Google provider thinking configuration parameters and force-reasoning-off controls.
- Implemented MCP SSE stream resumption using Last-Event-ID and `SSEResumeError`.
- Added support for TAR old-GNU sparse extension blocks, path length checks, and archive entry overrides.
- Restricted external thinking support to specific models and added semver fallback parsing.
2026-08-12 02:32:45 +02:00
can1357 19c0afcc0d feat: implemented external thinking flags and transport reasoning controls
- Added the `--external-thinking` CLI flag alongside model capability checks to gate external thinking tool availability.
- Updated Anthropic and Google transports to honor `forceReasoningOff` for native thinking-off controls.
- Renamed the `thoughts` property and parameter to `notes` across think fixtures, tools, and tests.
- Updated system prompt instructions and test suites to verify transport-specific thinking and tool activation.
2026-08-12 02:23:17 +02:00
can1357 7e2663360f fix(read): bounded tar directory-alias resolution and resolved aliased link targets
- Capped directory-alias rewrites per lookup (ELOOP-style, 40) so a directory
  symlink targeting its own subtree (a -> a/b) throws a catchable ToolError
  instead of looping forever growing the path.
- Deferred pending tar link resolution while any directory on the target path
  is itself an unresolved link, and rewrote targets through established
  directory aliases before the exact-path lookup, so file symlinks routed
  through directory aliases materialize instead of dangling.
- Regression tests reproduce both shapes: pre-fix the aliased symlink read
  failed with 'cannot be materialized' and the self-cycle read hung.
2026-08-12 02:02:33 +02:00
can1357 5ffafec146 chore: normalized changelog 2026-08-12 01:57:33 +02:00
can1357 20732b5355 Merge PR #8273: fix(tui): hide remaining activity in hidden-tool mode (@dannyboy-ai) 2026-08-12 01:53:53 +02:00
can1357 c63b475f47 Merge PR #8260: fix(read): avoid libarchive for tar reads (@roboomp) 2026-08-12 01:53:49 +02:00
can1357 ce13985746 Merge PR #8276: fix(coding-agent): stop print mode hanging on plan.defaultOnStartup (@roboomp) 2026-08-12 01:53:44 +02:00
can1357 fe837038e9 Merge PR #8262: fix(coding-agent): copy local artifacts across handoff session boundary (@roboomp) 2026-08-12 01:53:44 +02:00
can1357 037bfc5204 Merge PR #8268: fix(mcp): send MCP-Protocol-Version header and negotiate 2025-11-25 (@roboomp) 2026-08-12 01:53:44 +02:00
can1357 6f58d45d4a Merge PR #8269: fix(ai): honor Bedrock skip-auth during model discovery (@roboomp) 2026-08-12 01:53:44 +02:00
can1357 5b7a606d8f Merge PR #8257: fix(snapcompact): extend high-res frame tier to opus 5+ (@roboomp) 2026-08-12 01:53:36 +02:00
can1357 c101452bb5 refactor: restructured and condensed agent prompts and system instructions
- Refactored and condensed numerous system prompts, agent instructions, and tool documentation files across packages.
- Streamlined workflow rules, formatting constraints, and execution guidelines for improved clarity and brevity.
- Updated discovery rules, recommendation criteria, and syntax standards in prompt templates.
2026-08-12 01:48:14 +02:00
can1357 bc4404203c feat(coding-agent/cleanse): updated ty parser regex and test cases
- Update the ty parser regex to correctly match file path and position before the severity and error code.
- Adjust discovery prompt documentation and test cases to match the revised ty output format.
2026-08-12 01:16:11 +02:00
can1357 78ef4f6bb9 feat(ai/providers): added forced tool directive for antigravity gemini routes
- Added a markdown template defining a tool-only turn directive for Gemini models.
- Appended the forced tool directive to request contents when using Antigravity Gemini routes with forced tool mode.
2026-08-12 00:58:25 +02:00
can1357 93fed035f6 feat(coding-agent/cleanse): introduced discovery subagent and tui flows
- Added discovery subagent and custom checker specifications for alternative toolings across multiple languages.
- Implemented interactive TUI flows for target picking and free-form request discovery.
- Added output parsers for popular static analysis and linting tools.
- Increased default maximum subagents cap and documented the new capabilities.
2026-08-12 00:58:12 +02:00