@fusedashlabs/ui9000-workspace
Version:
UI9000 workspace MCP. One tool, show_workspace, draws a chart from your table. Set TYPESAFE_API_KEY to let Jev choose the chart.
38 lines (37 loc) • 1.11 kB
TypeScript
/**
* Catalog argument for validateSpec / decide.
* Structural — widgets `EngineMetadata[]` is assignable.
* Do not import `src/catalog` (junior loader) from here.
*/
import type { DataProfile } from './data-profile.js';
import type { Intent } from './intent.js';
export type CatalogDataRole = {
id: string;
required?: boolean;
};
export type CatalogRule = {
when: string;
reason: string;
};
export type CatalogEvalCase = {
id?: string;
intent?: Intent;
profile?: DataProfile;
expect?: 'eligible' | 'disqualified';
reasonIncludes?: string;
};
export type CatalogEntry = {
id: string;
dataRoles?: readonly CatalogDataRole[];
allowedActions?: readonly string[];
intents?: readonly string[];
accessibility?: {
nameFrom?: string;
};
eligibility?: readonly CatalogRule[];
disqualify?: readonly CatalogRule[];
evalCases?: readonly CatalogEvalCase[];
/** FuseDash chartType for MCP Apps. Optional — widgets metadata carries it. */
chartTypeKeys?: readonly string[];
};
export type EngineCatalog = readonly CatalogEntry[];