mirror of
https://github.com/HuangYuChuh/ComfyUI_Skills_OpenClaw.git
synced 2026-07-30 03:23:40 +00:00
31 lines
935 B
TypeScript
31 lines
935 B
TypeScript
import { extractSchemaParams } from "./schemaExtraction";
|
|
import type { SchemaParamMap } from "../../types/editor";
|
|
|
|
function isEditorWorkflow(workflowData: unknown) {
|
|
return Boolean(
|
|
workflowData
|
|
&& typeof workflowData === "object"
|
|
&& !Array.isArray(workflowData)
|
|
&& Array.isArray((workflowData as { nodes?: unknown[] }).nodes)
|
|
&& Array.isArray((workflowData as { links?: unknown[] }).links),
|
|
);
|
|
}
|
|
|
|
export function parseWorkflowUpload(fileContent: string): {
|
|
workflowData: Record<string, unknown>;
|
|
schemaParams: SchemaParamMap;
|
|
} {
|
|
const workflowData = JSON.parse(fileContent) as Record<string, unknown>;
|
|
|
|
if (isEditorWorkflow(workflowData)) {
|
|
const error = new Error("Unsupported ComfyUI editor workflow format") as Error & { code?: string };
|
|
error.code = "EDITOR_WORKFLOW_FORMAT";
|
|
throw error;
|
|
}
|
|
|
|
return {
|
|
workflowData,
|
|
schemaParams: extractSchemaParams(workflowData),
|
|
};
|
|
}
|