UNPKG

@struktoai/mirage-core

Version:

A Unified Virtual Filesystem For AI Agents

38 lines • 1.55 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 { z } from 'zod'; import { ApiError } from "../api/errors.js"; const ErrorBody = z.object({ error: z.string().nullish() }); export class TiDBFilesystemApiError extends ApiError { constructor(message, status) { super(message, status); this.name = 'TiDBFilesystemApiError'; } } export function errorOf(response, text) { let payload = null; try { payload = JSON.parse(text); } catch { payload = null; } const parsed = ErrorBody.safeParse(payload); const message = (parsed.success ? parsed.data.error : null) ?? (text || `HTTP ${String(response.status)}`); return new TiDBFilesystemApiError(message, response.status); } export function hasStatus(exc, status) { return exc instanceof TiDBFilesystemApiError && exc.status === status; } //# sourceMappingURL=errors.js.map