@querypanel/node-sdk 1.0.13 → 1.0.15
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/cjs/adapters/postgres.d.ts.map +1 -1
- package/dist/cjs/adapters/postgres.js +14 -2
- package/dist/cjs/adapters/postgres.js.map +1 -1
- package/dist/cjs/adapters/postgres.spec.d.ts +2 -0
- package/dist/cjs/adapters/postgres.spec.d.ts.map +1 -0
- package/dist/cjs/adapters/postgres.spec.js +37 -0
- package/dist/cjs/adapters/postgres.spec.js.map +1 -0
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +99 -29
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.test.js +58 -3
- package/dist/cjs/index.test.js.map +1 -1
- package/dist/esm/adapters/postgres.d.ts.map +1 -1
- package/dist/esm/adapters/postgres.js +14 -2
- package/dist/esm/adapters/postgres.js.map +1 -1
- package/dist/esm/adapters/postgres.spec.d.ts +2 -0
- package/dist/esm/adapters/postgres.spec.d.ts.map +1 -0
- package/dist/esm/adapters/postgres.spec.js +35 -0
- package/dist/esm/adapters/postgres.spec.js.map +1 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +99 -29
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.test.js +58 -3
- package/dist/esm/index.test.js.map +1 -1
- package/package.json +1 -1
package/dist/esm/index.test.js
CHANGED
|
@@ -21,8 +21,15 @@ describe("QueryPanelSdkAPI.ask", () => {
|
|
|
21
21
|
sdk = new QueryPanelSdkAPI("http://api", "test-token");
|
|
22
22
|
});
|
|
23
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
|
+
};
|
|
24
31
|
fetchMock
|
|
25
|
-
.mockResolvedValueOnce(mockResponse(200,
|
|
32
|
+
.mockResolvedValueOnce(mockResponse(200, schemaResponse))
|
|
26
33
|
.mockResolvedValueOnce(mockResponse(200, {
|
|
27
34
|
sql: "SELECT 1",
|
|
28
35
|
rationale: "demo rationale",
|
|
@@ -57,7 +64,7 @@ describe("QueryPanelSdkAPI.ask", () => {
|
|
|
57
64
|
expect(result.context).toHaveLength(1);
|
|
58
65
|
expect(result.fields).toEqual(["count"]);
|
|
59
66
|
expect(result.rows).toEqual([{ count: 1 }]);
|
|
60
|
-
expect(validateSql).toHaveBeenCalledWith("SELECT 1");
|
|
67
|
+
expect(validateSql).toHaveBeenCalledWith("SELECT 1", undefined);
|
|
61
68
|
expect(executeSql).toHaveBeenCalledWith("SELECT 1", undefined);
|
|
62
69
|
expect(fetchMock).toHaveBeenCalledWith("http://api/v2/vectorize-schema", expect.objectContaining({
|
|
63
70
|
method: "POST",
|
|
@@ -70,8 +77,15 @@ describe("QueryPanelSdkAPI.ask", () => {
|
|
|
70
77
|
}));
|
|
71
78
|
});
|
|
72
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
|
+
};
|
|
73
87
|
fetchMock
|
|
74
|
-
.mockResolvedValueOnce(mockResponse(200,
|
|
88
|
+
.mockResolvedValueOnce(mockResponse(200, schemaResponse))
|
|
75
89
|
.mockResolvedValueOnce(mockResponse(200, {
|
|
76
90
|
sql: "SELECT fail",
|
|
77
91
|
rationale: "first try",
|
|
@@ -124,5 +138,46 @@ describe("QueryPanelSdkAPI.ask", () => {
|
|
|
124
138
|
]);
|
|
125
139
|
expect(executeSql).toHaveBeenCalledTimes(2);
|
|
126
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
|
+
});
|
|
127
182
|
});
|
|
128
183
|
//# sourceMappingURL=index.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/index.test.ts"],"names":[],"mappings":"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"}
|