Commit Graph
9534 Commits
Author SHA1 Message Date
KamijoToma 0babeec0ef fix(coding-agent): tighten btw branchability 2026-06-18 02:45:03 +08:00
KamijoToma 2bbb16c49b fix(coding-agent): harden btw branch state 2026-06-18 02:35:33 +08:00
KamijoToma b92e995d73 fix(coding-agent): strip btw native replay payload 2026-06-18 02:21:44 +08:00
KamijoToma 5146095627 fix(coding-agent): strip btw thinking signatures 2026-06-18 01:56:02 +08:00
KamijoToma 9e67a507b9 fix(coding-agent): stabilize btw branch context 2026-06-18 01:37:50 +08:00
KamijoToma e3eb99ea44 fix(coding-agent): prevent duplicate btw branch promotion 2026-06-18 01:23:55 +08:00
KamijoToma d4df729396 fix(coding-agent): harden btw branch promotion 2026-06-18 01:15:07 +08:00
KamijoToma 52b3155cbd feat(coding-agent): branch completed btw answers 2026-06-18 00:58:23 +08:00
can1357 7251ca16d4 test(coding-agent): added OpenAI key initialization in context test setup
- Added initialization of an OpenAI runtime API key in the context consolidation test setup.
2026-06-17 15:26:11 +02:00
can1357 7e87709d22 chore: bump version to 16.0.5 2026-06-17 15:11:23 +02:00
can1357 fa1c9b07f9 Merge remote-tracking branch 'origin/farm/910d6380/github-copilot-business-endpoint' 2026-06-17 15:10:26 +02:00
can1357 9f16ca4797 feat(tui): enabled tight layout mode with optional 1-char padding reduction
- Added new `tui.tight` setting with default `false` and documented behavior.
- Added global tight-mode APIs and `setIgnoreTight` propagation across Box, Text, and Markdown.
- Handled `tui.tight` updates to refresh UI borders and trigger rerendering.
- Updated key message components to ignore tight mode selectively and preserve intended spacing.
2026-06-17 15:09:55 +02:00
roboomp 19980b8ed5 fix(auth): preserved copilot refresh endpoint
Persisted the GitHub Copilot apiEndpoint when usage-driven OAuth refresh writes the refreshed credential row.

Added coverage for Business endpoint preservation through the credential-health refresh path.

Fixes #2876
2026-06-17 13:05:07 +00:00
can1357 4678c80cd8 fix(tui): fixed inline image transmit replay for full paint
- Adjusted image budget IDs to use a shared 24-bit seed and wrap safely so new budgets no longer collide.
- Added transmit-state reset and changed image output ordering so full paints can replay image data after terminal clears.
- Updated image and protocol tests to match the new wrapped-id behavior and cursor-save/restore-wrapped transmit sequences.
2026-06-17 15:03:32 +02:00
roboomp 13b2b55221 fix(auth): routed copilot business endpoint
Stored GitHub Copilot plan-specific API endpoints discovered during OAuth login and propagated them through structured credentials, model discovery, usage/probe metadata, and request base URL resolution.

Added regression coverage for Business endpoint discovery, serialization, dynamic model discovery, and chat/responses routing.

