Commit Graph

19174 Commits

Author SHA1 Message Date
Jesse Merhi 68be0e3378 feat: enable rich setup controls in custodian chat (#114631)
* feat(protocol): carry the awaited wizard step on the chat result

* fix(system-agent): strip sensitive wizard prefill from chat results

* fix(wizard): keep setup secrets server-side

* test(wizard): preserve prompt mock typing

* fix(ui): add reveal toggle to wizard secrets

* refactor(ui): adopt Carapace sensitive input

* fix(ui): hide revealed sensitive input mask

* test(twitch): cover environment-only setup

* feat(custodian): render rich wizard steps

* fix(custodian): validate wizard text replies

* feat(custodian): submit typed wizard answers

* refactor(gateway): isolate custodian chat turns

* fix(gateway): accept session engine adapter

* fix(ui): narrow wizard control values

* refactor: simplify rich wizard answer flow

* fix(custodian): recover evicted wizard sessions

* docs: note custodian rich setup controls

* test(gateway): split wizard answer coverage
2026-08-03 22:18:27 +10:00
Goutam Adwant a5160c1294 fix(xai): classify exhausted credits as billing (#118615) 2026-08-03 04:57:28 -07:00
Peter Steinberger 35c9c76b8c fix(otel): fail closed when configured TLS material is invalid (#118648) 2026-08-03 04:52:52 -07:00
Vincent Koc 8895b0c288 fix(codex): preserve yielded subagent handoff (#118644) 2026-08-03 19:44:58 +08:00
Peter Steinberger f5cb0f2f76 test(memory): isolate index suite plugin discovery (#118641) 2026-08-03 04:36:03 -07:00
Peter Steinberger 2a8f2e6756 fix(matrix): block plaintext attachments in encrypted rooms (#118609)
* fix(matrix): block plaintext uploads to encrypted rooms

* test(matrix): spy on room encryption detection safely

* fix(matrix): enforce encrypted room confidentiality at outbound owner

* test(matrix): keep delivery trace client aligned with send owner
2026-08-03 04:33:46 -07:00
Peter Steinberger 8d1fe4f091 fix(pdf): reject requested pages outside the document range (#118639) 2026-08-03 04:28:17 -07:00
Peter Steinberger 629bf6f2d3 fix(otel): redact invalid collector URLs and suppress implicit exporters (#118635) 2026-08-03 04:24:53 -07:00
Peter Steinberger e87fb689b5 fix(channels): preserve thread participation expiry across restarts (#118630)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-03 04:12:18 -07:00
Peter Steinberger 5b7272f9b5 fix(pdf): surface image-render failures when documents have no text (#118629) 2026-08-03 04:10:41 -07:00
Peter Steinberger fe6fa891ea fix(whatsapp): clear and migrate every Baileys credential class (#118610)
* fix(whatsapp): clear and migrate every auth credential class

* test(whatsapp): await nullable legacy migration detector
2026-08-03 03:54:41 -07:00
Peter Steinberger 6d8c1ed30d fix(voice-call): prevent unrelated session recall in fast context (#118498)
* fix(talk): authorize fast session context

* test(plugins): preserve memory runtime mock types

* fix(plugins): preserve memory authorizer binding

* fix(memory): forward search authorization in lazy runtime

* test(memory): verify lazy authorizer host binding

* docs(plugins): define memory search authorization contract
2026-08-03 03:38:02 -07:00
Peter Steinberger 56f02c4956 fix(otel): fail closed when configured proxies are invalid (#118612) 2026-08-03 03:37:58 -07:00
Peter Steinberger 06957a69d8 fix(discord): keep acknowledged interaction replies private (#118611) 2026-08-03 03:34:05 -07:00
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 c53e594aae fix(slack): stop partially started native streams after fallback (#118617) 2026-08-03 03:00:17 -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
Vincent Koc 5254e84d7d fix(deepgram): preserve transcript integrity 2026-08-03 17:56:45 +08: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 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
Vincent Koc a74fcc5271 test(deepgram): match normalized live transcript 2026-08-03 17:31:53 +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 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
Peter Steinberger 820cd7c152 fix(slack): finalize the actual delivered question card (#118450)
* fix(slack): finalize the actual delivered question card

* test(slack): type question delivery response mocks correctly

* fix(slack): retain delivered question identity through reconciliation

* fix(slack): finalize through the registered channel adapter

* fix(slack): share question runtime and finalize accepted cards

* test(slack): assert private card metadata with direct JSON serialization
2026-08-03 00:28:54 -07:00
Peter Steinberger c6bcd93561 fix(discord): preserve final slash-command failure outcomes (#118545)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-03 00:01:58 -07:00
Peter Steinberger 4281e90012 fix(zalouser): route reactions through canonical conversation targets (#118536) 2026-08-02 23:52:20 -07:00
joshavant 2781abf960 fix(agents): preserve timeout completion evidence 2026-08-03 01:41:38 -05:00
joshavant cd8985c2fc test(qa): prove terminal reply channel behavior 2026-08-03 01:41:38 -05:00
Peter Steinberger 8df0142771 fix(google): retry stalled Gemini response bodies (#118511)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-02 23:20:28 -07:00
Peter Steinberger d26dcc02c5 fix(matrix): preserve indented code without triggering mentions (#118497)
* fix(matrix): preserve indented code without triggering mentions

* fix(matrix): retain whitespace through Gateway message actions

* fix(matrix): retain legacy trailing whitespace normalization
2026-08-02 23:13:11 -07:00
Peter Steinberger 8e35fb4963 test(channels): consolidate remaining channel scaffolding (#118493)
* test(channels): consolidate channel scaffolding

* test(channels): fix helper typings
2026-08-02 23:03:54 -07:00
Peter Steinberger 5de84bfc4d fix(openai): support the current speech model snapshot (#118475)
* fix(openai): support the current speech model snapshot

* docs(openai): clarify speech instructions apply to the model family
2026-08-02 23:00:46 -07:00
Peter Steinberger e04caa6aee fix(openai): support flexible GPT Image 2 dimensions (#118476)
* fix(openai): support flexible GPT Image 2 dimensions

* docs(openai): explain flexible GPT Image 2 dimensions
2026-08-02 22:40:07 -07:00
Peter Steinberger f6341f2fba test(qa): consolidate gateway child fixtures (#118508) 2026-08-02 22:37:55 -07:00
Peter Steinberger 8a5cfa4cac fix(xai): preserve all response text blocks and citations (#118477) 2026-08-02 22:34:34 -07:00
Peter Steinberger 122181649e test(ollama): consolidate model catalog fixtures (#118491) 2026-08-02 22:28:01 -07:00
Peter Steinberger 181701da92 fix(memory): surface wiki backend read failures (#118449) 2026-08-02 22:19:27 -07:00
Vincent Koc 81ae848c5b test(deepgram): satisfy realtime fixture lint 2026-08-03 12:56:59 +08:00
Vincent Koc f32a266134 fix(whatsapp): render quoted self-chat replies with cached LIDs (#116814)
* fix(whatsapp): align quoted replies with resolved jid

* fix(whatsapp): preserve inbound media type import
2026-08-03 12:54:28 +08:00
Vincent Koc 763c97b2de Merge pull request #118183 from openclaw/fix/ollama-loaded-setup-20260802
fix(ollama): avoid loading idle models during guided setup
2026-08-03 12:38:00 +08:00
Vincent Koc 4a517ee395 fix(deepgram): preserve finalized text on close 2026-08-03 12:35:37 +08:00
Peter Steinberger 694212ea72 test(agents): fixture model runtime collaborators (#118453)
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-02 21:33:39 -07:00
Peter Steinberger da7b1a565d test(xai): consolidate catalog discovery setup (#118454) 2026-08-02 21:31:29 -07:00
Vincent Koc a2f3c01068 fix(browser): wake page shares when heartbeat is disabled (#116790)
* fix(browser): wake page shares with heartbeat disabled

* fix(browser): preserve page-share session agent
2026-08-03 12:30:36 +08:00
Vincent Koc 9689d55c12 fix(browser): allow page extraction in tab-bound runs (#116779)
* fix(browser): allow extraction in tab-bound runs

* test(browser): tighten tab-bound extraction coverage

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-03 12:25:59 +08:00
Peter Steinberger d68d94b5d4 fix(qa): reject incomplete character judge rankings (#118423) 2026-08-02 21:25:19 -07:00
Vincent Koc 011691f734 fix(ollama): keep resident model rows private 2026-08-03 12:23:52 +08:00
Vincent Koc cba231bff4 fix(ollama): use only loaded models during guided setup 2026-08-03 12:23:52 +08:00