Peter Steinberger
e390781534
refactor: burn cross-directory export name collisions ( #121893 )
...
* refactor: name subsystem logger exports
* refactor(test): distinguish exported test doubles
* refactor: consolidate canonical owner helpers
* refactor: give cross-domain helpers distinct names
* chore(lint): ratchet collision debt baselines
* fix(test): complete collision rename consumers
* fix(test): update remaining collision mock consumers
* fix(test): update transcript reader mock export
* refactor: keep embedded logger name at its owner
* fix(test): align embedded logger mock with owner
* refactor: name shared assistant phase extraction
* fix(ui): update assistant phase extractor import
* chore(generated): refresh collision and SDK baselines
* style(test): format merged plugin mocks
* chore(sdk): refresh API content hashes
2026-08-11 06:50:22 -07:00
Jesse Merhi
d90e47783d
fix(plugins): remove local dependency denylist ( #101813 )
2026-08-11 12:21:29 +10:00
Peter Steinberger
f4387b7a5e
feat(plugins): support the Agent Plugins bundle format ( #120115 )
...
* feat(plugins): support the Agent Plugins bundle format
* docs(plugins): document the Agent Plugins bundle format
* test(agents): preserve agent bundle runtime discovery
* fix(plugins): isolate Agent Plugins data-dir failures and align MCP support reporting
* docs(plugins): list Agent Plugins in the canonical plugin-format guides
* fix(plugins): gate Agent Plugins detection on schema, pure inspection, root-relative cwd
* fix(plugins): record Agent Plugins data-dir ownership explicitly
* docs(plugins): cover Agent Plugins in the CLI install detection guide
* fix(plugins): carry Agent Plugins data-dir and transport contracts through external MCP projections
2026-08-07 02:55:08 -07:00
Peter Steinberger
b4a26783f7
refactor(test): consolidate duplicated requireRecord and provider HTTP mock helpers ( #119982 )
...
* refactor(test): consolidate duplicated test helpers
* test: remove stale record guard import
* fix(test): remove orphaned record guards
* refactor(test): keep record requirement messages exhaustively typed
* fix(test): keep packages/ai record guard package-local
2026-08-06 14:48:01 -07:00
Peter Steinberger
b2da7aa106
fix(plugins): link host declared as direct dependency ( #117738 )
2026-08-01 18:58:33 -07:00
Peter Steinberger
3b519cecb8
refactor(plugins): consolidate security and install test fixtures ( #114410 )
2026-07-27 03:52:37 -04:00
Peter Steinberger
edecdbd05e
refactor(config): config-surface reduction tranche 3 — product consolidations (review request) ( #111527 )
...
* refactor(config): consolidate media model lists
* refactor(config): unify memory configuration
* refactor(config): consolidate TTS ownership
* refactor(config): move typing policy to agents
* refactor(config): retire product-level config surfaces
* refactor(config): share scoped tool policy type
* chore(config): refresh generated baselines
* fix(config): honor agent typing overrides
* fix(config): migrate sibling config consumers
* refactor(infra): keep base64url decoder private
* fix(config): strip invalid legacy TTS values
* chore(config): refresh rebased baseline hash
* fix(doctor): route legacy messages.tts.realtime voice to talk during tts move
* refactor(config): polish final layout names
* refactor(config): freeze retired tuning defaults
* feat(config): add fast mode default symmetry
* refactor(config): key agent entries by id
* docs(config): update final layout reference
* test(config): cover final layout migrations
* chore(config): refresh final layout baselines
* fix(config): align final layout runtime readers
* fix(config): align remaining readers
* fix(config): stabilize final layout migrations
* fix(config): finalize config projection proof
* fix(config): address final layout review
* docs(release): preserve historical config names
* fix(config): complete keyed agent migration
* fix(config): close final migration gaps
* fix(config): finish full-branch review
* fix(config): complete runtime secret detection
* fix(config): close final review findings
* fix(config): finish canonical docs and heartbeat migration
* fix(config): integrate latest main after rebase
* refactor(env): isolate test-only controls
* refactor(env): isolate build and development controls
* refactor(env): collapse process identity indirection
* refactor(env): remove duplicate config and temp aliases
* docs(env): define the operator-facing allowlist
* ci(env): ratchet production variable count
* fix(env): remove stale provider helper import
* fix(env): make ratchet sorting explicit
* test(env): keep test seam in dead-code audit
* test(env): cover ratchet growth and boundary; document surface budgets
* docs(config): document tier-eval consolidations
* docs(config): clarify speech preference ownership
* test(memory): align retired tuning fixtures
* refactor(memory): freeze engine heuristics
* refactor(config): apply tier-eval tranche
* refactor(tts): move persona shaping to providers
* refactor(compaction): move prompt policy to providers
* test(config): align hookified prompt fixtures
* chore(deadcode): classify test-only exports
* chore(github): remove unused spawn helper
* chore(deadcode): classify queue diagnostics
* chore(deadcode): remove unused lane snapshot export
* chore(plugin-sdk): ratchet consolidated surface
* fix(config): integrate latest main after rebase
2026-07-21 20:28:43 -07:00
Dallin Romney
ad34552473
refactor(qa): migrate Matrix scenarios into QA Lab ( #103589 )
...
* refactor(qa): migrate Matrix scenarios into QA Lab
* fix(qa): build Matrix boundary declarations
* fix(qa): preserve Matrix preview boundaries
* fix(qa): preserve Matrix hot reload semantics
* fix(qa): harden Matrix destructive scenario failures
* fix(qa): harden Matrix scenario isolation
* fix(qa): close Matrix negative scenario blind spots
* fix(qa): isolate Matrix substrate state
* fix(qa): harden Matrix transport substrate
* fix(qa): preserve Matrix profile and event parity
* fix(qa): preserve explicit scenario models
* fix(qa): align Matrix scenario coverage taxonomy
* fix(qa): format Matrix allowlist cleanup
* fix(qa): satisfy migrated Matrix CI contracts
* fix(qa): reconcile Matrix migration with current main
* fix(qa): break scenario flow import cycle
* fix(qa): reconcile Matrix max-lines ownership
* fix(qa): address Matrix review boundaries
* fix(qa): remove stale Matrix lint suppression
* fix(qa): adopt split Matrix E2EE flows
* fix(qa): export Matrix scenario record guard
* fix(qa): align Matrix migration with privatized helpers
* refactor(qa): finish Matrix QA Lab ownership
* fix(qa): preserve Matrix suite defaults
* fix(qa): reconcile Matrix cleanup with current main
* test(qa): follow canonical Matrix profile size
* fix(qa): guard stale Matrix QA package output
* docs(qa): redirect retired Matrix QA pages
* refactor(qa): finish Matrix runner rename
* test(qa): assert Matrix defaults through profile resolver
* docs: refresh QA cleanup map
* fix(qa): privatize Matrix storage discovery
2026-07-15 01:22:20 -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
ca83f1ca51
fix(ci): restore release validation after runtime migrations ( #107371 )
...
* test(ci): repair plugin prerelease validation
* test(zalo): preserve adapter narrowing in sender helpers
* test(ci): track current bundled startup metadata
* fix(google-meet): refresh plugin shrinkwrap
2026-07-14 03:52:44 -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
Vincent Koc
e7f9a430e3
refactor(plugins): remove obsolete plain-file installer ( #105205 )
2026-07-12 17:00:50 +08:00
ooiuuii
dd055c4f7c
fix: npm plugin updates break running gateway imports ( #95589 )
...
Merged via squash.
Prepared head SHA: 74ecbbbb98
Co-authored-by: ooiuuii <169449607+ooiuuii@users.noreply.github.com >
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com >
Reviewed-by: @vincentkoc
2026-06-23 18:07:57 +08:00
Vincent Koc
13d474134f
refactor(plugins): dedupe install test fixtures
2026-06-18 19:44:18 +08:00
Vincent Koc
19c7731292
fix(plugins): classify npm-pack security events as archives
2026-06-17 16:11:32 +08:00
Vincent Koc
81df1b239b
fix(plugins): satisfy install security lint
2026-06-17 16:11:32 +08:00
Vincent Koc
80c47ecb99
test(plugins): narrow npm install mock options
2026-06-17 16:11:32 +08:00
Vincent Koc
122f29e5ea
fix(plugins): preserve install security provenance
2026-06-17 16:11:32 +08:00
Vincent Koc
b6714bf109
fix(diagnostics): preserve plugin security identities
2026-06-17 16:11:32 +08:00
Vincent Koc
7279f43bbb
fix(plugins): avoid duplicate npm install security events
2026-06-17 16:11:32 +08:00
Vincent Koc
b86b891326
feat(plugins): emit security events for installs
2026-06-17 16:11:32 +08:00
Sally O'Malley
e6ffcf7362
docs: clarify before_install hook scope ( #92766 )
...
Signed-off-by: sallyom <somalley@redhat.com >
2026-06-13 16:54:04 -04:00
Peter Steinberger
8975f75c8b
docs: document plugin public surface helpers
2026-06-04 04:22:45 -04: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
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
23dac6c263
test: keep vitest cases under one second
2026-05-31 06:51:34 +01:00
Rohit
376b03f8ea
fix(plugins): reject incompatible package plugin API installs ( #87477 )
...
* fix(plugins): enforce package plugin API compatibility
* fix(plugins): preserve plugin API prerelease floors
* fix(plugins): gate persisted plugin api compatibility
* fix(plugins): skip incompatible package discovery
* fix(plugins): check api compatibility before package shape
* fix(plugins): gate bundle package api compatibility
* docs(plugins): clarify plugin API release sync
* test(agents): keep dynamic live model unit test runtime-free
* fix(plugins): normalize correction plugin api floors
* test(agents): align dynamic normalizer expectation
* fix(plugins): reject malformed plugin api metadata
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-28 20:25:30 +01:00
Peter Steinberger
aab5410bd5
test: speed up slow test suite ( #87611 )
...
* test: speed up slow test suite
* test: preserve fake timer cleanup hooks
* test: avoid timeout readiness race
* test: satisfy reply test types
* test: restore runner and image coverage
* test: restore final media runner path
* test: make cli auth status fixture deterministic
* test: repair runtime alias fixtures
2026-05-28 13:20:19 +01:00
Peter Steinberger
75fc0bce0f
test: speed up plugin install suites
2026-05-27 00:46:44 +01:00
Vincent Koc
793e300cc5
fix(plugins): support linked source checkouts on Windows
2026-05-25 03:36:06 +02:00
Peter Steinberger
868315aef0
test: fix install readdir mock typing
2026-05-17 14:12:55 +01:00
Peter Steinberger
e43a2efcdb
test: harden wsl2 fixtures
2026-05-17 13:45:21 +01:00
Vincent Koc
c277138959
test(plugins): share archive fixture packing
2026-05-17 01:35:39 +08:00
Vincent Koc
e650f8930d
fix(test): avoid scanning plugin archive entries
2026-05-16 14:35:24 +08:00
Vincent Koc
d2e0a8231f
fix(plugins): reject malformed package entries
2026-05-16 03:44:33 +08:00
Peter Steinberger
cf571c1b58
fix(plugins): scope install scanner to runtime graph
2026-05-13 21:22:37 +01:00
Peter Steinberger
439e396262
fix(plugins): allow benign LanceDB runtime shims
2026-05-13 20:24:46 +01:00
Pavan Kumar Gondhi
39bcd1e088
fix(plugins): scan installed dependency runtime code [AI] ( #81066 )
...
* fix: scan installed plugin dependency code
* addressing review-skill
* addressing review-skill
* addressing codex review
* addressing codex review
* addressing codex review
* addressing codex review
* addressing codex review
* addressing codex review
* addressing codex review
* addressing codex review
* addressing ci
* addressing ci
* docs: add changelog entry for PR merge
2026-05-13 10:26:24 +05:30
Peter Steinberger
cf1987bbe9
test: dedupe plugin install mock reads
2026-05-12 22:48:58 +01:00
Shakker
9456cc850a
test: signal plugin warning text
2026-05-12 21:48:49 +01:00
Pavan Kumar Gondhi
a5dce367ce
fix: scan plugin runtime entries during install [AI] ( #80998 )
...
* fix: scan plugin runtime entries during install
* addressing review-skill
* addressing claude review
* docs: add changelog entry for PR merge
2026-05-12 20:28:40 +05:30
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
433634066c
test: guard plugin install mock calls
2026-05-12 06:57:58 +01:00
Peter Steinberger
fdb65c035e
test: clear plugin install broad matchers
2026-05-10 15:01:23 +01:00
Shakker
0fef42ddcc
test: tighten plugin extension array assertions
2026-05-09 05:58:17 +01:00
Peter Steinberger
a44021ce17
test: tighten plugin contract assertions
2026-05-08 14:33:24 +01:00
Shakker
a40ef6691e
test: assert plugin install scanner warnings
2026-05-08 10:41:53 +01:00
Peter Steinberger
9ef37d1907
test: tighten assertions and harness coverage
2026-05-08 05:28:12 +01:00
hcl
d193d15f17
fix(plugins): explain source-only package diagnostics ( #77835 ) ( #77842 )
2026-05-05 17:43:13 -07:00
Vincent Koc
54300e5270
fix(plugins): quiet official npm install scan warnings
2026-05-04 02:40:55 -07:00