⌘K
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?