UNPKG

@struktoai/mirage-core

Version:

A Unified Virtual Filesystem For AI Agents

48 lines • 2.25 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 { cardUpdate } from "../../../../../core/trello/client.js"; import { normalizeCard } from "../../../../../core/trello/normalize.js"; import { compactJsonBytes } from "../../../../../core/render/json.js"; import { IOResult } from "../../../../../io/types.js"; import { FlagView } from "../../../../spec/flag_view.js"; import { requireCard } from "../scope.js"; import { fileOperand, requiredFlag, resolveTextInput } from "../util.js"; export async function update(accessor, _paths, _texts, ctx) { const fl = new FlagView(ctx.flags, ctx.spec); const cardId = requiredFlag(fl, 'card_id'); const name = fl.asStr('name') ?? null; let desc; if (fl.asStr('desc') !== undefined || fileOperand(fl, 'desc_file') !== null || ctx.stdin !== null) { desc = await resolveTextInput(ctx, fl, { value: 'desc', file: 'desc_file', errorMessage: 'desc is required', }); } const closedFlag = fl.asStr('closed'); const closed = closedFlag === undefined ? null : ['true', '1', 'yes'].includes(closedFlag.toLowerCase()); const due = fl.asStr('due') ?? null; await requireCard(accessor, cardId); const card = await cardUpdate(accessor.transport, { cardId, ...(name !== null ? { name } : {}), ...(desc !== undefined ? { desc } : {}), ...(closed !== null ? { closed } : {}), ...(due !== null ? { due } : {}), }); return [compactJsonBytes(normalizeCard(card)), new IOResult()]; } //# sourceMappingURL=update.js.map