UNPKG

@struktoai/mirage-core

Version:

A Unified Virtual Filesystem For AI Agents

40 lines • 1.69 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 { enoent } from "../../errors/fs.js"; import { blobBytes } from "../vector/read.js"; import { tableOf } from "../vector/scope.js"; import { renderCard } from "./render.js"; async function rowOf(accessor, match, virtual) { const config = accessor.config; const row = await accessor.driver.rowRecord(tableOf(config.table, match), config.idColumn, match.slots.row_id ?? ''); if (row === null) throw enoent(virtual); return row; } async function readCard(accessor, match, path) { const row = await rowOf(accessor, match, path.virtual); return renderCard(row, accessor.config); } async function readBlob(accessor, match, path) { const config = accessor.config; if (config.blobColumn === null) throw enoent(path.virtual); const row = await rowOf(accessor, match, path.virtual); return blobBytes(row[config.blobColumn]); } export const READERS = { row_card: readCard, row_blob: readBlob, }; //# sourceMappingURL=read.js.map