(stepId: string, input: unknown)
| 10 | } |
| 11 | |
| 12 | export function hashWorkflowStepInput(stepId: string, input: unknown): string { |
| 13 | assertWorkflowStepId(stepId, "workflow step"); |
| 14 | const canonical = JSON.stringify({ stepId, input: canonicalizeWorkflowInput(input) }); |
| 15 | return `sha256:${crypto.createHash("sha256").update(canonical).digest("hex")}`; |
| 16 | } |
| 17 | |
| 18 | export function canonicalizeWorkflowInput(input: unknown): unknown { |
| 19 | if (input == null || typeof input === "string" || typeof input === "boolean") { |
no test coverage detected