@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.
30 lines (29 loc) • 1.2 kB
TypeScript
import type { Trace, TraceProposal } from '../trace/trace.js';
/**
* Frozen `_meta` keys for the chart App.
* chart-app reads this contract. It does not invent keys.
*
* `_meta.trace` is the decision record.
* `_meta.proposal` is optional and present only when an action is held.
* `ui.resourceUri` stays `ui://ui9000/chart`.
*/
export declare const META_RESOURCE_URI = "ui://ui9000/chart";
export declare const FROZEN_META_KEYS: readonly ["_meta.trace", "_meta.proposal", "ui.resourceUri"];
export type WorkspaceMetaInput = {
resourceUri: string;
csp: unknown;
chartType: string;
dataUrl: string;
chartId: string;
trace?: Trace;
proposal?: TraceProposal;
};
/** The object chart-app is allowed to read. Resource URI is not renamed. */
export declare function workspaceMeta(input: WorkspaceMetaInput): Record<string, unknown>;
/**
* Drops dataset `rows` everywhere.
* Drops a `data` array only inside a decision record (`trace`, `proposal`, `proposals`).
* A `data` array on the tool result itself is left alone.
*/
export declare function omitRowArrays<T>(value: T, insideDecision?: boolean): T;
export declare function containsRowArrays(value: unknown): boolean;