Canvas: Support Anthropic Claude based AI agents
Change-Id: Ib74c9672da9a80a4f20d63741a471c728a435b8e
diff --git a/apps/canvas/config/src/graph.ts b/apps/canvas/config/src/graph.ts
index 604bcc4..90523d5 100644
--- a/apps/canvas/config/src/graph.ts
+++ b/apps/canvas/config/src/graph.ts
@@ -163,8 +163,9 @@
codeServerNodeId: string;
sshNodeId: string;
};
- agent?: {
- geminiApiKey?: string;
+ model?: {
+ name: "gemini" | "claude";
+ apiKey?: string;
};
info?: z.infer<typeof serviceAnalyzisSchema>;
};
@@ -306,12 +307,19 @@
});
export const envSchema = z.object({
- instanceId: z.optional(z.string().min(1)),
- deployKeyPublic: z.optional(z.nullable(z.string().min(1))),
- networks: z.array(networkSchema).default([]),
+ deployKeyPublic: z.string().optional(),
+ instanceId: z.string().optional(),
+ networks: z.array(
+ z.object({
+ name: z.string(),
+ domain: z.string(),
+ hasAuth: z.boolean(),
+ }),
+ ),
integrations: z.object({
github: z.boolean(),
gemini: z.boolean(),
+ anthropic: z.boolean(),
}),
services: z.array(serviceInfoSchema),
user: z.object({