import * as plugins from './plugins.js'; import { type IControllerAuditEvent, type IControllerAuthDocument, type IControllerTempPasswordDocument, type ISetupAuthorityState, type IStoredPasskeyCredential, type IWebAuthnCeremonyDocument, type TControllerAuditSessionId } from './interfaces.auth.js'; import type { IControllerRuntimeConfig } from './interfaces.config.js'; import { type IControllerProjectDocument, type IControllerResourceDocument, type IControllerSessionStateDocument, type IControllerSessionGroupsDocument, type IControllerSettingsDocument, type IControllerTrackedConversationDocument } from './interfaces.projects.js'; import { type TControllerModelChoice, type IControllerRuntimeId, type TControllerLayoutItemRef, type TControllerSessionId, type TControllerSessionHarnessId } from '../dist_ts_interfaces/index.js'; export declare const assertControllerAuthDocument: (valueArg: unknown) => asserts valueArg is IControllerAuthDocument; export declare const assertWebAuthnCeremonyDocument: (valueArg: unknown) => asserts valueArg is IWebAuthnCeremonyDocument; export declare const assertControllerAuditEventDocument: (valueArg: unknown) => asserts valueArg is IControllerAuditEvent; export declare const isProjectRelativePathName: (valueArg: unknown) => valueArg is string; export declare function assertControllerProjectDocument(valueArg: unknown): asserts valueArg is IControllerProjectDocument; /** * Absolute, normalized, duplicate-free directories. Existence is a controller-side check * because the filesystem is not part of the document. */ export declare const isStandardProjectDirectoryList: (valueArg: unknown) => valueArg is string[]; export declare function assertControllerSettingsDocument(valueArg: unknown): asserts valueArg is IControllerSettingsDocument; export declare class ControllerAuthModel extends plugins.smartdata.SmartDataDbDoc { static exact: plugins.smartdata.TExact; id: string; config: IControllerRuntimeConfig; authState: IControllerAuthDocument['authState']; setup: ISetupAuthorityState | null; webauthnUserId: string; credentials: IStoredPasskeyCredential[]; } export declare class WebAuthnCeremonyModel extends plugins.smartdata.SmartDataDbDoc { static exact: plugins.smartdata.TExact; id: string; kind: IWebAuthnCeremonyDocument['kind']; state: IWebAuthnCeremonyDocument['state']; peerId: string; challenge: string; origin: string; rpId: string; userId: string; setupGeneration?: string; setupHash?: string; createdAt: Date; expiresAt: Date; consumedAt?: Date; consumedNonce?: string; } export declare class ControllerProjectModel extends plugins.smartdata.SmartDataDbDoc { static exact: plugins.smartdata.TExact; id: string; controllerId: string; name: string; directory: string; directoryIdentityState: IControllerProjectDocument['directoryIdentityState']; directoryIdentity?: IControllerProjectDocument['directoryIdentity']; createdAt: Date; removalStartedAt?: Date; removalOperationId?: string; flexCleanupCohort?: IControllerProjectDocument['flexCleanupCohort']; removalBlockedAt?: Date; removalBlockedCode?: IControllerProjectDocument['removalBlockedCode']; removalBlockedReason?: string; removedAt?: Date; } export declare class ControllerSettingsModel extends plugins.smartdata.SmartDataDbDoc { static exact: plugins.smartdata.TExact; id: string; controllerId: string; defaultModels: TControllerModelChoice[]; autoAcceptPermissions?: true; browserVideoBackend?: 'native'; selectedOpenCodeProviderConnectionId?: string; standardProjectDirectories?: string[]; lastSessionHarnessId?: TControllerSessionHarnessId; } export declare const controllerTrackedConversationId: (controllerIdArg: string, projectIdArg: string, sessionIdArg: TControllerSessionId) => string; export declare function assertControllerTrackedConversationDocument(valueArg: unknown): asserts valueArg is IControllerTrackedConversationDocument; export declare class ControllerTrackedConversationModel extends plugins.smartdata.SmartDataDbDoc { static exact: plugins.smartdata.TExact; id: string; controllerId: string; projectId: string; harnessId: IControllerTrackedConversationDocument['harnessId']; runtimeId: TControllerSessionId; sessionIdentityId: string; origin: IControllerTrackedConversationDocument['origin']; trackedAt: Date; archivedAt?: Date; titleCache?: string; titleCacheAt?: Date; updateId: string; } /** * A layout member. Conversations and resources are peers in one ordered list, and their ids live * in separate namespaces, so the kind is carried rather than inferred. */ export declare const isLayoutItemRef: (valueArg: unknown) => valueArg is TControllerLayoutItemRef; export declare const isSessionGroupList: (valueArg: unknown) => valueArg is IControllerSessionGroupsDocument["groups"]; export declare const isUngroupedItemList: (valueArg: unknown, groupedItemIdsArg?: ReadonlySet) => valueArg is TControllerLayoutItemRef[]; export declare function assertControllerSessionGroupsDocument(valueArg: unknown): asserts valueArg is IControllerSessionGroupsDocument; export declare class ControllerSessionGroupsModel extends plugins.smartdata.SmartDataDbDoc { static exact: plugins.smartdata.TExact; id: string; controllerId: string; scope: IControllerSessionGroupsDocument['scope']; groups: IControllerSessionGroupsDocument['groups']; ungroupedItemIds?: IControllerSessionGroupsDocument['ungroupedItemIds']; revision?: number; } export declare function assertControllerResourceDocument(valueArg: unknown): asserts valueArg is IControllerResourceDocument; export declare class ControllerResourceModel extends plugins.smartdata.SmartDataDbDoc { static exact: plugins.smartdata.TExact; id: string; controllerId: string; projectId: string; kind: IControllerResourceDocument['kind']; title: string; attachmentAuthorityId: string; attachmentRevision: number; attachments: IControllerResourceDocument['attachments']; pendingAttachment?: IControllerResourceDocument['pendingAttachment']; lifecycle: IControllerResourceDocument['lifecycle']; terminal?: IControllerResourceDocument['terminal']; createdAt: Date; updatedAt: Date; retiringAt?: Date; retiredAt?: Date; updateId: string; } export declare const controllerSessionStateId: (controllerIdArg: string, projectIdArg: string, sessionIdArg: IControllerRuntimeId) => string; export declare function assertControllerSessionStateDocument(valueArg: unknown): asserts valueArg is IControllerSessionStateDocument; export declare class ControllerSessionStateModel extends plugins.smartdata.SmartDataDbDoc { static exact: plugins.smartdata.TExact; id: string; controllerId: string; projectId: string; sessionId: IControllerRuntimeId; scratchpad: IControllerSessionStateDocument['scratchpad']; intelligenceExchanges: IControllerSessionStateDocument['intelligenceExchanges']; flexProjectManagement?: IControllerSessionStateDocument['flexProjectManagement']; modelChoice?: TControllerModelChoice; providerConnectionId?: string; updateId: string; deletedAt?: Date; } export declare const assertControllerTempPasswordDocument: (valueArg: unknown) => asserts valueArg is IControllerTempPasswordDocument; export declare class ControllerTempPasswordModel extends plugins.smartdata.SmartDataDbDoc { static exact: plugins.smartdata.TExact; id: string; controllerId: string; secretHash: string; createdAt: Date; expiresAt: Date; } export declare class ControllerAuditEventModel extends plugins.smartdata.SmartDataDbDoc { static exact: plugins.smartdata.TExact; id: string; controllerId: string; timestamp: Date; type: IControllerAuditEvent['type']; outcome: IControllerAuditEvent['outcome']; operationId?: string; peerId?: string; credentialId?: string; sessionId?: TControllerAuditSessionId; requestId?: IControllerRuntimeId; }