@lightdash/warehouses 2.471.0 → 2.473.0
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/.tsbuildinfo.build +1 -1
- package/dist/warehouseClientFromCredentials.d.ts +3 -1
- package/dist/warehouseClientFromCredentials.d.ts.map +1 -1
- package/dist/warehouseClientFromCredentials.js +6 -6
- package/dist/warehouseClients/AthenaWarehouseClient.d.ts +1 -0
- package/dist/warehouseClients/AthenaWarehouseClient.d.ts.map +1 -1
- package/dist/warehouseClients/AthenaWarehouseClient.js +1 -1
- package/dist/warehouseClients/BigqueryWarehouseClient.d.ts +4 -2
- package/dist/warehouseClients/BigqueryWarehouseClient.d.ts.map +1 -1
- package/dist/warehouseClients/BigqueryWarehouseClient.js +3 -3
- package/dist/warehouseClients/ClickhouseWarehouseClient.d.ts +1 -0
- package/dist/warehouseClients/ClickhouseWarehouseClient.d.ts.map +1 -1
- package/dist/warehouseClients/ClickhouseWarehouseClient.js +1 -1
- package/dist/warehouseClients/DatabricksWarehouseClient.d.ts +3 -1
- package/dist/warehouseClients/DatabricksWarehouseClient.d.ts.map +1 -1
- package/dist/warehouseClients/DatabricksWarehouseClient.js +2 -2
- package/dist/warehouseClients/DuckdbWarehouseClient.d.ts +1 -0
- package/dist/warehouseClients/DuckdbWarehouseClient.d.ts.map +1 -1
- package/dist/warehouseClients/DuckdbWarehouseClient.js +1 -1
- package/dist/warehouseClients/PostgresWarehouseClient.d.ts +7 -2
- package/dist/warehouseClients/PostgresWarehouseClient.d.ts.map +1 -1
- package/dist/warehouseClients/PostgresWarehouseClient.js +16 -5
- package/dist/warehouseClients/RedshiftWarehouseClient.d.ts +4 -1
- package/dist/warehouseClients/RedshiftWarehouseClient.d.ts.map +1 -1
- package/dist/warehouseClients/RedshiftWarehouseClient.js +8 -2
- package/dist/warehouseClients/SnowflakeWarehouseClient.d.ts +22 -1
- package/dist/warehouseClients/SnowflakeWarehouseClient.d.ts.map +1 -1
- package/dist/warehouseClients/SnowflakeWarehouseClient.js +122 -8
- package/dist/warehouseClients/TrinoWarehouseClient.d.ts +3 -1
- package/dist/warehouseClients/TrinoWarehouseClient.d.ts.map +1 -1
- package/dist/warehouseClients/TrinoWarehouseClient.js +10 -4
- package/dist/warehouseClients/WarehouseBaseClient.d.ts +4 -1
- package/dist/warehouseClients/WarehouseBaseClient.d.ts.map +1 -1
- package/dist/warehouseClients/WarehouseBaseClient.js +2 -1
- package/package.json +2 -2
|
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.SnowflakeWarehouseClient = exports.SnowflakeSqlBuilder = exports.mapFieldType = exports.getSnowflakeNumericKind = exports.SnowflakeDiagnosticError = exports.mapSnowflakeDiagnosticError = exports.snowflakeIdentifier = exports.getSnowflakeTimestampDomain = exports.SnowflakeTypes = void 0;
|
|
39
|
+
exports.SnowflakeWarehouseClient = exports.SnowflakeSqlBuilder = exports.mapFieldType = exports.getSnowflakeNumericKind = exports.SnowflakeDiagnosticError = exports.mapSnowflakeDiagnosticError = exports.snowflakeIdentifier = exports.checkSnowflakeAgentSessionWithToken = exports.checkSnowflakeAgentSession = exports.isSnowflakeAgentActivatedValue = exports.SNOWFLAKE_AGENT_SESSION_REQUIRED_MESSAGE = exports.getSnowflakeTimestampDomain = exports.SnowflakeTypes = void 0;
|
|
40
40
|
const common_1 = require("@lightdash/common");
|
|
41
41
|
const crypto = __importStar(require("crypto"));
|
|
42
42
|
const snowflake_sdk_1 = require("snowflake-sdk");
|
|
@@ -108,6 +108,94 @@ const getSnowflakeTimestampDomain = (type) => {
|
|
|
108
108
|
}
|
|
109
109
|
};
|
|
110
110
|
exports.getSnowflakeTimestampDomain = getSnowflakeTimestampDomain;
|
|
111
|
+
exports.SNOWFLAKE_AGENT_SESSION_REQUIRED_MESSAGE = 'This Snowflake sign-in is not an agent session. Ask your Snowflake admin to set IS_AGENTIC = TRUE on the security integration used for AI.';
|
|
112
|
+
const isSnowflakeAgentActivatedValue = (value) => value === true ||
|
|
113
|
+
(typeof value === 'string' && value.toUpperCase() === 'TRUE');
|
|
114
|
+
exports.isSnowflakeAgentActivatedValue = isSnowflakeAgentActivatedValue;
|
|
115
|
+
const inactiveAgentSession = () => ({
|
|
116
|
+
agentActivated: false,
|
|
117
|
+
currentRole: null,
|
|
118
|
+
activeRestrictedSessionScopes: null,
|
|
119
|
+
});
|
|
120
|
+
const disableSnowflakeCachedResult = async (connection) => new Promise((resolve, reject) => {
|
|
121
|
+
connection.execute({
|
|
122
|
+
sqlText: 'ALTER SESSION SET USE_CACHED_RESULT = FALSE',
|
|
123
|
+
complete: (error) => {
|
|
124
|
+
if (error)
|
|
125
|
+
reject(error);
|
|
126
|
+
else
|
|
127
|
+
resolve();
|
|
128
|
+
},
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
const checkSnowflakeAgentSession = async (connection, options = {}) => {
|
|
132
|
+
try {
|
|
133
|
+
const rows = await new Promise((resolve, reject) => {
|
|
134
|
+
connection.execute({
|
|
135
|
+
sqlText: "SELECT SYS_CONTEXT('SNOWFLAKE$CURRENT', 'IS_AGENT_ACTIVATED')::BOOLEAN AS IS_AGENT_ACTIVATED, CURRENT_ROLE() AS CURRENT_ROLE, SYS_CONTEXT('SNOWFLAKE$SESSION', 'ACTIVE_RESTRICTED_SESSION_SCOPES') AS ACTIVE_RESTRICTED_SESSION_SCOPES",
|
|
136
|
+
complete: (error, _statement, data) => {
|
|
137
|
+
if (error) {
|
|
138
|
+
reject(error);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
resolve(data ?? []);
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
const row = rows[0];
|
|
147
|
+
if (typeof row !== 'object' || row === null)
|
|
148
|
+
return inactiveAgentSession();
|
|
149
|
+
const getValue = (key) => Object.entries(row).find(([name]) => name.toUpperCase() === key)?.[1];
|
|
150
|
+
const currentRole = getValue('CURRENT_ROLE');
|
|
151
|
+
const activeRestrictedSessionScopes = getValue('ACTIVE_RESTRICTED_SESSION_SCOPES');
|
|
152
|
+
return {
|
|
153
|
+
agentActivated: (0, exports.isSnowflakeAgentActivatedValue)(getValue('IS_AGENT_ACTIVATED')),
|
|
154
|
+
currentRole: typeof currentRole === 'string' ? currentRole : null,
|
|
155
|
+
activeRestrictedSessionScopes: typeof activeRestrictedSessionScopes === 'string'
|
|
156
|
+
? activeRestrictedSessionScopes
|
|
157
|
+
: null,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
if (options.throwOnError)
|
|
162
|
+
throw error;
|
|
163
|
+
return inactiveAgentSession();
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
exports.checkSnowflakeAgentSession = checkSnowflakeAgentSession;
|
|
167
|
+
const checkSnowflakeAgentSessionWithToken = async (account, token, options = {}) => {
|
|
168
|
+
let connection = null;
|
|
169
|
+
try {
|
|
170
|
+
connection = (0, snowflake_sdk_1.createConnection)({
|
|
171
|
+
account,
|
|
172
|
+
authenticator: 'OAUTH',
|
|
173
|
+
token,
|
|
174
|
+
...(options.accessUrl?.length
|
|
175
|
+
? { accessUrl: options.accessUrl }
|
|
176
|
+
: {}),
|
|
177
|
+
});
|
|
178
|
+
await Util.promisify(connection.connect.bind(connection))();
|
|
179
|
+
const session = await (0, exports.checkSnowflakeAgentSession)(connection, options);
|
|
180
|
+
if (!session.agentActivated)
|
|
181
|
+
return session;
|
|
182
|
+
await disableSnowflakeCachedResult(connection);
|
|
183
|
+
return session;
|
|
184
|
+
}
|
|
185
|
+
catch (error) {
|
|
186
|
+
if (options.throwOnError)
|
|
187
|
+
throw error;
|
|
188
|
+
return inactiveAgentSession();
|
|
189
|
+
}
|
|
190
|
+
finally {
|
|
191
|
+
if (connection) {
|
|
192
|
+
await new Promise((resolve) => {
|
|
193
|
+
connection?.destroy(() => resolve());
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
exports.checkSnowflakeAgentSessionWithToken = checkSnowflakeAgentSessionWithToken;
|
|
111
199
|
const EXTERNAL_BROWSER_AUTHENTICATOR = 'EXTERNALBROWSER';
|
|
112
200
|
const OAUTH_AUTHORIZATION_CODE_AUTHENTICATOR = 'OAUTH_AUTHORIZATION_CODE';
|
|
113
201
|
const SESSION_DISCOVERY_LIMIT = 100;
|
|
@@ -493,8 +581,9 @@ class SnowflakeWarehouseClient extends WarehouseBaseClient_1.default {
|
|
|
493
581
|
.join('')
|
|
494
582
|
.replace(/'/g, "''");
|
|
495
583
|
}
|
|
496
|
-
constructor(credentials) {
|
|
497
|
-
super(credentials, new SnowflakeSqlBuilder(credentials.startOfWeek));
|
|
584
|
+
constructor(credentials, options) {
|
|
585
|
+
super(credentials, new SnowflakeSqlBuilder(credentials.startOfWeek), options);
|
|
586
|
+
this.logger = options?.logger;
|
|
498
587
|
if (typeof credentials.quotedIdentifiersIgnoreCase !== 'undefined') {
|
|
499
588
|
this.quotedIdentifiersIgnoreCase =
|
|
500
589
|
credentials.quotedIdentifiersIgnoreCase;
|
|
@@ -588,10 +677,34 @@ class SnowflakeWarehouseClient extends WarehouseBaseClient_1.default {
|
|
|
588
677
|
console.info(`Initialized snowflake warehouse client with "requireUserCredentials" authentication type "${credentials.authenticationType}" and connection options: ${JSON.stringify(logConnectionOptions)}`);
|
|
589
678
|
}
|
|
590
679
|
async getConnection(connectionOptionsOverrides) {
|
|
591
|
-
|
|
592
|
-
|
|
680
|
+
const connection = this.isInteractiveAuthenticator()
|
|
681
|
+
? await this.createInteractiveConnection(connectionOptionsOverrides)
|
|
682
|
+
: await this.createConnection(connectionOptionsOverrides);
|
|
683
|
+
if (this.credentials.requireAgentSession) {
|
|
684
|
+
const session = await (0, exports.checkSnowflakeAgentSession)(connection);
|
|
685
|
+
if (!session.agentActivated) {
|
|
686
|
+
await this.destroyRejectedAgentConnection(connection);
|
|
687
|
+
throw new common_1.ForbiddenError(exports.SNOWFLAKE_AGENT_SESSION_REQUIRED_MESSAGE);
|
|
688
|
+
}
|
|
689
|
+
this.logger?.info('Snowflake agent session activated', {
|
|
690
|
+
currentRole: session.currentRole,
|
|
691
|
+
activeRestrictedSessionScopes: session.activeRestrictedSessionScopes,
|
|
692
|
+
});
|
|
693
|
+
try {
|
|
694
|
+
await disableSnowflakeCachedResult(connection);
|
|
695
|
+
}
|
|
696
|
+
catch {
|
|
697
|
+
await this.destroyRejectedAgentConnection(connection);
|
|
698
|
+
throw new common_1.ForbiddenError(exports.SNOWFLAKE_AGENT_SESSION_REQUIRED_MESSAGE);
|
|
699
|
+
}
|
|
593
700
|
}
|
|
594
|
-
return
|
|
701
|
+
return connection;
|
|
702
|
+
}
|
|
703
|
+
async destroyRejectedAgentConnection(connection) {
|
|
704
|
+
this.interactiveConnectionPromise = undefined;
|
|
705
|
+
await new Promise((resolve) => {
|
|
706
|
+
connection.destroy(() => resolve());
|
|
707
|
+
});
|
|
595
708
|
}
|
|
596
709
|
isInteractiveAuthenticator() {
|
|
597
710
|
return (this.connectionOptions.authenticator ===
|
|
@@ -667,11 +780,12 @@ class SnowflakeWarehouseClient extends WarehouseBaseClient_1.default {
|
|
|
667
780
|
}
|
|
668
781
|
async openDiagnosticConnection() {
|
|
669
782
|
try {
|
|
670
|
-
const connection =
|
|
671
|
-
await Util.promisify(connection.connect.bind(connection))();
|
|
783
|
+
const connection = await this.getConnection();
|
|
672
784
|
return { connection };
|
|
673
785
|
}
|
|
674
786
|
catch (error) {
|
|
787
|
+
if (error instanceof common_1.ForbiddenError)
|
|
788
|
+
throw error;
|
|
675
789
|
throw new SnowflakeDiagnosticError(error);
|
|
676
790
|
}
|
|
677
791
|
}
|
|
@@ -52,7 +52,9 @@ export declare class TrinoSqlBuilder extends WarehouseBaseSqlBuilder {
|
|
|
52
52
|
}
|
|
53
53
|
export declare class TrinoWarehouseClient extends WarehouseBaseClient<CreateTrinoCredentials> {
|
|
54
54
|
connectionOptions: ConnectionOptions;
|
|
55
|
-
constructor(credentials: CreateTrinoCredentials
|
|
55
|
+
constructor(credentials: CreateTrinoCredentials, options?: {
|
|
56
|
+
agentSession?: boolean;
|
|
57
|
+
});
|
|
56
58
|
private getSession;
|
|
57
59
|
streamQuery(sql: string, streamCallback: (data: WarehouseResults) => void | Promise<void>, options: {
|
|
58
60
|
tags?: Record<string, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrinoWarehouseClient.d.ts","sourceRoot":"","sources":["../../src/warehouseClients/TrinoWarehouseClient.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"TrinoWarehouseClient.d.ts","sourceRoot":"","sources":["../../src/warehouseClients/TrinoWarehouseClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -227,8 +227,8 @@ class TrinoSqlBuilder extends WarehouseBaseSqlBuilder_1.default {
|
|
|
227
227
|
}
|
|
228
228
|
exports.TrinoSqlBuilder = TrinoSqlBuilder;
|
|
229
229
|
class TrinoWarehouseClient extends WarehouseBaseClient_1.default {
|
|
230
|
-
constructor(credentials) {
|
|
231
|
-
super(credentials, new TrinoSqlBuilder(credentials.startOfWeek));
|
|
230
|
+
constructor(credentials, options) {
|
|
231
|
+
super(credentials, new TrinoSqlBuilder(credentials.startOfWeek), options);
|
|
232
232
|
this.connectionOptions = {
|
|
233
233
|
auth: new trino_client_1.BasicAuth(credentials.user, credentials.password),
|
|
234
234
|
catalog: credentials.dbname,
|
|
@@ -276,13 +276,19 @@ class TrinoWarehouseClient extends WarehouseBaseClient_1.default {
|
|
|
276
276
|
}
|
|
277
277
|
} while (!timezoneResult.done);
|
|
278
278
|
}
|
|
279
|
-
query = await session.query(options?.tags
|
|
279
|
+
query = await session.query(options?.tags || this.agentSession
|
|
280
280
|
? {
|
|
281
281
|
query: alteredQuery,
|
|
282
282
|
extraHeaders: {
|
|
283
|
-
[TRINO_CLIENT_TAGS_HEADER]: Object.entries(options.tags)
|
|
283
|
+
[TRINO_CLIENT_TAGS_HEADER]: Object.entries(options.tags ?? {})
|
|
284
284
|
.map(([key, value]) => `${sanitizeClientTag(key)}=${sanitizeClientTag(value)}`)
|
|
285
285
|
.join(','),
|
|
286
|
+
...(this.agentSession
|
|
287
|
+
? {
|
|
288
|
+
'X-Trino-Extra-Credential': 'agent=true',
|
|
289
|
+
'User-Agent': common_1.AI_AGENT_APPLICATION_NAME,
|
|
290
|
+
}
|
|
291
|
+
: {}),
|
|
286
292
|
},
|
|
287
293
|
}
|
|
288
294
|
: alteredQuery);
|
|
@@ -3,7 +3,10 @@ import { type WarehouseClient } from '../types';
|
|
|
3
3
|
export default abstract class WarehouseBaseClient<T extends CreateWarehouseCredentials> implements WarehouseClient {
|
|
4
4
|
credentials: T;
|
|
5
5
|
protected sqlBuilder: WarehouseSqlBuilder;
|
|
6
|
-
protected
|
|
6
|
+
protected readonly agentSession: boolean;
|
|
7
|
+
protected constructor(credentials: T, sqlBuilder: WarehouseSqlBuilder, options?: {
|
|
8
|
+
agentSession?: boolean;
|
|
9
|
+
});
|
|
7
10
|
getAdapterType(): SupportedDbtAdapter;
|
|
8
11
|
supportsCteMaterialization(): boolean;
|
|
9
12
|
getStringQuoteChar(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WarehouseBaseClient.d.ts","sourceRoot":"","sources":["../../src/warehouseClients/WarehouseBaseClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,OAAO,EACP,0BAA0B,EAC1B,aAAa,EACb,MAAM,EAEN,mBAAmB,EACnB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EAExB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,OAAO,EACP,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,8BAA8B,EAEnC,KAAK,mBAAmB,EAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,mBAAmB,CAC7C,CAAC,SAAS,0BAA0B,CACtC,YAAW,eAAe;IACxB,WAAW,EAAE,CAAC,CAAC;IAEf,SAAS,CAAC,UAAU,EAAE,mBAAmB,CAAC;IAE1C,SAAS,
|
|
1
|
+
{"version":3,"file":"WarehouseBaseClient.d.ts","sourceRoot":"","sources":["../../src/warehouseClients/WarehouseBaseClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,OAAO,EACP,0BAA0B,EAC1B,aAAa,EACb,MAAM,EAEN,mBAAmB,EACnB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EAExB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,OAAO,EACP,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,8BAA8B,EAEnC,KAAK,mBAAmB,EAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,mBAAmB,CAC7C,CAAC,SAAS,0BAA0B,CACtC,YAAW,eAAe;IACxB,WAAW,EAAE,CAAC,CAAC;IAEf,SAAS,CAAC,UAAU,EAAE,mBAAmB,CAAC;IAE1C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAEzC,SAAS,aACL,WAAW,EAAE,CAAC,EACd,UAAU,EAAE,mBAAmB,EAC/B,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,EAKvC;IAED,cAAc,IAAI,mBAAmB,CAEpC;IAED,0BAA0B,IAAI,OAAO,CAEpC;IAED,kBAAkB,IAAI,MAAM,CAE3B;IAED,wBAAwB,IAAI,MAAM,CAEjC;IAED,iBAAiB,IAAI,MAAM,CAE1B;IAED,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CAElD;IAED,eAAe,IAAI,MAAM,CAExB;IAED,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD;IAED,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;IAED,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1D;IAED,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAErC;IAED,QAAQ,CAAC,UAAU,CACf,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,GAC9D,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B,QAAQ,CAAC,WAAW,CAChB,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAChE,OAAO,EAAE;QACL,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,CACZ,KAAK,EAAE,mBAAmB,EAC1B,UAAU,EAAE,MAAM,KACjB,IAAI,CAAC;KACb,GACF,OAAO,CAAC,IAAI,CAAC,CAAC;IAEX,iBAAiB,CACnB,EACI,GAAG,EACH,MAAM,EACN,WAAW,EACX,IAAI,EACJ,QAAQ,GACX,EAAE,8BAA8B,EACjC,qBAAqB,CAAC,EAAE,CACpB,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAC9B,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,KACjC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC1B,OAAO,CAAC,0BAA0B,CAAC,CA+BrC;IAEK,QAAQ,CACV,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,OAAO,EAAE,EAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;OAoBxC;IAED,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEhD;IAED,cAAc,IAAI,OAAO,GAAG,IAAI,GAAG,SAAS,CAE3C;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1B;IAGK,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAEjD;IAED,YAAY,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAEtC;IAED,QAAQ,CAAC,YAAY,CACjB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5B,QAAQ,CAAC,SAAS,CACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEvB,aAAa,CACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,wBAAwB,CAAC,CAInC;IAEK,oBAAoB,CACtB,SAAS,EAAE,uBAAuB,EAClC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,eAAe,CAAC,CAI1B;IAED,qBAAqB,CACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC/B,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,EAC7C,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,eAAe,GAAG,SAAS,GACnE,gBAAgB,CAiClB;IAED,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAE9B;IAED,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElC;IAED,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAElC;IAED,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE7B;IAED,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEvC;IAED,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAE5D;IAED,uBAAuB,CACnB,iBAAiB,EAAE,MAAM,EACzB,eAAe,EAAE,MAAM,GACxB,MAAM,CAKR;IAED,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErC;CACJ"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const common_1 = require("@lightdash/common");
|
|
4
4
|
class WarehouseBaseClient {
|
|
5
|
-
constructor(credentials, sqlBuilder) {
|
|
5
|
+
constructor(credentials, sqlBuilder, options) {
|
|
6
|
+
this.agentSession = options?.agentSession ?? false;
|
|
6
7
|
this.credentials = credentials;
|
|
7
8
|
this.sqlBuilder = sqlBuilder;
|
|
8
9
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lightdash/warehouses",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.473.0",
|
|
4
4
|
"description": "Warehouse connectors for Lightdash",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"@databricks/sql": "1.13.0",
|
|
22
22
|
"@duckdb/node-api": "1.5.2-r.2",
|
|
23
23
|
"@google-cloud/bigquery": "8.3.1",
|
|
24
|
-
"@lightdash/common": "2.
|
|
24
|
+
"@lightdash/common": "2.473.0",
|
|
25
25
|
"node-fetch": "2.7.0",
|
|
26
26
|
"pg": "8.13.1",
|
|
27
27
|
"pg-cursor": "2.10.0",
|