Commit Graph

786 Commits

Author SHA1 Message Date
can1357 4a37b7cc09 docs(browser): qualified spawned kill behavior 2026-08-16 02:13:39 +02:00
can1357 92ce5db781 Merge PR #8651: fix(browser): clarify close release semantics (@koopmannleon19977-cmyk) 2026-08-16 02:13:38 +02:00
can1357 9af713f2b0 Merge PR #8576: fix(mcp): keep Exa MCP servers that request non-native tools (@dhruvkej9) 2026-08-16 02:13:38 +02:00
can1357 ea8d1d2191 docs(coding-agent): restored retry policy trailing newline 2026-08-16 02:03:17 +02:00
can1357 210cce26bd Merge PR #8516: fix(session): resume Cursor turns after HTTP/2 stream reset (@joseotaviorf) 2026-08-16 02:03:17 +02:00
can1357 c84954435b Merge PR #8537: fix(ai): report Umans usage from weighted effective requests (@MertSoylu) 2026-08-16 02:03:15 +02:00
can1357 ca297741cb Merge PR #8538: fix(coding-agent): keep the system prompt byte-stable across date/cwd changes (@MertSoylu) 2026-08-16 02:03:14 +02:00
MertSoylu 9f6fc1f0c7 fix(ai): surface Umans request exhaustion without a burst ceiling
When a payload reports weighted counters but omits hard_cap, the soft/hard
split collapses to a single umans:requests row keyed off the authoritative
weighted effective-request counter, so a spent account can report exhausted
instead of being stuck at warning forever. Raw burst traffic above the limit
still never fabricates exhaustion; weighted headroom stays decisive (#7858).
2026-08-15 18:16:45 +03:00
koopmannleon19977-cmyk 7b6029277a fix(browser): clarify close release semantics 2026-08-15 15:11:49 +02:00
Yang Yang 86866b8bbf fix(catalog): omit Responses penalties on all first-party xAI models
xAI's /v1/responses rejects presence/frequency penalties for every Grok
model, not only reasoners. Gate supportsPenaltyAndStopParams on isXaiHost
so xai/grok-2 no longer serializes presence_penalty.
2026-08-14 22:02:52 -07:00
Yang Yang 01db5b04ee fix(catalog): omit unsupported reasoning.summary on paid xAI Responses
First-party xAI /v1/responses rejects reasoning.summary. Bake
supportsReasoningSummary=false for both xai and xai-oauth so paid
grok-4.5 effort requests send only reasoning.effort, matching SuperGrok.
2026-08-14 22:02:07 -07:00
Yang Yang 651f20957b feat(catalog): replay xAI encrypted reasoning on later turns
Stop stripping type=reasoning history for xai and xai-oauth so
encrypted_content from include is sent back on the next Responses request.
2026-08-14 22:00:50 -07:00
Yang Yang c228dea58b feat(catalog): route paid xAI through Responses like SuperGrok
Switch XAI_API_KEY models from Chat Completions to /v1/responses, default
both xai and xai-oauth to grok-4.5, and include reasoning.encrypted_content.
2026-08-14 22:00:50 -07:00
dhruv.kejriwal f36cf20d56 fix(mcp): keep Exa MCP servers that request non-native tools
Exa MCP servers were always filtered out because the native Exa integration covers web_search_exa. But configs that explicitly request web_fetch_exa or web_search_advanced_exa have no native equivalent, so filtering them made /mcp reconnect exa fail and hid those tools. Keep the MCP server mounted when its tools restriction includes anything beyond web_search_exa, while still extracting the API key for native search.
2026-08-15 00:39:58 +05:30
MertSoylu 30f92ad986 fix(coding-agent): keep the system prompt byte-stable across date/cwd changes
Move the per-request date/cwd line out of the system prompt into a
first-turn system-reminder so open-weight providers keep their tool-schema
prefix cache; the reminder refreshes itself at midnight. Closes #7404.

Generated with Codebuff 🤖
Co-Authored-By: Codebuff <noreply@codebuff.com>
2026-08-14 13:16:54 +03:00
MertSoylu f02679bdf5 fix(ai): report Umans usage from weighted effective requests
Split the request limit into a weighted soft-cap row and a raw burst-ceiling
row so healthy accounts no longer read as exhausted; surface the rolling
window's resets_at as a countdown. Closes #7858.

Generated with Codebuff 🤖
Co-Authored-By: Codebuff <noreply@codebuff.com>
2026-08-14 12:10:18 +03:00
José Otávio Rizzatti Ferreira 63ac830b50 fix(session): resume Cursor turns after HTTP/2 stream reset 2026-08-14 01:56:14 -04:00
can1357 ad318c7572 build: configured docker build pipelines for cargo native addons
- Switched Docker images to build native addons via cargo/napi-rs (`OMP_NATIVE_BUILD_BACKEND=cargo`) instead of Bazel.
- Updated Cargo.toml workspace members explicitly to prevent loading errors from stale directories under crates/.
- Added depth-agnostic patterns to .dockerignore files to exclude nested build outputs from Docker build contexts.
- Added OMP_NATIVE_CARGO_PROFILE environment variable to support configuring cargo profiles for addon builds.
2026-08-14 07:09:48 +02:00
can1357 58f319912e feat: introduced dynamic version discovery and rate limit parsing for google
- Added dynamic Antigravity version discovery with environment variable overrides and fallback endpoint support.
- Introduced structured Google RPC `ErrorInfo` rate limit reason parsing and backoff classification.
- Added `gemini-3.7-flash` and `deepseek-v4-pro:preview` model configurations alongside updated pricing.
- Removed system instruction injection logic and dropped unsigned thinking blocks for Antigravity requests.
2026-08-13 23:59:37 +02:00
can1357 a2aad5408e Merge PR #8443: fix(natives): static-link win32 MSVC CRT so addon needs no VC++ redist (@roboomp) 2026-08-13 18:46:08 +02:00
roboomp 2e2bf1f3a5 fix(natives): pin cmake opus build to static MSVC CRT (/MT)
The win32 addon static-CRT switch enabled the static_link_msvcrt cc
feature, but audiopus_sys's bundled opus is built through the generated
CMake toolchain, which pinned CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL
(/MD) as authoritative under CMP0091 NEW. The opus objects could then
still emit /MD and pull VCRUNTIME140.dll / conflict with the static CRT
the rest of the addon links, leaving the outcome dependent on compile-
flag ordering.

Pin CMAKE_MSVC_RUNTIME_LIBRARY to MultiThreaded (static release /MT) in
the msvc toolchain.cmake so opus deterministically matches rustc's
+crt-static and the static_link_msvcrt feature.

Verified with a fully cold `bazel build //:natives-win32-x64-baseline`
(opus recompiled): the produced .node imports no VCRUNTIME140.dll and no
api-ms-win-crt-* — only core Windows system DLLs.

Fixes #8439
2026-08-13 16:21:23 +00:00
roboomp 246dda7f1c fix(natives): static-link win32 MSVC CRT so addon needs no VC++ redist
The shipped win32-x64 pi_natives addon linked the dynamic MSVC CRT (/MD)
and imported VCRUNTIME140.dll from the Visual C++ Redistributable, which
is absent on a clean Windows install. LoadLibrary of the extracted .node
then failed with error 126 ("The specified module could not be found"),
so omp could not start after a fresh `irm install.ps1 | iex`.

Static-link the CRT for the win32 addon: +crt-static for rustc (crate
BUILD select) plus the static_link_msvcrt cc feature enabled for win32 in
the native_addon transition, so its C deps (opus/cmake, tree-sitter,
blake3, ring) compile /MT in lock-step. The rebuilt .node imports only
core Windows system DLLs -- no VCRUNTIME140.dll, no api-ms-win-crt-*.

Fixes #8439
2026-08-13 16:00:33 +00:00
roboomp bb0314a5a1 fix(tui): stopped direct herdr pane flicker
Kept direct Herdr panes on the host-safe in-place resize path so streaming redraws no longer clear and replay pane scrollback.

Updated the resize regression, stress scenario, renderer docs, and changelog.

Fixes #8431
2026-08-13 14:34:03 +00:00
can1357 2d512cb253 refactor: generalized thinking loop guard for multiple model families
- Generalized thinking loop guard and helper functions to support Gemini, DeepSeek, and Grok model families.
- Replaced `withGeminiThinkingLoopGuard` and related Gemini-specific symbols with generalized counterparts.
- Removed deprecated `enableGeminiThinkingLoopGuard` options and associated tests.
- Updated test suites and agent session logic to use the generalized thinking loop guard and model family tokens.
2026-08-13 06:15:00 +02:00
can1357 dc7784e4b4 feat(nix): implemented wayland screencast support and restructured package builder
- Added `withWaylandScreencast` package override option to selectively link libpipewire for Wayland screencast support.
- Refactored Nix package builder structure to eliminate wrapper scripts and directly install binary outputs.
- Updated home-manager module description to clarify declarative settings file behavior and symlink rules.
2026-08-13 05:25:22 +02:00
can1357 e8eed95130 feat(coding-agent): introduced fine grained per agent advisor configuration
- Replaced blanket subagent advisor global settings with fine-grained per-agent configuration and frontmatter support.
- Added dashboard keybindings and inline override editors for managing agent advisor patterns.
- Implemented settings migration logic to convert legacy global options into per-agent settings.
- Updated session persistence and execution layers to restore and enforce per-agent advisor behaviors.
2026-08-13 04:59:50 +02:00
can1357 61e12988fe Merge PR #8283: fix(coding-agent): skip idle mid-turn persistence waits (@ethancawse) 2026-08-13 02:00:50 +02:00
can1357 92b1aa9854 Merge PR #8159: fix(coding-agent): lowercase the hindsight project label (@alvorithm) 2026-08-13 02:00:50 +02:00
can1357 fbaddcb081 Merge PR #8359: docs: reconcile session dir layout with the 17.2.9 hashed-scheme revert (@tenequm) 2026-08-13 01:14:55 +02:00
can1357 3bc6269dbe Merge PR #8339: fix(coding-agent): normalize WebP for STB-backed models (@ethancawse) 2026-08-13 01:14:54 +02:00
can1357 f40684bd6f Merge PR #8166: docs(collab): clarify relay self-hosting availability (@roboomp) 2026-08-13 01:14:50 +02:00
can1357 00cabe5513 Merge PR #8144: fix(extensions): preserve unsafe schemas during plugin install (@roboomp) 2026-08-13 01:14:49 +02:00
tenequm 753b7e7b15 docs: reconcile session dir layout with the 17.2.9 hashed-scheme revert 2026-08-12 21:03:00 +01:00
Ethan Cawse 76b1169858 fix(coding-agent): drop stale native image replay 2026-08-12 09:16:57 -04:00
Ethan Cawse 92f0ad71f4 docs(coding-agent): define message-end isolation 2026-08-11 23:05:59 -04:00
Shawn Koh ef803e3880 fix(tui): rebuild direct HerdR scrollback from source 2026-08-12 10:14:41 +08:00
Shawn Koh 9e73b89621 fix(tui): preserve scrollback across multiplexer width changes 2026-08-12 10:14:40 +08:00
can1357 8fed93632a refactor(ai): rebranded openrouter identifiers and user agent to omp
- Updated user agent and openrouter titles in packages/ai from Oh-My-Pi to omp.
- Integrated getOpenRouterHeaders into image generation tool requests in packages/coding-agent.
- Updated provider documentation and test assertions to reflect the rebrand.
2026-08-11 15:28:28 +02:00
can1357 9649bc4dfa Merge PR #8230: fix(coding-agent): emit clap-compatible CI=true and honor PI_BASH_NO_CI (@roboomp) 2026-08-11 15:15:44 +02:00
can1357 f460e6dd71 Merge PR #7703: fix: discover workspace AGENTS files (@listellm) 2026-08-11 15:07:43 +02:00
roboomp 43f30b8a83 fix(coding-agent): emit clap-compatible CI=true and honor PI_BASH_NO_CI
The per-command non-interactive env hardcoded an unguarded CI=1, which clap parses as a strict boolean and rejects (breaking e.g. tauri android build). It also overrode the session env, so the documented PI_BASH_NO_CI opt-out never reached bash-tool commands.

buildNonInteractiveEnv now injects CI=true and strips CI when PI_BASH_NO_CI/CLAUDE_BASH_NO_CI is set, matching buildSpawnEnv in procmgr.ts.

Fixes #8229
2026-08-11 09:01:33 +00:00
roboomp 33848c9d77 docs(collab): clarified relay distribution status
Documented that the hosted Go relay has no published source or standalone binaries, and linked the repository's WebSocket-only local protocol relay with its startup command and limitations.

Fixes #8165
2026-08-10 14:37:54 +00:00
Álvaro Tejero Cantero 2a0774fafd fix(coding-agent): lowercase the hindsight project label
projectLabel() basenames the primary checkout root to build the Hindsight
`project:` tag, and it preserved case. Hindsight matches tags literally,
so a checkout at ~/code/General retained and recalled under
`project:General` while every other client of the same bank used
`project:general`. One repository then owns two scopes that never meet:
recall filters on the session's own tag, so neither side sees the other's
facts, and consolidation treats them as unrelated projects. A live bank
measured 581 facts stranded under a case variant on 2026-08-09.

Fold the case at the source, after the primary-root resolution added for
issue #2232, so the worktree axis and the casing axis collapse together.
Per-project bank ids lowercase for the same reason.

- hindsight/bank.ts: lowercase the resolved basename, and document why.
- test/hindsight-bank.test.ts: cover the fold on plain paths, on a
  mixed-case checkout root, and on a linked worktree of one. The non-repo
  fallback assertion now folds its own mkdtemp suffix.
- docs/memory.md: state how the project label is derived.
- CHANGELOG: Fixed entry under Unreleased.
2026-08-10 13:21:02 +02:00
roboomp e414585155 fix(extensions): preserved unsafe schemas during install
- Lifted legacy Type.Unsafe documents into callable omptype schemas so Optional and Object composition preserve validation and required fields.
- Ran installed extension factories against the normal throwaway loader surface before accepting a plugin install.
- Added regression coverage and documented the stronger rollback gate.

Fixes #8143
2026-08-10 07:37:28 +00:00
can1357 f87a8ecc19 Merge PR #7994: fix(session): surface empty handoff generation as failure not cancel (@roboomp) 2026-08-08 19:38:32 +02:00
can1357 2728675ba3 docs: documented provider compatibility flags and specific quirks
- Added comprehensive reference documentation for OpenAI compatibility flags, reasoning levels, and tool handling policies.
- Detailed provider-specific quirks covering stream handling, authentication, quotas, and catalog model behaviors.
- Updated provider endpoint constraints with cross-references to the new compatibility and quirks references.
2026-08-08 16:18:17 +02:00
roboomp 7914e7c451 fix(session): preserved harness handoff abort reasons
Harness-initiated session aborts previously cancelled compaction before the handoff reason was recorded. The handoff catch then saw only an aborted signal and replaced the harness reason with "Handoff cancelled".

Abort the handoff first with the session reason, forward caller-signal reasons, and reserve "Handoff cancelled" for direct or unreasoned cancellation. Add a regression test for an in-flight handoff aborted through AgentSession.abort.

Fixes #7993
2026-08-08 09:02:28 +00:00
can1357 2ee9943563 refactor: unify builtins in one place 2026-08-08 10:19:25 +02:00
can1357 39477ba39b fix(debug): shortened js-debug install hint to the repo download
- Runtime error now just says to download vscode-js-debug from its GitHub repo;
  tarball recipe, extract path, env var, and Mason detail stay in docs/tools/debug.md.
2026-08-07 14:50:17 +02:00
can1357 37849df3e4 Merge PR #7759: docs(coding-agent): clarify js-debug-adapter install is not an npm package (@fcastillo18) 2026-08-07 13:39:54 +02:00