fix(config): accept overlays for bundled provider aliases#88400
Conversation
|
Codex review: needs maintainer review before merge. Reviewed June 21, 2026, 3:47 AM ET / 07:47 UTC. Summary PR surface: Source +16, Tests +29. Total +45 across 2 files. Reproducibility: yes. Source inspection shows current main rejects timeout-only overlays unless the provider ID is in the built-in overlay allowlist, and the affected aliases are declared in bundled provider metadata. Review metrics: 2 noteworthy metrics.
Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land the focused allowlist and test update after maintainer review, with an explicit decision on whether current-main Do we have a high-confidence way to reproduce the issue? Yes. Source inspection shows current main rejects timeout-only overlays unless the provider ID is in the built-in overlay allowlist, and the affected aliases are declared in bundled provider metadata. Is this the best way to solve the issue? Yes. For the current static schema design, adding the missing manifest-declared aliases with table coverage is the narrowest maintainable repair; deriving the allowlist from manifests would be broader hardening. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against b15f745a605c. Label changesLabel justifications:
Evidence reviewedPR surface: Source +16, Tests +29. Total +45 across 2 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
Real behavior proof follow-upI added a direct config-schema proof using the production Commandpnpm exec tsx -e 'import { OpenClawSchema } from "./src/config/zod-schema.ts"; const result = OpenClawSchema.safeParse({ models: { providers: { "qwen-oauth": { timeoutSeconds: 600 }, "ollama-cloud": { timeoutSeconds: 120 }, "novita-ai": { timeoutSeconds: 90 } } } }); console.log("schema overlay proof:", result.success ? "PASS" : "FAIL"); if (!result.success) { console.log(result.error.issues.map((issue) => `${issue.path.join(".")}: ${issue.message}`).join("\n")); process.exit(1); } console.log("accepted providers:", Object.keys(result.data.models?.providers ?? {}).join(", "));'OutputThis exercises the real OpenClaw config schema with lightweight bundled-provider overlays. Before this patch, these manifest-declared bundled provider aliases were not in Regression test |
Co-authored-by: Cursor <[email protected]>
51a4ab7 to
8d57529
Compare
|
Updated the branch with Added to the bundled overlay allowlist and regression table:
Validation run locally:
|
…8400) Co-authored-by: Pluviobyte <[email protected]> Co-authored-by: Cursor <[email protected]>
…8400) Co-authored-by: Pluviobyte <[email protected]> Co-authored-by: Cursor <[email protected]>
…8400) Co-authored-by: Pluviobyte <[email protected]> Co-authored-by: Cursor <[email protected]>
…8400) Co-authored-by: Pluviobyte <[email protected]> Co-authored-by: Cursor <[email protected]>
Summary
baseUrlormodels.azure-openai-responses,moonshotai,moonshot-ai,z.ai, andz-ai.Real behavior proof (required for external PRs)
OpenClawSchemapath.node --import tsx --input-type=module --eval 'import { OpenClawSchema } from "./src/config/zod-schema.js"; const aliases = ["azure-openai-responses", "moonshotai", "moonshot-ai", "z.ai", "z-ai"]; const failures = aliases.filter((id) => !OpenClawSchema.safeParse({ models: { providers: { [id]: { timeoutSeconds: 600 } } } }).success); if (failures.length) { console.error(`failed: ${failures.join(", ")}`); process.exit(1); } console.log(`OpenClawSchema safeParse accepted timeout-only overlays: ${aliases.join(", ")}`);'baseUrlormodels.Tests and validation
node scripts/run-vitest.mjs run src/config/zod-schema.models.test.ts: passed, 17 testspnpm exec oxfmt --check src/config/zod-schema.core.ts src/config/zod-schema.models.test.ts: passed(none)git diff --check: passed