Aegis Bridge API - v0.6.7
    Preparing search index...

    Interface SessionInfo

    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.

    interface SessionInfo {
        id: string;
        windowId: string;
        displayName: string;
        workDir: string;
        claudeSessionId?: string;
        jsonlPath?: string;
        byteOffset: number;
        monitorOffset: number;
        status: UIState;
        createdAt: number;
        lastActivity: number;
        stallThresholdMs: number;
        permissionStallMs: number;
        permissionMode: string;
        settingsPatched?: boolean;
        hookSettingsFile?: string;
        hookSecret?: string;
        lastHookAt?: number;
        activeSubagents?: Set<string>;
        permissionPromptAt?: number;
        permissionRespondedAt?: number;
        lastHookReceivedAt?: number;
        lastHookEventAt?: number;
        model?: string;
        lastDeadAt?: number;
        ccPid?: number;
        parentId?: string;
        children?: string[];
        permissionPolicy?: PermissionPolicy;
        permissionProfile?: {
            defaultBehavior: "allow" | "deny" | "ask";
            rules: {
                tool: string;
                behavior: "allow" | "deny" | "ask";
                pattern?: string;
                constraints?: {
                    readOnly?: boolean;
                    paths?: string[];
                    maxFileSize?: number;
                };
            }[];
        };
        prd?: string;
        ownerKeyId?: string;
        tenantId?: string;
        autoApprove?: boolean;
        pendingPermission?: PendingPermissionInfo;
        pendingQuestion?: PendingQuestionInfo;
        promptDelivery?: {
            delivered: boolean;
            attempts: number;
            status?: "pending"
            | "failed"
            | "timeout"
            | "delivered";
        };
        actionHints?: Record<
            string,
            { method: string; url: string; description: string },
        >;
        hookFailureTimestamps?: number[];
        circuitBreakerTripped?: boolean;
        toolUseCount?: number;
        prematureTermination?: boolean;
    }
    Index

    Properties

    id: string
    windowId: string
    displayName: string
    workDir: string
    claudeSessionId?: string
    jsonlPath?: string
    byteOffset: number
    monitorOffset: number
    status: UIState
    createdAt: number
    lastActivity: number
    stallThresholdMs: number
    permissionStallMs: number
    permissionMode: string
    settingsPatched?: boolean
    hookSettingsFile?: string
    hookSecret?: string
    lastHookAt?: number
    activeSubagents?: Set<string>
    permissionPromptAt?: number
    permissionRespondedAt?: number
    lastHookReceivedAt?: number
    lastHookEventAt?: number
    model?: string
    lastDeadAt?: number
    ccPid?: number
    parentId?: string
    children?: string[]
    permissionPolicy?: PermissionPolicy
    permissionProfile?: {
        defaultBehavior: "allow" | "deny" | "ask";
        rules: {
            tool: string;
            behavior: "allow" | "deny" | "ask";
            pattern?: string;
            constraints?: {
                readOnly?: boolean;
                paths?: string[];
                maxFileSize?: number;
            };
        }[];
    }
    prd?: string
    ownerKeyId?: string
    tenantId?: string
    autoApprove?: boolean
    pendingPermission?: PendingPermissionInfo
    pendingQuestion?: PendingQuestionInfo
    promptDelivery?: {
        delivered: boolean;
        attempts: number;
        status?: "pending" | "failed" | "timeout" | "delivered";
    }
    actionHints?: Record<
        string,
        { method: string; url: string; description: string },
    >
    hookFailureTimestamps?: number[]
    circuitBreakerTripped?: boolean
    toolUseCount?: number
    prematureTermination?: boolean