Commit Graph

249 Commits

Author SHA1 Message Date
Peter Steinberger
3bd9e280e4 refactor(acp): trim internal dead exports (#108170)
* refactor(acp): trim internal dead exports

* chore(deadcode): refresh export baseline
2026-07-15 01:37:08 -07:00
Peter Steinberger
3e4b3b370f test(hooks): isolate Gmail setup module cache (#108150)
* test(hooks): isolate Gmail setup module cache

* chore(deadcode): refresh export baseline
2026-07-15 01:18:23 -07:00
Peter Steinberger
a7456edf94 refactor(proxy-capture): privatize server helpers (#108139)
* refactor(proxy-capture): privatize server helpers

* chore(deadcode): refresh export baseline
2026-07-15 01:07:57 -07:00
Peter Steinberger
f3c191039a refactor(music-generation): privatize mode resolver (#108132)
* refactor(music-generation): privatize mode resolver

* chore(deadcode): refresh export baseline
2026-07-15 00:59:15 -07:00
Peter Steinberger
fda08e26de refactor(gateway): privatize terminal shell quoting (#108125)
* refactor(gateway): privatize terminal shell quoting

* chore(deadcode): refresh export baseline
2026-07-15 00:50:01 -07:00
Peter Steinberger
46393fb3dc refactor(status): privatize session cost line (#108118)
* refactor(status): privatize session cost line

* chore(deadcode): refresh export baseline
2026-07-15 00:41:45 -07:00
Peter Steinberger
658fdaea5b refactor(audit): remove internal test exports (#108111)
* refactor(audit): remove internal test exports

* chore(deadcode): refresh export baseline
2026-07-15 00:30:16 -07:00
Peter Steinberger
723c2f81ad refactor(llm): privatize provider internals (#108099)
* refactor(llm): privatize provider internals

* chore(deadcode): refresh export baseline
2026-07-15 00:11:43 -07:00
Peter Steinberger
92d06e51bb refactor(mcp): trim internal server exports (#108076)
* refactor(mcp): remove dead internal exports

* chore(deadcode): refresh export baseline
2026-07-14 23:47:38 -07:00
Peter Steinberger
92fc907ffb fix: preserve TUI restore state without JSON races (#108058)
* refactor(tui): move last session state to sqlite

* chore: keep release notes in PR body

* test: update doctor migration fixture

* chore: satisfy dead code export gate
2026-07-14 23:46:22 -07:00
Peter Steinberger
0240327fe7 refactor(security): privatize audit internals (#108067)
* refactor(security): privatize audit internals

* chore(deadcode): shrink security export baseline
2026-07-14 23:28:04 -07:00
Peter Steinberger
7f1baa6d75 refactor(codex): trim session catalog exports (#108045)
* refactor(codex): privatize session catalog helpers

* chore(deadcode): refresh export baseline
2026-07-14 22:59:46 -07:00
Peter Steinberger
5bbf30b852 refactor(canvas): remove internal A2UI handler factory (#108038)
* refactor(canvas): remove internal A2UI handler factory

* chore(deadcode): refresh export baseline
2026-07-14 22:41:27 -07:00
Peter Steinberger
1967e4c04d refactor(telegram): privatize internal plugin surfaces (#108026)
* refactor(telegram): privatize internal plugin surfaces

* chore(deadcode): refresh export baseline
2026-07-14 22:20:46 -07:00
Peter Steinberger
eebc0dbc33 refactor(auto-reply): split agent runner execution (#107985)
* refactor(auto-reply): split agent runner execution

* style(auto-reply): satisfy promise executor lint

* fix(ci): align refactor baselines and test types

* fix(ci): prune stale max-lines baseline
2026-07-14 22:20:25 -07:00
Peter Steinberger
3932a6038c refactor(discord): privatize internal plugin surfaces (#108003)
* refactor(discord): privatize internal plugin surfaces

* chore(deadcode): update export baseline
2026-07-14 21:26:00 -07:00
Peter Steinberger
938bddddc1 refactor: privatize QA Matrix and Workspaces internals (#107973)
* refactor(qa-matrix): replace testing export facades

* refactor(workspaces): remove broadcast reset export

* chore(deadcode): shrink unused export baseline
2026-07-14 20:48:46 -07:00
Peter Steinberger
b50822aab5 refactor(channels): remove Google Chat and Matrix test exports (#107951)
* refactor(googlechat): privatize internal test seams

* refactor(matrix): remove internal test exports

* chore(deadcode): refresh export baseline
2026-07-14 20:06:39 -07:00
Peter Steinberger
6d3eff97a0 refactor(channels): privatize Mattermost and MSTeams test seams (#107924)
* refactor(mattermost): privatize internal test seams

* refactor(msteams): privatize internal test seams

* docs(mattermost): fix public API import path

* refactor(deadcode): shrink export baseline
2026-07-14 19:11:46 -07:00
Peter Steinberger
e905a682f7 feat(agents): session self-service tools
New grouped sessions tool (patch: label/pin/archive/model/thinking; group
CRUD; owner-gated; no reset/delete/compact). sessions_spawn gains visible +
worktree via sessions.create with admission reservation and abort-confirmed
rollback; a started run with no run id is aborted and deleted rather than
left orphaned. subagents tool reads the unified task_runs ledger tree-scoped
(subagent/acp/media/cron) and cancels detached runs, enforcing the
controlScope gate for leaf callers. session_status gains a cost line.
Agent-origin model patches record a fallback marker; runs failing on
auth/billing/model_not_found revert to the last working model (transient
errors never revert), and an independent thinkingLevel change realigns the
marker so revert cannot clobber it.

Refs #107237
2026-07-14 18:12:22 -07:00
Peter Steinberger
75d029dae2 refactor: privatize Linux Canvas and Node Host internals (#107884)
* refactor(linux-canvas): privatize internal command surfaces

* refactor(node-host): privatize runtime manifest type

* chore(deadcode): shrink export baseline
2026-07-14 18:00:16 -07:00
Peter Steinberger
525db34f80 refactor: privatize diagnostics, Meet, and QA test seams (#107869)
* refactor(diagnostics-prometheus): privatize metrics test surface

* refactor(google-meet): remove Chrome test dependency exports

* refactor(qa-lab): test retained runtime boundaries

* chore(deadcode): shrink export baseline
2026-07-14 17:42:34 -07:00
Peter Steinberger
d91073eb1d refactor(plugins): remove internal test exports (#107859)
* refactor(imessage): privatize reply-cache reset

* refactor(vault): privatize CLI test helpers

* refactor(voice-call): privatize test seams

* refactor(zalo): privatize monitor test seams

* refactor(zalouser): test through provider boundaries

* chore(deadcode): refresh export baseline
2026-07-14 17:13:38 -07:00
Peter Steinberger
b363d5a293 feat(linux): canvas UI via CLI-node + Tauri app IPC bridge (#107633)
* feat(linux): canvas via CLI-node + Tauri app IPC bridge

* refactor: extract gateway helper modules

* build(linux-canvas): register plugin package in lockfile

* fix(linux-canvas): move canvas advertise test out of core, regen docs/protocol/deadcode

* fix(gateway): break node-catalog/registry import cycle via leaf normalize module; add canvas glossary term

* style: oxfmt invoke.ts and runtime.ts after buildNodeEventParams extraction

* fix(linux): load Canvas WebView via dedicated data_directory context

Wry's Linux/WebKitGTK incognito mode discards Tauri's registered
WebContext (wry webkitgtk/mod.rs), so the Canvas window got a fresh
ephemeral context without the openclaw-canvas:// scheme handler — the
bundled A2UI page never committed (stayed about:blank) and every A2UI
command timed out. Use an isolated cache-backed data_directory instead,
which keeps the protocol handler while still isolating Canvas storage
from the dashboard window.

* fix(linux): keep Canvas WebView ephemeral via incognito + data_directory

Autoreview flagged that a dedicated data_directory alone persists Canvas
browser state (cookies, localStorage, IndexedDB, service workers) across
restarts, so an agent that navigates Canvas to a site could leak an
authenticated session into a later session. iOS uses a non-persistent
store; Linux should match.

Add .incognito(true) alongside .data_directory(): the distinct directory
gives Tauri a fresh WebContext key so it still attaches the
openclaw-canvas:// protocol closure, and incognito makes Wry swap in a
fresh *ephemeral* context carrying those protocols. Live-verified on a
Wayland/WebKitGTK box: the bundled page still loads
(location.href=openclaw-canvas://localhost/index.html, openclawA2UI
present, A2UI renders) and the canvas-webview dir holds no persistent
cookie/storage files.
2026-07-14 16:05:14 -07:00
Peter Steinberger
85e4a42fef refactor: privatize core dead exports (#107826)
* refactor(gateway): privatize Claude prompt candidate type

* refactor(music-generation): privatize runtime dependency type

* refactor(security): privatize install policy request type

* refactor(sessions): privatize state notice prefix

* refactor(skills): privatize upload concurrency limit

* refactor(agents): privatize Chutes and catalog constants

* test(commands): use Chutes endpoint contract literals

* refactor(llm): remove proxy error facade export

* refactor(infra): privatize proxy protocol error message

* refactor(proxy-capture): privatize environment keys

* chore(deadcode): shrink unused export baseline
2026-07-14 16:00:58 -07:00
Peter Steinberger
42591653de refactor(extensions): trim provider and channel internals (#107817)
* refactor(ollama): privatize internal plugin surfaces

* refactor(openshell): privatize internal plugin surfaces

* refactor(lmstudio): privatize internal plugin surfaces

* refactor(signal): privatize internal plugin surfaces

* refactor(whatsapp): privatize internal plugin surfaces

* chore(deadcode): shrink extension export baseline
2026-07-14 15:38:39 -07:00
Peter Steinberger
21ec1546e5 refactor(extensions): trim internal plugin surfaces (#107796)
* refactor(diffs): privatize internal plugin surfaces

* refactor(file-transfer): privatize internal plugin surfaces

* refactor(nextcloud-talk): privatize internal plugin surfaces

* refactor(synology-chat): privatize internal plugin surfaces

* chore(deadcode): shrink extension export baseline
2026-07-14 15:02:56 -07:00
Peter Steinberger
7b9a72fc4f refactor(extensions): trim small plugin exports (#107784)
* refactor(workspaces): privatize internal plugin surfaces

* refactor(canvas): trim internal host exports

* refactor(qa-channel): privatize media URL validation

* refactor(google): remove web search test facade

* refactor(xai): remove response helper test facades

* chore(deadcode): shrink extension export baseline
2026-07-14 14:38:08 -07:00
Peter Steinberger
2eb9c7ebd7 refactor(extensions): privatize small plugin internals (#107774)
* refactor(llama-cpp): privatize embedding internals

* refactor(parallel): privatize MCP response helpers

* refactor(logbook): privatize analysis parsers

* refactor(crabbox): narrow worker provider exports

* refactor(acpx): privatize process reaper internals

* chore(deadcode): refresh unused-export baseline
2026-07-14 14:15:44 -07:00
Peter Steinberger
fd986ed3c2 refactor(system-agent): narrow internal turn types (#107767)
* refactor(system-agent): narrow internal turn types

* chore(deadcode): refresh unused-export baseline
2026-07-14 14:02:22 -07:00
Peter Steinberger
7cf790a49d refactor(pairing): model runtime type consumers (#107760)
* refactor(pairing): model runtime type consumers

* chore(deadcode): refresh unused-export baseline
2026-07-14 13:53:34 -07:00
Peter Steinberger
24fb23d96f refactor(compat): trim internal naming exports (#107758)
* refactor(compat): privatize legacy naming constants

* chore(deadcode): refresh unused-export baseline
2026-07-14 13:46:59 -07:00
Peter Steinberger
e2ad943ebd refactor(media): trim internal exports (#107756)
* refactor(media): privatize internal parsing helpers

* chore(deadcode): refresh unused-export baseline
2026-07-14 13:41:04 -07:00
Peter Steinberger
58cca1d98a refactor(linux-node,oc-path): trim internal exports (#107753)
* refactor(linux-node): privatize internal plugin surfaces

* refactor(oc-path): test commands through CLI registration

* chore(deadcode): refresh unused-export baseline
2026-07-14 13:34:00 -07:00
Peter Steinberger
074f07c520 refactor(irc,workboard): trim internal exports (#107749)
* refactor(irc): privatize internal plugin surfaces

* refactor(workboard): privatize internal plugin surfaces

* chore(deadcode): refresh unused-export baseline
2026-07-14 13:19:08 -07:00
Peter Steinberger
b93f4bb3ac refactor: privatize Twitch and SMS internals (#107737)
* refactor(twitch): privatize internal plugin surfaces

* refactor(sms): privatize internal plugin surfaces

* chore(deadcode): refresh unused-export baseline
2026-07-14 12:55:35 -07:00
Peter Steinberger
a679cda0c9 refactor(copilot): trim internal exports (#107730)
* refactor(copilot): trim internal exports

* chore(deadcode): refresh export baseline
2026-07-14 12:23:35 -07:00
Peter Steinberger
65e2fddbee refactor(telegram): trim internal exports (#107726)
* refactor(telegram): trim internal exports

* chore(deadcode): refresh export baseline
2026-07-14 12:03:50 -07:00
Peter Steinberger
af3d796e19 refactor(discord): trim internal exports (#107714)
* refactor(discord): trim internal exports

* refactor(discord): use canonical approval helper

* chore(deadcode): refresh export baseline
2026-07-14 11:34:02 -07:00
Peter Steinberger
8c68b9d0ec refactor(agents): trim embedded runner exports (#107706)
* refactor(agents): trim embedded runner lifecycle exports

* refactor(agents): privatize transcript maintenance helpers

* chore(deadcode): refresh embedded runner export baseline
2026-07-14 11:04:48 -07:00
Peter Steinberger
6e500d3248 chore(rename): reconcile with main #102197 plugin-install trust + regen baselines
Rebase onto main pulled in the ClawHub plugin-install trust check (#102197);
ported it into the renamed system-agent operations/tool/tests, refreshed
native i18n, deadcode, and max-lines baselines for the renamed paths.

Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
d66033315f style(macos): doc comment on storedPendingPayload
Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
a6a0716486 feat(setup): rename Crestodian to OpenClaw system agent
User-facing name is now OpenClaw (the system speaks); internal code name is
system-agent. Gateway methods crestodian.* -> openclaw.chat/openclaw.setup.*,
agent tool -> openclaw, reserved agent ids openclaw + retired crestodian.
openclaw setup routes: onboarding flags -> onboard, -m/--yes -> system agent,
bare configured interactive -> OpenClaw chat, unconfigured -> onboarding.
Hidden crestodian CLI and /crestodian TUI aliases kept; docs moved to
docs/cli/openclaw.md with redirect stub. macOS/Android strings in lockstep.

Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
4ed28c3559 refactor(agents): trim shell and tool-loop exports (#107695)
* refactor(agents): trim shell and session exports

* refactor(agents): trim loop and model exports

* chore(deadcode): refresh unused export baseline
2026-07-14 10:34:39 -07:00
Peter Steinberger
9daef57c85 refactor(auto-reply): trim internal dead exports (#107678)
* refactor(auto-reply): trim internal exports

* chore(deadcode): refresh unused export baseline
2026-07-14 10:06:14 -07:00
Peter Steinberger
e323c70ada refactor(cli): trim internal dead exports (#107654)
* refactor(cli): trim internal helper exports

* chore(deadcode): refresh CLI export baseline
2026-07-14 09:28:16 -07:00
Peter Steinberger
b146ef8a59 refactor(cron): trim internal export surface (#107640)
* refactor(cron): trim internal export surface

* chore(deadcode): refresh cron export baseline
2026-07-14 09:02:18 -07:00
Peter Steinberger
d092feaf63 refactor(commands): trim internal dead exports (#107621)
* refactor(commands): trim internal dead exports

* chore(deadcode): refresh commands export baseline
2026-07-14 08:36:41 -07:00
Peter Steinberger
a62d7aaaa5 refactor(agents): trim internal constants and facades (#107594) 2026-07-14 07:55:13 -07:00
Peter Steinberger
b514c54ffc refactor(agents): trim internal boundary exports (#107584) 2026-07-14 07:35:37 -07:00