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
ced61db64a
fix(ci): preserve OCM workspace prepack ( #107844 )
...
* fix(ci): preserve OCM workspace prepack
* fix(ci): bind OCM prepack to pack context
* fix(ci): avoid path import shadowing
2026-07-14 17:28:45 -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
7651ef5fca
fix(docs-i18n): preserve slash numeric literals
2026-07-14 19:49:02 -04:00
Jason (Json)
be88c46160
fix(packaging): reject unsafe root source packs ( #107794 )
2026-07-14 16:09:27 -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
86085563be
test(ci): isolate flaky shared-worker suites ( #107780 )
...
* test(ci): isolate flaky shared-worker suites
* test(ci): route isolated agent targets
2026-07-14 15:00:58 -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
0b9e3e19fa
refactor(sessions): separate SQLite accessor owners ( #107772 )
...
* refactor(sessions): separate SQLite accessor owners
* refactor(sessions): keep SQLite helper types private
2026-07-14 14:23:20 -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
9d3de463a5
fix(docs-i18n): preserve Max translation boundaries
2026-07-14 16:43:15 -04: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
60f0a83db0
fix(ci): repair full release validation dispatch ( #107728 )
...
* fix(ci): accept documented release validation extras
* fix(ci): pass main changelog policy to release checks
2026-07-14 12:34:47 -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
c2e0ce7b68
fix(ci): restore main validation gates ( #107697 )
...
* fix(ci): allow Unreleased notes for main validation
* test(ci): cover release smoke changelog intent
* test(ci): require release changelog policy propagation
* docs(agents): require review init after pushes
* chore(ci): prune stale max-lines baseline
* refactor(system-agent): split operation modules
* refactor(bonjour): keep ciao classification type private
* fix(bonjour): remove stale local classification alias
2026-07-14 12:11:25 -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
0571e0ecff
fix(proxy): share canonical no-proxy matching
2026-07-14 11:23:32 -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
e297bc2ac5
fix(release): validate npm preflight workflow trust
2026-07-14 18:44:08 +01:00
Peter Steinberger
0b409a0348
refactor(gateway): split session handlers ( #107677 )
...
* refactor(gateway): split session handlers
* chore(gateway): drop obsolete max-lines suppression
* test(gateway): preserve session boundary ratchets
* test(gateway): update session boundary fixtures
* style(auto-reply): restore formatter compliance
2026-07-14 10:41:36 -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
Jesse Merhi
00364ee777
improve: warn before non-ClawHub plugin installs ( #102197 )
...
Merged via squash.
Prepared head SHA: e08d9e737d
Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com >
Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com >
Reviewed-by: @jesse-merhi
2026-07-15 03:25:36 +10:00
Peter Steinberger
13a2b0707d
fix(scripts): preserve parser overrides
2026-07-14 10:21:56 -07:00
Peter Steinberger
0e3a46f8d4
refactor(scripts): use native TypeScript AST helpers
2026-07-14 10:21:56 -07:00
Peter Steinberger
2bbf5e6ca0
fix(macos): prevent clipped and stalled onboarding ( #107598 )
...
* fix(macos): harden onboarding on short screens
* chore: keep release notes in PR body
* chore(i18n): refresh macOS onboarding inventory
2026-07-14 10:07:41 -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
bea48db878
refactor(command-explainer): use native tree-sitter contracts
2026-07-14 09:59:20 -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
f81f9d8570
chore: enforce max-lines suppression ratchet ( #107315 )
...
* ci: enforce max-lines suppression ratchet
* chore: prune stale max-lines suppression
* fix: close max-lines ratchet enforcement gaps
* fix: harden max-lines ratchet checks
* fix(ci): satisfy max-lines ratchet checks
* style: format max-lines declarations
* fix(ci): match oxlint suppression grammar
* test: isolate max-lines git fixtures
* chore: prune resolved max-lines debt
* test: skip newline path fixture on Windows
* fix: harden max-lines suppression ratchet
* chore: refresh max-lines baseline
* fix: close max-lines ratchet bypasses
* fix: derive ratchet base from PR merge tree
* fix: support older Git in staged ratchet
* fix: align max-lines declarations and baseline
* chore: refresh max-lines baseline for current main
* fix: exclude generated wizard locales from max-lines
* chore: prune resolved max-lines debt
2026-07-14 09:27:02 -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
2ecc6b6b6b
fix(ui): show restart banner for unapplied config ( #107577 )
...
* fix(ui): derive config apply state from gateway
* test(ui): align applied config hash coverage
* test(ui): follow config autosave flow
* fix(ui): guard applied config refreshes
* fix(ui): reconcile patched config revisions
* fix(ui): prevent stale config apply polling
* chore: leave release notes to release flow
* refactor(config): split applied revision helpers
* style(config): format gateway methods
* fix(i18n): refresh Korean native glossary hash
2026-07-14 08:43:35 -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
242cdca058
fix(docker): keep gateway ws client self-contained ( #107561 )
...
* fix(docker): keep gateway ws client self-contained
* test(raft): narrow optional runtime schema
* test(tlon): narrow signed URL mock input
* fix(tui): type searchable selector metadata
2026-07-14 07:42:17 -07:00
Peter Steinberger
b514c54ffc
refactor(agents): trim internal boundary exports ( #107584 )
2026-07-14 07:35:37 -07:00
Peter Steinberger
ab0ccc244b
refactor(agents): trim message turn exports ( #107578 )
2026-07-14 07:17:15 -07:00
Peter Steinberger
fed60958c0
refactor(agents): trim model provider exports ( #107570 )
2026-07-14 07:00:20 -07:00