fix(runtime): 本机估计运行时 - 兼容 Windows 路径覆盖并允许零人数姿态结果

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ddCat
2026-09-09 09:46:18 +08:00
parent ed676046d6
commit 7105b04967
5 changed files with 37 additions and 14 deletions

View File

@@ -144,7 +144,7 @@ async function boundedText(response: Response, limit: number) {
}
function parseResult(value: Record<string, unknown>): LocalPoseResult {
if (value.mimeType !== "image/png" || !isPositiveInteger(value.width) || !isPositiveInteger(value.height) || typeof value.modelId !== "string" || value.device !== "cpu" || value.backend !== "openpose-body" || !isPositiveInteger(value.personCount) || typeof value.pngBase64 !== "string") {
if (value.mimeType !== "image/png" || !isPositiveInteger(value.width) || !isPositiveInteger(value.height) || typeof value.modelId !== "string" || value.device !== "cpu" || value.backend !== "openpose-body" || !isNonNegativeInteger(value.personCount) || typeof value.pngBase64 !== "string") {
throw new LocalRuntimeClientError("runtime_response_invalid", "本机姿态结果无效");
}
const bytes = bytesFromBase64(value.pngBase64, "runtime_response_invalid", "本机姿态结果无效");
@@ -207,3 +207,7 @@ function isRecord(value: unknown): value is Record<string, unknown> {
function isPositiveInteger(value: unknown): value is number {
return typeof value === "number" && Number.isInteger(value) && value > 0;
}
function isNonNegativeInteger(value: unknown): value is number {
return typeof value === "number" && Number.isInteger(value) && value >= 0;
}