@withpica/mcp-server
Version:
MCP Server for withPICA — enables AI assistants to interact with your withPICA music catalog
53 lines • 2.17 kB
TypeScript
/**
* ADR-214 — hand-authored narrative + companion-call structure per workflow.
*
* What's IN this file:
* - workflow summary prose
* - primary_tool name (must match a real tool in ToolRegistry)
* - companion_calls ordering, narrative, and per-row required hints
* - example payloads (for agent reference)
* - enum_tables — the join key into schema-mirror.json that tells the
* generator which CHECK enums to embed in the emitted resource
*
* What's NOT in this file:
* - primary_required / primary_recommended arrays — derived at build
* time from each tool's inputSchema in ToolRegistry
* - CHECK enum values — pulled from schema-mirror.json at build time
*
* Source-to-emitted pipeline:
* required-schemas.source.ts (this file)
* + ToolRegistry inputSchemas (live source-of-truth)
* + schema-mirror.json (CHECK constraint snapshot)
* ──> required-schemas.generated.ts (committed; consumed by ResourceRegistry)
*
* Drift prevention (mechanism #2 in ADR-214): scripts/lint-required-schemas.ts
* walks ToolRegistry; every tool whose `workflows` field includes a workflow
* tag here MUST appear as primary_tool or in companion_calls[].tool. Renames
* and deletions caught from both directions.
*/
export interface RequiredSchemaCompanion {
tool: string;
when: string;
required: string[];
per_row_required?: string[];
constraint?: string;
}
export interface RequiredSchemaSource {
workflow: string;
summary: string;
primary_tool: string;
/**
* Tables/columns whose CHECK enums should be embedded in the generated
* resource. Generator reads schema-mirror.json[<table>][<column>] for
* each entry and emits the values into the `enums` block.
*/
enum_tables?: Array<{
table: string;
columns: string[];
}>;
companion_calls: RequiredSchemaCompanion[];
example: Record<string, unknown>;
}
export declare const REQUIRED_SCHEMAS_SOURCE: Record<string, RequiredSchemaSource>;
export declare const REQUIRED_SCHEMA_WORKFLOWS: Array<keyof typeof REQUIRED_SCHEMAS_SOURCE>;
//# sourceMappingURL=required-schemas.source.d.ts.map