UNPKG

@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.

44 lines (43 loc) • 1.51 kB
/** Closed action types a spec may declare. Catalog metadata may list more. */ export declare const SPEC_ACTIONS: readonly ["hover", "resize", "select", "submit", "approve", "reject"]; export type SpecAction = (typeof SPEC_ACTIONS)[number]; export declare const SPEC_ACTION_SET: ReadonlySet<string>; export type SpecBindValue = string | { field: string; }; export type SpecBindMap = Record<string, SpecBindValue>; export type SpecBindItem = { role: string; field: string; }; export type SpecTool = { name: string; }; export type SpecField = string | { name?: string; id?: string; label?: string; }; /** * Workspace spec. No `data: row[]` — rows arrive through the data-channel handle. * `allowedActions` is the closed Stage 3 set only — catalog extras (pan/zoom) stay off the spec. * `binds` require `fields` so a missing column is detectable. */ export type WorkspaceSpec = { component: string; props?: Record<string, unknown>; binds?: SpecBindMap | readonly SpecBindItem[]; fields?: readonly SpecField[]; allowedActions?: readonly string[]; actions?: readonly string[]; tools?: readonly { name?: string; [key: string]: unknown; }[]; children?: readonly unknown[]; label?: string; /** Signed data-link. Widget fetches rows here — never from the MCP tool result. */ dataUrl?: string; /** Host tool the widget calls to read the signed payload. Not a model-facing tool. */ callServerTool?: string; };