diff --git a/src/app/(app)/giellie/page.tsx b/src/app/(app)/giellie/page.tsx new file mode 100644 index 0000000..123bc31 --- /dev/null +++ b/src/app/(app)/giellie/page.tsx @@ -0,0 +1,85 @@ +"use client"; + +import Link from "next/link"; +import { useState } from "react"; +import { Bot, Menu } from "lucide-react"; +import { Button } from "@/components/ui/button"; +import { Switch } from "@/components/ui/switch"; +import { ChatList } from "@/components/giellie/chat-list"; +import { MessageList } from "@/components/giellie/message-list"; +import { ApprovalCard } from "@/components/giellie/approval-card"; +import { Composer } from "@/components/giellie/composer"; +import { useGielie } from "@/components/giellie/use-giellie"; + +export default function GielliePage() { + const g = useGielie(); + // Per-session only; resets on reload by design. Never covers email sends. + const [trust, setTrust] = useState(false); + const [showList, setShowList] = useState(false); + + const notReady = g.ready && !g.ready.ready; + + return ( +
{g.error}
} + {g.pending && ( ++ Giellie wants to make {pending.tool_uses.length === 1 ? "this change" : `${pending.tool_uses.length} changes`}: +
+
+ {JSON.stringify(tu.input, null, 2)}
+
+ No chats yet.
} + {chats.map((c) => ( + + ))} +{JSON.stringify(input, null, 2)}
+ {result !== undefined && (
+
+ {result.length > 2000 ? result.slice(0, 2000) + "…" : result}
+
+ )}
+ {String(b.text)}
+ ))} +