Commit Graph

76633 Commits

Author SHA1 Message Date
Vincent Koc a87ee810da fix(llama-cpp): fence native runtime handoff
Punchcard-Session: frost-brook-timber-mx
2026-08-05 15:33:49 +08:00
Vincent Koc da6c8c1670 merge: sync origin/main
Punchcard-Session: frost-brook-timber-mx
2026-08-05 14:48:57 +08:00
Vincent Koc 2b0e1e579a fix(llama-cpp): report cleanup recovery to initiating request
Punchcard-Session: frost-brook-timber-mx
2026-08-05 14:46:39 +08:00
Peter Steinberger 702eb6eb57 fix(qa): prove newer session facts outrank competing durable memory (#119496)
* fix(qa): prove session memory outranks stale durable facts

* fix(qa): require the canonical memory search result window

* fix(qa): honor the optional canonical memory search limit
2026-08-04 23:34:46 -07:00
Jason (Json) 47ce26985d fix(ui): preserve profile avatars under Control UI base paths (#119308)
* fix(ui): preserve active session status layout

* fix(ui): preserve avatar paths and fork lineage

* fix(ui): preserve avatars under control UI base paths
2026-08-05 00:31:04 -06:00
Jesse Merhi 95d7d95515 feat(tools): support batched tool search queries (#118623)
* feat(tools): support batched tool search queries

* fix(tools): harden batched tool search

* fix(tools): preserve batch search contracts

* fix(tools): bound batch search processing

* fix(tools): bound batch candidate metadata

* fix(tools): preserve callable batch candidates

* docs(tools): align batch search QA proof

* refactor(tools): isolate search request parsing

* test(qa): strengthen structured search proof

* test(qa): align structured directory proof

* fix(tools): preserve scalar search compatibility

* test(qa): disable batch scenario retries

* test(qa): allow direct-only tools in structured proof

* test(qa): verify nested catalog call result

* test(qa): remove obsolete result scanner
2026-08-05 16:28:10 +10:00
Peter Steinberger f3186b0876 fix(qa): release parent parity transport before worker acquisition (#119492) 2026-08-04 23:23:41 -07:00
qingminlong 76ac472f56 fix(telegram): reject malformed table spans (#109962)
* fix(telegram): reject malformed table spans

* fix(telegram): preserve spaced fallback colspans

* fix(telegram): simplify strict table-span parsing

Preserve the original contributor fix while reusing the existing strict numeric owner, enforcing complete-decimal span attributes on both Telegram paths, and strengthening sibling regressions. Production LOC remains net zero.

Co-authored-by: qingminlong <0668001063@xydigit.com>

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-04 23:13:46 -07:00
Jason (Json) 77f7560b41 fix(gateway): prevent chat metadata from blocking concurrent RPCs (#119369)
* fix(gateway): serve chat metadata from prepared snapshots

* fix(gateway): make chat metadata replacement atomic

* fix(gateway): keep metadata contract cycle-free

* fix(gateway): settle coalesced metadata replacement

* fix(gateway): retry invalidated metadata projections

* fix(gateway): terminate unowned metadata invalidation
2026-08-05 00:10:18 -06:00
Peter Steinberger dca3ed16de fix: adopt Tailscale names and avatars into user profiles (#119479)
* fix(gateway): adopt Tailscale profile identities

* fix(gateway): normalize Tailscale identity subjects

* fix(gateway): preserve Tailscale identity provenance

* fix(gateway): detach Tailscale avatar adoption
2026-08-04 23:09:06 -07:00
Peter Steinberger cb3890b921 test(qa): isolate active memory request traces (#119502) 2026-08-04 23:08:31 -07:00
Peter Steinberger 046a6881bb fix(qa): prove secret fixtures were read before redaction (#119495) 2026-08-04 23:00:32 -07:00
wangyan2026 20bd49db89 fix(pairing): normalize account key in legacy allowFrom filename parsing (#110415)
* [AI] fix(pairing): normalize account key in legacy allowFrom filename parsing

parseAllowFromFilename extracted the account segment from filenames
without normalizing it via safeAccountKey, so non-canonical spellings
(e.g. HY_RIN_Bot vs hy_rin_bot) could never match configured accounts.
This left the file unresolved, producing a startup migration warning
that blocks gateway readiness on every restart.

Normalize accountKey via safeAccountKey before comparing so that raw
and canonical spellings resolve to the same account. Wrap in try/catch
so pathological filename segments skip safely instead of throwing.
Guard non-canonical DEFAULT segments: when safeAccountKey maps a
non-literal-default segment (e.g. "DEFAULT") to the canonical key
"default", skip the filter so the file remains unresolved instead of
being attributed to the implicit bundled default account and deleted.
Keep the implicit bundled-default fallback on the literal canonical
suffix (accountKey === DEFAULT_ACCOUNT_ID). Ambiguity detection
remains unchanged.

Related to #110187

* fix(pairing): constrain legacy filename recovery

Co-authored-by: WangYan <wang.yan29@xydigit.com>

* fix(pairing): preserve case-colliding legacy files

Co-authored-by: WangYan <wang.yan29@xydigit.com>

* fix(pairing): match legacy files to raw account ids

Co-authored-by: WangYan <wang.yan29@xydigit.com>

* fix(pairing): keep default suffix literal

Co-authored-by: WangYan <wang.yan29@xydigit.com>

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-04 22:59:30 -07:00
Peter Steinberger a124966706 fix(qa): require a fresh response for memory recall (#119493) 2026-08-04 22:56:58 -07:00
Peter Steinberger b3aab44f4b fix(qa): keep live provider scenarios out of mock lanes (#119498) 2026-08-04 22:52:57 -07:00
Peter Steinberger 57122c965c fix(qa): clean partial gateway startup and staged plugin roots (#119494) 2026-08-04 22:48:25 -07:00
Peter Steinberger dc93ea6d69 fix(qa): follow durable finals after streamed previews (#119378)
* test(qa): isolate memory scenario evidence

* test(qa): follow durable progress completion

* test(qa): run doctor migration noninteractively

* test(qa): split active memory follow-up

* test(qa): wait for preview retirement

* test(qa): require ordered preview retirement

* test(qa): record ordered durable reply evidence

* test(qa): preserve durable delivery budgets

* test(qa): isolate durable lifecycle by account

* test(qa): scope durable reply assertions by account

* test(qa): preserve durable conversation identity
2026-08-04 22:29:15 -07:00
Shubhankar Tripathy 1aeecb9be6 fix(amazon-bedrock-mantle): dedupe the IAM token-failure diagnostic per region (#67288) (#81208)
* fix(amazon-bedrock-mantle): dedupe IAM failure logs

Co-authored-by: Shubhankar Tripathy <reach2shubhankar@gmail.com>
Punchcard-Session: cobalt-brook-meadow-m9

* fix(amazon-bedrock-mantle): emit IAM diagnostic after debug enables

Co-authored-by: Shubhankar Tripathy <reach2shubhankar@gmail.com>

Punchcard-Session: cobalt-brook-meadow-m9

* fix(amazon-bedrock-mantle): surface changed IAM failures

Co-authored-by: Shubhankar Tripathy <reach2shubhankar@gmail.com>

Punchcard-Session: cobalt-brook-meadow-m9

* fix(amazon-bedrock-mantle): fence stale IAM failures

Co-authored-by: Shubhankar Tripathy <reach2shubhankar@gmail.com>

Punchcard-Session: clear-orchard-lantern-bc

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-08-05 13:26:30 +08:00
Vincent Koc eb39ac8cac fix(plugins): keep install fixtures registry-valid (#119489)
Punchcard-Session: amber-workshop-river-yr
2026-08-05 13:26:02 +08:00
Xiaoshuai Zhang 72fd25d47d fix(gateway): connect bootstrap clients to self-signed WSS (#80204)
* fix(gateway): propagate TLS pins to bootstrap clients

Co-authored-by: Xiaoshuai Zhang <dev@jetd.one>
Punchcard-Session: cobalt-brook-meadow-m9

* fix(gateway): keep TLS loader type private

Punchcard-Session: cobalt-brook-meadow-m9

* fix(gateway): preserve TLS pin transport policy

Punchcard-Session: cobalt-brook-meadow-m9

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-authored-by: Xiaoshuai Zhang <dev@jetd.one>
2026-08-05 13:19:27 +08:00
ml12580 ae41dcef54 fix: auto-reply gateway stalls in a zero-work drain loop after a queue drop policy change (#119331)
* fix(auto-reply): preserve pending overflow summaries

Co-authored-by: ml12580 <long.xinyuan3@xydigit.com>

* fix(auto-reply): record queue cap outcomes

* fix(auto-reply): align summary lines with sources

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-04 22:19:19 -07:00
zhanxingxin1998 353b4a339a fix(discord): invalidate member cache on lifecycle events (#110414)
Clear cached member and user entities when members join or leave, matching the existing update-event behavior and preventing stale role authorization.

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-04 22:14:42 -07:00
Jason (Json) 141a16f7b3 fix(sessions): release writer lane during transcript archival (#119460) 2026-08-04 23:13:58 -06:00
Jason (Json) 4b7a989a8b fix(ui): make new-session model metadata state truthful (#119462) 2026-08-04 23:12:02 -06:00
pash-openai 75ef5aebec Keep Slack progress and final replies in one message (#119376) (#119480) 2026-08-04 21:49:38 -07:00
Vincent Koc a1d20ae31b test(tui): cover session lifecycle and resume (#119465)
Punchcard-Session: ember-workshop-lantern-bs
2026-08-05 12:16:06 +08:00
Peter Steinberger c925634ae8 refactor(ui): share sidebar conversation menu rendering (#119452) 2026-08-04 21:09:41 -07:00
Peter Steinberger 60a8ec821c refactor(plugins): reuse canonical error coercion (#119451) 2026-08-04 21:05:45 -07:00
Peter Steinberger 9214e6381d refactor(discord): consolidate interactive response handling (#119448) 2026-08-04 21:01:32 -07:00
Peter Steinberger 2b003f186d refactor(memory-wiki): reuse canonical plugin normalization (#119449) 2026-08-04 20:55:58 -07:00
Peter Steinberger 752dd2b5b8 refactor(cli): consolidate repeated command registration (#119434) 2026-08-04 20:51:32 -07:00
Cuttingwater f0a74970ec fix(system-agent): apply approved proposal exactly once (#119389)
Co-authored-by: Chris Davidson <chris.davidson.47@gmail.com>
2026-08-04 23:48:18 -04:00
Peter Steinberger 39bbd8afd3 refactor(sessions): consolidate transcript and state helpers (#119435) 2026-08-04 20:45:41 -07:00
Peter Steinberger 2692954c72 refactor(infra): consolidate service paths and usage rollups (#119433) 2026-08-04 20:39:53 -07:00
Syu b316c9cacf fix(channels): honor explicit preview streaming settings
Explicit Telegram and Discord preview modes now override inherited block streaming while explicit channel block settings remain authoritative.

Co-authored-by: Syu <zhuqimo@gmail.com>
2026-08-05 09:04:49 +05:30
Peter Steinberger ad37e91fbb refactor(telegram): consolidate outbound contracts and targets (#119438) 2026-08-04 20:33:45 -07:00
Peter Steinberger b5d99c1f06 fix(qa): retry transport cleanup and always stop owned labs (#119442) 2026-08-04 20:31:28 -07:00
Yuval Dinodia 3bda007ca4 fix(mcp): guard stdio stdout frame parsing against oversized-buffer crash (#119379)
…rash

An MCP server whose stdout frame exceeds the SDK ReadBuffer 10 MiB cap makes
ReadBuffer.append throw synchronously inside the child stdout data callback.
The handler had no try/catch, so the error escaped as an uncaughtException and
took down the host process, killing every concurrent session. The frame size is
driven by tool-result data a lower-privileged sender can influence, not by the
operator who chose the server.

Wrap append and processReadBuffer in the same try/catch the upstream SDK
transport uses: route the error to onerror and close the transport so the MCP
runtime handles it as a server disconnect. This matches the existing stdin
(#75438) and stderr (#99803) guards in this file; stdout was the missed path.

Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-08-04 22:29:30 -05:00
Peter Steinberger c4dccc614d refactor(auto-reply): centralize delivery deduplication and routing (#119436) 2026-08-04 20:29:21 -07:00
Peter Steinberger b5237ac86a fix(qa): preserve scenario isolation in serial suites (#119439) 2026-08-04 20:26:47 -07:00
Vincent Koc e35d22807e perf(xai): lazy-load optional capability runtimes (#119374)
Punchcard-Session: coral-workshop-workshop-3f
2026-08-05 11:26:40 +08:00
Peter Steinberger 767dc7019d refactor(browser): consolidate browser CLI and normalization helpers (#119432) 2026-08-04 20:26:21 -07:00
Peter Steinberger bf1bdb429e fix(qa): require ready transport accounts (#119431) 2026-08-04 20:23:31 -07:00
Peter Steinberger a5ebadc293 refactor(media): share image and video geometry normalization (#119416) 2026-08-04 20:23:25 -07:00
Vincent Koc 9371dddcdb fix(config): preserve plugin metadata for missing config (#119421)
Restore plugin metadata for valid missing-config snapshot reads while preserving scan-free plain reads and fail-closed invalid snapshots.
2026-08-05 11:22:42 +08:00
Jason (Json) ab7b3ffd1f fix: retry delivery when outbound adapter is unavailable (#119371)
* fix(outbound): preserve pre-dispatch retryability

* test(outbound): assert lazy runtime sender

* fix(feishu): preflight direct message runtime

* test(gateway): preserve scoped registry fixture
2026-08-04 21:22:07 -06:00
Vincent Koc fd1662f49c fix(cli): retire invalid secret flags and prove doctor recovery (#118926)
* test(qa): add doctor CLI recovery coverage

* test(qa): secure doctor exec SecretRef proof

* test(qa): gate doctor systemd recovery proof

* test(qa): normalize doctor terminal output

* test(qa): close doctor probe sockets

* test(qa): classify doctor probe as foreign

* test(qa): track doctor probe sockets

* test(qa): retain doctor instance narrowing

* test(qa): preserve observed doctor recovery proof

* test(qa): keep doctor recovery on stable dist

* test(qa): honor Windows exec ACL blocking

* test(qa): use canonical home for systemd recovery

* test(qa): follow bounded gateway recovery

* test(qa): accept lifecycle service label

* test(qa): align doctor recovery contract

Punchcard-Session: crisp-lantern-orchard-nv

* docs(secrets): remove retired provider bypasses

Punchcard-Session: crisp-lantern-orchard-nv

* test(qa): isolate doctor recovery target

Punchcard-Session: crisp-lantern-orchard-nv

* fix(cli): retire invalid secret provider flags

Punchcard-Session: crisp-lantern-orchard-nv

* test(qa): isolate doctor supervisor mode

Punchcard-Session: crisp-lantern-orchard-nv

* fix(plugins): remove dead secret path bypass

Punchcard-Session: crisp-lantern-orchard-nv

* chore: drop release-owned changelog entry

Punchcard-Session: crisp-lantern-orchard-nv

* test(qa): isolate doctor sudo scope

Punchcard-Session: crisp-lantern-orchard-nv

* fix(secrets): remove dead path bypass

Punchcard-Session: crisp-lantern-orchard-nv

* test(qa): isolate systemd user bus

Punchcard-Session: crisp-lantern-orchard-nv
2026-08-05 11:20:23 +08:00
Peter Steinberger 0ef1911192 refactor(signal): share outbound and reaction transport (#119415) 2026-08-04 20:19:33 -07:00
Peter Steinberger a8caab5c3d refactor(plugin-sdk): remove unused private QA helpers (#119437) 2026-08-04 20:16:07 -07:00
Peter Steinberger 1f3d45b76f refactor(plugins): consolidate lifecycle hook dispatch (#119429) 2026-08-04 20:11:22 -07:00