fix(app): Normalize provisioning templates and Clerk props

Use autoescape for Jinja rendering to satisfy bandit checks and\nremove deprecated Clerk SignInButton props to restore type checks.\nAlso ignore tsbuildinfo artifacts and tidy boot instructions.\n\nCo-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Abhimanyu Saharan
2026-02-04 15:16:28 +05:30
parent b0e3208fa3
commit 2dd0d1f2cf
19 changed files with 60 additions and 92 deletions

View File

@@ -9,13 +9,6 @@ import { DashboardSidebar } from "@/components/organisms/DashboardSidebar";
import { DashboardShell } from "@/components/templates/DashboardShell";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import {
Select,
SelectContent,
SelectItem,
SelectTrigger,
SelectValue,
} from "@/components/ui/select";
const apiBase =
process.env.NEXT_PUBLIC_API_URL?.replace(/\/+$/, "") ||
@@ -26,18 +19,11 @@ type Agent = {
name: string;
};
const statusOptions = [
{ value: "online", label: "Online" },
{ value: "busy", label: "Busy" },
{ value: "offline", label: "Offline" },
];
export default function NewAgentPage() {
const router = useRouter();
const { getToken, isSignedIn } = useAuth();
const [name, setName] = useState("");
const [status, setStatus] = useState("online");
const [isLoading, setIsLoading] = useState(false);
const [error, setError] = useState<string | null>(null);
@@ -59,7 +45,7 @@ export default function NewAgentPage() {
"Content-Type": "application/json",
Authorization: token ? `Bearer ${token}` : "",
},
body: JSON.stringify({ name: trimmed, status }),
body: JSON.stringify({ name: trimmed }),
});
if (!response.ok) {
throw new Error("Unable to create agent.");
@@ -80,8 +66,6 @@ export default function NewAgentPage() {
<p className="text-sm text-muted">Sign in to create an agent.</p>
<SignInButton
mode="modal"
afterSignInUrl="/agents/new"
afterSignUpUrl="/agents/new"
forceRedirectUrl="/agents/new"
signUpForceRedirectUrl="/agents/new"
>
@@ -100,7 +84,7 @@ export default function NewAgentPage() {
Register an agent.
</h1>
<p className="text-sm text-muted">
Add an agent to your mission control roster.
Agents start in provisioning until they check in.
</p>
</div>
<form onSubmit={handleSubmit} className="space-y-4">
@@ -113,21 +97,6 @@ export default function NewAgentPage() {
disabled={isLoading}
/>
</div>
<div className="space-y-2">
<label className="text-sm font-medium text-strong">Status</label>
<Select value={status} onValueChange={setStatus}>
<SelectTrigger>
<SelectValue placeholder="Select status" />
</SelectTrigger>
<SelectContent>
{statusOptions.map((option) => (
<SelectItem key={option.value} value={option.value}>
{option.label}
</SelectItem>
))}
</SelectContent>
</Select>
</div>
{error ? (
<div className="rounded-lg border border-[color:var(--border)] bg-[color:var(--surface-muted)] p-3 text-xs text-muted">
{error}