@lightdash/cli 2.562.0 → 2.564.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/agentConnectionConnectOption.d.ts +8 -0
- package/dist/agentConnectionConnectOption.d.ts.map +1 -0
- package/dist/agentConnectionConnectOption.js +39 -0
- package/dist/agentConnectionOption.d.ts +3 -0
- package/dist/agentConnectionOption.d.ts.map +1 -0
- package/dist/agentConnectionOption.js +48 -0
- package/dist/agentConnections/agentTokenProvider.d.ts +13 -0
- package/dist/agentConnections/agentTokenProvider.d.ts.map +1 -0
- package/dist/agentConnections/agentTokenProvider.js +294 -0
- package/dist/agentConnections/apiUrl.d.ts +4 -0
- package/dist/agentConnections/apiUrl.d.ts.map +1 -0
- package/dist/agentConnections/apiUrl.js +37 -0
- package/dist/agentConnections/commandPolicy.d.ts +14 -0
- package/dist/agentConnections/commandPolicy.d.ts.map +1 -0
- package/dist/agentConnections/commandPolicy.js +108 -0
- package/dist/agentConnections/configLock.d.ts +12 -0
- package/dist/agentConnections/configLock.d.ts.map +1 -0
- package/dist/agentConnections/configLock.js +191 -0
- package/dist/agentConnections/connectInputs.d.ts +20 -0
- package/dist/agentConnections/connectInputs.d.ts.map +1 -0
- package/dist/agentConnections/connectInputs.js +49 -0
- package/dist/agentConnections/fixtures.d.ts +3 -0
- package/dist/agentConnections/fixtures.d.ts.map +1 -0
- package/dist/agentConnections/fixtures.js +36 -0
- package/dist/agentConnections/initialToken.d.ts +26 -0
- package/dist/agentConnections/initialToken.d.ts.map +1 -0
- package/dist/agentConnections/initialToken.js +93 -0
- package/dist/agentConnections/lifecycle.d.ts +17 -0
- package/dist/agentConnections/lifecycle.d.ts.map +1 -0
- package/dist/agentConnections/lifecycle.js +44 -0
- package/dist/agentConnections/personalRecovery.d.ts +27 -0
- package/dist/agentConnections/personalRecovery.d.ts.map +1 -0
- package/dist/agentConnections/personalRecovery.js +71 -0
- package/dist/agentConnections/projectSelection.d.ts +4 -0
- package/dist/agentConnections/projectSelection.d.ts.map +1 -0
- package/dist/agentConnections/projectSelection.js +48 -0
- package/dist/agentConnections/providerProcess.fixture.d.ts +2 -0
- package/dist/agentConnections/providerProcess.fixture.d.ts.map +1 -0
- package/dist/agentConnections/providerProcess.fixture.js +19 -0
- package/dist/agentConnections/requestPolicy.d.ts +11 -0
- package/dist/agentConnections/requestPolicy.d.ts.map +1 -0
- package/dist/agentConnections/requestPolicy.js +76 -0
- package/dist/agentConnections/schema.d.ts +66 -0
- package/dist/agentConnections/schema.d.ts.map +1 -0
- package/dist/agentConnections/schema.js +184 -0
- package/dist/agentConnections/statusResponse.d.ts +10 -0
- package/dist/agentConnections/statusResponse.d.ts.map +1 -0
- package/dist/agentConnections/statusResponse.js +146 -0
- package/dist/agentConnections/store.d.ts +36 -0
- package/dist/agentConnections/store.d.ts.map +1 -0
- package/dist/agentConnections/store.js +275 -0
- package/dist/agentConnections/warehouseStatus.d.ts +30 -0
- package/dist/agentConnections/warehouseStatus.d.ts.map +1 -0
- package/dist/agentConnections/warehouseStatus.js +184 -0
- package/dist/analytics/analytics.d.ts.map +1 -1
- package/dist/analytics/analytics.js +4 -0
- package/dist/config.d.ts +3 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -2
- package/dist/credentials.d.ts +27 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/credentials.js +161 -0
- package/dist/dbt/models.d.ts.map +1 -1
- package/dist/dbt/models.js +45 -14
- package/dist/handlers/agentAccess.d.ts.map +1 -1
- package/dist/handlers/agentAccess.js +9 -1
- package/dist/handlers/agentConnect.d.ts.map +1 -1
- package/dist/handlers/agentConnect.js +2 -0
- package/dist/handlers/agentConnectionConnect.d.ts +5 -0
- package/dist/handlers/agentConnectionConnect.d.ts.map +1 -0
- package/dist/handlers/agentConnectionConnect.js +371 -0
- package/dist/handlers/agentConnectionStatus.d.ts +7 -0
- package/dist/handlers/agentConnectionStatus.d.ts.map +1 -0
- package/dist/handlers/agentConnectionStatus.js +228 -0
- package/dist/handlers/agentRevoke.d.ts +7 -0
- package/dist/handlers/agentRevoke.d.ts.map +1 -0
- package/dist/handlers/agentRevoke.js +144 -0
- package/dist/handlers/agentStatus.d.ts +4 -1
- package/dist/handlers/agentStatus.d.ts.map +1 -1
- package/dist/handlers/agentStatus.js +7 -0
- package/dist/handlers/apps/createApp.d.ts.map +1 -1
- package/dist/handlers/apps/createApp.js +2 -0
- package/dist/handlers/apps/preview.d.ts.map +1 -1
- package/dist/handlers/apps/preview.js +6 -0
- package/dist/handlers/apps/previewProxy.d.ts.map +1 -1
- package/dist/handlers/apps/previewProxy.js +2 -0
- package/dist/handlers/apps/validate.d.ts.map +1 -1
- package/dist/handlers/apps/validate.js +20 -8
- package/dist/handlers/compile.d.ts.map +1 -1
- package/dist/handlers/compile.js +3 -0
- package/dist/handlers/connectSnowflake.d.ts.map +1 -1
- package/dist/handlers/connectSnowflake.js +2 -0
- package/dist/handlers/createProject.d.ts.map +1 -1
- package/dist/handlers/createProject.js +2 -0
- package/dist/handlers/dbt/apiClient.d.ts +4 -2
- package/dist/handlers/dbt/apiClient.d.ts.map +1 -1
- package/dist/handlers/dbt/apiClient.js +138 -4
- package/dist/handlers/dbt/compile.d.ts.map +1 -1
- package/dist/handlers/dbt/compile.js +13 -2
- package/dist/handlers/dbt/getDbtProfileTargetName.d.ts.map +1 -1
- package/dist/handlers/dbt/getDbtProfileTargetName.js +12 -4
- package/dist/handlers/dbt/getDbtVersion.d.ts.map +1 -1
- package/dist/handlers/dbt/getDbtVersion.js +12 -4
- package/dist/handlers/dbt/getWarehouseClient.d.ts.map +1 -1
- package/dist/handlers/dbt/getWarehouseClient.js +15 -5
- package/dist/handlers/dbt/refresh.d.ts.map +1 -1
- package/dist/handlers/dbt/refresh.js +2 -0
- package/dist/handlers/dbt/run.d.ts.map +1 -1
- package/dist/handlers/dbt/run.js +10 -3
- package/dist/handlers/deploy.d.ts.map +1 -1
- package/dist/handlers/deploy.js +17 -1
- package/dist/handlers/diagnostics.d.ts.map +1 -1
- package/dist/handlers/diagnostics.js +2 -0
- package/dist/handlers/download.d.ts.map +1 -1
- package/dist/handlers/download.js +19 -5
- package/dist/handlers/exportChartImage.d.ts.map +1 -1
- package/dist/handlers/exportChartImage.js +2 -0
- package/dist/handlers/generateExposures.d.ts.map +1 -1
- package/dist/handlers/generateExposures.js +4 -1
- package/dist/handlers/getProject.d.ts.map +1 -1
- package/dist/handlers/getProject.js +25 -1
- package/dist/handlers/listProjects.d.ts.map +1 -1
- package/dist/handlers/listProjects.js +2 -0
- package/dist/handlers/login/connectionBrowser.d.ts +2 -0
- package/dist/handlers/login/connectionBrowser.d.ts.map +1 -0
- package/dist/handlers/login/connectionBrowser.js +22 -0
- package/dist/handlers/login/loopback.d.ts +15 -0
- package/dist/handlers/login/loopback.d.ts.map +1 -0
- package/dist/handlers/login/loopback.js +135 -0
- package/dist/handlers/login/oauth.d.ts.map +1 -1
- package/dist/handlers/login/oauth.js +16 -3
- package/dist/handlers/login/pat.d.ts.map +1 -1
- package/dist/handlers/login/pat.js +2 -0
- package/dist/handlers/login.d.ts.map +1 -1
- package/dist/handlers/login.js +8 -1
- package/dist/handlers/oauthLogin.d.ts.map +1 -1
- package/dist/handlers/oauthLogin.js +2 -0
- package/dist/handlers/ordinary/harness.mocks.d.ts +42 -0
- package/dist/handlers/ordinary/harness.mocks.d.ts.map +1 -0
- package/dist/handlers/ordinary/harness.mocks.js +180 -0
- package/dist/handlers/preAggregateAudit.d.ts.map +1 -1
- package/dist/handlers/preAggregateAudit.js +2 -0
- package/dist/handlers/preview.d.ts.map +1 -1
- package/dist/handlers/preview.js +4 -0
- package/dist/handlers/renameHandler.d.ts.map +1 -1
- package/dist/handlers/renameHandler.js +2 -0
- package/dist/handlers/renameProject.d.ts.map +1 -1
- package/dist/handlers/renameProject.js +2 -0
- package/dist/handlers/resolveProjectFlag.d.ts.map +1 -1
- package/dist/handlers/resolveProjectFlag.js +5 -0
- package/dist/handlers/runChart.d.ts.map +1 -1
- package/dist/handlers/runChart.js +7 -2
- package/dist/handlers/selectProject.d.ts.map +1 -1
- package/dist/handlers/selectProject.js +5 -0
- package/dist/handlers/setProject.d.ts.map +1 -1
- package/dist/handlers/setProject.js +5 -0
- package/dist/handlers/setWarehouse.d.ts.map +1 -1
- package/dist/handlers/setWarehouse.js +2 -0
- package/dist/handlers/slugUpdate.d.ts.map +1 -1
- package/dist/handlers/slugUpdate.js +2 -0
- package/dist/handlers/sourceSelection.d.ts.map +1 -1
- package/dist/handlers/sourceSelection.js +13 -2
- package/dist/handlers/sql.d.ts.map +1 -1
- package/dist/handlers/sql.js +7 -2
- package/dist/handlers/utils.d.ts +3 -0
- package/dist/handlers/utils.d.ts.map +1 -1
- package/dist/handlers/utils.js +39 -0
- package/dist/handlers/validate.d.ts.map +1 -1
- package/dist/handlers/validate.js +2 -0
- package/dist/handlers/warehouseCatalog.d.ts.map +1 -1
- package/dist/handlers/warehouseCatalog.js +7 -2
- package/dist/index.js +43 -3
- package/dist/lightdash-config/index.d.ts.map +1 -1
- package/dist/lightdash-config/index.js +4 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preAggregateAudit.d.ts","sourceRoot":"","sources":["../../src/handlers/preAggregateAudit.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EACjC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"preAggregateAudit.d.ts","sourceRoot":"","sources":["../../src/handlers/preAggregateAudit.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EACjC,MAAM,mBAAmB,CAAC;AAQ3B,KAAK,YAAY,GAAG,wBAAwB,GAAG,yBAAyB,CAAC;AAEzE,KAAK,YAAY,GAAG;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,YAAY,CAAA;KAAE,EAAE,CAAC;CACvD,CAAC;AAEF,KAAK,aAAa,GAAG;IACjB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AA+BF,iBAAS,gBAAgB,CACrB,IAAI,EAAE,qBAAqB,EAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,GAC9B,MAAM,CAYR;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,0BAA0B,GAAG,aAAa,CAsC5E;AAED,iBAAS,YAAY,CACjB,KAAK,EAAE,0BAA0B,EACjC,OAAO,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC7C,IAAI,CA8DN;AAED,iBAAS,gBAAgB,CACrB,MAAM,EAAE,0BAA0B,EAAE,EACpC,IAAI,EAAE,OAAO,GACd,IAAI,CAIN;AAgCD,eAAO,MAAM,wBAAwB,YACxB,wBAAwB,KAClC,OAAO,CAAC,IAAI,CA8Bd,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;CAKvB,CAAC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.testHelpers = exports.preAggregateAuditHandler = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const common_1 = require("@lightdash/common");
|
|
6
|
+
const commandPolicy_1 = require("../agentConnections/commandPolicy");
|
|
6
7
|
const config_1 = require("../config");
|
|
7
8
|
const globalState_1 = tslib_1.__importDefault(require("../globalState"));
|
|
8
9
|
const styles = tslib_1.__importStar(require("../styles"));
|
|
@@ -152,6 +153,7 @@ async function runAll(args) {
|
|
|
152
153
|
exitIfFailOnMiss(audits, args.failOnMiss);
|
|
153
154
|
}
|
|
154
155
|
const preAggregateAuditHandler = async (options) => {
|
|
156
|
+
(0, commandPolicy_1.assertAgentCommandAllowed)('pre-aggregate-audit');
|
|
155
157
|
globalState_1.default.debug(`pre-aggregate-audit options: ${JSON.stringify(options)}`);
|
|
156
158
|
await (0, apiClient_1.checkLightdashVersion)();
|
|
157
159
|
const projectUuid = await resolveProjectUuid(options.project);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/handlers/preview.ts"],"names":[],"mappings":"AACA,OAAO,EACH,+BAA+B,EAKlC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/handlers/preview.ts"],"names":[],"mappings":"AACA,OAAO,EACH,+BAA+B,EAKlC,MAAM,mBAAmB,CAAC;AAoB3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAalD,KAAK,qBAAqB,GAAG,iBAAiB,GAAG;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,EAAE,+BAA+B,CAAC;IACpD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,wBAAwB,EAAE,OAAO,CAAC;IAClC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAoBF,KAAK,yBAAyB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AA2GF,eAAO,MAAM,cAAc,oBACN,qBAAqB,KACvC,OAAO,CAAC,IAAI,CAoTd,CAAC;AAuDF,eAAO,MAAM,mBAAmB,oBACX,qBAAqB,KACvC,OAAO,CAAC,IAAI,CA4Md,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAClB,yBAAyB,KACnC,OAAO,CAAC,IAAI,CA2Cd,CAAC"}
|
package/dist/handlers/preview.js
CHANGED
|
@@ -12,6 +12,7 @@ const url_1 = require("url");
|
|
|
12
12
|
const uuid_1 = require("uuid");
|
|
13
13
|
const analytics_1 = require("../analytics/analytics");
|
|
14
14
|
const config_1 = require("../config");
|
|
15
|
+
const credentials_1 = require("../credentials");
|
|
15
16
|
const context_1 = require("../dbt/context");
|
|
16
17
|
const globalState_1 = tslib_1.__importDefault(require("../globalState"));
|
|
17
18
|
const projectType_1 = require("../lightdash/projectType");
|
|
@@ -104,6 +105,7 @@ const getPreviewProject = async (name) => {
|
|
|
104
105
|
return projects.find((project) => project.type === common_1.ProjectType.PREVIEW && project.name === name);
|
|
105
106
|
};
|
|
106
107
|
const previewHandler = async (originalOptions) => {
|
|
108
|
+
(0, credentials_1.refuseAgentConnection)();
|
|
107
109
|
const options = { ...originalOptions };
|
|
108
110
|
globalState_1.default.setVerbose(options.verbose);
|
|
109
111
|
const executionId = (0, uuid_1.v4)();
|
|
@@ -355,6 +357,7 @@ const refreshPreviewWarehouseCredentials = async (projectUuid, options) => {
|
|
|
355
357
|
}
|
|
356
358
|
};
|
|
357
359
|
const startPreviewHandler = async (originalOptions) => {
|
|
360
|
+
(0, credentials_1.refuseAgentConnection)();
|
|
358
361
|
const options = { ...originalOptions };
|
|
359
362
|
globalState_1.default.setVerbose(options.verbose);
|
|
360
363
|
await (0, apiClient_1.checkLightdashVersion)();
|
|
@@ -499,6 +502,7 @@ const startPreviewHandler = async (originalOptions) => {
|
|
|
499
502
|
};
|
|
500
503
|
exports.startPreviewHandler = startPreviewHandler;
|
|
501
504
|
const stopPreviewHandler = async (options) => {
|
|
505
|
+
(0, credentials_1.refuseAgentConnection)();
|
|
502
506
|
globalState_1.default.setVerbose(options.verbose);
|
|
503
507
|
await (0, apiClient_1.checkLightdashVersion)();
|
|
504
508
|
const executionId = (0, uuid_1.v4)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renameHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/renameHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,UAAU,EAEb,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"renameHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/renameHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,UAAU,EAEb,MAAM,mBAAmB,CAAC;AAoB3B,KAAK,oBAAoB,GAAG;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACrB,CAAC;AAwCF,eAAO,MAAM,aAAa,YAAmB,oBAAoB,kBAyNhE,CAAC"}
|
|
@@ -9,6 +9,7 @@ const path_1 = tslib_1.__importDefault(require("path"));
|
|
|
9
9
|
const uuid_1 = require("uuid");
|
|
10
10
|
const analytics_1 = require("../analytics/analytics");
|
|
11
11
|
const config_1 = require("../config");
|
|
12
|
+
const credentials_1 = require("../credentials");
|
|
12
13
|
const globalState_1 = tslib_1.__importDefault(require("../globalState"));
|
|
13
14
|
const styles = tslib_1.__importStar(require("../styles"));
|
|
14
15
|
const apiClient_1 = require("./dbt/apiClient");
|
|
@@ -37,6 +38,7 @@ const listResources = (resources, type, list) => {
|
|
|
37
38
|
}
|
|
38
39
|
};
|
|
39
40
|
const renameHandler = async (options) => {
|
|
41
|
+
(0, credentials_1.refuseAgentConnection)();
|
|
40
42
|
globalState_1.default.setVerbose(options.verbose);
|
|
41
43
|
await (0, apiClient_1.checkLightdashVersion)();
|
|
42
44
|
const executionId = (0, uuid_1.v4)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renameProject.d.ts","sourceRoot":"","sources":["../../src/handlers/renameProject.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renameProject.d.ts","sourceRoot":"","sources":["../../src/handlers/renameProject.ts"],"names":[],"mappings":"AAOA,KAAK,oBAAoB,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AA2BF,eAAO,MAAM,oBAAoB,YAAmB,oBAAoB,kBAqBvE,CAAC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.renameProjectHandler = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const common_1 = require("@lightdash/common");
|
|
6
|
+
const commandPolicy_1 = require("../agentConnections/commandPolicy");
|
|
6
7
|
const analytics_1 = require("../analytics/analytics");
|
|
7
8
|
const config_1 = require("../config");
|
|
8
9
|
const globalState_1 = tslib_1.__importDefault(require("../globalState"));
|
|
@@ -26,6 +27,7 @@ const renameProjectCommand = async (name) => {
|
|
|
26
27
|
console.error(`\n ✅️ Renamed project to: ${project.name}\n`);
|
|
27
28
|
};
|
|
28
29
|
const renameProjectHandler = async (options) => {
|
|
30
|
+
(0, commandPolicy_1.assertAgentCommandAllowed)('config rename-project');
|
|
29
31
|
const startTime = Date.now();
|
|
30
32
|
let success = true;
|
|
31
33
|
globalState_1.default.setVerbose(options.verbose);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveProjectFlag.d.ts","sourceRoot":"","sources":["../../src/handlers/resolveProjectFlag.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveProjectFlag.d.ts","sourceRoot":"","sources":["../../src/handlers/resolveProjectFlag.ts"],"names":[],"mappings":"AAYA;;;GAGG;AACH,eAAO,MAAM,kBAAkB,UAAiB,MAAM,KAAG,OAAO,CAAC,MAAM,CAuCtE,CAAC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.resolveProjectFlag = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const common_1 = require("@lightdash/common");
|
|
6
|
+
const credentials_1 = require("../credentials");
|
|
6
7
|
const globalState_1 = tslib_1.__importDefault(require("../globalState"));
|
|
7
8
|
const styles = tslib_1.__importStar(require("../styles"));
|
|
8
9
|
const apiClient_1 = require("./dbt/apiClient");
|
|
@@ -16,6 +17,10 @@ const resolveProjectFlag = async (value) => {
|
|
|
16
17
|
if (isUuid(value)) {
|
|
17
18
|
return value;
|
|
18
19
|
}
|
|
20
|
+
if ((0, credentials_1.getAgentConnectionSelection)() !== null) {
|
|
21
|
+
const { resolveAgentConnectionProject } = await Promise.resolve().then(() => tslib_1.__importStar(require('../agentConnections/projectSelection')));
|
|
22
|
+
return resolveAgentConnectionProject(value);
|
|
23
|
+
}
|
|
19
24
|
const projects = await (0, apiClient_1.lightdashApi)({
|
|
20
25
|
method: 'GET',
|
|
21
26
|
url: `/api/v1/org/projects`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runChart.d.ts","sourceRoot":"","sources":["../../src/handlers/runChart.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runChart.d.ts","sourceRoot":"","sources":["../../src/handlers/runChart.ts"],"names":[],"mappings":"AAcA,KAAK,eAAe,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAIF,eAAO,MAAM,eAAe,YACf,eAAe,KACzB,OAAO,CAAC,IAAI,CA8Hd,CAAC"}
|
|
@@ -6,6 +6,7 @@ const common_1 = require("@lightdash/common");
|
|
|
6
6
|
const fs_1 = require("fs");
|
|
7
7
|
const yaml = tslib_1.__importStar(require("js-yaml"));
|
|
8
8
|
const config_1 = require("../config");
|
|
9
|
+
const credentials_1 = require("../credentials");
|
|
9
10
|
const globalState_1 = tslib_1.__importDefault(require("../globalState"));
|
|
10
11
|
const styles = tslib_1.__importStar(require("../styles"));
|
|
11
12
|
const asyncQuery_1 = require("./asyncQuery");
|
|
@@ -38,8 +39,12 @@ const runChartHandler = async (options) => {
|
|
|
38
39
|
}
|
|
39
40
|
const chartAsCode = chart;
|
|
40
41
|
// Get project UUID
|
|
41
|
-
const config = await (0,
|
|
42
|
-
|
|
42
|
+
const config = await ((0, credentials_1.getAgentConnectionSelection)() === null
|
|
43
|
+
? (0, config_1.getConfig)()
|
|
44
|
+
: (0, config_1.getConfig)({ readOnly: true }));
|
|
45
|
+
const projectUuid = (0, credentials_1.getAgentConnectionSelection)() === null
|
|
46
|
+
? config.context?.project
|
|
47
|
+
: await (await Promise.resolve().then(() => tslib_1.__importStar(require('../agentConnections/projectSelection')))).resolveAgentConnectionProject();
|
|
43
48
|
if (!projectUuid) {
|
|
44
49
|
throw new Error(`No project selected. Run 'lightdash config set-project' first.`);
|
|
45
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectProject.d.ts","sourceRoot":"","sources":["../../src/handlers/selectProject.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAuB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"selectProject.d.ts","sourceRoot":"","sources":["../../src/handlers/selectProject.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAuB,MAAM,WAAW,CAAC;AAOxD,MAAM,MAAM,gBAAgB,GAAG;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACtB,CAAC;AAsDF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,WACvB,MAAM,mBACG,MAAM,GAAG,SAAS,KACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAgB5B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,WACd,MAAM,oBACI,MAAM,KACzB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAmFtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,cAChB,gBAAgB,UACnB,MAAM,UACN,MAAM,KACf,IAsBF,CAAC"}
|
|
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const common_1 = require("@lightdash/common");
|
|
6
6
|
const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
|
|
7
7
|
const config_1 = require("../config");
|
|
8
|
+
const credentials_1 = require("../credentials");
|
|
8
9
|
const globalState_1 = tslib_1.__importDefault(require("../globalState"));
|
|
9
10
|
const styles = tslib_1.__importStar(require("../styles"));
|
|
10
11
|
const apiClient_1 = require("./dbt/apiClient");
|
|
@@ -49,6 +50,10 @@ const warnIgnoredPreview = async (config, projectUuid) => {
|
|
|
49
50
|
* Returns undefined when neither is set.
|
|
50
51
|
*/
|
|
51
52
|
const resolveProjectOverride = async (config, explicitProject) => {
|
|
53
|
+
if ((0, credentials_1.getAgentConnectionSelection)() !== null) {
|
|
54
|
+
const { resolveAgentConnectionProject } = await Promise.resolve().then(() => tslib_1.__importStar(require('../agentConnections/projectSelection')));
|
|
55
|
+
return resolveAgentConnectionProject(explicitProject);
|
|
56
|
+
}
|
|
52
57
|
if (explicitProject) {
|
|
53
58
|
return (0, resolveProjectFlag_1.resolveProjectFlag)(explicitProject);
|
|
54
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setProject.d.ts","sourceRoot":"","sources":["../../src/handlers/setProject.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setProject.d.ts","sourceRoot":"","sources":["../../src/handlers/setProject.ts"],"names":[],"mappings":"AASA,KAAK,iBAAiB,GAAG;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,iBAAiB,UACnB,MAAM,eACA,MAAM,KACpB,OAAO,CAAC,UAAU,GAAG,SAAS,GAAG,OAAO,CAkF1C,CAAC;AAEF,eAAO,MAAM,eAAe,qBAoB3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,YAAmB,iBAAiB,kBAuBjE,CAAC;AAOF,eAAO,MAAM,mBAAmB,YAAmB;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,kBAoBtE,CAAC"}
|
|
@@ -4,12 +4,14 @@ exports.unsetProjectHandler = exports.setProjectHandler = exports.setFirstProjec
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const common_1 = require("@lightdash/common");
|
|
6
6
|
const url_1 = require("url");
|
|
7
|
+
const commandPolicy_1 = require("../agentConnections/commandPolicy");
|
|
7
8
|
const analytics_1 = require("../analytics/analytics");
|
|
8
9
|
const config_1 = require("../config");
|
|
9
10
|
const globalState_1 = tslib_1.__importDefault(require("../globalState"));
|
|
10
11
|
const fuzzySearchPrompt_1 = require("../prompts/fuzzySearchPrompt");
|
|
11
12
|
const apiClient_1 = require("./dbt/apiClient");
|
|
12
13
|
const setProjectCommand = async (name, uuidOrSlug) => {
|
|
14
|
+
(0, commandPolicy_1.assertAgentCommandAllowed)('config set-project');
|
|
13
15
|
const projects = await (0, apiClient_1.lightdashApi)({
|
|
14
16
|
method: 'GET',
|
|
15
17
|
url: `/api/v1/org/projects`,
|
|
@@ -71,6 +73,7 @@ const setProjectCommand = async (name, uuidOrSlug) => {
|
|
|
71
73
|
};
|
|
72
74
|
exports.setProjectCommand = setProjectCommand;
|
|
73
75
|
const setFirstProject = async () => {
|
|
76
|
+
(0, commandPolicy_1.assertAgentCommandAllowed)('config set-project');
|
|
74
77
|
const projects = await (0, apiClient_1.lightdashApi)({
|
|
75
78
|
method: 'GET',
|
|
76
79
|
url: `/api/v1/org/projects`,
|
|
@@ -85,6 +88,7 @@ const setFirstProject = async () => {
|
|
|
85
88
|
};
|
|
86
89
|
exports.setFirstProject = setFirstProject;
|
|
87
90
|
const setProjectHandler = async (options) => {
|
|
91
|
+
(0, commandPolicy_1.assertAgentCommandAllowed)('config set-project');
|
|
88
92
|
const startTime = Date.now();
|
|
89
93
|
let success = true;
|
|
90
94
|
globalState_1.default.setVerbose(options.verbose);
|
|
@@ -115,6 +119,7 @@ const unsetProjectCommand = async () => {
|
|
|
115
119
|
console.error(`\n Project unset.\n`);
|
|
116
120
|
};
|
|
117
121
|
const unsetProjectHandler = async (options) => {
|
|
122
|
+
(0, commandPolicy_1.assertAgentCommandAllowed)('config unset-project');
|
|
118
123
|
const startTime = Date.now();
|
|
119
124
|
let success = true;
|
|
120
125
|
globalState_1.default.setVerbose(options.verbose);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setWarehouse.d.ts","sourceRoot":"","sources":["../../src/handlers/setWarehouse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setWarehouse.d.ts","sourceRoot":"","sources":["../../src/handlers/setWarehouse.ts"],"names":[],"mappings":"AAYA,KAAK,0BAA0B,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAeF,eAAO,MAAM,mBAAmB,YACnB,0BAA0B,kBA2EtC,CAAC"}
|
|
@@ -4,6 +4,7 @@ exports.setWarehouseHandler = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const common_1 = require("@lightdash/common");
|
|
6
6
|
const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
|
|
7
|
+
const commandPolicy_1 = require("../agentConnections/commandPolicy");
|
|
7
8
|
const config_1 = require("../config");
|
|
8
9
|
const globalState_1 = tslib_1.__importDefault(require("../globalState"));
|
|
9
10
|
const styles = tslib_1.__importStar(require("../styles"));
|
|
@@ -23,6 +24,7 @@ const resolveProjectUuid = async (projectOption) => {
|
|
|
23
24
|
return config.context.project;
|
|
24
25
|
};
|
|
25
26
|
const setWarehouseHandler = async (options) => {
|
|
27
|
+
(0, commandPolicy_1.assertAgentCommandAllowed)('set-warehouse');
|
|
26
28
|
globalState_1.default.setVerbose(options.verbose);
|
|
27
29
|
await (0, apiClient_1.checkLightdashVersion)();
|
|
28
30
|
const projectUuid = await resolveProjectUuid(options.project);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slugUpdate.d.ts","sourceRoot":"","sources":["../../src/handlers/slugUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,WAAW,EAIX,KAAK,wBAAwB,EAChC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"slugUpdate.d.ts","sourceRoot":"","sources":["../../src/handlers/slugUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,WAAW,EAIX,KAAK,wBAAwB,EAChC,MAAM,mBAAmB,CAAC;AAa3B,KAAK,iBAAiB,GAAG;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACvB,WAAW,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,QAAQ,EACF;QACI,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC;QACxD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,GACD,SAAS,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAIF,MAAM,MAAM,yBAAyB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAwDF,eAAO,MAAM,mBAAmB,eAChB,MAAM,GAAG,SAAS,QACxB,MAAM,MACR,MAAM,iBACI,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,SAAS,KACxD,OAAO,CAAC,mBAAmB,CAyM7B,CAAC;AAEF,eAAO,MAAM,6BAA6B,SAChC,mBAAmB,cACb,MAAM,GAAG,SAAS,KAC/B,yBAAyB,EAuB3B,CAAC;AAuDF,eAAO,MAAM,oBAAoB,SACvB,mBAAmB,KAC1B,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAuD7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,gBACb,MAAM,WACV,wBAAwB,KAClC,OAAO,CAAC,IAAI,CAmBd,CAAC;AAEF,eAAO,MAAM,iBAAiB,gBACb,MAAM,cACP,MAAM,GAAG,SAAS,QACxB,MAAM,MACR,MAAM,iBACI,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,SAAS,KACxD,OAAO,CAAC,mBAAmB,CAuB7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,YACjB,iBAAiB,KAC3B,OAAO,CAAC,IAAI,CAyDd,CAAC"}
|
|
@@ -7,6 +7,7 @@ const fs_1 = require("fs");
|
|
|
7
7
|
const path = tslib_1.__importStar(require("path"));
|
|
8
8
|
const yaml_1 = require("yaml");
|
|
9
9
|
const config_1 = require("../config");
|
|
10
|
+
const credentials_1 = require("../credentials");
|
|
10
11
|
const globalState_1 = tslib_1.__importDefault(require("../globalState"));
|
|
11
12
|
const styles = tslib_1.__importStar(require("../styles"));
|
|
12
13
|
const contentAsCodePaths_1 = require("./contentAsCodePaths");
|
|
@@ -323,6 +324,7 @@ const executeSlugUpdate = async (projectUuid, customPath, from, to, resourceType
|
|
|
323
324
|
};
|
|
324
325
|
exports.executeSlugUpdate = executeSlugUpdate;
|
|
325
326
|
const slugUpdateHandler = async (options) => {
|
|
327
|
+
(0, credentials_1.refuseAgentConnection)();
|
|
326
328
|
globalState_1.default.setVerbose(options.verbose);
|
|
327
329
|
await (0, apiClient_1.checkLightdashVersion)();
|
|
328
330
|
const config = await (0, config_1.getConfig)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sourceSelection.d.ts","sourceRoot":"","sources":["../../src/handlers/sourceSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,KAAK,uBAAuB,EAC/B,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"sourceSelection.d.ts","sourceRoot":"","sources":["../../src/handlers/sourceSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,KAAK,uBAAuB,EAC/B,MAAM,mBAAmB,CAAC;AAU3B,eAAO,MAAM,mBAAmB,YACnB,uBAAuB,EAAE,QAC5B,MAAM,KACb,uBAQF,CAAC;AAWF,eAAO,MAAM,wBAAwB,gBACpB,MAAM,kBACH,MAAM,GAAG,SAAS,0BACX,MAAM,KAC9B,OAAO,CAAC,MAAM,GAAG,SAAS,CAgB5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,SACnB,MAAM,WACH;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,kBAkBhC,CAAC"}
|
|
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.setSourceHandler = exports.resolveProjectSourceUuid = exports.selectProjectSource = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const common_1 = require("@lightdash/common");
|
|
6
|
+
const commandPolicy_1 = require("../agentConnections/commandPolicy");
|
|
6
7
|
const config_1 = require("../config");
|
|
8
|
+
const credentials_1 = require("../credentials");
|
|
7
9
|
const globalState_1 = tslib_1.__importDefault(require("../globalState"));
|
|
8
10
|
const apiClient_1 = require("./dbt/apiClient");
|
|
9
11
|
const formatSourceNames = (sources) => sources.map(({ name }) => ` - ${name}`).join('\n');
|
|
@@ -21,7 +23,13 @@ const getProjectSources = async (projectUuid) => (0, apiClient_1.lightdashApi)({
|
|
|
21
23
|
body: undefined,
|
|
22
24
|
});
|
|
23
25
|
const resolveProjectSourceUuid = async (projectUuid, sourceOverride, configuredProjectUuid = projectUuid) => {
|
|
24
|
-
|
|
26
|
+
if ((0, credentials_1.getAgentConnectionSelection)() !== null) {
|
|
27
|
+
(0, commandPolicy_1.assertAgentCommandAllowed)('deploy', { source: sourceOverride });
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
const config = await ((0, credentials_1.getAgentConnectionSelection)() === null
|
|
31
|
+
? (0, config_1.getConfig)()
|
|
32
|
+
: (0, config_1.getConfig)({ readOnly: true }));
|
|
25
33
|
const name = sourceOverride ??
|
|
26
34
|
(config.context?.project === configuredProjectUuid
|
|
27
35
|
? config.context.source
|
|
@@ -33,8 +41,11 @@ const resolveProjectSourceUuid = async (projectUuid, sourceOverride, configuredP
|
|
|
33
41
|
};
|
|
34
42
|
exports.resolveProjectSourceUuid = resolveProjectSourceUuid;
|
|
35
43
|
const setSourceHandler = async (name, options) => {
|
|
44
|
+
(0, commandPolicy_1.assertAgentCommandAllowed)('config set-source');
|
|
36
45
|
globalState_1.default.setVerbose(options.verbose);
|
|
37
|
-
const config = await (0,
|
|
46
|
+
const config = await ((0, credentials_1.getAgentConnectionSelection)() === null
|
|
47
|
+
? (0, config_1.getConfig)()
|
|
48
|
+
: (0, config_1.getConfig)({ readOnly: true }));
|
|
38
49
|
if (!config.context?.project) {
|
|
39
50
|
throw new common_1.AuthorizationError(`No project selected. Run 'lightdash config set-project' first.`);
|
|
40
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/handlers/sql.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/handlers/sql.ts"],"names":[],"mappings":"AAeA,KAAK,iBAAiB,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAKF,eAAO,MAAM,UAAU,QACd,MAAM,WACF,iBAAiB,KAC3B,OAAO,CAAC,IAAI,CA4Gd,CAAC"}
|
package/dist/handlers/sql.js
CHANGED
|
@@ -7,6 +7,7 @@ const fs_1 = require("fs");
|
|
|
7
7
|
const uuid_1 = require("uuid");
|
|
8
8
|
const analytics_1 = require("../analytics/analytics");
|
|
9
9
|
const config_1 = require("../config");
|
|
10
|
+
const credentials_1 = require("../credentials");
|
|
10
11
|
const globalState_1 = tslib_1.__importDefault(require("../globalState"));
|
|
11
12
|
const styles = tslib_1.__importStar(require("../styles"));
|
|
12
13
|
const asyncQuery_1 = require("./asyncQuery");
|
|
@@ -17,8 +18,12 @@ const sqlHandler = async (sql, options) => {
|
|
|
17
18
|
globalState_1.default.setVerbose(options.verbose ?? false);
|
|
18
19
|
const executionId = (0, uuid_1.v4)();
|
|
19
20
|
const startTime = Date.now();
|
|
20
|
-
const config = await (0,
|
|
21
|
-
|
|
21
|
+
const config = await ((0, credentials_1.getAgentConnectionSelection)() === null
|
|
22
|
+
? (0, config_1.getConfig)()
|
|
23
|
+
: (0, config_1.getConfig)({ readOnly: true }));
|
|
24
|
+
const projectUuid = (0, credentials_1.getAgentConnectionSelection)() === null
|
|
25
|
+
? config.context?.project
|
|
26
|
+
: await (await Promise.resolve().then(() => tslib_1.__importStar(require('../agentConnections/projectSelection')))).resolveAgentConnectionProject();
|
|
22
27
|
if (!projectUuid) {
|
|
23
28
|
throw new Error(`No project selected. Run 'lightdash config set-project' first.`);
|
|
24
29
|
}
|
package/dist/handlers/utils.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { LightdashCliVersionHeader, LightdashRequestMethodHeader, RequestMethod } from '@lightdash/common';
|
|
2
|
+
import { type Credential } from '../credentials';
|
|
2
3
|
type RequestHeader = {
|
|
3
4
|
'Content-Type': 'application/json';
|
|
4
5
|
'Content-Encoding'?: string;
|
|
@@ -7,6 +8,7 @@ type RequestHeader = {
|
|
|
7
8
|
[LightdashRequestMethodHeader]: RequestMethod;
|
|
8
9
|
[LightdashCliVersionHeader]: string;
|
|
9
10
|
};
|
|
11
|
+
export declare function getCredentialAuthHeader(credential: Credential): string;
|
|
10
12
|
/**
|
|
11
13
|
* We initially used personal access tokens (PATs) for CLI authentication without any prefix.
|
|
12
14
|
* Service account tokens are launching with a prefix, so we'll check them first.
|
|
@@ -16,5 +18,6 @@ type RequestHeader = {
|
|
|
16
18
|
*/
|
|
17
19
|
export declare function getAuthHeader(token: string): string;
|
|
18
20
|
export declare function buildRequestHeaders(token: string): RequestHeader;
|
|
21
|
+
export declare function buildCredentialHeaders(credential: Credential, proxyAuthorization: string | null): RequestHeader;
|
|
19
22
|
export {};
|
|
20
23
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/handlers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/handlers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,yBAAyB,EACzB,4BAA4B,EAC5B,aAAa,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGH,KAAK,UAAU,EAClB,MAAM,gBAAgB,CAAC;AAQxB,KAAK,aAAa,GAAG;IACjB,cAAc,EAAE,kBAAkB,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,CAAC,4BAA4B,CAAC,EAAE,aAAa,CAAC;IAC9C,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACvC,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAWtE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,UAM1C;AAqBD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,iBAiBhD;AAED,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAClC,aAAa,CAOf"}
|
package/dist/handlers/utils.js
CHANGED
|
@@ -1,14 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCredentialAuthHeader = getCredentialAuthHeader;
|
|
3
4
|
exports.getAuthHeader = getAuthHeader;
|
|
4
5
|
exports.buildRequestHeaders = buildRequestHeaders;
|
|
6
|
+
exports.buildCredentialHeaders = buildCredentialHeaders;
|
|
5
7
|
const common_1 = require("@lightdash/common");
|
|
8
|
+
const credentials_1 = require("../credentials");
|
|
6
9
|
const env_1 = require("../env");
|
|
7
10
|
var TokenType;
|
|
8
11
|
(function (TokenType) {
|
|
9
12
|
TokenType["ApiKey"] = "ApiKey";
|
|
10
13
|
TokenType["Bearer"] = "Bearer";
|
|
11
14
|
})(TokenType || (TokenType = {}));
|
|
15
|
+
function getCredentialAuthHeader(credential) {
|
|
16
|
+
(0, credentials_1.requireInvocationContext)();
|
|
17
|
+
switch (credential.kind) {
|
|
18
|
+
case 'human_api_key':
|
|
19
|
+
return `${TokenType.ApiKey} ${credential.token}`;
|
|
20
|
+
case 'service_account':
|
|
21
|
+
case 'agent_connection':
|
|
22
|
+
return `${TokenType.Bearer} ${credential.token}`;
|
|
23
|
+
default:
|
|
24
|
+
return (0, common_1.assertUnreachable)(credential, 'Unknown credential kind');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
12
27
|
/**
|
|
13
28
|
* We initially used personal access tokens (PATs) for CLI authentication without any prefix.
|
|
14
29
|
* Service account tokens are launching with a prefix, so we'll check them first.
|
|
@@ -17,11 +32,27 @@ var TokenType;
|
|
|
17
32
|
* See {@link AuthTokenPrefix} for the available token prefixes
|
|
18
33
|
*/
|
|
19
34
|
function getAuthHeader(token) {
|
|
35
|
+
(0, credentials_1.refuseAgentConnection)();
|
|
20
36
|
const authType = token?.startsWith(common_1.AuthTokenPrefix.SERVICE_ACCOUNT)
|
|
21
37
|
? TokenType.Bearer
|
|
22
38
|
: TokenType.ApiKey;
|
|
23
39
|
return `${authType} ${token}`;
|
|
24
40
|
}
|
|
41
|
+
function buildHeaders(authorization) {
|
|
42
|
+
const headers = {
|
|
43
|
+
'Content-Type': 'application/json',
|
|
44
|
+
Authorization: authorization,
|
|
45
|
+
[common_1.LightdashRequestMethodHeader]: process.env.CI === 'true'
|
|
46
|
+
? common_1.RequestMethod.CLI_CI
|
|
47
|
+
: common_1.RequestMethod.CLI,
|
|
48
|
+
[common_1.LightdashCliVersionHeader]: env_1.CLI_VERSION,
|
|
49
|
+
};
|
|
50
|
+
if (process.env.LIGHTDASH_PROXY_AUTHORIZATION) {
|
|
51
|
+
headers['Proxy-Authorization'] =
|
|
52
|
+
process.env.LIGHTDASH_PROXY_AUTHORIZATION;
|
|
53
|
+
}
|
|
54
|
+
return headers;
|
|
55
|
+
}
|
|
25
56
|
function buildRequestHeaders(token) {
|
|
26
57
|
const headers = {
|
|
27
58
|
'Content-Type': 'application/json',
|
|
@@ -37,3 +68,11 @@ function buildRequestHeaders(token) {
|
|
|
37
68
|
}
|
|
38
69
|
return headers;
|
|
39
70
|
}
|
|
71
|
+
function buildCredentialHeaders(credential, proxyAuthorization) {
|
|
72
|
+
const headers = {
|
|
73
|
+
...buildHeaders(getCredentialAuthHeader(credential)),
|
|
74
|
+
};
|
|
75
|
+
if (credential.kind === 'agent_connection' && proxyAuthorization !== null)
|
|
76
|
+
headers['Proxy-Authorization'] = proxyAuthorization;
|
|
77
|
+
return headers;
|
|
78
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/handlers/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,OAAO,EACP,YAAY,EASZ,kBAAkB,EAElB,gBAAgB,EACnB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/handlers/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,OAAO,EACP,YAAY,EASZ,kBAAkB,EAElB,gBAAgB,EACnB,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EAAW,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAU3D,eAAO,MAAM,iBAAiB,gBACb,MAAM,YACT,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,qBACjB,gBAAgB,EAAE;;EAMnC,CAAC;AAEP,eAAO,MAAM,WAAW,YAAmB,MAAM;;;EAK3C,CAAC;AAEP,eAAO,MAAM,aAAa,gBAAuB,MAAM,SAAS,MAAM,8DAKhE,CAAC;AAmCP,eAAO,MAAM,qBAAqB,YAAI,OAAO,EAAE,SAAS,CAAU,CAAC;AACnE,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,eAAO,MAAM,6CAA6C,2FACkC,CAAC;AAE7F,KAAK,sBAAsB,GAAG,qBAAqB,GAAG;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,wBAAwB,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,IAAI,CACT,sBAAsB,EACtB,UAAU,GAAG,gCAAgC,CAChD,GACF,kBAAkB,CAKpB;AAED,KAAK,wBAAwB,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,KAAK,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,iBAAiB,iDAI3B,wBAAwB,KAAG,OAAO,CAAC,MAAM,CAY3C,CAAC;AAEF,eAAO,MAAM,eAAe,oBACP,sBAAsB,kBAqW1C,CAAC"}
|
|
@@ -6,6 +6,7 @@ const tslib_1 = require("tslib");
|
|
|
6
6
|
const common_1 = require("@lightdash/common");
|
|
7
7
|
const columnify_1 = tslib_1.__importDefault(require("columnify"));
|
|
8
8
|
const uuid_1 = require("uuid");
|
|
9
|
+
const commandPolicy_1 = require("../agentConnections/commandPolicy");
|
|
9
10
|
const analytics_1 = require("../analytics/analytics");
|
|
10
11
|
const config_1 = require("../config");
|
|
11
12
|
const globalState_1 = tslib_1.__importDefault(require("../globalState"));
|
|
@@ -78,6 +79,7 @@ const waitUntilFinished = async ({ jobUuid, refetchIntervalMs, createError, }) =
|
|
|
78
79
|
};
|
|
79
80
|
exports.waitUntilFinished = waitUntilFinished;
|
|
80
81
|
const validateHandler = async (originalOptions) => {
|
|
82
|
+
(0, commandPolicy_1.assertAgentCommandAllowed)('validate');
|
|
81
83
|
const options = { ...originalOptions };
|
|
82
84
|
globalState_1.default.setVerbose(options.verbose);
|
|
83
85
|
if (options.showChartConfigurationWarnings) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warehouseCatalog.d.ts","sourceRoot":"","sources":["../../src/handlers/warehouseCatalog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"warehouseCatalog.d.ts","sourceRoot":"","sources":["../../src/handlers/warehouseCatalog.ts"],"names":[],"mappings":"AAaA,KAAK,uBAAuB,GAAG;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AA6HF,eAAO,MAAM,uBAAuB,YACvB,uBAAuB,KACjC,OAAO,CAAC,IAAI,CA2Dd,CAAC"}
|
|
@@ -4,6 +4,7 @@ exports.warehouseCatalogHandler = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const columnify_1 = tslib_1.__importDefault(require("columnify"));
|
|
6
6
|
const config_1 = require("../config");
|
|
7
|
+
const credentials_1 = require("../credentials");
|
|
7
8
|
const globalState_1 = tslib_1.__importDefault(require("../globalState"));
|
|
8
9
|
const styles = tslib_1.__importStar(require("../styles"));
|
|
9
10
|
const apiClient_1 = require("./dbt/apiClient");
|
|
@@ -64,8 +65,12 @@ const renderHumanOutput = ({ tables }) => {
|
|
|
64
65
|
const warehouseCatalogHandler = async (options) => {
|
|
65
66
|
globalState_1.default.setVerbose(options.verbose);
|
|
66
67
|
validateFieldLookup(options);
|
|
67
|
-
const config = await (0,
|
|
68
|
-
|
|
68
|
+
const config = await ((0, credentials_1.getAgentConnectionSelection)() === null
|
|
69
|
+
? (0, config_1.getConfig)()
|
|
70
|
+
: (0, config_1.getConfig)({ readOnly: true }));
|
|
71
|
+
const projectUuid = (0, credentials_1.getAgentConnectionSelection)() === null
|
|
72
|
+
? config.context?.project
|
|
73
|
+
: await (await Promise.resolve().then(() => tslib_1.__importStar(require('../agentConnections/projectSelection')))).resolveAgentConnectionProject();
|
|
69
74
|
if (!projectUuid) {
|
|
70
75
|
throw new Error("No project selected. Run 'lightdash config set-project' first.");
|
|
71
76
|
}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const common_1 = require("@lightdash/common");
|
|
6
6
|
const commander_1 = require("commander");
|
|
7
|
+
const agentConnectionConnectOption_1 = require("./agentConnectionConnectOption");
|
|
8
|
+
const agentConnectionOption_1 = require("./agentConnectionOption");
|
|
9
|
+
const credentials_1 = require("./credentials");
|
|
7
10
|
const env_1 = require("./env");
|
|
8
11
|
const error_1 = require("./error");
|
|
9
12
|
const globalState_1 = tslib_1.__importDefault(require("./globalState"));
|
|
@@ -90,6 +93,12 @@ function parseProjectArgument(value) {
|
|
|
90
93
|
}
|
|
91
94
|
return value;
|
|
92
95
|
}
|
|
96
|
+
let agentConnectionJson = false;
|
|
97
|
+
let agentConnectionConnectInvocation = false;
|
|
98
|
+
(0, agentConnectionOption_1.registerAgentConnectionOption)(commander_1.program, () => {
|
|
99
|
+
agentConnectionJson = false;
|
|
100
|
+
agentConnectionConnectInvocation = false;
|
|
101
|
+
});
|
|
93
102
|
commander_1.program
|
|
94
103
|
.version((0, installSkills_1.getVersionWithSkills)())
|
|
95
104
|
.name(styles.title('⚡️lightdash'))
|
|
@@ -157,7 +166,21 @@ ${styles.bold('Examples:')}
|
|
|
157
166
|
const agentProgram = commander_1.program
|
|
158
167
|
.command('agent')
|
|
159
168
|
.description('Connect your agent to the warehouse and check its status');
|
|
160
|
-
agentProgram
|
|
169
|
+
agentProgram.hook('preAction', (_root, command) => {
|
|
170
|
+
agentConnectionConnectInvocation =
|
|
171
|
+
command.name() === 'connect' &&
|
|
172
|
+
(command.opts().name !== undefined ||
|
|
173
|
+
command.opts().capabilities !== undefined ||
|
|
174
|
+
command.opts().expiresIn !== undefined ||
|
|
175
|
+
command.opts().connection === true);
|
|
176
|
+
agentConnectionJson =
|
|
177
|
+
command.opts().json === true &&
|
|
178
|
+
(command.name() === 'revoke' ||
|
|
179
|
+
(command.name() === 'status' &&
|
|
180
|
+
(command.opts().name !== undefined ||
|
|
181
|
+
(0, credentials_1.getAgentConnectionSelection)() !== null)));
|
|
182
|
+
});
|
|
183
|
+
const agentConnectProgram = agentProgram
|
|
161
184
|
.command('connect')
|
|
162
185
|
.description('Connects your agent to the warehouse using browser sign-in')
|
|
163
186
|
.option('--project <project uuid or slug>', 'Specify the project', parseProjectArgument)
|
|
@@ -170,8 +193,11 @@ ${styles.bold('Examples:')}
|
|
|
170
193
|
lightdash agent connect --project my-project --oauth-port 4321 --timeout 180
|
|
171
194
|
`)
|
|
172
195
|
.action(agentConnect_1.agentConnectHandler);
|
|
196
|
+
(0, agentConnectionConnectOption_1.registerAgentConnectionConnect)(agentConnectProgram, agentConnect_1.agentConnectHandler);
|
|
173
197
|
agentProgram
|
|
174
198
|
.command('status')
|
|
199
|
+
.addOption(new commander_1.Option('--name <slot>', 'Select an agent connection slot').hideHelp())
|
|
200
|
+
.addOption(new commander_1.Option('--json', 'Output connection status as JSON').hideHelp())
|
|
175
201
|
.description('Shows your agent sign-in status for a project')
|
|
176
202
|
.option('--project <project uuid or slug>', 'Specify the project', parseProjectArgument)
|
|
177
203
|
.option('--verbose', undefined, false)
|
|
@@ -181,6 +207,17 @@ ${styles.bold('Examples:')}
|
|
|
181
207
|
lightdash agent status --project my-project
|
|
182
208
|
`)
|
|
183
209
|
.action(agentStatus_1.agentStatusHandler);
|
|
210
|
+
agentProgram
|
|
211
|
+
.command('revoke', { hidden: true })
|
|
212
|
+
.addOption(new commander_1.Option('--name <slot>', 'Select an agent connection slot')
|
|
213
|
+
.makeOptionMandatory()
|
|
214
|
+
.hideHelp())
|
|
215
|
+
.addOption(new commander_1.Option('--json', 'Output revocation status as JSON').hideHelp())
|
|
216
|
+
.addOption(new commander_1.Option('--human', 'Revoke with a matching personal CLI login').hideHelp())
|
|
217
|
+
.action(async (options) => {
|
|
218
|
+
const { agentRevokeHandler } = await Promise.resolve().then(() => tslib_1.__importStar(require('./handlers/agentRevoke')));
|
|
219
|
+
await agentRevokeHandler(options);
|
|
220
|
+
});
|
|
184
221
|
// CONFIG
|
|
185
222
|
const configProgram = commander_1.program
|
|
186
223
|
.command('config')
|
|
@@ -847,7 +884,9 @@ const errorHandler = (err) => {
|
|
|
847
884
|
}
|
|
848
885
|
console.error(`\n💡 Contact your Lightdash administrator to request project creation access or if you believe this is incorrect.\n`);
|
|
849
886
|
}
|
|
850
|
-
else if (err.name === 'AuthorizationError'
|
|
887
|
+
else if (err.name === 'AuthorizationError' &&
|
|
888
|
+
commander_1.program.opts().agentConnection === undefined &&
|
|
889
|
+
(0, credentials_1.getAgentConnectionSelection)() === null) {
|
|
851
890
|
console.error(`Looks like you did not authenticate or the personal access token expired.${process.env.LIGHTDASH_API_KEY
|
|
852
891
|
? `\n\nLIGHTDASH_API_KEY is set, and it takes precedence over the token saved by \`lightdash login\`. If you expected your saved login to be used, run ${styles.bold('unset LIGHTDASH_API_KEY')}.`
|
|
853
892
|
: ''}\n\n👀 See https://docs.lightdash.com/guides/cli/cli-authentication for help and examples`);
|
|
@@ -877,7 +916,8 @@ const successHandler = () => {
|
|
|
877
916
|
process.argv.includes('--auth')) {
|
|
878
917
|
process.exit(0);
|
|
879
918
|
}
|
|
880
|
-
|
|
919
|
+
if (!agentConnectionJson && !agentConnectionConnectInvocation)
|
|
920
|
+
console.error(`Done 🕶`);
|
|
881
921
|
// Handlers report partial failures (e.g. some uploads failed) via
|
|
882
922
|
// process.exitCode; an unconditional exit(0) would wipe it.
|
|
883
923
|
process.exit(process.exitCode ?? 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lightdash-config/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lightdash-config/index.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,iCAAiC,eAC9B,MAAM,gBACJ,MAAM,gEAwCvB,CAAC"}
|