@querypanel/node-sdk 1.0.25 → 1.0.26

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.
Files changed (145) hide show
  1. package/README.md +23 -0
  2. package/dist/cjs/__tests__/ingest.test.d.ts +5 -0
  3. package/dist/cjs/__tests__/ingest.test.d.ts.map +1 -0
  4. package/dist/cjs/__tests__/ingest.test.js +95 -0
  5. package/dist/cjs/__tests__/ingest.test.js.map +1 -0
  6. package/dist/cjs/adapters/clickhouse.d.ts +48 -0
  7. package/dist/cjs/adapters/clickhouse.d.ts.map +1 -0
  8. package/dist/cjs/adapters/clickhouse.js +284 -0
  9. package/dist/cjs/adapters/clickhouse.js.map +1 -0
  10. package/dist/cjs/adapters/introspection.spec.d.ts +2 -0
  11. package/dist/cjs/adapters/introspection.spec.d.ts.map +1 -0
  12. package/dist/cjs/adapters/introspection.spec.js +192 -0
  13. package/dist/cjs/adapters/introspection.spec.js.map +1 -0
  14. package/dist/cjs/adapters/postgres.d.ts +46 -0
  15. package/dist/cjs/adapters/postgres.d.ts.map +1 -0
  16. package/dist/cjs/adapters/postgres.js +457 -0
  17. package/dist/cjs/adapters/postgres.js.map +1 -0
  18. package/dist/cjs/adapters/postgres.spec.d.ts +2 -0
  19. package/dist/cjs/adapters/postgres.spec.d.ts.map +1 -0
  20. package/dist/cjs/adapters/postgres.spec.js +37 -0
  21. package/dist/cjs/adapters/postgres.spec.js.map +1 -0
  22. package/dist/cjs/adapters/types.d.ts +38 -0
  23. package/dist/cjs/adapters/types.d.ts.map +1 -0
  24. package/dist/cjs/adapters/types.js +3 -0
  25. package/dist/cjs/adapters/types.js.map +1 -0
  26. package/dist/cjs/anonymize.spec.d.ts +2 -0
  27. package/dist/cjs/anonymize.spec.d.ts.map +1 -0
  28. package/dist/cjs/anonymize.spec.js +78 -0
  29. package/dist/cjs/anonymize.spec.js.map +1 -0
  30. package/dist/cjs/clickhouseClient.spec.d.ts +2 -0
  31. package/dist/cjs/clickhouseClient.spec.d.ts.map +1 -0
  32. package/dist/cjs/clickhouseClient.spec.js +286 -0
  33. package/dist/cjs/clickhouseClient.spec.js.map +1 -0
  34. package/dist/cjs/connectors/__tests__/clickhouse.introspect.test.d.ts +2 -0
  35. package/dist/cjs/connectors/__tests__/clickhouse.introspect.test.d.ts.map +1 -0
  36. package/dist/cjs/connectors/__tests__/clickhouse.introspect.test.js +119 -0
  37. package/dist/cjs/connectors/__tests__/clickhouse.introspect.test.js.map +1 -0
  38. package/dist/cjs/connectors/base.d.ts +13 -0
  39. package/dist/cjs/connectors/base.d.ts.map +1 -0
  40. package/dist/cjs/connectors/base.js +3 -0
  41. package/dist/cjs/connectors/base.js.map +1 -0
  42. package/dist/cjs/connectors/clickhouse.d.ts +53 -0
  43. package/dist/cjs/connectors/clickhouse.d.ts.map +1 -0
  44. package/dist/cjs/connectors/clickhouse.js +270 -0
  45. package/dist/cjs/connectors/clickhouse.js.map +1 -0
  46. package/dist/cjs/index.d.ts +490 -0
  47. package/dist/cjs/index.d.ts.map +1 -0
  48. package/dist/cjs/index.js +843 -0
  49. package/dist/cjs/index.js.map +1 -0
  50. package/dist/cjs/index.test.d.ts +2 -0
  51. package/dist/cjs/index.test.d.ts.map +1 -0
  52. package/dist/cjs/index.test.js +185 -0
  53. package/dist/cjs/index.test.js.map +1 -0
  54. package/dist/cjs/introspectV3.d.ts +45 -0
  55. package/dist/cjs/introspectV3.d.ts.map +1 -0
  56. package/dist/cjs/introspectV3.js +99 -0
  57. package/dist/cjs/introspectV3.js.map +1 -0
  58. package/dist/cjs/multidb.spec.d.ts +2 -0
  59. package/dist/cjs/multidb.spec.d.ts.map +1 -0
  60. package/dist/cjs/multidb.spec.js +76 -0
  61. package/dist/cjs/multidb.spec.js.map +1 -0
  62. package/dist/cjs/package.json +1 -0
  63. package/dist/cjs/schema/types.d.ts +73 -0
  64. package/dist/cjs/schema/types.d.ts.map +1 -0
  65. package/dist/cjs/schema/types.js +3 -0
  66. package/dist/cjs/schema/types.js.map +1 -0
  67. package/dist/cjs/tenant-isolation.spec.d.ts +2 -0
  68. package/dist/cjs/tenant-isolation.spec.d.ts.map +1 -0
  69. package/dist/cjs/tenant-isolation.spec.js +420 -0
  70. package/dist/cjs/tenant-isolation.spec.js.map +1 -0
  71. package/dist/cjs/utils/clickhouse.d.ts +9 -0
  72. package/dist/cjs/utils/clickhouse.d.ts.map +1 -0
  73. package/dist/cjs/utils/clickhouse.js +99 -0
  74. package/dist/cjs/utils/clickhouse.js.map +1 -0
  75. package/dist/esm/adapters/clickhouse.d.ts +48 -0
  76. package/dist/esm/adapters/clickhouse.d.ts.map +1 -0
  77. package/dist/esm/adapters/clickhouse.js +280 -0
  78. package/dist/esm/adapters/clickhouse.js.map +1 -0
  79. package/dist/esm/adapters/introspection.spec.d.ts +2 -0
  80. package/dist/esm/adapters/introspection.spec.d.ts.map +1 -0
  81. package/dist/esm/adapters/introspection.spec.js +190 -0
  82. package/dist/esm/adapters/introspection.spec.js.map +1 -0
  83. package/dist/esm/adapters/postgres.d.ts +46 -0
  84. package/dist/esm/adapters/postgres.d.ts.map +1 -0
  85. package/dist/esm/adapters/postgres.js +453 -0
  86. package/dist/esm/adapters/postgres.js.map +1 -0
  87. package/dist/esm/adapters/postgres.spec.d.ts +2 -0
  88. package/dist/esm/adapters/postgres.spec.d.ts.map +1 -0
  89. package/dist/esm/adapters/postgres.spec.js +35 -0
  90. package/dist/esm/adapters/postgres.spec.js.map +1 -0
  91. package/dist/esm/adapters/types.d.ts +38 -0
  92. package/dist/esm/adapters/types.d.ts.map +1 -0
  93. package/dist/esm/adapters/types.js +2 -0
  94. package/dist/esm/adapters/types.js.map +1 -0
  95. package/dist/esm/anonymize.spec.d.ts +2 -0
  96. package/dist/esm/anonymize.spec.d.ts.map +1 -0
  97. package/dist/esm/anonymize.spec.js +76 -0
  98. package/dist/esm/anonymize.spec.js.map +1 -0
  99. package/dist/esm/clickhouseClient.spec.d.ts +2 -0
  100. package/dist/esm/clickhouseClient.spec.d.ts.map +1 -0
  101. package/dist/esm/clickhouseClient.spec.js +281 -0
  102. package/dist/esm/clickhouseClient.spec.js.map +1 -0
  103. package/dist/esm/connectors/base.d.ts +14 -0
  104. package/dist/esm/connectors/base.d.ts.map +1 -0
  105. package/dist/esm/connectors/base.js +2 -0
  106. package/dist/esm/connectors/base.js.map +1 -0
  107. package/dist/esm/connectors/clickhouse.d.ts +35 -0
  108. package/dist/esm/connectors/clickhouse.d.ts.map +1 -0
  109. package/dist/esm/connectors/clickhouse.js +281 -0
  110. package/dist/esm/connectors/clickhouse.js.map +1 -0
  111. package/dist/esm/index.d.ts +490 -0
  112. package/dist/esm/index.d.ts.map +1 -0
  113. package/dist/esm/index.js +838 -0
  114. package/dist/esm/index.js.map +1 -0
  115. package/dist/esm/index.test.d.ts +2 -0
  116. package/dist/esm/index.test.d.ts.map +1 -0
  117. package/dist/esm/index.test.js +183 -0
  118. package/dist/esm/index.test.js.map +1 -0
  119. package/dist/esm/introspectV3.d.ts +45 -0
  120. package/dist/esm/introspectV3.d.ts.map +1 -0
  121. package/dist/esm/introspectV3.js +96 -0
  122. package/dist/esm/introspectV3.js.map +1 -0
  123. package/dist/esm/multidb.spec.d.ts +2 -0
  124. package/dist/esm/multidb.spec.d.ts.map +1 -0
  125. package/dist/esm/multidb.spec.js +74 -0
  126. package/dist/esm/multidb.spec.js.map +1 -0
  127. package/dist/esm/schema/types.d.ts +73 -0
  128. package/dist/esm/schema/types.d.ts.map +1 -0
  129. package/dist/esm/schema/types.js +2 -0
  130. package/dist/esm/schema/types.js.map +1 -0
  131. package/dist/esm/tenant-isolation.spec.d.ts +2 -0
  132. package/dist/esm/tenant-isolation.spec.d.ts.map +1 -0
  133. package/dist/esm/tenant-isolation.spec.js +418 -0
  134. package/dist/esm/tenant-isolation.spec.js.map +1 -0
  135. package/dist/esm/utils/clickhouse.d.ts +9 -0
  136. package/dist/esm/utils/clickhouse.d.ts.map +1 -0
  137. package/dist/esm/utils/clickhouse.js +92 -0
  138. package/dist/esm/utils/clickhouse.js.map +1 -0
  139. package/package.json +73 -53
  140. package/dist/index.cjs +0 -1471
  141. package/dist/index.cjs.map +0 -1
  142. package/dist/index.d.cts +0 -468
  143. package/dist/index.d.ts +0 -468
  144. package/dist/index.js +0 -1443
  145. package/dist/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,183 @@
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
+ import { QueryPanelSdkAPI, } from "./index.js";
3
+ const mockResponse = (status, body) => ({
4
+ ok: status >= 200 && status < 300,
5
+ status,
6
+ statusText: status === 200 ? "OK" : "ERROR",
7
+ text: async () => JSON.stringify(body),
8
+ });
9
+ const registerDefaultDatabaseMetadata = (sdk) => {
10
+ sdk.databaseMetadata.set("default", {
11
+ name: "default",
12
+ dialect: "clickhouse",
13
+ });
14
+ };
15
+ describe("QueryPanelSdkAPI.ask", () => {
16
+ const fetchMock = vi.fn();
17
+ let sdk;
18
+ beforeEach(() => {
19
+ fetchMock.mockReset();
20
+ globalThis.fetch = fetchMock;
21
+ sdk = new QueryPanelSdkAPI("http://api", "test-token");
22
+ });
23
+ it("performs generate-sql and generate-chart roundtrips", async () => {
24
+ const schemaResponse = {
25
+ database: "default",
26
+ dialect: "clickhouse",
27
+ status: "processed",
28
+ schemaHash: "a".repeat(64),
29
+ introspectedAt: new Date().toISOString(),
30
+ };
31
+ fetchMock
32
+ .mockResolvedValueOnce(mockResponse(200, schemaResponse))
33
+ .mockResolvedValueOnce(mockResponse(200, {
34
+ sql: "SELECT 1",
35
+ rationale: "demo rationale",
36
+ context: [{ kind: "ddl", content: "CREATE TABLE" }],
37
+ }))
38
+ .mockResolvedValueOnce(mockResponse(200, {
39
+ vegaLiteSpec: { mark: "bar" },
40
+ notes: null,
41
+ }));
42
+ const executeSql = vi.fn().mockResolvedValue({
43
+ fields: ["count"],
44
+ rows: [{ count: 1 }],
45
+ });
46
+ const validateSql = vi.fn().mockResolvedValue(undefined);
47
+ const adapter = {
48
+ getDialect: () => "clickhouse",
49
+ execute: executeSql,
50
+ validate: validateSql,
51
+ introspect: async () => ({
52
+ db: { kind: "test", name: "default" },
53
+ tables: [],
54
+ introspectedAt: new Date().toISOString(),
55
+ }),
56
+ };
57
+ sdk.attachDatabase("default", adapter);
58
+ registerDefaultDatabaseMetadata(sdk);
59
+ const result = await sdk.ask("How many rows?", {
60
+ tenantId: "tenant-1",
61
+ });
62
+ expect(result.sql).toBe("SELECT 1");
63
+ expect(result.chart.vegaLiteSpec).toMatchObject({ mark: "bar" });
64
+ expect(result.context).toHaveLength(1);
65
+ expect(result.fields).toEqual(["count"]);
66
+ expect(result.rows).toEqual([{ count: 1 }]);
67
+ expect(validateSql).toHaveBeenCalledWith("SELECT 1", undefined);
68
+ expect(executeSql).toHaveBeenCalledWith("SELECT 1", undefined);
69
+ expect(fetchMock).toHaveBeenCalledWith("http://api/v2/vectorize-schema", expect.objectContaining({
70
+ method: "POST",
71
+ }));
72
+ expect(fetchMock).toHaveBeenCalledWith("http://api/v2/generate-sql", expect.objectContaining({
73
+ method: "POST",
74
+ }));
75
+ expect(fetchMock).toHaveBeenCalledWith("http://api/v2/generate-chart", expect.objectContaining({
76
+ method: "POST",
77
+ }));
78
+ });
79
+ it("passes last_error on retry when execution fails", async () => {
80
+ const schemaResponse = {
81
+ database: "default",
82
+ dialect: "clickhouse",
83
+ status: "processed",
84
+ schemaHash: "b".repeat(64),
85
+ introspectedAt: new Date().toISOString(),
86
+ };
87
+ fetchMock
88
+ .mockResolvedValueOnce(mockResponse(200, schemaResponse))
89
+ .mockResolvedValueOnce(mockResponse(200, {
90
+ sql: "SELECT fail",
91
+ rationale: "first try",
92
+ context: [],
93
+ }))
94
+ .mockResolvedValueOnce(mockResponse(200, {
95
+ sql: "SELECT success",
96
+ rationale: "second try",
97
+ context: [],
98
+ }))
99
+ .mockResolvedValueOnce(mockResponse(200, {
100
+ vegaLiteSpec: { mark: "line" },
101
+ notes: "ready",
102
+ }));
103
+ const executeSql = vi
104
+ .fn()
105
+ .mockRejectedValueOnce(new Error("execution failed"))
106
+ .mockResolvedValueOnce({
107
+ fields: ["value"],
108
+ rows: [{ value: 2 }],
109
+ });
110
+ const adapter = {
111
+ getDialect: () => "clickhouse",
112
+ validate: vi.fn().mockResolvedValue(undefined),
113
+ execute: executeSql,
114
+ introspect: async () => ({
115
+ db: { kind: "test", name: "default" },
116
+ tables: [],
117
+ introspectedAt: new Date().toISOString(),
118
+ }),
119
+ };
120
+ sdk.attachDatabase("default", adapter);
121
+ registerDefaultDatabaseMetadata(sdk);
122
+ const result = await sdk.ask("Retry please", {
123
+ tenantId: "tenant-2",
124
+ sqlMaxAttempts: 2,
125
+ });
126
+ expect(result.sql).toBe("SELECT success");
127
+ expect(result.chart.notes).toBe("ready");
128
+ const sqlCalls = fetchMock.mock.calls.filter(([url]) => typeof url === "string" && url.endsWith("/v2/generate-sql"));
129
+ expect(sqlCalls.length).toBeGreaterThanOrEqual(2);
130
+ const secondInit = sqlCalls[1]?.[1];
131
+ const secondBody = secondInit?.body ? JSON.parse(secondInit.body) : {};
132
+ expect(secondBody.last_error).toBe("execution failed");
133
+ expect(secondBody.available_databases).toEqual([
134
+ expect.objectContaining({
135
+ name: "default",
136
+ dialect: "clickhouse",
137
+ }),
138
+ ]);
139
+ expect(executeSql).toHaveBeenCalledTimes(2);
140
+ });
141
+ it("skips generate-chart when query returns no rows", async () => {
142
+ const schemaResponse = {
143
+ database: "default",
144
+ dialect: "clickhouse",
145
+ status: "processed",
146
+ schemaHash: "c".repeat(64),
147
+ introspectedAt: new Date().toISOString(),
148
+ };
149
+ fetchMock
150
+ .mockResolvedValueOnce(mockResponse(200, schemaResponse))
151
+ .mockResolvedValueOnce(mockResponse(200, {
152
+ sql: "SELECT 1",
153
+ rationale: "demo rationale",
154
+ context: [],
155
+ }));
156
+ const adapter = {
157
+ getDialect: () => "clickhouse",
158
+ validate: vi.fn().mockResolvedValue(undefined),
159
+ execute: vi.fn().mockResolvedValue({
160
+ fields: ["count"],
161
+ rows: [],
162
+ }),
163
+ introspect: async () => ({
164
+ db: { kind: "test", name: "default" },
165
+ tables: [],
166
+ introspectedAt: new Date().toISOString(),
167
+ }),
168
+ };
169
+ sdk.attachDatabase("default", adapter);
170
+ registerDefaultDatabaseMetadata(sdk);
171
+ const result = await sdk.ask("How many rows?", {
172
+ tenantId: "tenant-1",
173
+ });
174
+ expect(result.rows).toEqual([]);
175
+ expect(result.chart).toEqual({
176
+ vegaLiteSpec: null,
177
+ notes: "Query returned no rows; chart generation skipped.",
178
+ });
179
+ const chartCalls = fetchMock.mock.calls.filter(([url]) => typeof url === "string" && url.endsWith("/v2/generate-chart"));
180
+ expect(chartCalls).toHaveLength(0);
181
+ });
182
+ });
183
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/index.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import type { SchemaIntrospection } from "./schema/types.js";
2
+ /**
3
+ * V3 Schema Export Format
4
+ * Simplified format for Bedrock knowledge base ingestion
5
+ */
6
+ export interface SchemaExportV3 {
7
+ database: string;
8
+ dialect: string;
9
+ tables: TableExportV3[];
10
+ tenant_id?: string;
11
+ }
12
+ export interface TableExportV3 {
13
+ table_name: string;
14
+ description?: string;
15
+ columns: ColumnExportV3[];
16
+ relationships?: RelationshipExportV3[];
17
+ stats?: TableStatsExportV3;
18
+ }
19
+ export interface ColumnExportV3 {
20
+ name: string;
21
+ data_type: string;
22
+ description?: string;
23
+ is_primary_key?: boolean;
24
+ is_nullable?: boolean;
25
+ stats?: ColumnStatsExportV3;
26
+ }
27
+ export interface RelationshipExportV3 {
28
+ to_table: string;
29
+ type?: "one_to_many" | "many_to_one" | "one_to_one";
30
+ description?: string;
31
+ }
32
+ export interface TableStatsExportV3 {
33
+ rowCount?: number;
34
+ }
35
+ export interface ColumnStatsExportV3 {
36
+ cardinality?: number;
37
+ }
38
+ /**
39
+ * Transform SchemaIntrospection to V3 export format for Bedrock ingestion
40
+ *
41
+ * This simplified format focuses on the essential information needed for
42
+ * SQL generation while removing internal implementation details.
43
+ */
44
+ export declare function transformToV3Export(introspection: SchemaIntrospection, tenantId?: string): SchemaExportV3;
45
+ //# sourceMappingURL=introspectV3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"introspectV3.d.ts","sourceRoot":"","sources":["../../src/introspectV3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACvC,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,GAAG,YAAY,CAAC;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,mBAAmB,EAClC,QAAQ,CAAC,EAAE,MAAM,GAChB,cAAc,CAuFhB"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Transform SchemaIntrospection to V3 export format for Bedrock ingestion
3
+ *
4
+ * This simplified format focuses on the essential information needed for
5
+ * SQL generation while removing internal implementation details.
6
+ */
7
+ export function transformToV3Export(introspection, tenantId) {
8
+ const tables = introspection.tables.map((table) => {
9
+ // Transform columns
10
+ const columns = table.columns.map((col) => {
11
+ const column = {
12
+ name: col.name,
13
+ data_type: col.rawType,
14
+ };
15
+ // Add description from comment
16
+ if (col.comment) {
17
+ column.description = col.comment;
18
+ }
19
+ // Add nullable flag
20
+ if (col.nullable !== undefined) {
21
+ column.is_nullable = col.nullable;
22
+ }
23
+ // Add primary key flag
24
+ if (col.isPrimaryKey) {
25
+ column.is_primary_key = col.isPrimaryKey;
26
+ }
27
+ return column;
28
+ });
29
+ // Build table export
30
+ const tableExport = {
31
+ table_name: table.name,
32
+ columns,
33
+ };
34
+ // Add table description from comment
35
+ if (table.comment) {
36
+ tableExport.description = table.comment;
37
+ }
38
+ else {
39
+ // Generate basic description if none exists
40
+ tableExport.description = `Table ${table.name}`;
41
+ }
42
+ // Add table statistics
43
+ if (table.statistics?.totalRows !== undefined) {
44
+ tableExport.stats = {
45
+ rowCount: table.statistics.totalRows,
46
+ };
47
+ }
48
+ // Transform foreign key constraints to relationships
49
+ const relationships = [];
50
+ for (const constraint of table.constraints) {
51
+ if (constraint.type === "FOREIGN KEY" && constraint.referencedTable) {
52
+ const relationship = {
53
+ to_table: constraint.referencedTable,
54
+ };
55
+ // Infer relationship type based on constraint columns
56
+ if (constraint.columns.length === 1) {
57
+ const columnName = constraint.columns[0];
58
+ const column = table.columns.find((c) => c.name === columnName);
59
+ // If the FK column is unique or primary key, it's likely one-to-one
60
+ if (column?.isPrimaryKey) {
61
+ relationship.type = "one_to_one";
62
+ }
63
+ else {
64
+ // Otherwise, assume many-to-one (this table has many rows pointing to one in referenced table)
65
+ relationship.type = "many_to_one";
66
+ }
67
+ }
68
+ relationships.push(relationship);
69
+ }
70
+ }
71
+ if (relationships.length > 0) {
72
+ tableExport.relationships = relationships;
73
+ }
74
+ return tableExport;
75
+ });
76
+ return {
77
+ database: introspection.db.name,
78
+ dialect: mapDialect(introspection.db.kind),
79
+ tables,
80
+ ...(tenantId && { tenant_id: tenantId }),
81
+ };
82
+ }
83
+ /**
84
+ * Map database kind to dialect string
85
+ */
86
+ function mapDialect(kind) {
87
+ const normalized = kind.toLowerCase();
88
+ if (normalized.includes("clickhouse"))
89
+ return "clickhouse";
90
+ if (normalized.includes("postgres"))
91
+ return "postgres";
92
+ if (normalized.includes("mysql") || normalized.includes("mariadb"))
93
+ return "mysql";
94
+ return normalized;
95
+ }
96
+ //# sourceMappingURL=introspectV3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"introspectV3.js","sourceRoot":"","sources":["../../src/introspectV3.ts"],"names":[],"mappings":"AA4CA;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,aAAkC,EAClC,QAAiB;IAEjB,MAAM,MAAM,GAAoB,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACjE,oBAAoB;QACpB,MAAM,OAAO,GAAqB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1D,MAAM,MAAM,GAAmB;gBAC7B,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,GAAG,CAAC,OAAQ;aACxB,CAAC;YAEF,+BAA+B;YAC/B,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChB,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC;YACnC,CAAC;YAED,oBAAoB;YACpB,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC;YACpC,CAAC;YAED,uBAAuB;YACvB,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACrB,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC,YAAY,CAAC;YAC3C,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,MAAM,WAAW,GAAkB;YACjC,UAAU,EAAE,KAAK,CAAC,IAAI;YACtB,OAAO;SACR,CAAC;QAEF,qCAAqC;QACrC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,WAAW,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,4CAA4C;YAC5C,WAAW,CAAC,WAAW,GAAG,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC;QAClD,CAAC;QAED,uBAAuB;QACvB,IAAI,KAAK,CAAC,UAAU,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YAC9C,WAAW,CAAC,KAAK,GAAG;gBAClB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS;aACrC,CAAC;QACJ,CAAC;QAED,qDAAqD;QACrD,MAAM,aAAa,GAA2B,EAAE,CAAC;QACjD,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAI,UAAU,CAAC,IAAI,KAAK,aAAa,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;gBACpE,MAAM,YAAY,GAAyB;oBACzC,QAAQ,EAAE,UAAU,CAAC,eAAe;iBACrC,CAAC;gBAEF,sDAAsD;gBACtD,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpC,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACzC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;oBAEhE,oEAAoE;oBACpE,IAAI,MAAM,EAAE,YAAY,EAAE,CAAC;wBACzB,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACN,+FAA+F;wBAC/F,YAAY,CAAC,IAAI,GAAG,aAAa,CAAC;oBACpC,CAAC;gBACH,CAAC;gBAED,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,WAAW,CAAC,aAAa,GAAG,aAAa,CAAC;QAC5C,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC,IAAI;QAC/B,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC;QAC1C,MAAM;QACN,GAAG,CAAC,QAAQ,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;KACzC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAEtC,IAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,YAAY,CAAC;IAC3D,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IACvD,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAChE,OAAO,OAAO,CAAC;IAEjB,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=multidb.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multidb.spec.d.ts","sourceRoot":"","sources":["../../src/multidb.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,74 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { QueryPanelSdkAPI } from "./index.js";
3
+ describe("Multi-database support", () => {
4
+ it("allows attaching multiple databases with different names", () => {
5
+ const sdk = new QueryPanelSdkAPI("http://api", "test-token");
6
+ // Attach ClickHouse database
7
+ const chClient = async (params) => {
8
+ return {
9
+ json: async () => [{ id: 1, name: "CH Data" }],
10
+ };
11
+ };
12
+ sdk.attachClickhouse("analytics", chClient);
13
+ // Attach Postgres databases
14
+ const pgClient1 = async (sql) => {
15
+ return {
16
+ rows: [{ id: 1, email: "user@example.com" }],
17
+ fields: [{ name: "id" }, { name: "email" }],
18
+ };
19
+ };
20
+ sdk.attachPostgres("users", pgClient1);
21
+ const pgClient2 = async (sql) => {
22
+ return {
23
+ rows: [{ id: 1, total: 1000 }],
24
+ fields: [{ name: "id" }, { name: "total" }],
25
+ };
26
+ };
27
+ sdk.attachPostgres("orders", pgClient2);
28
+ // SDK should have 3 databases attached
29
+ expect(true).toBe(true); // Test passes if no errors thrown
30
+ });
31
+ it("uses default database when none specified", async () => {
32
+ const sdk = new QueryPanelSdkAPI("http://api", "test-token");
33
+ const chClient = async (params) => {
34
+ return {
35
+ json: async () => [{ count: 42 }],
36
+ };
37
+ };
38
+ // First attached database becomes default
39
+ sdk.attachClickhouse("analytics", chClient);
40
+ // This should work without specifying database
41
+ // (would call ask in real scenario, but we're just testing the setup)
42
+ expect(true).toBe(true);
43
+ });
44
+ it("supports legacy attachClickhouseClient method", () => {
45
+ const sdk = new QueryPanelSdkAPI("http://api", "test-token");
46
+ const chClient = async (params) => {
47
+ return {
48
+ json: async () => [{ data: "legacy" }],
49
+ };
50
+ };
51
+ // Legacy method should still work
52
+ sdk.attachClickhouseClient(chClient);
53
+ expect(true).toBe(true);
54
+ });
55
+ it("throws error when no database is attached", async () => {
56
+ const sdk = new QueryPanelSdkAPI("http://api", "test-token");
57
+ // Attempting to use SDK without attaching database should fail
58
+ // (In real usage, this would be caught when calling ask/getChart/etc)
59
+ expect(true).toBe(true);
60
+ });
61
+ it("throws error when requesting non-existent database", () => {
62
+ const sdk = new QueryPanelSdkAPI("http://api", "test-token");
63
+ const chClient = async (params) => {
64
+ return {
65
+ json: async () => [{ data: "test" }],
66
+ };
67
+ };
68
+ sdk.attachClickhouse("analytics", chClient);
69
+ // Requesting 'users' database when only 'analytics' exists should fail
70
+ // (Would be tested in actual ask() call with database: 'users')
71
+ expect(true).toBe(true);
72
+ });
73
+ });
74
+ //# sourceMappingURL=multidb.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multidb.spec.js","sourceRoot":"","sources":["../../src/multidb.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ export type DatabaseKind = "clickhouse" | "postgres" | string;
2
+ export interface DatabaseIdentifier {
3
+ kind: DatabaseKind;
4
+ name: string;
5
+ schema?: string;
6
+ version?: string;
7
+ }
8
+ export interface ColumnStatistics {
9
+ compressedBytes?: number;
10
+ uncompressedBytes?: number;
11
+ distinctValues?: number;
12
+ }
13
+ export interface ColumnSchema {
14
+ name: string;
15
+ type: string;
16
+ rawType?: string;
17
+ nullable: boolean;
18
+ defaultKind?: string;
19
+ defaultExpression?: string;
20
+ comment?: string;
21
+ isPrimaryKey: boolean;
22
+ isForeignKey: boolean;
23
+ foreignKeyTable?: string;
24
+ foreignKeyColumn?: string;
25
+ maxLength?: number;
26
+ precision?: number;
27
+ scale?: number;
28
+ codec?: string;
29
+ ttlExpression?: string;
30
+ statistics?: ColumnStatistics;
31
+ }
32
+ export interface IndexSchema {
33
+ name: string;
34
+ columns: string[];
35
+ unique: boolean;
36
+ type: string;
37
+ definition?: string;
38
+ }
39
+ export interface ConstraintSchema {
40
+ name: string;
41
+ type: "PRIMARY KEY" | "FOREIGN KEY" | "UNIQUE" | "CHECK" | string;
42
+ columns: string[];
43
+ referencedTable?: string;
44
+ referencedColumns?: string[];
45
+ definition?: string;
46
+ }
47
+ export interface TableStatistics {
48
+ totalRows?: number;
49
+ totalBytes?: number;
50
+ uncompressedBytes?: number;
51
+ }
52
+ export interface TableSchema {
53
+ name: string;
54
+ schema: string;
55
+ type: "table" | "view" | string;
56
+ engine?: string;
57
+ comment?: string;
58
+ statistics?: TableStatistics;
59
+ columns: ColumnSchema[];
60
+ indexes: IndexSchema[];
61
+ constraints: ConstraintSchema[];
62
+ }
63
+ export interface SchemaIntrospection {
64
+ db: DatabaseIdentifier;
65
+ tables: TableSchema[];
66
+ introspectedAt: string;
67
+ metadata?: Record<string, unknown>;
68
+ }
69
+ export interface IntrospectOptions {
70
+ /** Optional allow-list of table names to introspect (schema-qualified or bare). */
71
+ tables?: string[];
72
+ }
73
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/schema/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAClE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,kBAAkB,CAAC;IACvB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/schema/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tenant-isolation.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-isolation.spec.d.ts","sourceRoot":"","sources":["../../src/tenant-isolation.spec.ts"],"names":[],"mappings":""}