diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx index a99338ac..f002d94f 100644 --- a/apps/web/src/app/layout.tsx +++ b/apps/web/src/app/layout.tsx @@ -50,7 +50,7 @@ export default function RootLayout({
-
+
{children}
diff --git a/apps/web/src/app/mcp-authors/page.tsx b/apps/web/src/app/mcp-authors/page.tsx index 8948ec83..c34ee019 100644 --- a/apps/web/src/app/mcp-authors/page.tsx +++ b/apps/web/src/app/mcp-authors/page.tsx @@ -58,7 +58,7 @@ export default function MCPAuthorsPage() { {/* Features section */} -
+

Production-Ready MCP Gateway

@@ -73,9 +73,9 @@ export default function MCPAuthorsPage() {

- Agentic is fully OSS. It's written in{' '} - TypeScript and has a small but - vibrant developer community.{' '} + Agentic is a fully OSS{' '} + TypeScript project with a small + but vibrant developer community.{' '}

- Agentic is fully OSS. It's written in{' '} - TypeScript and has a small but - vibrant developer community.{' '} + Agentic is a fully OSS{' '} + TypeScript project with a small + but vibrant developer community.{' '} { - className = cn('w-full text-wrap p-4 text-sm rounded-sm', className) + className = cn('w-full text-wrap p-2 md:p-4 text-sm rounded-sm', className) const hast = await codeToHast(code, { lang, diff --git a/apps/web/src/components/example-agentic-configs.tsx b/apps/web/src/components/example-agentic-configs.tsx index f7aee1cb..1380d43f 100644 --- a/apps/web/src/components/example-agentic-configs.tsx +++ b/apps/web/src/components/example-agentic-configs.tsx @@ -49,6 +49,20 @@ export function ExampleAgenticConfigs() { return } + return ( +

+ +
+ ) +} + +function ExampleAgenticConfigsContent({ + config, + setConfig +}: { + config: ExampleAgenticConfig + setConfig: (config: ExampleAgenticConfig) => void +}) { const codeSnippet = getCodeSnippetForExampleAgenticConfig(config) return ( @@ -99,8 +113,14 @@ export function ExampleAgenticConfigs() { +
+ {config.format === 'typescript' + ? 'agentic.config.ts' + : 'agentic.config.json'} +
+
))} diff --git a/apps/web/src/components/example-usage.tsx b/apps/web/src/components/example-usage.tsx index 4f47f397..5764a7ce 100644 --- a/apps/web/src/components/example-usage.tsx +++ b/apps/web/src/components/example-usage.tsx @@ -90,8 +90,43 @@ export function ExampleUsage({ // enabled: !!ctx?.isAuthenticated // }) + return ( +
+ +
+ ) +} + +function ExampleUsageContent({ + projectIdentifier, + prompt, + initialCodeBlock, + isLoading, + isError, + project, + config, + setConfig +}: { + projectIdentifier: string + prompt: string + initialCodeBlock?: JSX.Element + isLoading: boolean + isError: boolean + project?: Project + config?: DeveloperConfig + setConfig: (config: DeveloperConfig) => void +}) { if (isLoading || !config) { - return + return } // TODO: allow to target a specific deployment @@ -124,7 +159,7 @@ export function ExampleUsage({ target: value as Target }) } - className='w-full max-w-3xl' + className='w-full' > {targets.map((target) => ( diff --git a/apps/web/src/components/features.tsx b/apps/web/src/components/features.tsx index 6fe86a53..827e2505 100644 --- a/apps/web/src/components/features.tsx +++ b/apps/web/src/components/features.tsx @@ -37,7 +37,7 @@ const FEATURES: Feature[] = [ name: 'Auth', description: ( <> - Ship to production fast with Agentic's free, built-in authentication. + Ship to production fast with Agentic's free, hosted authentication. Email & password, OAuth, GitHub, Google, Twitter, etc – if your origin API requires OAuth credentials, Agentic likely already supports it, and if not,{' '} @@ -118,14 +118,14 @@ const FEATURES: Feature[] = [ } }, { - name: 'Rate-limiting', + name: 'Rate-Limiting', description: ( <> - All agentic products are protected by durable rate-limiting built on top - of Cloudflare's global infrastructure. Customize the default - rate-limits, change them based on a customer's pricing plan, or create - custom tool-specific overrides. REST assured that your origin API will - be safe behind Agentic's MCP gateway. + Agentic durable rate-limiting is built on top of Cloudflare's global + infrastructure. Customize the default rate-limits, change them based on + a customer's pricing plan, or create custom tool-specific overrides. + REST assured that your origin API will be safe behind Agentic's MCP + gateway. ), icon: ShieldCheckIcon, @@ -144,9 +144,8 @@ const FEATURES: Feature[] = [ Opt-in to caching with familiar cache-control and{' '} stale-while-revalidate options. MCP tool calls include caching information in their _meta fields, providing parity with - standard HTTP headers. All caching takes place in Cloudflare's global - edge cache, and caching will only be enabled if you choose to enable it - for your product or individual tools. + standard HTTP headers. Agentic uses Cloudflare's global edge cache for + caching, which guarantees unmatched global performance. ), icon: DatabaseZapIcon, @@ -177,12 +176,12 @@ const FEATURES: Feature[] = [ name: 'Versioning & Instant Rollbacks', description: ( <> - Just like Vercel, Agentic uses immutable deployments, so every time you - make a change to your product's config, pricing, or docs, a unique - preview deployment is created for that change. This enables instant - rollbacks if there are problems with a deployment. Publishing uses{' '} - semver (semantic versioning), so - your customers can choose how to handle breaking changes. + Agentic uses immutable deployments, so every time you make a change to + your product, a unique preview deployment is created. This enables + instant rollbacks if there are problems with a deployment. Publishing + uses semver (semantic + versioning), so your customers can choose how to handle breaking + changes. ), icon: HistoryIcon, @@ -231,15 +230,15 @@ function Feature({ name, description, icon, pattern, href }: Feature) {
-
+
-

+

{/* */} {name}

-

+

{description}