Tool tree
gradeNot graded
list_datasetsAnswer
List every dataset currently loaded in the user's local SiftIO vault, with row counts and column schemas. Call this first to discover what is available.
View tool JSON
{
"name": "list_datasets",
"kind": "answer",
"impl": "imperative",
"description": "List every dataset currently loaded in the user's local SiftIO vault, with row counts and column schemas. Call this first to discover what is available.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
}
}list_samplesAnswer
List the demo datasets bundled with SiftIO that can be loaded into the vault. Call this when list_datasets comes back empty — the vault starts empty in a fresh browser session, and these are the only datasets you can load yourself. Load them with load_sample and query them with the tools rather than fetching the files directly: querying runs in DuckDB over the whole vault, supports joins across datasets, and is recorded in the user's audit log.
View tool JSON
{
"name": "list_samples",
"kind": "answer",
"impl": "imperative",
"description": "List the demo datasets bundled with SiftIO that can be loaded into the vault. Call this when list_datasets comes back empty — the vault starts empty in a fresh browser session, and these are the only datasets you can load yourself. Load them with load_sample and query them with the tools rather than fetching the files directly: querying runs in DuckDB over the whole vault, supports joins across datasets, and is recorded in the user's audit log.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
}
}load_sampleAction
Load one bundled demo dataset into the local vault by file name, taken from list_samples. This registers query_<table> and describe_<table> tools for it. Only bundled samples can be loaded this way; the user adds their own files by dropping them on the page.
View tool JSON
{
"name": "load_sample",
"kind": "act",
"impl": "imperative",
"description": "Load one bundled demo dataset into the local vault by file name, taken from list_samples. This registers query_<table> and describe_<table> tools for it. Only bundled samples can be loaded this way; the user adds their own files by dropping them on the page.",
"inputSchema": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "A file name from list_samples, e.g. \"transactions.csv\"."
}
}
}
}run_sqlAnswer
Run a read-only SQL SELECT against the local DuckDB vault. Tables are named by the `table` field from list_datasets. Use this to join across datasets. At most 1000 rows are returned. The result echoes the `sql` that ran — quote it when you report a number, so the reader can see what was counted. Amounts may be negative where a dataset records refunds; excluding them is a different question, so say which you did.
View tool JSON
{
"name": "run_sql",
"kind": "answer",
"impl": "imperative",
"description": "Run a read-only SQL SELECT against the local DuckDB vault. Tables are named by the `table` field from list_datasets. Use this to join across datasets. At most 1000 rows are returned. The result echoes the `sql` that ran — quote it when you report a number, so the reader can see what was counted. Amounts may be negative where a dataset records refunds; excluding them is a different question, so say which you did.",
"inputSchema": {
"type": "object",
"required": [
"sql"
],
"properties": {
"sql": {
"type": "string",
"description": "A single SELECT statement."
}
}
}
}render_chartAction
Run a read-only SELECT and draw the result in the SiftIO viewport so the user can see it. Use after run_sql when a picture helps. The result echoes the `sql` that ran, alongside `columns` and `rows`.
View tool JSON
{
"name": "render_chart",
"kind": "act",
"impl": "imperative",
"description": "Run a read-only SELECT and draw the result in the SiftIO viewport so the user can see it. Use after run_sql when a picture helps. The result echoes the `sql` that ran, alongside `columns` and `rows`.",
"inputSchema": {
"type": "object",
"required": [
"sql",
"kind"
],
"properties": {
"sql": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"bar",
"line",
"scatter",
"table"
]
},
"x": {
"type": "string",
"description": "Column for the x axis."
},
"y": {
"type": "string",
"description": "Column for the y axis."
}
}
}
}save_viewAction
Pin a named query and chart to the user's board so it survives after this conversation ends.
View tool JSON
{
"name": "save_view",
"kind": "act",
"impl": "imperative",
"description": "Pin a named query and chart to the user's board so it survives after this conversation ends.",
"inputSchema": {
"type": "object",
"required": [
"name",
"sql",
"kind"
],
"properties": {
"name": {
"type": "string"
},
"sql": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"bar",
"line",
"scatter",
"table"
]
},
"x": {
"type": "string"
},
"y": {
"type": "string"
}
}
}
}eject_datasetAction
Remove a dataset from the local vault. The user is asked to confirm first.
View tool JSON
{
"name": "eject_dataset",
"kind": "act",
"impl": "imperative",
"description": "Remove a dataset from the local vault. The user is asked to confirm first.",
"inputSchema": {
"type": "object",
"required": [
"table"
],
"properties": {
"table": {
"type": "string"
}
}
}
}