Interface: AskPromptPayload
Defined in: server/insights/ask/prompt-payload.ts:59
The exact JSON-serializable object an adapter sends as the user turn.
Structurally identical to DraftReportInput minus nothing and plus
nothing — keeping the two in lockstep is what makes "rows are
unrepresentable" a property of the wire payload and not just of the port
type. Asserted key-for-key in prompt-payload.test.ts.
Properties
metadata
metadata: {
cannedReports?: {
definition: {
aggregations?: {
alias: string;
field?: string;
fn: "min" | "max" | "count" | "avg" | "sum";
}[];
columns: string[];
filter?: FilterNode;
groupBy?: {
bucket?: "year" | "month" | "day" | "week" | "quarter";
field: string;
}[];
schemaVersion: 1;
sort: {
by: string;
direction: "asc" | "desc";
}[];
subject: string;
timezone: string;
totals?: boolean;
};
key: string;
name: string;
}[];
dashboards?: {
filters?: (
| {
field: string;
id: string;
kind: "date-range";
label: string;
}
| {
field: string;
id: string;
kind: "select";
label: string;
multiple?: boolean;
searchable?: boolean;
}
| {
defaultOperator?: "gt" | "lt" | "gte" | "lte" | "eq";
field: string;
format?: "number" | "currency";
id: string;
kind: "measure";
label: string;
operators?: (... | ... | ... | ... | ...)[];
}
| {
field: string;
id: string;
kind: "search";
label: string;
})[];
key: string;
label: string;
tiles: (
| {
id: string;
kind: "metric" | "canned-report";
layout: {
h: number;
w: number;
x: number;
y: number;
};
ref: string;
visualization?: | {
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "metric";
legend?: boolean;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
ticker?: {
colorCoded?: ...;
invertColors?: ...;
label?: ...;
value: ...;
};
tickers?: ...[];
value: string;
}
| {
category: string;
facet?: {
field: ...;
scales?: ...;
};
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "bar";
legend?: boolean;
mode?: "percent" | "stacked" | "grouped" | "diverging";
orientation?: "vertical" | "horizontal";
series: {
colorSlot?: ...;
field: ...;
label?: ...;
}[];
summary?: {
field: ...;
fn: ...;
label?: ...;
};
}
| {
bars: {
colorSlot?: ...;
field: ...;
label?: ...;
}[];
curve?: "linear" | "monotone";
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "combo";
legend?: boolean;
lines: {
colorSlot?: ...;
field: ...;
label?: ...;
}[];
summary?: {
field: ...;
fn: ...;
label?: ...;
};
x: string;
}
| {
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "gauge";
legend?: boolean;
limit?: number;
limitField?: string;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
sweep?: 180 | 270 | 360;
thresholds?: ...[];
value: string;
}
| {
area?: boolean;
compact?: boolean;
curve?: "linear" | "monotone";
facet?: {
field: ...;
scales?: ...;
};
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "line";
legend?: boolean;
points?: boolean;
series: {
colorSlot?: ...;
field: ...;
label?: ...;
}[];
stack?: "none" | "absolute" | "percent";
summary?: {
field: ...;
fn: ...;
label?: ...;
};
x: string;
}
| {
category: string;
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
innerRadiusRatio?: number;
kind: "pie";
legend?: boolean;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
value: string;
}
| {
facet?: {
field: ...;
scales?: ...;
};
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
group?: string;
kind: "scatter";
label?: string;
legend?: boolean;
size?: string;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
x: string;
y: string;
}
| {
bins?: number;
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "histogram";
legend?: boolean;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
value: string;
}
| {
color?: "diverging" | "sequential";
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "heatmap";
legend?: boolean;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
value: string;
x: string;
y: string;
}
| {
after: string;
before: string;
category: string;
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "dumbbell";
legend?: boolean;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
}
| {
category: string;
change: string;
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "waterfall";
legend?: boolean;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
total?: string;
}
| {
conversion?: "previous" | "first";
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "funnel";
legend?: boolean;
stage: string;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
value: string;
}
| {
color?: "diverging" | "sequential";
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "us-map";
label?: string;
latitude: string;
legend?: boolean;
longitude: string;
state: string;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
value: string;
}
| {
color?: "diverging" | "sequential";
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "choropleth";
legend?: boolean;
region: string;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
value: string;
}
| {
kind: "table";
};
}
| {
background?: boolean;
id: string;
kind: "text-cell";
layout: {
h: number;
w: number;
x: number;
y: number;
};
ref?: undefined;
text: string;
variant: "body" | "heading-1" | "heading-2";
visualization?: undefined;
})[];
}[];
metrics?: {
aggregation: {
field?: string;
fn: "min" | "max" | "count" | "avg" | "sum";
};
format?: {
money?: {
currencyCode?: string;
representation: "decimal" | "minorUnits";
scale: number;
};
type: "string" | "number" | "boolean" | "date" | "enum" | "datetime" | "money";
};
key: string;
label: string;
subject: string;
}[];
subjects: {
defaultColumns?: string[];
fields: {
capabilities: {
aggregatable: boolean;
filterable: boolean;
groupable: boolean;
sortable: boolean;
};
enumValues?: string[];
key: string;
label: string;
money?: {
currencyCode?: string;
representation: "decimal" | "minorUnits";
scale: number;
};
type: "string" | "number" | "boolean" | "date" | "enum" | "datetime" | "money";
}[];
key: string;
label: string;
}[];
};Defined in: server/insights/ask/prompt-payload.ts:63
cannedReports?
optional cannedReports?: {
definition: {
aggregations?: {
alias: string;
field?: string;
fn: "min" | "max" | "count" | "avg" | "sum";
}[];
columns: string[];
filter?: FilterNode;
groupBy?: {
bucket?: "year" | "month" | "day" | "week" | "quarter";
field: string;
}[];
schemaVersion: 1;
sort: {
by: string;
direction: "asc" | "desc";
}[];
subject: string;
timezone: string;
totals?: boolean;
};
key: string;
name: string;
}[];dashboards?
optional dashboards?: {
filters?: (
| {
field: string;
id: string;
kind: "date-range";
label: string;
}
| {
field: string;
id: string;
kind: "select";
label: string;
multiple?: boolean;
searchable?: boolean;
}
| {
defaultOperator?: "gt" | "lt" | "gte" | "lte" | "eq";
field: string;
format?: "number" | "currency";
id: string;
kind: "measure";
label: string;
operators?: (... | ... | ... | ... | ...)[];
}
| {
field: string;
id: string;
kind: "search";
label: string;
})[];
key: string;
label: string;
tiles: (
| {
id: string;
kind: "metric" | "canned-report";
layout: {
h: number;
w: number;
x: number;
y: number;
};
ref: string;
visualization?: | {
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "metric";
legend?: boolean;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
ticker?: {
colorCoded?: ...;
invertColors?: ...;
label?: ...;
value: ...;
};
tickers?: ...[];
value: string;
}
| {
category: string;
facet?: {
field: ...;
scales?: ...;
};
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "bar";
legend?: boolean;
mode?: "percent" | "stacked" | "grouped" | "diverging";
orientation?: "vertical" | "horizontal";
series: {
colorSlot?: ...;
field: ...;
label?: ...;
}[];
summary?: {
field: ...;
fn: ...;
label?: ...;
};
}
| {
bars: {
colorSlot?: ...;
field: ...;
label?: ...;
}[];
curve?: "linear" | "monotone";
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "combo";
legend?: boolean;
lines: {
colorSlot?: ...;
field: ...;
label?: ...;
}[];
summary?: {
field: ...;
fn: ...;
label?: ...;
};
x: string;
}
| {
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "gauge";
legend?: boolean;
limit?: number;
limitField?: string;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
sweep?: 180 | 270 | 360;
thresholds?: ...[];
value: string;
}
| {
area?: boolean;
compact?: boolean;
curve?: "linear" | "monotone";
facet?: {
field: ...;
scales?: ...;
};
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "line";
legend?: boolean;
points?: boolean;
series: {
colorSlot?: ...;
field: ...;
label?: ...;
}[];
stack?: "none" | "absolute" | "percent";
summary?: {
field: ...;
fn: ...;
label?: ...;
};
x: string;
}
| {
category: string;
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
innerRadiusRatio?: number;
kind: "pie";
legend?: boolean;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
value: string;
}
| {
facet?: {
field: ...;
scales?: ...;
};
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
group?: string;
kind: "scatter";
label?: string;
legend?: boolean;
size?: string;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
x: string;
y: string;
}
| {
bins?: number;
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "histogram";
legend?: boolean;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
value: string;
}
| {
color?: "diverging" | "sequential";
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "heatmap";
legend?: boolean;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
value: string;
x: string;
y: string;
}
| {
after: string;
before: string;
category: string;
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "dumbbell";
legend?: boolean;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
}
| {
category: string;
change: string;
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "waterfall";
legend?: boolean;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
total?: string;
}
| {
conversion?: "previous" | "first";
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "funnel";
legend?: boolean;
stage: string;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
value: string;
}
| {
color?: "diverging" | "sequential";
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "us-map";
label?: string;
latitude: string;
legend?: boolean;
longitude: string;
state: string;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
value: string;
}
| {
color?: "diverging" | "sequential";
format?: {
compact?: ...;
dateStyle?: ...;
maximumFractionDigits?: ...;
wholeNumberTicks?: ...;
};
grid?: boolean;
kind: "choropleth";
legend?: boolean;
region: string;
summary?: {
field: ...;
fn: ...;
label?: ...;
};
value: string;
}
| {
kind: "table";
};
}
| {
background?: boolean;
id: string;
kind: "text-cell";
layout: {
h: number;
w: number;
x: number;
y: number;
};
ref?: undefined;
text: string;
variant: "body" | "heading-1" | "heading-2";
visualization?: undefined;
})[];
}[];metrics?
optional metrics?: {
aggregation: {
field?: string;
fn: "min" | "max" | "count" | "avg" | "sum";
};
format?: {
money?: {
currencyCode?: string;
representation: "decimal" | "minorUnits";
scale: number;
};
type: "string" | "number" | "boolean" | "date" | "enum" | "datetime" | "money";
};
key: string;
label: string;
subject: string;
}[];subjects
subjects: {
defaultColumns?: string[];
fields: {
capabilities: {
aggregatable: boolean;
filterable: boolean;
groupable: boolean;
sortable: boolean;
};
enumValues?: string[];
key: string;
label: string;
money?: {
currencyCode?: string;
representation: "decimal" | "minorUnits";
scale: number;
};
type: "string" | "number" | "boolean" | "date" | "enum" | "datetime" | "money";
}[];
key: string;
label: string;
}[];priorIssues?
optional priorIssues?: InsightsIssue[];Defined in: server/insights/ask/prompt-payload.ts:65
Present only on the single bounded retry.
prompt
prompt: string;Defined in: server/insights/ask/prompt-payload.ts:62
timezone
timezone: string;Defined in: server/insights/ask/prompt-payload.ts:61
today
today: string;Defined in: server/insights/ask/prompt-payload.ts:60