mirror of
http://192.168.0.88:13333/lywsvip/openclaw-zero-token.git
synced 2026-05-19 00:39:33 +08:00
Major upgrade from e26988a38 to upstream v2026.3.28 (f9b107928).
Key changes:
- Upstream src/, ui/, extensions/ (89 bundled extensions)
- Zero-token web providers preserved in src/zero-token/
- AskOnce plugin restored and registered as CLI command
- Added missing packages: @anthropic-ai/vertex-sdk, @modelcontextprotocol/sdk
- Fixed tsconfig rootDir, skipLibCheck for plugin-sdk DTS build
- Added askonce to bundled plugin metadata and package.json exports
- Fixed AskOnce CLI command registration (missing commands metadata)
- Restored AskOnce adapter imports (correct 5-level relative paths)
- Removed stale migration artifacts from root directory
1.9 KiB
1.9 KiB
Extensions Boundary
This directory contains bundled plugins. Treat it as the same boundary that third-party plugins see.
Public Contracts
- Docs:
docs/plugins/building-plugins.mddocs/plugins/architecture.mddocs/plugins/sdk-overview.mddocs/plugins/sdk-entrypoints.mddocs/plugins/sdk-runtime.mddocs/plugins/sdk-channel-plugins.mddocs/plugins/sdk-provider-plugins.mddocs/plugins/manifest.md
- Definition files:
src/plugin-sdk/plugin-entry.tssrc/plugin-sdk/core.tssrc/plugin-sdk/provider-entry.tssrc/plugin-sdk/channel-contract.tsscripts/lib/plugin-sdk-entrypoints.jsonpackage.json
Boundary Rules
- Extension production code should import from
openclaw/plugin-sdk/*and its own local barrels such as./api.tsand./runtime-api.ts. - Do not import core internals from
src/**,src/channels/**,src/plugin-sdk-internal/**, or another extension'ssrc/**. - Do not use relative imports that escape the current extension package root.
- Keep plugin metadata accurate in
openclaw.plugin.jsonand the packageopenclawblock so discovery and setup work without executing plugin code. - Treat files like
src/**,onboard.ts, and other local helpers as private unless you intentionally promote them throughapi.tsand, if needed, a matchingsrc/plugin-sdk/<id>.tsfacade. - If core or core tests need a bundled plugin helper, export it from
api.tsfirst instead of letting them deep-import extension internals.
Expanding The Boundary
- If an extension needs a new seam, add a typed Plugin SDK subpath or additive export instead of reaching into core.
- Keep new plugin-facing seams backwards-compatible and versioned. Third-party plugins consume this surface.
- When intentionally expanding the contract, update the docs, exported subpath list, package exports, and API/contract checks in the same change.