@querypanel/node-sdk 1.0.57 → 1.0.59

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/dist/index.d.cts CHANGED
@@ -37,7 +37,7 @@ interface IntrospectOptions {
37
37
  tables?: string[];
38
38
  }
39
39
 
40
- type DatabaseDialect = "clickhouse" | "postgres" | "mysql";
40
+ type DatabaseDialect = "bigquery" | "clickhouse" | "postgres" | "mysql";
41
41
  interface DatabaseExecutionResult {
42
42
  fields: string[];
43
43
  rows: Array<Record<string, unknown>>;
@@ -74,6 +74,70 @@ interface DatabaseAdapter {
74
74
  close?(): Promise<void>;
75
75
  }
76
76
 
77
+ /**
78
+ * Request passed to BigQueryClientFn.
79
+ * dryRun: when true, the client should run the query as a dry run (validation only, no execution).
80
+ */
81
+ interface BigQueryQueryRequest {
82
+ query: string;
83
+ params?: Record<string, string | number | boolean | string[] | number[]>;
84
+ /** When true, validate the query without executing (e.g. BigQuery dry run). */
85
+ dryRun?: boolean;
86
+ }
87
+ interface BigQueryQueryResult {
88
+ rows: Array<Record<string, unknown>>;
89
+ fields: string[];
90
+ }
91
+ /**
92
+ * Client function for the BigQuery adapter.
93
+ * Implement using @google-cloud/bigquery: createQueryJob with dryRun for validation, getQueryResults for execute.
94
+ */
95
+ type BigQueryClientFn = (request: BigQueryQueryRequest) => Promise<BigQueryQueryResult>;
96
+ interface BigQueryAdapterOptions {
97
+ /** GCP project ID. Used for INFORMATION_SCHEMA queries. */
98
+ projectId: string;
99
+ /** Optional project that owns the dataset. Defaults to projectId. */
100
+ datasetProjectId?: string;
101
+ /** Default dataset (schema) name. Used for introspection and unqualified table names. */
102
+ dataset: string;
103
+ /** Optional location for the dataset (e.g. "US", "EU"). */
104
+ location?: string;
105
+ /** Logical database name used in introspection metadata. */
106
+ database?: string;
107
+ /** Optional database kind label. Defaults to "bigquery". */
108
+ kind?: SchemaIntrospection["db"]["kind"];
109
+ /**
110
+ * Optional allow-list of table names (dataset.table or bare table name).
111
+ * When specified, introspection and queries are restricted to these tables only.
112
+ */
113
+ allowedTables?: string[];
114
+ }
115
+ /**
116
+ * BigQuery adapter following the same pattern as PostgresAdapter and ClickHouseAdapter.
117
+ * - execute: runs the query via the client function.
118
+ * - validate: uses dry run (no EXPLAIN in BigQuery) to validate SQL without executing.
119
+ * - introspect: uses INFORMATION_SCHEMA.TABLES and INFORMATION_SCHEMA.COLUMNS.
120
+ */
121
+ declare class BigQueryAdapter implements DatabaseAdapter {
122
+ private readonly clientFn;
123
+ private readonly projectId;
124
+ private readonly datasetProjectId;
125
+ private readonly defaultDataset;
126
+ private readonly databaseName;
127
+ private readonly kind;
128
+ private readonly allowedTables?;
129
+ constructor(clientFn: BigQueryClientFn, options: BigQueryAdapterOptions);
130
+ execute(sql: string, params?: Record<string, string | number | boolean | string[] | number[]>): Promise<DatabaseExecutionResult>;
131
+ validate(sql: string, params?: Record<string, string | number | boolean | string[] | number[]>): Promise<void>;
132
+ getDialect(): "bigquery";
133
+ /**
134
+ * Introspect using BigQuery INFORMATION_SCHEMA (TABLES and COLUMNS).
135
+ * Restricts to the default dataset (or allowedTables) and returns tables/columns only.
136
+ */
137
+ introspect(options?: IntrospectOptions): Promise<SchemaIntrospection>;
138
+ private validateQueryTables;
139
+ }
140
+
77
141
  interface ClickHouseAdapterOptions {
78
142
  /** Optional logical database name used in introspection metadata. */
79
143
  database?: string;
@@ -640,6 +704,22 @@ interface AskOptions {
640
704
  * - "v2": Improved pipeline with intent planning, hybrid retrieval, schema linking, and SQL reflection
641
705
  */
642
706
  pipeline?: "v1" | "v2";
707
+ /**
708
+ * Optional OpenAI model id for v2 SQL generation. Omit to use server default.
709
+ */
710
+ model?: string;
711
+ /**
712
+ * Optional additional system prompt text for the v2 pipeline.
713
+ *
714
+ * This is appended to the backend's SQL generator/reflection system prompts
715
+ * (it does not change tenant isolation mechanics; it only guides the LLM).
716
+ *
717
+ * Use this for tenant-specific policies (e.g. retention windows) that must
718
+ * be enforced on every query.
719
+ *
720
+ * Only sent when `pipeline: "v2"`.
721
+ */
722
+ systemPrompt?: string;
643
723
  }
644
724
  /**
645
725
  * Intent analysis result from the v2 pipeline.
@@ -1029,14 +1109,17 @@ interface QueryPanelSdkAPIOptions {
1029
1109
  declare class QueryPanelSdkAPI {
1030
1110
  private readonly client;
1031
1111
  private readonly queryEngine;
1032
- constructor(baseUrl: string, privateKey: string, organizationId: string, options?: QueryPanelSdkAPIOptions);
1112
+ /**
1113
+ * @param workspaceId - Workspace UUID (same value as your org in the dashboard). Passed to the API as JWT claim `organizationId`.
1114
+ */
1115
+ constructor(baseUrl: string, privateKey: string, workspaceId: string, options?: QueryPanelSdkAPIOptions);
1033
1116
  /**
1034
1117
  * Create an SDK instance that uses a request callback instead of HTTP.
1035
1118
  * Use this when calling the SDK from within your own API so that "API" calls
1036
1119
  * are handled in-process (e.g. by invoking querypanel-sdk services directly)
1037
1120
  * and do not cause recursion.
1038
1121
  *
1039
- * @param organizationId - Organization identifier
1122
+ * @param workspaceId - Workspace identifier (sent as `organizationId` in JWTs and API auth)
1040
1123
  * @param requestHandler - Callback invoked for each logical API request (method, path, body, tenantId, etc.)
1041
1124
  * @param options - Optional defaultTenantId
1042
1125
  * @returns QueryPanelSdkAPI instance; attach databases and call ask(), syncSchema(), etc. as usual
@@ -1044,7 +1127,7 @@ declare class QueryPanelSdkAPI {
1044
1127
  * @example
1045
1128
  * ```ts
1046
1129
  * const qp = QueryPanelSdkAPI.withCallbacks(
1047
- * process.env.ORGANIZATION_ID!,
1130
+ * process.env.QUERYPANEL_WORKSPACE_ID!,
1048
1131
  * async (opts) => {
1049
1132
  * // Call your in-process services (e.g. querypanel-sdk logic) instead of HTTP
1050
1133
  * if (opts.path === '/query' || opts.path === '/v2/query') {
@@ -1061,7 +1144,7 @@ declare class QueryPanelSdkAPI {
1061
1144
  * const result = await qp.ask('Top 10 orders', { tenantId: 't1', database: 'db' });
1062
1145
  * ```
1063
1146
  */
1064
- static withCallbacks(organizationId: string, requestHandler: RequestHandler, options?: {
1147
+ static withCallbacks(workspaceId: string, requestHandler: RequestHandler, options?: {
1065
1148
  defaultTenantId?: string;
1066
1149
  }): QueryPanelSdkAPI;
1067
1150
  attachClickhouse(name: string, clientFn: ClickHouseClientFn, options?: ClickHouseAdapterOptions & {
@@ -1078,6 +1161,13 @@ declare class QueryPanelSdkAPI {
1078
1161
  tenantFieldType?: string;
1079
1162
  enforceTenantIsolation?: boolean;
1080
1163
  }): void;
1164
+ attachBigQuery(name: string, clientFn: BigQueryClientFn, options: BigQueryAdapterOptions & {
1165
+ description?: string;
1166
+ tags?: string[];
1167
+ tenantFieldName?: string;
1168
+ tenantFieldType?: string;
1169
+ enforceTenantIsolation?: boolean;
1170
+ }): void;
1081
1171
  attachDatabase(name: string, adapter: DatabaseAdapter): void;
1082
1172
  introspect(databaseName: string, tables?: string[]): Promise<SchemaIntrospection>;
1083
1173
  /**
@@ -1787,4 +1877,4 @@ declare class QueryPanelSdkAPI {
1787
1877
  }, signal?: AbortSignal): Promise<SdkDashboard[]>;
1788
1878
  }
1789
1879
 
1790
- export { type ActiveChartCreateInput, type ActiveChartListOptions, type ActiveChartUpdateInput, type AggregateOp, type AskOptions, type AskResponse, type AxisField, type AxisFieldInput, CallbackApiClient, type ChartCreateInput, type ChartEncoding, type ChartEnvelope, type ChartListOptions, type ChartModifyInput, type ChartModifyOptions, type ChartModifyResponse, type ChartSpec, type ChartType, type ChartUpdateInput, ClickHouseAdapter, type ClickHouseAdapterOptions, type ClickHouseClientFn, type ContextDocument, type DashboardCreateInput, type DashboardForkInput, type DashboardForkUpdateInput, type DashboardListOptions, type DashboardUpdateInput, type DatabaseAdapter, type DatabaseDialect, type DateRangeInput, type EncodingHints, type FieldRef, type FieldRefInput, type FieldType, type IQueryPanelApi, type IngestResponse, type IntentResult, type MetricEncoding, type MetricField, type MetricSpec, type PaginatedResponse$1 as PaginatedResponse, type PaginationInfo$1 as PaginationInfo, type PaginationQuery$1 as PaginationQuery, type ParamRecord, type ParamValue, type PipelineTrace, PostgresAdapter, type PostgresAdapterOptions, type PostgresClientFn, QueryErrorCode, QueryErrorCode as QueryErrorCodeType, QueryPanelSdkAPI, type QueryPanelSdkAPIOptions, QueryPipelineError, type RequestHandler, type RequestHandlerOptions, type RequestHandlerResult, type SchemaIntrospection, type SchemaSyncOptions, type SdkActiveChart, type SdkChart, type SdkDashboard, type SdkSession, type SdkSessionTurn, type SessionGetOptions, type SessionListOptions, type SessionUpdateInput, type SqlModifications, type StackingMode, type TableColumn, type TableEncoding, type TableSpec, type TimeUnit, type ValueFormat, type VizModifications, type VizSpec, type VizSpecGenerateInput, type VizSpecGenerateOptions, type VizSpecGeneratorInput, type VizSpecKind, type VizSpecResponse, type VizSpecResult, anonymizeResults };
1880
+ export { type ActiveChartCreateInput, type ActiveChartListOptions, type ActiveChartUpdateInput, type AggregateOp, type AskOptions, type AskResponse, type AxisField, type AxisFieldInput, BigQueryAdapter, type BigQueryAdapterOptions, type BigQueryClientFn, type BigQueryQueryRequest, type BigQueryQueryResult, CallbackApiClient, type ChartCreateInput, type ChartEncoding, type ChartEnvelope, type ChartListOptions, type ChartModifyInput, type ChartModifyOptions, type ChartModifyResponse, type ChartSpec, type ChartType, type ChartUpdateInput, ClickHouseAdapter, type ClickHouseAdapterOptions, type ClickHouseClientFn, type ContextDocument, type DashboardCreateInput, type DashboardForkInput, type DashboardForkUpdateInput, type DashboardListOptions, type DashboardUpdateInput, type DatabaseAdapter, type DatabaseDialect, type DateRangeInput, type EncodingHints, type FieldRef, type FieldRefInput, type FieldType, type IQueryPanelApi, type IngestResponse, type IntentResult, type MetricEncoding, type MetricField, type MetricSpec, type PaginatedResponse$1 as PaginatedResponse, type PaginationInfo$1 as PaginationInfo, type PaginationQuery$1 as PaginationQuery, type ParamRecord, type ParamValue, type PipelineTrace, PostgresAdapter, type PostgresAdapterOptions, type PostgresClientFn, QueryErrorCode, QueryErrorCode as QueryErrorCodeType, QueryPanelSdkAPI, type QueryPanelSdkAPIOptions, QueryPipelineError, type RequestHandler, type RequestHandlerOptions, type RequestHandlerResult, type SchemaIntrospection, type SchemaSyncOptions, type SdkActiveChart, type SdkChart, type SdkDashboard, type SdkSession, type SdkSessionTurn, type SessionGetOptions, type SessionListOptions, type SessionUpdateInput, type SqlModifications, type StackingMode, type TableColumn, type TableEncoding, type TableSpec, type TimeUnit, type ValueFormat, type VizModifications, type VizSpec, type VizSpecGenerateInput, type VizSpecGenerateOptions, type VizSpecGeneratorInput, type VizSpecKind, type VizSpecResponse, type VizSpecResult, anonymizeResults };
package/dist/index.d.ts CHANGED
@@ -37,7 +37,7 @@ interface IntrospectOptions {
37
37
  tables?: string[];
38
38
  }
39
39
 
40
- type DatabaseDialect = "clickhouse" | "postgres" | "mysql";
40
+ type DatabaseDialect = "bigquery" | "clickhouse" | "postgres" | "mysql";
41
41
  interface DatabaseExecutionResult {
42
42
  fields: string[];
43
43
  rows: Array<Record<string, unknown>>;
@@ -74,6 +74,70 @@ interface DatabaseAdapter {
74
74
  close?(): Promise<void>;
75
75
  }
76
76
 
77
+ /**
78
+ * Request passed to BigQueryClientFn.
79
+ * dryRun: when true, the client should run the query as a dry run (validation only, no execution).
80
+ */
81
+ interface BigQueryQueryRequest {
82
+ query: string;
83
+ params?: Record<string, string | number | boolean | string[] | number[]>;
84
+ /** When true, validate the query without executing (e.g. BigQuery dry run). */
85
+ dryRun?: boolean;
86
+ }
87
+ interface BigQueryQueryResult {
88
+ rows: Array<Record<string, unknown>>;
89
+ fields: string[];
90
+ }
91
+ /**
92
+ * Client function for the BigQuery adapter.
93
+ * Implement using @google-cloud/bigquery: createQueryJob with dryRun for validation, getQueryResults for execute.
94
+ */
95
+ type BigQueryClientFn = (request: BigQueryQueryRequest) => Promise<BigQueryQueryResult>;
96
+ interface BigQueryAdapterOptions {
97
+ /** GCP project ID. Used for INFORMATION_SCHEMA queries. */
98
+ projectId: string;
99
+ /** Optional project that owns the dataset. Defaults to projectId. */
100
+ datasetProjectId?: string;
101
+ /** Default dataset (schema) name. Used for introspection and unqualified table names. */
102
+ dataset: string;
103
+ /** Optional location for the dataset (e.g. "US", "EU"). */
104
+ location?: string;
105
+ /** Logical database name used in introspection metadata. */
106
+ database?: string;
107
+ /** Optional database kind label. Defaults to "bigquery". */
108
+ kind?: SchemaIntrospection["db"]["kind"];
109
+ /**
110
+ * Optional allow-list of table names (dataset.table or bare table name).
111
+ * When specified, introspection and queries are restricted to these tables only.
112
+ */
113
+ allowedTables?: string[];
114
+ }
115
+ /**
116
+ * BigQuery adapter following the same pattern as PostgresAdapter and ClickHouseAdapter.
117
+ * - execute: runs the query via the client function.
118
+ * - validate: uses dry run (no EXPLAIN in BigQuery) to validate SQL without executing.
119
+ * - introspect: uses INFORMATION_SCHEMA.TABLES and INFORMATION_SCHEMA.COLUMNS.
120
+ */
121
+ declare class BigQueryAdapter implements DatabaseAdapter {
122
+ private readonly clientFn;
123
+ private readonly projectId;
124
+ private readonly datasetProjectId;
125
+ private readonly defaultDataset;
126
+ private readonly databaseName;
127
+ private readonly kind;
128
+ private readonly allowedTables?;
129
+ constructor(clientFn: BigQueryClientFn, options: BigQueryAdapterOptions);
130
+ execute(sql: string, params?: Record<string, string | number | boolean | string[] | number[]>): Promise<DatabaseExecutionResult>;
131
+ validate(sql: string, params?: Record<string, string | number | boolean | string[] | number[]>): Promise<void>;
132
+ getDialect(): "bigquery";
133
+ /**
134
+ * Introspect using BigQuery INFORMATION_SCHEMA (TABLES and COLUMNS).
135
+ * Restricts to the default dataset (or allowedTables) and returns tables/columns only.
136
+ */
137
+ introspect(options?: IntrospectOptions): Promise<SchemaIntrospection>;
138
+ private validateQueryTables;
139
+ }
140
+
77
141
  interface ClickHouseAdapterOptions {
78
142
  /** Optional logical database name used in introspection metadata. */
79
143
  database?: string;
@@ -640,6 +704,22 @@ interface AskOptions {
640
704
  * - "v2": Improved pipeline with intent planning, hybrid retrieval, schema linking, and SQL reflection
641
705
  */
642
706
  pipeline?: "v1" | "v2";
707
+ /**
708
+ * Optional OpenAI model id for v2 SQL generation. Omit to use server default.
709
+ */
710
+ model?: string;
711
+ /**
712
+ * Optional additional system prompt text for the v2 pipeline.
713
+ *
714
+ * This is appended to the backend's SQL generator/reflection system prompts
715
+ * (it does not change tenant isolation mechanics; it only guides the LLM).
716
+ *
717
+ * Use this for tenant-specific policies (e.g. retention windows) that must
718
+ * be enforced on every query.
719
+ *
720
+ * Only sent when `pipeline: "v2"`.
721
+ */
722
+ systemPrompt?: string;
643
723
  }
644
724
  /**
645
725
  * Intent analysis result from the v2 pipeline.
@@ -1029,14 +1109,17 @@ interface QueryPanelSdkAPIOptions {
1029
1109
  declare class QueryPanelSdkAPI {
1030
1110
  private readonly client;
1031
1111
  private readonly queryEngine;
1032
- constructor(baseUrl: string, privateKey: string, organizationId: string, options?: QueryPanelSdkAPIOptions);
1112
+ /**
1113
+ * @param workspaceId - Workspace UUID (same value as your org in the dashboard). Passed to the API as JWT claim `organizationId`.
1114
+ */
1115
+ constructor(baseUrl: string, privateKey: string, workspaceId: string, options?: QueryPanelSdkAPIOptions);
1033
1116
  /**
1034
1117
  * Create an SDK instance that uses a request callback instead of HTTP.
1035
1118
  * Use this when calling the SDK from within your own API so that "API" calls
1036
1119
  * are handled in-process (e.g. by invoking querypanel-sdk services directly)
1037
1120
  * and do not cause recursion.
1038
1121
  *
1039
- * @param organizationId - Organization identifier
1122
+ * @param workspaceId - Workspace identifier (sent as `organizationId` in JWTs and API auth)
1040
1123
  * @param requestHandler - Callback invoked for each logical API request (method, path, body, tenantId, etc.)
1041
1124
  * @param options - Optional defaultTenantId
1042
1125
  * @returns QueryPanelSdkAPI instance; attach databases and call ask(), syncSchema(), etc. as usual
@@ -1044,7 +1127,7 @@ declare class QueryPanelSdkAPI {
1044
1127
  * @example
1045
1128
  * ```ts
1046
1129
  * const qp = QueryPanelSdkAPI.withCallbacks(
1047
- * process.env.ORGANIZATION_ID!,
1130
+ * process.env.QUERYPANEL_WORKSPACE_ID!,
1048
1131
  * async (opts) => {
1049
1132
  * // Call your in-process services (e.g. querypanel-sdk logic) instead of HTTP
1050
1133
  * if (opts.path === '/query' || opts.path === '/v2/query') {
@@ -1061,7 +1144,7 @@ declare class QueryPanelSdkAPI {
1061
1144
  * const result = await qp.ask('Top 10 orders', { tenantId: 't1', database: 'db' });
1062
1145
  * ```
1063
1146
  */
1064
- static withCallbacks(organizationId: string, requestHandler: RequestHandler, options?: {
1147
+ static withCallbacks(workspaceId: string, requestHandler: RequestHandler, options?: {
1065
1148
  defaultTenantId?: string;
1066
1149
  }): QueryPanelSdkAPI;
1067
1150
  attachClickhouse(name: string, clientFn: ClickHouseClientFn, options?: ClickHouseAdapterOptions & {
@@ -1078,6 +1161,13 @@ declare class QueryPanelSdkAPI {
1078
1161
  tenantFieldType?: string;
1079
1162
  enforceTenantIsolation?: boolean;
1080
1163
  }): void;
1164
+ attachBigQuery(name: string, clientFn: BigQueryClientFn, options: BigQueryAdapterOptions & {
1165
+ description?: string;
1166
+ tags?: string[];
1167
+ tenantFieldName?: string;
1168
+ tenantFieldType?: string;
1169
+ enforceTenantIsolation?: boolean;
1170
+ }): void;
1081
1171
  attachDatabase(name: string, adapter: DatabaseAdapter): void;
1082
1172
  introspect(databaseName: string, tables?: string[]): Promise<SchemaIntrospection>;
1083
1173
  /**
@@ -1787,4 +1877,4 @@ declare class QueryPanelSdkAPI {
1787
1877
  }, signal?: AbortSignal): Promise<SdkDashboard[]>;
1788
1878
  }
1789
1879
 
1790
- export { type ActiveChartCreateInput, type ActiveChartListOptions, type ActiveChartUpdateInput, type AggregateOp, type AskOptions, type AskResponse, type AxisField, type AxisFieldInput, CallbackApiClient, type ChartCreateInput, type ChartEncoding, type ChartEnvelope, type ChartListOptions, type ChartModifyInput, type ChartModifyOptions, type ChartModifyResponse, type ChartSpec, type ChartType, type ChartUpdateInput, ClickHouseAdapter, type ClickHouseAdapterOptions, type ClickHouseClientFn, type ContextDocument, type DashboardCreateInput, type DashboardForkInput, type DashboardForkUpdateInput, type DashboardListOptions, type DashboardUpdateInput, type DatabaseAdapter, type DatabaseDialect, type DateRangeInput, type EncodingHints, type FieldRef, type FieldRefInput, type FieldType, type IQueryPanelApi, type IngestResponse, type IntentResult, type MetricEncoding, type MetricField, type MetricSpec, type PaginatedResponse$1 as PaginatedResponse, type PaginationInfo$1 as PaginationInfo, type PaginationQuery$1 as PaginationQuery, type ParamRecord, type ParamValue, type PipelineTrace, PostgresAdapter, type PostgresAdapterOptions, type PostgresClientFn, QueryErrorCode, QueryErrorCode as QueryErrorCodeType, QueryPanelSdkAPI, type QueryPanelSdkAPIOptions, QueryPipelineError, type RequestHandler, type RequestHandlerOptions, type RequestHandlerResult, type SchemaIntrospection, type SchemaSyncOptions, type SdkActiveChart, type SdkChart, type SdkDashboard, type SdkSession, type SdkSessionTurn, type SessionGetOptions, type SessionListOptions, type SessionUpdateInput, type SqlModifications, type StackingMode, type TableColumn, type TableEncoding, type TableSpec, type TimeUnit, type ValueFormat, type VizModifications, type VizSpec, type VizSpecGenerateInput, type VizSpecGenerateOptions, type VizSpecGeneratorInput, type VizSpecKind, type VizSpecResponse, type VizSpecResult, anonymizeResults };
1880
+ export { type ActiveChartCreateInput, type ActiveChartListOptions, type ActiveChartUpdateInput, type AggregateOp, type AskOptions, type AskResponse, type AxisField, type AxisFieldInput, BigQueryAdapter, type BigQueryAdapterOptions, type BigQueryClientFn, type BigQueryQueryRequest, type BigQueryQueryResult, CallbackApiClient, type ChartCreateInput, type ChartEncoding, type ChartEnvelope, type ChartListOptions, type ChartModifyInput, type ChartModifyOptions, type ChartModifyResponse, type ChartSpec, type ChartType, type ChartUpdateInput, ClickHouseAdapter, type ClickHouseAdapterOptions, type ClickHouseClientFn, type ContextDocument, type DashboardCreateInput, type DashboardForkInput, type DashboardForkUpdateInput, type DashboardListOptions, type DashboardUpdateInput, type DatabaseAdapter, type DatabaseDialect, type DateRangeInput, type EncodingHints, type FieldRef, type FieldRefInput, type FieldType, type IQueryPanelApi, type IngestResponse, type IntentResult, type MetricEncoding, type MetricField, type MetricSpec, type PaginatedResponse$1 as PaginatedResponse, type PaginationInfo$1 as PaginationInfo, type PaginationQuery$1 as PaginationQuery, type ParamRecord, type ParamValue, type PipelineTrace, PostgresAdapter, type PostgresAdapterOptions, type PostgresClientFn, QueryErrorCode, QueryErrorCode as QueryErrorCodeType, QueryPanelSdkAPI, type QueryPanelSdkAPIOptions, QueryPipelineError, type RequestHandler, type RequestHandlerOptions, type RequestHandlerResult, type SchemaIntrospection, type SchemaSyncOptions, type SdkActiveChart, type SdkChart, type SdkDashboard, type SdkSession, type SdkSessionTurn, type SessionGetOptions, type SessionListOptions, type SessionUpdateInput, type SqlModifications, type StackingMode, type TableColumn, type TableEncoding, type TableSpec, type TimeUnit, type ValueFormat, type VizModifications, type VizSpec, type VizSpecGenerateInput, type VizSpecGenerateOptions, type VizSpecGeneratorInput, type VizSpecKind, type VizSpecResponse, type VizSpecResult, anonymizeResults };