Reporting & Audit
Velaは実行前の認可だけでなく、実行後の監査も前提にしています。モデル呼び出しが成功したら completed、失敗したら failed を報告します。
declare const prepared: import("@vel4ai/sdk").PreparedExecutionAllowed;declare const usage: { inputTokens?: number; outputTokens?: number; totalTokens?: number; estimatedCostUsd?: number;};
export async function reportCompleted() { await prepared.reportCompletedWithUsage(usage);}OpenAI互換usageの変換
Section titled “OpenAI互換usageの変換”import { createOpenAiCompatibleUsageReportInput } from "@vel4ai/sdk";
declare const prepared: import("@vel4ai/sdk").PreparedExecutionAllowed;declare const providerBody: { usage?: unknown };
export async function reportOpenAiCompatibleResult() { await prepared.reportCompletedWithUsage( createOpenAiCompatibleUsageReportInput(providerBody.usage), );}declare const prepared: import("@vel4ai/sdk").PreparedExecutionAllowed;
export async function reportFailure(error: unknown) { await prepared.reportFailedWithError(error);}streaming route ではreporterを共有する
Section titled “streaming route ではreporterを共有する”成功callbackと失敗callbackの両方が同じ実行に対して発火し得る場合、boolean flagを手書きせず createResultReporter() を使います。tryReport...() はreport APIの失敗をthrowせず、成功したmodel responseや元のprovider errorを上書きしません。
declare const prepared: import("@vel4ai/sdk").PreparedExecutionAllowed;
export const reporter = prepared.createResultReporter({ onReportError(error) { console.error("Vela audit report failed", error); },});
export async function onFinish() { await reporter.tryReportCompletedWithUsage({ inputTokens: 10, outputTokens: 20, });}
export async function onError(error: unknown) { await reporter.tryReportFailedWithError(error);}