Patrick Erichsen
8f85f94946
feat: install GitHub-backed ClawHub skills ( #90478 )
...
* feat: install GitHub-backed ClawHub skills
* fix: satisfy ClawHub install type checks
* fix: harden github-backed skill installs
* fix: keep heartbeat template non-actionable
* feat: support forcing pending ClawHub installs
2026-06-04 19:10:02 -07:00
Peter Steinberger
4499b24781
docs: document cli program tests
2026-06-04 19:41:55 -04:00
Peter Steinberger
b59b34f9d5
docs: document cli service tests
2026-06-04 19:39:51 -04:00
Peter Steinberger
408ba4c8a0
docs: document remaining cli tests
2026-06-04 19:37:38 -04:00
Peter Steinberger
4995907541
docs: document cli support tests
2026-06-04 19:35:08 -04:00
Peter Steinberger
8cb093e7a9
docs: document cli test batch
2026-06-04 19:32:43 -04:00
Shakker
509fa621de
test: contain completion cache env
2026-06-04 23:06:33 +01:00
Shakker
501adb2524
test: isolate command secret env values
2026-06-04 22:49:01 +01:00
Peter Steinberger
4af066b013
docs: document update and agent cli helpers
2026-06-04 11:11:07 -04:00
Peter Steinberger
20c4e9475a
docs: document cli startup helpers
2026-06-04 11:07:54 -04:00
Peter Steinberger
98187f3277
docs: document cli program helpers
2026-06-04 11:05:42 -04:00
Peter Steinberger
f7e54acec1
docs: document plugin program cli helpers
2026-06-04 11:03:24 -04:00
Peter Steinberger
169a4159de
docs: document plugin cli helpers
2026-06-04 11:01:13 -04:00
Peter Steinberger
a94a939626
docs: document cli command runtimes
2026-06-04 10:58:50 -04:00
Peter Steinberger
69c27677f6
docs: document gateway cli helpers
2026-06-04 10:56:59 -04:00
Peter Steinberger
cb5d43ba95
docs: document cli utility helpers
2026-06-04 10:55:01 -04:00
Peter Steinberger
8946648ace
docs: document daemon cli helpers
2026-06-04 10:53:30 -04:00
Peter Steinberger
09cee22249
docs: document cli config and cron helpers
2026-06-04 10:52:10 -04:00
Peter Steinberger
e2a5823c83
docs: document cli startup policy helpers
2026-06-04 10:50:04 -04:00
Peter Steinberger
dd0dd662a1
docs: document cli command helpers
2026-06-04 10:48:30 -04:00
Vincent Koc
f187bec815
fix(cli): skip plugin loader cache clear on short-lived commands
2026-06-04 15:00:21 +02:00
Brian
7b5f75eb98
Pin official npm plugin install records ( #88585 )
...
* fix(plugins): pin official npm install records
* fix(infra): tolerate equivalent plugin install migrations
* fix(plugins): preserve manual exact plugin pins
* fix(infra): remove stale migration imports
* chore: unblock ci guards
* fix: preserve official sync integrity checks
* fix: avoid prerelease integrity carryover
* fix: preserve manual official npm specs
* fix: preserve beta fallback integrity checks
* fix: preserve trusted prerelease fallback integrity
* fix: preserve prerelease-only integrity checks
* fix: pin unchanged official npm records
* fix: allow official compatible fallback updates
* fix: preserve fallback integrity after prerelease resolution
* fix: skip incompatible fallback integrity pins
* fix: preserve pin-only install provenance
* fix: check integrity when repairing missing official pins
---------
Co-authored-by: Lilac <lilac@Lilacs-iMac.local >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-06-03 17:58:09 -07:00
B.K.
c96a12d3c8
fix(update): surface plugin channel fallbacks ( #81422 )
...
* fix: surface plugin update channel fallbacks
* fix: clarify dry-run plugin fallback output
* fix: preserve failed plugin fallback metadata
* chore: mark compatibility aliases deprecated
* chore: fix channel runtime lint directive
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-06-03 16:00:40 -07:00
Peter Steinberger
381c5e0762
docs: document remaining cli helpers
2026-06-03 18:43:23 -04:00
Peter Steinberger
95045b1d5b
docs: document cli gateway plugin helpers
2026-06-03 18:25:21 -04:00
Peter Steinberger
4f4cd2e8ae
docs: document cli shared helpers
2026-06-03 18:23:39 -04:00
Peter Steinberger
0b8aabe864
docs: document auth profile failure policy contract ( #89613 )
...
* docs: document markdown marker renderer
* docs: document rendered markdown chunking
* docs: document markdown text chunking
* docs: document shared text chunking
* docs: document plugin text chunking exports
* docs: document avatar policy constants
* docs: document node match candidates
* docs: document scoped expiring id cache
* docs: document runtime import normalization
* docs: document string sample summaries
* docs: document session usage timeseries types
* docs: document session usage response types
* docs: document manifest frontmatter shapes
* docs: document channel route input metadata
* docs: document pair loop guard settings
* docs: document migration config patch helpers
* docs: document api provider registry
* docs: document tool call repair payloads
* docs: document plugin tool payload helpers
* docs: document lazy promise loader
* docs: document store writer queue state
* docs: document thread binding lifecycle
* docs: document concurrency helper contract
* docs: document gateway client info contract
* docs: document delivery context contracts
* docs: document secret ref defaults contract
* docs: document command gating contract
* docs: document avatar policy contract
* docs: document node match policy
* docs: document message channel normalization
* docs: document boolean parsing contract
* docs: document zod parse helpers
* docs: document direct dm guard policy
* docs: document fixed window limiter contract
* docs: document node presence event contract
* docs: document secret normalization contract
* docs: document progress draft line removal
* docs: document usage formatting contracts
* docs: document agent run status contract
* docs: document runtime import helpers
* docs: document provider utility ownership
* docs: document invalid config helpers
* docs: document json compat parser
* docs: document channel config metadata ownership
* docs: document channel logging helpers
* docs: document sender identity validation ownership
* docs: document string sampling helper
* docs: document global singleton helpers
* docs: document transcript tool helpers
* docs: document exec safe-bin normalization
* docs: document reaction level resolver
* docs: document account snapshot redaction boundary
* docs: document messaging target helpers
* docs: document thread binding messages
* docs: document conversation binding context
* docs: document conversation resolution helper
* docs: document owner display secret retention
* docs: document provider request config types
* docs: document skills config types
* docs: document memory config types
* docs: document imessage config types
* docs: document crestodian config types
* docs: document tools config policies
* docs: document shared config base types
* docs: document channel config contracts
* docs: document openclaw config state types
* docs: document model config contracts
* docs: document shared agent config types
* docs: document agent defaults config types
* docs: document secret input contracts
* docs: document auth config contracts
* docs: document gateway config contracts
* docs: document tool call stream repair contracts
* docs: document memory host facades
* docs: document llm core contracts
* docs: document markdown core contracts
* docs: document gateway connect error contracts
* docs: document gateway protocol primitives
* docs: document gateway frame schemas
* docs: document gateway device schemas
* docs: document gateway environment schemas
* docs: document gateway push schemas
* docs: document gateway plugin schemas
* docs: document gateway artifact schemas
* docs: document gateway command schemas
* docs: document gateway task schemas
* docs: document gateway exec approval schemas
* docs: document gateway secret schemas
* docs: document gateway config schemas
* docs: document gateway snapshot schemas
* docs: document gateway chat schemas
* docs: document gateway wizard schemas
* docs: document gateway node schemas
* docs: document gateway plugin approval schemas
* docs: document gateway talk schemas
* docs: document gateway agent schemas
* docs: document gateway session schemas
* docs: document gateway cron schemas
* docs: document gateway agent model skill schemas
* docs: document gateway skill proposal tool schemas
* docs: document gateway protocol registry
* docs: document gateway channel status schemas
* docs: document gateway schema regression tests
* docs: document gateway schema barrel
* docs: document gateway validator tests
* docs: document gateway primitive push tests
* docs: document gateway contract tests
* docs: document native protocol guard
* docs: document channel schema tests
* docs: document gateway protocol smoke tests
* docs: document gateway protocol entrypoint
* docs: document gateway protocol type exports
* docs: document gateway error codes
* docs: document protocol schema registry
* docs: document talk audio codec
* docs: document talk activation names
* docs: document talk consult questions
* docs: document talk consult tool
* docs: document talk run control contracts
* docs: document talk run control adapter
* docs: document talkback consult queue
* docs: document talk consult transcript guard
* docs: document talk fast context runtime
* docs: document forced talk consult coordinator
* docs: document talk output activity tracker
* docs: document talk event metrics
* docs: document talk diagnostics
* docs: document talk observability hook
* docs: document talk provider resolver
* docs: document talk provider registry
* docs: document talk runtime primitives
* docs: document talk consult controller logs
* docs: document channel identity helpers
* docs: document channel account allowlist helpers
* docs: document channel metadata draft controls
* docs: document channel ingress policy
* docs: document channel sender access gates
* docs: document channel catalog message contracts
* docs: document channel account plugin helpers
* docs: document configured binding helpers
* docs: document channel acp approval config helpers
* docs: document channel bundled config write helpers
* docs: document channel plugin utility contracts
* docs: document channel config access helpers
* docs: document channel message action helpers
* docs: document channel outbound runtime helpers
* docs: document channel pairing promotion helpers
* docs: document channel registry helpers
* docs: document channel setup wizard helpers
* docs: document channel lifecycle status helpers
* docs: document channel target thread helpers
* docs: document channel session binding helpers
* docs: document channel package module probes
* docs: document channel setup wizard contracts
* docs: document channel plugin API barrels
* docs: document channel contract test helpers
* docs: document channel core helpers
* docs: document small core facades
* docs: document provider runtime helpers
* docs: document persistence and realtime helpers
* docs: document mcp and state helpers
* docs: document tool planner contracts
* docs: document music generation runtime
* docs: document crestodian command flow
* docs: document utility helpers
* docs: document node host helpers
* docs: document transcript contracts
* docs: document trajectory export contracts
* docs: document image generation contracts
* docs: document routing helper contracts
* docs: document session helper contracts
* docs: document video generation contracts
* docs: document model catalog contracts
* docs: document proxy capture contracts
* docs: document status rendering contracts
* docs: document test helper contracts
* docs: document wizard setup contracts
* docs: document process contracts
* docs: document memory host sdk contracts
* docs: document tts contracts
* docs: document secrets runtime contracts
* docs: document shared helper contracts
* docs: document hook runtime contracts
* docs: document security audit contracts
* docs: document flow contracts
* docs: document media understanding contracts
* docs: document tui contracts
* docs: document logging contracts
* docs: document llm contracts
* docs: document cron contracts
* docs: document daemon contracts
* docs: document task contracts
* docs: document acp contracts
* docs: document test utility contracts
* docs: document skill contracts
* docs: document config contracts
* docs: document outbound infra contracts
* docs: document command analysis contracts
* docs: document provider usage infra contracts
* docs: document file safety infra contracts
* docs: document exec approval infra contracts
* docs: document gateway runtime infra contracts
* docs: document infra utility contracts
* docs: document infra queue storage contracts
* docs: document heartbeat infra contracts
* docs: document remaining infra contracts
* docs: document gateway auth contracts
* docs: document gateway display helpers
* docs: document gateway http helpers
* docs: document gateway node helpers
* docs: document gateway mcp helpers
* docs: document gateway support helpers
* docs: document gateway server runtime helpers
* docs: document gateway runtime bootstrap helpers
* docs: document gateway session events
* docs: document gateway utility helpers
* docs: document gateway talk helpers
* docs: document gateway helper contracts
* docs: document gateway server method helpers
* docs: document gateway server auth helpers
* docs: document gateway server tests
* docs: document gateway test helpers
* docs: document gateway node tests
* docs: document gateway channel tests
* docs: document gateway session tests
* docs: document gateway server startup tests
* docs: document gateway tool test helpers
* docs: document gateway server test helpers
* docs: document gateway server method tests
* docs: document remaining gateway tests
* docs: document plugin sdk public subpaths
* docs: document plugin sdk runtime helpers
* docs: document plugin sdk memory provider helpers
* docs: document plugin sdk runtime facades
* docs: document plugin sdk command approval helpers
* docs: document plugin sdk runtime types
* docs: document plugin sdk browser account helpers
* docs: document plugin sdk media memory helpers
* docs: document plugin sdk core tests
* docs: document plugin sdk contract helpers
* docs: document plugin sdk test helpers
* docs: document remaining plugin sdk tests
* docs: document cli utility helpers
* docs: document cli runtime helpers
* docs: document cli command registration helpers
* docs: document node cli helpers
* docs: document cli program registration
* docs: document message cli registration
* docs: document daemon cli helpers
* docs: document cli route parsers
2026-06-03 15:20:39 -07:00
Josh Avant
154f439c81
Add operator install policy and remove dangerous-code install scanners ( #89516 )
...
* feat: add operator install policy
* test: cover plain-file plugin install code
* fix: preserve locationless install policy findings
* refactor: remove install-time plugin scanner
* test: remove stale plugin install helper
* fix: preserve before-install builtin scan type
* fix: preserve plugin dependency denylist
---------
Co-authored-by: Mainframe <mainframe@MainfraacStudio.localdomain >
2026-06-03 14:17:29 -07:00
Peter Steinberger
c8d21fe7f0
fix: recover suspicious gateway startup configs ( #89480 )
2026-06-02 10:12:35 -04:00
Peter Steinberger
12c6ef6d57
fix(update): keep plugin repair fetch failures nonblocking
2026-06-02 14:55:55 +01:00
Mukunda Rao Katta
2d61521bd3
fix(update): pin post-core plugin compatibility to the downgraded core version ( #87914 ) ( #87952 )
...
* fix(update): pin post-core plugin compatibility to the downgraded core version (#87914 )
* fix(update): force plugin compatibility repair on rollback
* style(update): clarify downgrade compatibility note
* fix(plugins): resolve compatible prerelease plugin downgrades
* fix(plugins): honor host gates during npm downgrade repair
* fix(plugins): keep prerelease downgrade fallback on channel
---------
Co-authored-by: Gio Della-Libera <giodl73@gmail.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-06-02 07:13:26 -04:00
Hussein Nourelddine
4a285d529a
feat(status): detect external plugin version drift
...
Surface active official external plugin version drift in gateway status diagnostics so users can see when a host/package update left npm or ClawHub plugins behind the running local gateway. The advisory uses the daemon service install records, compares against the running gateway version, gives detailed fix commands in deep status, and avoids local-state drift checks for remote gateway mode or explicit status probe URLs.
Co-authored-by: Hussein Nourelddine <hussein@gptc.com.kw >
2026-06-02 06:59:23 -04:00
Andy Ye
1db2c2a3e0
Treat soft plugin repair warnings as nonfatal ( #84431 )
...
* Treat soft plugin repair warnings as nonfatal
* fix: scope plugin repair convergence failures
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-06-02 06:51:11 -04:00
Peter Steinberger
9ead0ae921
fix: repair live model inference edge cases
...
Fix live model inference edge cases across provider streaming, model switching, outbound delivery, and gateway tool resolution.
Includes live/provider issue fixes and leaves #89100 explicitly partial for the remaining FM-2 group routing case.
2026-06-01 23:03:27 -04:00
Peter Steinberger
b2a55a282a
fix(update): do not fail core update on plugin repair fetch
2026-06-02 03:42:54 +01:00
Alexzhu
9ac30b587e
Keep machine-readable CLI startup output parseable ( #88689 )
...
Constraint: CLI startup progress can render before Commander resolves a command's JSON output contract.
Rejected: Leaving Clack on its default stdout | contaminates JSON stdout when startup progress appears.
Confidence: high
Scope-risk: narrow
Directive: Keep progress output off stdout before full command parsing for machine-readable invocations.
Tested: git diff --check origin/main; OPENCLAW_HEAVY_CHECK_LOCK_SCOPE=worktree OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/run-vitest.mjs src/cli/progress.test.ts src/cli/run-main.exit.test.ts; source CLI sessions --json parse proof.
Not-tested: broad pnpm check.
2026-06-01 11:33:22 -07:00
Mason Huang
004835f4c7
fix(plugins): block untrusted workspace setup-only channel loads ( #86953 )
...
Summary:
- This PR blocks disabled workspace-origin channel plugins from setup-only scoped imports, rejects their channel registrations at registry assembly, documents the trust rule, and adds regression coverage.
- PR surface: Source +46, Tests +610, Docs +13. Total +669 across 22 files.
- Reproducibility: yes. source inspection gives a high-confidence reproduction path: current main's setup-only ... ce channel plugin can be imported before this PR. I did not run the repro locally in this read-only review.
Automerge notes:
- PR branch already contained follow-up commit before automerge: test(plugins): cover workspace channel registry guard
- PR branch already contained follow-up commit before automerge: fix(plugins): isolate setup channel registration errors
- PR branch already contained follow-up commit before automerge: fix(channels): mark raw catalog listing internal
- PR branch already contained follow-up commit before automerge: test(channels): cover trusted catalog filtering
- PR branch already contained follow-up commit before automerge: test(channels): mock raw catalog helper
- PR branch already contained follow-up commit before automerge: docs(changelog): credit setup channel hardening
Validation:
- ClawSweeper review passed for head 11438bc1a0 .
- Required merge gates passed before the squash merge.
Prepared head SHA: 11438bc1a0
Review: https://github.com/openclaw/openclaw/pull/86953#issuecomment-4545730044
Co-authored-by: masonxhuang <masonxhuang@tencent.com >
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
Co-authored-by: Mason Huang <masonxhuang@tencent.com >
Co-authored-by: Sebastien Tardif <sebtardif@ncf.ca >
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com >
2026-06-01 09:25:56 +00:00
Vincent Koc
4d49a76039
test(secrets): secure plugin exec fixtures
2026-06-01 07:11:28 +01:00
Peter Steinberger
5b79e81569
fix: harden CLI and plugin edge cases ( #88896 )
...
* fix: harden CLI and plugin edge cases
* fix: preserve explicit TTS provider credentials
* fix: preserve direct TTS credentials
* fix: type TTS credential hydration config
* fix: preserve scoped TTS channel credentials
* fix: pin hydrated TTS runtime config
* fix: satisfy TTS hydration lint
* fix: preserve inherited TTS provider keys
* fix: read resolved TTS provider keys
2026-06-01 00:30:12 -04:00
Peter Steinberger
1e7510ae10
docs: continue inline comment pass ( #88849 )
...
Adds broad inline comments and JSDoc for CLI, cron, outbound/channel, plugin SDK, ACP, shared helpers, net policy, and related utility contracts. Proof: git diff --check on latest exact head plus focused cron tests passed; CI had no failing checks observed before merge attempt.
2026-05-31 22:32:28 -04:00
Peter Steinberger
e72def6983
Persist Discord thread bindings in SQLite ( #88866 )
...
* refactor: persist discord thread bindings in sqlite
* test: read discord thread bindings from sqlite smoke
2026-05-31 22:10:30 -04:00
Peter Steinberger
fb64546d9e
fix: preserve no-policy native hook fallback
...
Keep selected no-policy Codex PreToolUse relay hooks installed with an explicit unavailable no-op marker, while unknown unavailable PreToolUse and PermissionRequest still fail closed.
Refs #87543 .
Replaces #88620 .
Verification:
- pnpm test extensions/codex/src/app-server/native-hook-relay.test.ts src/agents/harness/native-hook-relay.test.ts src/cli/native-hook-relay-cli.test.ts
- pnpm lint --threads=8
- autoreview --mode branch --base origin/main
- GitHub CI run 26729700996, Real behavior proof 26729874455, OpenGrep 26729701010, CodeQL high 26729701003
Co-authored-by: woodym-dotcom <266261448+woodym-dotcom@users.noreply.github.com >
2026-05-31 21:24:09 -04:00
NVIDIAN
37169697d7
fix(status): resolve gateway auth secrets for deep audit
...
Resolve gateway auth SecretRef targets in status deep audit.
The static secret target coverage now includes gateway auth and remote token/password keys for both status and security audit scans. Focused status/secret-target tests passed, Auto Review reported no actionable findings, and CI is running on rebased head 41b052a181 .
Fixes #87815
2026-05-31 21:02:11 -04:00
Peter Steinberger
5443baa852
Persist plugin install index in SQLite ( #88794 )
...
* refactor: persist plugin install index in sqlite
* fix: merge legacy plugin index records into sqlite
* test: update plugin index sqlite fixtures
* fix: migrate custom plugin install indexes
* test: update plugin index sentinel
* fix: exclude migrated plugin index archives
* fix: read post-upgrade plugin index from sqlite
* fix: migrate legacy plugin index before agent runs
* fix: respect disabled persisted plugin registry reads
* test: type plugin install record fixtures
* fix: simplify plugin index record reader type
* test: fix sqlite plugin index CI fallout
* test: mock provider normalization in agent command tests
# Conflicts:
# src/commands/agent-command.test-mocks.ts
* build: remove unused ui three dependency
2026-05-31 20:51:33 -04:00
Peter Steinberger
27dde7a4d6
chore(lint): enable stricter error rules
2026-06-01 01:12:21 +01:00
Peter Steinberger
3491834d49
Migrate iMessage monitor state to SQLite ( #88797 )
...
* refactor: move imessage monitor state to sqlite
* test: use OpenClaw temp root in iMessage state helper
* test: avoid pending promise lint in chat tests
* test: harden gateway ci flakes
* test: align session list merge expectation
2026-06-01 00:19:51 +01:00
Peter Steinberger
22cb7fb6b7
chore(lint): enable no-promise-executor-return
2026-05-31 23:06:13 +01:00
Peter Steinberger
b653d94918
chore(lint): enable no-useless-assignment
2026-05-31 22:40:48 +01:00
Andy Ye
49e5091f18
fix(update): recognize manual-update launchd jobs ( #88764 )
...
* Recognize manual update launchd jobs
* fix(update): avoid stale launchd false positives
* fix(update): filter stale doctor launchd checks
* fix(update): narrow manual launchd updater labels
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-31 22:39:37 +01:00
Arnab Saha
026ab6b882
feat(doctor): expose --post-upgrade and --json CLI flags
2026-05-31 22:12:38 +01:00