Commit Graph
17759 Commits
Author SHA1 Message Date
Shawn KohandAmp 1f736aa439 fix(tui): retain hidden resize growth
Amp-Thread-ID: https://ampcode.com/threads/T-019ff125-f53d-739b-8462-6027fe70f914
Co-authored-by: Amp <amp@ampcode.com>
2026-08-12 12:50:05 +08:00
Shawn KohandAmp c6cae4ff61 fix(tui): preserve settled 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 12:05:27 +08:00
Shawn KohandAmp b42ca37335 fix(tui): preserve replaced 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 11:37:54 +08:00
Shawn KohandAmp 759341dd98 fix(tui): audit width reset commits
Amp-Thread-ID: https://ampcode.com/threads/T-019ff125-f53d-739b-8462-6027fe70f914
Co-authored-by: Amp <amp@ampcode.com>
2026-08-12 11:05:59 +08:00
Shawn KohandAmp 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 KohandAmp 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 KohandAmp 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 KohandAmp 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 KohandAmp 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 KohandAmp 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 KohandAmp 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 KohandAmp 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 KohandAmp 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 KohandAmp 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 KohandAmp 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 KohandAmp 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
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
can1357 1217ee1317 feat(coding-agent/compress): implemented semantic compression command and protocol
- Implemented the `omp compress` command with batch processing, file resolution, and concurrency support.
- Added the semantic compression protocol, session factory, and rewrite-approve evaluation loop.
- Included prompt templates, tool descriptions, and comprehensive test coverage for compression targets.
- Generalized the progress reporter module for shared use across CLI commands.
2026-08-12 00:46:08 +02:00
Daniel Anderson-Little e951d85c1b docs(coding-agent): move activity fix to unreleased 2026-08-11 18:22:20 -04:00
roboomp f30a60b797 fix(read): resolved archive-root symlink targets
Symlink targets that normalize to the archive root (current -> ., dir/up -> ..) now resolve as directory aliases to the root instead of being treated as dangling links. The lookup normalizer distinguishes an empty root target from an escaping target, and ArchiveReader treats a resolved-empty path as the root directory.

Fixes #4774
2026-08-11 22:06:41 +00:00
roboomp 1df67cc667 fix(read): honored GNU sparse PAX member names
GNU 1.0 sparse PAX entries now list under GNU.sparse.name with GNU.sparse.realsize as the displayed size, so root listings no longer expose the internal GNUSparseFile path and reads of the real name reject as sparse instead of reporting the member missing. The on-disk header size still drives offset advance and truncation.

Fixes #4774
2026-08-11 21:57:06 +00:00
Daniel Anderson-Little e4dc5c9637 refactor(coding-agent): clarify warning activity policy 2026-08-11 17:52:05 -04:00