Anvia
Studio

Studio Types

Studio config, agent config, capabilities, and error response contracts.

Import from @anvia/studio.

Config Types

type StudioCapability =
  | "agents"
  | "approvals"
  | "observability"
  | "sessions"
  | "memory"
  | "knowledge"
  | "traces"
  | "metrics"
  | "evals";

type StudioAgent = {
  id: string;
  agent: Agent;
  name?: string;
  description?: string;
  quickPrompts?: string[];
  metadata?: JsonObject;
};

type StudioAgentConfig = {
  id: string;
  name?: string;
  description?: string;
  quickPrompts: string[];
  metadata?: JsonObject;
};

type StudioCapabilityConfig = {
  enabled: boolean;
  reason?: string;
};

type StudioConfig = {
  id: string;
  name?: string;
  description?: string;
  version?: string;
  agents: StudioAgentConfig[];
  chat: { quickPrompts: Record<string, string[]> };
  capabilities: Partial<Record<StudioCapability, StudioCapabilityConfig>>;
  unsupportedCapabilities: StudioCapability[];
};

Purpose: configuration returned by Studio runtime and HTTP config endpoints.

Return behavior: Studio.config() returns StudioConfig.

Notable errors: none directly.

Error Types

type StudioErrorCode =
  | "bad_request"
  | "conflict"
  | "not_found"
  | "unsupported_capability"
  | "internal_error";

type StudioErrorResponse = {
  error: {
    code: StudioErrorCode;
    message: string;
    details?: JsonValue;
  };
};

Purpose: normalized Studio HTTP error shape.

Return behavior: returned by API routes on request or runtime failures.

Notable errors: internal_error responses serialize thrown errors into details when available.