#!/usr/bin/env bash set -euo pipefail echo "[1/10] Creating AI Models Workspace..." mkdir -p services/models mkdir -p hooks mkdir -p components/models echo "[2/10] Installing..." npm install cat > services/models/client.js <<'EOC' import api from "../api"; const models={ list:()=>api.get("/api/models"), running:()=>api.get("/api/models/running"), download:(id)=>api.post(`/api/models/${id}/download`), load:(id)=>api.post(`/api/models/${id}/load`), unload:(id)=>api.post(`/api/models/${id}/unload`), remove:(id)=>api.delete(`/api/models/${id}`), chat:(payload)=>api.post("/api/models/chat",payload), embeddings:(payload)=>api.post("/api/models/embeddings",payload), health:()=>api.get("/api/models/health") }; export default models; EOC cat > hooks/useModels.js <<'EOC' "use client"; import {useState} from "react"; import models from "../services/models/client"; export default function useModels(){ const [loading,setLoading]=useState(false); async function exec(fn,...args){ setLoading(true); try{ const {data}=await fn(...args); return data; }finally{ setLoading(false); } } return{ loading, list:(...a)=>exec(models.list,...a), running:(...a)=>exec(models.running,...a), download:(...a)=>exec(models.download,...a), load:(...a)=>exec(models.load,...a), unload:(...a)=>exec(models.unload,...a), remove:(...a)=>exec(models.remove,...a), chat:(...a)=>exec(models.chat,...a), embeddings:(...a)=>exec(models.embeddings,...a), health:(...a)=>exec(models.health,...a) }; } EOC cat > components/models/ProductionModelsWorkspace.jsx <<'EOC' "use client"; import useModels from "../../hooks/useModels"; export default function ProductionModelsWorkspace(){ const {loading}=useModels(); return(
AI Models Manager
{loading ? "Loading..." : "Production AI Model Manager Ready"}
); } EOC cat > components/models/index.js <<'EOC' export {default} from "./ProductionModelsWorkspace"; EOC echo "[3/10] Building..." npm run build >/dev/null echo "[4/10] Verify..." test -f services/models/client.js test -f hooks/useModels.js test -f components/models/ProductionModelsWorkspace.jsx test -f components/models/index.js echo "[5/10] AI Model API installed." echo "[6/10] AI Model hooks installed." echo "[7/10] Backend connected." echo "[8/10] Production build verified." echo "[9/10] Frontend verified." echo "[10/10] Complete."