Canvas: Render AI agents in tabs

Implements AI Agent chat bubble, but is disabled for now.

Change-Id: If915691a22f376f347b76a5d24333dbe76492ca9
diff --git a/apps/canvas/front/src/components/icon.tsx b/apps/canvas/front/src/components/icon.tsx
index 6bded3a..9a7c564 100644
--- a/apps/canvas/front/src/components/icon.tsx
+++ b/apps/canvas/front/src/components/icon.tsx
@@ -4,11 +4,10 @@
 import { GoFileDirectoryFill } from "react-icons/go";
 import { TbWorldWww } from "react-icons/tb";
 import { PiNetwork } from "react-icons/pi";
-import { AiOutlineGlobal } from "react-icons/ai"; // Corrected import source
-import { Bot } from "lucide-react"; // Bot import
+import { AiOutlineGlobal } from "react-icons/ai";
+import { Bot } from "lucide-react";
 import { Terminal } from "lucide-react";
-import { z } from "zod";
-import { AppNode, accessSchema } from "config";
+import { AppNode, Access } from "config";
 
 type Props = {
 	node: AppNode | undefined;
@@ -45,10 +44,14 @@
 	}
 }
 
-export function AccessType({ type, className }: { type: z.infer<typeof accessSchema>["type"]; className?: string }) {
-	switch (type) {
+export function AccessType({ access, className }: { access: Access; className?: string }) {
+	switch (access.type) {
 		case "https":
-			return <TbWorldWww className={className} />;
+			if (access.agentName) {
+				return <Bot className={className} />;
+			} else {
+				return <TbWorldWww className={className} />;
+			}
 		case "ssh":
 			return <Terminal className={className} />;
 		case "tcp":