Peter Steinberger
a2eb27c03a
refactor(plugins): split update lifecycle ( #108877 )
...
* refactor(plugins): split update lifecycle
* fix(plugins): break update type cycle
* fix(plugins): keep update modules below line budget
* fix(plugins): preserve update export surface
2026-07-16 07:54:21 -07:00
Peter Steinberger
011d0279ca
refactor(plugins): centralize slot reset policy ( #108763 )
2026-07-16 01:45:22 -07:00
Peter Steinberger
2c977bebce
fix(plugins): preserve trust policy after update failures ( #108649 )
2026-07-16 00:56:06 -07:00
Peter Steinberger
7a398fe6f8
fix(update): preserve plugin policy on failures ( #108661 )
2026-07-16 00:38:44 -07:00
Peter Steinberger
6ec5a2e5aa
refactor(plugins): defer installed payload validation ( #108051 )
2026-07-14 23:14:06 -07:00
mushuiyu886
646dfd7e76
fix(plugins): preserve state on npm metadata failures ( #107063 )
...
* fix(plugins): preserve state on npm metadata failures
* fix(plugins): harden npm metadata recovery
Co-authored-by: 杨浩宇0668001029 <yang.haoyu@xydigit.com >
* refactor(plugins): adapt metadata errors to installer split
Co-authored-by: 杨浩宇0668001029 <yang.haoyu@xydigit.com >
* fix(plugins): validate preserved npm payloads
Co-authored-by: 杨浩宇0668001029 <yang.haoyu@xydigit.com >
* fix(plugins): satisfy update lint
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-14 22:05:15 -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
98e3f729bc
refactor: remove dead plugin loader exports ( #105937 )
...
* refactor(plugins): trim activation and contract exports
* test(plugins): restore fixture cleanup
* refactor(plugins): trim install and loader exports
* test(plugins): fully reset loader caches
* refactor(plugins): trim metadata and catalog exports
* test(plugins): preserve catalog trust coverage
* refactor(plugins): trim provider and plugin exports
* refactor(plugins): trim runtime and tool exports
* test(plugins): update dead-export consumers
* test(plugins): remove empty dead-export suites
* refactor(plugins): align exports with split registry
* refactor(plugins): trim drifted loader exports
* style(plugins): format test fixtures
* refactor(scripts): use supported plugin APIs
* refactor(plugins): finish dead export cleanup
* chore(deadcode): refresh export baseline
* test(cli): mock production memory state
* chore(deadcode): sync latest export baseline
* fix(tests): keep plugin fixtures inside core
* chore(deadcode): refresh rebased export baseline
* chore(deadcode): sync current ratchets
* fix(plugins): retain reserved slot invariant
* fix(plugins): preserve dead-export invariants
* test(plugins): use neutral catalog query fixture
* test(plugins): satisfy catalog lint
* test(plugins): preserve integrity drift coverage
* fix(ci): register skill experience live proof
2026-07-13 01:29:33 -07:00
Peter Steinberger
a5883c33d1
refactor: use semver package for version ordering ( #105944 )
...
* refactor: use semver package for version ordering
* refactor: centralize semver validation
* chore: keep release notes in PR body
* refactor: update semver LOC ratchet
2026-07-12 23:02:25 -07:00
Peter Steinberger
a99ecff78a
fix(plugins): enforce own install record lookups ( #102872 )
...
* fix(plugins): enforce own install record lookups
Co-authored-by: Alix-007 <li.long15@xydigit.com >
* test(plugins): use valid prototype-key package fixtures
---------
Co-authored-by: Alix-007 <li.long15@xydigit.com >
2026-07-09 15:54:21 +01:00
Vincent Koc
fdc7892a6e
refactor: localize internal implementation types ( #101731 )
2026-07-07 07:41:04 -07:00
Kevin Lin
9d2d517296
feat: publish plugins with extended-stable releases ( #100448 )
...
* feat(release): publish plugins on extended-stable
* feat(plugins): align extended-stable with core
* docs: explain extended-stable plugin alignment
* fix(release): make plugin convergence recoverable
* fix(plugins): preserve extended-stable fallback intent
* fix(release): keep plugin tag mutation credential-isolated
2026-07-05 16:16:26 -07:00
Yung-Chen Tang
f3bcee8b2e
fix: clarify pinned plugin dry-run updates ( #97282 )
...
* fix: clarify pinned plugin dry-run updates
* fix(plugins): normalize pinned npm dry-run versions
2026-06-28 12:18:31 -07:00
Jesse Merhi
ec737ee74d
fix: rebase clawhub install trust ( #81364 )
2026-06-26 18:33:19 +10:00
brokemac79
dd0e4f6e61
fix: avoid plugin update range fallback after metadata failure ( #96143 )
...
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
2026-06-25 17:15:50 -07:00
Radek Sienkiewicz
0247eab773
fix(cli): sync official plugins during update all ( #96831 )
...
Co-authored-by: ooiuuii <169449607+ooiuuii@users.noreply.github.com >
2026-06-25 20:13:37 +02:00
Vincent Koc
767e8280ac
fix(cli): harden official plugin recovery ( #93325 )
...
* fix(cli): harden official plugin recovery
* fix(config): preserve include write context
* fix(config): reject external include mutations
* fix(config): bind snapshots to config paths
* fix(config): preserve write ownership
* fix(cli): preflight plugin config mutations
* chore(plugin-sdk): refresh api baseline
* test(config): prove install env policy mutations
* fix(cli): preflight plugin updates
* fix(cli): preflight non-npm id migrations
* chore(plugin-sdk): refresh api baseline
* fix(cli): satisfy plugin recovery checks
2026-06-15 23:07:29 +08:00
Peter Steinberger
f4d2748ca5
docs: document plugin metadata utilities
2026-06-04 04:57:48 -04: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
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
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
Peter Steinberger
b653d94918
chore(lint): enable no-useless-assignment
2026-05-31 22:40:48 +01:00
Peter Steinberger
f5eca3f84c
chore(lint): enable object and reassignment rules
2026-05-31 09:32:52 +01:00
Peter Steinberger
3132969c68
fix: fall back from official ClawHub artifact blocks ( #83566 )
...
* fix: fall back from official ClawHub artifact blocks
* test: refresh codex prompt snapshots
* test: refresh code mode prompt snapshots
* test: refresh linux prompt snapshots
2026-05-18 13:00:05 +01:00
Peter Steinberger
2976517bc7
fix(plugins): gate onboarding ClawHub npm fallback
2026-05-18 07:21:42 +01:00
Peter Steinberger
00205cab08
fix(plugins): restrict ClawHub npm fallback scope
2026-05-18 07:21:42 +01:00
JARVIS-Glasses
5214f16e29
fix(update): clear stale plugin refs after failed updates
2026-05-14 00:25:52 +01:00
Jesse Merhi
6c92324c5f
Revert "Check ClawHub trust before plugin installs ( #81307 )" ( #81363 )
...
This reverts commit 87eb450047 .
2026-05-13 19:34:18 +10:00
Jesse Merhi
87eb450047
Check ClawHub trust before plugin installs ( #81307 )
...
Merged via squash.
Prepared head SHA: 273fd7c20e
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-05-13 16:31:52 +10:00
Alex Naidis
a290cd633f
fix(doctor): repair managed plugin peer links
...
Repair managed npm plugin OpenClaw peer links across doctor, install, and update flows.
- relink `peerDependencies.openclaw` packages under managed npm roots during doctor repair
- make read-only doctor preview broken peer links with a `doctor --fix` hint
- reject target plugin installs when their own peer link cannot be repaired, without blocking unrelated installs for stale sibling packages
- preserve update warning behavior for unrepairable package-local `node_modules`
Verification:
- `pnpm test src/plugins/plugin-peer-link.test.ts src/plugins/install.test.ts src/plugins/install.npm-spec.test.ts src/plugins/update.test.ts src/commands/doctor-plugin-registry.test.ts src/commands/doctor/repair-sequencing.test.ts -- --reporter=verbose`
- `pnpm exec oxfmt --check --threads=1 ...`
- `git diff --check`
- Crabbox/Testbox `tbx_01krde1jx199rnpm2rv1rdcj76`: focused tests + `pnpm check:changed`, exit 0
- Real CLI proof in PR body: read-only `openclaw doctor` warning plus `openclaw doctor --fix` symlink repair
Thanks @TheCrazyLex.
2026-05-12 07:49:08 +01:00
Peter Steinberger
738f94b290
fix: clarify update warning states
2026-05-11 18:02:05 +01:00
Peter Steinberger
c9c9c3f7f1
fix: surface plugin beta fallback outcomes
2026-05-11 16:57:27 +01:00
Peter Steinberger
388af50ba1
fix: smooth beta update health checks
2026-05-10 00:20:38 +01:00
pickaxe
d221d7b6a9
fix(plugins): isolate peer-link repair failures
2026-05-06 05:13:01 +01:00
pickaxe
fb42c722f0
fix(plugins): repair peer links after npm updates
2026-05-06 05:13:01 +01:00
Vincent Koc
2014c2327b
fix(plugins): sync official plugin installs during update ( #78065 )
...
* fix(plugins): sync official npm installs during update
* fix(plugins): sync official clawhub installs during update
* test(update): mock official plugin sync helpers
---------
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com >
2026-05-05 17:27:32 -07:00
Patrick Erichsen
8aa7b7a4ca
Tolerate corrupt plugins during update ( #77706 )
...
* fix(update): tolerate corrupt plugin state
* fix(update): preserve corrupt plugin proof state
* fix(update): narrow corrupt plugin warnings
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-05 14:18:26 -07:00
Vincent Koc
b0f841ef37
fix(plugins): honor beta channel for auto installs
2026-05-04 21:33:46 -07:00
pickaxe
2e8761c5c1
fix(plugins): repair missing openclaw peer links on update
2026-05-05 05:04:22 +01:00
Vincent Koc
7c0f5463a5
fix(update): isolate plugin sync failures
...
Disable and skip plugins that fail package-update plugin sync so broken plugin packages do not fail an otherwise successful OpenClaw update.
2026-05-04 14:06:44 -07:00
Peter Steinberger
4820b701a5
fix(plugins): fall back from invalid beta npm updates
2026-05-04 21:55:08 +01:00
Vincent Koc
5ca0aa1d15
fix(plugins): accept stable correction releases
2026-05-03 20:53:23 -07:00
Vincent Koc
616a4e9782
fix(plugins): restore preferred clawhub installs
2026-05-03 20:34:12 -07:00
Vincent Koc
ac00d7882a
fix(plugins): clean resolved npm load paths
2026-05-03 19:51:09 -07:00
Vincent Koc
9799e412f8
fix(plugins): clean pinned externalized load paths
2026-05-03 17:27:18 -07:00
Vincent Koc
c42a349b42
fix(plugins): trust official externalized npm installs
2026-05-03 17:20:47 -07:00
Vincent Koc
f5927cbb43
fix(plugins): update trusted prerelease installs
2026-05-03 17:17:10 -07:00
Simone
c5b559d4ee
fix(plugins): keep npm bridge updates scanned ( #76765 )
...
Keep externalized bundled npm bridge updates on the normal plugin security scanner path instead of granting source-linked official trust without artifact provenance.
Thanks @Lucenx9.
2026-05-03 17:50:31 +01:00