Commit Graph

11731 Commits

Author SHA1 Message Date
Peter Steinberger
b58a75d726 refactor(html): share entity decoding 2026-07-14 00:00:05 -07:00
krissding
e588f2c0ce fix(extra-params): preserve resolved cacheRetention against undefined own-property clobber (#106069)
* fix(extra-params): preserve resolved cacheRetention when options carries undefined own-property

When the proxy transport emits cacheRetention as an own property set to
undefined, JS spread semantics clobber the resolved cacheRetention value
from per-model params. Re-assert the resolved value after the spread so
it takes precedence over an undefined own-property in the caller's options.

Fixes #106014

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* test(agents): strengthen cache retention precedence proof

* refactor(agents): keep cache retention merge compact

* style(agents): format cache retention matrix

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-13 23:54:56 -07:00
Peter Steinberger
044392684b test(release): repair scheduled E2E regressions (#107173)
* test(release): repair scheduled E2E regressions

* test(release): refresh generated protocol bindings

* docs(agents): harden remote proof invocations
2026-07-13 23:49:36 -07:00
Peter Steinberger
d3ac854e31 refactor(agents): extract attempt execution phases 2026-07-13 22:54:42 -07:00
Peter Steinberger
304beb22e1 refactor(concurrency): use p-map skip results 2026-07-13 22:43:26 -07:00
Peter Steinberger
b241d4a12d refactor(agents): extract attempt session runtime setup 2026-07-13 22:32:01 -07:00
Peter Steinberger
73838101df refactor(agents): extract attempt stream runtime setup 2026-07-13 22:01:22 -07:00
zengLingbiao
692cb8dd9b fix(cron): reject non-string values in delivery target validation (#106952)
* fix(cron): reject non-string values in delivery target validation

assertNonBlankStringField had inverted logic — non-string values
(number, boolean, object) were silently accepted because typeof !== 'string'
was grouped with the undefined/null early return. The function name says
'assert non-blank string field' but it was bypassing validation for any
non-string type, defeating the purpose of input validation.

* test(cron): cover invalid delivery fields at entrypoints

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-13 21:48:15 -07:00
Peter Steinberger
352cf819bc improve: speed up agent command tests (#107107)
* test: avoid plugin discovery in agent command suites

* style: format agent command test imports

* test: preserve agent command mock ordering

* test: classify agent mock state as test support
2026-07-13 21:46:50 -07:00
xingzhou
6b0a835116 fix(diagnostics): prevent broken emoji in long model identifiers (#106986)
* fix(diagnostics): preserve Unicode boundaries in timeline attributes

* fix(diagnostics): keep timeline truncation within LOC guard

* test(diagnostics): strengthen Unicode timeline regression

* test(diagnostics): type Unicode boundary cases

* test(diagnostics): await wrapped timeline call

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-13 21:41:15 -07:00
Peter Steinberger
0ecbbe2382 fix(workboard): keep dispatch inside caller workspace authority (#107087)
* fix(workboard): inherit caller workspace authority

* docs(plugin-sdk): refresh API baseline

* fix(workboard): pin restricted worker authority

* fix(workboard): avoid host git for restricted dispatch

* refactor(worktrees): extract owner matching

* refactor(workboard): reuse sdk workspace helpers

* fix(workboard): narrow cleanup owner

* refactor(workboard): clarify claim value handling

* fix(workboard): inherit caller workspace authority

* test(worktrees): use managed temp directories

* chore: keep release notes in PR body

* fix(workboard): keep internal authority helpers private
2026-07-13 21:36:26 -07:00
Peter Steinberger
f82895d416 refactor(agents): extract attempt prompt phase 2026-07-13 21:32:56 -07:00
Vincent Koc
3a55f8d800 refactor(agents): remove dead test surfaces (#107113) 2026-07-14 12:23:41 +08:00
Peter Steinberger
66e6923929 test: accelerate session status suite (#107054) 2026-07-13 21:21:00 -07:00
Peter Steinberger
37c7de0148 refactor(ai): remove redundant tool argument finalization 2026-07-13 21:17:38 -07:00
Peter Steinberger
27f2a45c54 fix(onboarding): harden live inference handoff (#107041)
* fix(onboarding): harden live inference handoff

* fix(crestodian): preserve auto runtime probes

* fix(ci): restore current main lint gates
2026-07-13 21:15:36 -07:00
Peter Steinberger
632b17618e refactor(agents): extract attempt prompt dispatch phase 2026-07-13 21:06:46 -07:00
Peter Steinberger
ea33260491 refactor(agents): privatize prompt error outcome (#107097) 2026-07-13 21:01:48 -07:00
Peter Steinberger
87b2b4eaab refactor(agents): extract session lock preparation 2026-07-13 21:01:28 -07:00
Peter Steinberger
0ab9e625c2 refactor(agents): extract stream finalization phase 2026-07-13 20:47:47 -07:00
Peter Steinberger
e79cbbfb2e refactor(resources): use native minimatch list matching 2026-07-13 20:45:18 -07:00
Peter Steinberger
e55e3ffbdd refactor(agents): extract attempt prompt execution lifecycle 2026-07-13 20:39:12 -07:00
Peter Steinberger
69f1da11a3 refactor(agents): privatize attempt lifecycle details (#107055) 2026-07-13 20:21:34 -07:00
Vincent Koc
4bff6b188e refactor(agents): privatize computer tool helpers (#107048) 2026-07-14 11:13:48 +08:00
Peter Steinberger
661cf9644d refactor(agents): extract attempt prompt observability 2026-07-13 20:09:00 -07:00
Peter Steinberger
a0cab8c1d8 refactor(agents): extract attempt abort lifecycle 2026-07-13 20:04:43 -07:00
xingzhou
ad7f849490 fix(agents): prevent local provider sidecars surviving canceled startup (#104070)
* fix(agents): prevent local provider sidecars surviving canceled startup

* test(agents): harden local service abort regression

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-13 20:02:13 -07:00
Peter Steinberger
2c4ccf7196 test: isolate auth planner profile lookup (#106962) 2026-07-13 19:59:17 -07:00
Peter Steinberger
baf519344f perf(test): isolate auth planner provider hooks (#107022) 2026-07-13 19:58:54 -07:00
Peter Steinberger
b91a33d14a fix(agents): keep timestamp override type internal (#107020) 2026-07-13 19:51:16 -07:00
Vincent Koc
d4ee32185c refactor(agents): simplify image resize policy (#107027) 2026-07-14 10:46:01 +08:00
Peter Steinberger
9b823c6108 refactor(agents): extract attempt context guards and trajectory 2026-07-13 19:38:49 -07:00
Peter Steinberger
b9c947237a refactor(agents): extract attempt session boundaries 2026-07-13 19:27:03 -07:00
Peter Steinberger
6e067f7662 test: restore moving-main quality gates (#106972)
* test(agents): preserve caught abort cause

* refactor(browser): privatize route handler type

* test(lint): cover browser route override
2026-07-13 19:06:30 -07:00
Vincent Koc
7df623f528 refactor(agents): inline side-question auth type (#106973) 2026-07-14 09:37:35 +08:00
Vincent Koc
e330e4a17d refactor(agents): privatize system prompt helpers (#106965) 2026-07-14 09:27:10 +08:00
Yufeng He
8ac4a52a4e fix(sandbox): use canonical shortenHomePath for sandbox-root escape error (#106603)
* fix(sandbox): use canonical shortenHomePath for sandbox-root escape error

The local shortPath helper shortened any path with the home directory as a
string prefix, with no separator boundary, so a home-sibling sandbox root was
mangled in the escape error: homedir /Users/al + root /Users/albert/proj
rendered as ~bert/proj. Delete the duplicate helper and reuse the canonical,
boundary-safe shortenHomePath from ../utils (the same fix already applied to the
other home-path shorteners), keeping one canonical path per repo policy.

Signed-off-by: Yufeng He <40085740+he-yufeng@users.noreply.github.com>

* test(sandbox): cover home-sibling diagnostics

* test(sandbox): make path proof portable

---------

Signed-off-by: Yufeng He <40085740+he-yufeng@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-13 18:24:42 -07:00
Vincent Koc
c80920ce09 refactor(agents): privatize provider request helpers (#106955) 2026-07-14 09:14:50 +08:00
Peter Steinberger
dc61172e51 refactor(agents): remove dead internal test seams (#106956)
* refactor(channels): remove dead action discovery reset

* refactor(agents): remove dead internal test seams
2026-07-13 18:14:30 -07:00
Peter Steinberger
9b9f44bf7e test(exec): retry transient temp cleanup (#106949) 2026-07-13 18:04:46 -07:00
Peter Steinberger
cae29a0792 refactor(agents): share sync storage lock retries 2026-07-13 17:35:29 -07:00
Vincent Koc
8963a89432 fix(ci): restore prompt context dependency checks (#106934)
* fix(ci): privatize prompt context result types

* fix(ci): refresh plugin SDK API baseline
2026-07-14 08:34:14 +08:00
Vincent Koc
db2be35353 refactor(agents): inline embedded session creation (#106909) 2026-07-14 08:17:28 +08:00
Peter Steinberger
1bdb7b8535 refactor(agents): trim internal type exports (#106925) 2026-07-14 01:14:44 +01:00
Peter Steinberger
bab07e990a refactor(agents): extract prompt context and cleanup phases 2026-07-13 17:12:01 -07:00
Peter Steinberger
d7f38ab678 refactor(agents): trim CLI and facade exports (#106917)
* refactor(agents): trim CLI and facade exports

* refactor(agents): privatize compaction planning helpers
2026-07-14 01:02:26 +01:00
Peter Steinberger
48817f6cea fix(ci): stop exporting internal session helper (#106904) 2026-07-14 00:53:16 +01:00
Peter Steinberger
9e2a6b1269 test(agents): expose session activation mock 2026-07-13 16:36:05 -07:00
Peter Steinberger
98f603c4c4 refactor(agents): extract agent session preparation 2026-07-13 16:36:05 -07:00
Peter Steinberger
cf8b57e7d0 feat(skills): scan session history for workshop ideas (#106766)
* feat: scan past sessions for skill proposals

* feat(ui): add progressive skill history scans

* fix(ui): keep skill history scans synchronized

* refactor: split skill history scan ownership

* style: fix mock helper formatting

* style: format skill history scan

* build: refresh skill history schema baselines

* build: refresh plugin SDK baseline after rebase

* perf(ui): keep startup request budget bounded

* fix(skills): satisfy history scan integration gates

* fix(ui): bound control ui startup chunks

* build: refresh plugin SDK API baseline

* build(ui): refresh self-learning translation memory

* refactor(ui): split skill workshop state

* fix(ci): refresh skill workshop gates

* fix(ci): satisfy skill history lint

* build: refresh plugin SDK baseline after main rebase
2026-07-13 16:15:50 -07:00