From 120b1d2ed2f20ae56834ed213340e7b52bd16e65 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 4 Apr 2026 12:51:31 +0100 Subject: [PATCH] docs: refresh provider package barrel refs --- docs/plugins/architecture.md | 9 +++++++++ docs/plugins/building-plugins.md | 7 +++++++ docs/plugins/sdk-migration.md | 9 +++++++++ 3 files changed, 25 insertions(+) diff --git a/docs/plugins/architecture.md b/docs/plugins/architecture.md index 36efd4f699f..473bab23682 100644 --- a/docs/plugins/architecture.md +++ b/docs/plugins/architecture.md @@ -1072,6 +1072,15 @@ authoring plugins: `/runtime-api.js` is the runtime-only barrel, `/index.js` is the bundled plugin entry, and `/setup-entry.js` is the setup plugin entry. +- Current bundled provider examples: + - Anthropic uses `api.js` / `contract-api.js` for Claude stream helpers such + as `wrapAnthropicProviderStream`, beta-header helpers, and `service_tier` + parsing. + - OpenAI uses `api.js` for provider builders, default-model helpers, and + realtime provider builders. + - OpenRouter uses `api.js` for its provider builder plus onboarding/config + helpers, while `register.runtime.js` can still re-export generic + `plugin-sdk/provider-stream` helpers for repo-local use. - Facade-loaded public entry points prefer the active runtime config snapshot when one exists, then fall back to the resolved config file on disk when OpenClaw is not yet serving a runtime snapshot. diff --git a/docs/plugins/building-plugins.md b/docs/plugins/building-plugins.md index 49fc35321a0..72ddd4a2480 100644 --- a/docs/plugins/building-plugins.md +++ b/docs/plugins/building-plugins.md @@ -238,6 +238,13 @@ For the full subpath reference, see [SDK Overview](/plugins/sdk-overview). Within your plugin, use local barrel files (`api.ts`, `runtime-api.ts`) for internal imports — never import your own plugin through its SDK path. +For provider plugins, keep provider-specific helpers in those package-root +barrels unless the seam is truly generic. Current bundled examples: + +- Anthropic: Claude stream wrappers and `service_tier` / beta helpers +- OpenAI: provider builders, default-model helpers, realtime providers +- OpenRouter: provider builder plus onboarding/config helpers + ## Pre-submission checklist **package.json** has correct `openclaw` metadata diff --git a/docs/plugins/sdk-migration.md b/docs/plugins/sdk-migration.md index 972018ab6ae..3a7acf4b07f 100644 --- a/docs/plugins/sdk-migration.md +++ b/docs/plugins/sdk-migration.md @@ -54,6 +54,15 @@ stable plugin contracts. Use narrow generic SDK subpaths instead. Inside the bundled plugin workspace, keep provider-owned helpers in that plugin's own `api.ts` or `runtime-api.ts`. +Current bundled provider examples: + +- Anthropic keeps Claude-specific stream helpers in its own `api.ts` / + `contract-api.ts` seam +- OpenAI keeps provider builders, default-model helpers, and realtime provider + builders in its own `api.ts` +- OpenRouter keeps provider builder and onboarding/config helpers in its own + `api.ts` + ## How to migrate