Commit Graph

8924 Commits

Author SHA1 Message Date
can1357 38d1d3a2f5 feat(coding-agent): vendor relevant parts of markit 2026-06-18 19:11:22 +02:00
can1357 81563e0155 feat(coding-agent): improved retry safety for partial message streams
- Refactor replay safety logic to specifically prevent retries when a tool call is present in the assistant message.
- Enable retries for transient stream errors occurring during partial text or thinking sequences, ensuring consistency when no tool call has been completed.
- Add regression tests to verify that transient socket closures are successfully recovered while completed tool calls remain protected from redundant retries.
2026-06-18 18:58:15 +02:00
can1357 30a133cef7 feat(coding-agent): prevented stale advisor data leakage across conversations
- Add an epoch counter to `AdvisorRuntime` to discard in-flight advisor batches when a reset or disposal occurs.
- Introduce `resetAdvisorSessionState` to clear advisor-specific queues, latches, and pending cards, ensuring pre-reset state does not interfere with new conversations.
- Extend `YieldQueue.clear` to support conditional clearing by entry kind.
2026-06-18 18:58:01 +02:00
can1357 831b664a4c perf(coding-agent): optimized documentation indexing via compressed blob
- Replaced raw TypeScript documentation map with a lazily-inflated gzip blob.
- Reduced bundled binary/npm package size by approximately 0.9MB.
- Encapsulated index logic into `docs-index.ts` to separate header metadata from content.
- Added `postpack` and robust `try/finally` patterns in build scripts to ensure clean artifacts.
- Implemented disk-based fallback during development to maintain existing developer experience.
2026-06-18 18:57:13 +02:00
can1357 f5ebab2b83 feat(utils): vendor mermaid rendering 2026-06-18 18:52:38 +02:00
can1357 4d8b6a9614 feat(coding-agent/debug): added remote javascriptcore inspector support
- Implemented a bridge to the `bun:jsc` remote inspector API.
- Added a debug interface action to start the inspector and expose the connection endpoint.
- Included logic to dynamically reserve available ports and reliably probe the socket state due to inherent platform-dependent limitations in the underlying API.
2026-06-18 17:40:40 +02:00
can1357 8427e69e1e fix(coding-agent): prevented puppeteer startup crashes
- Avoided value-imports of `puppeteer-core` in main startup files to prevent eager loading of the browser-data dependency graph.
- Used `import type` and literal string checks to defer `puppeteer-core` initialization until browser tools are actually invoked.
- Added a test to verify that `puppeteer-core` and `@puppeteer/browsers` remain off the eager startup import graph.
- Externalized additional heavy dependencies to reduce bundle size and improved minification settings in the build script.
2026-06-18 17:22:37 +02:00
can1357 f0a383332b build: updated setup script to link omp binary
- Added a command to the setup script to link the omp binary into the global bun bin directory.
- Updated the omp script documentation to reflect the new installation method.
2026-06-18 17:01:48 +02:00
can1357 fe6424698d chore: reformat 2026-06-18 16:59:41 +02:00
can1357 794461c77a Merge remote-tracking branch 'origin/farm/ce51a199/fix-cursor-tool-call-order' 2026-06-18 16:59:23 +02:00
can1357 957399176c Merge remote-tracking branch 'origin/farm/fd936a58/fix-leading-dollar-prompt' 2026-06-18 16:59:11 +02:00
can1357 3078545930 Merge remote-tracking branch 'origin/farm/6c6cf5d3/purge-disabled-api-key-rows' 2026-06-18 16:59:04 +02:00
can1357 1a5faf4a33 Merge remote-tracking branch 'origin/farm/d3ff0cb8/detect-lm-studio-vision' 2026-06-18 16:58:42 +02:00
can1357 8fcb45b9fe Merge remote-tracking branch 'origin/farm/07fc7017/fix-plan-refine-abort' 2026-06-18 16:58:30 +02:00
can1357 dbbbca31b0 Merge remote-tracking branch 'origin/farm/71756c13/prune-empty-optional-params' 2026-06-18 16:57:47 +02:00
can1357 7bfac1b128 fix(coding-agent): resolved EPERM errors when updating binary on Windows
- Switched to unique, timestamped backup file paths to avoid file lock collisions during binary replacement.
- Implemented a best-effort strategy for backup deletion, allowing successful updates even if the previous process image remains locked.
- Added a cleanup routine for sweeping stale backups, including legacy files, during each update attempt.
2026-06-18 16:57:38 +02:00
roboomp 04d23eff0f fix(ai): preserved valid empty tool params
Only prune optional empty strings when the property schema rejects the explicit value, preserving valid empty strings used as tool arguments.
2026-06-18 14:47:03 +00:00
roboomp bdfa8c0804 fix(ai): pruned optional empty tool params
Treat empty strings on optional tool arguments as omitted before schema validation so MCP calls do not fail pattern or type checks for model-filled placeholders.

