UNPKG

@struktoai/mirage-core

Version:

A Unified Virtual Filesystem For AI Agents

38 lines • 1.8 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 { FlagView } from "../../../../spec/flag_view.js"; import { replacePageMarkdown } from "../../../../../core/notion/pages.js"; import { IOResult } from "../../../../../io/types.js"; import { contentOrStdin, firstText, notionTransport, prettyJson, usageError } from "../util.js"; const ENC = new TextEncoder(); export async function edit(accessor, _paths, texts, ctx) { const fl = new FlagView(ctx.flags); let pageId; let markdown; try { pageId = firstText(texts, 'page id'); markdown = await contentOrStdin(fl.asStr('content'), ctx.stdin); } catch (err) { return usageError(err); } // The PATCH answers with the page's new markdown, which is what `--json` is // for; printing the id under it would throw the response away on the one // flag that asks for it. const edited = await replacePageMarkdown(notionTransport(accessor, ctx.flags), pageId, markdown); if (fl.asBool('json')) return [prettyJson(edited), new IOResult()]; return [ENC.encode(`${pageId}\n`), new IOResult()]; } //# sourceMappingURL=edit.js.map