OpenFairyGUI API
    Preparing search index...

    Interface BackendCapabilities

    interface BackendCapabilities {
        appSeamOwner: "@openfairygui/functions";
        artifact: {
            publish: false;
            publishBridge: BackendArtifactBridgeCapability;
            restore: false;
            restoreBridge: BackendArtifactBridgeCapability;
            status: "bridge-required";
        };
        authoring: {
            applyTransaction: true;
            gearKinds: readonly string[];
            nodeKinds: readonly string[];
            preflightTransaction: {
                impact: "model-diff";
                limits: { maxBytes: 262144; maxEntries: 2000 };
                mode: "execute-and-discard";
                reservesRevision: false;
            };
            resourceKinds: readonly string[];
            saveSession: true;
            transactionScope: {
                gearKinds: readonly string[];
                nodeKinds: readonly string[];
                resourceKinds: readonly string[];
            };
            unsupported: readonly ["artifact.publish", "artifact.restore"];
        };
        capabilitySchemaVersion: 12;
        compatibilityPolicy: {
            additiveChange: "allowed without breaking existing consumers";
            capabilitySchemaChange: "requires capabilitySchemaVersion bump";
            incompatibleChange: "requires contractVersion bump";
        };
        contractVersion: "3.0.0";
        manifest: BackendCapabilityManifest;
        methods: readonly [
            "getCapabilities",
            "openSession",
            "openProjectSession",
            "getSession",
            "getProjectOutline",
            "queryEntity",
            "readSessionState",
            "readResourceBytes",
            "validateSession",
            "preflightTransaction",
            "applyTransaction",
            "saveSession",
            "materializeSession",
            "closeSession",
            "getEvents",
            "getCacheSnapshot",
            "refreshCache",
        ];
        read: {
            capabilitySnapshot: true;
            entityQuery: {
                kinds: readonly (
                    | "component"
                    | "controller"
                    | "transition"
                    | "project"
                    | "package"
                    | "resource"
                    | "displayNode"
                )[];
                limits: { maxBytes: 262144; maxDepth: 32; maxNodes: 100000 };
                projection: "properties";
                sourceBytes: false;
            };
            projectOutline: true;
            projectValidation: true;
            resourceBytes: {
                expectedRevisionRequired: true;
                hydration: false;
                maxBytes: 1048576;
            };
            sessionSnapshot: true;
            sessionState: {
                limits: { maxBytes: 4194304; maxDepth: 64; maxNodes: 500000 };
                sourceBytes: false;
            };
        };
        runtime: {
            advisoryLocking: true;
            atomicSave: boolean;
            cache: {
                derivedReadOnly: true;
                keyedBy: "sessionId";
                refreshMethod: "refreshCache";
                refreshMode: "synchronous";
                sourceOfTruth: false;
            };
            coordinatedSave: true;
            events: {
                polling: true;
                retentionLimit: 1000;
                sequenceScope: "runtime";
                subscriptions: false;
            };
            pathPolicy: {
                canonicalization: "realpath+normalized-casefold";
                outputTargets: "deferred";
                saveTarget: "opened-project-only";
                sessionIdentity: "project-root";
                workspaceBoundary: "project-root-only";
            };
            sessionRuntime: true;
            staleRevisionProtection: true;
        };
        runtimeOwner: "@openfairygui/backend";
        transactionKernelOwner: "@openfairygui/core";
    }
    Index
    appSeamOwner: "@openfairygui/functions"
    artifact: {
        publish: false;
        publishBridge: BackendArtifactBridgeCapability;
        restore: false;
        restoreBridge: BackendArtifactBridgeCapability;
        status: "bridge-required";
    }
    authoring: {
        applyTransaction: true;
        gearKinds: readonly string[];
        nodeKinds: readonly string[];
        preflightTransaction: {
            impact: "model-diff";
            limits: { maxBytes: 262144; maxEntries: 2000 };
            mode: "execute-and-discard";
            reservesRevision: false;
        };
        resourceKinds: readonly string[];
        saveSession: true;
        transactionScope: {
            gearKinds: readonly string[];
            nodeKinds: readonly string[];
            resourceKinds: readonly string[];
        };
        unsupported: readonly ["artifact.publish", "artifact.restore"];
    }
    capabilitySchemaVersion: 12
    compatibilityPolicy: {
        additiveChange: "allowed without breaking existing consumers";
        capabilitySchemaChange: "requires capabilitySchemaVersion bump";
        incompatibleChange: "requires contractVersion bump";
    }
    contractVersion: "3.0.0"
    methods: readonly [
        "getCapabilities",
        "openSession",
        "openProjectSession",
        "getSession",
        "getProjectOutline",
        "queryEntity",
        "readSessionState",
        "readResourceBytes",
        "validateSession",
        "preflightTransaction",
        "applyTransaction",
        "saveSession",
        "materializeSession",
        "closeSession",
        "getEvents",
        "getCacheSnapshot",
        "refreshCache",
    ]
    read: {
        capabilitySnapshot: true;
        entityQuery: {
            kinds: readonly (
                | "component"
                | "controller"
                | "transition"
                | "project"
                | "package"
                | "resource"
                | "displayNode"
            )[];
            limits: { maxBytes: 262144; maxDepth: 32; maxNodes: 100000 };
            projection: "properties";
            sourceBytes: false;
        };
        projectOutline: true;
        projectValidation: true;
        resourceBytes: {
            expectedRevisionRequired: true;
            hydration: false;
            maxBytes: 1048576;
        };
        sessionSnapshot: true;
        sessionState: {
            limits: { maxBytes: 4194304; maxDepth: 64; maxNodes: 500000 };
            sourceBytes: false;
        };
    }
    runtime: {
        advisoryLocking: true;
        atomicSave: boolean;
        cache: {
            derivedReadOnly: true;
            keyedBy: "sessionId";
            refreshMethod: "refreshCache";
            refreshMode: "synchronous";
            sourceOfTruth: false;
        };
        coordinatedSave: true;
        events: {
            polling: true;
            retentionLimit: 1000;
            sequenceScope: "runtime";
            subscriptions: false;
        };
        pathPolicy: {
            canonicalization: "realpath+normalized-casefold";
            outputTargets: "deferred";
            saveTarget: "opened-project-only";
            sessionIdentity: "project-root";
            workspaceBoundary: "project-root-only";
        };
        sessionRuntime: true;
        staleRevisionProtection: true;
    }
    runtimeOwner: "@openfairygui/backend"
    transactionKernelOwner: "@openfairygui/core"