Repository navigation
Conversation
## summary - Apply declared string enum normalization only while comparing values, retaining original input and treating unknown rules as unknown. - Count content references without treating metadata or cached video continuations as uploaded media; retain endpoint pause enforcement. - Share specific constraint errors across admission and execution, keep nested receipt codes, and present image geometry failures bilingually. - Document accepted image request policies and cover actual speech payloads, continuation job IDs, and rejection before task creation. ## validation - Targeted capability, Agent and cache checks: 106 passed, 1 skipped. - Actual request projection and H3 checks: 61 passed, model doubles. - Frontend unit tests: 763 passed with PYTHONUTF8=1 on Windows. - TypeScript/build, i18n, browser manifests, generated contracts and import-layer checks passed. Full Python suite is still running.
## summary Honor a globally disabled exact HTTP endpoint when a continuation profile is undeclared, without borrowing another profile's inputs. Keep route_disabled as the rejection reason during a fresh pause. Verify the public command API creates no continuation job or request on the disabled endpoint and preserves the original remote job ID when the endpoint is available. ## validation The projection and public HTTP regressions both failed before the fix. The three affected test modules now pass all 110 cases with model doubles and real temporary media; no real model inference was run.
## summary Apply the exact global HTTP endpoint closure after profile matching so both a missing profile and missing profile-route details still reject new work. Preserve already explicit operation and profile rejections. ## validation The missing-profile-route regression failed before the fix. All 111 capability projection, availability and H3 tests pass afterward, including public command rejection without a new model request.
|
看过了,整体扎实,判定核心和 fail-open 的骨架是对的(我在本地跑了你的能力子集:243 passed / 1 skipped、node 测试全绿、 三点想确认:
V1 我只动 关于第 2、3 点我先出了个 PR 探形状:#278 —— 7 个新文件 + 你看这个形状能接受吗?如果接受,你那边 Read through #266 — the core is solid: the admission logic and fail-open skeleton hold up (I ran your capability subset locally: 243 passed / 1 skipped, node tests green, Three things I'd like to confirm:
On my side V1 only touches For points 2 and 3 I opened a small PR to test the shape: #278 — 7 new files plus a one-line index entry in Would that shape work for you? If so, |
Summary
Discover optional model capabilities before submitting work, and explain incompatible requests without discarding the user's configuration, inputs or selections.
Linked issue
Refs #224 (V2). The companion Omni S2 PR supplies the discovery endpoint.
Labels
type:feat,area:provider,area:canvas,area:agent.Test plan
Windows, Python 3.12.7 and Node 24.22.1. Integrated upstream
4d15b4e; final codea0fbd18.Focused test entry points:
tests/test_minimax_image.py,tests/test_model_availability.py,tests/test_request_capability_acceptance.py,tests/test_tool_native_mask.pyandtests/browser/capability_discovery.mjs. Setup and commands are in the validation guide.Upstream Z-Image sampling defaults apply only to text-to-image jobs. Capability validation checks the saved sampling values; editing and accepted-task recovery retain their applicable parameters. MiniMax retains its existing routes, image ordering, 16-image limit and result-download checks.
Evidence that it works
Example capability cards from the controlled UI regression:
Provider verification
The normal application completed real GLM chat and MOSS speech requests. The saved speech file played successfully; its transcription matched the submitted text. A failed capability lookup against a legacy service was followed by a successful real chat request without changing configuration or existing tasks.
Capability-state and image-edit regressions use controlled services and fixture media. Real-model mask adherence remains unverified.
Bilingual UI
Both
zh-CNanden-USwere checked in the browser, including live language switching, rejection messages and retained voice selections.AI assistance
This contribution was made with assistance from Codex.