Commit Graph

40773 Commits

Author SHA1 Message Date
Peter Steinberger
d976c2ea82 fix(gateway): bound live session history memory (#115599) 2026-07-29 01:49:08 -04:00
Gio Della-Libera
47f654ea14 fix(claws): report plugin setup readiness (#114899)
* fix(claws): report plugin setup readiness

* fix(claws): keep setup readiness helper private

* fix(claws): honor local provider auth evidence

* fix(claws): require auth-method-only setup

* fix(azure-speech): keep setup envs credential-only

* revert(azure-speech): preserve compound setup metadata
2026-07-29 05:48:35 +00:00
Peter Steinberger
cc3b059497 fix(plugins): honor update channel for targeted probes (#115604) 2026-07-29 01:46:53 -04:00
Peter Steinberger
d131ec6016 fix(skills): isolate coding-agent Codex auth (#115611) 2026-07-29 01:43:42 -04:00
Peter Steinberger
42dd07748b fix(health): reduce diagnostic refresh spam (#115602) 2026-07-29 01:43:36 -04:00
Peter Steinberger
5fe07e4ae8 fix(update): honor declared plugin entrypoints during repair (#115610) 2026-07-29 01:43:30 -04:00
Peter Steinberger
a3a969be5d fix(cli): avoid duplicate commentary delivery (#115596) 2026-07-29 01:40:55 -04:00
Peter Steinberger
a24c1ceb3a fix(channels): release inbound debounce at admission (#115603)
Track full dispatch completion separately for error handling and shutdown drain while allowing same-session follow-ups to steer active runs. Fixes #113180.

Co-authored-by: Taksh <takshkothari09@gmail.com>
2026-07-29 01:38:15 -04:00
Peter Steinberger
ec4c90c455 fix(onboard): reject conflicting custom inputs (#115595) 2026-07-29 01:34:54 -04:00
Peter Steinberger
161a136941 fix(gateway): speed up startup with stateless plugin paths (#115578) 2026-07-29 01:34:49 -04:00
Peter Steinberger
0588c4f44c fix(gateway): accept SDK Responses plain-text format (#115594)
Accept only the official OpenAI Responses SDK plain-text format and preserve strict rejection of unsupported structured outputs and verbosity.

Reported-by: @logicbridgedev

Refs: #80418
2026-07-29 01:33:42 -04:00
Peter Steinberger
98a066c90e fix(agents): project llama.cpp-safe tool schemas (#115598)
Co-authored-by: Jithin Mohandas <mohandasjithin@gmail.com>
2026-07-29 01:33:32 -04:00
joshavant
6831f05184 fix(message): authorize fallback broadcast provider 2026-07-29 00:30:47 -05:00
joshavant
c4cd5a2bb4 fix(message): guard channel-less broadcast accounts 2026-07-29 00:30:47 -05:00
joshavant
23c318625b fix: bind delegated message accounts to current turns 2026-07-29 00:30:47 -05:00
Alex Knight
be24db5f72 fix(auth): reuse Claude CLI logins natively and stop forwarding expired OAuth tokens (#115134)
* fix(auth): refresh selected Claude CLI profiles

* fix(auth): run imported Claude CLI logins as verified native passthrough

* fix(auth): satisfy CLI auth failure exhaustiveness

* docs: remove PR changelog entry

---------

Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com>
2026-07-29 01:30:07 -04:00
Peter Steinberger
c037c4ed45 fix(gateway): cancel disconnected HTTP tool calls (#115550) 2026-07-29 01:29:47 -04:00
Peter Steinberger
5d55258694 fix(heartbeat): deliver task-preempted same-session commitments (#115581) 2026-07-29 01:29:27 -04:00
Peter Steinberger
a088eaac24 fix(web-fetch): speed up large styled pages (#115584)
Fixes #105437. Compile the eight existing CSS property matchers once while preserving HTML visibility, browser extraction, and Readability semantics.
2026-07-29 01:27:52 -04:00
Peter Steinberger
21b2dced63 fix(gateway): harden config patch writes (#115579)
Reject ambiguous duplicate IDs in ID-merged patches. Compare shared auth against current authored ownership so runtime-only fields and stale secret snapshots cannot skew disconnect decisions.
2026-07-29 01:26:28 -04:00
Peter Steinberger
6586ed3241 fix(agents): normalize OpenAI-compatible CLI usage aliases (#115564)
Recognize standard prompt/completion token fields in JSON, complete JSONL, and incremental streaming without changing existing CLI-token precedence or cached-token accounting.

Inspired-by: @Beandon13 (#78085)

Refs: #77992
2026-07-29 01:17:57 -04:00
YangManBOBO
1f62a03d48 fix(gateway): canonicalize session keys in chat.subscribe and chat.unsubscribe handlers (#111830)
* fix(gateway): canonicalize session keys in chat.subscribe and chat.unsubscribe handlers

* test(gateway): cover canonical node chat WebSocket reconnects

* style(gateway): format node chat subscription regressions

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-29 01:16:01 -04:00
zengLingbiao
7a608692e7 fix(configure): ignore blank gateway env credentials in wizard probes (#113096)
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-29 01:12:32 -04:00
Peter Steinberger
f849080511 fix(outbound): strip leaked inline runtime context (#115561) 2026-07-29 01:09:40 -04:00
Peter Steinberger
aa1e8683d8 fix(doctor): keep cleanup hints scoped to detected services (#115559) 2026-07-29 01:08:19 -04:00
Peter Steinberger
6c81253985 feat(node-host): migrate retired state before connecting (#115495)
* feat(node-host): run doctor-owned state migrations at startup

* fix(node-host): satisfy startup migration lint
2026-07-29 01:04:48 -04:00
Peter Steinberger
a8f1e035e4 fix(cli): tolerate listeners exiting before force cleanup (#115568) 2026-07-29 01:02:32 -04:00
Peter Steinberger
61f3cdfaa2 fix(onboard): reject noninteractive TUI mode (#115573) 2026-07-29 01:01:51 -04:00
Peter Steinberger
710efc9a86 fix(doctor): skip unusable registered agent databases (#115570) 2026-07-29 01:00:18 -04:00
Peter Steinberger
04eb57d299 feat(ui): add contextual Settings documentation links (#115560)
* feat(config): add contextual settings docs URLs

* feat(ui): add contextual settings guide links

* docs: add settings guide pages

* docs: refresh generated docs map

* docs: polish settings guide pages prose
2026-07-29 01:00:15 -04:00
Vincent Koc
233d16b76f fix(agents): preserve sandbox scope in container names (#115571) 2026-07-29 12:59:38 +08:00
Peter Steinberger
f1f8434db3 fix(doctor): honor Slack channel allowlists before plugin load (#115563)
Publish the existing Slack route-based doctor capabilities in channel metadata so cold doctor scans no longer falsely report dropped messages or recommend schema-invalid sender allowlists. Add metadata-only discovery regression. Fixes #110489; thanks @ari-hjunk for the report.
2026-07-29 00:55:54 -04:00
Peter Steinberger
46dd03ad0a fix(talk): add GPT-Live consult safety parity (#115562) 2026-07-29 00:55:33 -04:00
Peter Steinberger
ab3a788612 fix(models): read self-hosted context metadata (#115566)
Co-authored-by: Alaundo <alaundo@mohl.it>
2026-07-29 00:43:07 -04:00
Peter Steinberger
9df09083d5 fix(onboard): require reset with reset scope (#115554) 2026-07-29 00:36:22 -04:00
Peter Steinberger
34c90a8cb3 fix(process): prevent orphaned Windows child process trees (#115535)
* test(process): reproduce Windows taskkill process-tree leak

* fix(process): stop leaked Windows child process trees

Escalate only when Windows taskkill reports that graceful process-tree termination failed. Preserve awaited taskkill completion, grace-period fallback, one-shot signaling, and PID-reuse protection.

Closes #110789

Supersedes #112202

Co-authored-by: Mohammed Alkindi <alkndymhmd692@gmail.com>

---------

Co-authored-by: Mohammed Alkindi <alkndymhmd692@gmail.com>
2026-07-29 00:26:32 -04:00
Peter Steinberger
4e651a43f4 fix(compaction): apply host transcript byte guard to codex sessions (#115192) (#115514)
Co-authored-by: pcpilot-dev <pcpilot-dev@users.noreply.github.com>
2026-07-29 00:23:44 -04:00
Peter Steinberger
83a3975eca improve(agents): reuse prepared model facts across warm turns (#115527)
* perf(agents): keep prepared model facts together

* test(media): expect prepared image runtime context
2026-07-29 00:23:39 -04:00
Peter Steinberger
7d59451120 fix(gateway): preserve Unicode in streamed tool arguments (#115536)
Keep OpenAI-compatible SSE tool-call argument deltas individually well-formed when astral characters cross the 256-code-unit chunk boundary.

Reported-by: @coder-master-0915

Refs: #110642
2026-07-29 00:20:36 -04:00
Harjoth Khara
6f4f2a782e fix(gateway): ingest managed image file URLs (#103540)
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-29 00:17:22 -04:00
zhanxingxin1998
9416408e42 fix(onboarding): render detected recommendation suffixes (#110084)
Bind the detected-candidate recommendation placeholder to the canonical empty suffix so guided onboarding never exposes the raw token.

Co-authored-by: OpenAI Codex <noreply@openai.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-29 00:13:12 -04:00
Peter Steinberger
630e891709 fix(onboard): ignore blank workspace inputs (#115537) 2026-07-29 00:10:00 -04:00
mushuiyu886
20c959c227 fix(web-fetch): scope cache by user agent (#111806)
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-29 00:09:14 -04:00
Peter Steinberger
430c293ee0 refactor: remove duplicate provider and runtime code (#115529)
* refactor: remove duplicated runtime and provider code

* refactor: exclude unrelated browser test cleanup

* refactor: preserve canonical subagent cleanup ordering
2026-07-29 00:04:52 -04:00
ooiuuii
8ffc567075 fix(plugins): keep bulk updates on the beta channel (#115083)
* fix(plugins): preserve beta channel on bulk update

* docs(plugins): document beta bulk update fallback

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-07-29 12:04:38 +08:00
Muhammad Razif Rizqullah
08c80f5a0c fix(state): recover from state-database corruption without a gateway restart (#114278)
* fix(state): recover from state-database corruption without a gateway restart

A cached state-database handle that starts reporting SQLITE_CORRUPT or
SQLITE_NOTADB stayed cached for the process lifetime, so every later
operation failed even after the file itself was repaired on disk. Only a
restart recovered.

Evict the cached handle when a state write reports proven corruption so
the next open reverifies the file: a repaired database recovers in place,
and real damage latches through the existing terminal path instead of
looping. Add isSqliteCorruptionError next to isSqliteLockError and reuse
it from isTerminalSqliteIntegrityError, replacing the duplicated errcode
constants and hand-rolled masking.

* test(state): prove corruption recovery with a real SQLite failure

Replace the synthetic callback error injection with a real corrupted-then-
repaired database. A second connection bumps SQLite change counter and
checkpoints the WAL, so the cached handle must reread page 1 and hits the
genuine driver error (ERR_SQLITE_ERROR, errcode 26) instead of a hand-built
one. The test then restores the file and asserts the pre-corruption rows read
back through a fresh handle, proving recovery without a process restart.

* fix(state): evict corrupted cached reads safely

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-07-29 12:01:25 +08:00
Peter Steinberger
68b1ad8bc0 fix(heartbeat): filter acknowledged reasoning turns (#95796) (#115522) 2026-07-29 00:00:43 -04:00
Peter Steinberger
b7ab8aa3da refactor(chat): consolidate browser and terminal history ownership (#115511)
* refactor(chat): consolidate session history lifecycle ownership

* fix(ui): share canonical isolated test registry
2026-07-29 00:00:13 -04:00
Peter Steinberger
d41a56fca1 feat(memory): isolate curated entries by project (#115438)
* feat(memory): scope recall to active projects

* feat(memory): preserve project scope in promotion

* docs(memory): explain project-scoped recall

* fix(memory): chunk curated files per entry

* refactor(memory): narrow project scope internals

* fix(memory): exclude annotations from concept tags

* fix(memory): tighten project isolation boundaries

* fix(memory): preserve project path casing

* fix(memory): prioritize project bootstrap candidates

* docs: refresh memory architecture map

* test(memory): cover project scope schema repair

* fix(memory): complete project isolation paths

* fix(memory): close project ranking checks

* fix(memory): reinitialize search provider before ranking

* fix(memory): tolerate missing bootstrap paths
2026-07-28 23:55:49 -04:00
Peter Steinberger
3a81326f47 fix(mcp): preserve non-text structured tool results (#115521) 2026-07-28 23:55:31 -04:00