feat(platform): 开源发布 - 初始化 Open AI Canvas
This commit is contained in:
commit
aea35896eb
365 files changed
+66410
No files matched your search
@@ -0,0 +1,22 @@
|
||||
import type { CanvasGenerationBatch, CanvasGenerationBatchStatus } from "@/types/canvas";
|
||||
|
||||
const TASK_CAPACITY_MESSAGE = "同时排队或运行的任务最多 5 个";
|
||||
|
||||
export function isGenerationTaskCapacityError(error: unknown) {
|
||||
return error instanceof Error && error.message.includes(TASK_CAPACITY_MESSAGE);
|
||||
}
|
||||
|
||||
export function isGenerationCostUncertainError(error: unknown) {
|
||||
const message = error instanceof Error ? error.message : String(error || "");
|
||||
return /(?:^|\D)524(?:\D|$)|费用状态不确定|扣费状态不确定|可能已经产生费用/i.test(message);
|
||||
}
|
||||
|
||||
export function generationBatchStatus(batch: CanvasGenerationBatch): CanvasGenerationBatchStatus {
|
||||
const statuses = batch.items.map((item) => item.status);
|
||||
if (statuses.length > 0 && statuses.every((status) => status === "succeeded")) return "completed";
|
||||
if (statuses.some((status) => status === "waiting" || status === "submitting" || status === "queued" || status === "running")) {
|
||||
return statuses.some((status) => status !== "waiting") ? "running" : "queued";
|
||||
}
|
||||
if (statuses.some((status) => status === "failed")) return "partial_failed";
|
||||
return "cancelled";
|
||||
}
|
||||
Reference in new issue
Block a user