+
+
+ {/* Task selector */}
+
+
+
+
+
+
+ {/* Inputs */}
+
+
+
+ Idempotency key (engine-derived):{" "}
+
+ {idempotencyKey ?? "(will be issued on first run)"}
+
+
+
+ {/* Actions */}
+
+
+
+
+
+
+
+
+
+ {/* Progress */}
+ {taskKind === "count" ? (
+
+ ) : (
+
+ )}
+
+
+ {/* Event log */}
+
+
Event log
+
+ {log.length === 0 && (
+ - No events yet.
+ )}
+ {log.map((entry) => (
+ -
+ {new Date(entry.ts).toLocaleTimeString()} — {entry.kind}:{" "}
+ {entry.message}
+
+ ))}
+
+
+