@verial-ai/sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/cli/index.ts","../../src/cli/commands/auth.ts","../../src/cli/config.ts","../../src/cli/commands/benchmarks.ts","../../src/cli/format.ts","../../src/errors.ts","../../src/client.ts","../../src/resources/benchmarks.ts","../../src/resources/datasets.ts","../../src/resources/environments.ts","../../src/resources/eval-runs.ts","../../src/resources/evals.ts","../../src/resources/playgrounds.ts","../../src/resources/runs.ts","../../src/resources/sandboxes.ts","../../src/resources/simulators.ts","../../src/resources/task-runs.ts","../../src/resources/tasks.ts","../../src/index.ts","../../src/cli/commands/helpers.ts","../../src/cli/commands/datasets.ts","../../src/cli/commands/environments.ts","../../src/cli/commands/eval-runs.ts","../../src/cli/commands/evals.ts","../../src/cli/commands/playgrounds.ts","../../src/cli/commands/runs.ts","../../src/cli/commands/sandboxes.ts","../../src/cli/commands/simulators.ts","../../src/cli/commands/task-runs.ts","../../src/cli/commands/tasks.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { Command } from \"commander\";\nimport { authCommand } from \"./commands/auth\";\nimport { benchmarksCommand } from \"./commands/benchmarks\";\nimport { datasetsCommand } from \"./commands/datasets\";\nimport { environmentsCommand } from \"./commands/environments\";\nimport { evalRunsCommand } from \"./commands/eval-runs\";\nimport { evalsCommand } from \"./commands/evals\";\nimport { playgroundsCommand } from \"./commands/playgrounds\";\nimport { runsCommand } from \"./commands/runs\";\nimport { sandboxesCommand } from \"./commands/sandboxes\";\nimport { simulatorsCommand } from \"./commands/simulators\";\nimport { taskRunsCommand } from \"./commands/task-runs\";\nimport { tasksCommand } from \"./commands/tasks\";\n\nconst program = new Command()\n .name(\"verial\")\n .description(\"Verial CLI - Healthcare agent simulation and testing\")\n .version(\"0.1.0\");\n\nprogram.addCommand(authCommand);\nprogram.addCommand(environmentsCommand);\nprogram.addCommand(simulatorsCommand);\nprogram.addCommand(datasetsCommand);\nprogram.addCommand(benchmarksCommand);\nprogram.addCommand(tasksCommand);\nprogram.addCommand(evalsCommand);\nprogram.addCommand(playgroundsCommand);\nprogram.addCommand(sandboxesCommand);\nprogram.addCommand(runsCommand);\nprogram.addCommand(taskRunsCommand);\nprogram.addCommand(evalRunsCommand);\n\nprogram.parseAsync(process.argv).catch((err) => {\n console.error(err.message);\n process.exitCode = 2;\n});\n","import { Command } from \"commander\";\nimport { getApiKey, writeConfig } from \"../config\";\n\nexport const authCommand = new Command(\"auth\").description(\n \"Manage authentication\",\n);\n\nauthCommand\n .command(\"set-key <key>\")\n .description(\"Store API key in ~/.verial/config.json\")\n .action((key: string) => {\n writeConfig({ apiKey: key });\n console.log(\"API key saved.\");\n });\n\nauthCommand\n .command(\"status\")\n .description(\"Check if API key is configured\")\n .action(() => {\n const key = getApiKey();\n if (key) {\n console.log(\n `Authenticated (key: ${key.slice(0, 8)}...${key.slice(-4)})`,\n );\n } else {\n console.log(\"No API key configured. Run: verial auth set-key <key>\");\n process.exitCode = 1;\n }\n });\n","import * as fs from \"node:fs\";\nimport * as os from \"node:os\";\nimport * as path from \"node:path\";\n\nconst CONFIG_DIR = path.join(os.homedir(), \".verial\");\nconst CONFIG_PATH = path.join(CONFIG_DIR, \"config.json\");\n\nexport interface CliConfig {\n apiKey?: string;\n baseUrl?: string;\n}\n\nexport function readConfig(): CliConfig {\n if (!fs.existsSync(CONFIG_PATH)) return {};\n const raw = fs.readFileSync(CONFIG_PATH, \"utf-8\");\n return JSON.parse(raw) as CliConfig;\n}\n\nexport function writeConfig(config: CliConfig): void {\n if (!fs.existsSync(CONFIG_DIR)) {\n fs.mkdirSync(CONFIG_DIR, { recursive: true });\n }\n fs.writeFileSync(CONFIG_PATH, JSON.stringify(config, null, 2), \"utf-8\");\n}\n\nexport function getApiKey(): string | undefined {\n return process.env.VERIAL_API_KEY ?? readConfig().apiKey;\n}\n\nexport function getBaseUrl(): string {\n return (\n process.env.VERIAL_API_URL ?? readConfig().baseUrl ?? \"https://api.verial.ai\"\n );\n}\n","import { Command } from \"commander\";\nimport { output } from \"../format\";\nimport { getClient } from \"./helpers\";\n\nexport const benchmarksCommand = new Command(\"benchmarks\").description(\n \"Manage benchmarks\",\n);\n\nbenchmarksCommand\n .command(\"list\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().benchmarks.list();\n output(result, opts.json);\n });\n\nbenchmarksCommand\n .command(\"create\")\n .requiredOption(\"--name <name>\", \"Benchmark name\")\n .requiredOption(\"--environment-id <id>\", \"Environment ID\")\n .option(\"--timeout <seconds>\", \"Task timeout\", parseInt)\n .option(\"--concurrency <n>\", \"Max parallel tasks\", parseInt)\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().benchmarks.create({\n name: opts.name,\n environmentId: opts.environmentId,\n timeout: opts.timeout,\n concurrency: opts.concurrency,\n });\n output(result, opts.json);\n });\n\nbenchmarksCommand\n .command(\"get\")\n .requiredOption(\"--id <id>\", \"Benchmark ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().benchmarks.get({ id: opts.id });\n output(result, opts.json);\n });\n\nbenchmarksCommand\n .command(\"delete\")\n .requiredOption(\"--id <id>\", \"Benchmark ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().benchmarks.delete({ id: opts.id });\n output(result, opts.json);\n });\n","export function output(data: unknown, json: boolean): void {\n console.log(JSON.stringify(data, null, json || !process.stdout.isTTY ? 2 : 2));\n}\n","export class VerialError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"VerialError\";\n }\n}\n\nexport class VerialApiError extends VerialError {\n readonly status: number;\n readonly code: string;\n readonly details?: unknown;\n\n constructor(\n status: number,\n code: string,\n message: string,\n details?: unknown,\n ) {\n super(message);\n this.name = \"VerialApiError\";\n this.status = status;\n this.code = code;\n this.details = details;\n }\n}\n","import { VerialApiError, VerialError } from \"./errors\";\n\nexport interface VerialClientConfig {\n apiKey: string;\n baseUrl?: string;\n}\n\nexport class VerialClient {\n readonly baseUrl: string;\n private readonly apiKey: string;\n\n constructor(config: VerialClientConfig) {\n if (!config.apiKey) {\n throw new VerialError(\"API key is required\");\n }\n this.apiKey = config.apiKey;\n this.baseUrl = config.baseUrl ?? \"https://api.verial.ai\";\n }\n\n async get<T = unknown>(\n path: string,\n query?: Record<string, string | undefined>,\n ): Promise<T> {\n return this.request(\"GET\", path, undefined, query);\n }\n\n async post<T = unknown>(path: string, body?: unknown): Promise<T> {\n return this.request(\"POST\", path, body);\n }\n\n async patch<T = unknown>(path: string, body: unknown): Promise<T> {\n return this.request(\"PATCH\", path, body);\n }\n\n async delete<T = unknown>(path: string): Promise<T> {\n return this.request(\"DELETE\", path);\n }\n\n private async request<T>(\n method: string,\n path: string,\n body?: unknown,\n query?: Record<string, string | undefined>,\n ): Promise<T> {\n let url = `${this.baseUrl}${path}`;\n\n if (query) {\n const params = new URLSearchParams();\n for (const [k, v] of Object.entries(query)) {\n if (v !== undefined) params.set(k, v);\n }\n const qs = params.toString();\n if (qs) url += `?${qs}`;\n }\n\n const headers: Record<string, string> = {\n Authorization: `Bearer ${this.apiKey}`,\n \"Content-Type\": \"application/json\",\n };\n\n const res = await fetch(url, {\n method,\n headers,\n body: body ? JSON.stringify(body) : undefined,\n });\n\n if (!res.ok) {\n const err = (await res.json().catch(() => ({}))) as Record<\n string,\n unknown\n >;\n throw new VerialApiError(\n res.status,\n (err.code as string) ?? \"UNKNOWN\",\n (err.error as string) ?? res.statusText,\n err.details,\n );\n }\n\n return res.json() as Promise<T>;\n }\n}\n","import { type VerialClient } from \"../client\";\nimport { type Benchmark, type PaginatedResponse } from \"../types\";\n\nexport class Benchmarks {\n constructor(private client: VerialClient) {}\n\n async list(\n options: { cursor?: string; limit?: number } = {},\n ): Promise<PaginatedResponse<Benchmark>> {\n return this.client.get(\"/benchmarks\", {\n cursor: options.cursor,\n limit: options.limit?.toString(),\n });\n }\n\n async create(options: {\n name: string;\n environmentId: string;\n timeout?: number;\n concurrency?: number;\n }): Promise<Benchmark> {\n return this.client.post(\"/benchmarks\", {\n name: options.name,\n environment_id: options.environmentId,\n timeout: options.timeout,\n concurrency: options.concurrency,\n });\n }\n\n async get(options: { id: string }): Promise<Benchmark> {\n return this.client.get(`/benchmarks/${options.id}`);\n }\n\n async update(options: {\n id: string;\n name?: string;\n timeout?: number;\n concurrency?: number;\n }): Promise<Benchmark> {\n const { id, ...body } = options;\n return this.client.patch(`/benchmarks/${id}`, body);\n }\n\n async delete(options: {\n id: string;\n }): Promise<{ id: string; deleted: true }> {\n return this.client.delete(`/benchmarks/${options.id}`);\n }\n}\n","import { type VerialClient } from \"../client\";\nimport { type Dataset, type PaginatedResponse } from \"../types\";\n\nexport class Datasets {\n constructor(private client: VerialClient) {}\n\n async list(\n options: { cursor?: string; limit?: number } = {},\n ): Promise<PaginatedResponse<Dataset>> {\n return this.client.get(\"/datasets\", {\n cursor: options.cursor,\n limit: options.limit?.toString(),\n });\n }\n\n async create(options: {\n name: string;\n data?: unknown;\n config?: Record<string, unknown>;\n }): Promise<Dataset> {\n return this.client.post(\"/datasets\", options);\n }\n\n async get(options: { id: string }): Promise<Dataset> {\n return this.client.get(`/datasets/${options.id}`);\n }\n\n async update(options: {\n id: string;\n name?: string;\n description?: string | null;\n data?: unknown;\n config?: Record<string, unknown>;\n }): Promise<Dataset> {\n const { id, ...body } = options;\n return this.client.patch(`/datasets/${id}`, body);\n }\n\n async delete(options: {\n id: string;\n }): Promise<{ id: string; deleted: true }> {\n return this.client.delete(`/datasets/${options.id}`);\n }\n\n async generate(options: {\n id: string;\n prompt: string;\n }): Promise<Record<string, unknown>> {\n return this.client.post(`/datasets/${options.id}/generate`, {\n prompt: options.prompt,\n });\n }\n}\n","import { type VerialClient } from \"../client\";\nimport {\n type Environment,\n type EnvironmentSimulatorLink,\n type PaginatedResponse,\n} from \"../types\";\n\nexport class Environments {\n constructor(private client: VerialClient) {}\n\n async list(\n options: { cursor?: string; limit?: number } = {},\n ): Promise<PaginatedResponse<Environment>> {\n return this.client.get(\"/environments\", {\n cursor: options.cursor,\n limit: options.limit?.toString(),\n });\n }\n\n async create(options: {\n name: string;\n templateId?: string;\n }): Promise<Environment> {\n return this.client.post(\"/environments\", {\n name: options.name,\n template_id: options.templateId,\n });\n }\n\n async get(options: { id: string }): Promise<Environment> {\n return this.client.get(`/environments/${options.id}`);\n }\n\n async update(options: {\n id: string;\n name?: string;\n description?: string | null;\n }): Promise<Environment> {\n const { id, ...body } = options;\n return this.client.patch(`/environments/${id}`, body);\n }\n\n async delete(options: {\n id: string;\n }): Promise<{ id: string; deleted: true }> {\n return this.client.delete(`/environments/${options.id}`);\n }\n\n async addSimulator(options: {\n environmentId: string;\n simulatorId: string;\n }): Promise<EnvironmentSimulatorLink> {\n return this.client.post(\n `/environments/${options.environmentId}/simulators/${options.simulatorId}`,\n );\n }\n\n async removeSimulator(options: {\n environmentId: string;\n simulatorId: string;\n }): Promise<{ deleted: true }> {\n return this.client.delete(\n `/environments/${options.environmentId}/simulators/${options.simulatorId}`,\n );\n }\n}\n","import { type VerialClient } from \"../client\";\nimport { type EvalRun, type PaginatedResponse } from \"../types\";\n\nexport class EvalRuns {\n constructor(private client: VerialClient) {}\n\n async list(options: {\n taskRunId: string;\n cursor?: string;\n limit?: number;\n }): Promise<PaginatedResponse<EvalRun>> {\n return this.client.get(\"/eval-runs\", {\n taskRunId: options.taskRunId,\n cursor: options.cursor,\n limit: options.limit?.toString(),\n });\n }\n\n async get(options: { id: string }): Promise<EvalRun> {\n return this.client.get(`/eval-runs/${options.id}`);\n }\n}\n","import { type VerialClient } from \"../client\";\nimport { type Eval, type PaginatedResponse } from \"../types\";\n\nexport class Evals {\n constructor(private client: VerialClient) {}\n\n async list(options: {\n taskId: string;\n cursor?: string;\n limit?: number;\n }): Promise<PaginatedResponse<Eval>> {\n return this.client.get(\"/evals\", {\n taskId: options.taskId,\n cursor: options.cursor,\n limit: options.limit?.toString(),\n });\n }\n\n async create(options: {\n taskId: string;\n label: string;\n assert: string;\n weight?: number;\n }): Promise<Eval> {\n return this.client.post(\"/evals\", {\n task_id: options.taskId,\n label: options.label,\n assert: options.assert,\n weight: options.weight,\n });\n }\n\n async get(options: { id: string }): Promise<Eval> {\n return this.client.get(`/evals/${options.id}`);\n }\n\n async update(options: {\n id: string;\n label?: string;\n assert?: string;\n weight?: number;\n }): Promise<Eval> {\n const { id, ...body } = options;\n return this.client.patch(`/evals/${id}`, body);\n }\n\n async delete(options: {\n id: string;\n }): Promise<{ id: string; deleted: true }> {\n return this.client.delete(`/evals/${options.id}`);\n }\n}\n","import { type VerialClient } from \"../client\";\nimport { type PaginatedResponse, type Playground } from \"../types\";\n\nexport class Playgrounds {\n constructor(private client: VerialClient) {}\n\n async list(\n options: { cursor?: string; limit?: number } = {},\n ): Promise<PaginatedResponse<Playground>> {\n return this.client.get(\"/playgrounds\", {\n cursor: options.cursor,\n limit: options.limit?.toString(),\n });\n }\n\n async create(options: { environmentId: string }): Promise<Playground> {\n return this.client.post(\"/playgrounds\", {\n environment_id: options.environmentId,\n });\n }\n\n async get(options: { id: string }): Promise<Playground> {\n return this.client.get(`/playgrounds/${options.id}`);\n }\n\n async teardown(options: {\n id: string;\n }): Promise<{ id: string; status: string }> {\n return this.client.post(`/playgrounds/${options.id}/teardown`);\n }\n}\n","import { type VerialClient } from \"../client\";\nimport { type PaginatedResponse, type Run } from \"../types\";\n\nexport class Runs {\n constructor(private client: VerialClient) {}\n\n async list(\n options: { cursor?: string; limit?: number } = {},\n ): Promise<PaginatedResponse<Run>> {\n return this.client.get(\"/runs\", {\n cursor: options.cursor,\n limit: options.limit?.toString(),\n });\n }\n\n async create(options: { benchmarkId: string }): Promise<Run> {\n return this.client.post(\"/runs\", {\n benchmark_id: options.benchmarkId,\n });\n }\n\n async get(options: { id: string }): Promise<Run> {\n return this.client.get(`/runs/${options.id}`);\n }\n\n async complete(options: { id: string }): Promise<Run> {\n return this.client.post(`/runs/${options.id}/complete`);\n }\n\n async cancel(options: { id: string }): Promise<Run> {\n return this.client.post(`/runs/${options.id}/cancel`);\n }\n}\n","import { type VerialClient } from \"../client\";\nimport {\n type PaginatedResponse,\n type Sandbox,\n type SandboxEvent,\n} from \"../types\";\n\nexport class Sandboxes {\n constructor(private client: VerialClient) {}\n\n async list(\n options: { playgroundId?: string; cursor?: string; limit?: number } = {},\n ): Promise<PaginatedResponse<Sandbox>> {\n return this.client.get(\"/sandboxes\", {\n playgroundId: options.playgroundId,\n cursor: options.cursor,\n limit: options.limit?.toString(),\n });\n }\n\n async create(options: { simulatorId: string }): Promise<Sandbox> {\n return this.client.post(\"/sandboxes\", {\n simulator_id: options.simulatorId,\n });\n }\n\n async get(options: { id: string }): Promise<Sandbox> {\n return this.client.get(`/sandboxes/${options.id}`);\n }\n\n async listEvents(options: {\n id: string;\n cursor?: string;\n limit?: number;\n }): Promise<PaginatedResponse<SandboxEvent>> {\n return this.client.get(`/sandboxes/${options.id}/events`, {\n cursor: options.cursor,\n limit: options.limit?.toString(),\n });\n }\n\n async teardown(options: {\n id: string;\n }): Promise<{ id: string; status: string }> {\n return this.client.post(`/sandboxes/${options.id}/teardown`);\n }\n\n async addDataset(options: {\n sandboxId: string;\n datasetId: string;\n }): Promise<{ sandbox_id: string; dataset_id: string; linked_at: string }> {\n return this.client.post(\n `/sandboxes/${options.sandboxId}/datasets/${options.datasetId}`,\n );\n }\n\n async removeDataset(options: {\n sandboxId: string;\n datasetId: string;\n }): Promise<{ deleted: true }> {\n return this.client.delete(\n `/sandboxes/${options.sandboxId}/datasets/${options.datasetId}`,\n );\n }\n}\n","import { type VerialClient } from \"../client\";\nimport {\n type PaginatedResponse,\n type Simulator,\n type SimulatorType,\n} from \"../types\";\n\nexport class Simulators {\n constructor(private client: VerialClient) {}\n\n async list(\n options: {\n environmentId?: string;\n cursor?: string;\n limit?: number;\n } = {},\n ): Promise<PaginatedResponse<Simulator>> {\n return this.client.get(\"/simulators\", {\n environmentId: options.environmentId,\n cursor: options.cursor,\n limit: options.limit?.toString(),\n });\n }\n\n async create(options: {\n type: SimulatorType;\n name: string;\n config?: Record<string, unknown>;\n }): Promise<Simulator> {\n return this.client.post(\"/simulators\", options);\n }\n\n async get(options: { id: string }): Promise<Simulator> {\n return this.client.get(`/simulators/${options.id}`);\n }\n\n async update(options: {\n id: string;\n name?: string;\n config?: Record<string, unknown>;\n }): Promise<Simulator> {\n const { id, ...body } = options;\n return this.client.patch(`/simulators/${id}`, body);\n }\n\n async delete(options: {\n id: string;\n }): Promise<{ id: string; deleted: true }> {\n return this.client.delete(`/simulators/${options.id}`);\n }\n\n async generateConfig(options: {\n id: string;\n prompt: string;\n }): Promise<Record<string, unknown>> {\n return this.client.post(`/simulators/${options.id}/config/generate`, {\n prompt: options.prompt,\n });\n }\n\n async generateData(options: {\n id: string;\n seed?: number;\n }): Promise<Record<string, unknown>> {\n return this.client.post(`/simulators/${options.id}/data/generate`, {\n seed: options.seed,\n });\n }\n}\n","import { type VerialClient } from \"../client\";\nimport { type PaginatedResponse, type TaskRun } from \"../types\";\n\nexport class TaskRuns {\n constructor(private client: VerialClient) {}\n\n async list(options: {\n runId: string;\n cursor?: string;\n limit?: number;\n }): Promise<PaginatedResponse<TaskRun>> {\n return this.client.get(\"/task-runs\", {\n runId: options.runId,\n cursor: options.cursor,\n limit: options.limit?.toString(),\n });\n }\n\n async get(options: { id: string }): Promise<TaskRun> {\n return this.client.get(`/task-runs/${options.id}`);\n }\n\n async complete(options: { id: string }): Promise<TaskRun> {\n return this.client.post(`/task-runs/${options.id}/complete`);\n }\n\n async cancel(options: { id: string }): Promise<TaskRun> {\n return this.client.post(`/task-runs/${options.id}/cancel`);\n }\n}\n","import { type VerialClient } from \"../client\";\nimport { type PaginatedResponse, type Task } from \"../types\";\n\nexport class Tasks {\n constructor(private client: VerialClient) {}\n\n async list(options: {\n benchmarkId: string;\n cursor?: string;\n limit?: number;\n }): Promise<PaginatedResponse<Task>> {\n return this.client.get(\"/tasks\", {\n benchmarkId: options.benchmarkId,\n cursor: options.cursor,\n limit: options.limit?.toString(),\n });\n }\n\n async create(options: {\n benchmarkId: string;\n name: string;\n instruction?: string;\n timeout?: number;\n trigger?: Record<string, unknown>;\n tags?: string[];\n }): Promise<Task> {\n return this.client.post(\"/tasks\", {\n benchmark_id: options.benchmarkId,\n name: options.name,\n instruction: options.instruction,\n timeout: options.timeout,\n trigger: options.trigger,\n tags: options.tags,\n });\n }\n\n async get(options: { id: string }): Promise<Task> {\n return this.client.get(`/tasks/${options.id}`);\n }\n\n async update(options: {\n id: string;\n name?: string;\n instruction?: string;\n timeout?: number;\n trigger?: Record<string, unknown>;\n tags?: string[];\n }): Promise<Task> {\n const { id, ...body } = options;\n return this.client.patch(`/tasks/${id}`, body);\n }\n\n async delete(options: {\n id: string;\n }): Promise<{ id: string; deleted: true }> {\n return this.client.delete(`/tasks/${options.id}`);\n }\n}\n","import { VerialClient } from \"./client\";\nimport { Benchmarks } from \"./resources/benchmarks\";\nimport { Datasets } from \"./resources/datasets\";\nimport { Environments } from \"./resources/environments\";\nimport { EvalRuns } from \"./resources/eval-runs\";\nimport { Evals } from \"./resources/evals\";\nimport { Playgrounds } from \"./resources/playgrounds\";\nimport { Runs } from \"./resources/runs\";\nimport { Sandboxes } from \"./resources/sandboxes\";\nimport { Simulators } from \"./resources/simulators\";\nimport { TaskRuns } from \"./resources/task-runs\";\nimport { Tasks } from \"./resources/tasks\";\n\nexport interface VerialConfig {\n apiKey: string;\n baseUrl?: string;\n}\n\nexport class Verial {\n readonly environments: Environments;\n readonly simulators: Simulators;\n readonly datasets: Datasets;\n readonly benchmarks: Benchmarks;\n readonly tasks: Tasks;\n readonly evals: Evals;\n readonly playgrounds: Playgrounds;\n readonly sandboxes: Sandboxes;\n readonly runs: Runs;\n readonly taskRuns: TaskRuns;\n readonly evalRuns: EvalRuns;\n\n constructor(config: VerialConfig) {\n const client = new VerialClient(config);\n this.environments = new Environments(client);\n this.simulators = new Simulators(client);\n this.datasets = new Datasets(client);\n this.benchmarks = new Benchmarks(client);\n this.tasks = new Tasks(client);\n this.evals = new Evals(client);\n this.playgrounds = new Playgrounds(client);\n this.sandboxes = new Sandboxes(client);\n this.runs = new Runs(client);\n this.taskRuns = new TaskRuns(client);\n this.evalRuns = new EvalRuns(client);\n }\n}\n\nexport { VerialApiError, VerialError } from \"./errors\";\nexport type * from \"./types\";\n","import { Verial } from \"../../index\";\nimport { getApiKey, getBaseUrl } from \"../config\";\n\nexport function getClient(): Verial {\n const apiKey = getApiKey();\n if (!apiKey) {\n console.error(\"No API key. Run: verial auth set-key <key>\");\n process.exit(1);\n }\n return new Verial({ apiKey, baseUrl: getBaseUrl() });\n}\n","import { Command } from \"commander\";\nimport { output } from \"../format\";\nimport { getClient } from \"./helpers\";\n\nexport const datasetsCommand = new Command(\"datasets\").description(\n \"Manage datasets\",\n);\n\ndatasetsCommand\n .command(\"list\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().datasets.list();\n output(result, opts.json);\n });\n\ndatasetsCommand\n .command(\"create\")\n .requiredOption(\"--name <name>\", \"Dataset name\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().datasets.create({ name: opts.name });\n output(result, opts.json);\n });\n\ndatasetsCommand\n .command(\"get\")\n .requiredOption(\"--id <id>\", \"Dataset ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().datasets.get({ id: opts.id });\n output(result, opts.json);\n });\n\ndatasetsCommand\n .command(\"delete\")\n .requiredOption(\"--id <id>\", \"Dataset ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().datasets.delete({ id: opts.id });\n output(result, opts.json);\n });\n\ndatasetsCommand\n .command(\"generate\")\n .requiredOption(\"--id <id>\", \"Dataset ID\")\n .requiredOption(\"--prompt <prompt>\", \"Natural language prompt\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().datasets.generate({\n id: opts.id,\n prompt: opts.prompt,\n });\n output(result, opts.json);\n });\n","import { Command } from \"commander\";\nimport { output } from \"../format\";\nimport { getClient } from \"./helpers\";\n\nexport const environmentsCommand = new Command(\"environments\").description(\n \"Manage environments\",\n);\n\nenvironmentsCommand\n .command(\"list\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().environments.list();\n output(result, opts.json);\n });\n\nenvironmentsCommand\n .command(\"create\")\n .requiredOption(\"--name <name>\", \"Environment name\")\n .option(\"--template-id <id>\", \"Template ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().environments.create({\n name: opts.name,\n templateId: opts.templateId,\n });\n output(result, opts.json);\n });\n\nenvironmentsCommand\n .command(\"get\")\n .requiredOption(\"--id <id>\", \"Environment ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().environments.get({ id: opts.id });\n output(result, opts.json);\n });\n\nenvironmentsCommand\n .command(\"update\")\n .requiredOption(\"--id <id>\", \"Environment ID\")\n .option(\"--name <name>\", \"New name\")\n .option(\"--description <desc>\", \"New description\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().environments.update({\n id: opts.id,\n name: opts.name,\n description: opts.description,\n });\n output(result, opts.json);\n });\n\nenvironmentsCommand\n .command(\"delete\")\n .requiredOption(\"--id <id>\", \"Environment ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().environments.delete({ id: opts.id });\n output(result, opts.json);\n });\n\nenvironmentsCommand\n .command(\"add-simulator\")\n .requiredOption(\"--environment-id <id>\", \"Environment ID\")\n .requiredOption(\"--simulator-id <id>\", \"Simulator ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().environments.addSimulator({\n environmentId: opts.environmentId,\n simulatorId: opts.simulatorId,\n });\n output(result, opts.json);\n });\n\nenvironmentsCommand\n .command(\"remove-simulator\")\n .requiredOption(\"--environment-id <id>\", \"Environment ID\")\n .requiredOption(\"--simulator-id <id>\", \"Simulator ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().environments.removeSimulator({\n environmentId: opts.environmentId,\n simulatorId: opts.simulatorId,\n });\n output(result, opts.json);\n });\n","import { Command } from \"commander\";\nimport { output } from \"../format\";\nimport { getClient } from \"./helpers\";\n\nexport const evalRunsCommand = new Command(\"eval-runs\").description(\n \"View eval runs\",\n);\n\nevalRunsCommand\n .command(\"list\")\n .requiredOption(\"--task-run-id <id>\", \"Task run ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().evalRuns.list({\n taskRunId: opts.taskRunId,\n });\n output(result, opts.json);\n });\n\nevalRunsCommand\n .command(\"get\")\n .requiredOption(\"--id <id>\", \"Eval run ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().evalRuns.get({ id: opts.id });\n output(result, opts.json);\n });\n","import { Command } from \"commander\";\nimport { output } from \"../format\";\nimport { getClient } from \"./helpers\";\n\nexport const evalsCommand = new Command(\"evals\").description(\"Manage evals\");\n\nevalsCommand\n .command(\"list\")\n .requiredOption(\"--task-id <id>\", \"Task ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().evals.list({ taskId: opts.taskId });\n output(result, opts.json);\n });\n\nevalsCommand\n .command(\"create\")\n .requiredOption(\"--task-id <id>\", \"Task ID\")\n .requiredOption(\"--label <label>\", \"Eval label\")\n .requiredOption(\"--assert <assert>\", \"Assertion criteria\")\n .option(\"--weight <n>\", \"Score weight\", parseFloat)\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().evals.create({\n taskId: opts.taskId,\n label: opts.label,\n assert: opts.assert,\n weight: opts.weight,\n });\n output(result, opts.json);\n });\n\nevalsCommand\n .command(\"get\")\n .requiredOption(\"--id <id>\", \"Eval ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().evals.get({ id: opts.id });\n output(result, opts.json);\n });\n\nevalsCommand\n .command(\"delete\")\n .requiredOption(\"--id <id>\", \"Eval ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().evals.delete({ id: opts.id });\n output(result, opts.json);\n });\n","import { Command } from \"commander\";\nimport { output } from \"../format\";\nimport { getClient } from \"./helpers\";\n\nexport const playgroundsCommand = new Command(\"playgrounds\").description(\n \"Manage playgrounds\",\n);\n\nplaygroundsCommand\n .command(\"list\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().playgrounds.list();\n output(result, opts.json);\n });\n\nplaygroundsCommand\n .command(\"create\")\n .requiredOption(\"--environment-id <id>\", \"Environment ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().playgrounds.create({\n environmentId: opts.environmentId,\n });\n output(result, opts.json);\n });\n\nplaygroundsCommand\n .command(\"get\")\n .requiredOption(\"--id <id>\", \"Playground ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().playgrounds.get({ id: opts.id });\n output(result, opts.json);\n });\n\nplaygroundsCommand\n .command(\"teardown\")\n .requiredOption(\"--id <id>\", \"Playground ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().playgrounds.teardown({ id: opts.id });\n output(result, opts.json);\n });\n","import { Command } from \"commander\";\nimport { output } from \"../format\";\nimport { getClient } from \"./helpers\";\n\nexport const runsCommand = new Command(\"runs\").description(\n \"Manage benchmark runs\",\n);\n\nrunsCommand\n .command(\"list\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().runs.list();\n output(result, opts.json);\n });\n\nrunsCommand\n .command(\"create\")\n .requiredOption(\"--benchmark-id <id>\", \"Benchmark ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().runs.create({\n benchmarkId: opts.benchmarkId,\n });\n output(result, opts.json);\n });\n\nrunsCommand\n .command(\"get\")\n .requiredOption(\"--id <id>\", \"Run ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().runs.get({ id: opts.id });\n output(result, opts.json);\n });\n\nrunsCommand\n .command(\"complete\")\n .requiredOption(\"--id <id>\", \"Run ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().runs.complete({ id: opts.id });\n output(result, opts.json);\n });\n\nrunsCommand\n .command(\"cancel\")\n .requiredOption(\"--id <id>\", \"Run ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().runs.cancel({ id: opts.id });\n output(result, opts.json);\n });\n\nrunsCommand\n .command(\"wait\")\n .requiredOption(\"--id <id>\", \"Run ID\")\n .option(\"--interval <seconds>\", \"Poll interval\", \"5\")\n .option(\"--timeout <seconds>\", \"Max wait time\", \"600\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const client = getClient();\n const interval = parseInt(opts.interval, 10) * 1000;\n const timeout = parseInt(opts.timeout, 10) * 1000;\n const start = Date.now();\n\n while (Date.now() - start < timeout) {\n const run = await client.runs.get({ id: opts.id });\n if (run.status !== \"active\") {\n output(run, opts.json);\n process.exitCode = run.verdict === \"pass\" ? 0 : 1;\n return;\n }\n await new Promise((r) => setTimeout(r, interval));\n }\n\n console.error(\"Timeout waiting for run to complete\");\n process.exitCode = 2;\n });\n","import { Command } from \"commander\";\nimport { output } from \"../format\";\nimport { getClient } from \"./helpers\";\n\nexport const sandboxesCommand = new Command(\"sandboxes\").description(\n \"Manage sandboxes\",\n);\n\nsandboxesCommand\n .command(\"list\")\n .option(\"--playground-id <id>\", \"Filter by playground\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().sandboxes.list({\n playgroundId: opts.playgroundId,\n });\n output(result, opts.json);\n });\n\nsandboxesCommand\n .command(\"create\")\n .requiredOption(\"--simulator-id <id>\", \"Simulator ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().sandboxes.create({\n simulatorId: opts.simulatorId,\n });\n output(result, opts.json);\n });\n\nsandboxesCommand\n .command(\"get\")\n .requiredOption(\"--id <id>\", \"Sandbox ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().sandboxes.get({ id: opts.id });\n output(result, opts.json);\n });\n\nsandboxesCommand\n .command(\"list-events\")\n .requiredOption(\"--id <id>\", \"Sandbox ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().sandboxes.listEvents({ id: opts.id });\n output(result, opts.json);\n });\n\nsandboxesCommand\n .command(\"teardown\")\n .requiredOption(\"--id <id>\", \"Sandbox ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().sandboxes.teardown({ id: opts.id });\n output(result, opts.json);\n });\n\nsandboxesCommand\n .command(\"add-dataset\")\n .requiredOption(\"--sandbox-id <id>\", \"Sandbox ID\")\n .requiredOption(\"--dataset-id <id>\", \"Dataset ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().sandboxes.addDataset({\n sandboxId: opts.sandboxId,\n datasetId: opts.datasetId,\n });\n output(result, opts.json);\n });\n\nsandboxesCommand\n .command(\"remove-dataset\")\n .requiredOption(\"--sandbox-id <id>\", \"Sandbox ID\")\n .requiredOption(\"--dataset-id <id>\", \"Dataset ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().sandboxes.removeDataset({\n sandboxId: opts.sandboxId,\n datasetId: opts.datasetId,\n });\n output(result, opts.json);\n });\n","import { Command } from \"commander\";\nimport { output } from \"../format\";\nimport { getClient } from \"./helpers\";\n\nexport const simulatorsCommand = new Command(\"simulators\").description(\n \"Manage simulators\",\n);\n\nsimulatorsCommand\n .command(\"list\")\n .option(\"--environment-id <id>\", \"Filter by environment\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().simulators.list({\n environmentId: opts.environmentId,\n });\n output(result, opts.json);\n });\n\nsimulatorsCommand\n .command(\"create\")\n .requiredOption(\"--type <type>\", \"Simulator type (FHIR, HL7, Voice, etc.)\")\n .requiredOption(\"--name <name>\", \"Simulator name\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().simulators.create({\n type: opts.type,\n name: opts.name,\n });\n output(result, opts.json);\n });\n\nsimulatorsCommand\n .command(\"get\")\n .requiredOption(\"--id <id>\", \"Simulator ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().simulators.get({ id: opts.id });\n output(result, opts.json);\n });\n\nsimulatorsCommand\n .command(\"update\")\n .requiredOption(\"--id <id>\", \"Simulator ID\")\n .option(\"--name <name>\", \"New name\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().simulators.update({\n id: opts.id,\n name: opts.name,\n });\n output(result, opts.json);\n });\n\nsimulatorsCommand\n .command(\"delete\")\n .requiredOption(\"--id <id>\", \"Simulator ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().simulators.delete({ id: opts.id });\n output(result, opts.json);\n });\n\nsimulatorsCommand\n .command(\"generate-config\")\n .requiredOption(\"--id <id>\", \"Simulator ID\")\n .requiredOption(\"--prompt <prompt>\", \"Natural language prompt\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().simulators.generateConfig({\n id: opts.id,\n prompt: opts.prompt,\n });\n output(result, opts.json);\n });\n\nsimulatorsCommand\n .command(\"generate-data\")\n .requiredOption(\"--id <id>\", \"Simulator ID\")\n .option(\"--seed <seed>\", \"Random seed\", parseInt)\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().simulators.generateData({\n id: opts.id,\n seed: opts.seed,\n });\n output(result, opts.json);\n });\n","import { Command } from \"commander\";\nimport { output } from \"../format\";\nimport { getClient } from \"./helpers\";\n\nexport const taskRunsCommand = new Command(\"task-runs\").description(\n \"Manage task runs\",\n);\n\ntaskRunsCommand\n .command(\"list\")\n .requiredOption(\"--run-id <id>\", \"Run ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().taskRuns.list({ runId: opts.runId });\n output(result, opts.json);\n });\n\ntaskRunsCommand\n .command(\"get\")\n .requiredOption(\"--id <id>\", \"Task run ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().taskRuns.get({ id: opts.id });\n output(result, opts.json);\n });\n\ntaskRunsCommand\n .command(\"complete\")\n .requiredOption(\"--id <id>\", \"Task run ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().taskRuns.complete({ id: opts.id });\n output(result, opts.json);\n });\n\ntaskRunsCommand\n .command(\"cancel\")\n .requiredOption(\"--id <id>\", \"Task run ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().taskRuns.cancel({ id: opts.id });\n output(result, opts.json);\n });\n","import { Command } from \"commander\";\nimport { output } from \"../format\";\nimport { getClient } from \"./helpers\";\n\nexport const tasksCommand = new Command(\"tasks\").description(\"Manage tasks\");\n\ntasksCommand\n .command(\"list\")\n .requiredOption(\"--benchmark-id <id>\", \"Benchmark ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().tasks.list({\n benchmarkId: opts.benchmarkId,\n });\n output(result, opts.json);\n });\n\ntasksCommand\n .command(\"create\")\n .requiredOption(\"--benchmark-id <id>\", \"Benchmark ID\")\n .requiredOption(\"--name <name>\", \"Task name\")\n .option(\"--instruction <text>\", \"Task instruction\")\n .option(\"--timeout <seconds>\", \"Task timeout\", parseInt)\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().tasks.create({\n benchmarkId: opts.benchmarkId,\n name: opts.name,\n instruction: opts.instruction,\n timeout: opts.timeout,\n });\n output(result, opts.json);\n });\n\ntasksCommand\n .command(\"get\")\n .requiredOption(\"--id <id>\", \"Task ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().tasks.get({ id: opts.id });\n output(result, opts.json);\n });\n\ntasksCommand\n .command(\"delete\")\n .requiredOption(\"--id <id>\", \"Task ID\")\n .option(\"--json\", \"Output as JSON\")\n .action(async (opts) => {\n const result = await getClient().tasks.delete({ id: opts.id });\n output(result, opts.json);\n });\n"],"mappings":"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","names":["Command","Command","path","Command","Command","Command","Command","Command","Command","Command","Command","Command","Command","Command","Command","Command","Command","Command","Command","Command","Command","Command","Command","Command","Command"]}
@@ -0,0 +1,493 @@
1
+ interface VerialClientConfig {
2
+ apiKey: string;
3
+ baseUrl?: string;
4
+ }
5
+ declare class VerialClient {
6
+ readonly baseUrl: string;
7
+ private readonly apiKey;
8
+ constructor(config: VerialClientConfig);
9
+ get<T = unknown>(path: string, query?: Record<string, string | undefined>): Promise<T>;
10
+ post<T = unknown>(path: string, body?: unknown): Promise<T>;
11
+ patch<T = unknown>(path: string, body: unknown): Promise<T>;
12
+ delete<T = unknown>(path: string): Promise<T>;
13
+ private request;
14
+ }
15
+
16
+ interface Environment {
17
+ id: string;
18
+ name: string;
19
+ description?: string | null;
20
+ created_at: string;
21
+ }
22
+ interface Simulator {
23
+ id: string;
24
+ type: SimulatorType;
25
+ slug: string;
26
+ name: string;
27
+ description?: string | null;
28
+ config: Record<string, unknown>;
29
+ created_at: string;
30
+ }
31
+ type SimulatorType = "FHIR" | "HL7" | "CDSHooks" | "Voice" | "Fax" | "SFTP" | "Email" | "Message" | "Payer" | "Clearinghouse";
32
+ interface Dataset {
33
+ id: string;
34
+ type: "FHIR" | "Files";
35
+ name: string;
36
+ description?: string | null;
37
+ config: Record<string, unknown>;
38
+ created_at: string;
39
+ }
40
+ interface Benchmark {
41
+ id: string;
42
+ name: string;
43
+ description?: string | null;
44
+ environment_id: string;
45
+ timeout: number;
46
+ concurrency: number;
47
+ overrides?: Record<string, unknown> | null;
48
+ thresholds?: Record<string, unknown> | null;
49
+ tasks?: Task[];
50
+ created_at: string;
51
+ }
52
+ interface Task {
53
+ id: string;
54
+ benchmark_id: string;
55
+ name: string;
56
+ instruction?: string | null;
57
+ timeout?: number | null;
58
+ trigger?: Record<string, unknown> | null;
59
+ tags: string[];
60
+ evals?: Eval[];
61
+ created_at: string;
62
+ }
63
+ interface Eval {
64
+ id: string;
65
+ task_id: string;
66
+ label: string;
67
+ assert: string;
68
+ weight: number;
69
+ created_at: string;
70
+ }
71
+ interface Playground {
72
+ id: string;
73
+ environment_id: string;
74
+ run_id?: string | null;
75
+ status: "active" | "completed" | "failed" | "canceled";
76
+ sandboxes?: SandboxSummary[];
77
+ created_at: string;
78
+ }
79
+ interface SandboxSummary {
80
+ id: string;
81
+ simulator_type: SimulatorType;
82
+ simulator_name: string;
83
+ status: string;
84
+ credentials?: Record<string, unknown> | null;
85
+ }
86
+ interface Sandbox {
87
+ id: string;
88
+ simulator_id: string;
89
+ playground_id?: string | null;
90
+ status: "provisioning" | "active" | "torn_down" | "failed";
91
+ url?: string | null;
92
+ credentials?: Record<string, unknown> | null;
93
+ created_at: string;
94
+ }
95
+ interface SandboxEvent {
96
+ id: string;
97
+ sandbox_id: string;
98
+ type: string;
99
+ direction: string;
100
+ data: Record<string, unknown>;
101
+ created_at: string;
102
+ }
103
+ interface Run {
104
+ id: string;
105
+ benchmark_id: string;
106
+ status: "active" | "completed" | "failed" | "canceled";
107
+ verdict?: "pass" | "fail" | "partial" | null;
108
+ score?: number | null;
109
+ started_at: string;
110
+ completed_at?: string | null;
111
+ }
112
+ interface TaskRun {
113
+ id: string;
114
+ run_id: string;
115
+ task_id: string;
116
+ playground_id: string;
117
+ status: "pending" | "active" | "completed" | "failed" | "canceled";
118
+ verdict?: "pass" | "fail" | "partial" | null;
119
+ score?: number | null;
120
+ snapshot?: Record<string, unknown> | null;
121
+ started_at: string;
122
+ completed_at?: string | null;
123
+ eval_runs?: EvalRun[];
124
+ }
125
+ interface EvalRun {
126
+ id: string;
127
+ task_run_id: string;
128
+ eval_id: string;
129
+ result: string;
130
+ score: number;
131
+ details?: string | null;
132
+ started_at: string;
133
+ completed_at?: string | null;
134
+ }
135
+ interface PaginatedResponse<T> {
136
+ data: T[];
137
+ next_cursor?: string | null;
138
+ }
139
+ interface EnvironmentSimulatorLink {
140
+ environment_id: string;
141
+ simulator_id: string;
142
+ linked_at: string;
143
+ }
144
+
145
+ declare class Benchmarks {
146
+ private client;
147
+ constructor(client: VerialClient);
148
+ list(options?: {
149
+ cursor?: string;
150
+ limit?: number;
151
+ }): Promise<PaginatedResponse<Benchmark>>;
152
+ create(options: {
153
+ name: string;
154
+ environmentId: string;
155
+ timeout?: number;
156
+ concurrency?: number;
157
+ }): Promise<Benchmark>;
158
+ get(options: {
159
+ id: string;
160
+ }): Promise<Benchmark>;
161
+ update(options: {
162
+ id: string;
163
+ name?: string;
164
+ timeout?: number;
165
+ concurrency?: number;
166
+ }): Promise<Benchmark>;
167
+ delete(options: {
168
+ id: string;
169
+ }): Promise<{
170
+ id: string;
171
+ deleted: true;
172
+ }>;
173
+ }
174
+
175
+ declare class Datasets {
176
+ private client;
177
+ constructor(client: VerialClient);
178
+ list(options?: {
179
+ cursor?: string;
180
+ limit?: number;
181
+ }): Promise<PaginatedResponse<Dataset>>;
182
+ create(options: {
183
+ name: string;
184
+ data?: unknown;
185
+ config?: Record<string, unknown>;
186
+ }): Promise<Dataset>;
187
+ get(options: {
188
+ id: string;
189
+ }): Promise<Dataset>;
190
+ update(options: {
191
+ id: string;
192
+ name?: string;
193
+ description?: string | null;
194
+ data?: unknown;
195
+ config?: Record<string, unknown>;
196
+ }): Promise<Dataset>;
197
+ delete(options: {
198
+ id: string;
199
+ }): Promise<{
200
+ id: string;
201
+ deleted: true;
202
+ }>;
203
+ generate(options: {
204
+ id: string;
205
+ prompt: string;
206
+ }): Promise<Record<string, unknown>>;
207
+ }
208
+
209
+ declare class Environments {
210
+ private client;
211
+ constructor(client: VerialClient);
212
+ list(options?: {
213
+ cursor?: string;
214
+ limit?: number;
215
+ }): Promise<PaginatedResponse<Environment>>;
216
+ create(options: {
217
+ name: string;
218
+ templateId?: string;
219
+ }): Promise<Environment>;
220
+ get(options: {
221
+ id: string;
222
+ }): Promise<Environment>;
223
+ update(options: {
224
+ id: string;
225
+ name?: string;
226
+ description?: string | null;
227
+ }): Promise<Environment>;
228
+ delete(options: {
229
+ id: string;
230
+ }): Promise<{
231
+ id: string;
232
+ deleted: true;
233
+ }>;
234
+ addSimulator(options: {
235
+ environmentId: string;
236
+ simulatorId: string;
237
+ }): Promise<EnvironmentSimulatorLink>;
238
+ removeSimulator(options: {
239
+ environmentId: string;
240
+ simulatorId: string;
241
+ }): Promise<{
242
+ deleted: true;
243
+ }>;
244
+ }
245
+
246
+ declare class EvalRuns {
247
+ private client;
248
+ constructor(client: VerialClient);
249
+ list(options: {
250
+ taskRunId: string;
251
+ cursor?: string;
252
+ limit?: number;
253
+ }): Promise<PaginatedResponse<EvalRun>>;
254
+ get(options: {
255
+ id: string;
256
+ }): Promise<EvalRun>;
257
+ }
258
+
259
+ declare class Evals {
260
+ private client;
261
+ constructor(client: VerialClient);
262
+ list(options: {
263
+ taskId: string;
264
+ cursor?: string;
265
+ limit?: number;
266
+ }): Promise<PaginatedResponse<Eval>>;
267
+ create(options: {
268
+ taskId: string;
269
+ label: string;
270
+ assert: string;
271
+ weight?: number;
272
+ }): Promise<Eval>;
273
+ get(options: {
274
+ id: string;
275
+ }): Promise<Eval>;
276
+ update(options: {
277
+ id: string;
278
+ label?: string;
279
+ assert?: string;
280
+ weight?: number;
281
+ }): Promise<Eval>;
282
+ delete(options: {
283
+ id: string;
284
+ }): Promise<{
285
+ id: string;
286
+ deleted: true;
287
+ }>;
288
+ }
289
+
290
+ declare class Playgrounds {
291
+ private client;
292
+ constructor(client: VerialClient);
293
+ list(options?: {
294
+ cursor?: string;
295
+ limit?: number;
296
+ }): Promise<PaginatedResponse<Playground>>;
297
+ create(options: {
298
+ environmentId: string;
299
+ }): Promise<Playground>;
300
+ get(options: {
301
+ id: string;
302
+ }): Promise<Playground>;
303
+ teardown(options: {
304
+ id: string;
305
+ }): Promise<{
306
+ id: string;
307
+ status: string;
308
+ }>;
309
+ }
310
+
311
+ declare class Runs {
312
+ private client;
313
+ constructor(client: VerialClient);
314
+ list(options?: {
315
+ cursor?: string;
316
+ limit?: number;
317
+ }): Promise<PaginatedResponse<Run>>;
318
+ create(options: {
319
+ benchmarkId: string;
320
+ }): Promise<Run>;
321
+ get(options: {
322
+ id: string;
323
+ }): Promise<Run>;
324
+ complete(options: {
325
+ id: string;
326
+ }): Promise<Run>;
327
+ cancel(options: {
328
+ id: string;
329
+ }): Promise<Run>;
330
+ }
331
+
332
+ declare class Sandboxes {
333
+ private client;
334
+ constructor(client: VerialClient);
335
+ list(options?: {
336
+ playgroundId?: string;
337
+ cursor?: string;
338
+ limit?: number;
339
+ }): Promise<PaginatedResponse<Sandbox>>;
340
+ create(options: {
341
+ simulatorId: string;
342
+ }): Promise<Sandbox>;
343
+ get(options: {
344
+ id: string;
345
+ }): Promise<Sandbox>;
346
+ listEvents(options: {
347
+ id: string;
348
+ cursor?: string;
349
+ limit?: number;
350
+ }): Promise<PaginatedResponse<SandboxEvent>>;
351
+ teardown(options: {
352
+ id: string;
353
+ }): Promise<{
354
+ id: string;
355
+ status: string;
356
+ }>;
357
+ addDataset(options: {
358
+ sandboxId: string;
359
+ datasetId: string;
360
+ }): Promise<{
361
+ sandbox_id: string;
362
+ dataset_id: string;
363
+ linked_at: string;
364
+ }>;
365
+ removeDataset(options: {
366
+ sandboxId: string;
367
+ datasetId: string;
368
+ }): Promise<{
369
+ deleted: true;
370
+ }>;
371
+ }
372
+
373
+ declare class Simulators {
374
+ private client;
375
+ constructor(client: VerialClient);
376
+ list(options?: {
377
+ environmentId?: string;
378
+ cursor?: string;
379
+ limit?: number;
380
+ }): Promise<PaginatedResponse<Simulator>>;
381
+ create(options: {
382
+ type: SimulatorType;
383
+ name: string;
384
+ config?: Record<string, unknown>;
385
+ }): Promise<Simulator>;
386
+ get(options: {
387
+ id: string;
388
+ }): Promise<Simulator>;
389
+ update(options: {
390
+ id: string;
391
+ name?: string;
392
+ config?: Record<string, unknown>;
393
+ }): Promise<Simulator>;
394
+ delete(options: {
395
+ id: string;
396
+ }): Promise<{
397
+ id: string;
398
+ deleted: true;
399
+ }>;
400
+ generateConfig(options: {
401
+ id: string;
402
+ prompt: string;
403
+ }): Promise<Record<string, unknown>>;
404
+ generateData(options: {
405
+ id: string;
406
+ seed?: number;
407
+ }): Promise<Record<string, unknown>>;
408
+ }
409
+
410
+ declare class TaskRuns {
411
+ private client;
412
+ constructor(client: VerialClient);
413
+ list(options: {
414
+ runId: string;
415
+ cursor?: string;
416
+ limit?: number;
417
+ }): Promise<PaginatedResponse<TaskRun>>;
418
+ get(options: {
419
+ id: string;
420
+ }): Promise<TaskRun>;
421
+ complete(options: {
422
+ id: string;
423
+ }): Promise<TaskRun>;
424
+ cancel(options: {
425
+ id: string;
426
+ }): Promise<TaskRun>;
427
+ }
428
+
429
+ declare class Tasks {
430
+ private client;
431
+ constructor(client: VerialClient);
432
+ list(options: {
433
+ benchmarkId: string;
434
+ cursor?: string;
435
+ limit?: number;
436
+ }): Promise<PaginatedResponse<Task>>;
437
+ create(options: {
438
+ benchmarkId: string;
439
+ name: string;
440
+ instruction?: string;
441
+ timeout?: number;
442
+ trigger?: Record<string, unknown>;
443
+ tags?: string[];
444
+ }): Promise<Task>;
445
+ get(options: {
446
+ id: string;
447
+ }): Promise<Task>;
448
+ update(options: {
449
+ id: string;
450
+ name?: string;
451
+ instruction?: string;
452
+ timeout?: number;
453
+ trigger?: Record<string, unknown>;
454
+ tags?: string[];
455
+ }): Promise<Task>;
456
+ delete(options: {
457
+ id: string;
458
+ }): Promise<{
459
+ id: string;
460
+ deleted: true;
461
+ }>;
462
+ }
463
+
464
+ declare class VerialError extends Error {
465
+ constructor(message: string);
466
+ }
467
+ declare class VerialApiError extends VerialError {
468
+ readonly status: number;
469
+ readonly code: string;
470
+ readonly details?: unknown;
471
+ constructor(status: number, code: string, message: string, details?: unknown);
472
+ }
473
+
474
+ interface VerialConfig {
475
+ apiKey: string;
476
+ baseUrl?: string;
477
+ }
478
+ declare class Verial {
479
+ readonly environments: Environments;
480
+ readonly simulators: Simulators;
481
+ readonly datasets: Datasets;
482
+ readonly benchmarks: Benchmarks;
483
+ readonly tasks: Tasks;
484
+ readonly evals: Evals;
485
+ readonly playgrounds: Playgrounds;
486
+ readonly sandboxes: Sandboxes;
487
+ readonly runs: Runs;
488
+ readonly taskRuns: TaskRuns;
489
+ readonly evalRuns: EvalRuns;
490
+ constructor(config: VerialConfig);
491
+ }
492
+
493
+ export { type Benchmark, type Dataset, type Environment, type EnvironmentSimulatorLink, type Eval, type EvalRun, type PaginatedResponse, type Playground, type Run, type Sandbox, type SandboxEvent, type SandboxSummary, type Simulator, type SimulatorType, type Task, type TaskRun, Verial, VerialApiError, type VerialConfig, VerialError };