import * as plugins from './plugins.js'; import type { TControllerSessionId } from '../dist_ts_interfaces/index.js'; import { type IControllerCodexOrigin } from './classes.codexconnectionmodels.js'; export declare const controllerFlexCleanupCohortLimit = 2048; export interface IControllerFlexCleanupEntry { sessionId: string; sessionGenerationId: string; sessionGenerationSequence: number; providerSessionGeneration: string; cleanupRoot: boolean; } export type TControllerManagedSessionState = 'active' | 'deleting' | 'retired'; export type TControllerManagedSessionAdmissionSource = 'controller-created' | 'explicit-enrollment' | 'project-folder-discovery' | 'legacy-state-migration'; export interface IControllerManagedSessionDeletion { operationId: string; expectedBindingId: string; supervisorGeneration: string; providerSessionGeneration: string; flexCleanupCohort?: IControllerFlexCleanupEntry[]; startedAt: Date; dispatchStartedAt?: Date; } export interface IControllerManagedSessionDocument { /** Optional only while migrating the shipped unqualified Codex identities. Never expires. */ codexOrigin?: IControllerCodexOrigin; id: string; issuerId: string; projectIdentityId: string; harnessId: TControllerSessionId['harnessId']; runtimeId: TControllerSessionId; sessionIdentityId: string; providerSessionGeneration: string; sessionGenerationId?: string; sessionGenerationSequence?: number; state: TControllerManagedSessionState; managedAt: Date; admissionSource: TControllerManagedSessionAdmissionSource; updateId: string; deletion?: IControllerManagedSessionDeletion; retiredAt?: Date; } export type TControllerSessionCreationObligationState = 'pending' | 'admitted' | 'retired'; export interface IControllerSessionCreationObligationDocument { id: string; issuerId: string; projectIdentityId: string; runtimeId: TControllerSessionId; operationId: string; state: TControllerSessionCreationObligationState; requestedAt: Date; updateId: string; dispatchStartedAt?: Date; expectedFlexSessionGenerationId?: string; providerSessionGeneration?: string; sessionIdentityId?: string; terminalAt?: Date; } export declare const assertControllerFlexSessionGeneration: (sessionGenerationIdArg: unknown, sessionGenerationSequenceArg: unknown, providerSessionGenerationArg: unknown) => asserts sessionGenerationIdArg is string; export declare const assertControllerFlexSessionGenerationId: (valueArg: unknown) => asserts valueArg is string; export declare const assertControllerFlexCleanupCohort: (valueArg: unknown) => asserts valueArg is IControllerFlexCleanupEntry[]; export declare const cloneControllerFlexCleanupCohort: (cohortArg: unknown) => IControllerFlexCleanupEntry[]; export declare const controllerFlexCleanupCohortsEqual: (leftArg: readonly IControllerFlexCleanupEntry[], rightArg: readonly IControllerFlexCleanupEntry[]) => boolean; export declare const controllerManagedSessionDocumentId: (issuerIdArg: string, projectIdentityIdArg: string, harnessIdArg: TControllerSessionId["harnessId"], sessionIdentityIdArg: string) => string; export declare const controllerSessionCreationObligationDocumentId: (issuerIdArg: string, projectIdentityIdArg: string, runtimeIdArg: TControllerSessionId) => string; export declare const assertControllerManagedSessionDocument: (valueArg: unknown) => asserts valueArg is IControllerManagedSessionDocument; export declare const assertControllerSessionCreationObligationDocument: (valueArg: unknown) => asserts valueArg is IControllerSessionCreationObligationDocument; export declare class ControllerManagedSessionModel extends plugins.smartdata.SmartDataDbDoc { static exact: plugins.smartdata.TExact; codexOrigin?: IControllerCodexOrigin; id: string; issuerId: string; projectIdentityId: string; harnessId: TControllerSessionId['harnessId']; runtimeId: TControllerSessionId; sessionIdentityId: string; providerSessionGeneration: string; sessionGenerationId?: string; sessionGenerationSequence?: number; state: TControllerManagedSessionState; managedAt: Date; admissionSource: TControllerManagedSessionAdmissionSource; updateId: string; deletion?: IControllerManagedSessionDeletion; retiredAt?: Date; } export declare class ControllerSessionCreationObligationModel extends plugins.smartdata.SmartDataDbDoc { static exact: plugins.smartdata.TExact; id: string; issuerId: string; projectIdentityId: string; runtimeId: TControllerSessionId; operationId: string; state: TControllerSessionCreationObligationState; requestedAt: Date; updateId: string; dispatchStartedAt?: Date; expectedFlexSessionGenerationId?: string; providerSessionGeneration?: string; sessionIdentityId?: string; terminalAt?: Date; }