Commit Graph

14565 Commits

Author SHA1 Message Date
Wolfgang Schoenberger ce8c9dc75f feat(rpc): page stable message histories 2026-07-22 18:38:03 -07:00
Wolfgang Schoenberger 2a6bcc7984 feat(rpc): add negotiated lossless output framing 2026-07-22 18:38:02 -07:00
can1357 a81e26157c docs(readme): moved open-pr trial notice above install section 2026-07-23 02:55:10 +02:00
can1357 061aeb1d07 docs(contributing): noted open-pr policy is a temporary trial
- Added notice that the vouch requirement is lifted while we evaluate
  open contributions, and may return depending on results.
2026-07-23 02:55:10 +02:00
can1357 27172e06f0 docs(contributing): noted open-pr policy is a temporary trial
- Added notice that the vouch requirement is lifted while we evaluate
  open contributions, and may return depending on results.
2026-07-23 02:49:07 +02:00
can1357 5e362714fe ci: installed libstdc++ and libgcc in alpine musl smoke
- Bun musl-target binaries link both dynamically, matching bun's own
  Alpine runtime requirements.
2026-07-23 02:45:13 +02:00
can1357 bb15939414 **no more vouching! let's see how it goes for a week :)** 2026-07-23 02:41:47 +02:00
can1357 1f7d2ff9ea ci: skipped glibc-host smoke for musl release binaries
- Musl-linked binaries cannot exec on glibc runners (missing
  /lib/ld-musl loader); the dedicated Alpine container step remains
  their smoke gate.
2026-07-23 02:22:51 +02:00
can1357 50e388035a Merge PR #5160: fix(ai): omit service tier for GitHub Copilot (@audreyt) 2026-07-23 02:16:24 +02:00
can1357 ca3d052eaf chore(vouch): vouched 112 contributors 2026-07-23 02:07:27 +02:00
can1357 3f38358c6e test(mcp): polled full post-condition for deferred xdev mount
- The xd registry reconciles before the async prompt rebuild while the
  active tool swap lands after it; polling the mount alone raced the
  write-transport activation on slow runners.
2026-07-23 01:59:06 +02:00
can1357 52ad6516ef feat(diff): implemented native UTF-16 diff processing and removed jsdiff
- Implemented native UTF-16 text processing in Rust diff module with support for unpaired surrogates.
- Removed `similar` crate from Rust workspace and `diff` npm package from coding-agent, hashline, and natives.
- Removed jsdiff fallback wrappers and `isWellFormed()` guards from TypeScript diff implementations.
- Added comprehensive test suite for native diff functions covering random inputs and edge cases including surrogates and emoji.
- Renamed model `codex-auto-review` to `gpt-5.3-codex-spark` with updated pricing and context window.
2026-07-23 01:35:31 +02:00
can1357 2f5a67694a test(dap): made tcp transport tests deterministic
- Replaced the subprocess-based delayed-banner test with in-process
  tests of the exported waitForTcpServerListening gate (banner split
  across chunks, stdout end without banner).
- Dropped wall-clock elapsed assertions from the ghost-socket tests;
  the connection-closed rejection message already distinguishes the
  wake path from a request timeout.
2026-07-23 01:22:24 +02:00
can1357 1db0d71825 style(iso): wrapped FICLONE comment for rustfmt 2026-07-23 00:56:36 +02:00
can1357 52e2fcb746 fix(iso): used libc::Ioctl for FICLONE request type on musl targets
- musl defines ioctl's request parameter as c_int while glibc uses
  c_ulong; the hardcoded libc::c_ulong constant broke linux musl
  x64/arm64 native builds.
