439 Commits

Author SHA1 Message Date
Peter Steinberger 1bfd207a54 refactor(doctor): split legacy model migrations (#113717) 2026-07-25 08:52:43 -07:00
Peter Steinberger 1a11f5394e refactor(ui): split workboard view (#113730) 2026-07-25 08:29:39 -07:00
Peter Steinberger bab4b2973a refactor(ui): split config view panels (#113715) 2026-07-25 08:28:40 -07:00
Peter Steinberger f808147f62 refactor(ui): split chat thread projection (#113714)
* refactor(ui): split chat thread projection

* refactor(ui): tighten chat thread module boundaries

* refactor(ui): type chat stream grouping locally
2026-07-25 08:28:02 -07:00
Peter Steinberger 589f28b57a refactor(plugins): split manifest normalization (#113720) 2026-07-25 08:27:03 -07:00
Peter Steinberger 22226bf2f6 refactor(agents): split CLI runner execution (#113716)
* refactor(agents): split CLI runner execution

* refactor(agents): keep CLI log helper private
2026-07-25 08:07:41 -07:00
Peter Steinberger bd8277c248 refactor(agents): split subagent lifecycle (#113711) 2026-07-25 07:29:42 -07:00
Peter Steinberger 1dcb35b204 refactor(agents): split main session recovery (#113687) 2026-07-25 13:39:15 +00:00
Peter Steinberger 46a1338918 refactor(infra): split heartbeat runner (#113668)
* refactor(infra): split heartbeat runner

* refactor(infra): keep heartbeat helpers private
2026-07-25 06:37:26 -07:00
Peter Steinberger 4aa4ff7250 refactor(matrix): split CLI command groups (#113664)
* refactor(matrix): split CLI command groups

* refactor(matrix): keep CLI helpers private

* refactor(matrix): retain profile result type contract
2026-07-25 06:37:08 -07:00
Peter Steinberger e52222cdef refactor(agents): split code mode execution (#113669)
* refactor(agents): split code mode execution

* refactor(agents): keep code mode bridge type private
2026-07-25 06:22:25 -07:00
Peter Steinberger 9a7a5791c7 refactor(memory): split QMD manager by domain (#113659)
* refactor(memory): split QMD manager by domain

* refactor(memory): keep QMD base types private
2026-07-25 06:18:05 -07:00
Peter Steinberger 71e8f6a925 refactor(infra): split session cost usage accounting (#113670) 2026-07-25 06:15:19 -07:00
Peter Steinberger 43c608e5fd refactor(agents): split native hook relay (#113626)
* refactor(agents): split native hook relay

* refactor(agents): preserve native relay API

* refactor(agents): keep relay state private

* refactor(agents): break relay type cycles
2026-07-25 05:37:54 -07:00
Peter Steinberger 3d1369ff4f test(telegram): consolidate bot test harness (#113571)
* test(telegram): consolidate bot test harness

* test(plugin-sdk): expose isolated test state

Promote the isolated OpenClaw test-state lifecycle through a narrow published Plugin SDK subpath so extension tests no longer import private core helpers. This intentional SDK surface addition is maintainer-approved.

* test(telegram): use public test-state seam

* test(plugin-sdk): keep test state local-only

Match the existing channel test-helper boundary: bundled extension tests can import the focused SDK source entrypoint, while ordinary builds and the published npm package exclude it. The earlier public classification existed only on this unmerged PR branch and was never a shipped contract.

* test(plugins): map test-state in package boundaries
2026-07-25 05:28:26 -07:00
joshavant f153858045 fix(onepassword): make SecretRef setup production-safe 2026-07-25 06:03:30 -05:00
Peter Steinberger 64daf8dd23 refactor(slack): split message dispatch (#113602) 2026-07-25 03:43:24 -07:00
Peter Steinberger 6c39503161 refactor(gateway): split reload handlers (#113557)
* refactor(gateway): split reload handlers

* refactor(gateway): keep reload contracts private
2026-07-25 03:12:51 -07:00
Peter Steinberger 55d66fbf98 chore(scripts): remove resolved investigation tools and orphans (#113532)
* chore(scripts): remove orphaned wrappers

* chore(scripts): remove resolved investigation tools

* refactor(code-mode): remove orphaned plugin namespaces

* test(code-mode): remove stale namespace import
2026-07-25 02:47:40 -07:00
Peter Steinberger aba0b12014 refactor(browser): split Playwright session manager (#113585) 2026-07-25 01:58:10 -07:00
Peter Steinberger b0525e1a70 refactor(ai): split OpenAI Responses transport (#113569) 2026-07-25 01:23:28 -07:00
Peter Steinberger 2942678214 refactor(memory): split retained state migrations (#113542) 2026-07-25 01:03:35 -07:00
Peter Steinberger 4f1b5da9d8 refactor(codex): split app-server config (#113552)
* refactor(codex): split app-server config

* refactor(codex): keep config helper types private
2026-07-25 00:36:50 -07:00
Vincent Koc bcf71e27e6 ci(env): ratchet production variable count (#113519) 2026-07-25 14:07:02 +08:00
Peter Steinberger d6971f46ca fix: make filesystem publication crash-durable (#113453)
* fix(fs): centralize directory durability

* chore: keep release notes in PR body

* test(sqlite): canonicalize read-only race paths

* test(fs): clean durability fixtures

* chore(lint): prune sqlite snapshot baseline

* fix(backup): reject unsupported commit sync

* fix(fs): enforce strict durability outcomes

* refactor(tls): flatten preserved-output failures

* fix(reef): require durable journal commits

* fix(fs): route durability through policy boundaries

* fix(reef): preserve Windows journal compatibility

* fix(fs): bind publication to canonical directories

* fix(ci): align durability boundary fixtures
2026-07-24 20:58:17 -07:00
Peter Steinberger 3e44b5f5dd refactor(ui): split chat pane (#113406)
* refactor(ui): split chat pane

* refactor(ui): keep chat pane entrypoint local
2026-07-24 14:25:20 -07:00
Vincent Koc c0c12da9f2 fix(qa): separate provider plans from runtime calls (#113399)
* fix(qa): separate provider plans from runtime calls

* fix(claws): keep profile limit outside env ratchet

* refactor(qa): remove obsolete capture comparators

* chore(release): leave notes to release workflow
2026-07-24 20:55:54 +00:00
Vincent Koc 663c4fba10 fix(sqlite): repair canonical indexes before database use (#113390)
* fix(sqlite): recover canonical indexes before open

* chore(sqlite): keep index contract types internal

* test(sqlite): keep unsafe index corruption fail closed
2026-07-25 04:18:06 +08:00
Peter Steinberger 9c2ae380bc refactor(ui): split chat message rendering (#113363)
* refactor(ui): split chat message rendering

* refactor(ui): tighten chat message exports
2026-07-24 09:41:53 -07:00
Peter Steinberger 049a17860c refactor(ui): split chat composer (#113338)
* refactor(ui): split chat composer

* refactor(ui): align composer split ownership

* test(ui): clarify custom combobox inventory
2026-07-24 08:11:54 -07:00
Peter Steinberger 6235ea55ac refactor(codex): split command handlers (#113335)
* refactor(codex): split command handlers

* refactor(codex): keep helper types private
2026-07-24 07:29:44 -07:00
Peter Steinberger 4cd327e31f refactor(agents): split subagent registry internals (#113297)
* refactor(agents): split subagent registry

* fix(agents): defer registry restore until exports initialize
2026-07-24 04:44:37 -07:00
Peter Steinberger 050475b9de refactor(agents): split tool search internals (#113296) 2026-07-24 03:04:14 -07:00
Vincent Koc e3636852ba refactor(normalization): reuse trimmed list helpers (#113295) 2026-07-24 17:43:22 +08:00
Peter Steinberger b233faa057 refactor(tasks): split task registry internals (#113279)
* refactor(tasks): split task registry internals

* test(tasks): align registry ownership boundary
2026-07-24 02:09:04 -07:00
Peter Steinberger 21f0cef5d5 refactor(matrix): split monitor handler pipeline (#113269)
* refactor(matrix): split monitor handler pipeline

* refactor(matrix): align extracted handler types

* refactor(matrix): make missing context explicit

* style(matrix): order extracted handler imports
2026-07-24 01:02:56 -07:00
Peter Steinberger eac10a01d5 refactor(cli): split config command implementation (#113248)
* refactor(cli): split config command implementation

* refactor(cli): keep split helpers private

* style(cli): format private unset result
2026-07-24 00:27:00 -07:00
Peter Steinberger a7d2f0bd68 refactor(memory-core): split short-term promotion (#113223) 2026-07-24 00:02:05 -07:00
Peter Steinberger 07e625dac3 refactor(telegram): split outbound send operations (#113222)
* refactor(telegram): split outbound send operations

* refactor(telegram): keep test handle in send barrel
2026-07-23 23:38:37 -07:00
Peter Steinberger bb657eec93 refactor(config): retire redundant settings (#113174)
* refactor(config): retire redundant settings

* style: apply current formatter

* chore: update plugin sdk baseline

* fix: keep Codex tool caps context-aware

* chore: remove stale imports

* test: align WhatsApp QA debounce config

* fix(config): clean up retired config checks

* fix(ci): align config cleanup checks
2026-07-23 17:45:02 -07:00
joshavant 090bdab5b8 fix(ci): register iOS release script entries 2026-07-23 19:08:40 -05:00
Peter Steinberger 127b78142b refactor(auto-reply): split config dispatch pipeline (#113154)
* refactor(auto-reply): split config dispatch pipeline

* refactor(auto-reply): keep phase result types private
2026-07-23 15:31:02 -07:00
Peter Steinberger 06776e707b refactor(cron): split timer lifecycle (#113141) 2026-07-23 14:14:58 -07:00
Peter Steinberger be815ae5c9 refactor(gateway): split session utilities (#113118)
* refactor(gateway): split session utilities

* fix(gateway): privatize thinking row projection
2026-07-23 12:26:10 -07:00
Peter Steinberger 13176b446a refactor(plugins): split gateway startup planning (#113129) 2026-07-23 11:50:17 -07:00
Peter Steinberger 1f051da39d refactor(browser): split Chrome MCP lifecycle (#113114) 2026-07-23 10:45:21 -07:00
Peter Steinberger 6f6c2acec3 refactor(infra): split outbound delivery services (#113099)
* refactor(infra): split outbound delivery services

* fix(infra): preserve outbound compatibility surface
2026-07-23 10:01:28 -07:00
Peter Steinberger b09dd1fec9 refactor(auto-reply): split reply agent runner (#113072)
* refactor(auto-reply): split reply agent runner

* fix(auto-reply): keep split contracts acyclic

* fix(auto-reply): isolate result contracts
2026-07-23 09:58:29 -07:00
Peter Steinberger c440ae3e86 refactor(sessions): collapse legacy JSON store (#113075)
* refactor(sessions): collapse legacy JSON store

* chore(sessions): ratchet legacy importer boundary

* fix(sessions): align cleanup checks
2026-07-23 09:36:48 -07:00
Peter Steinberger dedf85a34d refactor(ui): split chat-send.ts along ack/request/drain/lifecycle seams (#113052)
* refactor(ui): split chat-send.ts along ack/request/drain/lifecycle seams

chat-send.ts was ~2,330 lines under a grandfathered max-lines
suppression, mixing ack normalization, wire requests/routing, the
stored-outbox drain scheduler, retry/steer actions, and the send
lifecycle. Mechanical extraction into owned modules:

- chat-send-contract.ts absorbs ack normalization (it owns the ack shape)
- chat-send-request.ts: wire requests + session routing
- chat-outbox-drain.ts: drain lanes, retry timers, head reconciliation —
  colocated with the outbox ownership boundary from the composer split
- chat-send-actions.ts / chat-send-queue-state.ts / chat-send-submit.ts:
  retry/steer actions, queue-state helpers, submission routing
- chat-send.ts keeps the send lifecycle (719 lines); its max-lines
  suppression and baseline entry are removed

No compatibility re-exports; cycles broken by hoisting ChatHost into the
contract module and injecting the drain's two lifecycle callbacks.

Closes #112742.

* fix(ui): extract chat-send ack shapes into a leaf module to break the madge type cycle
2026-07-23 08:51:29 -07:00