Commit Graph

18098 Commits

Author SHA1 Message Date
Vincent Koc
7cc2e6d830 fix(ci): repair full release validation regressions (#117447)
* fix(worktrees): reject repositories without commits

* test(memory-wiki): allow agent isolation runtime

* test(ios): await queued approval retry
2026-08-01 14:55:13 +00:00
Vincent Koc
02c8e76d7f fix(voice-call): keep replay caps production-owned 2026-08-01 22:12:12 +08:00
Vincent Koc
c90983d59d test(voice-call): share replay cap constants 2026-08-01 22:07:05 +08:00
Vincent Koc
b7521fe7a5 merge: refresh voice-call replay bounds onto main
* origin/main:
  docs: generate docs map at publish time (#117398)
  refactor(plugins): move plugin contributions into the registry bundle (#117372)
  fix(tui): keep PTY progress and lifecycle truthful (#117402)
  test(xai): type realtime sent item payloads
  fix(qa): preserve Slack fallback evidence (#117420)
  fix(qa): satisfy update lane execution contracts (#117388)
  fix(qa): Matrix replies disappear after final replacement (#117390)
  test(xai): prove rejected tool call continuation
  fix(xai): complete rejected realtime tool calls
  test(xai): add live tool argument probe
  test(xai): cover rejected realtime tool arguments
  fix(xai): validate realtime tool arguments before dispatch
  fix(xai): skip tool call when rawArgs JSON parse fails instead of silently falling back to empty args
2026-08-01 22:06:35 +08:00
Vincent Koc
94d6f1f6e1 fix(xai): reject invalid realtime tool arguments (#111730)
* origin/pr-111730-head:
  test(xai): type realtime sent item payloads
  test(xai): prove rejected tool call continuation
  fix(xai): complete rejected realtime tool calls
  test(xai): add live tool argument probe
  test(xai): cover rejected realtime tool arguments
  fix(xai): validate realtime tool arguments before dispatch
  fix(xai): skip tool call when rawArgs JSON parse fails instead of silently falling back to empty args
2026-08-01 22:05:30 +08:00
Peter Steinberger
e4d1b7e0d3 refactor(plugins): move plugin contributions into the registry bundle (#117372)
* refactor(plugins): move plugin contributions into the registry bundle

* fix(plugins): guard embedding owner union and drop unused test-util imports

* fix(plugins): break registry facade import cycles

* fix(plugins): remove obsolete registry snapshot seams

* test(gateway): preserve plugin runtime mock exports

* test(auto-reply): install builder registry in diagnostics fixture

* test(plugins): activate registry-backed capability fixtures
2026-08-01 06:57:01 -07:00
Vincent Koc
0d29bd929e test(voice-call): assert replay collection bounds 2026-08-01 21:46:46 +08:00
Vincent Koc
eb45b87699 test(xai): type realtime sent item payloads 2026-08-01 21:39:06 +08:00
Vincent Koc
f93f71bde4 test(voice-call): cover replay ownership bounds 2026-08-01 21:37:16 +08:00
Vincent Koc
fd65405485 fix(voice-call): bound manager replay ownership 2026-08-01 21:37:13 +08:00
Dallin Romney
56ffa2bca4 fix(qa): preserve Slack fallback evidence (#117420) 2026-08-01 21:31:41 +08:00
Dallin Romney
39cc0a3199 fix(qa): Matrix replies disappear after final replacement (#117390)
* fix(qa): preserve Matrix relations through replacements

* fix: honor Matrix replacement relation semantics

* fix(qa): reconcile late Matrix replacement targets

* test(qa): exercise Matrix recorder through public behavior
2026-08-01 21:27:15 +08:00
Vincent Koc
45c1c58cf2 test(xai): prove rejected tool call continuation 2026-08-01 21:18:38 +08:00
Vincent Koc
fd16d9ad8e fix(xai): complete rejected realtime tool calls 2026-08-01 21:17:47 +08:00
Jacob Tomlinson
20ac22f647 fix(codex): guide recovery from unimported agent auth (#116807)
* fix(codex): diagnose unimported agent auth

Add agent-scoped Codex migration guidance and expose a validated --agent target so non-default credentials cannot be imported into the default agent store.

Fixes #116763

* fix(codex): surface auth migration before route planning

* fix(codex): scope auth migration recovery

* fix(codex): preserve API key auth fallback

* test: repair memory importer routing expectation

* test: drop superseded memory routing repair

* test(tui): report PTY progress verbosely

---------

Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>
2026-08-01 07:08:02 -06:00
Vincent Koc
ff19ac31d1 test(xai): add live tool argument probe 2026-08-01 21:07:01 +08:00
Vincent Koc
cc09e265bc test(xai): cover rejected realtime tool arguments 2026-08-01 21:07:01 +08:00
Vincent Koc
1274c81646 fix(xai): validate realtime tool arguments before dispatch 2026-08-01 21:07:01 +08:00
heichl_xydigit
111bdde945 fix(xai): skip tool call when rawArgs JSON parse fails instead of silently falling back to empty args
When rawArgs contains malformed JSON (e.g., truncated by the network or an
encoding error), the empty catch silently fell back to `args = {}`, and the
tool was dispatched with empty arguments. The tool handler had no way to know
the arguments were corrupted — it received `{}` and could execute with wrong
defaults.

Now return early (skip the tool call) when JSON.parse fails on rawArgs, and
normalize non-object parse results to `{}`. This matches the kimi-coding
realtime pattern which returns null on parse failure rather than continuing
with corrupted data.
2026-08-01 21:07:01 +08:00
Dallin Romney
fb9c8e74e6 fix(qa): keep Matrix SDK as QA Lab development dependency (#117392) 2026-08-01 20:59:04 +08:00
Peter Steinberger
8738fe1354 refactor(codex): deduplicate generated protocol schemas (#117382) 2026-08-01 05:32:37 -07:00
Vincent Koc
f117c2166d chore: merge main into xai realtime lifecycle
* origin/main:
  refactor(doctor): unify legacy auth migration ownership (#117361)
  fix(plugins): surface actionable doctor warnings (#117357)
  fix(ci): use corrected Kova release evaluator (#116920)
  fix(ci): stabilize release validation assertions (#117377)
  refactor(memory): use sqlite transcript identities (#117334)
  fix(plugins): require tracked owners for targeted updates (#117333)
2026-08-01 19:54:53 +08:00
Vincent Koc
11239da88f fix(ci): stabilize release validation assertions (#117377)
* test(plugins): align auto-enable metadata assertion

* test(memory): isolate agent enablement coverage
2026-08-01 19:40:51 +08:00
Peter Steinberger
597699401a refactor(memory): use sqlite transcript identities (#117334) 2026-08-01 04:38:40 -07:00
Vincent Koc
378e7d6b2c fix(xai): preserve immediate restart ownership 2026-08-01 19:34:24 +08:00
Vincent Koc
a4496a7778 test(xai): cover realtime lifecycle ownership 2026-08-01 19:30:58 +08:00
Vincent Koc
b4ec765e00 fix(xai): own realtime connection lifecycle 2026-08-01 19:30:55 +08:00
Peter Steinberger
a88f3ffc96 fix(line): preserve ordered oversized table delivery (#117335)
* fix(line): preserve ordered delivery of oversized markdown tables

* fix(line): type ordered delivery at provider and test boundaries

* fix(line): narrow ordered provider messages to flex or text

---------

Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 03:44:30 -07:00
Peter Steinberger
dabba0ce10 fix(openrouter): apply image request transport policy (#117336)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 03:32:37 -07:00
Peter Steinberger
aa2a5c96f6 feat(channels): record account lifecycle facts and retire inferred health vocabularies (#117300)
* fix(channels): record account lifecycle facts

* fix(channels): bound recorded lifecycle grace

* fix(channels): preserve authored health state

* test: dedupe health snapshot type literal and fix spread order
2026-08-01 02:51:47 -07:00
Peter Steinberger
3edbe19fbd fix(canvas): remove unsupported snapshot delay hint (#117326)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 02:44:22 -07:00
Peter Steinberger
060a541c92 fix(canvas): honor paired-node invocation deadlines (#117316)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 02:40:19 -07:00
Peter Steinberger
f216d3cc86 refactor(memory): unify session ingestion (#117293) 2026-08-01 02:12:50 -07:00
Miorbnli
0d8b70f39e fix(channels): strip internal tool text in Reef and Zalo Personal (#112621) 2026-08-01 02:10:19 -07:00
Peter Steinberger
b721cffa44 fix(inference): simplify lifecycle and preserve Codex tool identity (#117298) 2026-08-01 02:05:45 -07:00
Vincent Koc
71a09dcfe3 fix(codex): preserve app-server close diagnostics (#117296) 2026-08-01 17:01:42 +08:00
Harjoth Khara
41051fe37c fix(imessage): keep fenced role-marker mapping keys out of the outbound stripper (#117159)
* fix(imessage): stop the outbound sanitizer deleting fenced role keys

sanitizeOutboundText strips standalone `user:`/`system:`/`assistant:`
lines (leaked turn boundaries), `#+#` separators and `assistant to=`
markers, but the three regexes had no code-fence awareness. A bare YAML
mapping key like `user:` on its own line inside a ```yaml block matched
ROLE_TURN_MARKER_RE and was silently deleted before iMessage delivery,
reparenting its children under the wrong node — still-valid YAML, wrong
meaning, and nothing signalling a line was removed.

Skip matches whose offset falls inside a markdown code region for all
three patterns, reusing findCodeRegions/isInsideCode already applied by
the sibling reflection-guard on this channel. Regions are recomputed per
pass because each strip shifts later offsets. Leaked markers in prose are
still stripped.

Refs: #116942

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* test(imessage): cover code-aware marker stripping

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-08-01 16:52:47 +08:00
DaigoSoup
75830f027a fix(synology-chat): deliver long messages without webhook rejection (#116645)
* fix(synology-chat): chunk long messages before webhook delivery

* test(synology-chat): expose chunk limit in channel mock
2026-08-01 01:51:52 -07:00
Peter Steinberger
b0b708d919 fix(canvas): emit successful control results in JSON mode (#117297)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 01:28:41 -07:00
Peter Steinberger
338a7ccb2f fix(imessage): settle native inbound reply delivery (#117282)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 01:24:05 -07:00
Peter Steinberger
8b7fad18ec fix(line): centralize card and template message alt text (#117280)
* fix(line): unify card and template alternative text limits

* test(line): use synchronous provider request listener

---------

Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 01:17:34 -07:00
Peter Steinberger
870c6b240e fix(media): validate provider-owned generated media downloads (#117281)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 01:05:44 -07:00
Peter Steinberger
a1f2fb45bc fix(feishu): restore custom HTTPS API domains (#117278)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 01:00:09 -07:00
Peter Steinberger
04f9a204fd fix(memory): reuse targeted session corpus snapshot (#117247) 2026-08-01 00:53:14 -07:00
joshavant
07b7d6446c fix(matrix): reconcile durable sends after response loss 2026-08-01 02:45:12 -05:00
Vincent Koc
f5a8cb02ea test(release): repair full validation regressions (#116931)
* test(discord): mock thread delete listener

* test(qa): expect blocked update evidence

* test(telegram): preserve recovered context body

* fix(test): configure kitchen-sink personality

* test(browser): expect canonical staged upload paths

* test(browser): canonicalize macOS download roots

* test(feishu): seed legacy session rows offline

* test(telegram): isolate message context session stores

* test(qqbot): expect canonical media paths

* test(anthropic): match canonical transcript paths

* test(qa): expect canonical session store keys

* test(gateway): isolate rewind media reads

* test(release): review plugin child spawns

* test(plugins): expect process-stable manifest metadata

* test(google): retire usage telemetry contracts
2026-08-01 15:42:50 +08:00
wahaha1223
dccb1b9013 fix(linux-canvas): report socket watcher fallback (#109502) 2026-08-01 00:36:15 -07:00
Vincent Koc
754dcb8b2f merge: preserve verified completion handoff series (#117148)
* commit '619682ed010f4e6c56c73feb4948fd7265083e10':
  fix(agents): bind completion messages to source
  fix(agents): mint completion delivery grant
  fix(agents): retain tools for direct completion delivery
  fix(agents): integrate verified completion delivery
  test(codex): use typed completion handoff fixture
  fix(agents): verify completion tool handoffs
2026-08-01 15:35:41 +08:00
Peter Steinberger
378d4ff938 fix(codex): preserve authoritative turn completion (#117185)
Retain terminal and assistant-completion facts when pre-start notifications exceed the bounded buffer. Exclude commentary from replies, accept legacy unphased final messages, and let completed terminal items own the final answer while rejecting interrupted, failed, or non-terminal outcomes.

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-authored-by: Peter Steinberger <58493+steipete@users.noreply.github.com>
2026-08-01 15:34:30 +08:00
Ayaan Gazali
11069c3df5 fix(channels): config validation rejects documented channels.<id>.configWrites on 13 channels (#117206) 2026-08-01 15:33:16 +08:00