Membrane SDK - v0.29.2
    Preparing search index...

    Interface LateConnectionEvents

    Handlers for server terminal events that arrive after connect() resolves null (popup closed before the server emitted). SDK keeps its SSE open only when this is provided, one-shot, and closes on signal.abort() or a 30-minute internal timeout.

    interface LateConnectionEvents {
        onConnection?: (
            connection: {
                user?: {
                    id: string;
                    name: string;
                    meta?: Record<string, any>;
                    internalId: string;
                    fields?: Record<string, any>;
                    credentials?: any;
                    lastActiveAt?: string;
                    isTest?: boolean;
                    isBillable?: boolean;
                    isActive?: boolean;
                    aiCreditsRolling30DayLimit?: number | null;
                    createdAt?: string;
                    archivedAt?: string;
                };
                integration?: {
                    logoUri: string;
                    connectorId?: string;
                    connectorVersion?: string;
                    oAuthCallbackUri?: string;
                    parameters?: any;
                    archivedAt?: string;
                    hasMissingParameters?: boolean;
                    hasDocumentation?: boolean;
                    hasOperations?: boolean;
                    operationsCount?: number;
                    hasData?: boolean;
                    dataCollectionsCount?: number;
                    hasEvents?: boolean;
                    eventsCount?: number;
                    hasGlobalWebhooks?: boolean;
                    hasUdm?: boolean;
                    isTest?: boolean;
                    externalAppId?: string;
                    appUuid?: string;
                    isDeactivated?: boolean;
                    authType?: | "proxy"
                    | "integration-app-token"
                    | "membrane-token"
                    | "oauth2"
                    | "oauth1"
                    | "client-credentials";
                    optionsConfig?: Record<
                        string,
                        { disabled?: boolean; parameters?: Record<string, any> },
                    >;
                    id: string;
                    uuid?: string;
                    key?: string;
                    description?: string;
                    meta?: Record<string, any>;
                    name: string;
                    state?:
                        | BUILDING
                        | CLIENT_ACTION_REQUIRED
                        | CONFIGURATION_ERROR
                        | SETUP_FAILED
                        | READY
                        | DISCONNECTING;
                    errors?: ErrorDataSchema[];
                    revision?: string;
                    createdAt?: string;
                    updatedAt?: string;
                    isReadOnly?: boolean;
                };
                connectorParameters?: unknown;
                input?: unknown;
                type?: "connector"
                | "mcp";
                name: string;
                key?: string;
                isTest?: boolean;
                connected?: boolean;
                disconnected?: boolean;
                isDefunct?: boolean;
                state?:
                    | BUILDING
                    | CLIENT_ACTION_REQUIRED
                    | CONFIGURATION_ERROR
                    | SETUP_FAILED
                    | READY
                    | DISCONNECTING;
                errors?: ErrorDataSchema[];
                requestError?: ErrorDataSchema;
                error?: ErrorDataSchema;
                integrationId?: string;
                connectorId?: string;
                externalAppId?: string;
                connectorVersion?: string;
                authOptionKey?: string;
                createdAt: string;
                updatedAt: string;
                lastActiveAt?: string;
                nextCredentialsRefreshAt?: string;
                nextRetryTimestamp?: string;
                retryAttempts?: number;
                canTest?: boolean;
                canRefreshCredentials?: boolean;
                archivedAt?: string;
                isDeactivated?: boolean;
                meta?: Record<string, any>;
                buildingAgentSessionId?: string;
                clientAction?: {
                    type: "connect" | "provide-input";
                    description: string;
                    uiUrl?: string;
                    agentInstructions?: string;
                    handoffAgentInstructions?: string;
                    reason?: "provide-input" | "authenticate" | "reauthenticate";
                };
                id: string;
                userId: string;
                tenantId?: string;
            },
        ) => void;
        onFailure?: (error: MembraneError) => void;
        signal?: AbortSignal;
    }
    Index

    Properties

    onConnection?: (
        connection: {
            user?: {
                id: string;
                name: string;
                meta?: Record<string, any>;
                internalId: string;
                fields?: Record<string, any>;
                credentials?: any;
                lastActiveAt?: string;
                isTest?: boolean;
                isBillable?: boolean;
                isActive?: boolean;
                aiCreditsRolling30DayLimit?: number | null;
                createdAt?: string;
                archivedAt?: string;
            };
            integration?: {
                logoUri: string;
                connectorId?: string;
                connectorVersion?: string;
                oAuthCallbackUri?: string;
                parameters?: any;
                archivedAt?: string;
                hasMissingParameters?: boolean;
                hasDocumentation?: boolean;
                hasOperations?: boolean;
                operationsCount?: number;
                hasData?: boolean;
                dataCollectionsCount?: number;
                hasEvents?: boolean;
                eventsCount?: number;
                hasGlobalWebhooks?: boolean;
                hasUdm?: boolean;
                isTest?: boolean;
                externalAppId?: string;
                appUuid?: string;
                isDeactivated?: boolean;
                authType?: | "proxy"
                | "integration-app-token"
                | "membrane-token"
                | "oauth2"
                | "oauth1"
                | "client-credentials";
                optionsConfig?: Record<
                    string,
                    { disabled?: boolean; parameters?: Record<string, any> },
                >;
                id: string;
                uuid?: string;
                key?: string;
                description?: string;
                meta?: Record<string, any>;
                name: string;
                state?:
                    | BUILDING
                    | CLIENT_ACTION_REQUIRED
                    | CONFIGURATION_ERROR
                    | SETUP_FAILED
                    | READY
                    | DISCONNECTING;
                errors?: ErrorDataSchema[];
                revision?: string;
                createdAt?: string;
                updatedAt?: string;
                isReadOnly?: boolean;
            };
            connectorParameters?: unknown;
            input?: unknown;
            type?: "connector"
            | "mcp";
            name: string;
            key?: string;
            isTest?: boolean;
            connected?: boolean;
            disconnected?: boolean;
            isDefunct?: boolean;
            state?:
                | BUILDING
                | CLIENT_ACTION_REQUIRED
                | CONFIGURATION_ERROR
                | SETUP_FAILED
                | READY
                | DISCONNECTING;
            errors?: ErrorDataSchema[];
            requestError?: ErrorDataSchema;
            error?: ErrorDataSchema;
            integrationId?: string;
            connectorId?: string;
            externalAppId?: string;
            connectorVersion?: string;
            authOptionKey?: string;
            createdAt: string;
            updatedAt: string;
            lastActiveAt?: string;
            nextCredentialsRefreshAt?: string;
            nextRetryTimestamp?: string;
            retryAttempts?: number;
            canTest?: boolean;
            canRefreshCredentials?: boolean;
            archivedAt?: string;
            isDeactivated?: boolean;
            meta?: Record<string, any>;
            buildingAgentSessionId?: string;
            clientAction?: {
                type: "connect" | "provide-input";
                description: string;
                uiUrl?: string;
                agentInstructions?: string;
                handoffAgentInstructions?: string;
                reason?: "provide-input" | "authenticate" | "reauthenticate";
            };
            id: string;
            userId: string;
            tenantId?: string;
        },
    ) => void
    onFailure?: (error: MembraneError) => void
    signal?: AbortSignal