Compare commits

..
3 Commits
Author SHA1 Message Date
Chris Tate 39a77bfaad chore: bump versions to 0.3.0 2026-01-20 16:27:37 -06:00
Chris Tate 43756783fe make model configurable (#17)
* make model configurable

* update examples

* fix lint

* update env var name

* fix
2026-01-16 22:45:16 -06:00
Chris Tate af9dd04085 codegen (#15)
* codegen

* fixes

* fix lint

* address feedback
2026-01-16 22:10:07 -06:00
11 changed files with 26 additions and 12 deletions
+7 -2
View File
@@ -1,4 +1,9 @@
# AI Gateway API Key (required for /api/generate endpoint)
# Uses Vercel AI Gateway - automatically authenticated when deployed on Vercel
# Vercel AI Gateway
# Automatically authenticated when deployed on Vercel
# For local development, get your key from https://vercel.com/ai-gateway
AI_GATEWAY_API_KEY=
# AI Model Configuration
# Override the default model used for UI generation
# Default: anthropic/claude-haiku-4.5
AI_GATEWAY_MODEL=anthropic/claude-haiku-4.5
+2 -1
View File
@@ -78,6 +78,7 @@ EXAMPLE (Blog with responsive grid):
Generate JSONL:`;
const MAX_PROMPT_LENGTH = 140;
const DEFAULT_MODEL = "anthropic/claude-haiku-4.5";
export async function POST(req: Request) {
const { prompt } = await req.json();
@@ -85,7 +86,7 @@ export async function POST(req: Request) {
const sanitizedPrompt = String(prompt || "").slice(0, MAX_PROMPT_LENGTH);
const result = streamText({
model: "anthropic/claude-opus-4.5",
model: process.env.AI_GATEWAY_MODEL || DEFAULT_MODEL,
system: SYSTEM_PROMPT,
prompt: sanitizedPrompt,
temperature: 0.7,
+1 -1
View File
@@ -33,7 +33,7 @@ export async function POST(req: Request) {
: '';
const result = streamText({
model: 'anthropic/claude-opus-4.5',
model: 'anthropic/claude-haiku-4.5',
system: systemPrompt + contextPrompt,
prompt,
});
+1 -1
View File
@@ -100,7 +100,7 @@ export async function POST(req: Request) {
const systemPrompt = generateCatalogPrompt(catalog);
const result = streamText({
model: 'anthropic/claude-opus-4.5',
model: 'anthropic/claude-haiku-4.5',
system: systemPrompt,
prompt,
});
+1 -1
View File
@@ -79,7 +79,7 @@ function App() {
const { prompt } = await req.json();
const result = streamText({
model: 'anthropic/claude-opus-4.5',
model: 'anthropic/claude-haiku-4.5',
system: generateCatalogPrompt(catalog),
prompt,
});
+7 -2
View File
@@ -1,4 +1,9 @@
# AI Gateway API Key (required for /api/generate endpoint)
# Uses Vercel AI Gateway - automatically authenticated when deployed on Vercel
# Vercel AI Gateway
# Automatically authenticated when deployed on Vercel
# For local development, get your key from https://vercel.com/ai-gateway
AI_GATEWAY_API_KEY=
# AI Model Configuration
# Override the default model used for dashboard generation
# Default: anthropic/claude-haiku-4.5
AI_GATEWAY_MODEL=anthropic/claude-haiku-4.5
+3 -1
View File
@@ -58,6 +58,8 @@ EXAMPLE - Revenue Dashboard:
Generate JSONL patches now:`;
const DEFAULT_MODEL = "anthropic/claude-haiku-4.5";
export async function POST(req: Request) {
const { prompt, context } = await req.json();
@@ -69,7 +71,7 @@ export async function POST(req: Request) {
}
const result = streamText({
model: "anthropic/claude-opus-4.5",
model: process.env.AI_GATEWAY_MODEL || DEFAULT_MODEL,
system: SYSTEM_PROMPT,
prompt: fullPrompt,
temperature: 0.7,
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@json-render/codegen",
"version": "0.1.0",
"version": "0.3.0",
"license": "Apache-2.0",
"description": "Utilities for generating code from json-render UI trees",
"keywords": [
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@json-render/core",
"version": "0.2.0",
"version": "0.3.0",
"license": "Apache-2.0",
"description": "JSON becomes real things. Define your catalog, register your components, let AI generate.",
"keywords": [
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@json-render/react",
"version": "0.2.0",
"version": "0.3.0",
"license": "Apache-2.0",
"description": "React renderer for @json-render/core. JSON becomes React components.",
"keywords": [
+1
View File
@@ -1,6 +1,7 @@
{
"$schema": "https://turborepo.dev/schema.json",
"ui": "tui",
"globalEnv": ["AI_GATEWAY_MODEL"],
"tasks": {
"build": {
"dependsOn": ["^build"],