Fixes #2876
2026-06-17 12:47:19 +00:00
can1357 0075014fe9 fix(tui): used cursor save/restore for direct image placement
- Added cursor save/restore escape handling around direct image emission.
- Replaced the previous up-and-down cursor movement sequence with restore logic to keep renderer output positioned correctly.
- Ensured direct image replay path no longer depends on moving back down after placement to align the cursor.
2026-06-17 13:54:48 +02:00
can1357 d5b24f548c fix: oops 2026-06-17 13:53:07 +02:00
can1357 19b5479aca chore: update changelogs 2026-06-17 13:51:39 +02:00
can1357 1d01ab02e6 Merge remote-tracking branch 'origin/farm/75254114/guard-mnemopi-extraction' 2026-06-17 13:50:51 +02:00
can1357 34dcf80119 Merge remote-tracking branch 'origin/farm/558a052d/cap-sleep-consolidation-episodes' 2026-06-17 13:50:33 +02:00
can1357 401effc940 fix: removed redundant antigravity preamble instructions
- Removed ANTIGRAVITY_NO_PREAMBLE_INSTRUCTION from the shared Gemini header constants.
- Updated Gemini CLI and web search request builders to prepend only ANTIGRAVITY_SYSTEM_INSTRUCTION before existing system parts.
- Adjusted the Gemini CLI alignment test to stop asserting the removed anti-preamble prompt lines.
2026-06-17 13:50:20 +02:00
can1357 0b884ae9c8 feat(catalog): enabled budget-aware Antigravity routing and request envelope tracking
- Enabled Antigravity request envelopes to include requestId/labels and per-attempt responseId state.
- Enabled budget transport to send `thinkingBudget` and capped `maxOutputTokens` 65_536 for Gemini calls.
- Added budget-aware model profiles for Gemini flash/pro variants and updated effort routing expectations.
- Refreshed variant collapse to separate Gemini and Antigravity tables and heal stale snapshots.
2026-06-17 13:47:40 +02:00
can1357 af6e83a651 fix(coding-agent): replaced JSON string equality checks with deep equality
- Changed provider delta input comparisons in `buildResponsesDeltaInput` to use `Bun.deepEquals` instead of stringified JSON checks.
- Updated session message diffing to return early on length changes and compare normalized entries with deep equality.
- Replaced JSON-string assertions in the issue-966 repro test with `Bun.deepEquals` for stable equality checks.
2026-06-17 13:45:11 +02:00
can1357 0d9ec354e7 fix: fixed Gemini thinking-loop handling across streaming dispatch paths
- Added Gemini thinking-loop detection helpers for near-duplicate and verbatim output checks.
- Wrapped `stream`, `streamPiNative`, and `streamSimple` dispatches with the loop guard.
- Emitted retryable empty-content loop errors and stopped completion events on loop hits.
- Added `enableGeminiThinkingLoopGuard` options for OpenAI compatibility with Gemini defaults and overrides.
2026-06-17 13:44:33 +02:00
roboomp 0f2e58915c fix(mnemopi): preserved capped sleep rows
- Split over-limit sleep_consolidation source groups into multiple capped episodes.\n- Added regression coverage that every claimed working-memory id lands in an episode.\n\nFixes #2869
2026-06-17 11:22:50 +00:00
can1357 54d212ec33 feat(coding-agent): added advisor immune-turn window for concern/blocker interruptions
- Tracked completed primary turns in `AgentSession` and started an immune-turn window after each interrupting advisor steer.
- Routed follow-on `concern`/`blocker` notes to the aside channel while the immune window is active, while preserving prior auto-resume-suppressed handling.
- Added the `advisor.immuneTurns` setting and tests for immune-turn detection and delivery-channel decisions.
2026-06-17 13:21:47 +02:00
can1357 e4a87fa3ce feat(coding-agent): added matplotlib rendering and image persistence across session reload
- Added Matplotlib figure PNG rendering and display tracking in Python runner to emit PNG output immediately when figures are displayed via display(fig).
- Extended session persistence to externalize oversized image payloads in both content and details.images, enabling tool result images to survive session reload.
- Enhanced session loader to resolve image data payloads and blob references across content and details.images during session reconstruction.
- Added image cache invalidation in TUI image component when image protocol, cell dimensions, or Kitty Unicode placeholder mode changes.
- Added comprehensive test coverage for Matplotlib display, image persistence across reload, and TUI image rendering with protocol and dimension changes.
2026-06-17 13:19:28 +02:00
roboomp aebd89d165 test(catalog): fixed fetcher input type
Replaced the unavailable RequestInfo alias with the concrete fetch input union used by the catalog FetchImpl contract so bun check passes.
2026-06-17 11:11:34 +00:00
roboomp 3c2acc0643 style: bun run fix 2026-06-17 11:07:54 +00:00
roboomp 7422161a67 fix(mnemopi): capped sleep consolidation episodes
- Added a configurable maxEpisodeChars cap for sleep_consolidation episodic rows.\n- Marked truncated sleep summaries in metadata before extraction, graph ingest, and embedding scheduling.\n- Covered oversized transcript consolidation with a regression test.\n\nFixes #2869
2026-06-17 11:06:39 +00:00
roboomp b02a675f4f style: bun run fix 2026-06-17 11:04:36 +00:00
roboomp 0951230538 fix(mnemopi): guarded regex extraction for large transcripts
Added a shared raw-text cap for regex-only entity and pattern fact extraction so multi-megabyte transcripts skip noisy heuristic passes instead of flooding MEMORIA. Added regression coverage for the entity extractor and MEMORIA pattern fact path.\n\nFixes #2868
2026-06-17 11:03:56 +00:00
can1357 6472566818 feat(catalog): added Antigravity budget-aware thinking configuration
- Added `effortBudgets` to `ThinkingConfig` and configured Antigravity Gemini variants to use budget mode with per-effort token maps.
- Updated `mapOptionsForApi` to resolve thinking budget from request options, then model `effortBudgets`, then the provider default ladder.
- Adjusted Antigravity user-agent metadata and introduced wire profiles with IDs to support routed-model request mapping.
2026-06-17 12:53:13 +02:00
can1357 78ce784fe2 Merge remote-tracking branch 'origin/farm/5a07a682/fix-chat-image-rendering' 2026-06-17 12:48:55 +02:00
can1357 003de8c0e1 fix(coding-agent): fixed web search fallback and settings section registration
- Updated `executeSearch` to read `providers.antigravityEndpoint` once and catch uninitialized-settings errors, so web search fallback no longer aborts before any provider runs.
- Added missing `Vision` and `Git` entries to `TAB_GROUPS` so those new settings now render in their intended setting-section groups.
- Adjusted context and idle-compaction tests to wait for prompt-in-flight transitions and provide `getContextUsage` for deterministic snapshots during pending turns.
2026-06-17 12:45:32 +02:00
Can BölükandGitHub c750d89ddd Merge pull request #2815 from usr-bin-roygbiv/agent/deadline-max-time
Add max-time deadline support
2026-06-17 12:45:23 +02:00
can1357 5157de5b16 fix(agent): enforce deadline at tool-execution, yield, and in-flight boundaries
The deadline was only checked at loop entry and the top of the inner loop,
so a provider response returning tool calls after the deadline still
executed them, and a deadline crossed during onBeforeYield could dequeue
then drop queued steering/follow-up messages.

