Commit Graph
14139 Commits
Author SHA1 Message Date
can1357 eefbb12923 chore: normalized changelog sections after merges 2026-07-18 19:58:30 +02:00
can1357 91bf49f897 fix(ai): traverse object-valued additionalProperties in grammar sanitizer
Object-form additionalProperties/unevaluatedProperties are genuine
subschemas whose interior may still hold the bare booleans emitted by
toolWireSchema; skipping them let llama.cpp reach an Unrecognized
schema: true. Boolean forms stay intact for closed/open-object grammar
semantics. Flagged by Codex review on #5919.
2026-07-18 19:58:23 +02:00
can1357 c2b241401b Merge PR #5919: fix(providers): sanitize boolean subschemas for grammar backends (@roboomp)
# Conflicts:
#	packages/catalog/src/compat/openai.ts
#	packages/catalog/src/types.ts
2026-07-18 19:58:22 +02:00
can1357 81102634c8 Merge PR #5886: fix(robomp): defer rate-limited submissions (@roboomp) 2026-07-18 19:57:45 +02:00
can1357 5c9b5f7b64 Merge PR #5890: fix(ai): allow custom OAuth fingerprint header overrides (@roboomp) 2026-07-18 19:57:45 +02:00
can1357 cac8ac2fe5 chore(changelog): drop duplicate #5578 entry already documented on main 2026-07-18 19:57:45 +02:00
can1357 b5268042be Merge PR #5894: fix(mcp): process-group kill and SIGKILL escalate on stdio transport close (@Mathews-Tom) 2026-07-18 19:57:45 +02:00
can1357 735a345086 Merge PR #5902: fix(advisor): keep advise when Cursor emits ungranted native tools (@roboomp) 2026-07-18 19:57:44 +02:00
can1357 5aa850078e Merge PR #5904: fix(rpc): claim stdin before extension discovery (@roboomp) 2026-07-18 19:57:44 +02:00
can1357 6c8b0f4a2f Merge PR #5906: fix(browser): bound scroll renderer acknowledgement wait (@roboomp) 2026-07-18 19:57:44 +02:00
can1357 1ecbedd763 Merge PR #5908: fix(ai): retry safe truncated responses streams (@usr-bin-roygbiv) 2026-07-18 19:57:44 +02:00
can1357 3863a1fac6 Merge PR #5911: fix(subagent): skip session title generation for headless subagents (@roboomp) 2026-07-18 19:57:44 +02:00
can1357 ea147d9d05 Merge PR #5915: docs(advisor): clarify concern delivery after a self-ended yield (@roboomp) 2026-07-18 19:57:43 +02:00
can1357 e7adbb1093 Merge PR #5935: perf(coding-agent): coalesce subagent recent-output reconstruction to emit boundaries (@metaphorics) 2026-07-18 19:57:43 +02:00
can1357 b2c7a709e5 Merge PR #5937: perf(tui): carry measured widths through rendering (@metaphorics) 2026-07-18 19:57:43 +02:00
can1357 5570aaaa05 Merge PR #5940: fix(tui): scope stable-focus keystroke renders (@roboomp) 2026-07-18 19:57:43 +02:00
can1357 8af064002f Merge PR #5941: fix(coding-agent): parallelize session teardown (@roboomp) 2026-07-18 19:57:43 +02:00
can1357 6945c4cd9b test: stub getLastAssistantMessage in noninteractive-dispose session mock 2026-07-18 19:44:47 +02:00
can1357 f7f8e1188c chore: normalized changelog sections after merges 2026-07-18 19:43:33 +02:00
can1357 a1caad9ce7 test: stub getLastAssistantMessage in print-mode session mocks for baseline compatibility 2026-07-18 19:43:17 +02:00
can1357 822e461b5a Merge PR #5942: fix(coding-agent): drain advisor reviews in print mode (@paralin)
# Conflicts:
#	packages/coding-agent/test/print-mode-working-indicator.test.ts
#	packages/coding-agent/test/silent-abort-print-mode.test.ts
2026-07-18 19:43:17 +02:00
can1357 65534c5c07 Merge PR #5947: perf(session): memoize convertToLlm and estimateTokens over settled history (@roboomp) 2026-07-18 19:42:52 +02:00
can1357 973332f5d3 Merge PR #5961: fix(ai): normalize clockless usage drain ranking (@roboomp) 2026-07-18 19:42:52 +02:00
can1357 55b5a8d73c Merge PR #5962: fix(session): discard capped zero-block assistant stops (@roboomp) 2026-07-18 19:42:52 +02:00
can1357 f1c2b47707 Merge PR #5967: fix(auth): gate session credential pin on prompt-cache idle window (@roboomp) 2026-07-18 19:42:52 +02:00
can1357 b5033707b9 Merge PR #5969: fix(extensibility): re-export getPackageDir/getProjectDir from legacy pi shim (@roboomp) 2026-07-18 19:42:51 +02:00
can1357 b7c8fce83c fix(stats): bind port-conflict test listeners to the wildcard address
On macOS SO_REUSEADDR lets startServer's wildcard bind coexist with a
127.0.0.1-only listener, so the EADDRINUSE path was never exercised and
three of the four conflict tests failed. Wildcard-bind the holders and
the reused dashboard so the conflict is real on every platform.
2026-07-18 19:42:51 +02:00
can1357 5d5fcd27e3 Merge PR #5971: fix(stats): reuse or reclaim occupied dashboard port (@roboomp) 2026-07-18 19:42:51 +02:00
can1357 b8091d4f2c Merge PR #5972: fix: resolve configured model roles in --model (@paralin) 2026-07-18 19:42:51 +02:00
can1357 0644f5c204 Merge PR #5986: fix(ai): honor Moonshot base URL during login (@roboomp) 2026-07-18 19:42:51 +02:00
can1357 0e3ee3ee21 Merge PR #5987: fix(catalog): normalize Kimi K3 reasoning efforts (@roboomp) 2026-07-18 19:42:50 +02:00
can1357 f8cd966406 Merge PR #5988: fix(coding-agent): render ask option previews inline (@metaphorics) 2026-07-18 19:42:50 +02:00
can1357 bf94f05a8e fix(coding-agent): reactivate a live debug session when the active child terminates
When the active js-debug child exits or terminates while other tree
sessions remain alive, #activeSessionId pointed at the dead child and
every subsequent tool action failed. Reassign to a live tree session
(preferring stopped, then non-root) on exited/terminated/proc-exit.
Regression test proves threads route to the surviving session.
2026-07-18 19:42:50 +02:00
can1357 ab77aeb245 Merge PR #5989: fix(coding-agent): enable js-debug child sessions (@roboomp) 2026-07-18 19:42:50 +02:00
can1357 2ac4138237 Merge PR #5994: fix(ai): allow K3 tools while thinking (@usr-bin-roygbiv) 2026-07-18 19:42:50 +02:00
can1357 3d8cd494ec Merge PR #5997: fix(agent): preserve side-effecting hub outcomes (@roboomp) 2026-07-18 19:42:37 +02:00
can1357 ed18b72075 Merge PR #5999: fix(launch): prevent finite PTY start hangs (@roboomp) 2026-07-18 19:42:37 +02:00
can1357 81aa577865 Merge PR #6002: fix(search): honor configured Codex transport (@roboomp) 2026-07-18 19:42:36 +02:00
can1357 b95a25820f Merge PR #6005: fix(browser): isolate request interception per run (@roboomp) 2026-07-18 19:42:36 +02:00
can1357 df9b04a0eb fix(task): canonicalize the shared-common-dir gate in detachGitDir
rev-parse --git-common-dir resolves symlinks while ensureIsolation derives
sourceCommonDir lexically from the session cwd (resolveRepository walks
path.resolve'd components). On any symlinked repo path (macOS /tmp,
symlinked project dirs) the lexical comparison missed, detachGitDir
returned "independent", and the parent-mutation leak silently survived.
Realpath both sides before comparing; regression test drives the gate
through a symlink alias.
2026-07-18 19:42:36 +02:00
can1357 53437aff3d fix(task): harden detachGitDir edge handling
- Match the rcopy worktree-add registration via realpath: git canonicalizes
  the admin gitdir back-reference (macOS /var -> /private/var), so the
  lexical comparison missed it and left a stale registration in the source
  repo's worktree list.
