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
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
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
Eva
2a0350b5b4
Separate prompt surfaces by selected harness ( #83454 )
...
* fix: scope agent prompt surfaces
* fix(codex): preserve lightweight project doc suppression
* fix(codex): demote openclaw context for native turns
* fix(codex): report demoted prompt context
* fix(codex): align demoted prompt observability
* docs: format codex runtime table
* docs: align codex prompt overlay docs
* test: align codex prompt snapshots
* test: update prompt snapshot contract
---------
Co-authored-by: Eva (agent) <eva+agent-78055@100yen.org >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-18 13:00:53 +01:00
Peter Steinberger
ae172741e1
feat: dogfood tool plugin helpers
2026-05-17 11:45:18 +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
Peter Steinberger
f7a07d300a
docs(plugin-sdk): document consolidated workflow seams
2026-05-11 03:24:08 +01:00
Peter Steinberger
827b0de0ce
refactor: reduce plugin sdk surface
2026-05-10 12:37:10 +01:00
Peter Steinberger
330ba1fa31
refactor: move canvas to plugin surfaces
2026-05-07 09:07:18 +01:00
Peter Steinberger
42ecd5d95e
fix(acpx): harden session lifecycle cleanup
...
Harden ACPX process cleanup with lease-backed ownership verification, startup orphan reaping, reusable cancel semantics, and spawned-session visibility fixes.
2026-05-07 07:30:37 +01:00
stain lu
74ab62c6a2
fix: pass claude cli thinking effort ( #77410 )
...
Summary:
- Adds a plugin-owned CLI backend argument rewrite hook and wires Anthropic `claude-cli` to translate non-off `/think` levels into Claude Code `--effort`, with docs, changelog, API baseline, and tests.
- Reproducibility: yes. Current main has a high-confidence source reproduction: choose `claude-cli`, set a non ... builds argv from backend args that contain no `--effort` even though `thinkLevel` exists on the run params.
Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.
Validation:
- ClawSweeper review passed for head be17754009 .
- Required merge gates passed before the squash merge.
Prepared head SHA: be17754009
Review: https://github.com/openclaw/openclaw/pull/77410#issuecomment-4372812685
Co-authored-by: stainlu <stainlu@newtype-ai.org >
2026-05-04 18:13:53 +00:00
Peter Steinberger
4b8641094b
fix(discord): preserve slash command localizations
2026-05-02 03:33:26 +01:00
Peter Steinberger
ed8f50f240
refactor: simplify plugin dependency handling
...
Simplify plugin installation and runtime loading around package-manager-owned dependencies, with Jiti reserved for local/TS fallback paths.
Also scans npm plugin install roots so hoisted transitive dependencies are covered by dependency denylist and node_modules symlink checks.
2026-05-01 21:32:22 +01:00
Peter Steinberger
cd0fb36c1c
docs: clarify app sdk documentation
2026-04-30 01:39:55 +01:00
Vincent Koc
9e34fb9feb
fix(plugin-sdk): restore channel compatibility facades
2026-04-28 21:38:11 -07:00
Peter Steinberger
3cad579c4e
fix(plugin-sdk): restore discord compatibility facade
2026-04-28 20:59:26 +01:00
Alex Knight
f155a5f955
Add cron changed plugin hook ( #72773 )
...
* feat: add cron changed plugin hook
* fix: improve cron_changed hook correctness and code quality
- Fix PluginHookGatewayCronDeliveryStatus: replace 'error' with 'unknown'
to match internal CronDeliveryStatus enum
- Add job snapshot to CronEvent so removed events carry the deleted job
- Extract pickDefined helper, replace 14-field verbose spread mapping
- Add toPluginCronJob mapper for explicit internal→public type boundary
- Fix schedule union: use literal-only kind discriminants for TS narrowing
- Use loadConfig() (runtime) instead of params.cfg (startup) in hook ctx
- Use formatErrorMessage instead of String(err) for stack preservation
- Fix pre-existing getCron TS2322 with explicit cast (matches gateway_start)
- Re-export supporting types from hooks.ts for plugin consumers
- Add tests: removed events with job, finished with full fields, runtime cfg
2026-04-28 21:34:42 +10:00
Peter Steinberger
66f80d1ed6
docs: avoid mdx list in sdk overview tip
2026-04-28 05:56:57 +01:00
Peter Steinberger
540cbe24be
fix: allow memory flush model override
2026-04-28 05:50:55 +01:00
Peter Steinberger
1e3ce10e27
refactor(plugin-sdk): remove unused reserved helper exports
2026-04-28 05:00:53 +01:00
Peter Steinberger
518d568de5
test: cover staged bundled facade deps
2026-04-28 03:52:24 +01:00
Peter Steinberger
43a73d6a31
refactor: separate bundled channel schema surface
2026-04-28 02:31:21 +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
Peter Steinberger
9b0a0fb0a7
refactor: tighten plugin boundary surfaces
2026-04-27 11:19:09 +01:00
Vincent Koc
0bd8d0bba0
fix(plugins): remove Pi tool result compat
2026-04-24 18:13:35 -07:00
Vincent Koc
b7c8c53af2
docs(plugins): define config ownership contract
...
* fix(plugins): flag channel config metadata gaps
* docs(plugins): clarify config ownership
2026-04-24 17:17:10 -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
Vincent Koc
7bd74758c5
fix(plugins): harden tool result middleware ( #71241 )
2026-04-24 13:23:18 -07:00
Vincent Koc
47f6a98909
feat(plugins): add harness tool result middleware ( #71021 )
2026-04-24 12:39:13 -07:00
Peter Steinberger
7330a0c7e0
docs: add plugin hooks reference
2026-04-24 18:22:47 +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
Vincent Koc
3ce326168a
docs(plugins): split SDK overview by moving subpath catalog into sdk-subpaths
2026-04-23 15:57:39 -07:00
Vincent Koc
c5c163d078
docs: standardize frontmatter field order (summary before title)
2026-04-23 13:18:17 -07:00
Vincent Koc
27d6b8db5b
docs(plugins): sdk-overview — sentence-case title, tighten intro into Warning, Related as CardGroup, progressive-disclose embedded-factory note
2026-04-23 10:15:58 -07:00
Peter Steinberger
c866820fed
refactor(stt): share transcription helpers
2026-04-23 04:29:35 +01:00
Peter Steinberger
0e7bcf7588
feat(plugin-sdk): share realtime transcription websocket sessions
2026-04-23 03:35:32 +01:00
Vincent Koc
db5895fd2a
refactor(hooks): centralize live plugin config lookup
2026-04-22 13:38:38 -07:00
Vincent Koc
6d003cbcee
fix(hooks): expose typed gateway startup context
2026-04-22 11:22:51 -07:00
Vincent Koc
e593122465
fix(hooks): standardize outbound routing metadata
2026-04-22 10:53:44 -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
fb9a21ae8f
fix: centralize draft preview finalization
2026-04-22 02:32:55 +01:00
Peter Steinberger
674feda214
docs(plugins): document message presentation cards
2026-04-21 21:29:44 +01:00
Peter Steinberger
d7a173e60e
feat(plugin-sdk): add presentation and skills runtime contracts
2026-04-21 21:29:44 +01:00
Tak Hoffman
1303b03241
fix: add silent reply policy by conversation type ( #68644 )
...
Thanks @Takhoffman.
2026-04-21 05:17:55 +01:00
Peter Steinberger
85826c83e4
refactor(google): move Gemini transport into plugin
2026-04-18 21:41:54 +01:00
Peter Steinberger
418056f7a0
perf: narrow plugin SDK import surfaces
2026-04-17 16:05:09 +01:00
Peter Steinberger
77e6e4cf87
refactor: move memory embeddings into provider plugins
2026-04-17 02:57:18 +01:00
Peter Steinberger
bfc0889776
docs: document Codex harness plugin workflow
2026-04-10 21:22:16 +01:00
Mason Huang
aa15de8fdc
plugin-sdk: split command status surface
2026-04-09 01:35:15 +01:00