Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion website/src/content/docs/llm/_meta.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { MetaRecord } from "nextra";

export default {
application: "application() functions",
application: "application() function",
structuredOutput: "structuredOutput() function",
parameters: "parameters() function",
schema: "schema() function",
Expand Down
4 changes: 2 additions & 2 deletions website/src/content/docs/llm/http.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ registerMcpControllers({

## Validation Feedback

When used through [MCP](../mcp), [Vercel AI SDK](../vercel), or [Agentica](../chat), `HttpLlm.controller()` embeds [`typia.validate<T>()`](/docs/validators/validate) in every tool for automatic argument validation. When validation fails, the error is returned as text content with inline `// ❌` comments at each invalid property:
When used through [MCP](/docs/llm/mcp), [Vercel AI SDK](/docs/llm/vercel), or [Agentica](/docs/llm/chat), `HttpLlm.controller()` embeds [`typia.validate<T>()`](/docs/validators/validate) in every tool for automatic argument validation. When validation fails, the error is returned as text content with inline `// ❌` comments at each invalid property:

```json
{
Expand Down Expand Up @@ -325,6 +325,6 @@ LLMs frequently return wrong types — numbers as strings, booleans as strings,

Some LLM SDKs (Anthropic, Vercel AI, LangChain, MCP) parse JSON internally and return JavaScript objects directly. In these cases, use `IHttpLlmFunction.coerce()` instead of `IHttpLlmFunction.parse()` to fix types without re-parsing.

For more details, see [JSON Utilities](../json).
For more details, see [JSON Utilities](/docs/llm/json).
</Callout>

17 changes: 11 additions & 6 deletions website/src/movies/HomeStrengthMovie.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ interface FeatureCardProps {

const features: FeatureCardProps[] = [
{
icon: "",
icon: "/favicon/android-chrome-512x512.png",
title: "Super-fast Validation",
code: { method: "validate", argument: true },
metric: "20,000x faster",
Expand All @@ -25,7 +25,7 @@ const features: FeatureCardProps[] = [
href: "/docs/validators/validate",
},
{
icon: "🔄",
icon: "/images/home/json.png",
title: "JSON Serialization",
code: { namespace: "json", method: "stringify", argument: true },
metric: "200x faster",
Expand All @@ -35,7 +35,7 @@ const features: FeatureCardProps[] = [
href: "/docs/json/stringify",
},
{
icon: "🤖",
icon: "/images/home/openai.svg",
title: "LLM Function Calling",
code: { namespace: "llm", method: "application", template: "App", argument: false },
metric: "6.75% → 100%",
Expand All @@ -45,7 +45,7 @@ const features: FeatureCardProps[] = [
href: "/docs/llm/application",
},
{
icon: "📦",
icon: "/images/home/protobuf.png",
title: "Protocol Buffers",
code: { namespace: "protobuf", method: "encode", argument: true },
metric: "Full Spec",
Expand All @@ -55,7 +55,7 @@ const features: FeatureCardProps[] = [
href: "/docs/protobuf/encode",
},
{
icon: "🎲",
icon: "/images/home/random.png",
title: "Random Generator",
code: { method: "random", argument: false },
metric: "Universal",
Expand Down Expand Up @@ -86,7 +86,12 @@ const FeatureCard = (props: FeatureCardProps) => (
sx={{ height: "100%", display: "flex", flexDirection: "column", alignItems: "flex-start", p: 0 }}
>
<CardContent sx={{ p: 3, width: "100%" }}>
<Typography sx={{ fontSize: "2rem", mb: 1.5 }}>{props.icon}</Typography>
<Box
component="img"
src={props.icon}
alt={props.title}
sx={{ height: 72, width: 72, objectFit: "contain", mb: 2 }}
/>
<Typography
variant="h6"
sx={{ fontWeight: 700, fontSize: "1.05rem", mb: 0.5, color: "rgba(255,255,255,0.95)" }}
Expand Down
Loading