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.

48 lines (47 loc) • 2.31 kB
/** * MCP Apps surface for Cursor / Claude — same `ui://ui9000/chart` as mcp-ui. * Prefer the sibling checkout's generated App View so local iframe/CSS * changes show up without a deploy. Fall back to * `https://mcp.ui9000.com/mcp-app/chart` when that file is missing * (published bin, other machines). * Do not put a bare data-link URL in tool text: hosts open it as a page (JSON). */ export declare const WORKSPACE_CHART_RESOURCE_URI = "ui://ui9000/chart"; export declare const MCP_APP_RESOURCE_MIME = "text/html;profile=mcp-app"; /** Same prefix mcp-ui chart-app parses from tool text (Cursor often strips `_meta`). */ export declare const UI9000_META_PREFIX = "ui9000-meta:"; /** chart-app reads `src/inspector/meta-contract.ts`. It does not invent `_meta` keys. */ export declare const HOSTED_MCP_APP_CHART_PATH = "/mcp-app/chart"; export type McpAppCsp = { connectDomains: string[]; resourceDomains: string[]; frameDomains: string[]; }; export type McpAppResource = { uri: string; name: string; mimeType: string; description?: string; loadHtml: () => string | Promise<string>; ui: { csp: McpAppCsp; }; }; export type WorkspaceAppMeta = { chartType: string; dataUrl: string; chartId: string; /** Id only. The trace payload stays on `_meta`, never in this prefix. */ traceId?: string; }; export declare function originFromBaseUrl(raw: string, fallback?: string): string; export declare function buildWorkspaceChartCsp(baseUrl: string): McpAppCsp; export declare function hostedChartAppUrl(baseUrl: string): string; export declare function localChartAppHtmlPath(): string | undefined; export declare function loadLocalChartAppHtml(): string | undefined; export declare function loadChartAppHtml(baseUrl?: string, fetchImpl?: typeof fetch): Promise<string>; export declare function loadHostedChartAppHtml(baseUrl?: string, fetchImpl?: typeof fetch): Promise<string>; export declare function resetHostedChartAppHtmlCacheForTests(): void; export declare function chartIdFromDataUrl(dataUrl: string): string; export declare function formatWorkspaceAppText(summary: string, meta: WorkspaceAppMeta): string; export declare function workspaceChartAppResource(baseUrl: string, loadHtml?: McpAppResource['loadHtml']): McpAppResource;