- Carry core.fileMode so an explicit filemode=false source does not read as
  mode-changed files in the detached isolation.
- Carry core.splitIndex and the sharedindex.* files referenced by a split
  source index; restoring the raw index without them broke every git read.
- Carry the source shallow boundary file so history traversal over the
  borrowed object DB stops at the boundary instead of failing.
- Regression test covering all three carries.
2026-07-18 19:42:36 +02:00
can1357 38454e263b Merge PR #6007: fix(task): detach isolated worktree git dir from parent checkout (@roboomp) 2026-07-18 19:42:36 +02:00
evaluatorandcan1357 3f5fec0c0b fix(ai): pass request model to onPayload in model-less transports
openai-completions, cursor, and amazon-bedrock invoked onPayload without
the model argument, so before_provider_request hooks still fell back to
the primary session model for those transports.
2026-07-18 19:42:35 +02:00
can1357 4143abf511 Merge PR #6008: fix: scope provider request hooks to the request model (@roboomp) 2026-07-18 19:42:35 +02:00
can1357 8640c0dded refactor(python/robomp): renamed typecheck npm script to check:types
- Renamed `typecheck` script to `check:types` in the web package.
- Updated AGENTS.md documentation to reference the renamed script.
- Removed duplicate `start` script from metaharness package.json.
2026-07-18 19:26:41 +02:00
can1357 b16d316aa9 feat(ai): defaulted API-key requests to 1h prompt-cache retention
- Defaults API-key requests to 1h `cache_control` TTL where the endpoint supports long retention, matching OAuth behavior.
- Automatically injects `extended-cache-ttl-2025-04-11` beta on API-key requests using 1h TTL; endpoints without long-cache support keep the 5m breakpoint.
- `PI_CACHE_RETENTION` env var overrides the new default in either direction.
2026-07-18 19:18:00 +02:00
roboomp 970043bd8a fix(task): preserve sparse-checkout state when detaching isolation
A fresh `git init` in detachGitDir dropped core.sparseCheckout and the
sparse-checkout patterns, and rebuilding the index via write-tree/
read-tree discarded skip-worktree bits. Files intentionally absent from
a sparse working tree then read as deletions, which delta capture could
apply back to the parent.

