Peter Steinberger
8ed9330a30
perf: defer Slack full startup ( #87760 )
2026-05-28 20:37:09 +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
bb46b79d3c
refactor: internalize OpenClaw agent runtime ( #85341 )
...
* refactor: extract agent core package
Introduce packages/agent-core as the OpenClaw-owned home for reusable agent loop, harness, session, prompt, and runtime dependency contracts.
* refactor: extract shared llm runtime
Move provider model registries, stream wrappers, OAuth helpers, and LLM utilities into src/llm with plugin-sdk barrels instead of depending on the old embedded runtime layout.
* 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.
* 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.
* 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.
* refactor: remove legacy provider compat paths
* docs: remove agent parity notes
* fix: skip provider wildcard metadata parsing
* refactor: share session extension sdk loading
* refactor: inline acpx proxy error formatter
* refactor: fold edit recovery into edit tool
* fix: accept extension batch separator
* test: align startup provider plugin expectations
* fix: restore provider-scoped release discovery
* test: align static asset packaging expectations
* fix: run static provider catalogs during scoped discovery
* fix: add provider entry catalogs for scoped live discovery
* fix: load lightweight provider catalog entries
* fix: refresh provider-scoped plugin metadata
* fix: keep provider catalog entries on release live path
* fix: keep static manifest models in release live checks
* fix: harden release model discovery
* fix: reduce OpenAI live cache probe reasoning
* fix: disable OpenAI cache probe reasoning
* ci: extend OpenAI gateway live timeout
* fix: extend live gateway model budget
* fix: stabilize release validation regressions
* fix: honor provider aliases in model rows
* fix: stabilize release validation lanes
* fix: stabilize release memory qa
* ci: stabilize release validation lanes
* ci: prefer ipv4 for live docker node calls
* fix: restore shared tool-call stream wrapper
* ci: remove legacy pi test shard alias
* fix: clean up embedded agent test drift
* fix: stabilize runtime alias status
* fix: clean up embedded agent ci drift
* fix: restore release ci invariants
* fix: clean up post-rebase runtime drift
* fix: restore release ci checks
* fix: restore release ci after rebase
* fix: remove stale pi runtime path
* test: align compaction runtime expectations
* test: update plugin prerelease expectations
* fix: handle claude live tool approvals
* fix: stabilize release validation gates
* fix: finish agent runtime import
* test: finish post-rebase agent runtime mocks
* fix: keep codex compaction native
* fix: stabilize codex app-server hook tests
* test: isolate codex diagnostic active run
* test: remove codex diagnostic completion race
# Conflicts:
# extensions/codex/src/app-server/run-attempt.test.ts
* ci: fix full release manifest performance run id
* refactor: narrow llm plugin sdk boundary
* chore: drop generated google boundary stamps
* fix: repair rebase fallout
* fix: clean up rebased runtime references
* fix: decode codex jwt payloads as base64url
* fix: preserve shipped pi runtime alias
* fix: add scoped sdk virtual modules
* fix: decode llm codex oauth jwt as base64url
* fix: avoid stale vertex adc negative cache
* fix: harden tool arg decoding and codeql path
* fix: keep vertex adc negative checks live
* refactor: consolidate codex jwt and edit helpers
* fix: await codex oauth node runtime imports
* fix: preserve sdk tool and notice contracts
* fix: preserve shipped compat config boundaries
* fix: align codex oauth callback host
* fix: terminate agent-core loop streams on failure
* fix: keep codex oauth callback alive during fallback
* ci: include session tools in critical codeql scans
* fix: keep Cloudflare Anthropic provider auth header
* docs: redirect legacy pi runtime pages
* fix: honor bundled web provider compat discovery
* fix: protect session output spill files
* fix: keep legacy agent dir env blocked
* fix: contain auto-discovered skill symlinks
* fix: harden agent core sdk proxy surfaces
* fix: restore approval reaction sdk compat
* fix: keep live docker runs bounded
* fix: keep codex oauth redirect host aligned
* fix: resolve post-rebase agent runtime drift
* fix: redact anthropic oauth parse failures
* fix: preserve responses strict tool shaping
* fix: repair agent runtime rebase cleanup
* docs: redirect retired parity pages
* fix: bound auto-discovered resources to roots
* fix: repair post-rebase agent test drift
* fix: preserve bundled provider allowlist migration
* fix: preserve manifest-owned provider aliases
* fix: declare photon image dependency
* fix: keep provider headers out of proxy body
* fix: preserve shipped env aliases
* fix: refresh control ui i18n generated state
* fix: quote read fallback paths
* fix: preview edits through configured backend
* test: satisfy core test typecheck
* fix: preserve ZAI usage auth fallback
* test: repair codex diagnostic test
* fix: repair agent runtime rebase drift
* test: finish embedded runner import rename
* fix: repair agent runtime rebase integrations
* test: align compaction oauth fallback expectations
* fix: allow sdk-auth session models
* fix: update doctor tool schema import
* fix: preserve bedrock plugin region
* fix: stream harmony-like prose immediately
* ci: include session runtime in codeql shards
* fix: repair latest rebase integrations
* fix: honor explicit codex websocket transport
* fix: keep openai-compatible credentials provider-scoped
* fix: refresh sdk api baseline after rebase
* fix: route cli runtime aliases through openclaw harness
* test: rename stale harness mock expectation
* test: rename embedded agent overflow calls
* test: clean embedded auth test wording
* test: use openclaw stream types in deepinfra cache test
* fix: refresh sdk api baseline on latest main
* fix: honor bundled discovery compat allowlists
* fix: refresh sdk api baseline after latest rebase
* fix: remove stale rebase imports
* test: rename stale model catalog mock
* test: mock renamed doctor runtime modules
* fix: map canonical kimi env auth
* fix: use internal model registry in bench script
* fix: migrate deepinfra provider catalog entry
* fix: enforce builtin tool suppression
* fix: route compaction auth and proxy payloads safely
* refactor: prune unused llm registry leftovers
* test: update codex hooks session import
* test: fix model picker ci coverage
* test: align model picker auth mock types
2026-05-27 19:24:04 +01:00
Dallin Romney
d638611684
feat: split diffs language pack
...
Split the diffs viewer Shiki language pack into an external publishable plugin.
The diffs plugin keeps the default curated syntax set, while the new @openclaw/diffs-language-pack package carries the extended Shiki languages for npm and ClawHub distribution. The install metadata includes the external ClawHub spec, and the curated C# alias set keeps both c# and cs supported without the language pack.
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
2026-05-27 18:08:40 +01:00
Mariano
c9d4f7e35c
Deprecate memory-specific embedding provider registration ( #85072 )
...
Merged via squash.
Prepared head SHA: 661eb99066
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-05-27 15:24:17 +02:00
Bob
4d89e00c50
feat(embeddings): add OpenAI-compatible core provider ( #85269 )
...
Merged via squash.
Prepared head SHA: dc9a5d5397
Co-authored-by: dutifulbob <261991368+dutifulbob@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-05-27 14:37:17 +02: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
Sebastien Tardif
e7c7ee4385
docs(manifest): note safe-regex validation for modelPatterns
2026-05-25 20:57:04 +01:00
Peter Steinberger
3e8fd4944f
fix: avoid gateway startup event-loop stalls
...
Defer Gateway channel startup until after readiness, remove startup model prewarm, and move model catalog data onto manifest/static paths so startup no longer loads broad provider runtimes.
Verification:
- focused gateway/catalog/auth/QA Vitest runs
- autoreview clean
- Blacksmith Testbox-through-Crabbox tbx_01ksahn65rsrsqz3q1qyxwf929: pnpm check:changed, exit 0
- PR CI green on ee2b631c72
2026-05-23 15:08:58 +01:00
Peter Steinberger
07694c639d
feat: add meeting notes plugin
...
Adds source-only external meeting notes plugin, SDK source-provider contract, CLI access, date-sharded storage, and Discord voice source.
2026-05-23 10:38:09 +01:00
Bob
ae4806ed9a
feat(plugins): add embedding provider contract ( #84947 )
...
Summary:
- Merged feat(plugins): add embedding provider contract after ClawSweeper review.
Automerge notes:
- PR branch already contained follow-up commit before automerge: chore(plugins): refresh embedding provider sdk baseline
- PR branch already contained follow-up commit before automerge: docs(plugins): document embedding provider contract
- PR branch already contained follow-up commit before automerge: fix(plugins): restore embedding providers after snapshot loads
- PR branch already contained follow-up commit before automerge: fix(plugins): resolve embedding providers from manifests
- PR branch already contained follow-up commit before automerge: fix(plugin-sdk): keep embedding provider registry mutators internal
- PR branch already contained follow-up commit before automerge: chore(plugin-sdk): refresh embedding provider API baseline
Validation:
- ClawSweeper review passed for head 41ebd66ab4 .
- Required merge gates passed before the squash merge.
Prepared head SHA: 41ebd66ab4
Review: https://github.com/openclaw/openclaw/pull/84947#issuecomment-4514762026
Co-authored-by: Bob <dutifulbob@gmail.com >
Co-authored-by: Mariano Belinky <mbelinky@gmail.com >
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: osolmaz
Co-authored-by: osolmaz <2453968+osolmaz@users.noreply.github.com >
2026-05-22 03:36:51 +00:00
Peter Steinberger
957d50ad49
fix: hide unsupported video audio refs
2026-05-18 10:48:39 +01:00
Peter Steinberger
f453904165
feat: add fal and OpenRouter music generation ( #82789 )
...
* feat: add fal and OpenRouter music generation
* fix: repair music generation CI gates
* chore: refresh proof gate
2026-05-17 02:05:22 +01:00
Peter Steinberger
cd91bd9a1e
docs: document admin HTTP RPC plugin
2026-05-15 11:44:58 +01:00
Peter Steinberger
a0f35574d0
Remove codex-cli backend and migrate to Codex runtime
...
Remove the bundled codex-cli backend, migrate legacy codex-cli refs and runtime pins to the Codex app-server runtime, and update live/backend workflow coverage for the supported CLI lanes.
2026-05-14 10:07:18 +01:00
Kevin Lin
6a23e26a27
docs: consolidate plugin install docs ( #81167 )
...
* docs: consolidate plugin install docs
* docs: align plugin getting started page
* snap
* docs: add reusable audit viewer tooling
* docs: add audit viewer doc mode
* docs: add audit viewer diff mode
* docs: strengthen plugin docs audit coverage
* docs: preserve plugin scan order reference
* docs: resolve plugin audit coverage gaps
* docs: strengthen audit line mappings
* docs: narrow plugin docs refactor scope
* docs: preserve plugin audit facts
* docs: keep audit skill local
* docs: remove audit skill from pr
* fix: satisfy plugin scan lint
* docs: address plugin docs review
2026-05-13 13:17:39 -07:00
Peter Steinberger
311e4608d1
feat: unify model catalog registration
2026-05-09 02:34:56 -04:00
Peter Steinberger
ee6052a169
fix(bonjour): default LAN discovery on macOS only
...
Summary:
- add manifest-backed platform-specific default enablement for bundled plugins
- auto-start Bonjour LAN discovery on macOS hosts only
- keep Linux, Windows, and containerized Gateway deployments opt-in while preserving explicit enablement
Verification:
- pnpm test extensions/bonjour/src/advertiser.test.ts src/plugins/bundled-plugin-metadata.test.ts src/plugins/manifest-registry.test.ts src/plugins/channel-plugin-ids.test.ts
- pnpm exec oxfmt --check --threads=1 CHANGELOG.md docs/gateway/bonjour.md docs/gateway/configuration-reference.md docs/gateway/discovery.md docs/gateway/security/index.md docs/plugins/manifest.md extensions/bonjour/openclaw.plugin.json src/plugin-sdk/facade-activation-check.runtime.ts src/plugins/bundled-manifest-contract-plugins.ts src/plugins/bundled-plugin-metadata.test.ts src/plugins/channel-presence-policy.ts src/plugins/default-enablement.ts src/plugins/gateway-startup-plugin-ids.ts src/plugins/installed-plugin-index-record-builder.ts src/plugins/installed-plugin-index-store.ts src/plugins/installed-plugin-index-types.ts src/plugins/installed-plugin-index.ts src/plugins/loader.ts src/plugins/manifest-contract-eligibility.ts src/plugins/manifest-owner-policy.ts src/plugins/manifest-registry-installed.ts src/plugins/manifest-registry.test.ts src/plugins/manifest-registry.ts src/plugins/manifest.ts src/plugins/providers.ts
- git diff --check
- Testbox: pnpm check:changed via Blacksmith Testbox tbx_01kqqf3f8rbrt8afjtcg0ck7qs
Refs #74209
2026-05-03 19:07:27 +01:00
Vincent Koc
76c327c096
fix(plugins): remove unsupported bundle metadata
2026-05-02 11:42:17 -07:00
Vincent Koc
11daaad3d0
feat(plugins): prefer clawhub in onboarding installs
2026-05-02 07:27:20 -07:00
Peter Steinberger
c35ed548bf
docs(plugins): clarify duplicate override diagnostics
2026-05-02 09:12:22 +01:00
Shakker
3cf1dd982b
fix: gate plugin tools from manifest availability
2026-05-02 06:21:08 +01:00
Shakker
7641783d6b
fix: enforce plugin tool manifest contracts
2026-05-02 06:21:08 +01:00
Shakker
6b0356257a
fix: preserve manifest generation availability
2026-05-02 06:21:07 +01:00
Shakker
a1d24e6bdd
docs: document generation provider metadata
2026-05-02 06:21:07 +01:00
Peter Steinberger
4166eeb3ba
fix: keep source plugins from install version gating
2026-05-02 03:36:26 +01:00
Peter Steinberger
7ac23eeeb5
refactor: drop legacy implicit startup sidecar fallback
2026-05-01 22:58:18 +01:00
Peter Steinberger
d2ae2a3fb0
fix(plugins): require declared runtime setup entries
2026-05-01 22:36:18 +01:00
clawsweeper[bot]
3bd6b54f0b
fix: compatibility gaps in the new Google Vertex ADC manifest evidence
...
Tighten Google Vertex ADC manifest evidence to canonical project env vars and canonical ADC fallback paths only.
Local proof:
- OPENCLAW_VITEST_MAX_WORKERS=1 pnpm test src/agents/model-auth.profiles.test.ts src/plugins/manifest-registry.test.ts src/secrets/provider-env-vars.dynamic.test.ts
- pnpm exec oxfmt --check --threads=1 docs/plugins/manifest.md extensions/google/openclaw.plugin.json src/agents/model-auth-env.ts src/agents/model-auth.profiles.test.ts src/plugins/manifest.ts
- git diff --check origin/main...HEAD
CI note: checks-node-core-support-boundary was red on an unrelated tooling assertion in test/scripts/test-projects.test.ts for packages/sdk/src/index.test.ts routing; that file and scripts/test-projects.mjs are unchanged from origin/main.
2026-04-30 01:52:09 +01:00
Shakker
5a606947b5
docs: document manifest auth evidence
2026-04-30 00:13:12 +01:00
Shakker
4fbd683819
test: clarify manifest catalog alias planning
2026-04-29 09:40:45 +01:00
Shakker
c0ec58f4b6
fix: preserve runtime kind install fallback
2026-04-28 18:04:54 +01:00
Shakker
d48c3e12a5
feat: gate legacy startup sidecar fallback
2026-04-28 06:31:55 +01:00
Shakker
d062f8130b
feat: warn on implicit startup plugin compatibility
2026-04-28 06:18:45 +01:00
Shakker
72c4854fa0
docs: document plugin startup activation
2026-04-28 03:13:20 +01:00
Shakker
197f95c94d
docs: clarify refreshable model catalog authority
2026-04-28 02:59:07 +01:00
Shakker
8ac10cf164
refactor: support refreshable manifest list rows
2026-04-28 02:59:06 +01:00
Peter Steinberger
947aae5a99
refactor(models): move suppressions to manifests
2026-04-28 02:38:31 +01:00
Peter Steinberger
f7d67b8ea8
fix(channels): ignore persisted auth for auto-enable
2026-04-27 20:33:43 +01:00
Shakker
e535b313cd
docs: document manifest alias suppression behavior
2026-04-27 17:13:11 +01:00
Peter Steinberger
b74f35ee6f
refactor(plugins): move provider routing metadata to manifests
2026-04-27 10:06:30 +01:00
Peter Steinberger
f97cc58760
fix(browser): auto-start configured browser plugin
2026-04-27 09:37:10 +01:00
Peter Steinberger
a60f15c611
refactor(gateway): move model pricing policy to manifests
2026-04-27 09:26:53 +01:00
Vincent Koc
1fc5b2b703
feat(migrations): add plugin-owned Hermes import
...
* feat: add migration providers
* feat: offer Hermes migration during onboarding
* feat(hermes): map imported config surfaces
* feat(onboard): require fresh migration imports
* docs(cli): clarify Hermes import coverage
* chore(migrations): rename Hermes importer package
* chore(migrations): rewire Hermes importer id
* fix(migrations): redact migration JSON details
* fix(hermes): use provider runtime for config imports
* test(hermes): cover missing source planning
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-04-27 00:34:29 -07:00
Peter Steinberger
878e1a2201
fix(plugins): preload cli backend runtime owners
2026-04-26 08:59:41 +01:00
Shakker
7a7728db13
fix: keep native command auto defaults cold
2026-04-26 07:55:00 +01:00
Vincent Koc
62a5963d24
feat(providers): add provider index install metadata
2026-04-25 22:52:21 -07:00
Vincent Koc
46b9044c3f
docs: update model input modalities and OTEL token-metric attrs
...
Two recent commits added user-facing surface that left signature-style
references in docs stale:
- 4428661779 Alvin Tang (#20721 , thanks @alvinttang) extends the
configured model 'input' modality set to also accept 'audio' and
'video', matching what providers like LM Studio already report.
docs/plugins/manifest.md model-fields table listed only
'text | image | document', so add 'audio' and 'video'.
- 44da034516 Vincent (thanks @oc-factus) adds a bounded openclaw.agent
attribute on the openclaw.tokens counter so per-agent dashboards can
group usage. docs/gateway/opentelemetry.md metric reference omitted
it; add it to the attrs list.
2026-04-25 21:39:44 -07:00
Shakker
c953e98c59
docs: clarify provider index foundation scope
2026-04-26 05:14:51 +01:00
Shakker
e827778129
fix: keep provider index previews authoritative
2026-04-26 05:14:51 +01:00