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[];
            resourceKinds: readonly string[];
            saveSession: true;
            transactionScope: {
                gearKinds: readonly string[];
                nodeKinds: readonly string[];
                resourceKinds: readonly string[];
            };
            unsupported: readonly ["artifact.publish", "artifact.restore"];
        };
        capabilitySchemaVersion: 2;
        compatibilityPolicy: {
            additiveChange: "allowed without breaking existing consumers";
            capabilitySchemaChange: "requires capabilitySchemaVersion bump";
            incompatibleChange: "requires contractVersion bump";
        };
        contractVersion: "1.1.0-p2";
        manifest: BackendCapabilityManifest;
        methods: readonly [
            "getCapabilities",
            "openSession",
            "openProjectSession",
            "getSession",
            "applyTransaction",
            "saveSession",
            "materializeSession",
            "closeSession",
            "getEvents",
            "getJob",
            "listJobs",
            "cancelJob",
            "getCacheSnapshot",
            "refreshCache",
        ];
        read: { capabilitySnapshot: true; sessionSnapshot: true };
        runtime: {
            advisoryLocking: true;
            atomicSave: false;
            cache: {
                derivedReadOnly: true;
                keyedBy: "canonicalPathKey";
                refreshMethod: "refreshCache";
                sourceOfTruth: false;
            };
            coordinatedSave: true;
            events: {
                polling: true;
                retentionLimit: 1000;
                sequenceScope: "runtime";
                subscriptions: false;
            };
            jobs: {
                artifactJobs: false;
                completedRetentionLimit: 100;
                cooperativeCancel: true;
                inMemory: true;
                persistent: false;
                supportedKinds: readonly ["cache.refresh"];
            };
            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[];
        resourceKinds: readonly string[];
        saveSession: true;
        transactionScope: {
            gearKinds: readonly string[];
            nodeKinds: readonly string[];
            resourceKinds: readonly string[];
        };
        unsupported: readonly ["artifact.publish", "artifact.restore"];
    }
    capabilitySchemaVersion: 2
    compatibilityPolicy: {
        additiveChange: "allowed without breaking existing consumers";
        capabilitySchemaChange: "requires capabilitySchemaVersion bump";
        incompatibleChange: "requires contractVersion bump";
    }
    contractVersion: "1.1.0-p2"
    methods: readonly [
        "getCapabilities",
        "openSession",
        "openProjectSession",
        "getSession",
        "applyTransaction",
        "saveSession",
        "materializeSession",
        "closeSession",
        "getEvents",
        "getJob",
        "listJobs",
        "cancelJob",
        "getCacheSnapshot",
        "refreshCache",
    ]
    read: { capabilitySnapshot: true; sessionSnapshot: true }
    runtime: {
        advisoryLocking: true;
        atomicSave: false;
        cache: {
            derivedReadOnly: true;
            keyedBy: "canonicalPathKey";
            refreshMethod: "refreshCache";
            sourceOfTruth: false;
        };
        coordinatedSave: true;
        events: {
            polling: true;
            retentionLimit: 1000;
            sequenceScope: "runtime";
            subscriptions: false;
        };
        jobs: {
            artifactJobs: false;
            completedRetentionLimit: 100;
            cooperativeCancel: true;
            inMemory: true;
            persistent: false;
            supportedKinds: readonly ["cache.refresh"];
        };
        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"