@jupiterone/integration-sdk-cli 8.23.1 → 8.24.1
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/src/commands/collect.js +5 -5
- package/dist/src/commands/collect.js.map +1 -1
- package/dist/src/commands/diff.d.ts +1 -1
- package/dist/src/commands/diff.js +1 -0
- package/dist/src/commands/diff.js.map +1 -1
- package/dist/src/commands/generate-integration-graph-schema.js +1 -0
- package/dist/src/commands/generate-integration-graph-schema.js.map +1 -1
- package/dist/src/commands/options.d.ts +50 -0
- package/dist/src/commands/options.js +109 -0
- package/dist/src/commands/options.js.map +1 -0
- package/dist/src/commands/run.d.ts +2 -1
- package/dist/src/commands/run.js +28 -43
- package/dist/src/commands/run.js.map +1 -1
- package/dist/src/commands/sync.d.ts +2 -1
- package/dist/src/commands/sync.js +18 -42
- package/dist/src/commands/sync.js.map +1 -1
- package/dist/src/log.js +1 -0
- package/dist/src/log.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/src/__tests__/cli-run.test.ts +33 -51
- package/src/__tests__/cli-sync.test.ts +18 -62
- package/src/__tests__/options.test.ts +223 -0
- package/src/__tests__/util/synchronization.ts +17 -3
- package/src/commands/collect.ts +7 -13
- package/src/commands/diff.ts +1 -0
- package/src/commands/generate-integration-graph-schema.ts +1 -0
- package/src/commands/options.ts +190 -0
- package/src/commands/run.ts +47 -74
- package/src/commands/sync.ts +38 -70
- package/src/log.ts +1 -0
|
@@ -29,29 +29,29 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
|
29
29
|
const integration_sdk_runtime_1 = require("@jupiterone/integration-sdk-runtime");
|
|
30
30
|
const config_1 = require("../config");
|
|
31
31
|
const log = __importStar(require("../log"));
|
|
32
|
+
const options_1 = require("./options");
|
|
32
33
|
// coercion function to collect multiple values for a flag
|
|
33
34
|
const collector = (value, arr) => {
|
|
34
35
|
arr.push(...value.split(','));
|
|
35
36
|
return arr;
|
|
36
37
|
};
|
|
37
38
|
function collect() {
|
|
38
|
-
|
|
39
|
+
const command = (0, commander_1.createCommand)('collect');
|
|
40
|
+
(0, options_1.addPathOptionsToCommand)(command);
|
|
41
|
+
return command
|
|
39
42
|
.description('collect data and store entities and relationships to disk')
|
|
40
|
-
.option('-p, --project-path <directory>', 'path to integration project directory', process.cwd())
|
|
41
43
|
.option('-s, --step <steps>', 'step(s) to run, comma separated. Utilizes available caches to speed up dependent steps.', collector, [])
|
|
42
44
|
.option('--no-cache', 'Can be used with the `--step` flag to disable the use of the cache.')
|
|
43
45
|
.option('--cache-path <filepath>', 'Can be used with the `--step` to specify a path to a non-default cache location.')
|
|
44
46
|
.option('-V, --disable-schema-validation', 'disable schema validation')
|
|
45
47
|
.action(async (options) => {
|
|
48
|
+
(0, options_1.configureRuntimeFilesystem)(options);
|
|
46
49
|
if (!options.cache && options.step.length === 0) {
|
|
47
50
|
throw new Error('Invalid option: Option --no-cache requires option --step to also be specified.');
|
|
48
51
|
}
|
|
49
52
|
if (options.cachePath && options.step.length === 0) {
|
|
50
53
|
throw new Error('Invalid option: Option --cache-path requires option --step to also be specified.');
|
|
51
54
|
}
|
|
52
|
-
// Point `fileSystem.ts` functions to expected location relative to
|
|
53
|
-
// integration project path.
|
|
54
|
-
process.env.JUPITERONE_INTEGRATION_STORAGE_DIRECTORY = path_1.default.resolve(options.projectPath, '.j1-integration');
|
|
55
55
|
if (options.step.length > 0 && options.cache && !options.cachePath) {
|
|
56
56
|
// Step option was used, cache is wanted, and no cache path was provided
|
|
57
57
|
// therefore, copy .j1-integration into .j1-integration-cache
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collect.js","sourceRoot":"","sources":["../../../src/commands/collect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA0C;AAC1C,gDAAwB;AACxB,wDAA0B;AAE1B,iFAK6C;AAE7C,sCAAuC;AACvC,4CAA8B;
|
|
1
|
+
{"version":3,"file":"collect.js","sourceRoot":"","sources":["../../../src/commands/collect.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,5 +13,5 @@ declare module 'json-diff' {
|
|
|
13
13
|
keysOnly?: boolean;
|
|
14
14
|
}): string;
|
|
15
15
|
}
|
|
16
|
-
export declare function diff(): import("commander").Command;
|
|
16
|
+
export declare function diff(): import("commander").Command & import("commander").OptionValues;
|
|
17
17
|
export declare function findDifferences(oldJsonDataPath: string, newJsonDataPath: string, keysOnly?: boolean): void;
|
|
@@ -47,6 +47,7 @@ function diffEntities(oldVertices, newVertices, keysOnly) {
|
|
|
47
47
|
properties: vertex.properties,
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
|
+
/* eslint-disable no-console */
|
|
50
51
|
console.log('--- ENTITY DIFF ---');
|
|
51
52
|
console.log((0, json_diff_1.diffString)(oldEntities, newEntities, undefined, { keysOnly }));
|
|
52
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/commands/diff.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/commands/diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ const path_1 = __importDefault(require("path"));
|
|
|
28
28
|
const config_1 = require("../config");
|
|
29
29
|
const fs_1 = require("fs");
|
|
30
30
|
const log = __importStar(require("../log"));
|
|
31
|
+
/* eslint-disable no-console */
|
|
31
32
|
function generateIntegrationGraphSchemaCommand() {
|
|
32
33
|
return (0, commander_1.createCommand)('generate-integration-graph-schema')
|
|
33
34
|
.description('generate integration graph metadata summary from step metadata')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-integration-graph-schema.js","sourceRoot":"","sources":["../../../src/commands/generate-integration-graph-schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate-integration-graph-schema.js","sourceRoot":"","sources":["../../../src/commands/generate-integration-graph-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Command, OptionValues } from 'commander';
|
|
2
|
+
export interface PathOptions {
|
|
3
|
+
projectPath: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function addPathOptionsToCommand(command: Command): Command;
|
|
6
|
+
/**
|
|
7
|
+
* Configure the filesystem interaction code to function against `${options.projectPath}/.j1-integration by setting the
|
|
8
|
+
* global `process.env.JUPITERONE_INTEGRATION_STORAGE_DIRECTORY` variable.
|
|
9
|
+
*/
|
|
10
|
+
export declare function configureRuntimeFilesystem(options: PathOptions): void;
|
|
11
|
+
export interface SyncOptions {
|
|
12
|
+
source: 'integration-managed' | 'integration-external' | 'api';
|
|
13
|
+
scope?: string | undefined;
|
|
14
|
+
integrationInstanceId?: string | undefined;
|
|
15
|
+
uploadBatchSize: number;
|
|
16
|
+
uploadRelationshipBatchSize: number;
|
|
17
|
+
skipFinalize: boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare function addSyncOptionsToCommand(command: Command): Command;
|
|
20
|
+
/**
|
|
21
|
+
* Validates options for the synchronization job.
|
|
22
|
+
*
|
|
23
|
+
* @throws {Error} if --source is "api" and --scope is not specified
|
|
24
|
+
* @throws {Error} if --source is "api" and --integrationInstanceId is specified
|
|
25
|
+
* @throws {Error} if one of --integrationInstanceId or --source is not specified
|
|
26
|
+
*/
|
|
27
|
+
export declare function validateSyncOptions(options: SyncOptions): SyncOptions;
|
|
28
|
+
/**
|
|
29
|
+
* Returns an object containing only `SyncOptions` properties. This helps to ensure other properties of `OptionValues` are not passed to the `SynchronizationJob`.
|
|
30
|
+
*/
|
|
31
|
+
export declare function getSyncOptions(options: OptionValues): SyncOptions;
|
|
32
|
+
export interface ApiClientOptions {
|
|
33
|
+
development: boolean;
|
|
34
|
+
apiBaseUrl: string;
|
|
35
|
+
apiKey?: string;
|
|
36
|
+
account?: string;
|
|
37
|
+
}
|
|
38
|
+
export declare function addApiClientOptionsToCommand(command: Command): Command;
|
|
39
|
+
export declare function validateApiClientOptions(options: ApiClientOptions): void;
|
|
40
|
+
/**
|
|
41
|
+
* Builds a set of options for the 'createApiClient' function.
|
|
42
|
+
*
|
|
43
|
+
* @throws IntegrationApiKeyRequiredError
|
|
44
|
+
* @throws IntegrationAccountRequiredError
|
|
45
|
+
*/
|
|
46
|
+
export declare function getApiClientOptions(options: ApiClientOptions): {
|
|
47
|
+
apiBaseUrl: string;
|
|
48
|
+
accessToken: string;
|
|
49
|
+
account: string;
|
|
50
|
+
};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getApiClientOptions = exports.validateApiClientOptions = exports.addApiClientOptionsToCommand = exports.getSyncOptions = exports.validateSyncOptions = exports.addSyncOptionsToCommand = exports.configureRuntimeFilesystem = exports.addPathOptionsToCommand = void 0;
|
|
7
|
+
const integration_sdk_runtime_1 = require("@jupiterone/integration-sdk-runtime");
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
function addPathOptionsToCommand(command) {
|
|
10
|
+
return command.option('-p, --project-path <directory>', 'path to integration project directory', process.cwd());
|
|
11
|
+
}
|
|
12
|
+
exports.addPathOptionsToCommand = addPathOptionsToCommand;
|
|
13
|
+
/**
|
|
14
|
+
* Configure the filesystem interaction code to function against `${options.projectPath}/.j1-integration by setting the
|
|
15
|
+
* global `process.env.JUPITERONE_INTEGRATION_STORAGE_DIRECTORY` variable.
|
|
16
|
+
*/
|
|
17
|
+
function configureRuntimeFilesystem(options) {
|
|
18
|
+
process.env.JUPITERONE_INTEGRATION_STORAGE_DIRECTORY = path_1.default.resolve(options.projectPath, '.j1-integration');
|
|
19
|
+
}
|
|
20
|
+
exports.configureRuntimeFilesystem = configureRuntimeFilesystem;
|
|
21
|
+
function addSyncOptionsToCommand(command) {
|
|
22
|
+
return command
|
|
23
|
+
.option('-i, --integrationInstanceId <id>', '_integrationInstanceId assigned to uploaded entities and relationships')
|
|
24
|
+
.option('--source <integration-managed|integration-external|api>', 'specify synchronization job source value', (value) => {
|
|
25
|
+
if (value !== 'integration-managed' &&
|
|
26
|
+
value !== 'integration-external' &&
|
|
27
|
+
value !== 'api') {
|
|
28
|
+
throw new Error(`--source must be one of "integration-managed", "integration-external", or "api"`);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
return value;
|
|
32
|
+
}
|
|
33
|
+
}, 'integration-managed')
|
|
34
|
+
.option('--scope <anystring>', 'specify synchronization job scope value')
|
|
35
|
+
.option('-u, --upload-batch-size <number>', 'specify number of entities and relationships per upload batch', (value, _previous) => Number(value), integration_sdk_runtime_1.DEFAULT_UPLOAD_BATCH_SIZE)
|
|
36
|
+
.option('-ur, --upload-relationship-batch-size <number>', 'specify number of relationships per upload batch, overrides --upload-batch-size', (value, _previous) => Number(value), integration_sdk_runtime_1.DEFAULT_UPLOAD_BATCH_SIZE)
|
|
37
|
+
.option('--skip-finalize', 'skip synchronization finalization to leave job open for additional uploads', false);
|
|
38
|
+
}
|
|
39
|
+
exports.addSyncOptionsToCommand = addSyncOptionsToCommand;
|
|
40
|
+
/**
|
|
41
|
+
* Validates options for the synchronization job.
|
|
42
|
+
*
|
|
43
|
+
* @throws {Error} if --source is "api" and --scope is not specified
|
|
44
|
+
* @throws {Error} if --source is "api" and --integrationInstanceId is specified
|
|
45
|
+
* @throws {Error} if one of --integrationInstanceId or --source is not specified
|
|
46
|
+
*/
|
|
47
|
+
function validateSyncOptions(options) {
|
|
48
|
+
if (options.source === 'api') {
|
|
49
|
+
if (options.integrationInstanceId)
|
|
50
|
+
throw new Error('Invalid configuration supplied. Cannot specify both --source api and --integrationInstanceId flags.');
|
|
51
|
+
if (!options.scope)
|
|
52
|
+
throw new Error('Invalid configuration supplied. --source api requires --scope flag.');
|
|
53
|
+
}
|
|
54
|
+
else if (!['integration-managed', 'integration-external'].includes(options.source)) {
|
|
55
|
+
throw new Error(`Invalid configuration supplied. --source must be one of: integration-managed, integration-external, api. Received: ${options.source}.`);
|
|
56
|
+
}
|
|
57
|
+
else if (!options.integrationInstanceId) {
|
|
58
|
+
throw new Error('Invalid configuration supplied. --integrationInstanceId or --source api and --scope required.');
|
|
59
|
+
}
|
|
60
|
+
return options;
|
|
61
|
+
}
|
|
62
|
+
exports.validateSyncOptions = validateSyncOptions;
|
|
63
|
+
/**
|
|
64
|
+
* Returns an object containing only `SyncOptions` properties. This helps to ensure other properties of `OptionValues` are not passed to the `SynchronizationJob`.
|
|
65
|
+
*/
|
|
66
|
+
function getSyncOptions(options) {
|
|
67
|
+
return {
|
|
68
|
+
source: options.source,
|
|
69
|
+
scope: options.scope,
|
|
70
|
+
integrationInstanceId: options.integrationInstanceId,
|
|
71
|
+
uploadBatchSize: options.uploadBatchSize,
|
|
72
|
+
uploadRelationshipBatchSize: options.uploadRelationshipBatchSize,
|
|
73
|
+
skipFinalize: options.skipFinalize,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
exports.getSyncOptions = getSyncOptions;
|
|
77
|
+
function addApiClientOptionsToCommand(command) {
|
|
78
|
+
var _a;
|
|
79
|
+
return command
|
|
80
|
+
.option('--api-base-url <url>', 'specify synchronization API base URL', integration_sdk_runtime_1.JUPITERONE_PROD_API_BASE_URL)
|
|
81
|
+
.option('-d, --development', '"true" to target apps.dev.jupiterone.io (JUPITERONE_DEV environment variable)', !!process.env.JUPITERONE_DEV)
|
|
82
|
+
.option('--account <account>', 'JupiterOne account ID (JUPITERONE_ACCOUNT environment variable)', process.env.JUPITERONE_ACCOUNT)
|
|
83
|
+
.option('--api-key <key>', 'JupiterOne API key (JUPITERONE_API_KEY environment variable)', (_a = process.env.JUPITERONE_API_KEY) === null || _a === void 0 ? void 0 : _a.replace(/./, '*'));
|
|
84
|
+
}
|
|
85
|
+
exports.addApiClientOptionsToCommand = addApiClientOptionsToCommand;
|
|
86
|
+
function validateApiClientOptions(options) {
|
|
87
|
+
if (options.development &&
|
|
88
|
+
![integration_sdk_runtime_1.JUPITERONE_PROD_API_BASE_URL, integration_sdk_runtime_1.JUPITERONE_DEV_API_BASE_URL].includes(options.apiBaseUrl)) {
|
|
89
|
+
throw new Error(`Invalid configuration supplied. Cannot specify both --development and --api-base-url flags.`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.validateApiClientOptions = validateApiClientOptions;
|
|
93
|
+
/**
|
|
94
|
+
* Builds a set of options for the 'createApiClient' function.
|
|
95
|
+
*
|
|
96
|
+
* @throws IntegrationApiKeyRequiredError
|
|
97
|
+
* @throws IntegrationAccountRequiredError
|
|
98
|
+
*/
|
|
99
|
+
function getApiClientOptions(options) {
|
|
100
|
+
return {
|
|
101
|
+
apiBaseUrl: options.development
|
|
102
|
+
? integration_sdk_runtime_1.JUPITERONE_DEV_API_BASE_URL
|
|
103
|
+
: options.apiBaseUrl,
|
|
104
|
+
accessToken: options.apiKey || (0, integration_sdk_runtime_1.getApiKeyFromEnvironment)(),
|
|
105
|
+
account: options.account || (0, integration_sdk_runtime_1.getAccountFromEnvironment)(),
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
exports.getApiClientOptions = getApiClientOptions;
|
|
109
|
+
//# sourceMappingURL=options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/commands/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
export declare function run(): Command;
|
package/dist/src/commands/run.js
CHANGED
|
@@ -29,46 +29,24 @@ const integration_sdk_runtime_1 = require("@jupiterone/integration-sdk-runtime")
|
|
|
29
29
|
const uploader_1 = require("@jupiterone/integration-sdk-runtime/dist/src/execution/uploader");
|
|
30
30
|
const config_1 = require("../config");
|
|
31
31
|
const log = __importStar(require("../log"));
|
|
32
|
+
const options_1 = require("./options");
|
|
32
33
|
const DEFAULT_UPLOAD_CONCURRENCY = 5;
|
|
33
34
|
function run() {
|
|
34
|
-
|
|
35
|
+
const command = (0, commander_1.createCommand)('run');
|
|
36
|
+
(0, options_1.addPathOptionsToCommand)(command);
|
|
37
|
+
(0, options_1.addApiClientOptionsToCommand)(command);
|
|
38
|
+
(0, options_1.addSyncOptionsToCommand)(command);
|
|
39
|
+
return command
|
|
35
40
|
.description('collect and sync to upload entities and relationships')
|
|
36
|
-
.requiredOption('-i, --integrationInstanceId <id>', '_integrationInstanceId assigned to uploaded entities and relationships')
|
|
37
|
-
.option('-p, --project-path <directory>', 'path to integration project directory', process.cwd())
|
|
38
|
-
.option('-d, --development', '"true" to target apps.dev.jupiterone.io', !!process.env.JUPITERONE_DEV)
|
|
39
|
-
.option('--api-base-url <url>', 'API base URL used during run operation.')
|
|
40
41
|
.option('-V, --disable-schema-validation', 'disable schema validation')
|
|
41
|
-
.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
// Point `fileSystem.ts` functions to expected location relative to
|
|
46
|
-
// integration project path.
|
|
47
|
-
process.env.JUPITERONE_INTEGRATION_STORAGE_DIRECTORY = path_1.default.resolve(projectPath, '.j1-integration');
|
|
48
|
-
log.debug('Loading API Key from JUPITERONE_API_KEY environment variable');
|
|
49
|
-
const accessToken = (0, integration_sdk_runtime_1.getApiKeyFromEnvironment)();
|
|
50
|
-
log.debug('Loading account from JUPITERONE_ACCOUNT environment variable');
|
|
51
|
-
const account = (0, integration_sdk_runtime_1.getAccountFromEnvironment)();
|
|
52
|
-
let apiBaseUrl;
|
|
53
|
-
if (options.apiBaseUrl) {
|
|
54
|
-
if (options.development) {
|
|
55
|
-
throw new Error('Invalid configuration supplied. Cannot specify both --api-base-url and --development(-d) flags.');
|
|
56
|
-
}
|
|
57
|
-
apiBaseUrl = options.apiBaseUrl;
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
apiBaseUrl = (0, integration_sdk_runtime_1.getApiBaseUrl)({
|
|
61
|
-
dev: options.development,
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
log.debug(`Configuring client to access "${apiBaseUrl}"`);
|
|
42
|
+
.action(async (options, actionCommand) => {
|
|
43
|
+
(0, options_1.configureRuntimeFilesystem)(actionCommand.opts());
|
|
44
|
+
(0, options_1.validateApiClientOptions)(actionCommand.opts());
|
|
45
|
+
(0, options_1.validateSyncOptions)(actionCommand.opts());
|
|
65
46
|
const startTime = Date.now();
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
account,
|
|
70
|
-
});
|
|
71
|
-
const { integrationInstanceId } = options;
|
|
47
|
+
const clientApiOptions = (0, options_1.getApiClientOptions)(actionCommand.opts());
|
|
48
|
+
const apiClient = (0, integration_sdk_runtime_1.createApiClient)(clientApiOptions);
|
|
49
|
+
log.debug(`Configured JupiterOne API client. (apiBaseUrl: '${clientApiOptions.apiBaseUrl}', account: ${clientApiOptions.account})`);
|
|
72
50
|
let logger = (0, integration_sdk_runtime_1.createIntegrationLogger)({
|
|
73
51
|
name: 'local',
|
|
74
52
|
pretty: true,
|
|
@@ -76,7 +54,7 @@ function run() {
|
|
|
76
54
|
const synchronizationContext = await (0, integration_sdk_runtime_1.initiateSynchronization)({
|
|
77
55
|
logger,
|
|
78
56
|
apiClient,
|
|
79
|
-
|
|
57
|
+
...(0, options_1.getSyncOptions)(actionCommand.opts()),
|
|
80
58
|
});
|
|
81
59
|
logger = synchronizationContext.logger;
|
|
82
60
|
const eventPublishingQueue = (0, integration_sdk_runtime_1.createEventPublishingQueue)(synchronizationContext);
|
|
@@ -84,7 +62,7 @@ function run() {
|
|
|
84
62
|
logger
|
|
85
63
|
.on('event', (event) => eventPublishingQueue.enqueue(event))
|
|
86
64
|
.on('metric', (metric) => metrics.push(metric));
|
|
87
|
-
const invocationConfig = await (0, config_1.loadConfig)(path_1.default.
|
|
65
|
+
const invocationConfig = await (0, config_1.loadConfig)(path_1.default.resolve(options.projectPath, 'src'));
|
|
88
66
|
const graphObjectStore = new integration_sdk_runtime_1.FileSystemGraphObjectStore({
|
|
89
67
|
prettifyFiles: true,
|
|
90
68
|
integrationSteps: invocationConfig.integrationSteps,
|
|
@@ -93,7 +71,7 @@ function run() {
|
|
|
93
71
|
const enableSchemaValidation = !options.disableSchemaValidation;
|
|
94
72
|
const executionResults = await (0, integration_sdk_runtime_1.executeIntegrationInstance)(logger, (0, integration_sdk_runtime_1.createIntegrationInstanceForLocalExecution)(invocationConfig), invocationConfig, {
|
|
95
73
|
current: {
|
|
96
|
-
startedOn:
|
|
74
|
+
startedOn: synchronizationContext.job.startTimestamp,
|
|
97
75
|
},
|
|
98
76
|
}, {
|
|
99
77
|
enableSchemaValidation,
|
|
@@ -110,11 +88,18 @@ function run() {
|
|
|
110
88
|
});
|
|
111
89
|
await eventPublishingQueue.onIdle();
|
|
112
90
|
log.displayExecutionResults(executionResults);
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
91
|
+
if (options.skipFinalize) {
|
|
92
|
+
log.info('Skipping synchronization finalization. Job will remain in "AWAITING_UPLOADS" state.');
|
|
93
|
+
const jobStatus = await (0, integration_sdk_runtime_1.synchronizationStatus)(synchronizationContext);
|
|
94
|
+
log.displaySynchronizationResults(jobStatus);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
const synchronizationResult = await (0, integration_sdk_runtime_1.finalizeSynchronization)({
|
|
98
|
+
...synchronizationContext,
|
|
99
|
+
partialDatasets: executionResults.metadata.partialDatasets,
|
|
100
|
+
});
|
|
101
|
+
log.displaySynchronizationResults(synchronizationResult);
|
|
102
|
+
}
|
|
118
103
|
}
|
|
119
104
|
catch (err) {
|
|
120
105
|
await eventPublishingQueue.onIdle();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/run.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/run.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAiE;AACjE,gDAAwB;AAGxB,iFAW6C;AAC7C,8FAAgI;AAEhI,sCAAuC;AACvC,4CAA8B;AAC9B,uCASmB;AAEnB,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAErC,SAAgB,GAAG;IACjB,MAAM,OAAO,GAAG,IAAA,yBAAa,EAAC,KAAK,CAAC,CAAC;IAErC,IAAA,iCAAuB,EAAC,OAAO,CAAC,CAAC;IACjC,IAAA,sCAA4B,EAAC,OAAO,CAAC,CAAC;IACtC,IAAA,iCAAuB,EAAC,OAAO,CAAC,CAAC;IAEjC,OAAO,OAAO;SACX,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,iCAAiC,EAAE,2BAA2B,CAAC;SACtE,MAAM,CAAC,KAAK,EAAE,OAAqB,EAAE,aAAsB,EAAE,EAAE;QAC9D,IAAA,oCAA0B,EAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,IAAA,kCAAwB,EAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,IAAA,6BAAmB,EAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAE1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,gBAAgB,GAAG,IAAA,6BAAmB,EAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,IAAA,yCAAe,EAAC,gBAAgB,CAAC,CAAC;QACpD,GAAG,CAAC,KAAK,CACP,mDAAmD,gBAAgB,CAAC,UAAU,eAAe,gBAAgB,CAAC,OAAO,GAAG,CACzH,CAAC;QAEF,IAAI,MAAM,GAAG,IAAA,iDAAuB,EAAC;YACnC,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,MAAM,sBAAsB,GAAG,MAAM,IAAA,iDAAuB,EAAC;YAC3D,MAAM;YACN,SAAS;YACT,GAAG,IAAA,wBAAc,EAAC,aAAa,CAAC,IAAI,EAAE,CAAC;SACxC,CAAC,CAAC;QAEH,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC;QAEvC,MAAM,oBAAoB,GAAG,IAAA,oDAA0B,EACrD,sBAAsB,CACvB,CAAC;QACF,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,MAAM;aACH,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAC3D,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAElD,MAAM,gBAAgB,GAAG,MAAM,IAAA,mBAAU,EACvC,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CACzC,CAAC;QAEF,MAAM,gBAAgB,GAAG,IAAI,oDAA0B,CAAC;YACtD,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB;SACpD,CAAC,CAAC;QAEH,IAAI;YACF,MAAM,sBAAsB,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC;YAChE,MAAM,gBAAgB,GAAG,MAAM,IAAA,oDAA0B,EACvD,MAAM,EACN,IAAA,oEAA0C,EAAC,gBAAgB,CAAC,EAC5D,gBAAgB,EAChB;gBACE,OAAO,EAAE;oBACP,SAAS,EAAE,sBAAsB,CAAC,GAAG,CAAC,cAAc;iBACrD;aACF,EACD;gBACE,sBAAsB;gBACtB,gBAAgB;gBAChB,iCAAiC,CAAC,MAAM;oBACtC,OAAO,IAAA,wDAA6C,EAAC;wBACnD,MAAM;wBACN,yBAAyB,EAAE,sBAAsB;wBACjD,iBAAiB,EAAE,0BAA0B;wBAC7C,eAAe,EAAE,OAAO,CAAC,eAAe;wBACxC,4BAA4B,EAC1B,OAAO,CAAC,2BAA2B;qBACtC,CAAC,CAAC;gBACL,CAAC;aACF,CACF,CAAC;YAEF,MAAM,oBAAoB,CAAC,MAAM,EAAE,CAAC;YAEpC,GAAG,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;YAE9C,IAAI,OAAO,CAAC,YAAY,EAAE;gBACxB,GAAG,CAAC,IAAI,CACN,qFAAqF,CACtF,CAAC;gBACF,MAAM,SAAS,GAAG,MAAM,IAAA,+CAAqB,EAAC,sBAAsB,CAAC,CAAC;gBACtE,GAAG,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;aAC9C;iBAAM;gBACL,MAAM,qBAAqB,GAAG,MAAM,IAAA,iDAAuB,EAAC;oBAC1D,GAAG,sBAAsB;oBACzB,eAAe,EAAE,gBAAgB,CAAC,QAAQ,CAAC,eAAe;iBAC3D,CAAC,CAAC;gBACH,GAAG,CAAC,6BAA6B,CAAC,qBAAqB,CAAC,CAAC;aAC1D;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,oBAAoB,CAAC,MAAM,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;gBAC/B,MAAM,CAAC,KAAK,CACV,GAAG,EACH,mDAAmD,CACpD,CAAC;aACH;YAED,MAAM,WAAW,GAAG,MAAM,IAAA,8CAAoB,EAAC;gBAC7C,GAAG,sBAAsB;gBACzB,MAAM,EAAE,GAAG,CAAC,OAAO;aACpB,CAAC,CAAC;YAEH,GAAG,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;SAChD;gBAAS;YACR,MAAM,CAAC,aAAa,CAAC;gBACnB,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAC7B,IAAI,EAAE,cAAc;aACrB,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAzHD,kBAyHC"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
export declare function sync(): Command;
|
|
@@ -18,61 +18,37 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
18
18
|
__setModuleDefault(result, mod);
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
21
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
-
};
|
|
24
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
22
|
exports.sync = void 0;
|
|
26
23
|
const commander_1 = require("commander");
|
|
27
|
-
const path_1 = __importDefault(require("path"));
|
|
28
24
|
const integration_sdk_runtime_1 = require("@jupiterone/integration-sdk-runtime");
|
|
29
25
|
const log = __importStar(require("../log"));
|
|
26
|
+
const options_1 = require("./options");
|
|
30
27
|
function sync() {
|
|
31
|
-
|
|
28
|
+
const command = (0, commander_1.createCommand)('sync');
|
|
29
|
+
(0, options_1.addPathOptionsToCommand)(command);
|
|
30
|
+
(0, options_1.addApiClientOptionsToCommand)(command);
|
|
31
|
+
(0, options_1.addSyncOptionsToCommand)(command);
|
|
32
|
+
return command
|
|
32
33
|
.description('sync collected data with JupiterOne, requires JUPITERONE_API_KEY, JUPITERONE_ACCOUNT')
|
|
33
|
-
.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
.
|
|
40
|
-
// Point `fileSystem.ts` functions to expected location relative to
|
|
41
|
-
// integration project path.
|
|
42
|
-
process.env.JUPITERONE_INTEGRATION_STORAGE_DIRECTORY = path_1.default.resolve(options.projectPath, '.j1-integration');
|
|
43
|
-
log.debug('Loading API Key from JUPITERONE_API_KEY environment variable');
|
|
44
|
-
const accessToken = (0, integration_sdk_runtime_1.getApiKeyFromEnvironment)();
|
|
45
|
-
log.debug('Loading account from JUPITERONE_ACCOUNT environment variable');
|
|
46
|
-
const account = (0, integration_sdk_runtime_1.getAccountFromEnvironment)();
|
|
47
|
-
let apiBaseUrl;
|
|
48
|
-
if (options.apiBaseUrl) {
|
|
49
|
-
if (options.development) {
|
|
50
|
-
throw new Error('Invalid configuration supplied. Cannot specify both --api-base-url and --development(-d) flags.');
|
|
51
|
-
}
|
|
52
|
-
apiBaseUrl = options.apiBaseUrl;
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
apiBaseUrl = (0, integration_sdk_runtime_1.getApiBaseUrl)({
|
|
56
|
-
dev: options.development,
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
log.debug(`Configuring client to access "${apiBaseUrl}"`);
|
|
60
|
-
const apiClient = (0, integration_sdk_runtime_1.createApiClient)({
|
|
61
|
-
apiBaseUrl,
|
|
62
|
-
account,
|
|
63
|
-
accessToken,
|
|
64
|
-
});
|
|
65
|
-
const { integrationInstanceId } = options;
|
|
34
|
+
.action(async (options, actionCommand) => {
|
|
35
|
+
(0, options_1.configureRuntimeFilesystem)(actionCommand.opts());
|
|
36
|
+
(0, options_1.validateApiClientOptions)(actionCommand.opts());
|
|
37
|
+
(0, options_1.validateSyncOptions)(actionCommand.opts());
|
|
38
|
+
const clientApiOptions = (0, options_1.getApiClientOptions)(actionCommand.opts());
|
|
39
|
+
const apiClient = (0, integration_sdk_runtime_1.createApiClient)(clientApiOptions);
|
|
40
|
+
log.debug(`Configured JupiterOne API client. (apiBaseUrl: '${clientApiOptions.apiBaseUrl}', account: ${clientApiOptions.account})`);
|
|
66
41
|
const logger = (0, integration_sdk_runtime_1.createIntegrationLogger)({
|
|
67
42
|
name: 'local',
|
|
68
43
|
pretty: true,
|
|
69
44
|
});
|
|
45
|
+
const syncOptions = (0, options_1.getSyncOptions)(actionCommand.opts());
|
|
46
|
+
if (syncOptions.skipFinalize)
|
|
47
|
+
log.info('Skipping synchronization finalization. Job will remain in "AWAITING_UPLOADS" state.');
|
|
70
48
|
const job = await (0, integration_sdk_runtime_1.synchronizeCollectedData)({
|
|
71
|
-
logger: logger.child(
|
|
49
|
+
logger: logger.child(syncOptions),
|
|
72
50
|
apiClient,
|
|
73
|
-
|
|
74
|
-
uploadBatchSize: options.uploadBatchSize,
|
|
75
|
-
uploadRelationshipBatchSize: options.uploadRelationshipBatchSize,
|
|
51
|
+
...syncOptions,
|
|
76
52
|
});
|
|
77
53
|
log.displaySynchronizationResults(job);
|
|
78
54
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/commands/sync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/commands/sync.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAiE;AAEjE,iFAI6C;AAE7C,4CAA8B;AAC9B,uCASmB;AAEnB,SAAgB,IAAI;IAClB,MAAM,OAAO,GAAG,IAAA,yBAAa,EAAC,MAAM,CAAC,CAAC;IAEtC,IAAA,iCAAuB,EAAC,OAAO,CAAC,CAAC;IACjC,IAAA,sCAA4B,EAAC,OAAO,CAAC,CAAC;IACtC,IAAA,iCAAuB,EAAC,OAAO,CAAC,CAAC;IAEjC,OAAO,OAAO;SACX,WAAW,CACV,sFAAsF,CACvF;SACA,MAAM,CAAC,KAAK,EAAE,OAAqB,EAAE,aAAsB,EAAE,EAAE;QAC9D,IAAA,oCAA0B,EAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,IAAA,kCAAwB,EAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,IAAA,6BAAmB,EAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAE1C,MAAM,gBAAgB,GAAG,IAAA,6BAAmB,EAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,IAAA,yCAAe,EAAC,gBAAgB,CAAC,CAAC;QACpD,GAAG,CAAC,KAAK,CACP,mDAAmD,gBAAgB,CAAC,UAAU,eAAe,gBAAgB,CAAC,OAAO,GAAG,CACzH,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,iDAAuB,EAAC;YACrC,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,WAAW,CAAC,YAAY;YAC1B,GAAG,CAAC,IAAI,CACN,qFAAqF,CACtF,CAAC;QAEJ,MAAM,GAAG,GAAG,MAAM,IAAA,kDAAwB,EAAC;YACzC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;YACjC,SAAS;YACT,GAAG,WAAW;SACf,CAAC,CAAC;QAEH,GAAG,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC;AAzCD,oBAyCC"}
|
package/dist/src/log.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.displayMetrics = exports.displayExecutionResults = exports.displaySynchr
|
|
|
7
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
8
|
const integration_sdk_runtime_1 = require("@jupiterone/integration-sdk-runtime");
|
|
9
9
|
const integration_sdk_core_1 = require("@jupiterone/integration-sdk-core");
|
|
10
|
+
/* eslint-disable no-console */
|
|
10
11
|
function debug(msg) {
|
|
11
12
|
console.log(`${chalk_1.default.gray(msg)}`);
|
|
12
13
|
}
|
package/dist/src/log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/log.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,iFAG6C;AAC7C,2EAK0C;AAE1C,SAAgB,KAAK,CAAC,GAAW;IAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACpC,CAAC;AAFD,sBAEC;AAED,SAAgB,IAAI,CAAC,GAAW;IAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC;AAFD,oBAEC;AAED,SAAgB,IAAI,CAAC,GAAW;IAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACtC,CAAC;AAFD,oBAEC;AAED,SAAgB,KAAK,CAAC,GAAW;IAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC;AAFD,sBAEC;AAED,SAAgB,6BAA6B,CAAC,GAAuB;IACnE,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACrC,IAAI,CAAC,+BAA+B,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9D,IAAI,CAAC,sBAAsB,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,2BAA2B,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC;AALD,sEAKC;AAED,SAAgB,uBAAuB,CAAC,OAAiC;IACvE,IAAI,CAAC,cAAc,CAAC,CAAC;IAErB,IAAI,uBAAuB,GAAY,KAAK,CAAC;IAE7C,IAAA,kDAAwB,EAAC,OAAO,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE;QAC1D,aAAa,CAAC,IAAI,CAAC,CAAC;QAEpB,IAAI,IAAI,CAAC,MAAM,KAAK,uCAAgB,CAAC,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE;YACtE,uBAAuB,GAAG,IAAI,CAAC;YAC/B,MAAM,mBAAmB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACvD,OAAO,SAAS,IAAI,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;YACH,IAAI,CACF,yFAAyF,mBAAmB,EAAE,CAC/G,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,uBAAuB,EAAE;QAC3B,IAAI,CACF;;;8DAGwD,CACzD,CAAC;KACH;IAED,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAE7C,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE;QAChC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACzD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACrE;AACH,CAAC;AAlCD,0DAkCC;AAED,SAAgB,cAAc,CAAC,OAAiB;IAC9C,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACzB,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB,KAAK,cAAc;gBACjB,IAAI,CAAC,WAAW,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;gBACpD,MAAM;SACT;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AARD,wCAQC;AAED,SAAS,aAAa,CAAC,UAAiC;IACtD,MAAM,UAAU,GAAG,eAAK,CAAC,KAAK,CAC5B,SAAS,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,0BAA0B,CAC7D,CAAC;IACF,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,IAAI,UAAU,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAwB;IACjD,QAAQ,MAAM,EAAE;QACd,KAAK,uCAAgB,CAAC,OAAO,CAAC;QAC9B,KAAK,uCAAgB,CAAC,MAAM;YAC1B,OAAO,eAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,KAAK,uCAAgB,CAAC,OAAO;YAC3B,OAAO,eAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,KAAK,uCAAgB,CAAC,yCAAyC;YAC7D,OAAO,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,KAAK,uCAAgB,CAAC,QAAQ;YAC5B,OAAO,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC7B;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/log.ts"],"names":[],"mappings":"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"}
|