import type { IndemnClient } from './client.js'; import type { Rubric, CreateRubricInput } from './types.js'; export class RubricsSDK { constructor(private client: IndemnClient) {} async listRubrics(agentId?: string): Promise { const query = agentId ? { agent_id: agentId } : undefined; return this.client.evalsGet('/api/v1/rubrics', query); } async getRubric(id: string): Promise { return this.client.evalsGet(`/api/v1/rubrics/${id}`); } async createRubric(input: CreateRubricInput): Promise { return this.client.evalsPost('/api/v1/rubrics', input); } async updateRubric(id: string, input: Partial): Promise { return this.client.evalsPut(`/api/v1/rubrics/${id}`, input); } async deleteRubric(id: string): Promise { await this.client.evalsDelete(`/api/v1/rubrics/${id}`); } async listVersions(id: string): Promise { return this.client.evalsGet(`/api/v1/rubrics/${id}/versions`); } async getVersion(id: string, version: number): Promise { return this.client.evalsGet(`/api/v1/rubrics/${id}/versions/${version}`); } }