{"service": "loom model panel", "status": "ok", "web_app": false, "token_required": true, "token_configured": true, "token_rotation": {"enabled": true, "window_s": 21600, "seconds_until_rotation": 7896}, "providers_configured": ["nvidia", "cloudflare", "github-models", "openrouter"], "workers": {"max": 48, "busy": 1}, "jobs_inflight": 0, "frontier_ok": true, "frontier_privacy_safe_available": 13, "frontier_total": 13, "privacy_default": "strict", "default_panel": ["kimi-k2.6", "deepseek-v4-flash", "nemotron-ultra", "glm-5.1"], "default_rubric": "critiquer", "endpoints": {"POST /api/critique": "critique a plan/schematic (preset)", "POST /api/panel": "general: any role or custom system prompt", "POST /api/run": "orchestrator: template id | inline schematic | template:'auto' (planner); judge loop + file artifacts", "GET /api/templates": "list built-in + user templates", "GET /api/templates/<id>": "fetch one template's schematic", "POST /api/templates": "save a user template {id, schematic} (persisted)", "DELETE /api/templates/<id>": "delete a user template", "GET /api/jobs/<id>": "poll an async job/run (when called with async:true)", "POST /api/agent": "agent chat: {message, session_id?} -> 202 {session_id}", "GET /api/agent/<sid>?since=<n>": "poll the agent transcript (delta events)", "GET /api/agent/<sid>/files": "list workspace artifacts", "GET /api/agent/<sid>/file?path=": "download a workspace artifact", "GET /api/stats": "live rotation/health per provider + slot", "GET /api/metrics?profile=<id>": "per-profile cost/throttle/latency aggregates", "GET /api/roster": "per-model benchmark + hosts + privacy-safe routability + frontier guarantee", "GET /oauth/login": "start HF OAuth flow (redirects to HF authorize)", "GET /oauth/callback": "HF OAuth callback — provisions user Space", "GET /oauth/result/<token>": "exchange one-time token for provision result", "POST /oauth/set-provider-key": "set a provider API key on the user's Space via HF API", "GET /api/auth/github/login": "start GitHub OAuth flow (redirects to GitHub)", "GET /api/auth/github/callback": "GitHub OAuth callback — stores encrypted token", "POST /api/auth/github/disconnect": "remove stored GitHub token", "GET /api/auth/status": "check GitHub + HF auth status", "GET /api/github/repos": "list authenticated user's GitHub repos", "GET /api/github/repos/<owner>/<repo>/branches": "list branches for a repo", "GET /api/workspaces": "list user's workspaces", "POST /api/workspaces": "create workspace (optionally clone from GitHub repo)", "GET /api/workspaces/<id>": "get workspace details", "POST /api/workspaces/<id>/update": "update workspace settings", "DELETE /api/workspaces/<id>": "delete workspace + sandbox", "POST /api/workspaces/<id>/commit": "stage all + commit in workspace", "POST /api/workspaces/<id>/push": "push to remote (queued for approval)", "POST /api/workspaces/<id>/pr": "create pull request (queued for approval)", "POST /api/workspaces/<id>/publish": "publish workspace to public registry", "POST /api/workspaces/<id>/unpublish": "remove workspace from registry", "POST /api/workspaces/<id>/checkout": "checkout a branch in workspace", "GET /api/workspaces/<id>/logs": "list push history for workspace", "GET /api/github/repos/<owner>/<repo>/contents": "fetch file contents from repo", "GET /api/github/repos/<owner>/<repo>/tree": "fetch repo file tree", "GET /api/registry/spaces": "browse public workspaces", "POST /api/auth/push-requests/<id>/resolve": "approve or reject a push request"}, "oauth_configured": true, "github_configured": true, "agent": "open", "repo_review": "POST /api/panel or /api/critique with 'files': {path: content} or 'repo_url' (+'repo_ref', 'repo_token', 'diff_mode': {base_ref, head_ref}) instead of input/plan; each judge gets a pack fitted to its context window and reports 'coverage' of what it actually saw", "privacy_modes": ["strict", "fallback", "off"], "async": "add \"async\": true to any POST to get a job_id back instantly; each judge runs independently, poll GET /api/jobs/<id> for partial results", "roles": ["critiquer", "schematic_critiquer", "verifier", "generator", "transformer", "parser", "planner"], "merge_modes": ["dedupe", "vote", "concat", "none"], "effort_modes": ["low", "med", "high", "max"], "logical_models": ["deepseek-r1", "deepseek-v3", "deepseek-v4-flash", "deepseek-v4-pro", "gemma-4", "glm-5.1", "gpt-oss-120b", "kimi-k2.6", "llama-3.3-70b", "llama-4-maverick", "minimax-m2.7", "mistral-medium-3.5", "mistral-small-4", "nemotron-120b", "nemotron-ultra", "phi-4-reasoning", "qwen3.5-122b", "qwen3.5-397b", "step-flash"]}