Anvia
Studio

Studio Approvals

Studio tool approval aliases, records, transcript values, and events.

Import from @anvia/studio.

Approval Aliases

type StudioToolApprovalDecision = ToolApprovalDecision;
type StudioToolApprovalStatus = ToolApprovalStatus;

Purpose: Studio-facing aliases for core approval contracts.

Return behavior: type-only exports.

Notable errors: none directly.

StudioToolApproval

type StudioToolApproval = {
  id: string;
  runId: string;
  agentId: string;
  sessionId?: string;
  toolName: string;
  callId?: string;
  internalCallId: string;
  args: string;
  status: StudioToolApprovalStatus;
  requestedAt: string;
  resolvedAt?: string;
  reason?: string;
};

Purpose: persisted approval request/result record for Studio.

Return behavior: returned by approval routes and stream events.

Notable errors: none directly.

Transcript and Stream Events

type StudioToolApprovalTranscript = {
  id: string;
  status: StudioToolApprovalStatus;
  requestedAt: string;
  resolvedAt?: string;
  reason?: string;
};

type StudioToolApprovalRequestEvent = {
  type: "tool_approval_request";
  approval: StudioToolApproval;
};

type StudioToolApprovalResultEvent = {
  type: "tool_approval_result";
  approval: StudioToolApproval;
};

Purpose: represent approval state in transcripts and run streams.

Return behavior: events are included in AgentRunStreamEvent.

Notable errors: invalid approval decisions return Studio HTTP errors from approval routes.