UNPKG

@struktoai/mirage-core

Version:

A Unified Virtual Filesystem For AI Agents

42 lines • 1.98 kB
// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= /** A write policy a mount or snapshot cannot take, refused at load. Mirrors Python's `WritePolicyError`. */ export class WritePolicyError extends Error { constructor(message) { super(message); this.name = 'WritePolicyError'; } } /** * A mount would place one VFS object, or a disk on a folder another disk mount * has, at a second prefix. Mirrors Python's `SharedStorageError`. */ export class SharedStorageError extends Error { constructor(prefix, existing, location) { super(location === null ? `mount ${prefix}: this VFS is already mounted at ${existing}; mount a separate VFS instead` : `mount ${prefix}: ${location} is already mounted at ${existing}`); this.name = 'SharedStorageError'; } } /** A pathless write could reach more than one writable mount. */ export class MountCommandAmbiguous extends Error { constructor(cmdName, prefixes) { const mounts = prefixes.map((prefix) => ` ${prefix.replace(/\/$/, '') || '/'}`).join('\n'); super(`${cmdName}: ambiguous, registered on ${String(prefixes.length)} writable mounts:\n${mounts}\n` + 'cd into the target mount to disambiguate.'); this.name = 'MountCommandAmbiguous'; } } //# sourceMappingURL=errors.js.map