@grepr/cli 1.1.4 → 1.3.0-4e666db
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/build/dist/commands/base-command.d.ts +3 -3
- package/build/dist/commands/base-command.d.ts.map +1 -1
- package/build/dist/commands/base-command.js +1 -7
- package/build/dist/commands/base-command.js.map +1 -1
- package/build/dist/commands/config-command.d.ts +5 -9
- package/build/dist/commands/config-command.d.ts.map +1 -1
- package/build/dist/commands/config-command.js +32 -4
- package/build/dist/commands/config-command.js.map +1 -1
- package/build/dist/commands/crud-command.d.ts +11 -18
- package/build/dist/commands/crud-command.d.ts.map +1 -1
- package/build/dist/commands/crud-command.js +27 -11
- package/build/dist/commands/crud-command.js.map +1 -1
- package/build/dist/commands/dataset-command.d.ts +8 -13
- package/build/dist/commands/dataset-command.d.ts.map +1 -1
- package/build/dist/commands/dataset-command.js.map +1 -1
- package/build/dist/commands/docs-command.d.ts +87 -0
- package/build/dist/commands/docs-command.d.ts.map +1 -0
- package/build/dist/commands/docs-command.js +164 -0
- package/build/dist/commands/docs-command.js.map +1 -0
- package/build/dist/commands/docs-get-command.d.ts +53 -0
- package/build/dist/commands/docs-get-command.d.ts.map +1 -0
- package/build/dist/commands/docs-get-command.js +75 -0
- package/build/dist/commands/docs-get-command.js.map +1 -0
- package/build/dist/commands/grok-command.d.ts +71 -0
- package/build/dist/commands/grok-command.d.ts.map +1 -0
- package/build/dist/commands/grok-command.js +258 -0
- package/build/dist/commands/grok-command.js.map +1 -0
- package/build/dist/commands/integration-command.d.ts +5 -7
- package/build/dist/commands/integration-command.d.ts.map +1 -1
- package/build/dist/commands/integration-command.js +4 -4
- package/build/dist/commands/integration-command.js.map +1 -1
- package/build/dist/commands/job-command.d.ts +7 -43
- package/build/dist/commands/job-command.d.ts.map +1 -1
- package/build/dist/commands/job-command.js +5 -3
- package/build/dist/commands/job-command.js.map +1 -1
- package/build/dist/commands/job-to-test-command.d.ts +74 -0
- package/build/dist/commands/job-to-test-command.d.ts.map +1 -0
- package/build/dist/commands/job-to-test-command.js +159 -0
- package/build/dist/commands/job-to-test-command.js.map +1 -0
- package/build/dist/commands/list-command.d.ts +5 -7
- package/build/dist/commands/list-command.d.ts.map +1 -1
- package/build/dist/commands/list-command.js +20 -4
- package/build/dist/commands/list-command.js.map +1 -1
- package/build/dist/commands/query-command.d.ts +3 -8
- package/build/dist/commands/query-command.d.ts.map +1 -1
- package/build/dist/commands/query-command.js +34 -14
- package/build/dist/commands/query-command.js.map +1 -1
- package/build/dist/docs-index/catalog.json +1 -0
- package/build/dist/docs-index/index.json +1 -0
- package/build/dist/grepr.js +43 -7
- package/build/dist/grepr.js.map +1 -1
- package/build/dist/lib/api-client-factory.d.ts +2 -2
- package/build/dist/lib/api-client-factory.d.ts.map +1 -1
- package/build/dist/lib/api-client-factory.js +1 -1
- package/build/dist/lib/api-client-factory.js.map +1 -1
- package/build/dist/lib/auth.d.ts +17 -9
- package/build/dist/lib/auth.d.ts.map +1 -1
- package/build/dist/lib/auth.js +53 -14
- package/build/dist/lib/auth.js.map +1 -1
- package/build/dist/lib/command-registry.d.ts +3 -2
- package/build/dist/lib/command-registry.d.ts.map +1 -1
- package/build/dist/lib/command-registry.js.map +1 -1
- package/build/dist/lib/config.d.ts +15 -0
- package/build/dist/lib/config.d.ts.map +1 -1
- package/build/dist/lib/config.js +45 -11
- package/build/dist/lib/config.js.map +1 -1
- package/build/dist/lib/docs-search.d.ts +154 -0
- package/build/dist/lib/docs-search.d.ts.map +1 -0
- package/build/dist/lib/docs-search.js +208 -0
- package/build/dist/lib/docs-search.js.map +1 -0
- package/build/dist/lib/grepr-api-client.d.ts +33 -193
- package/build/dist/lib/grepr-api-client.d.ts.map +1 -1
- package/build/dist/lib/grepr-api-client.js +58 -38
- package/build/dist/lib/grepr-api-client.js.map +1 -1
- package/build/dist/lib/job-graph-transformer.d.ts +89 -0
- package/build/dist/lib/job-graph-transformer.d.ts.map +1 -0
- package/build/dist/lib/job-graph-transformer.js +497 -0
- package/build/dist/lib/job-graph-transformer.js.map +1 -0
- package/build/dist/lib/job-graph-utils.d.ts +50 -0
- package/build/dist/lib/job-graph-utils.d.ts.map +1 -0
- package/build/dist/lib/job-graph-utils.js +84 -0
- package/build/dist/lib/job-graph-utils.js.map +1 -0
- package/build/dist/lib/json-formatter.d.ts +1 -0
- package/build/dist/lib/json-formatter.d.ts.map +1 -1
- package/build/dist/lib/json-formatter.js +28 -16
- package/build/dist/lib/json-formatter.js.map +1 -1
- package/build/dist/lib/parser.d.ts.map +1 -1
- package/build/dist/lib/parser.js +3 -6
- package/build/dist/lib/parser.js.map +1 -1
- package/build/dist/lib/streaming-job-executor.d.ts +3 -3
- package/build/dist/lib/streaming-job-executor.d.ts.map +1 -1
- package/build/dist/lib/streaming-job-executor.js +54 -21
- package/build/dist/lib/streaming-job-executor.js.map +1 -1
- package/build/dist/lib/time-utils.js +1 -1
- package/build/dist/lib/time-utils.js.map +1 -1
- package/build/dist/lib/transformers-embeddings.d.ts +76 -0
- package/build/dist/lib/transformers-embeddings.d.ts.map +1 -0
- package/build/dist/lib/transformers-embeddings.js +109 -0
- package/build/dist/lib/transformers-embeddings.js.map +1 -0
- package/build/dist/openapi/openApiTypes.d.ts +6926 -3458
- package/build/dist/openapi/openApiTypes.d.ts.map +1 -1
- package/build/dist/openapi/openApiTypes.js +372 -85
- package/build/dist/openapi/openApiTypes.js.map +1 -1
- package/build/dist/types.d.ts +48 -78
- package/build/dist/types.d.ts.map +1 -1
- package/build/dist/types.js +73 -0
- package/build/dist/types.js.map +1 -1
- package/package.json +41 -11
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import { ListCommand, ListCommandOptions } from './list-command.js';
|
|
2
2
|
import { CrudCommand, CrudCommandOptions, CrudCreateUpdateOptions } from './crud-command.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
export interface IntegrationCreateUpdateOptions extends CrudCreateUpdateOptions {
|
|
8
|
-
}
|
|
3
|
+
import { CommandOption } from '../types.js';
|
|
4
|
+
export type IntegrationListCommandOptions = ListCommandOptions;
|
|
5
|
+
export type IntegrationCrudCommandOptions = CrudCommandOptions;
|
|
6
|
+
export type IntegrationCreateUpdateOptions = CrudCreateUpdateOptions;
|
|
9
7
|
/**
|
|
10
8
|
* Integration list command implementation using the new architecture
|
|
11
9
|
*/
|
|
12
10
|
export declare class IntegrationListCommand extends ListCommand<IntegrationListCommandOptions> {
|
|
13
11
|
getCommandName(): string;
|
|
14
12
|
getCommandDescription(): string;
|
|
15
|
-
getCommandOptions():
|
|
13
|
+
getCommandOptions(): CommandOption[];
|
|
16
14
|
executeList(options: IntegrationListCommandOptions): Promise<void>;
|
|
17
15
|
}
|
|
18
16
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration-command.d.ts","sourceRoot":"","sources":["../../../src/main/typescript/commands/integration-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"integration-command.d.ts","sourceRoot":"","sources":["../../../src/main/typescript/commands/integration-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,MAAM,6BAA6B,GAAG,kBAAkB,CAAC;AAE/D,MAAM,MAAM,6BAA6B,GAAG,kBAAkB,CAAC;AAE/D,MAAM,MAAM,8BAA8B,GAAG,uBAAuB,CAAC;AAErE;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,WAAW,CAAC,6BAA6B,CAAC;IACpF,cAAc,IAAI,MAAM;IAIxB,qBAAqB,IAAI,MAAM;IAI/B,iBAAiB,IAAI,aAAa,EAAE;IAM9B,WAAW,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;CAuBzE;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,WAAW,CAAC,6BAA6B,CAAC;IACpF,gBAAgB,IAAI,MAAM;IAI1B,eAAe,IAAI,MAAM;IAIzB,SAAS,CAAC,WAAW,IAAI,OAAO;IAIhC,SAAS,CAAC,cAAc,IAAI,OAAO;IAInC,SAAS,CAAC,cAAc,IAAI,OAAO;IAInC,SAAS,CAAC,cAAc,IAAI,OAAO;IAI7B,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;CA0B/F"}
|
|
@@ -60,15 +60,15 @@ export class IntegrationCrudCommand extends CrudCommand {
|
|
|
60
60
|
try {
|
|
61
61
|
this.apiClient = this.createApiClient(options);
|
|
62
62
|
// Try to find the integration across all integration types
|
|
63
|
-
const
|
|
64
|
-
if (!
|
|
63
|
+
const integration = await this.apiClient.getIntegrationById(integrationId);
|
|
64
|
+
if (!integration) {
|
|
65
65
|
console.error(`Integration ${integrationId} not found`);
|
|
66
66
|
process.exit(1);
|
|
67
67
|
}
|
|
68
|
-
const
|
|
68
|
+
const type = integration.type;
|
|
69
69
|
await this.formatAndOutputSingle(integration, options);
|
|
70
70
|
if (!options.quiet) {
|
|
71
|
-
console.log(
|
|
71
|
+
console.log(`\nIntegration Details:\n- ID: ${integration.id}\n- Name: ${integration.name}\n- Type: ${type}`);
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration-command.js","sourceRoot":"","sources":["../../../src/main/typescript/commands/integration-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAsB,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,WAAW,EAA+C,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"integration-command.js","sourceRoot":"","sources":["../../../src/main/typescript/commands/integration-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { ListCommand, ListCommandOptions } from './list-command.js';
|
|
3
3
|
import { CrudCommand, CrudCommandOptions, CrudCreateUpdateOptions } from './crud-command.js';
|
|
4
|
-
import {
|
|
4
|
+
import { CommandOption, MergeConfiguration, JobProcessing, JobState } from '../types.js';
|
|
5
5
|
export interface JobListCommandOptions extends ListCommandOptions {
|
|
6
6
|
since?: string;
|
|
7
|
-
processing?:
|
|
7
|
+
processing?: JobProcessing;
|
|
8
8
|
allVersions?: boolean;
|
|
9
|
-
state?:
|
|
9
|
+
state?: JobState[];
|
|
10
10
|
name?: string[];
|
|
11
11
|
id?: string[];
|
|
12
12
|
version?: number;
|
|
@@ -26,32 +26,7 @@ export interface JobCreateUpdateOptions extends CrudCreateUpdateOptions {
|
|
|
26
26
|
export declare class JobListCommand extends ListCommand<JobListCommandOptions> {
|
|
27
27
|
getCommandName(): string;
|
|
28
28
|
getCommandDescription(): string;
|
|
29
|
-
getCommandOptions():
|
|
30
|
-
flags: string;
|
|
31
|
-
description: string;
|
|
32
|
-
defaultValue: string;
|
|
33
|
-
parser?: undefined;
|
|
34
|
-
} | {
|
|
35
|
-
flags: string;
|
|
36
|
-
description: string;
|
|
37
|
-
defaultValue?: undefined;
|
|
38
|
-
parser?: undefined;
|
|
39
|
-
} | {
|
|
40
|
-
flags: string;
|
|
41
|
-
description: string;
|
|
42
|
-
defaultValue: boolean;
|
|
43
|
-
parser?: undefined;
|
|
44
|
-
} | {
|
|
45
|
-
flags: string;
|
|
46
|
-
description: string;
|
|
47
|
-
defaultValue: string[];
|
|
48
|
-
parser?: undefined;
|
|
49
|
-
} | {
|
|
50
|
-
flags: string;
|
|
51
|
-
description: string;
|
|
52
|
-
parser: typeof parseInt;
|
|
53
|
-
defaultValue?: undefined;
|
|
54
|
-
})[];
|
|
29
|
+
getCommandOptions(): CommandOption[];
|
|
55
30
|
executeList(options: JobListCommandOptions): Promise<void>;
|
|
56
31
|
private buildJobListParams;
|
|
57
32
|
/**
|
|
@@ -67,19 +42,8 @@ export declare class JobCrudCommand extends CrudCommand<JobCrudCommandOptions> {
|
|
|
67
42
|
constructor();
|
|
68
43
|
getCommandPrefix(): string;
|
|
69
44
|
getResourceName(): string;
|
|
70
|
-
protected getGetOptions():
|
|
71
|
-
|
|
72
|
-
description: string;
|
|
73
|
-
parser: typeof parseInt;
|
|
74
|
-
} | {
|
|
75
|
-
flags: string;
|
|
76
|
-
description: string;
|
|
77
|
-
parser?: undefined;
|
|
78
|
-
})[];
|
|
79
|
-
protected getUpdateOptions(): {
|
|
80
|
-
flags: string;
|
|
81
|
-
description: string;
|
|
82
|
-
}[];
|
|
45
|
+
protected getGetOptions(): CommandOption[];
|
|
46
|
+
protected getUpdateOptions(): CommandOption[];
|
|
83
47
|
executeGet(jobId: string, options: JobCrudCommandOptions): Promise<void>;
|
|
84
48
|
executeCreate(options: CrudCreateUpdateOptions): Promise<void>;
|
|
85
49
|
private executeSynchronousJobCreate;
|
|
@@ -87,6 +51,6 @@ export declare class JobCrudCommand extends CrudCommand<JobCrudCommandOptions> {
|
|
|
87
51
|
private loadJobDefinition;
|
|
88
52
|
executeUpdate(jobId: string, options: JobCreateUpdateOptions): Promise<void>;
|
|
89
53
|
executeDelete(jobId: string, options: JobCrudCommandOptions): Promise<void>;
|
|
90
|
-
addToProgram(program: Command, mergeConfiguration:
|
|
54
|
+
addToProgram(program: Command, mergeConfiguration: MergeConfiguration): void;
|
|
91
55
|
}
|
|
92
56
|
//# sourceMappingURL=job-command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-command.d.ts","sourceRoot":"","sources":["../../../src/main/typescript/commands/job-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAI7F,OAAO,
|
|
1
|
+
{"version":3,"file":"job-command.d.ts","sourceRoot":"","sources":["../../../src/main/typescript/commands/job-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAI7F,OAAO,EAA6B,aAAa,EAAE,kBAAkB,EAAsC,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIxJ,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,WAAW,CAAC,qBAAqB,CAAC;IACpE,cAAc,IAAI,MAAM;IAIxB,qBAAqB,IAAI,MAAM;IAI/B,iBAAiB,IAAI,aAAa,EAAE;IA6C9B,WAAW,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBhE,OAAO,CAAC,kBAAkB;IA0B1B;;OAEG;IACH,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;CAkB5F;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,WAAW,CAAC,qBAAqB,CAAC;IACpE,OAAO,CAAC,iBAAiB,CAAuB;;IAOhD,gBAAgB,IAAI,MAAM;IAI1B,eAAe,IAAI,MAAM;IAIzB,SAAS,CAAC,aAAa,IAAI,aAAa,EAAE;IAc1C,SAAS,CAAC,gBAAgB,IAAI,aAAa,EAAE;IASvC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BxE,aAAa,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;YAkBtD,2BAA2B;YAK3B,4BAA4B;YAU5B,iBAAiB;IAmBzB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB5E,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcjF,YAAY,CACV,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,kBAAkB,GACrC,IAAI;CAuCR"}
|
|
@@ -3,7 +3,7 @@ import { CrudCommand } from './crud-command.js';
|
|
|
3
3
|
import { parseSinceOption } from '../lib/time-utils.js';
|
|
4
4
|
import { StreamingJobExecutor } from '../lib/streaming-job-executor.js';
|
|
5
5
|
import fs from 'fs-extra';
|
|
6
|
-
import {
|
|
6
|
+
import { JobExecution } from '../types.js';
|
|
7
7
|
/**
|
|
8
8
|
* Job list command implementation using the new architecture
|
|
9
9
|
* Shows smart defaults: PENDING + RUNNING + FINISHED jobs since 6 hours ago
|
|
@@ -188,7 +188,7 @@ export class JobCrudCommand extends CrudCommand {
|
|
|
188
188
|
// Load job definition to determine execution type
|
|
189
189
|
const jobDefinition = await this.loadJobDefinition(options.resourceFile);
|
|
190
190
|
// Route based on execution type
|
|
191
|
-
if (jobDefinition.execution ===
|
|
191
|
+
if (jobDefinition.execution === JobExecution.SYNCHRONOUS) {
|
|
192
192
|
await this.executeSynchronousJobCreate(jobDefinition, options);
|
|
193
193
|
}
|
|
194
194
|
else {
|
|
@@ -266,12 +266,14 @@ export class JobCrudCommand extends CrudCommand {
|
|
|
266
266
|
.description(`Create a new ${resourceName} from file`)
|
|
267
267
|
.option('-f, --format <format>', 'Output format (table, csv, pretty, raw, compact)', 'table')
|
|
268
268
|
.option('-s, --sort <column:order>', 'Sort table by column (e.g., "eventTimestamp:asc")', 'eventTimestamp:asc')
|
|
269
|
+
.option('--max-depth <number>', 'Maximum object nesting depth for table columns', (v) => parseInt(v, 10), 1)
|
|
270
|
+
.option('--max-lines <number>', 'Maximum lines per table cell', (v) => parseInt(v, 10), 4)
|
|
269
271
|
.option('--no-color', 'Disable colored output')
|
|
270
272
|
.option('--no-timestamps', 'Hide timestamps')
|
|
271
273
|
.option('--no-job-state', 'Hide job state messages')
|
|
272
274
|
.action(async (resourceFile, options, command) => {
|
|
273
275
|
try {
|
|
274
|
-
const globalOptions = command.parent?.opts();
|
|
276
|
+
const globalOptions = command.parent?.opts() || {};
|
|
275
277
|
const mergedGlobalOptions = await mergeConfiguration(globalOptions);
|
|
276
278
|
const mergedOptions = {
|
|
277
279
|
...mergedGlobalOptions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-command.js","sourceRoot":"","sources":["../../../src/main/typescript/commands/job-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAsB,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,WAAW,EAA+C,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"job-command.js","sourceRoot":"","sources":["../../../src/main/typescript/commands/job-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI command for transforming production jobs into test configurations.
|
|
3
|
+
*
|
|
4
|
+
* The job:to-test command takes a production job definition and transforms it
|
|
5
|
+
* for testing purposes. This is a pure transformation - no API calls are made.
|
|
6
|
+
*
|
|
7
|
+
* Key features:
|
|
8
|
+
* - Replace sources with dataset queries or add record limits
|
|
9
|
+
* - Replace sinks with synchronous test sinks or test dataset sinks
|
|
10
|
+
* - Add test tagging to track test data
|
|
11
|
+
* - Show diff of transformations
|
|
12
|
+
* - Output to file or stdout
|
|
13
|
+
*
|
|
14
|
+
* Example usage:
|
|
15
|
+
* grepr job:to-test prod.json --execution SYNCHRONOUS --output test.json
|
|
16
|
+
* grepr job:to-test prod.json --dataset-id my_dataset --start 2025-01-01T00:00:00Z \
|
|
17
|
+
* --end 2025-01-01T01:00:00Z --show-diff
|
|
18
|
+
*/
|
|
19
|
+
import { Command } from 'commander';
|
|
20
|
+
import { ICommand } from '../lib/command-registry.js';
|
|
21
|
+
import { MergeConfiguration } from '../types.js';
|
|
22
|
+
/**
|
|
23
|
+
* Command implementation for job:to-test.
|
|
24
|
+
*
|
|
25
|
+
* This command registers itself with the CLI and handles:
|
|
26
|
+
* - Option parsing and validation
|
|
27
|
+
* - Job file loading
|
|
28
|
+
* - Transformation execution
|
|
29
|
+
* - Output formatting and writing
|
|
30
|
+
*/
|
|
31
|
+
export declare class JobToTestCommand implements ICommand {
|
|
32
|
+
/**
|
|
33
|
+
* Registers the job:to-test command with the CLI program.
|
|
34
|
+
*
|
|
35
|
+
* @param program - The commander program to add the command to
|
|
36
|
+
* @param _mergeConfiguration - Configuration merger (unused by this command)
|
|
37
|
+
*/
|
|
38
|
+
addToProgram(program: Command, _mergeConfiguration: MergeConfiguration): void;
|
|
39
|
+
/**
|
|
40
|
+
* Validates command options for consistency and completeness.
|
|
41
|
+
*
|
|
42
|
+
* Validation rules:
|
|
43
|
+
* - Cannot use both --sample-data-file and --dataset-id (mutually exclusive)
|
|
44
|
+
* - --dataset-id requires --start and --end
|
|
45
|
+
* - --execution must be SYNCHRONOUS or ASYNCHRONOUS
|
|
46
|
+
* - --processing must be BATCH or STREAMING
|
|
47
|
+
*
|
|
48
|
+
* @param options - The command options to validate
|
|
49
|
+
* @throws Error if validation fails
|
|
50
|
+
*/
|
|
51
|
+
private validateOptions;
|
|
52
|
+
/**
|
|
53
|
+
* Loads and validates a job definition from a JSON file.
|
|
54
|
+
*
|
|
55
|
+
* The file must exist and contain valid JSON with required fields:
|
|
56
|
+
* - name: Job name
|
|
57
|
+
* - execution: Execution type
|
|
58
|
+
* - processing: Processing type
|
|
59
|
+
*
|
|
60
|
+
* @param jobFile - Path to the job definition file
|
|
61
|
+
* @returns The loaded job definition
|
|
62
|
+
* @throws Error if file not found, invalid JSON, or missing required fields
|
|
63
|
+
*/
|
|
64
|
+
private loadJobFromFile;
|
|
65
|
+
/**
|
|
66
|
+
* Formats the transformed job as JSON string.
|
|
67
|
+
*
|
|
68
|
+
* @param transformedJob - The job to format
|
|
69
|
+
* @param pretty - Whether to pretty-print (2-space indentation) or compact
|
|
70
|
+
* @returns JSON string representation of the job
|
|
71
|
+
*/
|
|
72
|
+
private formatOutput;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=job-to-test-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-to-test-command.d.ts","sourceRoot":"","sources":["../../../src/main/typescript/commands/job-to-test-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAA+B,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAI1E;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,YAAW,QAAQ;IAC/C;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,GAAG,IAAI;IA8D7E;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,eAAe;IAkBvB;;;;;;;;;;;OAWG;YACW,eAAe;IAmB7B;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;CAMrB"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI command for transforming production jobs into test configurations.
|
|
3
|
+
*
|
|
4
|
+
* The job:to-test command takes a production job definition and transforms it
|
|
5
|
+
* for testing purposes. This is a pure transformation - no API calls are made.
|
|
6
|
+
*
|
|
7
|
+
* Key features:
|
|
8
|
+
* - Replace sources with dataset queries or add record limits
|
|
9
|
+
* - Replace sinks with synchronous test sinks or test dataset sinks
|
|
10
|
+
* - Add test tagging to track test data
|
|
11
|
+
* - Show diff of transformations
|
|
12
|
+
* - Output to file or stdout
|
|
13
|
+
*
|
|
14
|
+
* Example usage:
|
|
15
|
+
* grepr job:to-test prod.json --execution SYNCHRONOUS --output test.json
|
|
16
|
+
* grepr job:to-test prod.json --dataset-id my_dataset --start 2025-01-01T00:00:00Z \
|
|
17
|
+
* --end 2025-01-01T01:00:00Z --show-diff
|
|
18
|
+
*/
|
|
19
|
+
import * as fs from 'fs-extra';
|
|
20
|
+
import { JobExecution, JobProcessing } from '../types.js';
|
|
21
|
+
import { transformJobToTest, showDiff } from '../lib/job-graph-transformer.js';
|
|
22
|
+
/**
|
|
23
|
+
* Command implementation for job:to-test.
|
|
24
|
+
*
|
|
25
|
+
* This command registers itself with the CLI and handles:
|
|
26
|
+
* - Option parsing and validation
|
|
27
|
+
* - Job file loading
|
|
28
|
+
* - Transformation execution
|
|
29
|
+
* - Output formatting and writing
|
|
30
|
+
*/
|
|
31
|
+
export class JobToTestCommand {
|
|
32
|
+
/**
|
|
33
|
+
* Registers the job:to-test command with the CLI program.
|
|
34
|
+
*
|
|
35
|
+
* @param program - The commander program to add the command to
|
|
36
|
+
* @param _mergeConfiguration - Configuration merger (unused by this command)
|
|
37
|
+
*/
|
|
38
|
+
addToProgram(program, _mergeConfiguration) {
|
|
39
|
+
program
|
|
40
|
+
.command('job:to-test <input-file>')
|
|
41
|
+
.description('Transform a job configuration for testing')
|
|
42
|
+
// Output options
|
|
43
|
+
.option('-o, --output <file>', 'Output file (default: stdout)')
|
|
44
|
+
.option('--no-pretty', 'Disable pretty printing')
|
|
45
|
+
.option('--show-diff', 'Show transformation diff')
|
|
46
|
+
// Execution and processing type overrides
|
|
47
|
+
.option('--execution <type>', 'Execution type (SYNCHRONOUS|ASYNCHRONOUS)')
|
|
48
|
+
.option('--processing <type>', 'Processing type (BATCH|STREAMING)')
|
|
49
|
+
// Source options (mutually exclusive: sample data OR dataset)
|
|
50
|
+
.option('--sample-data-file <file>', 'Sample logs file')
|
|
51
|
+
.option('--dataset-id <id>', 'Dataset ID for source (requires --start and --end)')
|
|
52
|
+
.option('--query <query>', 'Datadog syntax query for dataset source (optional, requires --dataset-id)')
|
|
53
|
+
.option('--start <time>', 'Start time (ISO 8601)')
|
|
54
|
+
.option('--end <time>', 'End time (ISO 8601)')
|
|
55
|
+
.option('--limit-records <n>', 'Limit for batch sources', (v) => parseInt(v, 10), 1000)
|
|
56
|
+
// Sink options
|
|
57
|
+
.option('--test-dataset <id>', 'Test dataset ID for async sinks (enables tagging)')
|
|
58
|
+
// Test metadata
|
|
59
|
+
.option('--test-tag <tag>', 'Custom test tag (default: auto-generated)')
|
|
60
|
+
.option('--test-name <name>', 'Custom test job name (default: {original}_test)')
|
|
61
|
+
.action(async (inputFile, options) => {
|
|
62
|
+
try {
|
|
63
|
+
// Step 1: Validate that options are valid and compatible
|
|
64
|
+
this.validateOptions(options);
|
|
65
|
+
// Step 2: Load the original job definition from file
|
|
66
|
+
const originalJob = await this.loadJobFromFile(inputFile);
|
|
67
|
+
// Step 3: Transform the job to test configuration
|
|
68
|
+
const transformedJob = transformJobToTest(originalJob, options);
|
|
69
|
+
// Step 4: Show diff if requested (before outputting JSON)
|
|
70
|
+
if (options.showDiff) {
|
|
71
|
+
showDiff(originalJob, transformedJob);
|
|
72
|
+
}
|
|
73
|
+
// Step 5: Format the output (pretty or compact JSON)
|
|
74
|
+
const output = this.formatOutput(transformedJob, options.pretty !== false);
|
|
75
|
+
// Step 6: Write to file or stdout
|
|
76
|
+
if (options.output) {
|
|
77
|
+
// noinspection TypeScriptUnresolvedReference
|
|
78
|
+
await fs.writeFile(options.output, output);
|
|
79
|
+
console.log(`✓ Test job written to ${options.output}`);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
console.log(output);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
console.error('Error transforming job:', error.message);
|
|
87
|
+
process.exit(1);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Validates command options for consistency and completeness.
|
|
93
|
+
*
|
|
94
|
+
* Validation rules:
|
|
95
|
+
* - Cannot use both --sample-data-file and --dataset-id (mutually exclusive)
|
|
96
|
+
* - --dataset-id requires --start and --end
|
|
97
|
+
* - --execution must be SYNCHRONOUS or ASYNCHRONOUS
|
|
98
|
+
* - --processing must be BATCH or STREAMING
|
|
99
|
+
*
|
|
100
|
+
* @param options - The command options to validate
|
|
101
|
+
* @throws Error if validation fails
|
|
102
|
+
*/
|
|
103
|
+
validateOptions(options) {
|
|
104
|
+
if (options.sampleDataFile && options.datasetId) {
|
|
105
|
+
throw new Error('Cannot use both --sample-data-file and --dataset-id');
|
|
106
|
+
}
|
|
107
|
+
if (options.datasetId && (!options.start || !options.end)) {
|
|
108
|
+
throw new Error('--dataset-id requires --start and --end');
|
|
109
|
+
}
|
|
110
|
+
if (options.execution && ![JobExecution.ASYNCHRONOUS, JobExecution.SYNCHRONOUS].includes(options.execution)) {
|
|
111
|
+
throw new Error('--execution must be SYNCHRONOUS or ASYNCHRONOUS');
|
|
112
|
+
}
|
|
113
|
+
if (options.processing && ![JobProcessing.BATCH, JobProcessing.STREAMING].includes(options.processing)) {
|
|
114
|
+
throw new Error('--processing must be BATCH or STREAMING');
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Loads and validates a job definition from a JSON file.
|
|
119
|
+
*
|
|
120
|
+
* The file must exist and contain valid JSON with required fields:
|
|
121
|
+
* - name: Job name
|
|
122
|
+
* - execution: Execution type
|
|
123
|
+
* - processing: Processing type
|
|
124
|
+
*
|
|
125
|
+
* @param jobFile - Path to the job definition file
|
|
126
|
+
* @returns The loaded job definition
|
|
127
|
+
* @throws Error if file not found, invalid JSON, or missing required fields
|
|
128
|
+
*/
|
|
129
|
+
async loadJobFromFile(jobFile) {
|
|
130
|
+
if (!await fs.pathExists(jobFile)) {
|
|
131
|
+
throw new Error(`Job definition file not found: ${jobFile}`);
|
|
132
|
+
}
|
|
133
|
+
let jobDefinition;
|
|
134
|
+
try {
|
|
135
|
+
jobDefinition = await fs.readJson(jobFile);
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
throw new Error(`Failed to load job definition: ${error.message}`);
|
|
139
|
+
}
|
|
140
|
+
if (!jobDefinition.name || !jobDefinition.execution || !jobDefinition.processing) {
|
|
141
|
+
throw new Error('Invalid job definition: missing required fields (name, execution, processing)');
|
|
142
|
+
}
|
|
143
|
+
return jobDefinition;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Formats the transformed job as JSON string.
|
|
147
|
+
*
|
|
148
|
+
* @param transformedJob - The job to format
|
|
149
|
+
* @param pretty - Whether to pretty-print (2-space indentation) or compact
|
|
150
|
+
* @returns JSON string representation of the job
|
|
151
|
+
*/
|
|
152
|
+
formatOutput(transformedJob, pretty) {
|
|
153
|
+
if (pretty) {
|
|
154
|
+
return JSON.stringify(transformedJob, null, 2);
|
|
155
|
+
}
|
|
156
|
+
return JSON.stringify(transformedJob);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=job-to-test-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-to-test-command.js","sourceRoot":"","sources":["../../../src/main/typescript/commands/job-to-test-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { JsonFormatter } from '../lib/json-formatter.js';
|
|
|
3
3
|
import { ICommand } from '../lib/command-registry.js';
|
|
4
4
|
import { GreprApiClient } from '../lib/api-client.js';
|
|
5
5
|
import { ApiClientFactoryOptions } from '../lib/api-client-factory.js';
|
|
6
|
+
import { CommandOption, MergeConfiguration } from '../types.js';
|
|
6
7
|
export interface ListCommandOptions extends ApiClientFactoryOptions {
|
|
7
8
|
quiet?: boolean;
|
|
8
9
|
timezone?: string;
|
|
@@ -12,6 +13,8 @@ export interface ListCommandOptions extends ApiClientFactoryOptions {
|
|
|
12
13
|
color?: boolean;
|
|
13
14
|
timestamps?: boolean;
|
|
14
15
|
jobState?: boolean;
|
|
16
|
+
maxDepth?: number;
|
|
17
|
+
maxLines?: number;
|
|
15
18
|
}
|
|
16
19
|
/**
|
|
17
20
|
* Base class for list commands (job:list, integration:list, dataset:list)
|
|
@@ -31,12 +34,7 @@ export declare abstract class ListCommand<T extends ListCommandOptions> implemen
|
|
|
31
34
|
/**
|
|
32
35
|
* Get command-specific options
|
|
33
36
|
*/
|
|
34
|
-
abstract getCommandOptions():
|
|
35
|
-
flags: string;
|
|
36
|
-
description: string;
|
|
37
|
-
defaultValue?: any;
|
|
38
|
-
parser?: (value: string) => any;
|
|
39
|
-
}>;
|
|
37
|
+
abstract getCommandOptions(): CommandOption[];
|
|
40
38
|
/**
|
|
41
39
|
* Execute the list operation
|
|
42
40
|
*/
|
|
@@ -44,7 +42,7 @@ export declare abstract class ListCommand<T extends ListCommandOptions> implemen
|
|
|
44
42
|
/**
|
|
45
43
|
* Add this command to the program
|
|
46
44
|
*/
|
|
47
|
-
addToProgram(program: Command, mergeConfiguration:
|
|
45
|
+
addToProgram(program: Command, mergeConfiguration: MergeConfiguration): void;
|
|
48
46
|
/**
|
|
49
47
|
* Setup formatter for output
|
|
50
48
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-command.d.ts","sourceRoot":"","sources":["../../../src/main/typescript/commands/list-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAwB,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAmB,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"list-command.d.ts","sourceRoot":"","sources":["../../../src/main/typescript/commands/list-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAwB,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAmB,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAwB,MAAM,aAAa,CAAC;AAEtF,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,8BAAsB,WAAW,CAAC,CAAC,SAAS,kBAAkB,CAAE,YAAW,QAAQ;IACjF,SAAS,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAQ;IACjD,SAAS,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAQ;IAElD;;OAEG;IACH,QAAQ,CAAC,cAAc,IAAI,MAAM;IAEjC;;OAEG;IACH,QAAQ,CAAC,qBAAqB,IAAI,MAAM;IAExC;;OAEG;IACH,QAAQ,CAAC,iBAAiB,IAAI,aAAa,EAAE;IAE7C;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAE/C;;OAEG;IACH,YAAY,CACV,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,kBAAkB,GACrC,IAAI;IAoDP;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI;IAkB1C;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,GAAG,cAAc;IAIrD;;OAEG;cACa,eAAe,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC/B,OAAO,EAAE,CAAC,EACV,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAiChB;;OAEG;IACH,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAiBvE;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;CAKlE"}
|
|
@@ -22,12 +22,18 @@ export class ListCommand {
|
|
|
22
22
|
command = command.description(this.getCommandDescription());
|
|
23
23
|
// Add command-specific options
|
|
24
24
|
this.getCommandOptions().forEach(option => {
|
|
25
|
-
if (option.parser) {
|
|
25
|
+
if (option.parser && option.defaultValue !== undefined) {
|
|
26
26
|
command = command.option(option.flags, option.description, option.parser, option.defaultValue);
|
|
27
27
|
}
|
|
28
|
-
else {
|
|
28
|
+
else if (option.parser) {
|
|
29
|
+
command = command.option(option.flags, option.description, option.parser);
|
|
30
|
+
}
|
|
31
|
+
else if (option.defaultValue !== undefined) {
|
|
29
32
|
command = command.option(option.flags, option.description, option.defaultValue);
|
|
30
33
|
}
|
|
34
|
+
else {
|
|
35
|
+
command = command.option(option.flags, option.description);
|
|
36
|
+
}
|
|
31
37
|
});
|
|
32
38
|
// Add common formatting options
|
|
33
39
|
command
|
|
@@ -36,9 +42,11 @@ export class ListCommand {
|
|
|
36
42
|
.option('--no-color', 'Disable colored output')
|
|
37
43
|
.option('--no-timestamps', 'Hide timestamps')
|
|
38
44
|
.option('--no-job-state', 'Hide job state messages')
|
|
45
|
+
.option('--max-depth <number>', 'Maximum object nesting depth for table columns', parseInt, 1)
|
|
46
|
+
.option('--max-lines <number>', 'Maximum lines per table cell', parseInt, 4)
|
|
39
47
|
.action(async (options, command) => {
|
|
40
48
|
try {
|
|
41
|
-
const globalOptions = command.parent?.opts();
|
|
49
|
+
const globalOptions = command.parent?.opts() || {};
|
|
42
50
|
const mergedGlobalOptions = await mergeConfiguration(globalOptions);
|
|
43
51
|
const mergedOptions = {
|
|
44
52
|
...mergedGlobalOptions,
|
|
@@ -61,7 +69,9 @@ export class ListCommand {
|
|
|
61
69
|
format: options.format || 'table',
|
|
62
70
|
showTimestamps: options.timestamps !== false,
|
|
63
71
|
colorize: options.color !== false && process.stdout.isTTY && !options.output,
|
|
64
|
-
sortBy: options.sort || 'id:asc'
|
|
72
|
+
sortBy: options.sort || 'id:asc',
|
|
73
|
+
maxDepth: options.maxDepth ?? 1,
|
|
74
|
+
maxLines: options.maxLines ?? 4
|
|
65
75
|
};
|
|
66
76
|
// Only add timezone if it's defined
|
|
67
77
|
if (options.timezone) {
|
|
@@ -90,6 +100,9 @@ export class ListCommand {
|
|
|
90
100
|
// Handle output
|
|
91
101
|
if (options.output) {
|
|
92
102
|
// Write to file
|
|
103
|
+
if (!this.formatter) {
|
|
104
|
+
throw new Error('Formatter not initialized');
|
|
105
|
+
}
|
|
93
106
|
const formattedData = this.formatter.formatObjects(data);
|
|
94
107
|
const fs = await import('fs-extra');
|
|
95
108
|
await fs.writeFile(options.output, formattedData);
|
|
@@ -99,6 +112,9 @@ export class ListCommand {
|
|
|
99
112
|
}
|
|
100
113
|
else {
|
|
101
114
|
// Write to stdout
|
|
115
|
+
if (!this.formatter) {
|
|
116
|
+
throw new Error('Formatter not initialized');
|
|
117
|
+
}
|
|
102
118
|
console.log(this.formatter.formatObjects(data));
|
|
103
119
|
}
|
|
104
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-command.js","sourceRoot":"","sources":["../../../src/main/typescript/commands/list-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAwB,MAAM,0BAA0B,CAAC;AAG/E,OAAO,EAAE,eAAe,EAA2B,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"list-command.js","sourceRoot":"","sources":["../../../src/main/typescript/commands/list-command.ts"],"names":[],"mappings":"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"}
|