@grepr/cli 1.4.7 → 1.5.0-550a383
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/README.md +51 -19
- package/build/dist/commands/job-apply-command.d.ts +18 -0
- package/build/dist/commands/job-apply-command.d.ts.map +1 -0
- package/build/dist/commands/job-apply-command.js +103 -0
- package/build/dist/commands/job-apply-command.js.map +1 -0
- package/build/dist/commands/job-command.js +1 -1
- package/build/dist/commands/job-draft-command.d.ts +12 -0
- package/build/dist/commands/job-draft-command.d.ts.map +1 -0
- package/build/dist/commands/job-draft-command.js +205 -0
- package/build/dist/commands/job-draft-command.js.map +1 -0
- package/build/dist/commands/job-plan-command.d.ts +12 -0
- package/build/dist/commands/job-plan-command.d.ts.map +1 -0
- package/build/dist/commands/job-plan-command.js +51 -0
- package/build/dist/commands/job-plan-command.js.map +1 -0
- package/build/dist/grepr.js +7 -0
- package/build/dist/grepr.js.map +1 -1
- package/build/dist/lib/grepr-api-client.d.ts +14 -1
- package/build/dist/lib/grepr-api-client.d.ts.map +1 -1
- package/build/dist/lib/grepr-api-client.js +42 -4
- package/build/dist/lib/grepr-api-client.js.map +1 -1
- package/build/dist/lib/job-graph-log-pipeline-constants.d.ts +12 -0
- package/build/dist/lib/job-graph-log-pipeline-constants.d.ts.map +1 -0
- package/build/dist/lib/job-graph-log-pipeline-constants.js +16 -0
- package/build/dist/lib/job-graph-log-pipeline-constants.js.map +1 -0
- package/build/dist/lib/job-graph-transformer.d.ts +30 -0
- package/build/dist/lib/job-graph-transformer.d.ts.map +1 -1
- package/build/dist/lib/job-graph-transformer.js +271 -5
- package/build/dist/lib/job-graph-transformer.js.map +1 -1
- package/build/dist/lib/job-patch.d.ts +157 -0
- package/build/dist/lib/job-patch.d.ts.map +1 -0
- package/build/dist/lib/job-patch.js +1070 -0
- package/build/dist/lib/job-patch.js.map +1 -0
- package/build/dist/lib/job-plan.d.ts +40 -0
- package/build/dist/lib/job-plan.d.ts.map +1 -0
- package/build/dist/lib/job-plan.js +451 -0
- package/build/dist/lib/job-plan.js.map +1 -0
- package/build/dist/lib/option-parsers.d.ts +5 -0
- package/build/dist/lib/option-parsers.d.ts.map +1 -1
- package/build/dist/lib/option-parsers.js +7 -0
- package/build/dist/lib/option-parsers.js.map +1 -1
- package/build/dist/openapi/openApiTypes.d.ts +5 -0
- package/build/dist/openapi/openApiTypes.d.ts.map +1 -1
- package/build/dist/openapi/openApiTypes.js.map +1 -1
- package/build/dist/types.d.ts +34 -0
- package/build/dist/types.d.ts.map +1 -1
- package/build/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import createClient from 'openapi-fetch';
|
|
2
2
|
import { paths, SchemaCreateJob, SchemaDatasetCreate, SchemaDatasetRead, SchemaDatasetUpdate, SchemaItemsCollectionReadDatadog, SchemaItemsCollectionReadDataWarehouse, SchemaItemsCollectionReadJob, SchemaItemsCollectionReadNewRelic, SchemaItemsCollectionReadOtlp, SchemaItemsCollectionReadS3DataWarehouse, SchemaItemsCollectionReadSplunk, SchemaItemsCollectionReadSumo, SchemaReadDatadog, SchemaReadDataWarehouse, SchemaReadJob, SchemaReadNewRelic, SchemaReadOtlp, SchemaReadS3DataWarehouse, SchemaReadSplunk, SchemaReadSumo, SchemaUpdateJob } from '../openapi/openApiTypes.js';
|
|
3
3
|
import { ApiClientConfig, IntegrationReadType, IntegrationTypeAndList, JobExecution, JobProcessing, JobState } from '../types.js';
|
|
4
|
+
/** API error with response status and Retry-After metadata for retry logic. */
|
|
5
|
+
export declare class ApiError extends Error {
|
|
6
|
+
readonly status?: number;
|
|
7
|
+
readonly retryAfterMs?: number;
|
|
8
|
+
constructor(message: string, status?: number, retryAfterMs?: number);
|
|
9
|
+
}
|
|
4
10
|
/**
|
|
5
11
|
* Main API client for the Grepr CLI using openapi-fetch.
|
|
6
12
|
* This follows the same patterns as the frontend API client.
|
|
@@ -51,6 +57,13 @@ export declare class GreprApiClient {
|
|
|
51
57
|
getIntegrationById(id: string): Promise<IntegrationReadType | null>;
|
|
52
58
|
sendHeartbeat(heartbeatToken: string): Promise<void>;
|
|
53
59
|
lookupDataset(nameOrId: string): Promise<SchemaDatasetRead | undefined>;
|
|
54
|
-
|
|
60
|
+
/**
|
|
61
|
+
* POST a job to `/v1/jobs/sync` and stream the NDJSON response.
|
|
62
|
+
*
|
|
63
|
+
* @param signal optional AbortSignal; aborting it (e.g. a draft's
|
|
64
|
+
* max-duration cap) ends the returned stream cleanly rather than erroring,
|
|
65
|
+
* so partial output already received is preserved.
|
|
66
|
+
*/
|
|
67
|
+
submitSyncJob(jobDefinition: SchemaCreateJob, signal?: AbortSignal): Promise<NodeJS.ReadableStream>;
|
|
55
68
|
}
|
|
56
69
|
//# sourceMappingURL=grepr-api-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grepr-api-client.d.ts","sourceRoot":"","sources":["../../../src/main/typescript/lib/grepr-api-client.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,EACL,KAAK,EAQL,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,gCAAgC,EAChC,sCAAsC,EACtC,4BAA4B,EAC5B,iCAAiC,EACjC,6BAA6B,EAC7B,wCAAwC,EACxC,+BAA+B,EAC/B,6BAA6B,EAC7B,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,yBAAyB,EACzB,gBAAgB,EAChB,cAAc,EACd,eAAe,EAChB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EACL,eAAe,EAAE,mBAAmB,EACpC,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,QAAQ,EACT,MAAM,aAAa,CAAA;AAepB;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,IAAI,CAAoC;gBAEpC,MAAM,EAAE,eAAe;IAqCnC;;;OAGG;IACH,SAAS,IAAI,UAAU,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAK7C,QAAQ,CAAC,MAAM,CAAC,EAAE;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,YAAY,CAAC;QACzB,UAAU,CAAC,EAAE,aAAa,CAAC;QAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;KACf,GAAG,OAAO,CAAC,4BAA4B,GAAG,SAAS,CAAC;IAiB/C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAoB5F,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAYxE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,eAAe,UAAQ,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"grepr-api-client.d.ts","sourceRoot":"","sources":["../../../src/main/typescript/lib/grepr-api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,28 @@ function redactSensitiveHeaders(headers) {
|
|
|
14
14
|
}
|
|
15
15
|
return result;
|
|
16
16
|
}
|
|
17
|
+
/** API error with response status and Retry-After metadata for retry logic. */
|
|
18
|
+
export class ApiError extends Error {
|
|
19
|
+
status;
|
|
20
|
+
retryAfterMs;
|
|
21
|
+
constructor(message, status, retryAfterMs) {
|
|
22
|
+
super(message);
|
|
23
|
+
this.name = 'ApiError';
|
|
24
|
+
this.status = status;
|
|
25
|
+
this.retryAfterMs = retryAfterMs;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/** Parse a `Retry-After` header (delay-seconds or HTTP-date) into milliseconds. */
|
|
29
|
+
function retryAfterMsFromResponse(response) {
|
|
30
|
+
const header = response?.headers?.get('retry-after');
|
|
31
|
+
if (!header)
|
|
32
|
+
return undefined;
|
|
33
|
+
const seconds = Number(header);
|
|
34
|
+
if (Number.isFinite(seconds))
|
|
35
|
+
return Math.max(0, seconds * 1000);
|
|
36
|
+
const dateMs = Date.parse(header);
|
|
37
|
+
return Number.isNaN(dateMs) ? undefined : Math.max(0, dateMs - Date.now());
|
|
38
|
+
}
|
|
17
39
|
/**
|
|
18
40
|
* Main API client for the Grepr CLI using openapi-fetch.
|
|
19
41
|
* This follows the same patterns as the frontend API client.
|
|
@@ -106,7 +128,7 @@ export class GreprApiClient {
|
|
|
106
128
|
}
|
|
107
129
|
async updateJob(id, job, rollbackEnabled = false) {
|
|
108
130
|
// noinspection TypeScriptValidateTypes
|
|
109
|
-
const { data, error } = await this.client.PUT('/v1/jobs/{id}', {
|
|
131
|
+
const { data, error, response } = await this.client.PUT('/v1/jobs/{id}', {
|
|
110
132
|
params: {
|
|
111
133
|
path: { id },
|
|
112
134
|
query: { rollbackEnabled },
|
|
@@ -114,7 +136,7 @@ export class GreprApiClient {
|
|
|
114
136
|
body: job,
|
|
115
137
|
});
|
|
116
138
|
if (error) {
|
|
117
|
-
throw new
|
|
139
|
+
throw new ApiError(`Failed to update job ${id}: ${JSON.stringify(error)}`, response?.status, retryAfterMsFromResponse(response));
|
|
118
140
|
}
|
|
119
141
|
return data;
|
|
120
142
|
}
|
|
@@ -421,7 +443,14 @@ export class GreprApiClient {
|
|
|
421
443
|
return matchingDataset;
|
|
422
444
|
}
|
|
423
445
|
// Sync job submission for the existing sync command - using fetch directly due to streaming
|
|
424
|
-
|
|
446
|
+
/**
|
|
447
|
+
* POST a job to `/v1/jobs/sync` and stream the NDJSON response.
|
|
448
|
+
*
|
|
449
|
+
* @param signal optional AbortSignal; aborting it (e.g. a draft's
|
|
450
|
+
* max-duration cap) ends the returned stream cleanly rather than erroring,
|
|
451
|
+
* so partial output already received is preserved.
|
|
452
|
+
*/
|
|
453
|
+
async submitSyncJob(jobDefinition, signal) {
|
|
425
454
|
const baseUrl = this.auth.config.apiBaseUrl;
|
|
426
455
|
const response = await fetch(`${baseUrl}/v1/jobs/sync`, {
|
|
427
456
|
method: 'POST',
|
|
@@ -430,6 +459,7 @@ export class GreprApiClient {
|
|
|
430
459
|
...(await this.auth.getAuthHeaders()),
|
|
431
460
|
},
|
|
432
461
|
body: JSON.stringify(jobDefinition),
|
|
462
|
+
signal,
|
|
433
463
|
});
|
|
434
464
|
if (!response.ok) {
|
|
435
465
|
let errorText = '';
|
|
@@ -465,7 +495,15 @@ export class GreprApiClient {
|
|
|
465
495
|
}
|
|
466
496
|
}
|
|
467
497
|
catch (error) {
|
|
468
|
-
|
|
498
|
+
// An intentional abort (the caller hit its max-duration cap) is a clean
|
|
499
|
+
// stop, not a failure: end the stream so already-streamed records are
|
|
500
|
+
// treated as a successful partial draft.
|
|
501
|
+
if (signal?.aborted) {
|
|
502
|
+
nodeStream.push(null);
|
|
503
|
+
}
|
|
504
|
+
else {
|
|
505
|
+
nodeStream.destroy(error);
|
|
506
|
+
}
|
|
469
507
|
}
|
|
470
508
|
};
|
|
471
509
|
pump();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grepr-api-client.js","sourceRoot":"","sources":["../../../src/main/typescript/lib/grepr-api-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"grepr-api-client.js","sourceRoot":"","sources":["../../../src/main/typescript/lib/grepr-api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GrokParserType, JsonLogProcessorType, LogAttributesRemapperType } from '../openapi/openApiTypes.js';
|
|
2
|
+
export declare const RAW_PRE_PARSER_FILTER = "pre_parser_filter";
|
|
3
|
+
export declare const RAW_PRE_WAREHOUSE_FILTER = "pre_data_warehouse_filter";
|
|
4
|
+
export declare const RAW_PRE_EXCEPTIONS_FILTER = "pre_exceptions_filter";
|
|
5
|
+
export declare const RAW_JSON_PROCESSOR = "json_log_processor";
|
|
6
|
+
export declare const RAW_ATTRIBUTES_REMAPPER = "log_attributes_remapper";
|
|
7
|
+
export declare const RAW_LOG_REDUCER = "log_reducer";
|
|
8
|
+
export declare const RAW_JSON_PROCESSOR_TYPE = JsonLogProcessorType.json_log_processor;
|
|
9
|
+
export declare const RAW_ATTRIBUTES_REMAPPER_TYPE = LogAttributesRemapperType.log_attributes_remapper;
|
|
10
|
+
export declare const RAW_GROK_PARSER_TYPE = GrokParserType.grok_parser;
|
|
11
|
+
export declare const RAW_PARSER_TYPES: ReadonlySet<string>;
|
|
12
|
+
//# sourceMappingURL=job-graph-log-pipeline-constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-graph-log-pipeline-constants.d.ts","sourceRoot":"","sources":["../../../src/main/typescript/lib/job-graph-log-pipeline-constants.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AACzD,eAAO,MAAM,wBAAwB,8BAA8B,CAAC;AACpE,eAAO,MAAM,yBAAyB,0BAA0B,CAAC;AACjE,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AACvD,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AACjE,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,eAAO,MAAM,uBAAuB,0CAA0C,CAAC;AAC/E,eAAO,MAAM,4BAA4B,oDAAoD,CAAC;AAC9F,eAAO,MAAM,oBAAoB,6BAA6B,CAAC;AAE/D,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAI/C,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { GrokParserType, JsonLogProcessorType, LogAttributesRemapperType, } from '../openapi/openApiTypes.js';
|
|
2
|
+
export const RAW_PRE_PARSER_FILTER = 'pre_parser_filter';
|
|
3
|
+
export const RAW_PRE_WAREHOUSE_FILTER = 'pre_data_warehouse_filter';
|
|
4
|
+
export const RAW_PRE_EXCEPTIONS_FILTER = 'pre_exceptions_filter';
|
|
5
|
+
export const RAW_JSON_PROCESSOR = 'json_log_processor';
|
|
6
|
+
export const RAW_ATTRIBUTES_REMAPPER = 'log_attributes_remapper';
|
|
7
|
+
export const RAW_LOG_REDUCER = 'log_reducer';
|
|
8
|
+
export const RAW_JSON_PROCESSOR_TYPE = JsonLogProcessorType.json_log_processor;
|
|
9
|
+
export const RAW_ATTRIBUTES_REMAPPER_TYPE = LogAttributesRemapperType.log_attributes_remapper;
|
|
10
|
+
export const RAW_GROK_PARSER_TYPE = GrokParserType.grok_parser;
|
|
11
|
+
export const RAW_PARSER_TYPES = new Set([
|
|
12
|
+
RAW_JSON_PROCESSOR_TYPE,
|
|
13
|
+
RAW_ATTRIBUTES_REMAPPER_TYPE,
|
|
14
|
+
RAW_GROK_PARSER_TYPE,
|
|
15
|
+
]);
|
|
16
|
+
//# sourceMappingURL=job-graph-log-pipeline-constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-graph-log-pipeline-constants.js","sourceRoot":"","sources":["../../../src/main/typescript/lib/job-graph-log-pipeline-constants.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAEhC,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AACzD,MAAM,CAAC,MAAM,wBAAwB,GAAG,2BAA2B,CAAC;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAG,uBAAuB,CAAC;AACjE,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AACvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AACjE,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC;AAC7C,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,kBAAkB,CAAC;AAC/E,MAAM,CAAC,MAAM,4BAA4B,GAAG,yBAAyB,CAAC,uBAAuB,CAAC;AAC9F,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC,WAAW,CAAC;AAE/D,MAAM,CAAC,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IAC3D,uBAAuB;IACvB,4BAA4B;IAC5B,oBAAoB;CACrB,CAAC,CAAC"}
|
|
@@ -40,7 +40,28 @@ export interface JobToTestOptions {
|
|
|
40
40
|
testTag?: string;
|
|
41
41
|
/** Custom test job name (default: {original}_test) */
|
|
42
42
|
testName?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Tuning for the logs-event-sampler inserted after each live source in a
|
|
45
|
+
* source-preserving draft. Omitted fields fall back to the UI's draft
|
|
46
|
+
* defaults (see {@link DEFAULT_DRAFT_SAMPLER_BURST}).
|
|
47
|
+
*/
|
|
48
|
+
sampler?: DraftSamplerOptions;
|
|
43
49
|
}
|
|
50
|
+
/** Sampler knobs for a source-preserving draft, mirroring the UI's logs-event-sampler. */
|
|
51
|
+
export interface DraftSamplerOptions {
|
|
52
|
+
/** `maxAllowedRate` in messages/sec; omitted -> server default applies. */
|
|
53
|
+
maxAllowedRate?: number;
|
|
54
|
+
/** `maxBurstLimit` in messages; omitted -> {@link DEFAULT_DRAFT_SAMPLER_BURST}. */
|
|
55
|
+
maxBurstLimit?: number;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Default `maxBurstLimit` for a draft logs-event-sampler. Matches the UI's
|
|
59
|
+
* template-draft fallback (`logSampler?.maxBurstLimit ?? 1000`) so CLI raw-job
|
|
60
|
+
* drafts sample at the same rate as the UI's template drafts. `maxAllowedRate`
|
|
61
|
+
* has no CLI default: when unset we omit it and let the server default apply,
|
|
62
|
+
* exactly as the UI does.
|
|
63
|
+
*/
|
|
64
|
+
export declare const DEFAULT_DRAFT_SAMPLER_BURST = 1000;
|
|
44
65
|
/**
|
|
45
66
|
* Transforms a production job configuration into a test job configuration.
|
|
46
67
|
*
|
|
@@ -70,6 +91,15 @@ export interface JobToTestOptions {
|
|
|
70
91
|
* });
|
|
71
92
|
*/
|
|
72
93
|
export declare function transformJobToTest(originalJob: SchemaCreateJob, options: JobToTestOptions): SchemaCreateJob;
|
|
94
|
+
/**
|
|
95
|
+
* Build a source-preserving draft from a job-graph pipeline: keep the proposed
|
|
96
|
+
* source vertices streaming live (so add/remove-source edits are exercised),
|
|
97
|
+
* interpose a logs-event-sampler after each live source to bound per-source
|
|
98
|
+
* volume, strip production sinks, and fan output into a shared logs-sync-sink.
|
|
99
|
+
* Mirrors the UI's template draft mode for raw (non-templated) jobs. Verifies
|
|
100
|
+
* the graph runs, not external sink delivery.
|
|
101
|
+
*/
|
|
102
|
+
export declare function transformJobGraphToSourcePreservingDraft(originalJob: SchemaCreateJob, options?: JobToTestOptions): SchemaCreateJob;
|
|
73
103
|
/**
|
|
74
104
|
* Displays a summary of the transformations applied to a job.
|
|
75
105
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-graph-transformer.d.ts","sourceRoot":"","sources":["../../../src/main/typescript/lib/job-graph-transformer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAiC,YAAY,EAAE,aAAa,EAAyB,MAAM,aAAa,CAAC;AAChH,OAAO,EAGL,eAAe,
|
|
1
|
+
{"version":3,"file":"job-graph-transformer.d.ts","sourceRoot":"","sources":["../../../src/main/typescript/lib/job-graph-transformer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAiC,YAAY,EAAE,aAAa,EAAyB,MAAM,aAAa,CAAC;AAChH,OAAO,EAGL,eAAe,EAkBhB,MAAM,wBAAwB,CAAC;AAchC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,SAAS,CAAC,EAAE,YAAY,CAAC;IAEzB,sDAAsD;IACtD,UAAU,CAAC,EAAE,aAAa,CAAC;IAE3B,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED,0FAA0F;AAC1F,MAAM,WAAW,mBAAmB;IAClC,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,eAAe,EAC5B,OAAO,EAAE,gBAAgB,GACxB,eAAe,CAwDjB;AA+dD;;;;;;;GAOG;AACH,wBAAgB,wCAAwC,CACtD,WAAW,EAAE,eAAe,EAC5B,OAAO,GAAE,gBAAqB,GAC7B,eAAe,CAkFjB;AA8ID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,QAAQ,CACtB,WAAW,EAAE,eAAe,EAC5B,cAAc,EAAE,eAAe,GAC9B,IAAI,CA4EN"}
|
|
@@ -13,9 +13,18 @@
|
|
|
13
13
|
* The transformed job can then be executed using the standard job:create command.
|
|
14
14
|
*/
|
|
15
15
|
import { DEFAULT_INPUT, DEFAULT_OUTPUT, JobExecution, JobProcessing, Vertex, DEFAULT_LIMIT } from '../types.js';
|
|
16
|
-
import { LogsIcebergTableSourceType, LogsSynchronousSinkType, LogsIcebergTableSinkType, LogTransformActionType, DatadogQueryPredicateType, TagActionModification, TagActionType, LogsValuesSourceType } from '../openapi/openApiTypes.js';
|
|
17
|
-
import { canLimit, parseEdge, generateUUID } from './job-graph-utils.js';
|
|
16
|
+
import { LogsIcebergTableSourceType, LogsSynchronousSinkType, LogsIcebergTableSinkType, LogTransformActionType, DatadogQueryPredicateType, TagActionModification, TagActionType, LogsValuesSourceType, JsonLogProcessorType, GrokParserType, LogAttributesRemapperType, LogsFilterType, LogReducerType, LogsEventSamplerType, GreprUploadedLogFileSourceType, } from '../openapi/openApiTypes.js';
|
|
17
|
+
import { canLimit, parseEdge, generateUUID, } from './job-graph-utils.js';
|
|
18
|
+
import { RAW_JSON_PROCESSOR, RAW_PRE_EXCEPTIONS_FILTER, RAW_PRE_PARSER_FILTER, RAW_PRE_WAREHOUSE_FILTER, } from './job-graph-log-pipeline-constants.js';
|
|
18
19
|
import fs from 'fs-extra';
|
|
20
|
+
/**
|
|
21
|
+
* Default `maxBurstLimit` for a draft logs-event-sampler. Matches the UI's
|
|
22
|
+
* template-draft fallback (`logSampler?.maxBurstLimit ?? 1000`) so CLI raw-job
|
|
23
|
+
* drafts sample at the same rate as the UI's template drafts. `maxAllowedRate`
|
|
24
|
+
* has no CLI default: when unset we omit it and let the server default apply,
|
|
25
|
+
* exactly as the UI does.
|
|
26
|
+
*/
|
|
27
|
+
export const DEFAULT_DRAFT_SAMPLER_BURST = 1000;
|
|
19
28
|
/**
|
|
20
29
|
* Transforms a production job configuration into a test job configuration.
|
|
21
30
|
*
|
|
@@ -148,10 +157,10 @@ function transformSources(jobGraph, processing, options) {
|
|
|
148
157
|
* @throws Error if the file cannot be read or parsed
|
|
149
158
|
*/
|
|
150
159
|
function transformSourcesToSampleData(jobGraph, sampleDataFile) {
|
|
151
|
-
// Read and parse the sample data file
|
|
152
160
|
if (!fs.existsSync(sampleDataFile)) {
|
|
153
161
|
throw new Error(`Sample data file not found: ${sampleDataFile}`);
|
|
154
162
|
}
|
|
163
|
+
// Read and parse the sample data file
|
|
155
164
|
let sampleLogs;
|
|
156
165
|
try {
|
|
157
166
|
const fileContent = fs.readFileSync(sampleDataFile, 'utf-8');
|
|
@@ -212,7 +221,6 @@ function transformSourcesToSampleData(jobGraph, sampleDataFile) {
|
|
|
212
221
|
* @returns Transformed job graph with dataset source
|
|
213
222
|
*/
|
|
214
223
|
function transformSourcesToDatasetQuery(jobGraph, datasetId, query, start, end, processing, limitRecords) {
|
|
215
|
-
// Create a new Iceberg table source with the specified configuration
|
|
216
224
|
const newSource = {
|
|
217
225
|
type: LogsIcebergTableSourceType.logs_iceberg_table_source,
|
|
218
226
|
name: 'test_dataset_source',
|
|
@@ -258,7 +266,6 @@ function transformSourcesToDatasetQuery(jobGraph, datasetId, query, start, end,
|
|
|
258
266
|
function transformSourcesInPlace(jobGraph, processing, limitRecords) {
|
|
259
267
|
for (const vertex of jobGraph.values()) {
|
|
260
268
|
if (!isSource(vertex)) {
|
|
261
|
-
// Not a source vertex
|
|
262
269
|
continue;
|
|
263
270
|
}
|
|
264
271
|
if (processing === JobProcessing.BATCH && limitRecords && canLimit(vertex.operation)) {
|
|
@@ -417,6 +424,265 @@ function createTestTagOperation(name, testRunId, edge) {
|
|
|
417
424
|
}
|
|
418
425
|
const isSource = (vertex) => vertex.prev.size === 0;
|
|
419
426
|
const isSink = (vertex) => vertex.next.size === 0;
|
|
427
|
+
/**
|
|
428
|
+
* Vertex types tapped by type (the ones `applyPatchToJobGraph` mutates), so
|
|
429
|
+
* legacy graphs with noncanonical names still tap the edited vertex. Pass-through
|
|
430
|
+
* stages are matched by name instead (see {@link TAP_STAGE_NAME_TYPES}) because
|
|
431
|
+
* linearizing parallel per-sink `logs-filter` vertices would change draft semantics.
|
|
432
|
+
* Tap-eligible vertices fork their output to the shared sync sink (tagged for demux);
|
|
433
|
+
* sources keep streaming live and sinks collapse into that one shared sync sink.
|
|
434
|
+
*/
|
|
435
|
+
const TAP_MUTABLE_TYPES = new Set([
|
|
436
|
+
GrokParserType.grok_parser,
|
|
437
|
+
LogAttributesRemapperType.log_attributes_remapper,
|
|
438
|
+
LogReducerType.log_reducer,
|
|
439
|
+
]);
|
|
440
|
+
const TAP_STAGE_NAME_TYPES = new Map([
|
|
441
|
+
[RAW_PRE_PARSER_FILTER, LogsFilterType.logs_filter],
|
|
442
|
+
[RAW_JSON_PROCESSOR, JsonLogProcessorType.json_log_processor],
|
|
443
|
+
[RAW_PRE_WAREHOUSE_FILTER, LogsFilterType.logs_filter],
|
|
444
|
+
[RAW_PRE_EXCEPTIONS_FILTER, LogsFilterType.logs_filter],
|
|
445
|
+
]);
|
|
446
|
+
function isTapEligible(vertex) {
|
|
447
|
+
if (TAP_MUTABLE_TYPES.has(vertex.type)) {
|
|
448
|
+
return true;
|
|
449
|
+
}
|
|
450
|
+
return TAP_STAGE_NAME_TYPES.get(vertex.name) === vertex.type;
|
|
451
|
+
}
|
|
452
|
+
/**
|
|
453
|
+
* Tap-eligible vertices in topological order (Kahn's algorithm). Uses edges,
|
|
454
|
+
* not vertex-array order, since the array order isn't guaranteed topological.
|
|
455
|
+
*/
|
|
456
|
+
function collectTapEligibleInOrder(jobGraph) {
|
|
457
|
+
const vertices = jobGraph.vertices ?? [];
|
|
458
|
+
const edges = jobGraph.edges ?? [];
|
|
459
|
+
const verticesByName = new Map();
|
|
460
|
+
for (const v of vertices) {
|
|
461
|
+
if (v.name)
|
|
462
|
+
verticesByName.set(v.name, v);
|
|
463
|
+
}
|
|
464
|
+
const downstream = new Map();
|
|
465
|
+
const inboundCount = new Map();
|
|
466
|
+
for (const v of vertices) {
|
|
467
|
+
if (v.name) {
|
|
468
|
+
downstream.set(v.name, []);
|
|
469
|
+
inboundCount.set(v.name, 0);
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
for (const edge of edges) {
|
|
473
|
+
const { sourceVertex, targetVertex } = parseEdge(edge);
|
|
474
|
+
downstream.get(sourceVertex)?.push(targetVertex);
|
|
475
|
+
inboundCount.set(targetVertex, (inboundCount.get(targetVertex) ?? 0) + 1);
|
|
476
|
+
}
|
|
477
|
+
const queue = [];
|
|
478
|
+
for (const [name, count] of inboundCount) {
|
|
479
|
+
if (count === 0)
|
|
480
|
+
queue.push(name);
|
|
481
|
+
}
|
|
482
|
+
const ordered = [];
|
|
483
|
+
const processed = new Set();
|
|
484
|
+
while (queue.length > 0) {
|
|
485
|
+
const name = queue.shift();
|
|
486
|
+
processed.add(name);
|
|
487
|
+
const vertex = verticesByName.get(name);
|
|
488
|
+
if (vertex && isTapEligible(vertex)) {
|
|
489
|
+
ordered.push(vertex);
|
|
490
|
+
}
|
|
491
|
+
for (const child of downstream.get(name) ?? []) {
|
|
492
|
+
const remaining = (inboundCount.get(child) ?? 0) - 1;
|
|
493
|
+
inboundCount.set(child, remaining);
|
|
494
|
+
if (remaining === 0)
|
|
495
|
+
queue.push(child);
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
if (processed.size < verticesByName.size) {
|
|
499
|
+
throw new Error(`Unsupported raw job graph shape: cycle detected while building tapped draft ` +
|
|
500
|
+
`(${processed.size}/${verticesByName.size} vertices were topologically reachable).`);
|
|
501
|
+
}
|
|
502
|
+
return ordered;
|
|
503
|
+
}
|
|
504
|
+
/**
|
|
505
|
+
* Build a source-preserving draft from a job-graph pipeline: keep the proposed
|
|
506
|
+
* source vertices streaming live (so add/remove-source edits are exercised),
|
|
507
|
+
* interpose a logs-event-sampler after each live source to bound per-source
|
|
508
|
+
* volume, strip production sinks, and fan output into a shared logs-sync-sink.
|
|
509
|
+
* Mirrors the UI's template draft mode for raw (non-templated) jobs. Verifies
|
|
510
|
+
* the graph runs, not external sink delivery.
|
|
511
|
+
*/
|
|
512
|
+
export function transformJobGraphToSourcePreservingDraft(originalJob, options = {}) {
|
|
513
|
+
if (!originalJob.jobGraph) {
|
|
514
|
+
throw new Error('Job graph is required');
|
|
515
|
+
}
|
|
516
|
+
const graph = structuredClone(originalJob.jobGraph);
|
|
517
|
+
const existingNames = new Set();
|
|
518
|
+
for (const vertex of graph.vertices) {
|
|
519
|
+
if (vertex.name)
|
|
520
|
+
existingNames.add(vertex.name);
|
|
521
|
+
}
|
|
522
|
+
const targetProcessing = options.processing ?? originalJob.processing ?? JobProcessing.STREAMING;
|
|
523
|
+
const sinkNames = new Set(graph.vertices
|
|
524
|
+
.filter(isProductionSinkOperation)
|
|
525
|
+
.map(vertex => vertex.name)
|
|
526
|
+
.filter((name) => typeof name === 'string' && name.length > 0));
|
|
527
|
+
const originalParsedEdges = parseGraphEdges(graph.edges ?? []);
|
|
528
|
+
const sinkInboundEdges = originalParsedEdges.filter(edge => sinkNames.has(edge.targetVertex));
|
|
529
|
+
const retainedVertices = graph.vertices.filter(vertex => !sinkNames.has(vertex.name));
|
|
530
|
+
const retainedEdges = (graph.edges ?? []).filter(edge => !edgeTouchesAny(edge, sinkNames));
|
|
531
|
+
// Interpose a logs-event-sampler after each live source (mutates the retained
|
|
532
|
+
// vertices/edges in place) so the live stream is rate-limited, mirroring the
|
|
533
|
+
// UI's template draft mode. Done before the tap/sink wiring below so the
|
|
534
|
+
// sampler vertices are part of the graph the rest of this function reasons over.
|
|
535
|
+
insertSourceSamplers(retainedVertices, retainedEdges, existingNames, options.sampler);
|
|
536
|
+
const syncSinkName = uniqueDraftName(existingNames, 'draft_source_preserving_sink');
|
|
537
|
+
existingNames.add(syncSinkName);
|
|
538
|
+
const syncSink = makeOperation(LogsSynchronousSinkType.logs_sync_sink, syncSinkName);
|
|
539
|
+
const tapVertices = collectTapEligibleInOrder({ vertices: retainedVertices, edges: retainedEdges });
|
|
540
|
+
const tapEligibleNames = new Set(tapVertices
|
|
541
|
+
.map(vertex => vertex.name)
|
|
542
|
+
.filter((name) => typeof name === 'string' && name.length > 0));
|
|
543
|
+
const draftEdges = [...retainedEdges];
|
|
544
|
+
for (const inbound of sinkInboundEdges) {
|
|
545
|
+
// Tap-eligible sink-predecessors reach the sync sink through their tagger
|
|
546
|
+
// below; adding a direct edge here too would deliver their records twice
|
|
547
|
+
// (once untagged, once tagged), inflating counts the per-stage demux can't
|
|
548
|
+
// attribute. Route them only through the tagger.
|
|
549
|
+
if (tapEligibleNames.has(inbound.sourceVertex))
|
|
550
|
+
continue;
|
|
551
|
+
addDraftEdgeIfMissing(draftEdges, inbound.sourceVertex, inbound.sourcePort, syncSinkName, DEFAULT_INPUT);
|
|
552
|
+
}
|
|
553
|
+
// Fallback: no production sinks had recorded inbound edges; wire all terminal vertices to the sync sink.
|
|
554
|
+
if (sinkInboundEdges.length === 0) {
|
|
555
|
+
for (const terminal of terminalVertices(retainedVertices, retainedEdges)) {
|
|
556
|
+
if (tapEligibleNames.has(terminal.name))
|
|
557
|
+
continue; // same double-delivery reasoning as above
|
|
558
|
+
addDraftEdgeIfMissing(draftEdges, terminal.name, DEFAULT_OUTPUT, syncSinkName, DEFAULT_INPUT);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
const taggerVertices = [];
|
|
562
|
+
for (const tapVertex of tapVertices) {
|
|
563
|
+
if (!tapVertex.name)
|
|
564
|
+
continue;
|
|
565
|
+
const taggerName = uniqueDraftName(existingNames, `tap_${tapVertex.name}`);
|
|
566
|
+
existingNames.add(taggerName);
|
|
567
|
+
const tagger = makeSinkSourceTagger(taggerName, tapVertex.name);
|
|
568
|
+
taggerVertices.push(tagger);
|
|
569
|
+
addDraftEdgeIfMissing(draftEdges, tapVertex.name, DEFAULT_OUTPUT, taggerName, DEFAULT_INPUT);
|
|
570
|
+
addDraftEdgeIfMissing(draftEdges, taggerName, DEFAULT_OUTPUT, syncSinkName, DEFAULT_INPUT);
|
|
571
|
+
}
|
|
572
|
+
return {
|
|
573
|
+
...originalJob,
|
|
574
|
+
name: options.testName ?? `${originalJob.name}_draft`,
|
|
575
|
+
execution: JobExecution.SYNCHRONOUS,
|
|
576
|
+
processing: targetProcessing,
|
|
577
|
+
tags: {
|
|
578
|
+
...(originalJob.tags ?? {}),
|
|
579
|
+
},
|
|
580
|
+
jobGraph: {
|
|
581
|
+
vertices: [...retainedVertices, ...taggerVertices, syncSink],
|
|
582
|
+
edges: draftEdges,
|
|
583
|
+
},
|
|
584
|
+
};
|
|
585
|
+
}
|
|
586
|
+
function parseGraphEdges(edges) {
|
|
587
|
+
return edges.map(edge => parseEdge(edge));
|
|
588
|
+
}
|
|
589
|
+
function edgeTouchesAny(edge, names) {
|
|
590
|
+
const parsed = parseEdge(edge);
|
|
591
|
+
return names.has(parsed.sourceVertex) || names.has(parsed.targetVertex);
|
|
592
|
+
}
|
|
593
|
+
function isProductionSinkOperation(operation) {
|
|
594
|
+
return typeof operation.type === 'string' && operation.type.endsWith('-sink');
|
|
595
|
+
}
|
|
596
|
+
function makeOperation(type, name, extra = {}) {
|
|
597
|
+
return { type, name, ...extra };
|
|
598
|
+
}
|
|
599
|
+
/** A `log-transform` vertex that tags records with `sink-source=<sourceName>` for per-stage demux. */
|
|
600
|
+
function makeSinkSourceTagger(taggerName, sourceName) {
|
|
601
|
+
return makeOperation(LogTransformActionType.log_transform, taggerName, {
|
|
602
|
+
transforms: [
|
|
603
|
+
{ type: TagActionType.tag_action, modification: TagActionModification.ADD, tagKey: 'sink-source', values: [sourceName], order: 0 },
|
|
604
|
+
],
|
|
605
|
+
});
|
|
606
|
+
}
|
|
607
|
+
/** A `logs-event-sampler` vertex tuned for a draft, mirroring the UI's template draft sampler. */
|
|
608
|
+
function makeEventSampler(name, sampler) {
|
|
609
|
+
const extra = {
|
|
610
|
+
maxBurstLimit: sampler?.maxBurstLimit ?? DEFAULT_DRAFT_SAMPLER_BURST,
|
|
611
|
+
};
|
|
612
|
+
// Omit maxAllowedRate unless set so the server's sampler default applies, exactly as the UI does.
|
|
613
|
+
if (sampler?.maxAllowedRate !== undefined) {
|
|
614
|
+
extra.maxAllowedRate = sampler.maxAllowedRate;
|
|
615
|
+
}
|
|
616
|
+
return makeOperation(LogsEventSamplerType.logs_event_sampler, name, extra);
|
|
617
|
+
}
|
|
618
|
+
/**
|
|
619
|
+
* Interpose a logs-event-sampler between each live source and its downstream
|
|
620
|
+
* targets, rewiring `source -> target` into `source -> sampler -> target`.
|
|
621
|
+
* Mutates `vertices` (appends samplers) and `edges` (rewires) in place.
|
|
622
|
+
*
|
|
623
|
+
* A source is any vertex with no inbound edge. Uploaded-log-file sources are
|
|
624
|
+
* skipped, matching the UI, which doesn't rate-limit uploaded-file drafts.
|
|
625
|
+
* Isolated sources (no outbound edge) get no sampler — there's nothing to bound.
|
|
626
|
+
*/
|
|
627
|
+
function insertSourceSamplers(vertices, edges, existingNames, sampler) {
|
|
628
|
+
const targets = new Set(parseGraphEdges(edges).map(edge => edge.targetVertex));
|
|
629
|
+
const sources = vertices.filter((vertex) => typeof vertex.name === 'string' &&
|
|
630
|
+
vertex.name.length > 0 &&
|
|
631
|
+
!targets.has(vertex.name) &&
|
|
632
|
+
vertex.type !== GreprUploadedLogFileSourceType.grepr_uploaded_log_file_source);
|
|
633
|
+
for (const source of sources) {
|
|
634
|
+
const outbound = parseGraphEdges(edges).filter(edge => edge.sourceVertex === source.name);
|
|
635
|
+
if (outbound.length === 0)
|
|
636
|
+
continue;
|
|
637
|
+
const samplerName = uniqueDraftName(existingNames, `${source.name}_draft_sampler`);
|
|
638
|
+
existingNames.add(samplerName);
|
|
639
|
+
vertices.push(makeEventSampler(samplerName, sampler));
|
|
640
|
+
// Drop the source's outbound edges, then relink them through the sampler.
|
|
641
|
+
for (let i = edges.length - 1; i >= 0; i--) {
|
|
642
|
+
if (parseEdge(edges[i]).sourceVertex === source.name)
|
|
643
|
+
edges.splice(i, 1);
|
|
644
|
+
}
|
|
645
|
+
edges.push(formatDraftEdge(source.name, outbound[0]?.sourcePort ?? DEFAULT_OUTPUT, samplerName, DEFAULT_INPUT));
|
|
646
|
+
for (const edge of outbound) {
|
|
647
|
+
edges.push(formatDraftEdge(samplerName, DEFAULT_OUTPUT, edge.targetVertex, edge.targetPort));
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
function terminalVertices(vertices, edges) {
|
|
652
|
+
const sources = new Set();
|
|
653
|
+
const targets = new Set();
|
|
654
|
+
for (const edge of parseGraphEdges(edges)) {
|
|
655
|
+
sources.add(edge.sourceVertex);
|
|
656
|
+
targets.add(edge.targetVertex);
|
|
657
|
+
}
|
|
658
|
+
return vertices.filter(vertex => typeof vertex.name === 'string' &&
|
|
659
|
+
vertex.name.length > 0 &&
|
|
660
|
+
!sources.has(vertex.name) &&
|
|
661
|
+
targets.has(vertex.name));
|
|
662
|
+
}
|
|
663
|
+
function uniqueDraftName(existing, base) {
|
|
664
|
+
if (!existing.has(base))
|
|
665
|
+
return base;
|
|
666
|
+
let i = 1;
|
|
667
|
+
while (existing.has(`${base}_${i}`)) {
|
|
668
|
+
i += 1;
|
|
669
|
+
}
|
|
670
|
+
return `${base}_${i}`;
|
|
671
|
+
}
|
|
672
|
+
function formatDraftEdge(sourceVertex, sourcePort, targetVertex, targetPort) {
|
|
673
|
+
const source = sourcePort === DEFAULT_OUTPUT ? sourceVertex : `${sourceVertex}:${sourcePort}`;
|
|
674
|
+
const target = targetPort === DEFAULT_INPUT ? targetVertex : `${targetVertex}:${targetPort}`;
|
|
675
|
+
return `${source} -> ${target}`;
|
|
676
|
+
}
|
|
677
|
+
function addDraftEdgeIfMissing(edges, sourceVertex, sourcePort, targetVertex, targetPort) {
|
|
678
|
+
const exists = parseGraphEdges(edges).some(edge => edge.sourceVertex === sourceVertex &&
|
|
679
|
+
edge.sourcePort === sourcePort &&
|
|
680
|
+
edge.targetVertex === targetVertex &&
|
|
681
|
+
edge.targetPort === targetPort);
|
|
682
|
+
if (!exists) {
|
|
683
|
+
edges.push(formatDraftEdge(sourceVertex, sourcePort, targetVertex, targetPort));
|
|
684
|
+
}
|
|
685
|
+
}
|
|
420
686
|
/**
|
|
421
687
|
* Displays a summary of the transformations applied to a job.
|
|
422
688
|
*
|