mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 05:20:43 +00:00
fix(onboarding): scope video-only provider auth choices
This commit is contained in:
@@ -131,6 +131,9 @@ Docs: https://docs.openclaw.ai
|
||||
- Providers/MiniMax: register `minimax-portal` for music and video generation,
|
||||
preserving OAuth auth and regional MiniMax base URLs across the shared
|
||||
`music_generate` and `video_generate` tools. (#63241) Thanks @tars90percent.
|
||||
- Providers/onboarding: keep Runway and Alibaba Model Studio out of the
|
||||
text-inference setup picker by scoping their video-generation auth choices to
|
||||
the media setup flow. (#65856) Thanks @Jah-yee.
|
||||
- Plugins/Bonjour: stop the gateway from crash-looping on `CIAO PROBING CANCELLED` when the mDNS watchdog cancels a stuck probe. Restores the rejection-handler wiring dropped during the bonjour plugin migration and shares unhandled-rejection state across module instances so plugin-staged copies of `openclaw/plugin-sdk/runtime` register into the same handler set the host consults. Especially affects Docker on macOS, where mDNS probing reliably hits the watchdog. Thanks @troyhitch.
|
||||
- Google Meet: report pinned Chrome nodes as offline or missing capabilities in
|
||||
setup/join diagnostics, keep inaccessible nodes out of auto-selection, and
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
"groupId": "alibaba",
|
||||
"groupLabel": "Alibaba Model Studio",
|
||||
"groupHint": "DashScope / Model Studio API key",
|
||||
"onboardingScopes": ["image-generation"],
|
||||
"optionKey": "alibabaModelStudioApiKey",
|
||||
"cliFlag": "--alibaba-model-studio-api-key",
|
||||
"cliOption": "--alibaba-model-studio-api-key <key>",
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
"groupId": "runway",
|
||||
"groupLabel": "Runway",
|
||||
"groupHint": "API key",
|
||||
"onboardingScopes": ["image-generation"],
|
||||
"optionKey": "runwayApiKey",
|
||||
"cliFlag": "--runway-api-key",
|
||||
"cliOption": "--runway-api-key <key>",
|
||||
|
||||
@@ -104,6 +104,24 @@ describe("plugin contract registry", () => {
|
||||
});
|
||||
});
|
||||
|
||||
it("keeps video-only provider auth choices out of text onboarding", () => {
|
||||
const registry = loadPluginManifestRegistry({});
|
||||
|
||||
for (const pluginId of ["alibaba", "runway"]) {
|
||||
const plugin = registry.plugins.find(
|
||||
(entry) => entry.origin === "bundled" && entry.id === pluginId,
|
||||
);
|
||||
expect(plugin?.providerAuthChoices).toEqual(
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
provider: pluginId,
|
||||
onboardingScopes: ["image-generation"],
|
||||
}),
|
||||
]),
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
it("covers every bundled speech plugin discovered from manifests", () => {
|
||||
expectRegistryPluginIds({
|
||||
actualPluginIds: pluginRegistrationContractRegistry
|
||||
|
||||
Reference in New Issue
Block a user