fix(ci): parse provider catalog and gateway providers from capabilities fallback
This commit is contained in:
parent
0fdac8aedd
commit
5f43ffa188
@ -84,14 +84,14 @@ elif mode == "capabilities":
|
||||
raise SystemExit(
|
||||
f"expected availableExecutionTargets {expected_targets!r}, got {result.get('availableExecutionTargets')!r}"
|
||||
)
|
||||
provider_catalog = result.get("providerCatalog")
|
||||
if provider_catalog is not None:
|
||||
if not isinstance(provider_catalog, list):
|
||||
raise SystemExit("providerCatalog is invalid")
|
||||
provider_ids = [str(item.get("providerId")) for item in provider_catalog]
|
||||
if provider_ids != ["codex", "opencode", "gemini", "hermes"]:
|
||||
raise SystemExit(f"unexpected providerCatalog: {provider_ids!r}")
|
||||
gateway_providers = result.get("gatewayProviders")
|
||||
capabilities = result.get("capabilities") or {}
|
||||
provider_catalog = result.get("providerCatalog") or capabilities.get("providerCatalog")
|
||||
if not isinstance(provider_catalog, list):
|
||||
raise SystemExit("providerCatalog is missing or invalid")
|
||||
provider_ids = [str(item.get("providerId")) for item in provider_catalog]
|
||||
if provider_ids != ["codex", "opencode", "gemini", "hermes"]:
|
||||
raise SystemExit(f"unexpected providerCatalog: {provider_ids!r}")
|
||||
gateway_providers = result.get("gatewayProviders") or capabilities.get("gatewayProviders")
|
||||
if not isinstance(gateway_providers, list):
|
||||
raise SystemExit("gatewayProviders is missing or invalid")
|
||||
if len(gateway_providers) != 1 or gateway_providers[0].get("providerId") != "openclaw":
|
||||
|
||||
@ -142,28 +142,28 @@ if result.get("availableExecutionTargets") != expected_targets:
|
||||
f"expected availableExecutionTargets {expected_targets!r}, got {result.get('availableExecutionTargets')!r}"
|
||||
)
|
||||
|
||||
provider_catalog = result.get("providerCatalog")
|
||||
if provider_catalog is not None:
|
||||
if not isinstance(provider_catalog, list):
|
||||
raise SystemExit("providerCatalog is invalid")
|
||||
capabilities = result.get("capabilities") or {}
|
||||
provider_catalog = result.get("providerCatalog") or capabilities.get("providerCatalog")
|
||||
if not isinstance(provider_catalog, list):
|
||||
raise SystemExit("providerCatalog is missing or invalid")
|
||||
|
||||
expected_agent_ids = ["codex", "opencode", "gemini", "hermes"]
|
||||
expected_agent_labels = ["Codex", "OpenCode", "Gemini", "Hermes"]
|
||||
if len(provider_catalog) != len(expected_agent_ids):
|
||||
raise SystemExit(
|
||||
f"expected {len(expected_agent_ids)} agent providers, got {provider_catalog!r}"
|
||||
)
|
||||
expected_agent_ids = ["codex", "opencode", "gemini", "hermes"]
|
||||
expected_agent_labels = ["Codex", "OpenCode", "Gemini", "Hermes"]
|
||||
if len(provider_catalog) != len(expected_agent_ids):
|
||||
raise SystemExit(
|
||||
f"expected {len(expected_agent_ids)} agent providers, got {provider_catalog!r}"
|
||||
)
|
||||
|
||||
for index, (provider_id, label) in enumerate(zip(expected_agent_ids, expected_agent_labels)):
|
||||
item = provider_catalog[index]
|
||||
if item.get("providerId") != provider_id:
|
||||
raise SystemExit(f"expected providerId {provider_id!r} at index {index}, got {item!r}")
|
||||
if item.get("label") != label:
|
||||
raise SystemExit(f"expected provider label {label!r} at index {index}, got {item!r}")
|
||||
if item.get("targets") != ["agent"]:
|
||||
raise SystemExit(f"expected agent targets for {provider_id!r}, got {item!r}")
|
||||
for index, (provider_id, label) in enumerate(zip(expected_agent_ids, expected_agent_labels)):
|
||||
item = provider_catalog[index]
|
||||
if item.get("providerId") != provider_id:
|
||||
raise SystemExit(f"expected providerId {provider_id!r} at index {index}, got {item!r}")
|
||||
if item.get("label") != label:
|
||||
raise SystemExit(f"expected provider label {label!r} at index {index}, got {item!r}")
|
||||
if item.get("targets") != ["agent"]:
|
||||
raise SystemExit(f"expected agent targets for {provider_id!r}, got {item!r}")
|
||||
|
||||
gateway_providers = result.get("gatewayProviders")
|
||||
gateway_providers = result.get("gatewayProviders") or capabilities.get("gatewayProviders")
|
||||
if not isinstance(gateway_providers, list):
|
||||
raise SystemExit("gatewayProviders is missing or invalid")
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user