Fixes #2981
2026-06-18 14:38:18 +00:00
can1357 93624f0239 chore: bump version to 16.0.7 2026-06-18 16:38:08 +02:00
can1357 667aee7ec6 chore: update changelogs 2026-06-18 16:37:45 +02:00
Can Bölük e4364c450a Merge pull request #2964 from TobiasLinnITHE/feat/fortran-support
feat(coding-agent): add Fortran support
2026-06-18 16:27:02 +02:00
Can Bölük bfe1400738 Merge pull request #2934 from can1357/farm/c3ab35c7/minimax-m3-openai-effort
fix(providers): map MiniMax Anthropic thinking
2026-06-18 16:24:12 +02:00
Can Bölük faa96a81a9 Merge pull request #2932 from cagedbird043/perf/google-oauth-loopback-ip
perf(auth): switch Google OAuth callback hostname to 127.0.0.1 for fast loopback
2026-06-18 16:18:52 +02:00
Can Bölük bdb9bd03e0 Merge pull request #2947 from can1357/farm/130a952c/opencode-go-usage
fix(providers): add OpenCode Go usage reporting
2026-06-18 16:17:45 +02:00
Can Bölük 90995e9406 Merge pull request #2940 from usr-bin-roygbiv/fix/gemini-malformed-function-call-retry
fix(coding-agent): bypass stream-interrupted guard for Gemini malformed function calls
2026-06-18 16:13:33 +02:00
Can Bölük f742b39cbc Merge pull request #2939 from usr-bin-roygbiv/fix/kimi-headers-520
fix(ai/kimi): sanitize client device headers to avoid Cloudflare 520 errors
2026-06-18 16:12:33 +02:00
roboomp 8c0dce29c3 fix(coding-agent): hid plan refine approval abort
Mark the plan approval abort as an internal transition so choosing Refine plan returns to the editor without rendering Operation aborted.

Fixes #2971
2026-06-18 13:32:25 +00:00
cagedbird043 cbfa998cb3 test(auth): add missing required discoverProject field to GoogleOAuthFlow test configuration 2026-06-18 19:22:27 +08:00
cagedbird043 712ca2b37a test(auth): add regression test and packages/ai changelog for loopback ip redirect 2026-06-18 19:15:32 +08:00
Tobias Linn 0714d38120 moved entry to the correct changelog (packages/natives/CHANGELOG.md) 2026-06-18 12:40:22 +02:00
Tobias Linn 8f09f2eb50 changelog 2026-06-18 12:12:52 +02:00
roboomp 94140c49cd fix(providers): bounded lm studio native probe
Limited the optional LM Studio /api/v0/models metadata lookup with an abort timeout and started the catalog request independently so OpenAI-compatible servers without the native endpoint still refresh. Added a regression for hung native metadata probes.\n\nFixes #2945
2026-06-18 07:58:20 +00:00
roboomp 9e7bb85411 fix(usage): expired opencode cache after cost writes
- Expired the per-credential usage report cache after recording observed OpenCode Go spend.\n- Threaded provider base URL into OpenCode Go cost recording so the invalidation targets the same cache key /usage uses.\n- Added regression coverage for refreshing cached OpenCode Go limits immediately after a completed turn.\n\nFixes #2942
2026-06-18 07:52:45 +00:00
roboomp 6cd16d6373 fix(tui): required space after python prompt sigil
Treat shell-style leading variables such as $HOME as normal chat text instead of Python eval input. Keep local Python shortcuts available through explicit $ <code> and $$ <code> prefixes.\n\nFixes #2944
2026-06-18 07:39:15 +00:00
roboomp e5b35d38a7 fix(auth): skipped local usage probes in health checks
- Added a UsageProvider flag for providers whose reports do not validate upstream credentials.\n- Kept OpenCode Go quota reporting local-only while leaving credential health unknown unless a strict completion probe runs.\n- Covered the OpenCode Go health-check regression.\n\nFixes #2942
2026-06-18 07:38:37 +00:00
roboomp 6cac1d06a4 fix(providers): detected lm studio vlm inputs
Queried LM Studio native /api/v0/models metadata during catalog and runtime discovery so type=vlm models advertise image input. Added regressions for both provider-manager and runtime discovery paths.\n\nFixes #2945
2026-06-18 07:38:36 +00:00
roboomp 2b9047b79c fix(providers): added opencode go usage tracking
- Added an OpenCode Go usage provider that synthesizes 5h, weekly, and monthly cap windows from OMP-observed request costs.\n- Recorded OpenCode Go assistant request costs against the active credential so /usage can report local cap utilization.\n- Added regression coverage for fresh keys and observed spend aggregation.\n\nFixes #2942
2026-06-18 07:22:56 +00:00
roboomp 0d5bac3bab fix(ai): purged superseded api key auth rows
Hard-deleted disabled api_key rows once an active provider-level replacement exists, matching OAuth identity-key cleanup semantics.

