@vertesia/client 0.24.0-dev.202601221707
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +13 -0
- package/README.md +110 -0
- package/lib/cjs/AccountApi.js +85 -0
- package/lib/cjs/AccountApi.js.map +1 -0
- package/lib/cjs/AccountsApi.js +16 -0
- package/lib/cjs/AccountsApi.js.map +1 -0
- package/lib/cjs/AnalyticsApi.js +41 -0
- package/lib/cjs/AnalyticsApi.js.map +1 -0
- package/lib/cjs/ApiKeysApi.js +63 -0
- package/lib/cjs/ApiKeysApi.js.map +1 -0
- package/lib/cjs/AppsApi.js +119 -0
- package/lib/cjs/AppsApi.js.map +1 -0
- package/lib/cjs/CommandsApi.js +19 -0
- package/lib/cjs/CommandsApi.js.map +1 -0
- package/lib/cjs/EnvironmentsApi.js +72 -0
- package/lib/cjs/EnvironmentsApi.js.map +1 -0
- package/lib/cjs/GroupsApi.js +78 -0
- package/lib/cjs/GroupsApi.js.map +1 -0
- package/lib/cjs/IamApi.js +53 -0
- package/lib/cjs/IamApi.js.map +1 -0
- package/lib/cjs/InteractionBase.js +44 -0
- package/lib/cjs/InteractionBase.js.map +1 -0
- package/lib/cjs/InteractionCatalogApi.js +64 -0
- package/lib/cjs/InteractionCatalogApi.js.map +1 -0
- package/lib/cjs/InteractionOutput.js +300 -0
- package/lib/cjs/InteractionOutput.js.map +1 -0
- package/lib/cjs/InteractionResult.example.js +57 -0
- package/lib/cjs/InteractionResult.example.js.map +1 -0
- package/lib/cjs/InteractionsApi.js +262 -0
- package/lib/cjs/InteractionsApi.js.map +1 -0
- package/lib/cjs/MCPOAuthApi.js +62 -0
- package/lib/cjs/MCPOAuthApi.js.map +1 -0
- package/lib/cjs/ProjectsApi.js +72 -0
- package/lib/cjs/ProjectsApi.js.map +1 -0
- package/lib/cjs/PromptsApi.js +133 -0
- package/lib/cjs/PromptsApi.js.map +1 -0
- package/lib/cjs/RefsApi.js +14 -0
- package/lib/cjs/RefsApi.js.map +1 -0
- package/lib/cjs/RunsApi.js +113 -0
- package/lib/cjs/RunsApi.js.map +1 -0
- package/lib/cjs/SkillsApi.js +39 -0
- package/lib/cjs/SkillsApi.js.map +1 -0
- package/lib/cjs/StreamSource.js +17 -0
- package/lib/cjs/StreamSource.js.map +1 -0
- package/lib/cjs/TrainingApi.js +54 -0
- package/lib/cjs/TrainingApi.js.map +1 -0
- package/lib/cjs/UsersApi.js +13 -0
- package/lib/cjs/UsersApi.js.map +1 -0
- package/lib/cjs/client.js +360 -0
- package/lib/cjs/client.js.map +1 -0
- package/lib/cjs/execute.js +158 -0
- package/lib/cjs/execute.js.map +1 -0
- package/lib/cjs/index.js +22 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/nodejs/NodeStreamSource.js +45 -0
- package/lib/cjs/nodejs/NodeStreamSource.js.map +1 -0
- package/lib/cjs/nodejs/index.js +18 -0
- package/lib/cjs/nodejs/index.js.map +1 -0
- package/lib/cjs/package.json +3 -0
- package/lib/cjs/store/AnalyzeDocApi.js +56 -0
- package/lib/cjs/store/AnalyzeDocApi.js.map +1 -0
- package/lib/cjs/store/CollectionsApi.js +131 -0
- package/lib/cjs/store/CollectionsApi.js.map +1 -0
- package/lib/cjs/store/CommandsApi.js +17 -0
- package/lib/cjs/store/CommandsApi.js.map +1 -0
- package/lib/cjs/store/DashboardApi.js +182 -0
- package/lib/cjs/store/DashboardApi.js.map +1 -0
- package/lib/cjs/store/DataApi.js +433 -0
- package/lib/cjs/store/DataApi.js.map +1 -0
- package/lib/cjs/store/EmailApi.js +103 -0
- package/lib/cjs/store/EmailApi.js.map +1 -0
- package/lib/cjs/store/EmbeddingsApi.js +29 -0
- package/lib/cjs/store/EmbeddingsApi.js.map +1 -0
- package/lib/cjs/store/FilesApi.js +237 -0
- package/lib/cjs/store/FilesApi.js.map +1 -0
- package/lib/cjs/store/ObjectsApi.js +314 -0
- package/lib/cjs/store/ObjectsApi.js.map +1 -0
- package/lib/cjs/store/PendingAsksApi.js +43 -0
- package/lib/cjs/store/PendingAsksApi.js.map +1 -0
- package/lib/cjs/store/SchedulesApi.js +103 -0
- package/lib/cjs/store/SchedulesApi.js.map +1 -0
- package/lib/cjs/store/ToolsApi.js +21 -0
- package/lib/cjs/store/ToolsApi.js.map +1 -0
- package/lib/cjs/store/TypesApi.js +57 -0
- package/lib/cjs/store/TypesApi.js.map +1 -0
- package/lib/cjs/store/WorkersApi.js +16 -0
- package/lib/cjs/store/WorkersApi.js.map +1 -0
- package/lib/cjs/store/WorkflowsApi.js +596 -0
- package/lib/cjs/store/WorkflowsApi.js.map +1 -0
- package/lib/cjs/store/client.js +81 -0
- package/lib/cjs/store/client.js.map +1 -0
- package/lib/cjs/store/errors.js +11 -0
- package/lib/cjs/store/errors.js.map +1 -0
- package/lib/cjs/store/index.js +27 -0
- package/lib/cjs/store/index.js.map +1 -0
- package/lib/cjs/store/version.js +6 -0
- package/lib/cjs/store/version.js.map +1 -0
- package/lib/esm/AccountApi.js +82 -0
- package/lib/esm/AccountApi.js.map +1 -0
- package/lib/esm/AccountsApi.js +13 -0
- package/lib/esm/AccountsApi.js.map +1 -0
- package/lib/esm/AnalyticsApi.js +38 -0
- package/lib/esm/AnalyticsApi.js.map +1 -0
- package/lib/esm/ApiKeysApi.js +59 -0
- package/lib/esm/ApiKeysApi.js.map +1 -0
- package/lib/esm/AppsApi.js +116 -0
- package/lib/esm/AppsApi.js.map +1 -0
- package/lib/esm/CommandsApi.js +16 -0
- package/lib/esm/CommandsApi.js.map +1 -0
- package/lib/esm/EnvironmentsApi.js +69 -0
- package/lib/esm/EnvironmentsApi.js.map +1 -0
- package/lib/esm/GroupsApi.js +74 -0
- package/lib/esm/GroupsApi.js.map +1 -0
- package/lib/esm/IamApi.js +47 -0
- package/lib/esm/IamApi.js.map +1 -0
- package/lib/esm/InteractionBase.js +40 -0
- package/lib/esm/InteractionBase.js.map +1 -0
- package/lib/esm/InteractionCatalogApi.js +60 -0
- package/lib/esm/InteractionCatalogApi.js.map +1 -0
- package/lib/esm/InteractionOutput.js +293 -0
- package/lib/esm/InteractionOutput.js.map +1 -0
- package/lib/esm/InteractionResult.example.js +55 -0
- package/lib/esm/InteractionResult.example.js.map +1 -0
- package/lib/esm/InteractionsApi.js +259 -0
- package/lib/esm/InteractionsApi.js.map +1 -0
- package/lib/esm/MCPOAuthApi.js +59 -0
- package/lib/esm/MCPOAuthApi.js.map +1 -0
- package/lib/esm/ProjectsApi.js +69 -0
- package/lib/esm/ProjectsApi.js.map +1 -0
- package/lib/esm/PromptsApi.js +130 -0
- package/lib/esm/PromptsApi.js.map +1 -0
- package/lib/esm/RefsApi.js +10 -0
- package/lib/esm/RefsApi.js.map +1 -0
- package/lib/esm/RunsApi.js +109 -0
- package/lib/esm/RunsApi.js.map +1 -0
- package/lib/esm/SkillsApi.js +36 -0
- package/lib/esm/SkillsApi.js.map +1 -0
- package/lib/esm/StreamSource.js +13 -0
- package/lib/esm/StreamSource.js.map +1 -0
- package/lib/esm/TrainingApi.js +51 -0
- package/lib/esm/TrainingApi.js.map +1 -0
- package/lib/esm/UsersApi.js +10 -0
- package/lib/esm/UsersApi.js.map +1 -0
- package/lib/esm/client.js +351 -0
- package/lib/esm/client.js.map +1 -0
- package/lib/esm/execute.js +118 -0
- package/lib/esm/execute.js.map +1 -0
- package/lib/esm/index.js +6 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/nodejs/NodeStreamSource.js +41 -0
- package/lib/esm/nodejs/NodeStreamSource.js.map +1 -0
- package/lib/esm/nodejs/index.js +2 -0
- package/lib/esm/nodejs/index.js.map +1 -0
- package/lib/esm/store/AnalyzeDocApi.js +52 -0
- package/lib/esm/store/AnalyzeDocApi.js.map +1 -0
- package/lib/esm/store/CollectionsApi.js +127 -0
- package/lib/esm/store/CollectionsApi.js.map +1 -0
- package/lib/esm/store/CommandsApi.js +13 -0
- package/lib/esm/store/CommandsApi.js.map +1 -0
- package/lib/esm/store/DashboardApi.js +178 -0
- package/lib/esm/store/DashboardApi.js.map +1 -0
- package/lib/esm/store/DataApi.js +429 -0
- package/lib/esm/store/DataApi.js.map +1 -0
- package/lib/esm/store/EmailApi.js +99 -0
- package/lib/esm/store/EmailApi.js.map +1 -0
- package/lib/esm/store/EmbeddingsApi.js +25 -0
- package/lib/esm/store/EmbeddingsApi.js.map +1 -0
- package/lib/esm/store/FilesApi.js +231 -0
- package/lib/esm/store/FilesApi.js.map +1 -0
- package/lib/esm/store/ObjectsApi.js +309 -0
- package/lib/esm/store/ObjectsApi.js.map +1 -0
- package/lib/esm/store/PendingAsksApi.js +39 -0
- package/lib/esm/store/PendingAsksApi.js.map +1 -0
- package/lib/esm/store/SchedulesApi.js +99 -0
- package/lib/esm/store/SchedulesApi.js.map +1 -0
- package/lib/esm/store/ToolsApi.js +17 -0
- package/lib/esm/store/ToolsApi.js.map +1 -0
- package/lib/esm/store/TypesApi.js +53 -0
- package/lib/esm/store/TypesApi.js.map +1 -0
- package/lib/esm/store/WorkersApi.js +12 -0
- package/lib/esm/store/WorkersApi.js.map +1 -0
- package/lib/esm/store/WorkflowsApi.js +590 -0
- package/lib/esm/store/WorkflowsApi.js.map +1 -0
- package/lib/esm/store/client.js +77 -0
- package/lib/esm/store/client.js.map +1 -0
- package/lib/esm/store/errors.js +7 -0
- package/lib/esm/store/errors.js.map +1 -0
- package/lib/esm/store/index.js +11 -0
- package/lib/esm/store/index.js.map +1 -0
- package/lib/esm/store/version.js +3 -0
- package/lib/esm/store/version.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/types/AccountApi.d.ts +59 -0
- package/lib/types/AccountApi.d.ts.map +1 -0
- package/lib/types/AccountsApi.d.ts +7 -0
- package/lib/types/AccountsApi.d.ts.map +1 -0
- package/lib/types/AnalyticsApi.d.ts +11 -0
- package/lib/types/AnalyticsApi.d.ts.map +1 -0
- package/lib/types/ApiKeysApi.d.ts +42 -0
- package/lib/types/ApiKeysApi.d.ts.map +1 -0
- package/lib/types/AppsApi.d.ts +65 -0
- package/lib/types/AppsApi.d.ts.map +1 -0
- package/lib/types/CommandsApi.d.ts +10 -0
- package/lib/types/CommandsApi.d.ts.map +1 -0
- package/lib/types/EnvironmentsApi.d.ts +40 -0
- package/lib/types/EnvironmentsApi.d.ts.map +1 -0
- package/lib/types/GroupsApi.d.ts +65 -0
- package/lib/types/GroupsApi.d.ts.map +1 -0
- package/lib/types/IamApi.d.ts +41 -0
- package/lib/types/IamApi.d.ts.map +1 -0
- package/lib/types/InteractionBase.d.ts +22 -0
- package/lib/types/InteractionBase.d.ts.map +1 -0
- package/lib/types/InteractionCatalogApi.d.ts +36 -0
- package/lib/types/InteractionCatalogApi.d.ts.map +1 -0
- package/lib/types/InteractionOutput.d.ts +174 -0
- package/lib/types/InteractionOutput.d.ts.map +1 -0
- package/lib/types/InteractionResult.example.d.ts +6 -0
- package/lib/types/InteractionResult.example.d.ts.map +1 -0
- package/lib/types/InteractionsApi.d.ts +183 -0
- package/lib/types/InteractionsApi.d.ts.map +1 -0
- package/lib/types/MCPOAuthApi.d.ts +45 -0
- package/lib/types/MCPOAuthApi.d.ts.map +1 -0
- package/lib/types/ProjectsApi.d.ts +28 -0
- package/lib/types/ProjectsApi.d.ts.map +1 -0
- package/lib/types/PromptsApi.d.ts +106 -0
- package/lib/types/PromptsApi.d.ts.map +1 -0
- package/lib/types/RefsApi.d.ts +6 -0
- package/lib/types/RefsApi.d.ts.map +1 -0
- package/lib/types/RunsApi.d.ts +79 -0
- package/lib/types/RunsApi.d.ts.map +1 -0
- package/lib/types/SkillsApi.d.ts +26 -0
- package/lib/types/SkillsApi.d.ts.map +1 -0
- package/lib/types/StreamSource.d.ts +7 -0
- package/lib/types/StreamSource.d.ts.map +1 -0
- package/lib/types/TrainingApi.d.ts +27 -0
- package/lib/types/TrainingApi.d.ts.map +1 -0
- package/lib/types/UsersApi.d.ts +6 -0
- package/lib/types/UsersApi.d.ts.map +1 -0
- package/lib/types/client.d.ts +136 -0
- package/lib/types/client.d.ts.map +1 -0
- package/lib/types/execute.d.ts +37 -0
- package/lib/types/execute.d.ts.map +1 -0
- package/lib/types/index.d.ts +10 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/nodejs/NodeStreamSource.d.ts +9 -0
- package/lib/types/nodejs/NodeStreamSource.d.ts.map +1 -0
- package/lib/types/nodejs/index.d.ts +1 -0
- package/lib/types/nodejs/index.d.ts.map +1 -0
- package/lib/types/store/AnalyzeDocApi.d.ts +17 -0
- package/lib/types/store/AnalyzeDocApi.d.ts.map +1 -0
- package/lib/types/store/CollectionsApi.d.ts +82 -0
- package/lib/types/store/CollectionsApi.d.ts.map +1 -0
- package/lib/types/store/CommandsApi.d.ts +10 -0
- package/lib/types/store/CommandsApi.d.ts.map +1 -0
- package/lib/types/store/DashboardApi.d.ts +149 -0
- package/lib/types/store/DashboardApi.d.ts.map +1 -0
- package/lib/types/store/DataApi.d.ts +392 -0
- package/lib/types/store/DataApi.d.ts.map +1 -0
- package/lib/types/store/EmailApi.d.ts +185 -0
- package/lib/types/store/EmailApi.d.ts.map +1 -0
- package/lib/types/store/EmbeddingsApi.d.ts +12 -0
- package/lib/types/store/EmbeddingsApi.d.ts.map +1 -0
- package/lib/types/store/FilesApi.d.ts +110 -0
- package/lib/types/store/FilesApi.d.ts.map +1 -0
- package/lib/types/store/ObjectsApi.d.ts +139 -0
- package/lib/types/store/ObjectsApi.d.ts.map +1 -0
- package/lib/types/store/PendingAsksApi.d.ts +79 -0
- package/lib/types/store/PendingAsksApi.d.ts.map +1 -0
- package/lib/types/store/SchedulesApi.d.ts +89 -0
- package/lib/types/store/SchedulesApi.d.ts.map +1 -0
- package/lib/types/store/ToolsApi.d.ts +13 -0
- package/lib/types/store/ToolsApi.d.ts.map +1 -0
- package/lib/types/store/TypesApi.d.ts +23 -0
- package/lib/types/store/TypesApi.d.ts.map +1 -0
- package/lib/types/store/WorkersApi.d.ts +6 -0
- package/lib/types/store/WorkersApi.d.ts.map +1 -0
- package/lib/types/store/WorkflowsApi.d.ts +167 -0
- package/lib/types/store/WorkflowsApi.d.ts.map +1 -0
- package/lib/types/store/client.d.ts +45 -0
- package/lib/types/store/client.d.ts.map +1 -0
- package/lib/types/store/errors.d.ts +4 -0
- package/lib/types/store/errors.d.ts.map +1 -0
- package/lib/types/store/index.d.ts +10 -0
- package/lib/types/store/index.d.ts.map +1 -0
- package/lib/types/store/version.d.ts +2 -0
- package/lib/types/store/version.d.ts.map +1 -0
- package/lib/vertesia-client.js +2 -0
- package/lib/vertesia-client.js.map +1 -0
- package/package.json +71 -0
- package/src/AccountApi.ts +96 -0
- package/src/AccountsApi.ts +22 -0
- package/src/AnalyticsApi.ts +36 -0
- package/src/ApiKeysApi.ts +67 -0
- package/src/AppsApi.ts +134 -0
- package/src/CommandsApi.ts +23 -0
- package/src/EnvironmentsApi.ts +94 -0
- package/src/GroupsApi.ts +92 -0
- package/src/IamApi.ts +70 -0
- package/src/InteractionBase.ts +44 -0
- package/src/InteractionCatalogApi.ts +72 -0
- package/src/InteractionOutput.test.ts +305 -0
- package/src/InteractionOutput.ts +328 -0
- package/src/InteractionResult.example.ts +72 -0
- package/src/InteractionsApi.ts +308 -0
- package/src/MCPOAuthApi.ts +67 -0
- package/src/ProjectsApi.ts +85 -0
- package/src/PromptsApi.ts +160 -0
- package/src/RefsApi.ts +18 -0
- package/src/RunsApi.ts +151 -0
- package/src/SkillsApi.ts +46 -0
- package/src/StreamSource.ts +3 -0
- package/src/TrainingApi.ts +71 -0
- package/src/UsersApi.ts +18 -0
- package/src/client.test.ts +99 -0
- package/src/client.ts +419 -0
- package/src/execute.ts +126 -0
- package/src/index.ts +10 -0
- package/src/nodejs/NodeStreamSource.ts +43 -0
- package/src/nodejs/index.ts +1 -0
- package/src/store/AnalyzeDocApi.ts +61 -0
- package/src/store/CollectionsApi.ts +166 -0
- package/src/store/CommandsApi.ts +15 -0
- package/src/store/DashboardApi.ts +216 -0
- package/src/store/DataApi.ts +516 -0
- package/src/store/EmailApi.ts +211 -0
- package/src/store/EmbeddingsApi.ts +39 -0
- package/src/store/FilesApi.ts +288 -0
- package/src/store/ObjectsApi.ts +432 -0
- package/src/store/PendingAsksApi.ts +98 -0
- package/src/store/SchedulesApi.ts +114 -0
- package/src/store/ToolsApi.ts +19 -0
- package/src/store/TypesApi.ts +65 -0
- package/src/store/WorkersApi.ts +17 -0
- package/src/store/WorkflowsApi.ts +752 -0
- package/src/store/client.ts +95 -0
- package/src/store/errors.ts +7 -0
- package/src/store/index.ts +11 -0
- package/src/store/version.ts +2 -0
- package/tsconfig.dist.json +20 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommandsApi.d.ts","sourceRoot":"","sources":["../../../src/store/CommandsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;GAGG;AACH,qBAAa,WAAY,SAAQ,QAAQ;gBAEzB,MAAM,EAAE,UAAU;IAI9B,UAAU,gBAA0C;CACvD"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { ApiTopic, ClientBase } from "@vertesia/api-fetch-client";
|
|
2
|
+
import { CreateDashboardPayload, CreateDashboardSnapshotPayload, Dashboard, DashboardItem, DashboardStatus, DashboardVersion, DashboardVersionItem, PromoteDashboardVersionPayload, UpdateDashboardPayload } from "@vertesia/common";
|
|
3
|
+
/**
|
|
4
|
+
* Client API for managing Vega-based dashboards linked to data stores.
|
|
5
|
+
*
|
|
6
|
+
* Dashboards provide:
|
|
7
|
+
* - Multi-panel Vega/Vega-Lite visualizations
|
|
8
|
+
* - SQL-backed data sources via named queries
|
|
9
|
+
*
|
|
10
|
+
* Note: Rendering is handled by the tools (data_preview_dashboard, data_render_dashboard).
|
|
11
|
+
*/
|
|
12
|
+
export declare class DashboardApi extends ApiTopic {
|
|
13
|
+
private readonly storeId;
|
|
14
|
+
constructor(parent: ClientBase, storeId: string);
|
|
15
|
+
/**
|
|
16
|
+
* Create headers with data store ID for Cloud Run session affinity.
|
|
17
|
+
*/
|
|
18
|
+
private storeHeaders;
|
|
19
|
+
/**
|
|
20
|
+
* List all dashboards for the data store.
|
|
21
|
+
*
|
|
22
|
+
* @param status - Filter by status (default: 'active')
|
|
23
|
+
* @returns List of dashboards
|
|
24
|
+
*/
|
|
25
|
+
list(status?: DashboardStatus): Promise<DashboardItem[]>;
|
|
26
|
+
/**
|
|
27
|
+
* Create a new dashboard.
|
|
28
|
+
*
|
|
29
|
+
* @param payload - Dashboard configuration with queries and panels
|
|
30
|
+
* @returns The created dashboard
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const dashboard = await client.data.dashboards(storeId).create({
|
|
35
|
+
* name: 'Sales Overview',
|
|
36
|
+
* queries: [
|
|
37
|
+
* { name: 'revenue', sql: 'SELECT month, SUM(amount) FROM sales GROUP BY month' }
|
|
38
|
+
* ],
|
|
39
|
+
* panels: [
|
|
40
|
+
* {
|
|
41
|
+
* title: 'Monthly Revenue',
|
|
42
|
+
* dataSources: ['revenue'],
|
|
43
|
+
* position: { row: 0, col: 0 },
|
|
44
|
+
* spec: {
|
|
45
|
+
* mark: 'bar',
|
|
46
|
+
* encoding: {
|
|
47
|
+
* x: { field: 'month', type: 'ordinal' },
|
|
48
|
+
* y: { field: 'sum_amount', type: 'quantitative' }
|
|
49
|
+
* }
|
|
50
|
+
* }
|
|
51
|
+
* }
|
|
52
|
+
* ]
|
|
53
|
+
* });
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
create(payload: CreateDashboardPayload): Promise<Dashboard>;
|
|
57
|
+
/**
|
|
58
|
+
* Get a dashboard by ID.
|
|
59
|
+
*
|
|
60
|
+
* @param id - Dashboard ID
|
|
61
|
+
* @returns The dashboard with all details
|
|
62
|
+
*/
|
|
63
|
+
retrieve(id: string): Promise<Dashboard>;
|
|
64
|
+
/**
|
|
65
|
+
* Update an existing dashboard.
|
|
66
|
+
*
|
|
67
|
+
* @param id - Dashboard ID
|
|
68
|
+
* @param payload - Fields to update
|
|
69
|
+
* @returns The updated dashboard
|
|
70
|
+
*/
|
|
71
|
+
update(id: string, payload: UpdateDashboardPayload): Promise<Dashboard>;
|
|
72
|
+
/**
|
|
73
|
+
* Archive (soft delete) a dashboard.
|
|
74
|
+
*
|
|
75
|
+
* @param id - Dashboard ID
|
|
76
|
+
* @returns Object with the archived dashboard ID
|
|
77
|
+
*/
|
|
78
|
+
delete(id: string): Promise<{
|
|
79
|
+
id: string;
|
|
80
|
+
status: DashboardStatus;
|
|
81
|
+
}>;
|
|
82
|
+
/**
|
|
83
|
+
* Archive (soft delete) multiple dashboards.
|
|
84
|
+
*
|
|
85
|
+
* @param ids - Array of dashboard IDs
|
|
86
|
+
* @returns Object with counts of archived and failed dashboards
|
|
87
|
+
*/
|
|
88
|
+
bulkArchive(ids: string[]): Promise<{
|
|
89
|
+
archived: number;
|
|
90
|
+
failed: number;
|
|
91
|
+
}>;
|
|
92
|
+
/**
|
|
93
|
+
* Permanently delete multiple dashboards.
|
|
94
|
+
*
|
|
95
|
+
* @param ids - Array of dashboard IDs
|
|
96
|
+
* @returns Object with counts of deleted and failed dashboards
|
|
97
|
+
*/
|
|
98
|
+
bulkDelete(ids: string[]): Promise<{
|
|
99
|
+
deleted: number;
|
|
100
|
+
failed: number;
|
|
101
|
+
}>;
|
|
102
|
+
/**
|
|
103
|
+
* List versions for a dashboard.
|
|
104
|
+
*
|
|
105
|
+
* @param dashboardId - Dashboard ID
|
|
106
|
+
* @param options - Filter options
|
|
107
|
+
* @returns List of version summaries
|
|
108
|
+
*/
|
|
109
|
+
listVersions(dashboardId: string, options?: {
|
|
110
|
+
snapshotsOnly?: boolean;
|
|
111
|
+
limit?: number;
|
|
112
|
+
}): Promise<DashboardVersionItem[]>;
|
|
113
|
+
/**
|
|
114
|
+
* Get a specific version with full content.
|
|
115
|
+
*
|
|
116
|
+
* @param dashboardId - Dashboard ID
|
|
117
|
+
* @param versionId - Version ID
|
|
118
|
+
* @returns The version with full content
|
|
119
|
+
*/
|
|
120
|
+
getVersion(dashboardId: string, versionId: string): Promise<DashboardVersion>;
|
|
121
|
+
/**
|
|
122
|
+
* Create a named snapshot from current dashboard state.
|
|
123
|
+
*
|
|
124
|
+
* @param dashboardId - Dashboard ID
|
|
125
|
+
* @param payload - Snapshot name and message
|
|
126
|
+
* @returns The created snapshot version
|
|
127
|
+
*/
|
|
128
|
+
createSnapshot(dashboardId: string, payload: CreateDashboardSnapshotPayload): Promise<DashboardVersionItem>;
|
|
129
|
+
/**
|
|
130
|
+
* Promote a version to be the current/active one.
|
|
131
|
+
* This restores the version's content to the dashboard.
|
|
132
|
+
*
|
|
133
|
+
* @param dashboardId - Dashboard ID
|
|
134
|
+
* @param versionId - Version ID to promote
|
|
135
|
+
* @param payload - Optional promotion message
|
|
136
|
+
* @returns The updated dashboard
|
|
137
|
+
*/
|
|
138
|
+
promoteVersion(dashboardId: string, versionId: string, payload?: PromoteDashboardVersionPayload): Promise<Dashboard>;
|
|
139
|
+
/**
|
|
140
|
+
* Enable or disable versioning for a dashboard.
|
|
141
|
+
*
|
|
142
|
+
* @param dashboardId - Dashboard ID
|
|
143
|
+
* @param enabled - Whether versioning should be enabled
|
|
144
|
+
* @returns The updated versioning state
|
|
145
|
+
*/
|
|
146
|
+
setVersioningEnabled(dashboardId: string, enabled: boolean): Promise<{
|
|
147
|
+
versioning_enabled: boolean;
|
|
148
|
+
}>;
|
|
149
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardApi.d.ts","sourceRoot":"","sources":["../../../src/store/DashboardApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EACH,sBAAsB,EACtB,8BAA8B,EAC9B,SAAS,EACT,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EAEpB,8BAA8B,EAC9B,sBAAsB,EACzB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;GAQG;AACH,qBAAa,YAAa,SAAQ,QAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;IAK/C;;OAEG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;;OAKG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAKxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,MAAM,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,SAAS,CAAC;IAI3D;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAIxC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,SAAS,CAAC;IAIvE;;;;;OAKG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,eAAe,CAAA;KAAE,CAAC;IAIpE;;;;;OAKG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAIzE;;;;;OAKG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAQvE;;;;;;OAMG;IACH,YAAY,CACR,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACtD,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAQlC;;;;;;OAMG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI7E;;;;;;OAMG;IACH,cAAc,CACV,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,8BAA8B,GACxC,OAAO,CAAC,oBAAoB,CAAC;IAIhC;;;;;;;;OAQG;IACH,cAAc,CACV,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,8BAA8B,GACzC,OAAO,CAAC,SAAS,CAAC;IAIrB;;;;;;OAMG;IACH,oBAAoB,CAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC;QAAE,kBAAkB,EAAE,OAAO,CAAA;KAAE,CAAC;CAG9C"}
|
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
import { ApiTopic, ClientBase } from "@vertesia/api-fetch-client";
|
|
2
|
+
import { AlterTablePayload, CreateDataStorePayload, CreateSnapshotPayload, CreateTablesPayload, DataSchema, DataSchemaForAI, DataStore, DataStoreItem, DataStoreVersion, DataTable, DataTableSummary, ImportDataPayload, ImportJob, QueryPayload, QueryResult, UpdateSchemaPayload } from "@vertesia/common";
|
|
3
|
+
import { DashboardApi } from "./DashboardApi.js";
|
|
4
|
+
/**
|
|
5
|
+
* Client API for managing versioned analytical data stores.
|
|
6
|
+
*
|
|
7
|
+
* Data stores provide DuckDB-powered analytical databases with:
|
|
8
|
+
* - AI-manageable schemas
|
|
9
|
+
* - Multi-table atomic imports
|
|
10
|
+
* - Version history and rollback
|
|
11
|
+
* - Named snapshots
|
|
12
|
+
*/
|
|
13
|
+
export declare class DataApi extends ApiTopic {
|
|
14
|
+
constructor(parent: ClientBase);
|
|
15
|
+
/**
|
|
16
|
+
* Create headers with data store ID for Cloud Run session affinity.
|
|
17
|
+
* This routes requests for the same store to the same instance.
|
|
18
|
+
*/
|
|
19
|
+
private storeHeaders;
|
|
20
|
+
/**
|
|
21
|
+
* List all data stores in the project.
|
|
22
|
+
*/
|
|
23
|
+
list(): Promise<DataStoreItem[]>;
|
|
24
|
+
/**
|
|
25
|
+
* Create a new data store.
|
|
26
|
+
*
|
|
27
|
+
* @param payload - Store configuration including name and optional description
|
|
28
|
+
* @returns The created data store
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const store = await client.data.create({
|
|
33
|
+
* name: 'analytics',
|
|
34
|
+
* description: 'Customer analytics data'
|
|
35
|
+
* });
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
create(payload: CreateDataStorePayload): Promise<DataStore>;
|
|
39
|
+
/**
|
|
40
|
+
* Retrieve a data store by ID.
|
|
41
|
+
*
|
|
42
|
+
* @param id - Data store ID
|
|
43
|
+
* @returns The data store with full details
|
|
44
|
+
*/
|
|
45
|
+
retrieve(id: string): Promise<DataStore>;
|
|
46
|
+
/**
|
|
47
|
+
* Archive (soft delete) a data store.
|
|
48
|
+
*
|
|
49
|
+
* The store data remains in GCS but is no longer accessible via API.
|
|
50
|
+
*
|
|
51
|
+
* @param id - Data store ID
|
|
52
|
+
* @returns Object with the archived store ID
|
|
53
|
+
*/
|
|
54
|
+
delete(id: string): Promise<{
|
|
55
|
+
id: string;
|
|
56
|
+
}>;
|
|
57
|
+
/**
|
|
58
|
+
* Get the schema of a data store.
|
|
59
|
+
*
|
|
60
|
+
* @param id - Data store ID
|
|
61
|
+
* @param format - Optional format: 'ai' returns AI-friendly simplified schema
|
|
62
|
+
* @returns The schema (full or AI-friendly format)
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```typescript
|
|
66
|
+
* // Get full schema
|
|
67
|
+
* const schema = await client.data.getSchema(storeId);
|
|
68
|
+
*
|
|
69
|
+
* // Get AI-friendly schema for agent context
|
|
70
|
+
* const aiSchema = await client.data.getSchema(storeId, 'ai');
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
getSchema(id: string, format?: 'ai'): Promise<DataSchema | DataSchemaForAI>;
|
|
74
|
+
/**
|
|
75
|
+
* Update the schema of a data store.
|
|
76
|
+
*
|
|
77
|
+
* Use this for AI-driven schema evolution. The schema version is automatically
|
|
78
|
+
* incremented based on the type of change (major, minor, patch).
|
|
79
|
+
*
|
|
80
|
+
* @param id - Data store ID
|
|
81
|
+
* @param payload - Schema update payload with bump type
|
|
82
|
+
* @returns The updated schema
|
|
83
|
+
*/
|
|
84
|
+
updateSchema(id: string, payload: UpdateSchemaPayload): Promise<DataSchema>;
|
|
85
|
+
/**
|
|
86
|
+
* Get the schema version history of a data store.
|
|
87
|
+
*
|
|
88
|
+
* @param id - Data store ID
|
|
89
|
+
* @returns List of schema versions with timestamps
|
|
90
|
+
*/
|
|
91
|
+
getSchemaHistory(id: string): Promise<DataStoreVersion[]>;
|
|
92
|
+
/**
|
|
93
|
+
* List all tables in a data store.
|
|
94
|
+
*
|
|
95
|
+
* @param id - Data store ID
|
|
96
|
+
* @returns List of table summaries with metadata
|
|
97
|
+
*/
|
|
98
|
+
listTables(id: string): Promise<DataTableSummary[]>;
|
|
99
|
+
/**
|
|
100
|
+
* Create tables in a data store atomically.
|
|
101
|
+
*
|
|
102
|
+
* All tables are created in a single transaction - if any table fails,
|
|
103
|
+
* no tables are created.
|
|
104
|
+
*
|
|
105
|
+
* @param id - Data store ID
|
|
106
|
+
* @param payload - Tables to create and commit message
|
|
107
|
+
* @returns Array of created tables
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* const tables = await client.data.createTables(storeId, {
|
|
112
|
+
* message: 'Create e-commerce schema',
|
|
113
|
+
* tables: [
|
|
114
|
+
* {
|
|
115
|
+
* name: 'customers',
|
|
116
|
+
* columns: [
|
|
117
|
+
* { name: 'id', type: 'INTEGER', primary_key: true },
|
|
118
|
+
* { name: 'email', type: 'STRING' },
|
|
119
|
+
* ]
|
|
120
|
+
* },
|
|
121
|
+
* {
|
|
122
|
+
* name: 'orders',
|
|
123
|
+
* columns: [
|
|
124
|
+
* { name: 'id', type: 'INTEGER', primary_key: true },
|
|
125
|
+
* { name: 'customer_id', type: 'INTEGER' },
|
|
126
|
+
* ],
|
|
127
|
+
* foreign_keys: [
|
|
128
|
+
* { column: 'customer_id', references_table: 'customers', references_column: 'id' }
|
|
129
|
+
* ]
|
|
130
|
+
* }
|
|
131
|
+
* ]
|
|
132
|
+
* });
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
createTables(id: string, payload: CreateTablesPayload): Promise<DataTable[]>;
|
|
136
|
+
/**
|
|
137
|
+
* Get a table by name.
|
|
138
|
+
*
|
|
139
|
+
* @param id - Data store ID
|
|
140
|
+
* @param tableName - Table name
|
|
141
|
+
* @param sample - If true, includes sample rows
|
|
142
|
+
* @returns The table with metadata and optional sample data
|
|
143
|
+
*/
|
|
144
|
+
getTable(id: string, tableName: string, sample?: boolean): Promise<DataTable & {
|
|
145
|
+
sampleRows?: Record<string, unknown>[];
|
|
146
|
+
}>;
|
|
147
|
+
/**
|
|
148
|
+
* Alter a table schema.
|
|
149
|
+
*
|
|
150
|
+
* @param id - Data store ID
|
|
151
|
+
* @param tableName - Table name
|
|
152
|
+
* @param payload - Changes to apply (add/drop/modify columns, etc.)
|
|
153
|
+
* @returns The updated table
|
|
154
|
+
*/
|
|
155
|
+
alterTable(id: string, tableName: string, payload: AlterTablePayload): Promise<DataTable>;
|
|
156
|
+
/**
|
|
157
|
+
* Drop a table from the data store.
|
|
158
|
+
*
|
|
159
|
+
* @param id - Data store ID
|
|
160
|
+
* @param tableName - Table name
|
|
161
|
+
*/
|
|
162
|
+
dropTable(id: string, tableName: string): Promise<void>;
|
|
163
|
+
/**
|
|
164
|
+
* Import data into one or more tables atomically.
|
|
165
|
+
*
|
|
166
|
+
* If any table import fails, the entire operation is rolled back.
|
|
167
|
+
* Creates a version snapshot before the import for recovery.
|
|
168
|
+
*
|
|
169
|
+
* @param id - Data store ID
|
|
170
|
+
* @param payload - Import configuration with tables and data
|
|
171
|
+
* @returns Import job with status
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```typescript
|
|
175
|
+
* const job = await client.data.import(storeId, {
|
|
176
|
+
* mode: 'append',
|
|
177
|
+
* message: 'Monthly data import',
|
|
178
|
+
* tables: {
|
|
179
|
+
* customers: {
|
|
180
|
+
* source: 'gs://bucket/customers.csv',
|
|
181
|
+
* format: 'csv'
|
|
182
|
+
* },
|
|
183
|
+
* orders: {
|
|
184
|
+
* data: [
|
|
185
|
+
* { id: 1, customer_id: 1, amount: 99.99 }
|
|
186
|
+
* ]
|
|
187
|
+
* }
|
|
188
|
+
* }
|
|
189
|
+
* });
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
192
|
+
import(id: string, payload: ImportDataPayload): Promise<ImportJob>;
|
|
193
|
+
/**
|
|
194
|
+
* Get the status of an import job.
|
|
195
|
+
*
|
|
196
|
+
* @param id - Data store ID
|
|
197
|
+
* @param importId - Import job ID
|
|
198
|
+
* @returns Import job status
|
|
199
|
+
*/
|
|
200
|
+
getImportStatus(id: string, importId: string): Promise<ImportJob>;
|
|
201
|
+
/**
|
|
202
|
+
* List versions of a data store.
|
|
203
|
+
*
|
|
204
|
+
* @param id - Data store ID
|
|
205
|
+
* @param snapshotsOnly - If true, only returns named snapshots
|
|
206
|
+
* @returns List of versions
|
|
207
|
+
*/
|
|
208
|
+
listVersions(id: string, snapshotsOnly?: boolean): Promise<DataStoreVersion[]>;
|
|
209
|
+
/**
|
|
210
|
+
* Create a named snapshot of the current state.
|
|
211
|
+
*
|
|
212
|
+
* Named snapshots are kept indefinitely (not subject to 30-day cleanup).
|
|
213
|
+
*
|
|
214
|
+
* @param id - Data store ID
|
|
215
|
+
* @param payload - Snapshot name and optional message
|
|
216
|
+
* @returns The created version/snapshot
|
|
217
|
+
*
|
|
218
|
+
* @example
|
|
219
|
+
* ```typescript
|
|
220
|
+
* const snapshot = await client.data.createSnapshot(storeId, {
|
|
221
|
+
* name: 'before-migration',
|
|
222
|
+
* message: 'Snapshot before major schema change'
|
|
223
|
+
* });
|
|
224
|
+
* ```
|
|
225
|
+
*/
|
|
226
|
+
createSnapshot(id: string, payload: CreateSnapshotPayload): Promise<DataStoreVersion>;
|
|
227
|
+
/**
|
|
228
|
+
* Rollback to a previous version.
|
|
229
|
+
*
|
|
230
|
+
* Creates a new version that is a copy of the target version.
|
|
231
|
+
*
|
|
232
|
+
* @param id - Data store ID
|
|
233
|
+
* @param versionId - Version ID to rollback to
|
|
234
|
+
* @returns The updated data store
|
|
235
|
+
*/
|
|
236
|
+
rollback(id: string, versionId: string): Promise<DataStore>;
|
|
237
|
+
/**
|
|
238
|
+
* Query a specific version or snapshot without rolling back.
|
|
239
|
+
*
|
|
240
|
+
* Useful for migrations: read data from old schema format to transform it.
|
|
241
|
+
*
|
|
242
|
+
* @param id - Data store ID
|
|
243
|
+
* @param versionId - Version ID or snapshot ID to query
|
|
244
|
+
* @param payload - Query configuration
|
|
245
|
+
* @returns Query results from the version
|
|
246
|
+
*
|
|
247
|
+
* @example
|
|
248
|
+
* ```typescript
|
|
249
|
+
* // Create snapshot before migration
|
|
250
|
+
* const snapshot = await client.data.createSnapshot(storeId, {
|
|
251
|
+
* name: 'pre-migration',
|
|
252
|
+
* message: 'Before name split migration'
|
|
253
|
+
* });
|
|
254
|
+
*
|
|
255
|
+
* // Query old data from snapshot
|
|
256
|
+
* const oldData = await client.data.queryVersion(storeId, snapshot.id, {
|
|
257
|
+
* sql: 'SELECT id, full_name, email FROM customers'
|
|
258
|
+
* });
|
|
259
|
+
*
|
|
260
|
+
* // Transform and import with new schema...
|
|
261
|
+
* ```
|
|
262
|
+
*/
|
|
263
|
+
queryVersion(id: string, versionId: string, payload: QueryPayload): Promise<QueryResult>;
|
|
264
|
+
/**
|
|
265
|
+
* Execute a read-only SQL query against the data store.
|
|
266
|
+
*
|
|
267
|
+
* @param id - Data store ID
|
|
268
|
+
* @param payload - Query configuration
|
|
269
|
+
* @returns Query results
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* ```typescript
|
|
273
|
+
* const result = await client.data.query(storeId, {
|
|
274
|
+
* sql: 'SELECT customer_id, SUM(amount) as total FROM orders GROUP BY customer_id',
|
|
275
|
+
* limit: 100
|
|
276
|
+
* });
|
|
277
|
+
* console.log(result.rows);
|
|
278
|
+
* ```
|
|
279
|
+
*/
|
|
280
|
+
query(id: string, payload: QueryPayload): Promise<QueryResult>;
|
|
281
|
+
/**
|
|
282
|
+
* Validate SQL queries without executing them.
|
|
283
|
+
*
|
|
284
|
+
* Uses DuckDB's EXPLAIN to check syntax and table/column references
|
|
285
|
+
* against the store's schema. Useful for validating dashboard queries
|
|
286
|
+
* before saving.
|
|
287
|
+
*
|
|
288
|
+
* @param id - Data store ID
|
|
289
|
+
* @param queries - Array of queries to validate
|
|
290
|
+
* @returns Validation result with any errors
|
|
291
|
+
*
|
|
292
|
+
* @example
|
|
293
|
+
* ```typescript
|
|
294
|
+
* const result = await client.data.validateQueries(storeId, [
|
|
295
|
+
* { name: 'sales', sql: 'SELECT * FROM sales WHERE date > {{start_date}}' },
|
|
296
|
+
* { name: 'products', sql: 'SELECT * FROM productss' } // typo!
|
|
297
|
+
* ]);
|
|
298
|
+
*
|
|
299
|
+
* if (!result.valid) {
|
|
300
|
+
* for (const err of result.errors) {
|
|
301
|
+
* console.log(`Query '${err.query}': ${err.error}`);
|
|
302
|
+
* }
|
|
303
|
+
* }
|
|
304
|
+
* ```
|
|
305
|
+
*/
|
|
306
|
+
validateQueries(id: string, queries: Array<{
|
|
307
|
+
name: string;
|
|
308
|
+
sql: string;
|
|
309
|
+
}>): Promise<QueryValidationResult>;
|
|
310
|
+
/**
|
|
311
|
+
* Get a signed download URL for the database file.
|
|
312
|
+
*
|
|
313
|
+
* Used by sandbox to sync databases for native DuckDB access.
|
|
314
|
+
* Returns signed URL + gcs_generation for cache validation.
|
|
315
|
+
*
|
|
316
|
+
* @param id - Data store ID
|
|
317
|
+
* @param versionId - Optional: specific version/snapshot ID (default: latest)
|
|
318
|
+
* @returns Download info with signed URL and cache validation data
|
|
319
|
+
*
|
|
320
|
+
* @example
|
|
321
|
+
* ```typescript
|
|
322
|
+
* const info = await client.data.getDownloadInfo(storeId);
|
|
323
|
+
* // Download if gcs_generation changed
|
|
324
|
+
* if (info.gcs_generation !== localGeneration) {
|
|
325
|
+
* await downloadFile(info.url, '/home/daytona/databases/store.duckdb');
|
|
326
|
+
* }
|
|
327
|
+
* ```
|
|
328
|
+
*/
|
|
329
|
+
getDownloadInfo(id: string, versionId?: string): Promise<DataStoreDownloadInfo>;
|
|
330
|
+
/**
|
|
331
|
+
* Get the Dashboard API for a specific data store.
|
|
332
|
+
*
|
|
333
|
+
* @param storeId - Data store ID
|
|
334
|
+
* @returns DashboardApi instance for managing dashboards
|
|
335
|
+
*
|
|
336
|
+
* @example
|
|
337
|
+
* ```typescript
|
|
338
|
+
* // List dashboards
|
|
339
|
+
* const dashboards = await client.data.dashboards(storeId).list();
|
|
340
|
+
*
|
|
341
|
+
* // Preview a dashboard before creating
|
|
342
|
+
* const preview = await client.data.dashboards(storeId).preview({
|
|
343
|
+
* queries: [{ name: 'sales', sql: 'SELECT * FROM sales' }],
|
|
344
|
+
* panels: [{ title: 'Sales', dataSources: ['sales'], ... }]
|
|
345
|
+
* });
|
|
346
|
+
*
|
|
347
|
+
* // Create a dashboard
|
|
348
|
+
* const dashboard = await client.data.dashboards(storeId).create({
|
|
349
|
+
* name: 'Sales Overview',
|
|
350
|
+
* queries: [...],
|
|
351
|
+
* panels: [...]
|
|
352
|
+
* });
|
|
353
|
+
*
|
|
354
|
+
* // Render dashboard to PNG
|
|
355
|
+
* const result = await client.data.dashboards(storeId).render(dashboardId);
|
|
356
|
+
* ```
|
|
357
|
+
*/
|
|
358
|
+
dashboards(storeId: string): DashboardApi;
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Response from the download endpoint.
|
|
362
|
+
*/
|
|
363
|
+
export interface DataStoreDownloadInfo {
|
|
364
|
+
/** Signed download URL (expires in 15 min) */
|
|
365
|
+
url: string;
|
|
366
|
+
/** GCS generation number for cache validation */
|
|
367
|
+
gcs_generation: number;
|
|
368
|
+
/** Schema version */
|
|
369
|
+
schema_version: string;
|
|
370
|
+
/** Store ID */
|
|
371
|
+
store_id: string;
|
|
372
|
+
/** Store name */
|
|
373
|
+
store_name: string;
|
|
374
|
+
/** List of table names */
|
|
375
|
+
tables: string[];
|
|
376
|
+
/** URL expiry time in seconds */
|
|
377
|
+
expires_in: number;
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Result from SQL query validation.
|
|
381
|
+
*/
|
|
382
|
+
export interface QueryValidationResult {
|
|
383
|
+
/** Whether all queries are valid */
|
|
384
|
+
valid: boolean;
|
|
385
|
+
/** Validation errors (if any) */
|
|
386
|
+
errors: Array<{
|
|
387
|
+
/** Query name that failed validation */
|
|
388
|
+
query: string;
|
|
389
|
+
/** Error message describing the issue */
|
|
390
|
+
error: string;
|
|
391
|
+
}>;
|
|
392
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataApi.d.ts","sourceRoot":"","sources":["../../../src/store/DataApi.ts"],"names":[],"mappings":"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"}
|