UNPKG

@withpica/mcp-server

Version:

MCP Server for withPICA — enables AI assistants to interact with your withPICA music catalog

43 lines • 2.04 kB
/** * Signed split sheets in the destructive-delete preview (founder ruling * 2026-09-25): a work carrying a signed split sheet is archived, never * hard-deleted, so the signed evidence survives (WORK_DELETE_POLICY in * lib/services/works/delete-policy.ts). The preview for pica_works_delete / * pica_works_bulk_delete says so before the user confirms. * * The count comes from the split-sheet list the API already serves * (GET /admin/works/:id/split-sheet), whose rows carry * `signed_signature_count` — the same signal (`split_sheet_signatures.signed_at`) * the delete policy counts. */ import type { PicaClient } from "@withpica/mcp-sdk"; /** * Bulk previews read each work's sheets individually, and every read counts * against the caller's per-key API rate limit (lib/auth/api-key-auth.ts) — * the same budget the delete itself needs. Past this many ids the preview * states the rule instead of reading each work. */ export declare const SIGNED_SHEET_PREVIEW_MAX_IDS = 10; /** Number of the work's split sheets with at least one signature. Throws on a failed read. */ export declare function countSignedSplitSheets(pica: PicaClient, workId: string): Promise<number>; /** * The preview line for one work. `null` = the count could not be read; the * line then states the rule rather than claiming there are none. */ export declare function signedSplitSheetLineForWork(count: number | null): string; /** * The preview line for a bulk delete. `checked` false = too many ids to read * (or a read failed); the line then states the rule. */ export declare function signedSplitSheetLineForWorks(result: { checked: boolean; worksWithSigned: number; sheets: number; }): string; /** Read signed-sheet counts for a bulk preview, bounded by {@link SIGNED_SHEET_PREVIEW_MAX_IDS}. */ export declare function countSignedSplitSheetsForWorks(pica: PicaClient, ids: string[]): Promise<{ checked: boolean; worksWithSigned: number; sheets: number; }>; //# sourceMappingURL=signed-split-sheet-preview.d.ts.map