UNPKG

@struktoai/mirage-core

Version:

A Unified Virtual Filesystem For AI Agents

47 lines • 1.75 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. ========= import { ownerPrefix } from "../utils/slash.js"; /** * A MountResolver over a live prefix listing. * * The one concrete resolver: the workspace wraps whatever view it * wants a consumer to have (a sandbox-filtered list for the runtimes) * and the matching rule stays `ownerPrefix`'s. Reads its sources per * call, so mounts and links added or removed after construction are * always picked up. * * The link source is optional and answers nothing when absent, which * is right for a resolver built outside a workspace: there is no node * table, so no name can be a link. */ export class PrefixResolver { source; links; constructor(source, links = null) { this.source = source; this.links = links; } prefixes() { return [...this.source()]; } ownerOf(path) { return ownerPrefix(this.source(), path); } linkChildren(directory) { if (this.links === null) return new Set(); return this.links(directory); } } //# sourceMappingURL=resolver.js.map