mirror of
https://github.com/CopilotKit/CopilotKit.git
synced 2026-09-14 16:26:20 +08:00
8143df4da8
Adds a cookbook recipe + runnable showcase that gives the Built-in Agent OAuth-backed Arcade tools (Gmail, Google News) and renders Arcade's one-time authorization step as a generative-UI "Connect" card in the chat. - docs: showcase/shell-docs/src/content/docs/cookbook/arcade.mdx (+ meta.json, index card) - app: examples/showcases/arcade-tools (Next.js App Router, single-route runtime) Co-authored-by: Cursor <cursoragent@cursor.com>
38 lines
902 B
TypeScript
38 lines
902 B
TypeScript
import type { Metadata } from "next";
|
||
import { Geist, Geist_Mono } from "next/font/google";
|
||
import "./globals.css";
|
||
import { Providers } from "./providers";
|
||
|
||
const geistSans = Geist({
|
||
variable: "--font-geist-sans",
|
||
subsets: ["latin"],
|
||
});
|
||
|
||
const geistMono = Geist_Mono({
|
||
variable: "--font-geist-mono",
|
||
subsets: ["latin"],
|
||
});
|
||
|
||
export const metadata: Metadata = {
|
||
title: "Arcade × CopilotKit Cookbook",
|
||
description:
|
||
"Give your CopilotKit agent authenticated tools (Gmail, Google News) with Arcade, with the OAuth flow rendered as generative UI.",
|
||
};
|
||
|
||
export default function RootLayout({
|
||
children,
|
||
}: Readonly<{
|
||
children: React.ReactNode;
|
||
}>) {
|
||
return (
|
||
<html
|
||
lang="en"
|
||
className={`${geistSans.variable} ${geistMono.variable} h-full antialiased`}
|
||
>
|
||
<body className="min-h-full">
|
||
<Providers>{children}</Providers>
|
||
</body>
|
||
</html>
|
||
);
|
||
}
|