Commit Graph

12859 Commits

Author SHA1 Message Date
can1357 5a4a6670b1 feat(pi-walker): ignored parent rules that cover explicitly rooted walks
- Updated gitignore loading to filter out ancestor ignore rules that match the current explicit walk root.
- Retained unrelated parent ignore rules and processed local ignore files within the root normally.
- Added a regression test to ensure ignored roots still respect nested ignore rules.
2026-07-11 07:33:18 +02:00
can1357 aa2c580b22 feat(coding-agent): implemented dynamic rendering and state syncing
- Improved real-time screen rendering by implementing dynamic builder functions for vibe mode components.
- Optimized cursor and spinner rendering to re-derive state from shared mutable options on every paint.
- Added session snapshotting and improved wait logic to accurately detect settled turns and running sessions.
- Ensured reliable toolset restoration during mode transitions through updated logic and new contract tests.
2026-07-11 05:47:56 +02:00
can1357 acd893536d feat(coding-agent): introduced vibe mode for persistent background agents
- Implemented /vibe mode providing persistent background worker sessions and five new specialized management tools.
- Developed a multi-view UI featuring a mini-composer for tool calls and a TV wall for real-time worker status, traces, and output monitoring.
- Integrated shimmering effects and stable screen ordering to enhance worker state visibility and session management.
- Added comprehensive unit tests for Vibe tool renderers and updated runtime registry logic to support rich screen snapshots.
2026-07-11 05:47:56 +02:00
can1357 514a8ca6c8 docs(api): updated status line test helpers to include vibe mode support
- Added vibeMode property to mock context in status line unit tests.
- Ensured test helper functions maintain consistency with updated segment context.
2026-07-11 05:47:56 +02:00
can1357 b60cbb83b7 test(vibe): validated vibe runtime session lifecycle and concurrency behavior
- Implemented test suite for VibeSessionRegistry covering lifecycle state management, session spawning, and turn execution.
- Added verification for session steering, turn queuing, and subagent follow-up behavior within active sessions.
- Validated concurrency handling in the registry including multi-session wait mechanics and result suppression.
- Incorporated session cleanup logic verification for both individual kill operations and mass termination via killAll.
2026-07-11 05:47:56 +02:00
can1357 1ab9c367ed feat(vibe): integrated vibe mode with interactive interface
- Implemented Vibe mode to enable worker session management and director-role context injection.
- Added a `/vibe` slash command and integrated status line UI to display mode activity.
- Configured restricted toolsets and guards to prevent concurrent conflicts with existing Goal or Plan modes.
- Provided system prompts and tool templates to support specialized agent communication and task orchestration.
2026-07-11 05:47:56 +02:00
can1357 75bac085a7 feat(vibe): implemented persistent worker session infrastructure
- Introduced a registry and runtime for managing persistent worker subagent sessions.
- Added lifecycle management capabilities including spawning, dispatching, waiting, and terminating background jobs.
- Implemented TUI visualization tools to track and render worker session states.
- Enabled subagent session continuation via follow-up turn processing.
2026-07-11 05:47:55 +02:00
can1357 54af1c03fd fix(coding-agent): ensured provider errors are surfaced to ACP clients
- Added a fallback to emit error messages during `agent_end` if no error was previously streamed during the turn.
- Added tracking to prevent duplicate error messages when a provider error is successfully delivered during streaming.
- Added a stderr hint for interactive users launching the ACP server directly from a terminal.
2026-07-11 05:47:55 +02:00
can1357 31c9f48509 fix(ai): prevented inclusion of empty image placeholders in tool outputs
- Stopped serializing "(see attached image)" for genuinely empty tool results.
- Added logic to verify presence of actual image content before emitting placeholders.
- Verified fix with new regression tests ensuring empty content remains empty.
2026-07-11 05:47:55 +02:00
can1357 295655255a test(coding-agent): validated behavioral consistency across core toolset
- Added regression tests for browser eval envelope to verify accurate error surfacing and type handling.
- Validated glob tool output to distinguish between incomplete timed-out scans and empty results.
- Verified exact raw range extraction in read tool to ensure no unwanted context padding is returned.
- Confirmed that numbered range reads maintain necessary context padding for readability.
2026-07-11 05:47:55 +02:00
can1357 530faffd23 fix(coding-agent): clarified timeout status in glob scans to prevent misleading empty results
- Removed definitive "No files found" message when glob scans time out to prevent misleading claims of file absence.
- Updated timeout notice to explicitly state that results are incomplete and provide actionable guidance on scoping the search.
- Modified TUI renderer to display "No matches before timeout (scan incomplete)" status instead of "No files found" for timed-out scans.
2026-07-11 05:47:55 +02:00
can1357 d993b13c80 fix(coding-agent): strengthened browser interaction reliability and error transparency
- Implemented a try/catch envelope for browser evaluations to surface detailed page-side JS exceptions and detect unsupported Promise returns.
- Added transparent error reporting for cmux browser surface limitations regarding screenshot clipping and full-page captures.
- Forced tab activation before screenshot capture to prevent stale or sibling-tab image data in shared-endpoint environments.
2026-07-11 05:47:54 +02:00
can1357 83fbefac29 fix(coding-agent): disabled context padding for raw file reads
- Disable context expansion in raw mode to ensure verbatim content extraction.
- Enforce strict adherence to requested line ranges when raw selectors are used.
- Remove padding in range calculations to prevent indistinguishable context lines in raw output.
2026-07-11 05:47:54 +02:00
can1357 45143e8c75 feat(natives): restricted traversal depth for glob pattern matching
- Added `walk_depth_bound` to calculate the maximum file path depth based on glob pattern segments.
- Configured the glob walker to restrict traversal depth for non-recursive patterns, preventing unnecessary scanning of subtrees that cannot match.
- Improved response times for narrow globs over large directories by pruning the search space earlier.
- Added test cases to verify depth-bounded matching behavior and pattern edge cases.
2026-07-11 05:47:54 +02:00
can1357 2f97b7fe4b feat(coding-agent): removed plan subagent
- Removed the `plan` agent definition and associated prompt file from bundled agents.
- Updated documentation to reflect the removal of `plan` from available subagents.
- Cleaned up related tests to remove references to the deprecated agent.
2026-07-11 05:47:54 +02:00
can1357 1c6f5dc18f feat(coding-agent/prompts): refined agent delegation logic and constraints
- Clarified that the agent must handle top-level scoping, planning, and cross-slice contracts before delegating work.
- Restricted subagent usage to scenarios with genuine parallelism, discouraging "spawn-one-then-wait" patterns.
- Updated criteria for inline work to include cases with only a single runnable slice, preventing unnecessary handoffs.
2026-07-11 05:47:54 +02:00
can1357 7aa1d581c6 fix(ai): added missing codex import in issue-1701 repro test 2026-07-11 00:37:22 +02:00
can1357 219e12b956 ditto 2026-07-11 00:33:39 +02:00
can1357 e8fd93d230 ci: trigger 2026-07-11 00:31:17 +02:00
can1357 cf2d4c00b3 fix: stale tests + pin codex version 2026-07-11 00:30:06 +02:00
can1357 d048298a35 deps: updated arktype and pin @ark/schema
- Updated arktype to version 2.2.2.
- Added an override for @ark/schema to version 0.56.1.
2026-07-11 00:24:18 +02:00
can1357 fd2d4616a6 chore: bump version to 16.4.2 2026-07-11 00:17:35 +02:00
can1357 a99f46e941 chore: update changelogs 2026-07-11 00:17:04 +02:00
Can Bölük 0d3c8985d8 Merge pull request #5109 from any-victor/fix/xai-oauth-replay-shapes
fix(ai): adapted xai responses replay shapes
2026-07-11 00:15:50 +02:00
Can Bölük 039e79683b Merge branch 'main' into fix/xai-oauth-replay-shapes 2026-07-11 00:15:42 +02:00
can1357 3e90576228 test(coding-agent): updated mcp profile auth binding tests
- Added AbortSignal expectation to auth binding test assertions.
2026-07-11 00:13:49 +02:00
can1357 531880c620 feat: improved json serialization for bigint values
- Introduced `stringifyJson` helper to preserve bigint precision by serializing them as decimal strings.
- Replaced native `JSON.stringify` across compaction and session management modules to prevent serialization errors when handling bigint values in tool arguments.
- Added regression tests in `agent` and `coding-agent` packages to ensure bigint tool arguments remain intact through compaction and persistence flows.
2026-07-11 00:12:29 +02:00
can1357 1758a6c749 Merge remote-tracking branch 'origin/farm/6d5f8413/fix-mcp-oauth-refresh-race' 2026-07-11 00:10:43 +02:00
can1357 6d29aad6ab Merge remote-tracking branch 'origin/farm/10fa7941/fix-openai-codex-luna-model' 2026-07-11 00:10:21 +02:00
can1357 7df2ac297e fix(stats): handled legacy session entries with missing cost data
- Resolved a crash occurring when syncing legacy session files that lack usage cost breakdowns.
- Updated cost resolution to fallback to catalog pricing when stored cost is unavailable or zero.
2026-07-11 00:08:53 +02:00
can1357 1b490044ff feat(coding-agent): centralized task orchestration and prompt policy logic
- Centralized task concurrency and delegation logic by moving instructions from individual tool descriptions to the system prompt.
- Introduced conditional system prompt logic to handle model-specific task policies, including support for GPT-5.6.
- Added infrastructure for task concurrency normalization and IRC steering state within the system prompt configuration.
- Refactored prompt inputs and session logic to enable dynamic system prompt updates based on model-specific policy cohorts.
2026-07-11 00:03:53 +02:00
roboomp b60dc669ea fix(auth): fenced oauth refresh writes
- Fenced final OAuth refresh update and terminal-disable CAS statements by row id, serialized credential data, active lease owner, and unexpired lease time.
- Passed an AbortSignal through MCP OAuth token refresh and bounded owned refresh operations below the lease TTL while awaiting the aborted fetch to settle.
- Added regressions for stolen-lease update/disable attempts and timed-out MCP token fetch abort behavior.

