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
3 changes: 3 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,6 @@ LM_STUDIO_API_KEY=
# MODEL_PATH=ai_server/wargaming_llm/wargame_final_outputs/checkpoint-125
# LOAD_IN_4BIT=true
# MAX_GPU_MEMORY_GB=4.5

# Vercel deployment variables (optional)
# NEXT_PUBLIC_APP_URL=https://your-custom-domain.vercel.app
12 changes: 7 additions & 5 deletions src/ai/flows/generate-scenario.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,13 @@ import {

const isVercel = process.env.VERCEL === 'true';

const apiBaseUrl = isVercel
? (process.env.VERCEL_ENV === 'production'
? 'https://war-matrix.vercel.app/api' // Hardcode your production domain here
: (process.env.BACKEND_URL ? `${process.env.BACKEND_URL}/api` : '/api'))
: 'http://localhost:8000/api';
const apiBaseUrl = process.env.NEXT_PUBLIC_APP_URL
? `${process.env.NEXT_PUBLIC_APP_URL}/api`
: (isVercel
? (process.env.VERCEL_ENV === 'production'
? 'https://war-matrix.vercel.app/api' // Hardcode your production domain here
: (process.env.BACKEND_URL ? `${process.env.BACKEND_URL}/api` : '/api'))
: 'http://localhost:8000/api');

// ── Input ─────────────────────────────────────────────────────────────────────

Expand Down
12 changes: 7 additions & 5 deletions src/ai/flows/receive-strategic-analysis.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,13 @@ import { GEMINI_API_KEY_COOKIE } from '@/lib/gemini-auth';

const isVercel = process.env.VERCEL === 'true';

const apiBaseUrl = isVercel
? (process.env.VERCEL_ENV === 'production'
? 'https://war-matrix.vercel.app/api' // Hardcode your production domain here
: (process.env.BACKEND_URL ? `${process.env.BACKEND_URL}/api` : '/api'))
: 'http://localhost:8000/api';
const apiBaseUrl = process.env.NEXT_PUBLIC_APP_URL
? `${process.env.NEXT_PUBLIC_APP_URL}/api`
: (isVercel
? (process.env.VERCEL_ENV === 'production'
? 'https://war-matrix.vercel.app/api' // Hardcode your production domain here
: (process.env.BACKEND_URL ? `${process.env.BACKEND_URL}/api` : '/api'))
: 'http://localhost:8000/api');

const ReceiveStrategicAnalysisInputSchema = z.object({
battlefieldSummary: z
Expand Down
12 changes: 7 additions & 5 deletions src/ai/flows/strategic-command-chat.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@ import { z } from 'zod';

const isVercel = process.env.VERCEL === 'true';

const apiBaseUrl = isVercel
? (process.env.VERCEL_ENV === 'production'
? 'https://war-matrix.vercel.app/api' // Hardcode your production domain here
: (process.env.BACKEND_URL ? `${process.env.BACKEND_URL}/api` : '/api'))
: (typeof window !== 'undefined' ? '/api' : 'http://localhost:8000/api');
const apiBaseUrl = process.env.NEXT_PUBLIC_APP_URL
? `${process.env.NEXT_PUBLIC_APP_URL}/api`
: (isVercel
? (process.env.VERCEL_ENV === 'production'
? 'https://war-matrix.vercel.app/api' // Hardcode your production domain here
: (process.env.BACKEND_URL ? `${process.env.BACKEND_URL}/api` : '/api'))
: (typeof window !== 'undefined' ? '/api' : 'http://localhost:8000/api'));
// ─── Input / Output Schemas ───────────────────────────────────────────────────

const StrategicChatInputSchema = z.object({
Expand Down
2 changes: 1 addition & 1 deletion src/app/api/procedural/urban/[seed]/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { NextResponse } from 'next/server';

const SIM_SERVER_BASE = process.env.SIM_SERVER_BASE_URL || (process.env.VERCEL_URL ? `https://${process.env.VERCEL_URL}/backend` : 'http://127.0.0.1:8001');
const SIM_SERVER_BASE = process.env.SIM_SERVER_BASE_URL || (process.env.NEXT_PUBLIC_APP_URL ? `${process.env.NEXT_PUBLIC_APP_URL}/backend` : (process.env.VERCEL_URL ? `https://${process.env.VERCEL_URL}/backend` : 'http://127.0.0.1:8001'));

export async function GET(
req: Request,
Expand Down
2 changes: 1 addition & 1 deletion src/app/api/procedural/urban/generate/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { NextResponse } from 'next/server';

const SIM_SERVER_BASE = process.env.SIM_SERVER_BASE_URL || (process.env.VERCEL_URL ? `https://${process.env.VERCEL_URL}/backend` : 'http://127.0.0.1:8001');
const SIM_SERVER_BASE = process.env.SIM_SERVER_BASE_URL || (process.env.NEXT_PUBLIC_APP_URL ? `${process.env.NEXT_PUBLIC_APP_URL}/backend` : (process.env.VERCEL_URL ? `https://${process.env.VERCEL_URL}/backend` : 'http://127.0.0.1:8001'));

export async function POST(req: Request) {
try {
Expand Down
2 changes: 1 addition & 1 deletion src/app/api/procedural/urban/preview/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { NextResponse } from 'next/server';

const SIM_SERVER_BASE = process.env.SIM_SERVER_BASE_URL || (process.env.VERCEL_URL ? `https://${process.env.VERCEL_URL}/backend` : 'http://127.0.0.1:8001');
const SIM_SERVER_BASE = process.env.SIM_SERVER_BASE_URL || (process.env.NEXT_PUBLIC_APP_URL ? `${process.env.NEXT_PUBLIC_APP_URL}/backend` : (process.env.VERCEL_URL ? `https://${process.env.VERCEL_URL}/backend` : 'http://127.0.0.1:8001'));

export async function POST(req: Request) {
try {
Expand Down
2 changes: 1 addition & 1 deletion src/app/api/sitrep/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { GEMINI_API_KEY_COOKIE, GEMINI_MODEL_COOKIE } from '@/lib/gemini-auth';
import { GoogleGenerativeAI } from '@google/generative-ai';

const AI_SERVER_BASE = process.env.AI_SERVER_BASE_URL ?? 'http://127.0.0.1:8000';
const SIM_SERVER_BASE = process.env.SIM_SERVER_BASE_URL || (process.env.VERCEL_URL ? `https://${process.env.VERCEL_URL}/backend` : 'http://127.0.0.1:8001');
const SIM_SERVER_BASE = process.env.SIM_SERVER_BASE_URL || (process.env.NEXT_PUBLIC_APP_URL ? `${process.env.NEXT_PUBLIC_APP_URL}/backend` : (process.env.VERCEL_URL ? `https://${process.env.VERCEL_URL}/backend` : 'http://127.0.0.1:8001'));
const INFERENCE_TIMEOUT_MS = 300_000; // 5 min — CPU inference can be slow
const HEALTH_TIMEOUT_MS = 5_000; // 5 s — quick ping only
const SIM_TIMEOUT_MS = 120_000;
Expand Down