Peter Steinberger
4fa1f5d218
fix(file-transfer): enforce node policy in gateway
2026-04-30 01:54:26 +01:00
Agustin Rivera
9a0b43c47e
feat(nvidia): add NVIDIA provider with onboarding flow ( #71204 )
...
* feat(nvidia): add NVIDIA provider with onboarding flow
Add the NVIDIA build.nvidia.com API as a bundled provider. Default model
is nvidia/nvidia/nemotron-3-super-120b-a12b: first segment is the provider
id, remaining "nvidia/nemotron-3-super-120b-a12b" is the literal upstream
model id (which happens to start with "nvidia/" because NVIDIA is also the
model maker).
Supporting core change: introduce a provider capability flag
nativeIdsIncludeProviderPrefix so providers whose native catalog ids
intentionally include their provider prefix (OpenRouter) opt into self-prefix
dedupe in modelKey, without hardcoding provider names in core. Providers
whose ids merely happen to start with their own name (NVIDIA) leave the flag
unset and get the full <provider>/<model-id> concatenation.
- extensions/nvidia/*: new plugin, catalog, onboarding, tests, docs
- extensions/openrouter/index.ts: declare nativeIdsIncludeProviderPrefix
- src/plugins/types.ts: add field to ProviderPlugin
- src/plugins/registry.ts: populate self-prefix set on registration
- src/agents/provider-self-prefix.ts: sync accessor used by modelKey
- src/agents/model-ref-shared.ts: modelKey consults the flag
- test updates for affected surfaces
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
* refactor(model-picker): simplify literal-prefix display to label-only
* fix(model-picker): pass workspaceDir/env to allowlist literal-prefix resolution
* chore: untrack generated baseline JSON artifacts (gitignored)
* fix(nvidia): show literal model ref in picker and onboarding notes
* fix(nvidia): show hint whenever display label differs from stored config
* fix(nvidia): drop redundant hint from Keep current label
* fix(nvidia): restore literal double-prefix display labels
* fix(picker): handle literal-prefix fast path
* fix(picker): show literal keep label
* fix(docs): update nvidia provider docs
* fix(nvidia): update test helper imports
* fix(changelog): add nvidia provider entry
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-29 09:25:12 -07:00
Peter Steinberger
8cf724a381
fix(plugins): simplify bundled runtime deps staging
...
* fix(plugins): simplify bundled runtime deps staging
* refactor(plugins): declare bundled root runtime deps
* fix(plugins): isolate pnpm runtime dependency installs
* test(gateway): wait for deferred agent routing calls in server suite
* test(ci): follow extracted update-channel assertions
* fix(plugins): bypass pnpm age gate for bundled runtime deps
* test: drop stale rebase leftovers
* test: preserve mirrored root dependency drift guard
* test: stage mirrored deps in facade fixtures
* fix(plugin-sdk): expose provider setup metadata
* test(plugin-sdk): satisfy spread lint in facade deps fixture
* refactor(plugins): share bundled runtime deps install flow
* fix(plugins): finish runtime deps rebase cleanup
* fix(plugins): remove stale mirror import
* refactor(plugins): centralize bundled runtime root preparation
* fix(plugins): skip Windows pnpm cmd shims
* refactor(plugins): let package managers own runtime deps staging
* fix(plugins): validate staged runtime deps
* fix(plugins): preserve lazy runtime deps fallback
2026-04-29 17:04:56 +01:00
Vincent Koc
4eba70b532
docs(types): mark legacy aliases deprecated
2026-04-28 23:10:10 -07:00
pashpashpash
6ce1058296
Wire diagnostics through the core chat command ( #72936 )
...
* feat: wire codex diagnostics feedback
* fix: harden codex diagnostics hints
* fix: neutralize codex diagnostics output
* fix: tighten codex diagnostics safeguards
* fix: bound codex diagnostics feedback output
* fix: tighten codex diagnostics throttling
* fix: confirm codex diagnostics uploads
* docs: clarify codex diagnostics add-on
* fix: route diagnostics through core command
* fix: tighten diagnostics authorization
* fix: pin diagnostics to bundled codex command
* fix: limit owner status in plugin commands
* fix: scope diagnostics confirmations
* fix: scope codex diagnostics cooldowns
* fix: harden codex diagnostics ownership scopes
* fix: harden diagnostics command trust and display
* fix: keep diagnostics command trust internal
* fix: clarify diagnostics exec boundary
* fix: consume codex diagnostics confirmations atomically
* test: include codex diagnostics binding metadata
* test: use string codex binding timestamps
* fix: keep reserved command trust host-only
* fix: harden diagnostics trust and resume hints
* wire diagnostics through exec approval
* fix: keep diagnostics tests aligned with bundled root trust
* fix telegram diagnostics owner auth
* route trajectory exports through exec approval
* fix trajectory exec command encoding
* fix telegram group owner auth
* fix export trajectory approval hardening
* fix pairing command owner bootstrap
* fix telegram owner exec approvals
* fix: make diagnostics approval flow pasteable
* fix: route native sensitive command followups
* fix: invoke diagnostics exports with current cli
* fix: refresh exec approval protocol models
* fix: list codex diagnostics from thread bindings
* fix: fold codex diagnostics into exec approval
* fix: preserve diagnostics approval line breaks
* docs: clarify diagnostics codex workflow
2026-04-29 07:40:37 +09:00
Shakker
c0ec58f4b6
fix: preserve runtime kind install fallback
2026-04-28 18:04:54 +01:00
Harry Xie
891c7d9f1c
fix(active-memory): align recall timeout with hook runner
...
Fixes #72606 .
2026-04-28 10:15:01 -05:00
Peter Steinberger
947aae5a99
refactor(models): move suppressions to manifests
2026-04-28 02:38:31 +01:00
EVA
1adaa28dc8
[plugin sdk] Add generic plugin host-hook contracts ( #72287 )
...
Merged via squash.
Prepared head SHA: 68e5f2ce19
Co-authored-by: 100yenadmin <239388517+100yenadmin@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-04-27 17:07:02 -07:00
Shakker
03c4c319e3
feat: declare openai catalog suppressions
2026-04-27 17:13:11 +01:00
Peter Steinberger
775ed36c16
feat(memory): support asymmetric embedding input types
2026-04-27 11:25:40 +01:00
Peter Steinberger
9b0a0fb0a7
refactor: tighten plugin boundary surfaces
2026-04-27 11:19:09 +01:00
Vincent Koc
56ca4e2269
fix(daemon): handle sudo user-systemd gateway install failures
...
* fix(daemon): handle sudo user-systemd gateway install failures
* fix(daemon): harden sudo systemctl user scope
* fix(plugins): remove static type-cycle edges
* test(plugins): update bundle command config mock
2026-04-27 01:34:57 -07: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
556c3e87df
fix(agents): strip Gemma reasoning from local replay
2026-04-27 08:26:28 +01:00
Barron Roth
0594fa3c4d
TTS: add provider personas
2026-04-26 09:42:38 +05:30
Vincent Koc
2495585a32
feat(diagnostics-otel): add exporter health diagnostics
...
Adds diagnostics-otel exporter health events and signal-specific endpoint wiring, with docs and config schema coverage.
2026-04-25 18:34:44 -07:00
Vincent Koc
dcdf97685b
fix(diagnostics): trust internal trace parents ( #71574 )
...
* fix(diagnostics): trust internal trace parents
* fix(diagnostics): harden trusted trace metadata
* fix(tooling): honor explicit oxlint threads
* fix(agents): use stable nonmutating sort helpers
* chore(plugin-sdk): refresh api baseline
* fix(diagnostics): gate internal event subscriptions
* fix(diagnostics): isolate listener event copies
* chore(plugin-sdk): refresh internal diagnostics baseline
* chore(plugin-sdk): refresh diagnostics event baseline
* fix(diagnostics): keep event state module local
* fix(diagnostics): harden internal subscription capability
* fix(diagnostics): freeze listener metadata
2026-04-25 10:18:52 -07:00
Vincent Koc
0bd8d0bba0
fix(plugins): remove Pi tool result compat
2026-04-24 18:13:35 -07:00
Vincent Koc
aa27e27f36
fix(models): normalize provider runtime selection ( #71259 )
...
* fix(models): normalize provider runtime selection
* fix(models): reverse codex-only runtime migration
* fix(models): default runtime selection to pi
* fix(status): label model runtime clearly
* fix(status): align pi runtime label
* fix(plugins): align tool result middleware runtime naming
* fix(models): validate runtime overrides
2026-04-24 16:56:49 -07:00
Peter Steinberger
0c46e8000e
fix(plugins): cache discovery registration snapshots
...
Co-authored-by: junpei.o <14040213+livingghost@users.noreply.github.com >
Co-authored-by: Yoshiaki Okuyama <okuyam2y@gmail.com >
Co-authored-by: Shion Eria <shioneria@foxmail.com >
Co-authored-by: Billy Shih <1472300+bbshih@users.noreply.github.com >
2026-04-24 23:55:29 +01:00
Vincent Koc
47f6a98909
feat(plugins): add harness tool result middleware ( #71021 )
2026-04-24 12:39:13 -07:00
EVA
c138368040
feat: add Codex harness extension seams
...
Co-authored-by: Eva <100yenadmin@users.noreply.github.com >
2026-04-24 09:32:27 +01:00
Vincent Koc
cb4fc58547
feat(plugins): move Bonjour discovery into bundled plugin
...
* fix(deps): detect constant dynamic imports in ownership audit
* feat(plugins): move bonjour discovery into bundled plugin
* test(plugins): remove moved bonjour core tests
* fix(plugins): harden bonjour disable and console restore
* fix(plugins): split gateway discovery ids from services
* fix(plugins): harden bonjour advertiser shutdown
* fix(plugins): clean up bonjour split lint
2026-04-23 23:29:51 -07:00
Peter Steinberger
04066d246a
feat: add browser realtime talk
2026-04-24 03:33:36 +01:00
Peter Steinberger
f523bbfcd1
fix: align claude cli permissions with exec policy
...
Derive Claude CLI bypass mode from OpenClaw exec YOLO policy, preserve raw Claude permission-mode overrides, update docs/changelog, and cover global/per-agent policy behavior.
2026-04-23 23:11:34 +01:00
Shakker
0e1407362d
docs: mark external oauth hook deprecated
2026-04-23 07:22:24 +01:00
Neerav Makwana
14d1c9c4f0
fix(models/auth): merge agents.defaults.models on provider login
...
`openclaw models auth login` was replacing `agents.defaults.models`
wholesale whenever a provider returned a `configPatch` with that key,
even if the patch only listed the new default model. Re-authenticating
an OAuth provider such as OpenAI Codex wiped aliases and per-model
params for every other provider.
Make replacement opt-in via `ProviderAuthResult.replaceDefaultModels`.
Ordinary logins merge their allowlist patch so unrelated entries
survive; the Anthropic -> Claude CLI migration opts in because it
renames keys the merge path would otherwise keep stale.
Fixes #69414 .
Made-with: Cursor
2026-04-23 07:16:24 +01:00
Peter Steinberger
4ad8ed2cbe
refactor: type config schemas as typebox-compatible
2026-04-23 05:22:16 +01:00
Peter Steinberger
b2472d6560
build: migrate schema deps to typebox
2026-04-23 04:59:42 +01:00
Vincent Koc
a5128777ee
feat(codex): add tool hook parity ( #70307 )
...
* feat(codex): add tool hook parity
* fix(codex): stabilize tool hook parity
* fix(codex): tighten transcript hook typing
* fix(codex): preserve mirrored transcript idempotency
* fix(codex): normalize tool hook context
2026-04-22 16:18:10 -07:00
Vincent Koc
91ac485246
feat(tokenjuice): bundle the native adapter ( #69946 )
...
* feat(plugins): register embedded extension factories
* feat(tokenjuice): bundle the native adapter
* fix(tokenjuice): gate the bundled embedded extension seam
* fix(tokenjuice): refresh runtime sidecar baseline
* fix(plugins): harden bundled embedded extensions
* fix(plugins): install source bundled runtime deps
* fix(tokenjuice): sync lockfile importer
* fix(plugins): validate reused runtime dep versions
* fix(plugins): restore tokenjuice CI contract
* fix(plugins): remove tokenjuice dts bridge
* fix(tokenjuice): repair openclaw type shim
* fix(plugins): harden bundled runtime deps
* fix(plugins): keep source checkout runtime deps local
* fix(plugins): isolate bundled runtime dep installs
* fix(cli): keep plugin startup registration non-activating
* fix(cli): keep loader overrides out of plugin cli options
2026-04-21 23:58:37 -07:00
Peter Steinberger
b70531bf24
docs: generalize core channel examples
2026-04-22 06:47:41 +01:00
Shakker
04ecf284fc
fix: use static provider catalogs for model listing
2026-04-22 04:51:38 +01:00
Peter Steinberger
f1805ab54d
fix: centralize provider thinking profiles
2026-04-21 09:13:35 +01:00
Peter Steinberger
6ce17db11a
fix: gate max thinking by model support
2026-04-21 07:02:43 +01:00
Peter Steinberger
e4adb0b0e3
fix: hide adaptive think option for GPT models
2026-04-21 06:19:29 +01:00
Mariano
bd3ad3436e
tasks: add detached runtime plugin registration contract ( #68915 )
...
* tasks: register detached runtime plugins
* tasks: harden detached runtime ownership
* tasks: extract detached runtime contract types
* changelog: note detached runtime contract
* changelog: attribute detached runtime contract
2026-04-19 13:13:11 +02:00
Vincent Koc
859eb06662
refactor(auth): route codex runtimes through canonical oauth
2026-04-18 21:27:27 +01:00
Ayaan Zaidi
2a283e87a7
fix(plugins): enforce synchronous registration
2026-04-17 10:14:00 +05:30
Rugved Somwanshi
0cfb83edfa
feat: LM Studio Integration ( #53248 )
...
* Feat: LM Studio Integration
* Format
* Support usage in streaming true
Fix token count
* Add custom window check
* Drop max tokens fallback
* tweak docs
Update generated
* Avoid error if stale header does not resolve
* Fix test
* Fix test
* Fix rebase issues
Trim code
* Fix tests
Drop keyless
Fixes
* Fix linter issues in tests
* Update generated artifacts
* Do not have fatal header resoltuion for discovery
* Do the same for API key as well
* fix: honor lmstudio preload runtime auth
* fix: clear stale lmstudio header auth
* fix: lazy-load lmstudio runtime facade
* fix: preserve lmstudio shared synthetic auth
* fix: clear stale lmstudio header auth in discovery
* fix: prefer lmstudio header auth for discovery
* fix: honor lmstudio header auth in warmup paths
* fix: clear stale lmstudio profile auth
* fix: ignore lmstudio env auth on header migration
* fix: use local lmstudio setup seam
* fix: resolve lmstudio rebase fallout
---------
Co-authored-by: Frank Yang <frank.ekn@gmail.com >
2026-04-13 15:22:44 +08:00
Vincent Koc
10ee46c373
fix(plugins): extract provider config policy contexts
2026-04-12 03:45:35 +01:00
Vincent Koc
61da711b1a
fix(cycles): split provider runtime model types
2026-04-11 22:50:45 +01:00
Vincent Koc
a88fbf0f64
fix(cycles): split reply payload and option contracts
2026-04-11 22:24:55 +01:00
Vincent Koc
7f5a5a34db
fix(plugins): split hook contract types
2026-04-11 18:06:18 +01:00
Vincent Koc
796d4dfc49
fix(reply): split dispatcher shared types
2026-04-11 16:52:18 +01:00
Vincent Koc
97d1b88e3f
fix(cycles): split plugin runtime contract leaf types
2026-04-11 15:39:32 +01:00
Vincent Koc
74e7b8d47b
fix(cycles): bulk extract leaf type surfaces
2026-04-11 13:26:50 +01:00
Vincent Koc
7308e72fac
fix(cycles): continue seam extraction
2026-04-11 10:43:22 +01:00
Vincent Koc
7198a9f0ee
fix(cycles): reduce remaining static import seams
2026-04-11 02:46:41 +01:00