Canvas: Add option to deploy latest draft

Change-Id: Ia74c64354e1f80ec794140ce406fb21c16feb0da
diff --git a/apps/canvas/config/src/graph.ts b/apps/canvas/config/src/graph.ts
index c2f8e05..a4634cb 100644
--- a/apps/canvas/config/src/graph.ts
+++ b/apps/canvas/config/src/graph.ts
@@ -609,6 +609,20 @@
 	}),
 ]);
 
+export const GraphConfigOrDraft = z.discriminatedUnion("type", [
+	z.object({
+		type: z.literal("graph"),
+		graph: GraphSchema,
+	}),
+	z.object({
+		type: z.literal("config"),
+		config: ConfigSchema,
+	}),
+	z.object({
+		type: z.literal("draft"),
+	}),
+]);
+
 export type Edge = z.infer<typeof EdgeSchema>;
 export type ViewportTransform = z.infer<typeof ViewportTransformSchema>;
 export type Graph = z.infer<typeof GraphSchema>;
diff --git a/apps/canvas/config/src/index.ts b/apps/canvas/config/src/index.ts
index c10ce31..f6cc9a5 100644
--- a/apps/canvas/config/src/index.ts
+++ b/apps/canvas/config/src/index.ts
@@ -55,6 +55,7 @@
 	Edge,
 	GraphOrConfigSchema,
 	ViewportTransform,
+	GraphConfigOrDraft,
 } from "./graph.js";
 
 export { generateDodoConfig, configToGraph } from "./config.js";