TypeScript Types

TypeScript type definitions for the AskVerdict SDK: Verdict, Debate, DebateEvent, and configuration types.

1 min read
Share

The SDK exports all types you need for building type-safe integrations.

Core Types

CreateDebateParams

typescript
interface CreateDebateParams {
  question: string;
  mode?: "fast" | "balanced" | "thorough";
  context?: string;
  options?: string[];
  tags?: string[];
}

DebateResponse

typescript
interface DebateResponse {
  id: string;
  question: string;
  mode: "fast" | "balanced" | "thorough";
  status: "pending" | "running" | "completed" | "failed";
  createdAt: string;
  completedAt: string | null;
  context: string | null;
  tags: string[];
  arguments?: {
    pro: Argument[];
    con: Argument[];
  };
  verdict: Verdict | null;
}

Verdict

typescript
interface Verdict {
  recommendation: string;
  oneLiner: string;
  confidence: number;
  reasoning: string;
}

Argument

typescript
interface Argument {
  agent: "pro" | "con";
  round: number;
  content: string;
}

DebateMode

typescript
type DebateMode = "fast" | "balanced" | "thorough";

List Types

ListDebatesParams

typescript
interface ListDebatesParams {
  page?: number;
  limit?: number;
  status?: "pending" | "running" | "completed" | "failed";
  mode?: DebateMode;
  sortBy?: "createdAt" | "completedAt";
  sortOrder?: "asc" | "desc";
  search?: string;
}

ListDebatesResult

typescript
interface ListDebatesResult {
  debates: DebateResponse[];
  pagination: {
    page: number;
    limit: number;
    total: number;
    totalPages: number;
  };
}

User Types

UserProfile

typescript
interface UserProfile {
  id: string;
  name: string;
  email: string;
  plan: "free" | "byok" | "byok_pro";
  createdAt: string;
}

ApiKeyUsage

typescript
interface ApiKeyUsage {
  keyId: string;
  period: string;
  totalRequests: number;
  byEndpoint: Record<string, number>;
  rateLimit: number;
}

Importing Types

typescript
import type {
  AskVerdictClient,
  CreateDebateParams,
  DebateResponse,
  Verdict,
  DebateMode,
  ListDebatesParams,
  ListDebatesResult,
  UserProfile,
} from "@askverdict/sdk";

Was this page helpful?