Fixes #5081
2026-07-10 21:49:18 +00:00
roboomp cb32853130 fix(auth): renewed oauth refresh leases
- Renewed durable OAuth refresh leases while token refreshes are in flight so slow endpoints cannot let a peer steal the row and replay a rotating refresh token.
- Let CAS update and disable storage errors propagate instead of collapsing them into peer-win misses.
- Added regressions for lease renewal and CAS storage failure propagation.

Fixes #5081
2026-07-10 21:15:04 +00:00
roboomp cf021ad393 fix(auth): serialized mcp oauth refreshes
- Added durable SQLite refresh ownership for stored OAuth rows, with canonical re-read before refresh and compare-and-set persistence.
- Routed MCP proactive and forced OAuth refresh through the shared owner so waiters reuse the winner's rotated credential.
- Added MCP regression tests for shared SQLite refresh ownership and stale invalid_grant losers.

Fixes #5081
2026-07-10 20:25:49 +00:00
Victor Araújo 2b46d6711b chore: re-trigger CI after unrelated workspace-fast flake
Prior run failed streamPiNative under parallel load; xAI replay and
scoped models.json changes are orthogonal. Empty commit to re-run checks.
2026-07-10 16:28:40 -03:00
Victor Araújo e22ee0b668 docs(ai): moved xAI replay fix changelog to Unreleased
Rebase onto 16.4.1 landed the entry under the released section; keep
release intent under Unreleased. Dropped the broad models.json regen
that conflicted — surgical xai-oauth-only catalog edits remain.
2026-07-10 16:26:19 -03:00
Victor Araújo bd216f4394 style(ai): applied biome format to xai replay changes 2026-07-10 16:25:55 -03:00
Victor Araújo 0e3e5ab72a fix(ai): tightened xai replay adaptation to catalog compat
Drive image-detail clamping from resolved model compat instead of a
provider hardcode, clamp input_image only on known paths, and skip
custom-tool adaptation when freeform is supported.
2026-07-10 16:25:55 -03:00
Victor Araújo 6195193435 fix(catalog): marked xai-oauth models without image detail original
Seed supportsImageDetailOriginal=false for curated and dynamic xai-oauth
compat, and set the same flag on the eight bundled models.json entries
without regenerating the rest of the catalog.

