Spaces:
Running
Running
File size: 2,449 Bytes
877add7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | import { API_BASE } from "./constants";
import type {
EnvCatalog,
EnvObservation,
ResetEnvOptions,
StepCandidatePayload,
StepResponse,
} from "./types";
async function fetchJson<T>(path: string, init?: RequestInit): Promise<T> {
const res = await fetch(`${API_BASE}${path}`, init);
if (!res.ok) {
const body = await res.text();
throw new Error(`API ${path} failed (${res.status}): ${body.slice(0, 240)}`);
}
return (await res.json()) as T;
}
export async function fetchCatalog(): Promise<EnvCatalog> {
return fetchJson<EnvCatalog>("/env/catalog");
}
export async function resetEnv(options: ResetEnvOptions = {}): Promise<EnvObservation> {
return fetchJson<EnvObservation>("/env/reset", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(options),
});
}
export async function orchestrateStep(): Promise<Record<string, unknown>> {
return fetchJson<Record<string, unknown>>("/agents/orchestrate", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({}),
});
}
export async function stepCandidate(payload: StepCandidatePayload): Promise<StepResponse> {
return fetchJson<StepResponse>("/env/step_candidate", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
});
}
export async function fetchTrace(): Promise<Array<Record<string, unknown>>> {
return fetchJson<Array<Record<string, unknown>>>("/env/trace");
}
export async function fetchTrainingMetrics(): Promise<Record<string, unknown>> {
return fetchJson<Record<string, unknown>>("/metrics/training");
}
export async function fetchBaselines(): Promise<Record<string, unknown>> {
return fetchJson<Record<string, unknown>>("/eval/run_baselines", { method: "POST" });
}
export async function fetchRewardBreakdown(): Promise<Record<string, unknown>> {
return fetchJson<Record<string, unknown>>("/env/reward_breakdown");
}
export async function fetchLegalActions(): Promise<Array<Record<string, unknown>>> {
return fetchJson<Array<Record<string, unknown>>>("/env/legal_actions");
}
export async function fetchUncertainty(): Promise<Record<string, unknown>> {
return fetchJson<Record<string, unknown>>("/env/uncertainty");
}
export async function fetchDosingEval(): Promise<Record<string, unknown>> {
return fetchJson<Record<string, unknown>>("/eval/run_dosing", { method: "POST" });
}
|