- Re-check the deadline after streamAssistantResponse before running tools;
  pair leftover tool calls with aborted "Deadline exceeded" placeholders to
  keep the tool_use/tool_result contract valid.
- Re-check after emitTurnEnd and after onBeforeYield before draining the
  steering/aside/follow-up queues so queued messages are never dequeued and
  dropped.
- Merge a deadline AbortController into the loop signal so in-flight provider
  requests and tools are cancelled at the boundary.
2026-06-17 12:44:23 +02:00
usr_bin_roygbivandcan1357 39169c8878 feat: add max-time deadline support 2026-06-17 12:44:23 +02:00
roboomp bb05990770 fix(tui): anchored kitty image cursor
Added C=1 to Kitty display commands so direct inline-image cursor restoration is the sole row accounting path. Updated focused image rendering and placement encoding coverage.\n\nFixes #2863
2026-06-17 10:37:27 +00:00
Can BölükandGitHub e1cc47b4b1 Merge pull request #2845 from cexll/issue-2834-subagent-stop
Add session_stop extension stop hook
2026-06-17 12:28:39 +02:00
can1357 d0e896a0ee fix(coding-agent): clean rebased session stop state
- Removed obsolete context-usage provider fields left unused after rebasing the session stop branch.
- Sorted the rebased SDK import block so `bun check` stays clean.
2026-06-17 12:28:10 +02:00
can1357 6e918712fd fix(coding-agent): guard session stop continuations
- Guarded `session_stop` continuations against aborted or superseded hook results before queueing hidden follow-up turns.
- Reported compaction recovery continuations from `#checkCompaction` and skipped stop hooks while internal recovery owns the next turn.
- Let terminal empty-stop retry caps fall through to `session_stop` and added regression coverage for aborts, empty-stop caps, and promotion recovery.
2026-06-17 12:26:52 +02:00
benandcan1357 c40bc8365e fix(coding-agent): honor session stop reason fallback 2026-06-17 12:26:52 +02:00
benandcan1357 bd14fed678 fix(coding-agent): finalize session stop lifecycle 2026-06-17 12:26:52 +02:00
benandcan1357 c93774f892 fix(coding-agent): implement session stop hook semantics 2026-06-17 12:26:52 +02:00
benandcan1357 b73325b103 fix(coding-agent): emit session_stop after subagent completion 2026-06-17 12:26:01 +02:00
benandcan1357 b7ac4b4c43 fix(coding-agent): use session stop extension event 2026-06-17 12:26:01 +02:00
benandcan1357 8e45ed9016 fix(coding-agent): add subagent stop extension event 2026-06-17 12:26:00 +02:00
Can BölükandGitHub 8bfd528731 Merge pull request #2817 from alexanderkirilin/fix/minimax-dialect
fix(minimax): add MiniMax tool-call dialect
2026-06-17 12:25:29 +02:00
can1357 cca689bd4f fix(minimax): preserve generic auto fallback
- Kept `resolveDialect("auto")` on the legacy GLM fallback when a tool-less model has no catalog-recognized dialect.
- Added `sdk-dialect` coverage for unclassified tool-less models alongside MiniMax preferred dialect routing.
- Updated the coding-agent changelog entry to mention MiniMax auto-mode routing.
2026-06-17 12:24:49 +02:00