displayName
displayName: string
OptionalclaudeSessionId
claudeSessionId?: string
OptionaljsonlPath
jsonlPath?: string
byteOffset
byteOffset: number
monitorOffset
monitorOffset: number
createdAt
createdAt: number
lastActivity
lastActivity: number
stallThresholdMs
stallThresholdMs: number
permissionStallMs
permissionStallMs: number
permissionMode
permissionMode: string
OptionalsettingsPatched
settingsPatched?: boolean
OptionalhookSettingsFile
hookSettingsFile?: string
OptionalhookSecret
hookSecret?: string
OptionallastHookAt
lastHookAt?: number
OptionalactiveSubagents
activeSubagents?: Set<string>
OptionalpermissionPromptAt
permissionPromptAt?: number
OptionalpermissionRespondedAt
permissionRespondedAt?: number
OptionallastHookReceivedAt
lastHookReceivedAt?: number
OptionallastHookEventAt
lastHookEventAt?: number
Optionalmodel
model?: string
OptionallastDeadAt
lastDeadAt?: number
OptionalccPid
ccPid?: number
OptionalparentId
parentId?: string
Optionalchildren
children?: string[]
OptionalpermissionPolicy
permissionPolicy?: PermissionPolicy
OptionalpermissionProfile
permissionProfile?: {
defaultBehavior: "allow" | "deny" | "ask";
rules: {
tool: string;
behavior: "allow" | "deny" | "ask";
pattern?: string;
constraints?: {
readOnly?: boolean;
paths?: string[];
maxFileSize?: number;
};
}[];
}
OptionalownerKeyId
ownerKeyId?: string
OptionaltenantId
tenantId?: string
OptionalautoApprove
autoApprove?: boolean
OptionalpendingPermission
pendingPermission?: PendingPermissionInfo
OptionalpendingQuestion
pendingQuestion?: PendingQuestionInfo
OptionalpromptDelivery
promptDelivery?: {
delivered: boolean;
attempts: number;
status?: "pending" | "failed" | "timeout" | "delivered";
}
OptionalactionHints
actionHints?: Record<
string,
{ method: string; url: string; description: string },
>
OptionalhookFailureTimestamps
hookFailureTimestamps?: number[]
OptionalcircuitBreakerTripped
circuitBreakerTripped?: boolean
OptionalprematureTermination
prematureTermination?: boolean
Canonical runtime metadata for an Aegis-managed Claude Code session.
This structure is persisted to disk and reused by the REST API, SSE layer, monitoring loop, and session recovery logic.