Commit Graph

76089 Commits

Author SHA1 Message Date
Peter Steinberger 3832074cd9 fix(mattermost): preserve channel lookup failures (#118622)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-03 03:21:55 -07:00
Peter Steinberger a9da10ea9e fix(gateway): bind response history to verified proxy identity (#118607) 2026-08-03 03:20:38 -07:00
Peter Steinberger 9c22a4349d chore: speed up gateway CLI test startup (#118620)
* test(cli): avoid unrelated startup graphs

* test(cli): preserve startup coverage

---------

Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-03 03:17:25 -07:00
qingminlong 3f3e59b54d fix(cron): defer auto-disable notifications until persistence (#118384)
* fix(cron): defer auto-disable notifications until persistence

* fix(cron): emit disable notifications only after durable roster commits

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-03 03:07:46 -07:00
Peter Steinberger f9df87ce68 fix(agents): preserve successful sessions_yield handoffs (#118584)
* fix(agents): preserve successful sessions_yield handoffs

* fix(agents): require visible replies after yielded subagents

* fix(agents): reject progress notices as yielded final replies
2026-08-03 03:04:30 -07:00
Peter Steinberger c53e594aae fix(slack): stop partially started native streams after fallback (#118617) 2026-08-03 03:00:17 -07:00
Peter Steinberger cc940b5ff5 test(agents): reuse managed worktree fixtures (#118619)
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-03 02:59:47 -07:00
Sukhdeep a7396255d0 fix(litellm): send image edits as multipart/form-data (#118562)
The litellm image provider built edit requests as a JSON body with
`images: [{image_url}]`, but LiteLLM's POST /v1/images/edits is a multipart
endpoint following OpenAI's edits schema: the reference image must be an
uploaded file part named `image` (or `image[]`). LiteLLM never finds an `image`
key in a JSON body and fails before contacting the upstream provider:

  HTTP 500 aimage_edit() missing 1 required positional argument: 'image'

so every image edit through this provider fails. Plain generation is unaffected.

No JSON variant works. Verified against LiteLLM v1.82.3 with a real 512x512 PNG:
plural `images` 500s as above; singular `image` as a data URL or bare base64,
string or array, returns HTTP 400 "Invalid image file or mode". Only multipart
succeeds. Note that singular `image` clears the 500 and reaches the provider,
which looks like progress but never delivers usable bytes.

Switch buildEditRequest to return { kind: "multipart", form }, which
createOpenAiCompatibleImageGenerationProvider already routes to
postMultipartRequest — matching the built-in openai and deepinfra providers.
A single reference uses the `image` part name and multiple use repeated
`image[]` parts; LiteLLM accepts either as List[UploadFile] and merges them,
erroring only when both appear in one request.

Also drops the now-unused imageToDataUrl helper and its imports.

Tests: the existing edit test asserted the buggy JSON shape, so it now asserts
a multipart request, that postJsonRequest is not called, and the single-image
part name; a new test covers repeated image[] parts for multiple references.

Verified end-to-end against LiteLLM v1.82.3 with a live agent: single-reference
and multi-image edits both return real images; both failed with the 500 before.
2026-08-03 02:59:08 -07:00
Peter Steinberger deb682abfe refactor(plugins): consolidate extension runtime helpers (#118509)
* refactor(plugins): consolidate extension runtime helpers

* fix(ci): satisfy extension type and lint checks

* chore(plugin-sdk): regenerate API baseline for #118509
2026-08-03 02:56:43 -07:00
Peter Steinberger 188957a18a fix(gateway): require explicit credentials for probe URL overrides (#118614) 2026-08-03 02:52:29 -07:00
Peter Steinberger 96b4258734 fix(gateway): reject destroyed watch response sockets (#118606)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-03 02:41:47 -07:00
Peter Steinberger f6540b0a1f test(agents): reuse prepared plugin metadata (#118613)
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-03 02:41:12 -07:00
Peter Steinberger 0fbddda540 improve(qa): replace terminal reply timing waits (#118600)
* test(qa): replace terminal reply timing waits

* test(qa): keep terminal contract in channel suite

* test(qa): scope terminal settlement per worker

* test(qa): bind settlement to child session

---------

Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-03 02:37:59 -07:00
ralf003 a0a1893605 fix(read): explain directory paths (#114601)
Co-authored-by: ralf003 <23394662@qq.com>
2026-08-03 17:36:20 +08:00
Peter Steinberger ecc49b5a87 refactor(tts): absorb speech core package (#118513)
* refactor(tts): absorb speech core package

* fix(tts): preserve runtime SDK exports

* refactor(tts): remove private package exports

* test(tts): align canonical runtime mocks

* test(tts): complete canonical settings mocks

* chore(plugin-sdk): regenerate API baseline for #118513
2026-08-03 02:25:48 -07:00
Vincent Koc d2046614f9 fix(qa): restore Telegram release validation (#118542) 2026-08-03 17:22:29 +08:00
Peter Steinberger e97f484ef9 fix(discord): report pending message search indexes (#118573)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-03 02:13:42 -07:00
Peter Steinberger e797e69969 refactor(agents): remove stale runner state plumbing (#118495)
* refactor(agents): remove stale runner state plumbing

* refactor(agents): keep bootstrap warning owner reachable

* refactor(agents): inline bootstrap warning predicates

* refactor(agents): extract bootstrap warning contracts

* refactor(agents): keep bootstrap detail type private

* refactor(auto-reply): drop vacuous abort returns
2026-08-03 01:59:31 -07:00
Peter Steinberger f62e42b69f test(gateway): skip servers for handler fixtures (#118581)
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-03 01:54:36 -07:00
Peter Steinberger 2923ee40c4 test(tui): reuse real gateway PTY fixture (#118567)
* test(tui): reuse real gateway PTY fixture

* test(tui): share gateway mock model

---------

Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-03 01:53:26 -07:00
Peter Steinberger 63651a1878 fix: keep command tests independent of ambient Gateway tokens (#118577)
* test(commands): isolate missing gateway token environment

* test(commands): isolate doctor gateway token environment
2026-08-03 01:48:51 -07:00
Peter Steinberger b21056a0dc fix: show effective channel model in Telegram status (#118548) 2026-08-03 01:45:52 -07:00
Peter Steinberger 684d32bed5 test(system-agent): reuse approval CLI fixture (#118572)
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-03 01:45:47 -07:00
Peter Steinberger 21b3904e91 test(macos): deduplicate Claude session catalog fixtures (#118571) 2026-08-03 01:45:12 -07:00
Peter Steinberger 7571679ecc test(gateway): reuse directive transcript database (#118585)
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-03 01:42:48 -07:00
Peter Steinberger 0cad02313a test(tool-call-repair): consolidate stream fixtures (#118563) 2026-08-03 00:50:11 -07:00
joshavant 85466666af fix(agents): preserve authoritative terminal replies 2026-08-03 02:48:34 -05:00
joshavant b71708858a fix(ui): align task recovery with gateway lifecycle 2026-08-03 02:48:34 -05:00
joshavant 8fd9b2a475 fix(agents): migrate retained completion results 2026-08-03 02:48:34 -05:00
joshavant 32a1579af8 fix(agents): preserve terminal announce semantics 2026-08-03 02:48:34 -05:00
joshavant a37c5acc28 test: align resumed delivery with deterministic cleanup 2026-08-03 02:48:34 -05:00
joshavant 777b463fff refactor: share queued delivery settlement 2026-08-03 02:48:34 -05:00
joshavant d0439b9ce0 fix: distinguish dismissed task delivery 2026-08-03 02:48:34 -05:00
joshavant 0c9da8c400 fix: keep dismissed task results accessible 2026-08-03 02:48:34 -05:00
joshavant 2b79de486b test: isolate image tool from delivery queue runtime 2026-08-03 02:48:34 -05:00
joshavant 649d7d99f1 fix: route task publication through runtime facade 2026-08-03 02:48:34 -05:00
joshavant 7b25128a22 test: classify task recovery CLI mutations 2026-08-03 02:48:34 -05:00
joshavant 75021a76b6 test: align announce loop guard with retry window 2026-08-03 02:48:34 -05:00
joshavant b5eb1a09db fix: break delivery queue storage import cycle 2026-08-03 02:48:34 -05:00
joshavant 7e7e48ac19 test: prove blocked completion recovery after restart 2026-08-03 02:48:34 -05:00
joshavant 1f78c39bd8 fix: adapt completion delivery to current main 2026-08-03 02:48:34 -05:00
joshavant 35cc9b7c9b fix: satisfy completion delivery changed gates 2026-08-03 02:48:34 -05:00
joshavant c5d275f8d6 refactor: internalize completion delivery seams 2026-08-03 02:48:34 -05:00
joshavant 544ac96bf7 test: type retained completion fixture 2026-08-03 02:48:34 -05:00
joshavant 6ca16f7f3d fix: redrive retained text completions 2026-08-03 02:48:34 -05:00
joshavant d9393bd3cb fix: make subagent completion delivery durable 2026-08-03 02:48:34 -05:00
Peter Steinberger 51483c5a42 test(gateway): consolidate worker environment fixtures (#118565) 2026-08-03 00:46:43 -07:00
Peter Steinberger c49b68328e test(android): consolidate Wear bridge fixtures (#118559) 2026-08-03 00:42:43 -07:00
saegist 59b97653de fix: preserve agent timeout after queueing (#117995)
* fix: preserve full agent execution timeout after queueing

* fix: keep expired queue deadlines terminal
2026-08-03 00:41:22 -07:00
Peter Steinberger e812630f80 fix(synology-chat): reject failed webhook response envelopes (#118558)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-03 00:36:18 -07:00