Fixes #5002
2026-07-10 16:25:55 -03:00
Victor Araújo 9b4dcaa114 fix(ai): adapted xai responses replay shapes
Convert freeform custom_tool_call history to function_call pairs and
clamp input_image.detail original to auto when replaying into xAI OAuth
Responses, so session continuations stop 422ing.

Fixes #5002
2026-07-10 16:25:55 -03:00
can1357 395e4a5fcf chore: bump version to 16.4.1 2026-07-10 20:50:59 +02:00
can1357 7cbe9fc0a8 feat(tui): implemented grid-based rendering engine for complex math layouts
- Introduced a grid-based rendering engine to support complex LaTeX environments like matrices, cases, and arrays.
- Added advanced layout capabilities including stretched delimiters, multi-line radicals, and limits-based stacking for operators.
- Implemented logic to propagate color scopes and font styles across box boundaries.
- Exported math font commands and structural glyph painting to facilitate consistent rendering in 2-D contexts.
2026-07-10 20:50:40 +02:00
can1357 60c9ad625e feat(coding-agent/prompts): updated advisor system prompt behavior
- Instruct the advisor to stop policing scope, ambition, or backwards compatibility unless explicitly requested by the user.
- Adjust the blocker criteria to require explicit contradictions of user instructions rather than subjective assessments of refactor size or scope.
2026-07-10 20:36:23 +02:00
roboomp 1624d48dd8 fix(codex): used codex version for turns
Resolved the Codex client version for turn requests with the same catalog resolver used by discovery.