2026-07-23 00:53:11 +02:00
can1357 9b54d9e9ac chore: bump version to 17.0.8 2026-07-23 00:41:54 +02:00
can1357 32eb139c19 test(tui): model mux pane growth in the render-stress shadow ledger
- The shadow oracle floored windowTop at the committed seam unconditionally, predicting a top-anchored view with a blank bottom row when a tmux pane grows taller. Real tmux (screen_resize_y) and the harness's emulated terminal pull rows back out of pane history into the grid, and the renderer already rebases its commit seam accordingly (tui.ts pane-growth path); repainting top-anchored there would overwrite the resurrected row. The ledger now mirrors the seam rebase on geometry frames where frameLength - height < committed, keeping the invariant an exact-view check.
- Deterministic repro: darwin-normal-tmux-small seed=0x0ddc0ffe op 24 (resizeHeight 3->4); pre-existing on 7b141199d5, previously masked because the stress suite is skipIf(CI).
2026-07-23 00:19:00 +02:00
can1357 fc6256372d test: fix local-midnight logger flake and stale kimi k3 thinking format pin
- logger-multiprocess asserted the UTC day (toISOString) while DailyRotateFile names files with the LOCAL date, failing nightly between 00:00 and 02:00 local (UTC+2); the per-pid rotation-file invariant now matches any dated name.
- kimi-code k3 bundled compat moved to thinkingFormat 'kimi' with the catalog regen; the K3 named-tool-choice downgrade gate keys on provider/id/baseUrl, so only the stale precondition needed updating.
2026-07-23 00:13:14 +02:00
can1357 b6e68fd243 fix(coding-agent): updated mentions of explore -> scout 2026-07-23 00:12:07 +02:00
can1357 7d404686c2 chore: updated changelogs + remove summarization marker 2026-07-22 23:59:32 +02:00
can1357 242bcbef8c revert #6130: doesn't really work well 2026-07-22 23:54:15 +02:00
can1357 59877a01bd fix(update): fetch musl release asset on musl hosts and align musl release test
- omp update's getBinaryName now detects a musl Linux host (Alpine release file or /lib/ld-musl-* loader, mirroring scripts/install.sh) and downloads omp-linux-musl-<arch>, so self-update no longer replaces a musl install with the glibc build.
- Updated musl-release dry-run assertions to the Bun.build output format the binaries script now emits; promoted the musl changelog entry to [Unreleased].
2026-07-22 23:12:24 +02:00
can1357 6a517cfbbc Merge farm/b12a11bd: feat(release): add musl-linked linux builds
# Conflicts:
#	package.json
2026-07-22 23:08:42 +02:00
can1357 e4de9509c7 test: adapt catalog-pinned tests to regenerated model catalog
- Repointed tests off removed gpt-5.2/5.3 codex variants and devin models (e06ac0b787): context-promotion and TTSR tests pin gpt-5.5 -> gpt-5.6-sol via per-test modelOverrides since no bundled codex model has a runtime-effective promotion target anymore; replay-boundary and history-payload suites use gpt-5.5; advisor quota fallback uses devin/swe-1-6-slow with suffix-less selectors per #4579 devin-agent semantics; gateway-reference pins kilo/giga-potato and now asserts the reference carries effortRouting so the cross-provider no-inherit contract stays meaningful.
- Verified cross-provider gateway references do not inherit wire routing after variant collapse (identity/reference.ts:145-154) - stale test, no product bug.
2026-07-22 22:26:10 +02:00
can1357 0002905ec5 chore: untrack node_modules symlinks and harden ignore pattern
- An eval-worktree cherry-pick swept 16 packages/*/node_modules symlinks into the index; 'node_modules/' with a trailing slash only matches directories, so symlinked installs bypassed the ignore. Dropped the slash and removed the tracked links.
2026-07-22 21:43:22 +02:00
can1357 08a0af909c fix(session): keep content-less overflow rejections out of persisted terminal error turns
- #6253's dead-end persist now skips context-overflow errors so the auto-compaction progress guard's contract (live-UI-only overflow rejections) still holds; non-overflow terminal provider errors keep persisting per #6249/#6250.
2026-07-22 21:40:05 +02:00
can1357 58a2acd330 test(coding-agent): align ctx fixtures with settled-component cache and todo commit-on-execute
- Added transcriptMessageComponents to every InteractiveMode ctx test literal; #6033's reuse cache made the field required and addMessageToChat populates it unconditionally.
- Wired setTodoPhases into the eager-todo ToolSession fixture to mirror sdk.ts; the test relied on the stale message_end todo replay #6148 removed.
2026-07-22 21:32:12 +02:00
can1357 dd80dcd035 test(catalog): adapt ChatGPT-only retention test to multi-account discovery API
- #6266 replaced openaiCodexModelManagerOptions' accessToken field with resolveAccounts; #6219's authoritative-pruning test predates that and silently skipped discovery, leaving the absent static model unpruned.
2026-07-22 21:19:53 +02:00
can1357 8a9aa0342d chore: format evaluator fix commits and suppress intentional DAP placeholder lint 2026-07-22 21:16:38 +02:00
can1357 1b7dc1c3f6 docs: normalize changelog entries under [Unreleased]
- Promoted union-merge strays back under [Unreleased] and merged duplicate headings across ai, catalog, coding-agent, natives, and tui changelogs (scripts/fix-changelogs.ts --since 7b141199d5).
- Restored the pi-ai changelog entry for #6139 that its fix commit missed.
2026-07-22 21:14:15 +02:00
can1357 61989b1845 test(sdk): cover discovery-only local provider default resolution
- Adopted the regression tests from #6228 (@roboomp) on top of the #6233 fix, which supersedes it; both LM Studio cold-cache cases pass against the merged resolver.
2026-07-22 21:13:38 +02:00
can1357 eadfc9a4ec Merge PR #6280: perf(mnemopi): run recall vector kernels natively (@wolfiesch) 2026-07-22 21:13:24 +02:00
can1357 9a0a154e53 Merge PR #6279: perf(coding-agent): compute edit and word diffs natively (@wolfiesch) 2026-07-22 21:13:23 +02:00
can1357 b39b49a2c4 docs(coding-agent): fix grammar in resolveSpawnItems doc comment 2026-07-22 21:13:23 +02:00
can1357 9c6c53435b Merge PR #6130: feat(coding-agent): add capture-only apply control to the task tool (@korri123) 2026-07-22 21:13:23 +02:00
can1357 741aaa301d Merge PR #5895: feat(tui): allow re-answering a past ask from the session tree (@Mathews-Tom) 2026-07-22 21:13:23 +02:00
can1357 d3bc8d19d1 Merge PR #6223: docs: correct /advisor as session-scoped, not persisted (@roboomp) 2026-07-22 21:13:23 +02:00
can1357 9485f48297 Merge PR #6229: fix(collab-web): guard composer submit against IME composition (@roboomp) 2026-07-22 21:13:22 +02:00
can1357 9720c091ff Merge PR #6235: fix(coding-agent): show changelog in standalone binaries (@roboomp) 2026-07-22 21:13:22 +02:00
can1357 17a571472e Merge PR #6182: fix(coding-agent): avoid stack overflow in deeply nested HTML exports (@jiwangyihao) 2026-07-22 21:13:22 +02:00
can1357 9c54d25a4e Merge PR #6298: fix(cli): dispose model-listing extensions (@roboomp) 2026-07-22 21:13:22 +02:00
can1357 8ac9d121c6 Merge PR #6212: fix(dap): close tcp connect race and wake pending requests on transport end (@roboomp) 2026-07-22 21:13:22 +02:00
can1357 a07d72f638 fix(git): report missing cwd distinctly from missing git binary
A deleted/nonexistent cwd also makes Bun.spawn throw ENOENT; only claim
'git is not installed.' when the working directory actually exists, else
name the missing directory. Addresses the Codex P2 review on #6237.
2026-07-22 21:13:21 +02:00
can1357 a4bd7a4df3 Merge PR #6237: fix(git): degrade gracefully when git binary is missing (@roboomp) 2026-07-22 21:13:21 +02:00
can1357 b9072f1991 fix(extensibility): validate Type.Unsafe against the draft-2020-12 upgraded schema
Aligns the shim's runtime safeParse/__validator with the wire/tool-call
path, so legacy draft-07 documents (tuple items) accept the same values
validateToolArguments does. Adds a regression test.
2026-07-22 21:13:21 +02:00
can1357 d6cbf9a6aa Merge PR #6241: fix(extensibility): add Type.Unsafe to typebox shim (@roboomp) 2026-07-22 21:13:21 +02:00
can1357 9995325ad5 fix(sdk): carry strict through the custom-tool definition bridge
customToolToDefinition rebuilt ToolDefinition without strict, so the
Task proxies' (and startup MCP tools') explicit strict:false was dropped
before RegisteredToolAdapter and the OpenAI-family serializers saw it.
Declare strict on ToolDefinition, copy it in the bridge, and cover the
proxy -> definition -> registered adapter path in the parity test.
2026-07-22 21:13:21 +02:00
can1357 9952adbc82 Merge PR #6242: fix(mcp): route task proxies through source tool and mark tools non-strict (@roboomp) 2026-07-22 21:13:21 +02:00
can1357 59db75d6d4 Merge PR #6205: fix(task): surface actionable shape error for batch calls (@roboomp) 2026-07-22 21:13:20 +02:00
can1357 c5489fa5c5 Merge PR #6222: fix(write): reject unknown URI-like targets (@roboomp) 2026-07-22 21:13:20 +02:00