Files
openclaw-zero-token/test-utils/plugin-registration.ts
sjhu 571e14a236 feat: upgrade to upstream v2026.3.28
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
2026-03-30 17:58:12 +08:00

37 lines
1.1 KiB
TypeScript

import { createCapturedPluginRegistration } from "../plugins/captured-registration.js";
import type { OpenClawPluginApi, ProviderPlugin } from "../plugins/types.js";
export { createCapturedPluginRegistration };
type RegistrablePlugin = {
register(api: OpenClawPluginApi): void;
};
export function registerSingleProviderPlugin(params: {
register(api: OpenClawPluginApi): void;
}): ProviderPlugin {
const captured = createCapturedPluginRegistration();
params.register(captured.api);
const provider = captured.providers[0];
if (!provider) {
throw new Error("provider registration missing");
}
return provider;
}
export function registerProviderPlugins(...plugins: RegistrablePlugin[]): ProviderPlugin[] {
const captured = createCapturedPluginRegistration();
for (const plugin of plugins) {
plugin.register(captured.api);
}
return captured.providers;
}
export function requireRegisteredProvider(providers: ProviderPlugin[], providerId: string) {
const provider = providers.find((entry) => entry.id === providerId);
if (!provider) {
throw new Error(`provider ${providerId} missing`);
}
return provider;
}