Spaces:
Sleeping
Sleeping
Download dashboard/features/studio/api.js from JuanCS-Dev/twitch-byte-bot: direct link, hf CLI and curl.
- Browser
- Download file 2.97 kB
-
https://huggingface.co/spaces/JuanCS-Dev/twitch-byte-bot/resolve/main/dashboard/features/studio/api.js
- Command line
-
hf download hf://spaces/JuanCS-Dev/twitch-byte-bot/dashboard/features/studio/api.js
-
curl -L -o api.js https://huggingface.co/spaces/JuanCS-Dev/twitch-byte-bot/resolve/main/dashboard/features/studio/api.js
2.97 kB
| // dashboard/features/studio/api.js | |
| // Thin wrappers over the real bot endpoints, reusing the shared fetch helper | |
| // (which injects the admin token and rewrites /api paths for HF Spaces). | |
| import { fetchWithTimeout } from "../shared/api.js"; | |
| const TIMEOUT = 12000; | |
| export function getControlPlane() { | |
| return fetchWithTimeout("/api/control-plane", { method: "GET" }, TIMEOUT); | |
| } | |
| export function getSentiment(channel = "default") { | |
| return fetchWithTimeout( | |
| `/api/sentiment/scores?channel=${encodeURIComponent(channel)}`, | |
| { method: "GET" }, | |
| TIMEOUT, | |
| ); | |
| } | |
| export function getHudMessages(since = 0) { | |
| return fetchWithTimeout( | |
| `/api/hud/messages?since=${encodeURIComponent(since)}`, | |
| { method: "GET" }, | |
| TIMEOUT, | |
| ); | |
| } | |
| export function getClipJobs() { | |
| return fetchWithTimeout("/api/clip-jobs", { method: "GET" }, TIMEOUT); | |
| } | |
| export function getVisionStatus() { | |
| return fetchWithTimeout("/api/vision/status", { method: "GET" }, TIMEOUT); | |
| } | |
| export function getChurnRisk(channel = "default") { | |
| return fetchWithTimeout( | |
| `/api/coaching/churn-risk?channel=${encodeURIComponent(channel)}`, | |
| { method: "GET" }, | |
| TIMEOUT, | |
| ); | |
| } | |
| export function getObservability(channel = "default") { | |
| return fetchWithTimeout( | |
| `/api/observability?channel=${encodeURIComponent(channel)}`, | |
| { method: "GET" }, | |
| TIMEOUT, | |
| ); | |
| } | |
| export function getActionQueue(limit = 20) { | |
| return fetchWithTimeout( | |
| `/api/action-queue?limit=${encodeURIComponent(limit)}`, | |
| { method: "GET" }, | |
| TIMEOUT, | |
| ); | |
| } | |
| // ---- Actions (POST) ---- | |
| export function suspendAgent() { | |
| return fetchWithTimeout( | |
| "/api/agent/suspend", | |
| { method: "POST", body: JSON.stringify({}) }, | |
| TIMEOUT, | |
| ); | |
| } | |
| export function resumeAgent() { | |
| return fetchWithTimeout( | |
| "/api/agent/resume", | |
| { method: "POST", body: JSON.stringify({}) }, | |
| TIMEOUT, | |
| ); | |
| } | |
| export function sendChat(text, channelId = null) { | |
| return fetchWithTimeout( | |
| "/api/chat/send", | |
| { method: "POST", body: JSON.stringify({ text, channel_id: channelId }) }, | |
| 20000, | |
| ); | |
| } | |
| export function autonomyTick() { | |
| return fetchWithTimeout( | |
| "/api/autonomy/tick", | |
| { method: "POST", body: JSON.stringify({}) }, | |
| TIMEOUT, | |
| ); | |
| } | |
| export function decideAction(actionId, decision) { | |
| return fetchWithTimeout( | |
| `/api/action-queue/${encodeURIComponent(actionId)}/decision`, | |
| { method: "POST", body: JSON.stringify({ decision }) }, | |
| TIMEOUT, | |
| ); | |
| } | |
| // action: "join" | "part" | "list" | |
| export function channelAction(action, channel = "") { | |
| return fetchWithTimeout( | |
| "/api/channel-control", | |
| { method: "POST", body: JSON.stringify({ action, channel }) }, | |
| TIMEOUT, | |
| ); | |
| } | |
| export function getPostStreamReport(channel = "default", generate = false) { | |
| return fetchWithTimeout( | |
| `/api/observability/post-stream-report?channel=${encodeURIComponent( | |
| channel, | |
| )}&generate=${generate ? "true" : "false"}`, | |
| { method: "GET" }, | |
| 30000, | |
| ); | |
| } | |