Peter Steinberger
4e0c18238d
fix: harden release model discovery
2026-05-27 10:40:56 +01:00
Peter Steinberger
754a1c8cea
fix: keep static manifest models in release live checks
2026-05-27 10:40:55 +01:00
Peter Steinberger
ee76882d81
fix: keep provider catalog entries on release live path
2026-05-27 10:40:55 +01:00
Peter Steinberger
15582cfe21
fix: restore provider-scoped release discovery
2026-05-27 10:40:55 +01:00
Peter Steinberger
227057af93
test: align startup provider plugin expectations
2026-05-27 10:40:55 +01:00
Peter Steinberger
65118c86ea
refactor: remove legacy provider compat paths
2026-05-27 10:40:54 +01:00
Peter Steinberger
e88dd9b0d0
refactor: remove static model and pi auth paths
...
Drop static model catalogs and Pi auth bridges, move model/provider facts to manifest-owned runtime contracts, and harden internal embedded-agent utilities.
2026-05-27 10:40:53 +01:00
Peter Steinberger
d927fdca8f
refactor: tighten agent session runtime
...
Make agent-core/runtime dependencies explicit, consolidate compaction and session transcript helpers, and move model/session helpers behind OpenClaw-owned contracts.
2026-05-27 10:40:39 +01:00
Peter Steinberger
07101b191e
refactor: remove pi runtime internals
...
Rename remaining Pi-shaped agent surfaces to OpenClaw agent runtime names, delete obsolete Pi docs and package graph checks, and add the third-party notice for incorporated code.
2026-05-27 10:40:38 +01:00
Peter Steinberger
1507a9701b
refactor: centralize inbound supplemental context
...
* refactor: centralize inbound supplemental context
* refactor: trim supplemental finalizer typing
* docs: clarify supplemental context projection
* refactor: move inbound finalization into core
* refactor: simplify channel inbound facts
* refactor: fold supplemental media into inbound finalizer
* refactor: migrate channel inbound callers to builder
* docs: mark inbound finalizer compat types deprecated
* refactor: wire runtime turn context builder
* refactor: replace channel turn runtime API
* fix: respect discord quote visibility
* fix: avoid deprecated line dispatch helper
* refactor: deprecate channel message SDK seams
* docs: trim channel outbound SDK page
* test: migrate irc inbound assertion
* refactor: deprecate outbound SDK facades
* refactor: deprecate channel helper SDK facades
* refactor: deprecate channel streaming SDK facade
* refactor: move direct dm helpers into inbound SDK
* chore: mark legacy test-utils SDK alias deprecated
* refactor: remove unused allow-from read helper
* refactor: route remaining channel dispatch through core
* refactor: enforce modern extension SDK imports
* test: give slow image root tests more time
* ci: support node fallback on windows
* fix: add transcripts tool display metadata
* refactor: trim legacy channel test seams
* fix: preserve channel compat after rebase
* fix: keep deprecated channel inbound aliases
* fix: preserve discord thread context visibility
* fix: clean final rebase conflicts
* fix: preserve channel message dispatch aliases
* fix: sync channel refactor after rebase
* fix: sync channel refactor after latest main
* fix: dedupe memory-core subagent mock
* test: align clickclack inbound dispatch assertions
* fix: sync plugin sdk api hash after rebase
* fix: sync channel refactor after latest main
* fix: sync plugin sdk api hash after rebase
* fix: sync plugin sdk api hash after latest main
* test: remove stale inbound context awaits
2026-05-27 09:26:06 +01:00
Agustin Rivera
08a73dbe4b
fix(qqbot): gate fallback approval buttons ( #87154 )
...
QQBot fallback approval buttons now reuse the same slash-command authorization path as real commands, including access groups and default-account config merging.
Verification:
- node scripts/test-extension.mjs qqbot
- node --max-old-space-size=8192 --import tsx scripts/generate-plugin-sdk-api-baseline.ts --check && git diff --check
- pnpm lint --threads=8
- node scripts/run-vitest.mjs src/agents/agent-command.live-model-switch.test.ts
- GitHub PR checks for 7cc0f15031 : passed
Thanks @eleqtrizit.
Co-authored-by: Agustin Rivera <agustin@rivera-web.com >
2026-05-27 08:44:55 +01:00
Peter Steinberger
ef2ebeef89
fix: keep root help plugin descriptor loading quiet
2026-05-27 08:22:01 +01:00
Super Zheng
6790b0f792
perf(secrets): propagate snapshots and eliminate esm side-effects in auth env vars ( #86439 )
...
* perf(secrets): propagate snapshots and eliminate esm side-effects in auth env vars
* perf(secrets): reuse provider auth lookup maps
* test(auth): update provider env var mocks
* test(auth): cover rebased provider env mocks
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-27 08:19:07 +01:00
Dallin Romney
780bc79147
fix(plugin-sdk): stop exporting vitest test helpers ( #87120 )
2026-05-26 23:10:41 -07:00
Pablo Guardiola
0c867eef75
feat: expose plugin approval action metadata
...
Expose plugin approval action metadata so plugins can describe richer approval actions across gateway, SDK, channel, and UI surfaces.
2026-05-26 22:46:09 -07:00
Peter Steinberger
b9f6abf5e8
fix: bind plugin command llm auth to host agent
2026-05-27 06:38:35 +01:00
Peter Steinberger
5371b96af1
fix: prefer trusted argv runtime fallback roots
2026-05-27 05:46:51 +01:00
Peter Steinberger
e71b6f7e57
fix: expand startup argv runtime fallback hints
2026-05-27 05:46:51 +01:00
Peter Steinberger
2b9be22c0b
fix: keep plugin runtime fallback on startup root
2026-05-27 05:46:51 +01:00
Peter Steinberger
78b2aeeae4
test: cover plugin runtime diagnostic context
2026-05-27 05:46:51 +01:00
Andy Ye
66a8262028
Fix runtime fallback startup argv default
2026-05-27 05:46:51 +01:00
Andy Ye
41fa603aa8
Fix plugin runtime module resolution diagnostics
2026-05-27 05:46:51 +01:00
Peter Steinberger
05ff771010
test: speed up plugin test fixtures
2026-05-27 05:01:57 +01:00
Peter Steinberger
0ee4ccf02c
perf(gateway): defer startup warning fallback imports
2026-05-27 03:45:42 +01:00
Josh Lehman
9119492f15
fix: preserve plugin LLM command auth ( #85936 )
...
Merged via squash.
Prepared head SHA: e61c724708
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-05-26 22:41:52 -04:00
Peter Steinberger
53f36a8ee6
fix(plugin-sdk): stabilize diagnostic event root alias
...
Fixes #87082 .
Co-authored-by: Kaspre <kaspre@gmail.com >
2026-05-27 03:34:54 +01:00
Kaspre
b3f8a0edf3
fix(plugin-sdk): use Function.name to find onDiagnosticEvent export ( #87084 )
...
* fix(plugin-sdk): use Function.name to find onDiagnosticEvent export
normalizeDiagnosticEventsModule hardcodes `mod.r` as the fallback alias
for onDiagnosticEvent, but the bundler reassigns export aliases across
builds. On 2026.5.25-beta.1, `r` is emitFailoverEvent — calling it as
onDiagnosticEvent returns a non-function, so the combo unsubscribe
closure throws TypeError on every gateway stop.
Replace the hardcoded letter with Function.name introspection. JS
functions retain their original .name regardless of export aliasing,
so this survives bundler alias changes.
Fixes #87082
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
* test(plugin-sdk): cover diagnostic event alias shifts
* fix(plugin-sdk): harden diagnostic alias cleanup
---------
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-26 19:31:41 -07:00
Peter Steinberger
8d6b599737
perf: trim gateway startup planning
2026-05-27 03:04:15 +01:00
Peter Steinberger
2035f38ab2
perf: trim gateway runtime hotspots
2026-05-27 02:17:29 +01:00
Peter Steinberger
eac918d69b
test: fix CI type checks
2026-05-26 20:13:03 -04:00
Peter Steinberger
9f7584c385
test: speed up plugin runtime tests
2026-05-27 01:02:46 +01:00
Peter Steinberger
75fc0bce0f
test: speed up plugin install suites
2026-05-27 00:46:44 +01:00
Alix-007
8ec2b2d09b
fix(auto-reply): suppress repeated silent tokens ( #86848 )
...
* fix(auto-reply): suppress repeated silent tokens
* test(plugin-sdk): cover repeated silent token exports
* test(plugin-sdk): cover custom repeated silent token export
* fix(lint): drop redundant image registry casts
---------
Co-authored-by: Alix-007 <267018309+Alix-007@users.noreply.github.com >
2026-05-27 00:04:57 +01:00
Andy Ye
f3e61580bd
Fix status JSON plugin scan ( #87001 )
...
* fix status json plugin scan
* fix status json metadata imports
* fix channel metadata repair fallback
* fix runtime channel id normalization fallback
* fix status json env channel detection
Co-authored-by: Peter Steinberger <steipete@gmail.com >
* fix signed thinking legacy tool repair
* fix: preserve first signed replay turn
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-26 22:24:25 +01:00
Peter Steinberger
80655fe955
test: fix current suite drift
2026-05-26 16:40:08 -04:00
Peter Steinberger
4007df7f60
fix: improve discord voice playback and wake replies
2026-05-26 19:40:12 +01:00
Peter Steinberger
496fd8f853
perf: cache read-only channel resolution
2026-05-26 17:40:44 +01:00
Peter Steinberger
cac0b2db18
refactor: move transcripts into core
...
Move meeting notes into core transcripts, remove the bundled meeting-notes plugin/API, and require explicit transcripts.enabled before exposing the recording-capable tool.
2026-05-26 14:51:11 +01:00
Peter Steinberger
30e59b4090
test: speed up slow CI regressions
2026-05-26 13:13:19 +01:00
Peter Steinberger
3548cff14b
refactor: migrate validators to TypeBox ( #86639 )
...
* refactor: migrate validators to typebox
* fix: preserve json schema resource refs
* chore: clean schema preflight recursion
* refactor: remove lobster ajv shim
* fix: support schema array refs
* fix: validate schema dependencies
* fix: preserve schema contract checks
* fix: support same-document schema refs
* fix: preserve untyped map defaults
* fix: preserve schema default semantics
* test: avoid thenable schema literals
* test: build conditional schema key
* fix: defer resource id refs to typebox
* fix: reject invalid schema enum metadata
* fix: preserve default branch semantics
* fix: resolve schema resource refs
* fix: narrow conditional default fallback
* fix: preserve uri format validation
* fix: preserve validator compatibility
* test: avoid ajv cache lint violation
* fix: preserve typebox validation diagnostics
* fix: validate defaulted conditional schemas
* fix: normalize mcp draft schemas
* fix: preserve tuple schema defaults
* fix: resolve relative schema refs
* fix: scope typebox format semantics
* fix: align conditional format defaults
* fix: decode schema pointer refs
* fix: filter grouped secretref diagnostics
* fix: preserve default conditional compatibility
* fix: preserve nullable schema compatibility
* fix: settle defaults before conditionals
* fix: preserve default validation invariants
* fix: validate dynamic schema refs
* fix: reject malformed nullable schemas
2026-05-26 08:45:28 +01:00
Peter Steinberger
4118a32aad
test: enforce per-test ci threshold
2026-05-26 04:35:20 +01:00
Peter Steinberger
0c5f622f9a
perf(discord): use libopus-wasm for voice opus
2026-05-26 02:53:29 +01:00
Alex Knight
f824e1596a
Add OpenTelemetry LLM content spans ( #86191 )
...
* feat: add otel llm content spans
* fix: gate otel tool definitions separately
* fix(diagnostics): sanitize tool_call parts and truncate oversized OTEL content attributes
* fix: keep otel content truncation parseable
* fix: simplify codex model diagnostics
* fix(diagnostics): align opt-in GenAI span shape
* test(codex): align resume params after rebase
* fix(diagnostics): keep model content off shared event bus
* test(diagnostics): keep extension tests on sdk boundary
---------
Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-05-26 02:24:02 +01:00
brokemac79
56633e4f3c
fix(cli): route plugin packaging recovery hints
...
Route invalid-config recovery output for source-only installed plugin packages to plugin packaging guidance instead of openclaw doctor --fix.
Validated with focused config/CLI/gateway/plugin tests, autoreview, Crabbox/Testbox E2E tbx_01ksgr80tnvvc13kv6t126yv78, and green PR CI on 3b3ce73d0f .
Thanks @brokemac79.
2026-05-26 01:13:20 +01:00
Deepflame
ea2496b00c
perf(agents): reuse model manifest context
...
Reuse a lazy model manifest context across configured model resolution so common static defaults do not trigger manifest metadata loads, while keeping plugin-owned normalization available when aliases, provider rows, or OpenRouter compat paths need it.
Preserves exact alias behavior, auth-profile-suffixed alias behavior, provider inference from manifest-normalized configured refs, and existing plugin/runtime cache lifecycle rules.
Co-authored-by: Alyana <alyana@lumina.local >
2026-05-26 01:11:47 +01:00
Peter Steinberger
c87957db5e
fix: prefer source public artifacts in source checkouts
2026-05-26 00:17:04 +01:00
Peter Steinberger
c1a026a976
fix: stabilize tests and reduce plugin memory churn
2026-05-26 00:01:30 +01:00
Peter Steinberger
1d21224de3
perf: reduce runtime metadata hotpath churn
...
Reduce runtime metadata hotpath churn by freezing loaded plugin metadata snapshots once and returning the memoized object without clone-on-hit. Reuse persisted package file signatures while preserving realpath containment, cache normalized Jiti alias maps by identity, and defer Discord realtime turn retention/logging until audio starts.
Verification:
- node scripts/run-vitest.mjs src/talk/turn-context-tracker.test.ts src/plugins/plugin-metadata-snapshot.memo.test.ts src/plugins/manifest-registry-installed.test.ts src/plugins/sdk-alias.test.ts src/plugins/installed-plugin-index-records.test.ts
- node scripts/run-vitest.mjs src/plugins/plugin-metadata-snapshot.memo.test.ts
- pnpm test extensions/discord/src/voice/manager.e2e.test.ts --testNamePattern "keeps realtime playback alive|interrupts realtime playback|does not interrupt realtime provider state"
- pnpm lint --threads=8
- pnpm exec oxfmt --check src/plugins/plugin-metadata-snapshot.ts src/plugins/plugin-metadata-snapshot.memo.test.ts src/plugins/manifest-registry-installed.ts src/plugins/installed-plugin-index-record-builder.ts src/plugins/sdk-alias.ts extensions/discord/src/voice/realtime.ts
- pnpm tsgo:core
- pnpm tsgo:extensions
- pnpm build
- autoreview --mode commit --commit HEAD
- PR CI green on head 7dd3e44a78
2026-05-25 23:59:45 +01:00
Peter Steinberger
1531fe2525
perf: reduce runtime cache churn
2026-05-25 23:35:06 +01:00
Peter Steinberger
5b6d03e3e2
perf: reduce runtime cache churn
...
Reduce hot-path cache churn by reusing the active plugin metadata snapshot for manifest model-id normalization when safe, and by avoiding repeated JSON reparses for cached session stores while preserving clone semantics.
Verification:
- pnpm exec oxfmt --check src/plugins/manifest-model-id-normalization.ts src/plugins/manifest-model-id-normalization.test.ts src/config/sessions/store-cache.ts src/config/sessions.cache.test.ts
- node scripts/run-vitest.mjs src/config/sessions.cache.test.ts src/plugins/manifest-model-id-normalization.test.ts src/gateway/session-utils.subagent.test.ts
- pnpm tsgo:core
- autoreview clean
- PR CI green
2026-05-25 22:40:46 +01:00