Commit Graph

18546 Commits

Author SHA1 Message Date
Peter Steinberger d857c8eebc fix(ollama): scope embedding credentials to the selected host (#118753) 2026-08-03 10:09:12 -07:00
Peter Steinberger 95e17d6c99 fix(memory): isolate LanceDB embedding credentials per agent lifecycle (#118767) 2026-08-03 10:00:08 -07:00
Vincent Koc d2c8fd2e71 fix(deepgram): preserve endpointed voice turns (#117663) 2026-08-04 00:46:14 +08:00
Dinesh H Suthar 430fca67ff fix(reply): preserve streamed Telegram replies on failure
Preserve already-visible Telegram partial replies when a later run failure occurs. Finalize the same draft with the terminal notice while keeping the reply operation in run_failed state.

Co-authored-by: Dinesh Suthar <dineshsld20@gmail.com>
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-08-04 01:38:59 +09:00
LZY3538 d5887c110e fix(diffs): restore Windows browser discovery roots (#111257)
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-08-04 00:22:24 +08:00
Manik 0a01099530 fix(memory): honor keyed agents in standalone operations (#118310)
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-08-03 11:18:39 -05:00
Peter Steinberger 7fc1089d95 fix(slack): unify slash command registration ownership (#118735)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-03 09:13:45 -07:00
Peter Steinberger ed8881c308 fix(channels): deny unauthorized Discord and Telegram binding access (#118704)
* fix(channels): deny unauthorized Discord and Telegram binding access

* test(discord): remove retired access-group config key
2026-08-03 08:37:00 -07:00
Vincent Koc 7fabb55648 fix(channels): generate catalog from package manifests (#118097) 2026-08-03 23:17:09 +08:00
nocodet888-arch bbd95cc410 fix(zalouser): distinguish probe timeout from auth failure (#111336)
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-authored-by: NIO <nocodet@mail.com>
2026-08-03 23:16:14 +08:00
Peter Steinberger 09e40d0b74 fix(whatsapp): honor disabled self-chat without widening group access (#118711) 2026-08-03 07:57:23 -07:00
Weiming e701d256b9 Merge branch 'main' into fix/deepgram-realtime-endpointing-turn-taking 2026-08-03 10:47:18 -04:00
Peter Steinberger eb76bf499b fix(voice-call): terminate carrier calls after realtime startup failures (#118699) 2026-08-03 07:38:42 -07:00
Peter Steinberger 48c14976b9 fix(slack): isolate GovSlack media trust and delivery (#118695) 2026-08-03 07:37:38 -07:00
Peter Steinberger c70863a5e5 fix(browser): wrap page-controlled action results (#118691) 2026-08-03 07:37:04 -07:00
Peter Steinberger cae7431644 test(qa): prove real yielded-child completion and channel delivery (#118707) 2026-08-03 07:35:56 -07:00
Peter Steinberger c547f16506 fix(nextcloud-talk): allow bounded parallel room deliveries (#118692) 2026-08-03 07:08:48 -07:00
Weiming 9742ab6fed Merge branch 'main' into fix/deepgram-realtime-endpointing-turn-taking 2026-08-03 10:05:33 -04:00
Peter Steinberger 5541eef4f2 fix(slack): scope interactive conversation bindings safely (#118662)
* fix(slack): scope interactive conversation bindings safely

* fix(slack): satisfy typed sender authorization lint
2026-08-03 06:42:32 -07:00
Peter Steinberger 3b6cad7e31 fix(whatsapp): preserve terminal retry exhaustion lifecycle (#118659)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-03 06:19:00 -07:00
Peter Steinberger 65a0db95dd test(memory): isolate wiki plugin fixtures (#118654) 2026-08-03 05:26:59 -07:00
clawsweeper[bot] e402606c71 fix(line): clear default access token when removing account (#118055)
* fix(line): clear default access token when removing account

* fix(line): clear default access token when removing account

---------

Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-08-03 05:20:38 -07:00
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