Commit Graph

78555 Commits

Author SHA1 Message Date
Vincent Koc b4f01afa86 test(qa): cover Canvas agent and node controls (#119047)
* test(qa): cover Canvas agent and node controls

* fix(test): activate Canvas registry before gateway startup

* fix(test): align Canvas node proof with wire contract

* fix(test): narrow Canvas node invocation frames
2026-08-04 20:42:30 +08:00
Vincent Koc e4aab26d01 fix(cli): avoid repeated migration scans during local agent turns (#119051)
* fix(cli): avoid repeated state migration scans

* fix(build): preserve source runtime provenance

* fix(cli): persist state checkpoint before plugin convergence

* fix(cli): invalidate migration checkpoints on input changes

* fix(plugins): refresh changed doctor contracts

* fix(plugins): preserve warm Doctor contract indexes

* test(plugins): align manifest registry fixtures

* test(cli): isolate ACP process state

* fix(doctor): persist refreshed plugin indexes

* fix(doctor): verify persisted plugin index from disk

* fix(doctor): fence plugin index persistence

* fix(doctor): retain validated migration lease

* fix(plugins): canonicalize persisted build metadata

* fix(plugins): preserve config policy during install repair
2026-08-04 20:28:16 +08:00
Peter Steinberger a8bcbf6581 fix(gateway): keep agents list on prepared model facts (#119208) 2026-08-04 05:14:48 -07:00
YangManBOBO c6c7d7d9de fix(telegram): retry update offset persistence
Keep accepted and committed Telegram update offsets separate, retry transient state-store failures, and preserve classic plus isolated restart dedupe.

Co-authored-by: 潘晓波0668000512 <pan.xiaobo@xydigit.com>
2026-08-04 17:37:56 +05:30
Vincent Koc d3557ec013 fix(ci): accept profiled partial Kova gates (#119121)
* fix(ci): accept profiled partial Kova gates

* fix(ci): scope Kova secrets to live runs

* fix(ci): require reviewed Kova refs for live runs

* fix(ci): pin cross-profile Kova repair

* fix(perf): preserve historical Kova report contracts

* fix(ci): declare Kova gate options

* fix(ci): preserve required Kova partial failures
2026-08-04 20:07:12 +08:00
Pavan Kumar Gondhi 4170e11be9 fix(qqbot): keep channel API calls on the active account [AI] (#118575)
* fix(qqbot): bind channel API tool to active account

* fix(qqbot): scope active account binding to QQ turns

* fix(qqbot): reject disabled channel API accounts
2026-08-04 17:28:08 +05:30
Vincent Koc 6d88ec5248 fix(agents): recover from invalid compaction summaries (#119137) 2026-08-04 19:43:25 +08:00
Ayaan Zaidi 2a3a840aaf fix(gateway): expose OAuth-backed tools to CLI agents (#119166)
Carry prepared OAuth and model context through authenticated CLI loopback grants. Revoke cached credential-bearing tools synchronously while preserving the global cache cap.
2026-08-04 16:59:02 +05:30
Vincent Koc c3f148f6b7 fix(plugins): preserve metadata reloads during models status (#119183)
* fix(plugins): preserve newer metadata publications

* test(plugins): type metadata snapshot fixture
2026-08-04 19:24:30 +08:00
Peter Steinberger b5d41f9005 fix(test): bound direct gateway server runs (#119184) 2026-08-04 03:38:39 -07:00
Vincent Koc 121c6c1042 test(tui): prove command surfaces through PTY (#119165) 2026-08-04 18:08:53 +08:00
Peter Steinberger a7cca37838 fix(testbox): restore claims across path aliases (#119170) 2026-08-04 02:38:18 -07:00
Mike 0069f3f111 fix(message): preserve sends with incidental Telegram locations
Prevent model-populated location fields from dropping valid Telegram text and media. Keep direct/API mixed sends strict and preserve standalone location delivery.

Co-authored-by: snotty <snotty@users.noreply.github.com>
2026-08-04 14:50:57 +05:30
Vincent Koc 4def15d5df fix(perf): give each concurrency sample a full deadline (#119164) 2026-08-04 17:05:41 +08:00
Peter Steinberger da3b5edf40 fix(testbox): remove changed-gate sync residue (#119163) 2026-08-04 01:56:32 -07:00
alfredjbclaw b6a445c393 fix(telegram): preserve later chunks after rejected sends
Prevent Telegram long replies from silently losing their tail after definite per-chunk rejections. Preserve accepted message IDs and explicit partial-delivery state across durable, rich fallback, and streamed replies.

Co-authored-by: alfredjbclaw <alfredjbclaw@users.noreply.github.com>
2026-08-04 14:06:18 +05:30
Vincent Koc 4bdf9ca789 fix(tui): block terminal controls in system messages (#118998)
* fix(tui): sanitize rendered system messages

* test(tui): keep PTY safety proof within lint budget

* test(tui): clarify terminal safety PTY proof

* test(tui): de-churn terminal safety harness

* fix(tui): sanitize connection status output

* test(tui): split PTY harness support

* fix(tui): sanitize selector and footer output

* fix(tui): harden terminal display boundaries

* fix(tui): harden terminal display boundaries

* fix(tui): harden terminal output boundaries

* test(tui): repair terminal safety proof

* test(tui): harden terminal safety oracle

* test(tui): type OSC terminator candidates

* fix(tui): authenticate current terminal rendering

* fix(tui): harden terminal output safety evidence

* test(tui): keep PTY cell type internal

* test(tui): reject literal tabs in PTY oracle

* test(tui): reject literal backspace in PTY oracle
2026-08-04 16:35:41 +08:00
Ayaan Zaidi 1e3880352e fix(auto-reply): suppress false no-reply fallback during continuations (#119154)
* fix(auto-reply): keep pending continuations silent
* docs(auto-reply): clarify fallback ownership

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-08-04 13:59:53 +05:30
Vincent Koc 98feafe785 fix(scripts): prevent gateway benchmarks from stalling on probes (#119063)
* fix(scripts): bound gateway benchmark probes

* fix(scripts): bound concurrency response deadlines

* fix(perf): preserve benchmark socket reuse
2026-08-04 16:23:45 +08:00
Peter Steinberger b0c5d48f74 test(channels): verify built sanitizer semantics (#119151) 2026-08-04 01:20:48 -07:00
Vincent Koc 747c4e7a72 merge: sync origin/main
* origin/main:
  fix: prevent live updater from leaving Gateway offline indefinitely (#119116)
  test(qa): restore memory tools primary ownership (#119142)
  fix(agents): settle yielded fanout at harness boundary (#118703)
  fix(codex): cap compaction override warning cache via createDedupeCache (#101745)
  fix(daemon): skip unlabeled launchd plists (#119091)
  test(qa): repair QA catalog integrity (#119140)
  fix(test): isolate shared state between test files (#118781)
  test(xai): cover delayed OAuth connection setup
  fix(voice): start socket timeout after auth preparation
2026-08-04 16:11:09 +08:00
Vincent Koc 76ba214b98 fix(llama-cpp): dispose runtime on plugin stop 2026-08-04 16:10:51 +08:00
Vincent Koc 9faf34d3bc merge: wait for auth before starting realtime timeout (#119131) 2026-08-04 16:08:24 +08:00
Jason (Json) b1f2aae303 fix: prevent live updater from leaving Gateway offline indefinitely (#119116)
* fix(updater): bound maintenance commands

* fix(updater): bound post-kill cleanup

* fix(updater): fail closed on unverified Windows cleanup

* fix(updater): constrain unverifiable Windows commands

* fix(scripts): satisfy managed child return contract
2026-08-04 01:59:59 -06:00
Vincent Koc fd1cce2826 test(qa): restore memory tools primary ownership (#119142) 2026-08-04 15:57:32 +08:00
Vincent Koc 05c987ccec fix(agents): settle yielded fanout at harness boundary (#118703) 2026-08-04 15:54:52 +08:00
sunlit-deng 7cf7fbbe99 fix(codex): cap compaction override warning cache via createDedupeCache (#101745)
* fix(codex): cap compaction override warning cache via createDedupeCache

* test(codex): cover compaction warning cache eviction

* test(codex): use valid compaction trigger in cap coverage

* test(codex): assert warning retention at the 4096-entry boundary
2026-08-04 15:39:16 +08:00
Jason (Json) ae21f3c00c fix(daemon): skip unlabeled launchd plists (#119091) 2026-08-04 01:31:25 -06:00
Vincent Koc 7aa3642f6d test(qa): repair QA catalog integrity (#119140) 2026-08-04 15:28:02 +08:00
Vincent Koc a7cf1ba9fc chore: merge main into xAI OAuth timeout fix
* origin/main:
  fix(test): isolate shared state between test files (#118781)
  fix(telegram): use monotonic polling liveness
  fix(setup): keep compatible Claude wrappers selectable
  fix(agents): gate Claude live session protocol
  fix(agents): preserve Claude fork successor on stalls
  fix(agents): preserve Claude follow-up replies after background tasks
  fix: unblock macOS release validation (#119110)
  improve(qa): cover vision channel offload (#118862)
  test(qa): cover sandboxed exec behavior (#119053)
  fix(ai): preserve Google simple completion sanitation
  fix(macos): keep setup activation within app checks
  fix(tts): use prepared completion transport
  fix(ai): prefer provider-owned completion streams
  test(setup): type provider kind fixture
  fix(setup): complete prepared model activation
  fix(protocol): regenerate Swift wizard models
  fix(ollama): activate the model selected during setup
  fix(setup): preserve the prepared model handoff
2026-08-04 15:27:18 +08:00
Vincent Koc 45643863d7 fix(test): isolate shared state between test files (#118781)
* fix(test): isolate session suspension state

* fix(test): isolate nonzero worker exit coverage

* fix(test): keep suspension reset generations monotonic

* fix(test): isolate archived session UI mocks

* fix(deps): patch fast-uri and undici advisories

* fix(test): isolate stateful UI suites
2026-08-04 15:26:22 +08:00
Vincent Koc 32c5f02050 merge: keep llama.cpp completions on native transport
* https://github.com/openclaw/openclaw:
  fix(ai): preserve Google simple completion sanitation
  fix(tts): use prepared completion transport
  fix(ai): prefer provider-owned completion streams
2026-08-04 15:20:56 +08:00
Galin Iliev 1b58ecb5af fix(telegram): use monotonic polling liveness
Measure Telegram polling deadlines with a monotonic clock so wall-clock corrections cannot trigger false restarts or negative durations. Preserve the worker deadline and continued-stall recovery.

Co-authored-by: Galin Iliev <Galin.Iliev@microsoft.com>
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-08-04 12:49:13 +05:30
joshavant 8393b37779 fix(setup): keep compatible Claude wrappers selectable 2026-08-04 02:08:23 -05:00
joshavant d636f5f8e0 fix(agents): gate Claude live session protocol 2026-08-04 02:08:23 -05:00
joshavant b71e81e6e7 fix(agents): preserve Claude fork successor on stalls 2026-08-04 02:08:23 -05:00
joshavant df867bd923 fix(agents): preserve Claude follow-up replies after background tasks 2026-08-04 02:08:23 -05:00
Vincent Koc 7a5f108293 fix: unblock macOS release validation (#119110)
* fix(test): guard split-memory tests on case-insensitive filesystems

* fix(sandbox): canonicalize aliased mount roots

* fix(claws): canonicalize aliased manifest paths

* test: isolate release validation from host state
2026-08-04 15:05:31 +08:00
Vincent Koc 3ac7083213 improve(qa): cover vision channel offload (#118862)
* test(qa): cover vision channel offload

* test(qa): harden vision channel offload coverage
2026-08-04 14:57:03 +08:00
Vincent Koc 1fb4f3c709 merge: sync llama.cpp transport fix with main
* 'main' of https://github.com/openclaw/openclaw:
  test(qa): cover sandboxed exec behavior (#119053)
  test(qa): prove shared-channel memory recall (#119111)
  fix(telegram): keep request deadlines through response bodies
  test(qa): cover gateway plugin approvals (#119128)
  fix(ai): keep OpenAI tool call id truncation UTF-16 safe (#110471)
  fix: preserve live updater failure diagnostics (#119096)
  fix: recover new-session models through Gateway startup (#119120)
  test(qa): cover instruction profile artifacts (#119078)
  fix(telegram): record automatic delivery message ids
  test(qa): cover memory promotion safety (#119093)
  test(qa): prove overflow compaction pruning (#119033)
  fix(tool-search): preserve deferred MCP failures (#118363)
  fix(macos): keep setup activation within app checks
  test(setup): type provider kind fixture
  fix(setup): complete prepared model activation
  fix(protocol): regenerate Swift wizard models
  fix(ollama): activate the model selected during setup
  fix(setup): preserve the prepared model handoff
2026-08-04 14:51:35 +08:00
Vincent Koc 6ce6dd3f21 merge: activate exact prepared local model
* commit '70d75c6fa3d022fb0de55640c4aca11baecd8175':
  fix(macos): keep setup activation within app checks
  test(setup): type provider kind fixture
  fix(setup): complete prepared model activation
  fix(protocol): regenerate Swift wizard models
  fix(ollama): activate the model selected during setup
  fix(setup): preserve the prepared model handoff
2026-08-04 14:40:48 +08:00
Vincent Koc dc8bcf97d0 chore: merge main into xAI OAuth timeout fix
* origin/main:
  test(qa): prove shared-channel memory recall (#119111)
2026-08-04 14:36:41 +08:00
Vincent Koc e0799199b3 test(qa): cover sandboxed exec behavior (#119053) 2026-08-04 14:36:03 +08:00
Vincent Koc 52c9448cb5 test(qa): prove shared-channel memory recall (#119111) 2026-08-04 14:20:08 +08:00
Vincent Koc d21c6be181 test(xai): cover delayed OAuth connection setup 2026-08-04 14:17:19 +08:00
Vincent Koc ebf335f1a6 fix(voice): start socket timeout after auth preparation 2026-08-04 14:17:19 +08:00
Peter Steinberger 84cfc43684 fix(telegram): keep request deadlines through response bodies
Keep Telegram Bot API deadlines and cancellation active until grammY finishes consuming each response body. Cancel discarded HTTP 421 bodies before retry and cover the stalled group-dispatch boundary with typed socket and live Telegram proof.
2026-08-04 11:40:41 +05:30
Vincent Koc 3f2fb7e365 test(qa): cover gateway plugin approvals (#119128) 2026-08-04 14:07:29 +08:00
pick-cat 01e7fca716 fix(ai): keep OpenAI tool call id truncation UTF-16 safe (#110471) 2026-08-04 14:03:44 +08:00
Vincent Koc 9c854cb1a0 fix(ai): preserve Google simple completion sanitation 2026-08-04 13:58:58 +08:00