Skip to content

claude-code-driver / SessionEvent

Type Alias: SessionEvent ​

ts
type SessionEvent = 
  | Ev<"ready", {
  mode: PermissionMode | "other";
  model?: string;
}>
  | Ev<"status", {
  from: AgentStatus;
  to: AgentStatus;
}>
  | Ev<"claudeSessionChanged", {
  from?: string;
  reason: string;
  to: string;
}>
  | Ev<"turnQueued", {
  origin: TurnSnapshot["origin"];
  prompt: string;
}>
  | Ev<"turnStarted", {
  promptId: string;
}>
  | Ev<"externalTurn", {
  kind: "taskNotification" | "scheduled" | "autoContinue" | "human" | "unknown";
  prompt: string;
}>
  | Ev<"text", {
  delta: string;
  final: boolean;
  messageId: string;
}>
  | Ev<"textRetracted", {
  messageIds: readonly string[];
}>
  | Ev<"message", {
  messageId: string;
  text: string;
}>
  | Ev<"toolStarted", ToolRunSnapshot>
  | Ev<"toolEnded", ToolRunSnapshot>
  | Ev<"permissionRequested", Omit<PermissionRequest, "signal">>
  | Ev<"permissionResolved", {
  by: "library" | "tui" | "policy" | "unknown";
  decision: "allow" | "deny";
  key: PermissionKey;
}>
  | Ev<"inputRequested", {
  inputKind: "elicitation" | "elicitationUrl" | "agentNeedsInput" | "unknownModal";
  message?: string;
}>
  | Ev<"subagentStarted", SubagentSnapshot>
  | Ev<"subagentEnded", SubagentSnapshot>
  | Ev<"modelCall", {
  attempt?: number;
  phase: "started" | "waiting" | "streaming" | "retrying" | "stalled" | "ended";
  retryInMs?: number;
}>
  | Ev<"usageLimited", {
  nextWakeAt?: number;
  resetsAt?: number;
}>
  | Ev<"compaction", {
  phase: "started" | "ended";
}>
  | Ev<"turnEnded", TurnResult>
  | Ev<"channel", {
  channel: ChannelName;
  health: "up" | "degraded" | "down" | "off";
  reason?: string;
}>
  | Ev<"authRequired", {
  message: string;
}>
  | Ev<"authRestored", {
}>
  | Ev<"security", {
  code: "E_SECURITY";
  reason: string;
}>
  | Ev<"warning", {
  code: PublicErrorCode;
  message: string;
  reason: string;
}>
  | Ev<"gap", {
  from: number;
  to: number;
}>
  | Ev<"exited", SessionExitInfo>
  | Ev<"suspended", {
  claudeSessionId: string;
  interrupted: boolean;
  reason: "idle" | "manual";
}>
  | Ev<"resumed", {
  claudeSessionId: string;
  durationMs: number;
}>;

Defined in: api/public-types.ts:159

Released under the MIT License. Not affiliated with Anthropic.