Fixes #5105
2026-07-10 18:26:42 +00:00
can1357 d9854ade76 feat(catalog): updated model definitions and provider constraints
- Added `gpt-5.6-luna`, `gpt-5.6-sol`, and `gpt-5.6-terra` variants for the `opencode-zen` provider.
- Removed deprecated `*-pro` model aliases from the `openai-codex` provider in `models.json`.
- Updated `openai-compat.ts` to restrict pro-reasoning alias generation to the `openai` provider only.
- Adjusted various model `contextWindow`, `maxTokens`, and `cost` parameters to reflect latest upstream metadata.
- Added `perplexity-academic-researcher` model definition.
2026-07-10 20:21:05 +02:00
can1357 c30bdc54ce feat(ai): enforced all_turns reasoning context for responses lite
- Force `reasoning.context` to `all_turns` in OpenAI Codex requests when `responsesLite` is enabled.
- Include `reasoning.encrypted_content` in the `include` header for lite responses.
- Update request transformation logic to ensure these fields are populated even when reasoning effort is not explicitly set.
2026-07-10 20:09:31 +02:00
Can Bölük 882ed88146 Merge pull request #5107 from any-victor/fix/dcr-openid-scope
fix(mcp): included OAuth scopes in dynamic client registration
2026-07-10 20:08:51 +02:00
roboomp 060179729e fix(codex): sent version header with requests
Added Codex version headers to turn requests and model discovery so backend-gated models resolve consistently.

Fixes #5105
2026-07-10 18:08:40 +00:00
Victor Araújo bce6aa89a4 fix(mcp): included OAuth scopes in dynamic client registration
Clerk and similar providers bind DCR clients to only the scopes declared at
registration. Authorize then requests scopes_supported (including openid),
which rejects with "client is not allowed to request scope 'openid'". Match
Claude Code by sending config.scopes as RFC 7591 scope on the DCR body.
2026-07-10 15:08:28 -03:00
can1357 a0f7266fbc chore: bump version to 16.4.0 2026-07-10 14:11:05 +02:00