OpenClawDashboard/dashboard/src/app/api/tiger/keys/route.ts
Manohar 4ee0517345 feat(dashboard): agents page, knowledge, schedule/digest cards, dual-source tasks
- app/agents/: new Agents page showing per-agent status + workspace files
- app/knowledge/: Knowledge base viewer
- app/api/tiger/: proxy routes for cron, file-tasks, file-projects, keys, agents
- components/agent-strip.tsx: agent status bar for dashboard home
- components/command-bar.tsx: command palette
- components/digest-card.tsx + schedule-card.tsx: weekly digest + cron schedule
- components/status-footer.tsx: system status footer
- tasks page: dual-source (TASKS.md JSON block + SQLite) with fallback
- projects page: PROJECTS.md reader with kanban board integration
2026-05-02 20:11:43 +00:00

26 lines
841 B
TypeScript

// GET /api/tiger/keys — returns key presence (never values)
// PATCH /api/tiger/keys — set one or more keys
import { NextRequest, NextResponse } from "next/server";
import { bridgeGet, bridgePatch } from "@/lib/bridge";
export const dynamic = "force-dynamic";
export async function GET() {
try {
const result = await bridgeGet("/tiger/keys");
return NextResponse.json(result);
} catch (err: any) {
return NextResponse.json({ ok: false, error: err.message }, { status: 502 });
}
}
export async function PATCH(request: NextRequest) {
try {
const body = await request.json();
const result = await bridgePatch("/tiger/keys", body as Record<string, unknown>);
return NextResponse.json(result);
} catch (err: any) {
return NextResponse.json({ ok: false, error: err.message }, { status: 502 });
}
}