Skip to content

Arena

Copy page

Arena runs multiple model/prompt variants for the same message so you can compare them side-by-side and learn which your users prefer. divinci.arena controls arena for a workspace; presets live under divinci.arena.presets.

await divinci.arena.enable("ws_123", {
// variant definitions: which models/prompts to compare
});
// later
await divinci.arena.disable("ws_123");
const results = await divinci.arena.getResults("ws_123");

When a user picks a winning variant in chat or a transcript:

// In a chat thread
await divinci.arena.selectChatVariant(chatId, messageId, /* selectedIndex */ 0);
// In a workspace transcript
await divinci.arena.selectTranscriptVariant("ws_123", transcriptId, messageId, 1);
// Regenerate a single variant with a specific assistant
await divinci.arena.regenerateVariant("ws_123", transcriptId, messageId, /* variantIndex */ 2, assistantId);
// Dry-run a configuration
const test = await divinci.arena.test("ws_123", { /* test body */ });
// Estimate cost before enabling
const estimate = await divinci.arena.costEstimate("ws_123", { /* body */ });
// Routing estimate (QA integration)
const routing = await divinci.arena.routingEstimate("ws_123", { /* body */ });

A preset is a reusable arena configuration you can save, activate, and share across workspaces via export/import.

const presets = await divinci.arena.presets.list("ws_123");
const preset = await divinci.arena.presets.create("ws_123", { /* config */ });
await divinci.arena.presets.update("ws_123", preset._id, { /* changes */ });
await divinci.arena.presets.activate("ws_123", preset._id);
// Portability
const exported = await divinci.arena.presets.export("ws_123", preset._id);
const imported = await divinci.arena.presets.import("ws_123", exported);
// Per-preset results
const presetResults = await divinci.arena.presets.getResults("ws_123", preset._id);
await divinci.arena.presets.delete("ws_123", preset._id);
GroupMethods
arenaenable, disable, getResults, selectChatVariant, selectTranscriptVariant, regenerateVariant, test, testSelect, costEstimate, routingEstimate
arena.presetslist, create, update, delete, activate, export, import, getResults