detachGitDir now restores the index verbatim (preserving skip-worktree,
assume-unchanged, and exact stage entries) and carries
core.sparseCheckout, core.sparseCheckoutCone, and info/sparse-checkout
into the detached .git before restoring the index. Falls back to
read-tree HEAD only when the source had no index.

Fixes #6003
2026-07-18 17:04:40 +00:00
roboomp 37304a12a3 fix(task): detach unborn linked worktrees from parent checkout
A linked git worktree with an unborn HEAD (a fresh/orphan branch with no
commits) still shares the parent's common dir, so an isolated task's
first branch and commit would write into the parent repo. The previous
early return on a missing HEAD SHA left that shared metadata intact.

detachGitDir now severs unborn worktrees too: `git init -b <branch>`
preserves the checked-out branch name, ref freezing is gated on a born
HEAD, and the rcopy worktree registration is still removed.

Fixes #6003
2026-07-18 16:57:41 +00:00
can1357 37456c5f4b fix(coding-agent/session): cleared todo reminder and track assistant message synchronously
- Moved `#todoReminderAwaitingProgress` clearing into tool result handler for synchronous state update.
- Moved `#lastAssistantMessage` tracking to message_end to prevent stale reads when events land in same tick.
2026-07-18 18:56:32 +02:00
roboomp bf232ca062 fix(extensions): scoped provider hooks to request model
Passed the per-request model through SDK payload callbacks and ExtensionRunner context creation.

Added regression coverage for Codex-primary and Anthropic-request contexts.

Fixes #6006
2026-07-18 16:52:15 +00:00