Commit Graph

7274 Commits

Author SHA1 Message Date
Alex Knight
1c2915677b fix: recognize custom compaction conversation (#78390)
* fix: recognize custom compaction conversation

* fix: use branch fallback for compaction safeguard

---------

Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com>
2026-05-06 20:13:31 +10:00
Peter Steinberger
ceaa56fb12 fix(release): stabilize final validation checks 2026-05-06 10:45:29 +01:00
Peter Steinberger
ffafa9008d test(agents): avoid provider runtime in fallback tests 2026-05-06 10:21:34 +01:00
Peter Steinberger
5cf55ed3f1 fix(openai): suppress stale Codex OAuth models 2026-05-06 09:38:07 +01:00
JC
85ded4d444 pdf: add Codex instructions for extraction fallback (#51329)
* Fix Codex PDF extraction fallback missing instructions

- add a Codex-specific systemPrompt on the PDF extraction fallback path
- keep non-Codex PDF fallback requests unchanged
- add regression coverage proving openai-codex-responses requests include instructions for PDF tool calls

* test: cover Codex text-only extraction fallback

- add regression coverage for the branch where PDF extraction includes images
  but the selected Codex model only accepts text input
- assert Codex-specific extraction instructions are still attached in that path

* test: fix extracted image mock shape

- add the required `type: "image"` field to the text-only fallback regression mock
- keep the new Codex coverage test aligned with PdfExtractedImage

* test: align Codex PDF fallback tests

* docs(changelog): note PDF Codex fallback fix

---------

Co-authored-by: Dr JCai <jingxiao.cai@gmail.com>
Co-authored-by: anyech <8743351+anyech@users.noreply.github.com>
2026-05-06 09:34:42 +01:00
Alex Knight
ff655cb346 fix: preserve subagent task overrides (#78356)
Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com>
2026-05-06 18:31:01 +10:00
Edionwheels
58f81b0e04 fix(codex): honor OAuth contextTokens in native harness
Fixes #77858.

Co-authored-by: Edionwheels <267595845+lilesjtu@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-06 08:54:52 +01:00
Ayaan Zaidi
6be5422fd6 fix(gateway): avoid plugin model resolution in session lists 2026-05-06 13:03:54 +05:30
Shakker
d46859d886 fix: reuse plugin snapshot for agent metadata 2026-05-06 07:55:27 +01:00
Shakker
5655c2b066 fix: pass current snapshot to embedded runs 2026-05-06 07:55:27 +01:00
Shakker
ba1800e1bd fix: reuse plugin snapshot for embedded settings 2026-05-06 07:55:27 +01:00
Peter Steinberger
8f3a34e2a1 refactor: share fs-safe JSON helpers 2026-05-06 07:40:10 +01:00
Shakker
7544beea17 fix: preserve embedded dispatcher timeouts 2026-05-06 07:01:02 +01:00
hcl
5f783d7ddd Plugin skills: use Windows junction links
Fixes #77958.\n\nMaintainer-prepped by narrowing the branch to the Windows plugin-skills junction fix, rebasing onto current main, adding cleanup/idempotence regression coverage and changelog, and verifying local gates plus green CI.\n\nCo-authored-by: hcl <7755017+hclsys@users.noreply.github.com>\nCo-authored-by: Brad Groux <3053586+BradGroux@users.noreply.github.com>
2026-05-06 00:37:09 -05:00
Peter Steinberger
1f6ce72b8a test: trim cron and context-engine waits 2026-05-06 05:55:34 +01:00
Peter Steinberger
be1c99b76a test: pass env to fallback metadata snapshot 2026-05-06 05:33:38 +01:00
Peter Steinberger
82c4fd8f56 test: cache fallback metadata snapshot 2026-05-06 05:20:55 +01:00
Peter Steinberger
2df7ec5671 test: avoid bundled channel cold loads in message tool tests 2026-05-06 05:04:03 +01:00
Peter Steinberger
b85b1c68d1 Refactor file access to use fs-safe primitives (#78255)
* refactor: use fs-safe primitives across file access

* fix: preserve invalid managed npm manifests

* fix: keep fs seams for startup metadata
2026-05-06 05:03:11 +01:00
Peter Steinberger
f35fb7288a test: mock manifest normalization in fallback tests 2026-05-06 04:58:33 +01:00
Peter Steinberger
777c539daf fix: harden sandboxed patch parent paths 2026-05-06 04:44:14 +01:00
Peter Steinberger
8489d0eb68 test: update spawn workspace pi settings mock 2026-05-06 03:43:39 +01:00
Brad Hallett
0bdba47a3e fix: disable Pi auto-compaction when safeguard mode is active (#73839)
Merged via squash.

Prepared head SHA: d554201343
Co-authored-by: bradhallett <53977268+bradhallett@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-05-05 19:35:47 -07:00
Peter Steinberger
b43efd3793 fix: clean up post-land CI guards 2026-05-06 02:51:53 +01:00
Peter Steinberger
8294229592 test: refresh fs-safe boundary expectations 2026-05-06 02:50:36 +01:00
Peter Steinberger
df4db5a721 test: isolate main auth profile fixtures 2026-05-06 02:39:15 +01:00
Peter Steinberger
7760edc68e chore: refresh talk generated metadata 2026-05-06 02:39:15 +01:00
Peter Steinberger
538605ff44 [codex] Extract filesystem safety primitives (#77918)
* refactor: extract filesystem safety primitives

* refactor: use fs-safe for file access helpers

* refactor: reuse fs-safe for media reads

* refactor: use fs-safe for image reads

* refactor: reuse fs-safe in qqbot media opener

* refactor: reuse fs-safe for local media checks

* refactor: consume cleaner fs-safe api

* refactor: align fs-safe json option names

* fix: preserve fs-safe migration contracts

* refactor: use fs-safe primitive subpaths

* refactor: use grouped fs-safe subpaths

* refactor: align fs-safe api usage

* refactor: adapt private state store api

* chore: refresh proof gate

* refactor: follow fs-safe json api split

* refactor: follow reduced fs-safe surface

* build: default fs-safe python helper off

* fix: preserve fs-safe plugin sdk aliases

* refactor: consolidate fs-safe usage

* refactor: unify fs-safe store usage

* refactor: trim fs-safe temp workspace usage

* refactor: hide low-level fs-safe primitives

* build: use published fs-safe package

* fix: preserve outbound recovery durability after rebase

* chore: refresh pr checks
2026-05-06 02:15:17 +01:00
Peter Steinberger
384432fd22 test: isolate media factory planning imports 2026-05-06 01:54:55 +01:00
Peter Steinberger
d12c4d832d test: narrow capability auth profile import 2026-05-06 01:52:10 +01:00
Peter Steinberger
cc3eb0b53e test: use candidate seam for fallback ordering cases 2026-05-06 01:48:48 +01:00
Peter Steinberger
8bfabd6bb1 feat: add channel message lifecycle sdk 2026-05-06 01:46:42 +01:00
Peter Steinberger
2d45598738 test: trim duplicate local auth resolver cases 2026-05-06 01:45:43 +01:00
Peter Steinberger
271aac42e4 test: isolate cli provider model-selection coverage 2026-05-06 01:43:55 +01:00
Peter Steinberger
d111605453 test: streamline model fallback probe coverage 2026-05-06 01:12:16 +01:00
Peter Steinberger
cb42efb6e6 test: trim slow agent fallback coverage 2026-05-06 00:53:27 +01:00
Peter Steinberger
e428a2dfe2 test: add focused seams for faster isolated tests 2026-05-06 00:53:05 +01:00
Vincent Koc
b3ab3cde96 fix(agents): filter runtime context from context engines
## Summary
- filter hidden runtime-context custom messages before context-engine assemble, afterTurn, and ingest fallback hooks
- preserve the pre-prompt/new-turn boundary after filtering
- add regression coverage for assemble, afterTurn, and ingestBatch fallback behavior

## Verification
- pnpm test:serial src/agents/harness/context-engine-lifecycle.test.ts -- --reporter=verbose
- pnpm exec oxfmt --check --threads=1 src/agents/harness/context-engine-lifecycle.ts src/agents/harness/context-engine-lifecycle.test.ts CHANGELOG.md
- git diff --check origin/main...HEAD
- pnpm changed:lanes --json
- pnpm testbox:run --id tbx_01kqx8fy1ktpqczkcej2pgpryz -- "OPENCLAW_TESTBOX_REMOTE_RUN=1 pnpm check:changed"
2026-05-05 16:48:18 -07:00
Peter Steinberger
add9a49c40 test: cover generated media delivery evidence fallback 2026-05-05 23:19:36 +01:00
Peter Steinberger
a0ea07e462 fix: recognize attachment message sends 2026-05-05 23:19:36 +01:00
Vincent Koc
a36981a2c5 test(agents): isolate auth profile store fixtures 2026-05-05 14:53:35 -07:00
Peter Steinberger
4ddbdff7c0 refactor: drop legacy agent path files 2026-05-05 20:07:49 +01:00
Peter Steinberger
35da7d2c99 refactor: remove legacy agent dir resolver 2026-05-05 20:07:49 +01:00
Peter Steinberger
64b1f5fbf4 test: speed up changed test paths 2026-05-05 19:48:19 +01:00
Peter Steinberger
7188e4f4ad refactor: centralize agent run pending status 2026-05-05 18:21:58 +01:00
Peter Steinberger
b32d4c5255 fix: avoid media completion fallback while announce pending 2026-05-05 18:11:30 +01:00
Neerav Makwana
63ce0ca966 fix: persist embedded session transcripts (#77839) (thanks @neeravmakwana)
* fix(agents): persist embedded runner session transcripts (#77823)

Run persistCliTurnTranscript and post-turn compaction for executionTrace.runner embedded,
matching CLI turns so assistant text reaches session JSONL for webchat/Feishu-style runs.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(agents): narrow embedded transcript mirror with assistant dedupe (#77823)

Embedded runs pass embeddedAssistantGapFill so persistCliTurnTranscript skips
re-appending the user prompt Pi owns and only appends assistant text when the
transcript tail lacks equivalent visible assistant content.

Adds CLI transcript regression coverage for gap-fill dedupe.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(agents): dedupe embedded transcript gap fill by tail

* fix: persist embedded session transcripts (#77839) (thanks @neeravmakwana)

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-05-05 21:35:08 +05:30
Ayaan Zaidi
5d03fb2553 fix: preserve final text after silent block chunks (#77840) (thanks @neeravmakwana) 2026-05-05 21:20:39 +05:30
Neerav Makwana
cb8c94a8cb fix(embed): set lastBlockReplyText only after emitting block reply
When directive consume() returned null (e.g. silent NO_REPLY chunk) or the
cleaned payload was empty, we still set lastBlockReplyText, so message_end
skipped the safety send while no channel delivery had occurred.

Fixes #77833.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-05 21:20:39 +05:30
Vincent Koc
7c13004883 test(live): skip synthetic auth in provider sweeps 2026-05-05 02:34:54 -07:00