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.

28 lines (27 loc) • 1.24 kB
/** * Column-oriented view of one dataset — the profiler's only input. * * A Table is the parsed shape of a CSV: header names plus raw cell text in row * order. The profiler never sees typed rows, so a fixture CSV and a live * dataset go through exactly the same classification. */ export type TableColumn = { /** Header text, as written. Matching is done on a normalized copy. */ name: string; /** Raw cell text, one entry per row, in row order. */ values: readonly string[]; }; export type Table = { columns: readonly TableColumn[]; }; /** Rows in the table — the longest column wins if a CSV row was short. */ export declare function tableRowCount(table: Table): number; /** Row-oriented copy of a Table. Used to persist / profile, not as MCP tool output. */ export declare function tableToRows(table: Table): Record<string, string>[]; /** Header text reduced to letters and digits: `Created At` and `created_at` match. */ export declare function normalizeName(name: string): string; /** * Minimal RFC 4180 reader: quoted fields, `""` escapes, CR/LF or LF, blank * lines skipped. Enough for fixtures; the profiler owns no other parsing. */ export declare function parseCsvTable(text: string): Table;