Added regression coverage for rotating a provider API key to a different value.

Fixes #2941
2026-06-18 06:35:07 +00:00
usr_bin_roygbiv 2634bbf1d2 fix(coding-agent): bypass stream-interrupted guard for Gemini malformed function calls 2026-06-18 00:42:22 -05:00
usr_bin_roygbiv a99ff4cae2 fix(ai/kimi): sanitize client device headers to avoid Cloudflare 520 errors 2026-06-18 00:41:48 -05:00
roboomp d9a0772de5 fix(providers): mapped minimax direct efforts
Mapped direct AnthropicOptions effort values through MiniMax's adaptive-tag-only transport so callers cannot emit invalid output_config.effort on MiniMax Anthropic models. Added request-shaping coverage for the direct effort option.\n\nFixes #2928
2026-06-18 05:28:31 +00:00
roboomp 5af43e8285 fix(coding-agent): restored /model role picker
- Routed the /model TUI slash command back to the full model setup picker.
- Kept /switch on the temporary session model selector and updated slash-command coverage.

Fixes #2933
2026-06-18 05:27:22 +00:00
roboomp 7d6e7e31e5 fix(providers): skipped minimax off pin
Excluded MiniMax adaptive-tag models from the Claude adaptive off-effort pin so thinking-off requests do not emit Anthropic output_config.effort. Added request-shaping coverage for MiniMax M3 thinking-off serialization.\n\nFixes #2928
2026-06-18 05:13:49 +00:00
roboomp 59a30c1b44 style: bun run fix 2026-06-18 04:54:22 +00:00
roboomp 9f31423c42 fix(providers): mapped minimax anthropic thinking
Derived MiniMax M2/M3 Anthropic-compatible models as adaptive-thinking models, mapped supported efforts to the wire adaptive tag, and prevented MiniMax adaptive requests from sending Anthropic output_config effort tiers. Added catalog and request-shaping regression coverage.\n\nFixes #2928
2026-06-18 04:46:46 +00:00
cagedbird043 044046bfb7 perf(auth): switch Google OAuth callback hostname to 127.0.0.1 for fast loopback 2026-06-18 12:30:11 +08:00
roboomp 4cd3ca4eca fix(ai): preserved cursor tool call order
Closed Cursor stream text blocks before starting tool calls so post-tool deltas create a new assistant content block instead of appending to earlier text.

Added a regression test for text/tool/text block ordering in Cursor interaction updates.

Fixes #2924
2026-06-18 03:35:44 +00:00
can1357 bd9418f142 fix: remove stale test 2026-06-18 05:12:25 +02:00
can1357 1dfac0322c fix: align typebox shim 2026-06-18 04:58:00 +02:00
can1357 31fe9ab3f1 hack: backtrack changelog 2026-06-18 04:55:19 +02:00