@grepr/cli 1.6.29-bea24ac → 1.6.42-91f3e80
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/backfill-command.d.ts +17 -0
- package/build/dist/commands/backfill-command.d.ts.map +1 -0
- package/build/dist/commands/backfill-command.js +115 -0
- package/build/dist/commands/backfill-command.js.map +1 -0
- package/build/dist/commands/job-draft-command.js +5 -6
- package/build/dist/commands/job-draft-command.js.map +1 -1
- package/build/dist/commands/query-command.d.ts +4 -18
- package/build/dist/commands/query-command.d.ts.map +1 -1
- package/build/dist/commands/query-command.js +5 -49
- package/build/dist/commands/query-command.js.map +1 -1
- package/build/dist/commands/sql-validate-command.d.ts +7 -0
- package/build/dist/commands/sql-validate-command.d.ts.map +1 -0
- package/build/dist/commands/sql-validate-command.js +29 -0
- package/build/dist/commands/sql-validate-command.js.map +1 -0
- package/build/dist/grepr.d.ts +1 -1
- package/build/dist/grepr.d.ts.map +1 -1
- package/build/dist/grepr.js +6 -0
- package/build/dist/grepr.js.map +1 -1
- package/build/dist/lib/backfill-grepr-link.d.ts +9 -0
- package/build/dist/lib/backfill-grepr-link.d.ts.map +1 -0
- package/build/dist/lib/backfill-grepr-link.js +31 -0
- package/build/dist/lib/backfill-grepr-link.js.map +1 -0
- package/build/dist/lib/backfill-vendor-links.d.ts +15 -0
- package/build/dist/lib/backfill-vendor-links.d.ts.map +1 -0
- package/build/dist/lib/backfill-vendor-links.js +181 -0
- package/build/dist/lib/backfill-vendor-links.js.map +1 -0
- package/build/dist/lib/backfill-vendors.d.ts +45 -0
- package/build/dist/lib/backfill-vendors.d.ts.map +1 -0
- package/build/dist/lib/backfill-vendors.js +43 -0
- package/build/dist/lib/backfill-vendors.js.map +1 -0
- package/build/dist/lib/backfill.d.ts +51 -0
- package/build/dist/lib/backfill.d.ts.map +1 -0
- package/build/dist/lib/backfill.js +343 -0
- package/build/dist/lib/backfill.js.map +1 -0
- package/build/dist/lib/grepr-api-client.d.ts +2 -1
- package/build/dist/lib/grepr-api-client.d.ts.map +1 -1
- package/build/dist/lib/grepr-api-client.js +13 -0
- package/build/dist/lib/grepr-api-client.js.map +1 -1
- package/build/dist/lib/job-patch.d.ts +34 -2
- package/build/dist/lib/job-patch.d.ts.map +1 -1
- package/build/dist/lib/job-patch.js +271 -16
- package/build/dist/lib/job-patch.js.map +1 -1
- package/build/dist/lib/job-plan.d.ts +1 -1
- package/build/dist/lib/job-plan.d.ts.map +1 -1
- package/build/dist/lib/job-plan.js +14 -14
- package/build/dist/lib/job-plan.js.map +1 -1
- package/build/dist/lib/query-predicate.d.ts +28 -0
- package/build/dist/lib/query-predicate.d.ts.map +1 -0
- package/build/dist/lib/query-predicate.js +66 -0
- package/build/dist/lib/query-predicate.js.map +1 -0
- package/build/dist/lib/time-utils.d.ts +25 -0
- package/build/dist/lib/time-utils.d.ts.map +1 -1
- package/build/dist/lib/time-utils.js +71 -0
- package/build/dist/lib/time-utils.js.map +1 -1
- package/build/dist/lib/transformers-embeddings.d.ts.map +1 -1
- package/build/dist/lib/transformers-embeddings.js +14 -1
- package/build/dist/lib/transformers-embeddings.js.map +1 -1
- package/build/dist/openapi/openApiTypes.d.ts +521 -20
- package/build/dist/openapi/openApiTypes.d.ts.map +1 -1
- package/build/dist/openapi/openApiTypes.js +43 -1
- package/build/dist/openapi/openApiTypes.js.map +1 -1
- package/build/dist/types.d.ts +3 -7
- package/build/dist/types.d.ts.map +1 -1
- package/build/dist/types.js +1 -1
- package/build/dist/types.js.map +1 -1
- package/package.json +15 -16
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { DatadogLogSinkType, LogsBackfillFlinkSourceType, NewRelicLogSinkType, OtlpLogSinkType, ReadDatadogType, ReadNewRelicType, ReadOtlpType, ReadSplunkType, ReadSumoType, SplunkLogSinkType, SumoLogSinkType } from '../openapi/openApiTypes.js';
|
|
2
|
+
import { findBackfillVendor, isBackfillLogSink, isSupportedBackfillIntegrationType } from './backfill-vendors.js';
|
|
3
|
+
const DATADOG_REGIONAL_SITE_PREFIX_RE = /^(us|eu|ap)\d+\./;
|
|
4
|
+
/** CLI-local because the frontend link builders depend on browser-only sink classes. */
|
|
5
|
+
export function buildBackfillVendorLinks(job, integrations) {
|
|
6
|
+
const source = job.jobGraph.vertices.find(isLogsBackfillSource);
|
|
7
|
+
if (!source?.start || !source?.end) {
|
|
8
|
+
return [];
|
|
9
|
+
}
|
|
10
|
+
const integrationsById = new Map(integrations.map(integration => [integration.id, integration]));
|
|
11
|
+
return job.jobGraph.vertices
|
|
12
|
+
.filter(isBackfillLogSink)
|
|
13
|
+
.map((sink) => {
|
|
14
|
+
const integration = integrationsById.get(sink.integrationId);
|
|
15
|
+
if (!integration || !isSupportedBackfillIntegrationType(integration.type)) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const vendor = findBackfillVendor(integration.type, sink.type);
|
|
19
|
+
if (!vendor) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
const url = buildVendorUrl(integration, sink, source.start, source.end);
|
|
23
|
+
if (!url) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
integrationId: integration.id,
|
|
28
|
+
integrationName: integration.name,
|
|
29
|
+
vendorType: integration.type,
|
|
30
|
+
label: `View in ${vendor.vendorName}`,
|
|
31
|
+
url
|
|
32
|
+
};
|
|
33
|
+
})
|
|
34
|
+
.filter((link) => link !== null);
|
|
35
|
+
}
|
|
36
|
+
function isLogsBackfillSource(vertex) {
|
|
37
|
+
return vertex.type === LogsBackfillFlinkSourceType.logs_backfill_iceberg_table_source;
|
|
38
|
+
}
|
|
39
|
+
function buildVendorUrl(integration, sink, start, end) {
|
|
40
|
+
switch (sink.type) {
|
|
41
|
+
case DatadogLogSinkType.datadog_log_sink:
|
|
42
|
+
return integration.type === ReadDatadogType.datadog
|
|
43
|
+
? buildDatadogUrl(integration, sink, start, end)
|
|
44
|
+
: null;
|
|
45
|
+
case SplunkLogSinkType.splunk_log_sink:
|
|
46
|
+
return integration.type === ReadSplunkType.splunk
|
|
47
|
+
? buildSplunkUrl(integration, sink, start, end)
|
|
48
|
+
: null;
|
|
49
|
+
case NewRelicLogSinkType.newrelic_log_sink:
|
|
50
|
+
return integration.type === ReadNewRelicType.newrelic
|
|
51
|
+
? buildNewRelicUrl(integration, sink, start, end)
|
|
52
|
+
: null;
|
|
53
|
+
case SumoLogSinkType.sumologic_log_sink:
|
|
54
|
+
return integration.type === ReadSumoType.sumo
|
|
55
|
+
? buildSumoUrl(sink, start, end)
|
|
56
|
+
: null;
|
|
57
|
+
case OtlpLogSinkType.otlp_log_sink:
|
|
58
|
+
return integration.type === ReadOtlpType.otlp
|
|
59
|
+
? buildOtlpUrl(integration, sink, start, end)
|
|
60
|
+
: null;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function buildDatadogUrl(integration, sink, start, end) {
|
|
64
|
+
const params = new URLSearchParams();
|
|
65
|
+
params.set('from_ts', Date.parse(start).toString());
|
|
66
|
+
params.set('to_ts', Date.parse(end).toString());
|
|
67
|
+
params.set('live', 'false');
|
|
68
|
+
params.append('query', tagsToDatadogQuery(sink.additionalTags ?? []));
|
|
69
|
+
return `${getDatadogLogsUrl(integration.payload?.site)}?${params.toString()}`;
|
|
70
|
+
}
|
|
71
|
+
function getDatadogLogsUrl(site) {
|
|
72
|
+
if (!site) {
|
|
73
|
+
return 'https://app.datadoghq.com/logs';
|
|
74
|
+
}
|
|
75
|
+
if (site.includes('localhost') || site.includes('svc.cluster.local')) {
|
|
76
|
+
return `http://${site}/logs`;
|
|
77
|
+
}
|
|
78
|
+
const baseUrl = DATADOG_REGIONAL_SITE_PREFIX_RE.test(site)
|
|
79
|
+
? `https://${site}`
|
|
80
|
+
: `https://app.${site}`;
|
|
81
|
+
return `${baseUrl}/logs`;
|
|
82
|
+
}
|
|
83
|
+
function tagsToDatadogQuery(tags) {
|
|
84
|
+
const queryTags = {};
|
|
85
|
+
tags.forEach(tag => {
|
|
86
|
+
const separatorIndex = tag.indexOf(':');
|
|
87
|
+
const key = tag.slice(0, separatorIndex);
|
|
88
|
+
const values = tag.slice(separatorIndex + 1).split(',');
|
|
89
|
+
values.forEach(value => {
|
|
90
|
+
if (queryTags[key]) {
|
|
91
|
+
queryTags[key].push(value);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
queryTags[key] = [value];
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
return Object.entries(queryTags)
|
|
99
|
+
.map(([key, values]) => `${key}:(${values.map(value => `"${value.toLowerCase()}"`).join(' OR ')})`)
|
|
100
|
+
.join(' ');
|
|
101
|
+
}
|
|
102
|
+
function buildSplunkUrl(integration, sink, start, end) {
|
|
103
|
+
const host = integration.payload?.splunkHost || integration.payload?.webHost;
|
|
104
|
+
if (!host) {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
let port = integration.payload?.webPort;
|
|
108
|
+
if (!port) {
|
|
109
|
+
port = integration.payload?.secure ? '443' : '8000';
|
|
110
|
+
}
|
|
111
|
+
const protocol = port === '443' ? 'https' : 'http';
|
|
112
|
+
const params = new URLSearchParams();
|
|
113
|
+
params.set('earliest', Math.floor(Date.parse(start) / 1000).toString());
|
|
114
|
+
params.set('latest', (Math.floor(Date.parse(end)) / 1000).toString());
|
|
115
|
+
params.set('q', tagsToSplunkQuery(sink.additionalTags ?? []));
|
|
116
|
+
return `${protocol}://${host}:${port}/app/search/search?${params.toString()}`;
|
|
117
|
+
}
|
|
118
|
+
function tagsToSplunkQuery(tags) {
|
|
119
|
+
const queryTags = {};
|
|
120
|
+
tags.forEach(tag => {
|
|
121
|
+
const normalizedTag = tag.replace(':', '=');
|
|
122
|
+
const separatorIndex = normalizedTag.indexOf('=');
|
|
123
|
+
const key = normalizedTag.slice(0, separatorIndex);
|
|
124
|
+
queryTags[key] = normalizedTag.slice(separatorIndex + 1)
|
|
125
|
+
.split(',')
|
|
126
|
+
.map(value => value.trim());
|
|
127
|
+
});
|
|
128
|
+
const splunkQueryTags = Object.entries(queryTags)
|
|
129
|
+
.map(([key, values]) => `${key}=${values.join(',')}`)
|
|
130
|
+
.join(' ');
|
|
131
|
+
return `search ${splunkQueryTags}`;
|
|
132
|
+
}
|
|
133
|
+
function buildNewRelicUrl(integration, sink, start, end) {
|
|
134
|
+
const params = new URLSearchParams();
|
|
135
|
+
if (integration.payload?.accountId) {
|
|
136
|
+
params.set('platform[accountId]', integration.payload.accountId);
|
|
137
|
+
}
|
|
138
|
+
params.set('launcher', attributesToNewRelicLauncher(sink.additionalAttributes ?? {}, start, end));
|
|
139
|
+
return `https://one.newrelic.com/launcher/logger.log-launcher?${params.toString()}`;
|
|
140
|
+
}
|
|
141
|
+
function attributesToNewRelicLauncher(attributes, start, end) {
|
|
142
|
+
const query = Object.entries(attributes)
|
|
143
|
+
.map(([key, value]) => `${key}:"${value}"`)
|
|
144
|
+
.join(' ');
|
|
145
|
+
const launcherConfig = {
|
|
146
|
+
isEntitled: true,
|
|
147
|
+
query,
|
|
148
|
+
eventTypes: ['Log_Logging'],
|
|
149
|
+
timeRange: {
|
|
150
|
+
begin_time: new Date(start).getTime(),
|
|
151
|
+
end_time: new Date(end).getTime()
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
return Buffer.from(JSON.stringify(launcherConfig), 'utf8').toString('base64');
|
|
155
|
+
}
|
|
156
|
+
function buildSumoUrl(sink, start, end) {
|
|
157
|
+
const startTimestamp = new Date(start).getTime();
|
|
158
|
+
const endTimestamp = new Date(end).getTime();
|
|
159
|
+
return `https://service.sumologic.com/ui/index.html#section/search/@${startTimestamp},${endTimestamp}@${attributesToSumoQuery(sink.additionalAttributes ?? {})}`;
|
|
160
|
+
}
|
|
161
|
+
function buildOtlpUrl(integration, sink, start, end) {
|
|
162
|
+
const baseUrl = integration.payload?.logsEndpoint || integration.payload?.endpoint;
|
|
163
|
+
if (!baseUrl) {
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
const startTimestamp = new Date(start).getTime();
|
|
167
|
+
const endTimestamp = new Date(end).getTime();
|
|
168
|
+
return `${baseUrl}/@${startTimestamp},${endTimestamp}@${attributesToOtlpQuery(sink.additionalAttributes ?? {})}`;
|
|
169
|
+
}
|
|
170
|
+
function attributesToSumoQuery(attributes) {
|
|
171
|
+
const whereClause = Object.entries(attributes)
|
|
172
|
+
.map(([key, value]) => `${key}="${value}"`)
|
|
173
|
+
.join(' and ');
|
|
174
|
+
return encodeURIComponent(`_source=?? | where ${whereClause}`);
|
|
175
|
+
}
|
|
176
|
+
function attributesToOtlpQuery(attributes) {
|
|
177
|
+
return encodeURIComponent(Object.entries(attributes)
|
|
178
|
+
.map(([key, value]) => `${key}=${value}`)
|
|
179
|
+
.join(' '));
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=backfill-vendor-links.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backfill-vendor-links.js","sourceRoot":"","sources":["../../../src/main/typescript/lib/backfill-vendor-links.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { DatadogLogSinkType, NewRelicLogSinkType, OtlpLogSinkType, ReadDatadogType, ReadNewRelicType, ReadOtlpType, ReadSplunkType, ReadSumoType, SplunkLogSinkType, SumoLogSinkType, type SchemaOperation } from '../openapi/openApiTypes.js';
|
|
2
|
+
import type { IntegrationReadType } from '../types.js';
|
|
3
|
+
interface BackfillVendorDescriptor {
|
|
4
|
+
integrationType: IntegrationReadType['type'];
|
|
5
|
+
sinkType: SchemaOperation['type'];
|
|
6
|
+
vendorName: string;
|
|
7
|
+
maxBackfillAgeHours?: number;
|
|
8
|
+
}
|
|
9
|
+
declare const BACKFILL_VENDORS: ({
|
|
10
|
+
integrationType: ReadDatadogType;
|
|
11
|
+
sinkType: DatadogLogSinkType;
|
|
12
|
+
vendorName: string;
|
|
13
|
+
maxBackfillAgeHours: number;
|
|
14
|
+
} | {
|
|
15
|
+
integrationType: ReadSplunkType;
|
|
16
|
+
sinkType: SplunkLogSinkType;
|
|
17
|
+
vendorName: string;
|
|
18
|
+
maxBackfillAgeHours?: undefined;
|
|
19
|
+
} | {
|
|
20
|
+
integrationType: ReadNewRelicType;
|
|
21
|
+
sinkType: NewRelicLogSinkType;
|
|
22
|
+
vendorName: string;
|
|
23
|
+
maxBackfillAgeHours: number;
|
|
24
|
+
} | {
|
|
25
|
+
integrationType: ReadSumoType;
|
|
26
|
+
sinkType: SumoLogSinkType;
|
|
27
|
+
vendorName: string;
|
|
28
|
+
maxBackfillAgeHours?: undefined;
|
|
29
|
+
} | {
|
|
30
|
+
integrationType: ReadOtlpType;
|
|
31
|
+
sinkType: OtlpLogSinkType;
|
|
32
|
+
vendorName: string;
|
|
33
|
+
maxBackfillAgeHours?: undefined;
|
|
34
|
+
})[];
|
|
35
|
+
export type BackfillIntegrationType = typeof BACKFILL_VENDORS[number]['integrationType'];
|
|
36
|
+
export type BackfillLogSinkType = typeof BACKFILL_VENDORS[number]['sinkType'];
|
|
37
|
+
export type BackfillLogSink = Extract<SchemaOperation, {
|
|
38
|
+
type: BackfillLogSinkType;
|
|
39
|
+
}>;
|
|
40
|
+
export declare function findBackfillVendor(integrationType: IntegrationReadType['type'], sinkType: SchemaOperation['type']): BackfillVendorDescriptor | undefined;
|
|
41
|
+
export declare function findBackfillVendorByIntegrationType(integrationType: IntegrationReadType['type']): BackfillVendorDescriptor | undefined;
|
|
42
|
+
export declare function isSupportedBackfillIntegrationType(type: IntegrationReadType['type']): type is BackfillIntegrationType;
|
|
43
|
+
export declare function isBackfillLogSink(vertex: SchemaOperation): vertex is BackfillLogSink;
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=backfill-vendors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backfill-vendors.d.ts","sourceRoot":"","sources":["../../../src/main/typescript/lib/backfill-vendors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,UAAU,wBAAwB;IAChC,eAAe,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;IA4ByB,CAAC;AAEhD,MAAM,MAAM,uBAAuB,GAAG,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACzF,MAAM,MAAM,mBAAmB,GAAG,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;AAC9E,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,EAAE;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAAC;AAEtF,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAC5C,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAChC,wBAAwB,GAAG,SAAS,CAItC;AAED,wBAAgB,mCAAmC,CACjD,eAAe,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAC3C,wBAAwB,GAAG,SAAS,CAEtC;AAED,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAChC,IAAI,IAAI,uBAAuB,CAEjC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,IAAI,eAAe,CAEpF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { DatadogLogSinkType, NewRelicLogSinkType, OtlpLogSinkType, ReadDatadogType, ReadNewRelicType, ReadOtlpType, ReadSplunkType, ReadSumoType, SplunkLogSinkType, SumoLogSinkType } from '../openapi/openApiTypes.js';
|
|
2
|
+
const BACKFILL_VENDORS = [
|
|
3
|
+
{
|
|
4
|
+
integrationType: ReadDatadogType.datadog,
|
|
5
|
+
sinkType: DatadogLogSinkType.datadog_log_sink,
|
|
6
|
+
vendorName: 'Datadog',
|
|
7
|
+
maxBackfillAgeHours: 18
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
integrationType: ReadSplunkType.splunk,
|
|
11
|
+
sinkType: SplunkLogSinkType.splunk_log_sink,
|
|
12
|
+
vendorName: 'Splunk'
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
integrationType: ReadNewRelicType.newrelic,
|
|
16
|
+
sinkType: NewRelicLogSinkType.newrelic_log_sink,
|
|
17
|
+
vendorName: 'New Relic',
|
|
18
|
+
maxBackfillAgeHours: 48
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
integrationType: ReadSumoType.sumo,
|
|
22
|
+
sinkType: SumoLogSinkType.sumologic_log_sink,
|
|
23
|
+
vendorName: 'Sumo Logic'
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
integrationType: ReadOtlpType.otlp,
|
|
27
|
+
sinkType: OtlpLogSinkType.otlp_log_sink,
|
|
28
|
+
vendorName: 'Open Telemetry'
|
|
29
|
+
}
|
|
30
|
+
];
|
|
31
|
+
export function findBackfillVendor(integrationType, sinkType) {
|
|
32
|
+
return BACKFILL_VENDORS.find(vendor => vendor.integrationType === integrationType && vendor.sinkType === sinkType);
|
|
33
|
+
}
|
|
34
|
+
export function findBackfillVendorByIntegrationType(integrationType) {
|
|
35
|
+
return BACKFILL_VENDORS.find(vendor => vendor.integrationType === integrationType);
|
|
36
|
+
}
|
|
37
|
+
export function isSupportedBackfillIntegrationType(type) {
|
|
38
|
+
return BACKFILL_VENDORS.some(vendor => vendor.integrationType === type);
|
|
39
|
+
}
|
|
40
|
+
export function isBackfillLogSink(vertex) {
|
|
41
|
+
return BACKFILL_VENDORS.some(vendor => vendor.sinkType === vertex.type);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=backfill-vendors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backfill-vendors.js","sourceRoot":"","sources":["../../../src/main/typescript/lib/backfill-vendors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,eAAe,EAEhB,MAAM,4BAA4B,CAAC;AAUpC,MAAM,gBAAgB,GAAG;IACvB;QACE,eAAe,EAAE,eAAe,CAAC,OAAO;QACxC,QAAQ,EAAE,kBAAkB,CAAC,gBAAgB;QAC7C,UAAU,EAAE,SAAS;QACrB,mBAAmB,EAAE,EAAE;KACxB;IACD;QACE,eAAe,EAAE,cAAc,CAAC,MAAM;QACtC,QAAQ,EAAE,iBAAiB,CAAC,eAAe;QAC3C,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,eAAe,EAAE,gBAAgB,CAAC,QAAQ;QAC1C,QAAQ,EAAE,mBAAmB,CAAC,iBAAiB;QAC/C,UAAU,EAAE,WAAW;QACvB,mBAAmB,EAAE,EAAE;KACxB;IACD;QACE,eAAe,EAAE,YAAY,CAAC,IAAI;QAClC,QAAQ,EAAE,eAAe,CAAC,kBAAkB;QAC5C,UAAU,EAAE,YAAY;KACzB;IACD;QACE,eAAe,EAAE,YAAY,CAAC,IAAI;QAClC,QAAQ,EAAE,eAAe,CAAC,aAAa;QACvC,UAAU,EAAE,gBAAgB;KAC7B;CAC4C,CAAC;AAMhD,MAAM,UAAU,kBAAkB,CAChC,eAA4C,EAC5C,QAAiC;IAEjC,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACpC,MAAM,CAAC,eAAe,KAAK,eAAe,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAC3E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,eAA4C;IAE5C,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,KAAK,eAAe,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,IAAiC;IAEjC,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAuB;IACvD,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type SchemaCreateJob, type SchemaDatasetRead, type SchemaReadJob } from '../openapi/openApiTypes.js';
|
|
2
|
+
import type { IntegrationReadType } from '../types.js';
|
|
3
|
+
import type { LanguageQueryType } from './query-predicate.js';
|
|
4
|
+
export interface BackfillCommandInputs {
|
|
5
|
+
jobId?: string;
|
|
6
|
+
datasetId?: string;
|
|
7
|
+
datasetName?: string;
|
|
8
|
+
sinkIds?: string[];
|
|
9
|
+
start?: string;
|
|
10
|
+
end?: string;
|
|
11
|
+
query?: string;
|
|
12
|
+
queryType?: LanguageQueryType;
|
|
13
|
+
limit?: number;
|
|
14
|
+
tags?: string[];
|
|
15
|
+
}
|
|
16
|
+
export interface BackfillApiClient {
|
|
17
|
+
getJob(id: string, version?: number, resolved?: boolean): Promise<SchemaReadJob | undefined>;
|
|
18
|
+
listDatasets(): Promise<SchemaDatasetRead[] | undefined>;
|
|
19
|
+
getDataset(id: string): Promise<SchemaDatasetRead | undefined>;
|
|
20
|
+
getIntegrationById(id: string): Promise<IntegrationReadType | null>;
|
|
21
|
+
createAsyncJob(job: SchemaCreateJob): Promise<SchemaReadJob | undefined>;
|
|
22
|
+
}
|
|
23
|
+
interface BackfillJobInputs {
|
|
24
|
+
datasetId: string;
|
|
25
|
+
teamIds: string[];
|
|
26
|
+
sinks: IntegrationReadType[];
|
|
27
|
+
}
|
|
28
|
+
interface SkippedBackfillSink {
|
|
29
|
+
sink: IntegrationReadType;
|
|
30
|
+
reason: string;
|
|
31
|
+
}
|
|
32
|
+
interface BackfillResolvedInputs extends BackfillJobInputs {
|
|
33
|
+
skippedSinks: SkippedBackfillSink[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Validates the mutually exclusive backfill modes and shared command bounds
|
|
37
|
+
* before any API lookups or job graph construction happens.
|
|
38
|
+
*/
|
|
39
|
+
export declare function validateBackfillInputs(options: BackfillCommandInputs): void;
|
|
40
|
+
/**
|
|
41
|
+
* Resolves CLI references into the concrete raw logs dataset and vendor log
|
|
42
|
+
* sinks that the backfill job should read from and replay to.
|
|
43
|
+
*/
|
|
44
|
+
export declare function resolveBackfillInputs(options: BackfillCommandInputs, apiClient: BackfillApiClient, now?: Date): Promise<BackfillResolvedInputs>;
|
|
45
|
+
/**
|
|
46
|
+
* Builds the asynchronous batch job graph used for manual logs backfills,
|
|
47
|
+
* including per-sink duplicate-delivery filters and vendor dedup sinks.
|
|
48
|
+
*/
|
|
49
|
+
export declare function buildBackfillJob(options: BackfillCommandInputs, resolved: BackfillJobInputs, now?: Date): SchemaCreateJob;
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=backfill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backfill.d.ts","sourceRoot":"","sources":["../../../src/main/typescript/lib/backfill.ts"],"names":[],"mappings":"AAAA,OAAO,EAmBL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAItB,KAAK,aAAa,EACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAQvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAc9D,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAC7F,YAAY,IAAI,OAAO,CAAC,iBAAiB,EAAE,GAAG,SAAS,CAAC,CAAC;IACzD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;IAC/D,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IACpE,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CAC1E;AAED,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,mBAAmB,EAAE,CAAC;CAC9B;AAED,UAAU,mBAAmB;IAC3B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,sBAAuB,SAAQ,iBAAiB;IACxD,YAAY,EAAE,mBAAmB,EAAE,CAAC;CACrC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAyB3E;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,iBAAiB,EAC5B,GAAG,OAAa,GACf,OAAO,CAAC,sBAAsB,CAAC,CAmBjC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,iBAAiB,EAC3B,GAAG,OAAa,GACf,eAAe,CA2DjB"}
|