appSeamOwner
appSeamOwner: "@openfairygui/functions"
authoring
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
capabilitySchemaVersion: 2
compatibilityPolicy
compatibilityPolicy: {
additiveChange: "allowed without breaking existing consumers";
capabilitySchemaChange: "requires capabilitySchemaVersion bump";
incompatibleChange: "requires contractVersion bump";
}
contractVersion
contractVersion: "1.1.0-p2"
methods
methods: readonly [
"getCapabilities",
"openSession",
"openProjectSession",
"getSession",
"applyTransaction",
"saveSession",
"materializeSession",
"closeSession",
"getEvents",
"getJob",
"listJobs",
"cancelJob",
"getCacheSnapshot",
"refreshCache",
]
read
read: { capabilitySnapshot: true; sessionSnapshot: true }
runtime
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
runtimeOwner: "@openfairygui/backend"
transactionKernelOwner
transactionKernelOwner: "@openfairygui/core"