@withpica/mcp-server
Version:
MCP Server for withPICA — enables AI assistants to interact with your withPICA music catalog
44 lines • 1.82 kB
TypeScript
/**
* Registration Integrity Floor (spec 2026-07-09, Task 9) — MCP pressure
* rendering. Renders `EntityAssessment` gaps (Task 8's
* `pica.integrity.assessEntity`) into the same in-band `CompletionHint`
* shape the guided loop already uses elsewhere (custody-hints.ts,
* gap-hints.ts), plus a raw `integrity` block merged into the response
* data so a caller wanting the untranslated gap codes/severities can
* read them directly.
*
* BEST-EFFORT BY DESIGN: this is pressure, not a gate. Any failure —
* network error, `ApiError`, an org with the feature not yet rolled
* out — degrades silently to `{ hints: [], integrity: null }`. It must
* never throw and never block the write it's attached to; the write
* already succeeded by the time this runs. No logging here (the
* app-side assessor already warn-logs its own failures — see
* `lib/services/briefing.ts`'s `getIntegrityBriefingSection` caller).
*/
import type { PicaClient } from "@withpica/mcp-sdk";
import type { CompletionHint } from "@withpica/mcp-utils";
export interface IntegrityBlock {
gaps: Array<{
code: string;
entity: {
type: string;
id: string;
label: string;
};
severity: string;
label: string;
action_hint: string;
proposed_action?: unknown;
}>;
waived_count: number;
}
export interface IntegrityPressure {
hints: CompletionHint[];
integrity: IntegrityBlock | null;
}
/**
* Assess one entity's registration-integrity gaps and render them as
* completion hints + a raw integrity block. Never throws.
*/
export declare function buildIntegrityPressure(pica: PicaClient, entityType: "work" | "recording" | "release", entityId: string): Promise<IntegrityPressure>;
//# sourceMappingURL=integrity-hints.d.ts.map