Commit Graph

37887 Commits

Author SHA1 Message Date
Peter Steinberger
fbade914f5 refactor(plugins): decompose plugin registry (#105783)
* refactor(plugins): decompose plugin registry

* chore(plugins): move session accessor debt baseline
2026-07-12 17:44:27 -07:00
Peter Steinberger
95c3182030 refactor(agents): trim auth-profile dead exports (#105788)
* refactor(agents): trim auth profile exports

* chore(deadcode): refresh export baseline
2026-07-12 17:38:39 -07:00
ZOOWH
a2b55b5721 fix(cron): throttle session reaper after persistence errors (#105386)
* fix(cron): throttle session reaper after persistence errors

* refactor(cron): record session reaper attempts eagerly

* docs: keep release notes in PR context

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-12 17:36:40 -07:00
Vincent Koc
8f7295ee35 refactor(gateway): trim session utils exports (#105782) 2026-07-13 08:33:36 +08:00
Peter Steinberger
55067fd5e7 fix(cli): gateway startup no longer waits for claw animation (#105774)
* fix(cli): avoid gateway delay from claw animation

* chore: keep release notes in PR metadata
2026-07-12 17:20:30 -07:00
Vincent Koc
c9012f2037 refactor(ui): trim private API type exports (#105772) 2026-07-13 08:11:24 +08:00
Peter Steinberger
1c33c52f1b refactor(mcp): trim private app exports (#105771) 2026-07-12 17:07:58 -07:00
Vincent Koc
4be088ec02 fix(sqlite): reject unsafe maintenance schema additions (#105767) 2026-07-13 08:01:14 +08:00
Vincent Koc
dc644800ef refactor(packages): trim private aggregate roots (#105747) 2026-07-13 08:00:59 +08:00
pick-cat
81b480f26b fix(restart-handoff): use normalizeText for intentId to match sibling fields (#104168)
* fix(restart-handoff): use normalizeText for intentId to match sibling fields

* chore: trigger CI re-run

* fix(restart-handoff): normalize persisted intent IDs

Co-authored-by: Pick-cat <huang.ting3@xydigit.com>

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-12 16:57:35 -07:00
Peter Steinberger
ada0dee301 refactor(agents): hide unused runtime-plan helper types (#105755)
* refactor(agents): hide runtime plan helper types

* chore(deadcode): refresh export baseline
2026-07-12 16:44:31 -07:00
Peter Steinberger
f2e46f1d23 test: remove avoidable retry waits (#105737) 2026-07-12 16:35:17 -07:00
Peter Lee
fee89ff4cb fix(provider-runtime): align transient network error codes across retry paths (#101496)
* fix(provider-runtime): align transient network retries

Centralize the shared connection error policy, preserve the bounded provider-only ENOTFOUND retry, and keep gateway DNS/config failures and provider creates fail-fast.\n\nCo-authored-by: Peter Lee <li.xialong@xydigit.com>

* test(provider-runtime): cover root retry error codes

Exercise direct Node error.code and nested cause.code shapes through the public retry wrapper.

Co-authored-by: Peter Lee <li.xialong@xydigit.com>

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-12 16:33:24 -07:00
NIO
b1eb59c0be fix(config): enforce own-key semantics in write preparation (#102231)
* fix(config): use Object.hasOwn in write-prepare helpers

* fix(config): enforce own-key change tracking

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-12 16:31:24 -07:00
Jason (Json)
1663c8801d fix(ui): preserve MCP App previews across reloads (#105728)
* fix(mcp): harden app preview lifecycle

* fix(ui): defer MCP app initialization payload

* test(mcp): align current policy expectations

* fix(ui): preserve MCP app previews

* fix(mcp): reject disabled app restoration

* fix(mcp): preserve reconstructed app state

* fix(mcp): bind reconstructable app data

* fix(ui): deduplicate MCP app preview copies

* style(ui): format MCP app preview test

* fix(mcp): satisfy metadata access lint

* style(mcp): format metadata access
2026-07-12 17:30:34 -06:00
Vincent Koc
cca22d93f6 fix(delivery): simplify pin predicate 2026-07-13 07:25:50 +08:00
Vincent Koc
d9eb6968b4 fix(delivery): dedupe disabled operations 2026-07-13 07:25:50 +08:00
Vincent Koc
c44d831488 fix(delivery): preserve explicit delivery operations 2026-07-13 07:25:50 +08:00
Vincent Koc
5f69ce8c0d fix(delivery): preserve route-safe fallback behavior 2026-07-13 07:25:50 +08:00
Vincent Koc
b9d3e65f74 fix(delivery): dedupe message-tool completion payloads 2026-07-13 07:25:50 +08:00
Peter Steinberger
c1d6d31855 refactor(deadcode): repair export baseline drift (#105739) 2026-07-12 16:24:31 -07:00
Peter Steinberger
c185e6857d fix(ui): harden Create PR row stats and rate-limited chip degradation (#105594)
* fix(ui): harden Create PR row stats and rate-limited chip degradation

* fix(ui): keep degraded rate-limited chips as the last-known fallback
2026-07-12 16:01:44 -07:00
Peter Steinberger
e261fa60ce feat(cloud-workers): gateway inference proxy for worker model turns (#105719)
* refactor: clarify prepared auth value

* feat(cloud-workers): add inference proxy protocol

* feat(cloud-workers): persist inference turns

* feat(cloud-workers): execute gateway inference turns

* fix(cloud-workers): support adaptive inference reasoning

* fix(gateway): constrain worker inference policy options

* test(gateway): cover worker inference SQLite store
2026-07-12 15:35:50 -07:00
Peter Steinberger
4a05a087a1 refactor(config): retire flat streaming keys from the last six channel schemas via doctor migration (#105709)
* refactor(config): retire flat streaming keys from the last six channel schemas

signal, irc, nextcloud-talk, whatsapp, googlechat, and mattermost now accept
only the nested streaming.{chunkMode,block.enabled,block.coalesce} shape
(mattermost also drops scalar/boolean streaming); flat spellings migrate via
each channel's defineChannelAliasMigration doctor contract with root seeding
for their wholesale-replace account merges.

* feat(channels): warn once per key when the deprecated flat streaming fallback is used

Bundled schemas now reject the flat delivery keys, so the streaming.ts
fallback only serves external SDK plugin configs; emit a once-per-process
per-key subsystem warning and pin the removal plan to the next release train.

* chore(config): regenerate bundled channel config metadata for nested-only streaming

* docs: describe nested-only channel streaming config and the SDK flat-key deprecation window

* fix(whatsapp): seed migrated named-account streaming from the accounts.default layer

WhatsApp resolution layers accounts.default shared config between root and
named accounts, so doctor-materialized account streaming objects now inherit
default-account settings over root ones; mattermost schema test moves to the
nested-only shape with explicit rejection coverage; scope flat-key deprecation
notes to the pending Matrix/Feishu migrations.

* fix(whatsapp): resolve the default account case-insensitively when seeding migrated streaming

* chore(plugin-sdk): repin API baseline for nested-only channel streaming types
2026-07-12 15:27:28 -07:00
Vincent Koc
2f25e9cba3 feat(backup): add verified SQLite snapshots (#105718)
* feat(backup): expose verified SQLite snapshots

Co-authored-by: Gio Della-Libera <giodl73@gmail.com>

* feat(sqlite): add verified snapshot repository (#105525)

Co-authored-by: Gio Della-Libera <giodl73@gmail.com>

* test(sqlite): use canonical snapshot schemas

* fix(backup): restrict SQLite snapshot roles

* fix(sqlite): harden snapshot staging paths

Co-authored-by: Gio Della-Libera <giodl73@gmail.com>

* fix(sqlite): pin snapshot repository paths

Co-authored-by: Gio Della-Libera <giodl73@gmail.com>

* fix(sqlite): secure Windows snapshot staging

Co-authored-by: Gio Della-Libera <giodl73@gmail.com>

* fix(sqlite): validate macOS ACL captures

* test(sqlite): preserve stat uid type

* style(sqlite): satisfy snapshot lint

---------

Co-authored-by: Gio Della-Libera <giodl73@gmail.com>
2026-07-13 06:27:14 +08:00
Peter Steinberger
238c7973ad feat(chat): native session scroll-back with offset paging and import-aware history (#105688)
* feat(chat): native session scroll-back with import-aware history paging

* fix(chat): page imported session history

* fix(chat): restore terminal import snapshots

* fix(chat): gate cli import resolver on ignore flag to stop history recursion

* fix(chat): correct scroll-back types and drop orphaned recent-messages reader
2026-07-12 13:58:40 -07:00
Vincent Koc
e3163d1e1f refactor(routing): trim private exports (#105691) 2026-07-13 04:50:44 +08:00
Peter Steinberger
d287c9b414 refactor(mac): make app node a CLI capability superset (#105642)
* refactor(mac): reuse CLI node-host runtime

* fix(mac): prefer checkout CLI in debug builds

* chore: leave release notes to release automation

* chore(mac): sync native string inventory

* chore(mac): refresh native locale artifacts

* fix(node): satisfy native and deadcode gates
2026-07-12 13:16:07 -07:00
Peter Steinberger
1b281de6df perf(agents): reuse gateway plugin preparation (#105646)
* perf(agents): reuse gateway plugin preparation

* chore: keep release notes out of PR
2026-07-12 12:59:26 -07:00
AnthonyStainer
e3c338f664 fix(cron): keep memory search available with agent overrides (#104196)
* fix(cron): preserve memory search defaults

* test(cron): fix resolved agent config fixture

* refactor(cron): clarify agent config ownership

* test(cron): use redacted credential fixture

* test(cron): normalize redacted credential fixture

* chore(changelog): append cron memory fix

* chore(pr): defer release note ownership

---------

Co-authored-by: AnthonyStainer <18058056+AnthonyStainer@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-12 12:55:07 -07:00
Peter Steinberger
5e45ebe82b feat(ios): add private HealthKit summaries (#105616)
* feat(ios): add private HealthKit summaries

* fix(ios): satisfy Health settings lint

* chore(ios): sync Health localization artifacts

* chore(ios): refresh generated localization and docs

* fix(ios): reject partial Health history

* chore(ios): sync Health string catalogs

* fix(ios): bridge Health authorization dates

* fix(ios): scope Health summaries to today
2026-07-12 12:52:38 -07:00
Vincent Koc
6f3caf2020 refactor(sessions): trim SQLite internals (#105639) 2026-07-12 21:43:52 +02:00
qingminlong
056e89d887 fix(clawhub): ignore malformed retry-after headers (#105479)
* fix(clawhub): ignore malformed retry-after headers

* fix(clawhub): keep retry helper source-resolved

* docs(changelog): note ClawHub retry fix

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

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-12 12:42:33 -07:00
Peter Steinberger
6556d1d173 refactor(config): declarative doctor alias-migration DSL with inheritance-aware account seeding (#105636)
* fix(config): seed inherited root streaming into doctor-materialized account streaming objects

* feat(plugin-sdk): add defineChannelAliasMigration doctor alias-migration DSL

* refactor(plugins): migrate channel doctor contracts onto the alias-migration DSL

* refactor(config): drop the prod-unused offMode legacy notice option

* fix(config): make account streaming seeding opt-in for wholesale-replace channels

* test(imessage): keep account streaming account-local for deep-merge runtime
2026-07-12 12:28:42 -07:00
qingminlong
2db82eb243 fix(sessions): derive list channels from agent keys (#104274)
* fix(sessions): derive list channels from agent keys

* refactor(sessions): reuse canonical channel parser

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-12 12:24:06 -07:00
Peter Steinberger
bf44810139 refactor(deadcode): privatize banner and menu internals (#105628) 2026-07-12 12:22:32 -07:00
destire-mio
ca90a59370 fix(retry): avoid status code substring matches (#105258)
* fix(retry): avoid status code substring matches

* fix(retry): parse leading HTTP statuses

* style(retry): format status classifier

* test(retry): cover session retry behavior

* test(retry): emit error stream events

* fix(retry): share rate-limit window classification

Co-authored-by: destire-mio <248462155+destire-mio@users.noreply.github.com>

* docs(changelog): note session retry fix

Co-authored-by: destire-mio <248462155+destire-mio@users.noreply.github.com>

* refactor(retry): keep window type internal

Co-authored-by: destire-mio <248462155+destire-mio@users.noreply.github.com>

---------

Co-authored-by: destire-mio <248462155+destire-mio@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-12 12:12:32 -07:00
Vincent Koc
e45f2f6ca6 refactor(agents): trim private export surface (#105631) 2026-07-12 21:08:56 +02:00
Peter Steinberger
74e42892b6 fix: delay narrated channel progress and remove default title (#105607)
* fix(channels): delay narrated progress drafts

* chore: keep release changelog unchanged
2026-07-12 12:06:38 -07:00
Peter Steinberger
d37d63c6ff fix: usage page fails while session cache refreshes (#105611)
* fix(gateway): preserve pending usage summaries

* chore: keep release notes in PR
2026-07-12 12:06:29 -07:00
Vincent Koc
3e68035de1 refactor(plugins): trim dead export surface (#105612) 2026-07-12 20:46:43 +02:00
Peter Steinberger
24a4f0bbbf feat(cli): animate the claw banner and show it on gateway startup (#105540)
* feat(cli): animate the claw banner and show it on foreground gateway startup

* fix(cli): restore the terminal when the banner animation is interrupted
2026-07-12 11:39:10 -07:00
Vincent Koc
c0f0107a5c refactor(infra): trim internal helper surface (#105606) 2026-07-12 20:37:50 +02:00
Vincent Koc
26c4187297 refactor(process): trim internal type surface (#105599) 2026-07-12 20:28:13 +02:00
Vincent Koc
f230e8a11e refactor(gateway): privatize module helpers (#105596) 2026-07-12 20:21:31 +02:00
Peter Steinberger
bbf79b1934 fix(sessions): sessions_search slows as transcript history grows (#105585)
* chore(plugin-sdk): refresh API baseline

* perf(sessions): avoid full transcript scans during search
2026-07-12 19:13:40 +01:00
Vincent Koc
da71b48e5a refactor(auto-reply): privatize module internals (#105589) 2026-07-12 20:13:19 +02:00
Vincent Koc
7a06f662bd refactor(auth): privatize disabled CLI discovery helper (#105587) 2026-07-12 20:07:40 +02:00
Vincent Koc
f11b17d937 fix(sqlite): validate maintenance schema completeness (#105583) 2026-07-12 20:06:57 +02:00
Vincent Koc
02f88c209c refactor(agents): remove redundant zero usage helper (#105577) 2026-07-12 19:57:51 +02:00