@frontal-labs/data 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -0
- package/dist/client.d.ts +29 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/constants.d.ts +21 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/index.cjs +475 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +451 -0
- package/dist/sdk.d.ts +215 -0
- package/dist/sdk.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +65 -0
- package/src/client.ts +77 -0
- package/src/constants.ts +24 -0
- package/src/index.ts +9 -0
- package/src/sdk.ts +441 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,451 @@
|
|
|
1
|
+
// src/client.ts
|
|
2
|
+
import {
|
|
3
|
+
FrontalClient,
|
|
4
|
+
getDefaultClient,
|
|
5
|
+
HttpClient
|
|
6
|
+
} from "@frontal-labs/core";
|
|
7
|
+
|
|
8
|
+
// src/constants.ts
|
|
9
|
+
var DEFAULT_DATA_BASE_URL = "https://api.frontal.dev/v1";
|
|
10
|
+
var VERSION = "0.0.1";
|
|
11
|
+
var DEFAULT_TIMEOUT = 3e4;
|
|
12
|
+
var DEFAULT_MAX_RETRIES = 3;
|
|
13
|
+
var DEFAULT_RETRY_DELAY = 1e3;
|
|
14
|
+
|
|
15
|
+
// src/sdk.ts
|
|
16
|
+
import {
|
|
17
|
+
asPagePayload,
|
|
18
|
+
createPageResult
|
|
19
|
+
} from "@frontal-labs/core";
|
|
20
|
+
var DataSdk = class {
|
|
21
|
+
/** Aggregation management subdomain. */
|
|
22
|
+
aggregations;
|
|
23
|
+
/** Archival policy subdomain. */
|
|
24
|
+
archival;
|
|
25
|
+
/** Enrichment profile subdomain. */
|
|
26
|
+
enrichment;
|
|
27
|
+
/** Data export subdomain. */
|
|
28
|
+
exports;
|
|
29
|
+
/** Normalization profile subdomain. */
|
|
30
|
+
normalization;
|
|
31
|
+
/** Data quality ruleset subdomain. */
|
|
32
|
+
quality;
|
|
33
|
+
/** Serving product subdomain. */
|
|
34
|
+
serving;
|
|
35
|
+
/** Stream management subdomain. */
|
|
36
|
+
streams;
|
|
37
|
+
/** Sync job subdomain. */
|
|
38
|
+
sync;
|
|
39
|
+
/** Transformation subdomain. */
|
|
40
|
+
transformations;
|
|
41
|
+
/** Federated query subdomain. */
|
|
42
|
+
query;
|
|
43
|
+
/** Schema registry subdomain. */
|
|
44
|
+
schemas;
|
|
45
|
+
/**
|
|
46
|
+
* @param http - The shared HTTP client used for all subdomain requests.
|
|
47
|
+
*/
|
|
48
|
+
constructor(http) {
|
|
49
|
+
this.aggregations = new AggregationsNamespace(http);
|
|
50
|
+
this.archival = new ArchivalNamespace(http);
|
|
51
|
+
this.enrichment = new EnrichmentNamespace(http);
|
|
52
|
+
this.exports = new ExportsNamespace(http);
|
|
53
|
+
this.normalization = new NormalizationNamespace(http);
|
|
54
|
+
this.quality = new QualityNamespace(http);
|
|
55
|
+
this.serving = new ServingNamespace(http);
|
|
56
|
+
this.streams = new StreamsNamespace(http);
|
|
57
|
+
this.sync = new SyncNamespace(http);
|
|
58
|
+
this.transformations = new TransformationsNamespace(http);
|
|
59
|
+
this.query = new QueryNamespace(http);
|
|
60
|
+
this.schemas = new SchemasNamespace(http);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
var SubdomainBase = class {
|
|
64
|
+
/**
|
|
65
|
+
* @param http - The shared HTTP client.
|
|
66
|
+
* @param base - The subdomain base path (e.g. `/data/aggregations`).
|
|
67
|
+
*/
|
|
68
|
+
constructor(http, base) {
|
|
69
|
+
this.http = http;
|
|
70
|
+
this.base = base;
|
|
71
|
+
}
|
|
72
|
+
/** List available capabilities for this subdomain. */
|
|
73
|
+
capabilities() {
|
|
74
|
+
return this.http.get(`${this.base}/capabilities`);
|
|
75
|
+
}
|
|
76
|
+
/** Health check for this subdomain. */
|
|
77
|
+
health() {
|
|
78
|
+
return this.http.get(`${this.base}/health`);
|
|
79
|
+
}
|
|
80
|
+
/** Metadata about this subdomain service. */
|
|
81
|
+
info() {
|
|
82
|
+
return this.http.get(`${this.base}/info`);
|
|
83
|
+
}
|
|
84
|
+
/** List asynchronous runs, with optional cursor-based pagination. */
|
|
85
|
+
async runs(opts = {}) {
|
|
86
|
+
const raw = await this.http.get(`${this.base}/runs`, opts);
|
|
87
|
+
return createPageResult(
|
|
88
|
+
asPagePayload(raw),
|
|
89
|
+
(c) => this.runs({ ...opts, cursor: c })
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
/** Create a new asynchronous run. */
|
|
93
|
+
createRun(input) {
|
|
94
|
+
return this.http.post(`${this.base}/runs`, input);
|
|
95
|
+
}
|
|
96
|
+
/** Get a single run by its ID. */
|
|
97
|
+
run(runId) {
|
|
98
|
+
return this.http.get(`${this.base}/runs/${runId}`);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
var AggregationsNamespace = class extends SubdomainBase {
|
|
102
|
+
constructor(http) {
|
|
103
|
+
super(http, "/data/aggregations");
|
|
104
|
+
}
|
|
105
|
+
/** List all aggregation definitions. */
|
|
106
|
+
async list(opts = {}) {
|
|
107
|
+
const raw = await this.http.get("/data/aggregations/aggregations", opts);
|
|
108
|
+
return createPageResult(
|
|
109
|
+
asPagePayload(raw),
|
|
110
|
+
(c) => this.list({ ...opts, cursor: c })
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
/** Create a new aggregation definition. */
|
|
114
|
+
create(body) {
|
|
115
|
+
return this.http.post("/data/aggregations/aggregations", body);
|
|
116
|
+
}
|
|
117
|
+
/** Get a single aggregation definition by ID. */
|
|
118
|
+
get(id) {
|
|
119
|
+
return this.http.get(`/data/aggregations/aggregations/${id}`);
|
|
120
|
+
}
|
|
121
|
+
/** Execute an aggregation and return a run result. */
|
|
122
|
+
execute(id, body = {}) {
|
|
123
|
+
return this.http.post(
|
|
124
|
+
`/data/aggregations/aggregations/${id}/executions`,
|
|
125
|
+
body
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
var ArchivalNamespace = class extends SubdomainBase {
|
|
130
|
+
constructor(http) {
|
|
131
|
+
super(http, "/data/archival");
|
|
132
|
+
}
|
|
133
|
+
/** List all archival policies. */
|
|
134
|
+
async list(opts = {}) {
|
|
135
|
+
const raw = await this.http.get("/data/archival/archival/policies", opts);
|
|
136
|
+
return createPageResult(
|
|
137
|
+
asPagePayload(raw),
|
|
138
|
+
(c) => this.list({ ...opts, cursor: c })
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
/** Create a new archival policy. */
|
|
142
|
+
create(body) {
|
|
143
|
+
return this.http.post("/data/archival/archival/policies", body);
|
|
144
|
+
}
|
|
145
|
+
/** Get a single archival policy by ID. */
|
|
146
|
+
get(id) {
|
|
147
|
+
return this.http.get(`/data/archival/archival/policies/${id}`);
|
|
148
|
+
}
|
|
149
|
+
/** Execute an archival policy. */
|
|
150
|
+
execute(id, body = {}) {
|
|
151
|
+
return this.http.post(
|
|
152
|
+
`/data/archival/archival/policies/${id}/executions`,
|
|
153
|
+
body
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
var EnrichmentNamespace = class extends SubdomainBase {
|
|
158
|
+
constructor(http) {
|
|
159
|
+
super(http, "/data/enrichment");
|
|
160
|
+
}
|
|
161
|
+
/** List all enrichment profiles. */
|
|
162
|
+
async list(opts = {}) {
|
|
163
|
+
const raw = await this.http.get(
|
|
164
|
+
"/data/enrichment/enrichment/profiles",
|
|
165
|
+
opts
|
|
166
|
+
);
|
|
167
|
+
return createPageResult(
|
|
168
|
+
asPagePayload(raw),
|
|
169
|
+
(c) => this.list({ ...opts, cursor: c })
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
/** Create a new enrichment profile. */
|
|
173
|
+
create(body) {
|
|
174
|
+
return this.http.post("/data/enrichment/enrichment/profiles", body);
|
|
175
|
+
}
|
|
176
|
+
/** Get a single enrichment profile by ID. */
|
|
177
|
+
get(id) {
|
|
178
|
+
return this.http.get(`/data/enrichment/enrichment/profiles/${id}`);
|
|
179
|
+
}
|
|
180
|
+
/** Execute an enrichment profile. */
|
|
181
|
+
execute(id, body = {}) {
|
|
182
|
+
return this.http.post(
|
|
183
|
+
`/data/enrichment/enrichment/profiles/${id}/executions`,
|
|
184
|
+
body
|
|
185
|
+
);
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
var ExportsNamespace = class extends SubdomainBase {
|
|
189
|
+
constructor(http) {
|
|
190
|
+
super(http, "/data/exports");
|
|
191
|
+
}
|
|
192
|
+
/** List all exports. */
|
|
193
|
+
async list(opts = {}) {
|
|
194
|
+
const raw = await this.http.get("/data/exports/exports", opts);
|
|
195
|
+
return createPageResult(
|
|
196
|
+
asPagePayload(raw),
|
|
197
|
+
(c) => this.list({ ...opts, cursor: c })
|
|
198
|
+
);
|
|
199
|
+
}
|
|
200
|
+
/** Create a new export job. */
|
|
201
|
+
create(body) {
|
|
202
|
+
return this.http.post("/data/exports/exports", body);
|
|
203
|
+
}
|
|
204
|
+
/** Get a single export by ID. */
|
|
205
|
+
get(id) {
|
|
206
|
+
return this.http.get(`/data/exports/exports/${id}`);
|
|
207
|
+
}
|
|
208
|
+
/** Execute an export job. */
|
|
209
|
+
execute(id, body = {}) {
|
|
210
|
+
return this.http.post(`/data/exports/exports/${id}/executions`, body);
|
|
211
|
+
}
|
|
212
|
+
};
|
|
213
|
+
var NormalizationNamespace = class extends SubdomainBase {
|
|
214
|
+
constructor(http) {
|
|
215
|
+
super(http, "/data/normalization");
|
|
216
|
+
}
|
|
217
|
+
/** List all normalization profiles. */
|
|
218
|
+
async list(opts = {}) {
|
|
219
|
+
const raw = await this.http.get(
|
|
220
|
+
"/data/normalization/normalization/profiles",
|
|
221
|
+
opts
|
|
222
|
+
);
|
|
223
|
+
return createPageResult(
|
|
224
|
+
asPagePayload(raw),
|
|
225
|
+
(c) => this.list({ ...opts, cursor: c })
|
|
226
|
+
);
|
|
227
|
+
}
|
|
228
|
+
/** Create a new normalization profile. */
|
|
229
|
+
create(body) {
|
|
230
|
+
return this.http.post("/data/normalization/normalization/profiles", body);
|
|
231
|
+
}
|
|
232
|
+
/** Get a single normalization profile by ID. */
|
|
233
|
+
get(id) {
|
|
234
|
+
return this.http.get(`/data/normalization/normalization/profiles/${id}`);
|
|
235
|
+
}
|
|
236
|
+
/** Execute a normalization profile. */
|
|
237
|
+
execute(id, body = {}) {
|
|
238
|
+
return this.http.post(
|
|
239
|
+
`/data/normalization/normalization/profiles/${id}/executions`,
|
|
240
|
+
body
|
|
241
|
+
);
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
var QualityNamespace = class extends SubdomainBase {
|
|
245
|
+
constructor(http) {
|
|
246
|
+
super(http, "/data/quality");
|
|
247
|
+
}
|
|
248
|
+
/** List all quality rulesets. */
|
|
249
|
+
async list(opts = {}) {
|
|
250
|
+
const raw = await this.http.get("/data/quality/quality/rulesets", opts);
|
|
251
|
+
return createPageResult(
|
|
252
|
+
asPagePayload(raw),
|
|
253
|
+
(c) => this.list({ ...opts, cursor: c })
|
|
254
|
+
);
|
|
255
|
+
}
|
|
256
|
+
/** Create a new quality ruleset. */
|
|
257
|
+
create(body) {
|
|
258
|
+
return this.http.post("/data/quality/quality/rulesets", body);
|
|
259
|
+
}
|
|
260
|
+
/** Get a single quality ruleset by ID. */
|
|
261
|
+
get(id) {
|
|
262
|
+
return this.http.get(`/data/quality/quality/rulesets/${id}`);
|
|
263
|
+
}
|
|
264
|
+
/** Evaluate a ruleset. */
|
|
265
|
+
execute(id, body = {}) {
|
|
266
|
+
return this.http.post(
|
|
267
|
+
`/data/quality/quality/rulesets/${id}/evaluations`,
|
|
268
|
+
body
|
|
269
|
+
);
|
|
270
|
+
}
|
|
271
|
+
};
|
|
272
|
+
var ServingNamespace = class extends SubdomainBase {
|
|
273
|
+
constructor(http) {
|
|
274
|
+
super(http, "/data/serving");
|
|
275
|
+
}
|
|
276
|
+
/** List all serving products. */
|
|
277
|
+
async list(opts = {}) {
|
|
278
|
+
const raw = await this.http.get("/data/serving/serving/products", opts);
|
|
279
|
+
return createPageResult(
|
|
280
|
+
asPagePayload(raw),
|
|
281
|
+
(c) => this.list({ ...opts, cursor: c })
|
|
282
|
+
);
|
|
283
|
+
}
|
|
284
|
+
/** Create a new serving product. */
|
|
285
|
+
create(body) {
|
|
286
|
+
return this.http.post("/data/serving/serving/products", body);
|
|
287
|
+
}
|
|
288
|
+
/** Get a single serving product by ID. */
|
|
289
|
+
get(id) {
|
|
290
|
+
return this.http.get(`/data/serving/serving/products/${id}`);
|
|
291
|
+
}
|
|
292
|
+
/** Refresh a serving product. */
|
|
293
|
+
execute(id, body = {}) {
|
|
294
|
+
return this.http.post(
|
|
295
|
+
`/data/serving/serving/products/${id}/refreshes`,
|
|
296
|
+
body
|
|
297
|
+
);
|
|
298
|
+
}
|
|
299
|
+
};
|
|
300
|
+
var StreamsNamespace = class extends SubdomainBase {
|
|
301
|
+
constructor(http) {
|
|
302
|
+
super(http, "/data/streams");
|
|
303
|
+
}
|
|
304
|
+
/** List all streams. */
|
|
305
|
+
async list(opts = {}) {
|
|
306
|
+
const raw = await this.http.get("/data/streams/streams", opts);
|
|
307
|
+
return createPageResult(
|
|
308
|
+
asPagePayload(raw),
|
|
309
|
+
(c) => this.list({ ...opts, cursor: c })
|
|
310
|
+
);
|
|
311
|
+
}
|
|
312
|
+
/** Create a new stream. */
|
|
313
|
+
create(body) {
|
|
314
|
+
return this.http.post("/data/streams/streams", body);
|
|
315
|
+
}
|
|
316
|
+
/** Get a single stream by ID. */
|
|
317
|
+
get(id) {
|
|
318
|
+
return this.http.get(`/data/streams/streams/${id}`);
|
|
319
|
+
}
|
|
320
|
+
/** Trigger deliveries for a stream. */
|
|
321
|
+
execute(id, body = {}) {
|
|
322
|
+
return this.http.post(`/data/streams/streams/${id}/deliveries`, body);
|
|
323
|
+
}
|
|
324
|
+
};
|
|
325
|
+
var SyncNamespace = class extends SubdomainBase {
|
|
326
|
+
constructor(http) {
|
|
327
|
+
super(http, "/data/sync");
|
|
328
|
+
}
|
|
329
|
+
/** List all sync jobs. */
|
|
330
|
+
async list(opts = {}) {
|
|
331
|
+
const raw = await this.http.get("/data/sync/sync/jobs", opts);
|
|
332
|
+
return createPageResult(
|
|
333
|
+
asPagePayload(raw),
|
|
334
|
+
(c) => this.list({ ...opts, cursor: c })
|
|
335
|
+
);
|
|
336
|
+
}
|
|
337
|
+
/** Create a new sync job. */
|
|
338
|
+
create(body) {
|
|
339
|
+
return this.http.post("/data/sync/sync/jobs", body);
|
|
340
|
+
}
|
|
341
|
+
/** Get a single sync job by ID. */
|
|
342
|
+
get(id) {
|
|
343
|
+
return this.http.get(`/data/sync/sync/jobs/${id}`);
|
|
344
|
+
}
|
|
345
|
+
/** Execute a sync job. */
|
|
346
|
+
execute(id, body = {}) {
|
|
347
|
+
return this.http.post(`/data/sync/sync/jobs/${id}/executions`, body);
|
|
348
|
+
}
|
|
349
|
+
};
|
|
350
|
+
var TransformationsNamespace = class extends SubdomainBase {
|
|
351
|
+
constructor(http) {
|
|
352
|
+
super(http, "/data/transformations");
|
|
353
|
+
}
|
|
354
|
+
/** List all transformations. */
|
|
355
|
+
async list(opts = {}) {
|
|
356
|
+
const raw = await this.http.get(
|
|
357
|
+
"/data/transformations/transformations",
|
|
358
|
+
opts
|
|
359
|
+
);
|
|
360
|
+
return createPageResult(
|
|
361
|
+
asPagePayload(raw),
|
|
362
|
+
(c) => this.list({ ...opts, cursor: c })
|
|
363
|
+
);
|
|
364
|
+
}
|
|
365
|
+
/** Create a new transformation. */
|
|
366
|
+
create(body) {
|
|
367
|
+
return this.http.post("/data/transformations/transformations", body);
|
|
368
|
+
}
|
|
369
|
+
/** Get a single transformation by ID. */
|
|
370
|
+
get(id) {
|
|
371
|
+
return this.http.get(`/data/transformations/transformations/${id}`);
|
|
372
|
+
}
|
|
373
|
+
/** Execute a transformation. */
|
|
374
|
+
execute(id, body = {}) {
|
|
375
|
+
return this.http.post(
|
|
376
|
+
`/data/transformations/transformations/${id}/executions`,
|
|
377
|
+
body
|
|
378
|
+
);
|
|
379
|
+
}
|
|
380
|
+
};
|
|
381
|
+
var QueryNamespace = class extends SubdomainBase {
|
|
382
|
+
constructor(http) {
|
|
383
|
+
super(http, "/data/query");
|
|
384
|
+
}
|
|
385
|
+
/** Execute a federated query across multiple data sources. */
|
|
386
|
+
federated(body) {
|
|
387
|
+
return this.http.post("/data/query/query/federated", body);
|
|
388
|
+
}
|
|
389
|
+
};
|
|
390
|
+
var SchemasNamespace = class extends SubdomainBase {
|
|
391
|
+
constructor(http) {
|
|
392
|
+
super(http, "/data/schemas");
|
|
393
|
+
}
|
|
394
|
+
/** List all registered schemas. */
|
|
395
|
+
async list(opts = {}) {
|
|
396
|
+
const raw = await this.http.get("/data/schemas/schemas", opts);
|
|
397
|
+
return createPageResult(
|
|
398
|
+
asPagePayload(raw),
|
|
399
|
+
(c) => this.list({ ...opts, cursor: c })
|
|
400
|
+
);
|
|
401
|
+
}
|
|
402
|
+
/** Register a new schema. */
|
|
403
|
+
create(body) {
|
|
404
|
+
return this.http.post("/data/schemas/schemas", body);
|
|
405
|
+
}
|
|
406
|
+
/** Resolve a schema reference to its definition. */
|
|
407
|
+
resolve(body) {
|
|
408
|
+
return this.http.post("/data/schemas/schemas/resolve", body);
|
|
409
|
+
}
|
|
410
|
+
/** Get a registered schema by reference. */
|
|
411
|
+
get(schemaRef) {
|
|
412
|
+
return this.http.get(`/data/schemas/schemas/${schemaRef}`);
|
|
413
|
+
}
|
|
414
|
+
};
|
|
415
|
+
|
|
416
|
+
// src/client.ts
|
|
417
|
+
import { env } from "@frontal-labs/core";
|
|
418
|
+
function createDataClient(clientOrConfig) {
|
|
419
|
+
if (clientOrConfig instanceof FrontalClient) {
|
|
420
|
+
return new DataSdk(clientOrConfig.httpClient);
|
|
421
|
+
}
|
|
422
|
+
const http = new HttpClient({
|
|
423
|
+
apiKey: clientOrConfig.apiKey,
|
|
424
|
+
baseUrl: clientOrConfig.baseUrl ?? env.FRONTAL_API_URL ?? DEFAULT_DATA_BASE_URL,
|
|
425
|
+
timeout: clientOrConfig.timeout ?? DEFAULT_TIMEOUT,
|
|
426
|
+
maxRetries: clientOrConfig.maxRetries ?? DEFAULT_MAX_RETRIES,
|
|
427
|
+
retryDelay: DEFAULT_RETRY_DELAY,
|
|
428
|
+
headers: {},
|
|
429
|
+
environment: env.FRONTAL_ENV,
|
|
430
|
+
debug: env.FRONTAL_DEBUG ?? false
|
|
431
|
+
});
|
|
432
|
+
return new DataSdk(http);
|
|
433
|
+
}
|
|
434
|
+
var _dataCache;
|
|
435
|
+
var data = new Proxy({}, {
|
|
436
|
+
get(_t, prop) {
|
|
437
|
+
if (!_dataCache) {
|
|
438
|
+
_dataCache = createDataClient(getDefaultClient());
|
|
439
|
+
}
|
|
440
|
+
const inst = _dataCache;
|
|
441
|
+
const val = inst[prop];
|
|
442
|
+
return typeof val === "function" ? val.bind(inst) : val;
|
|
443
|
+
}
|
|
444
|
+
});
|
|
445
|
+
export {
|
|
446
|
+
DEFAULT_DATA_BASE_URL,
|
|
447
|
+
DataSdk,
|
|
448
|
+
VERSION,
|
|
449
|
+
createDataClient,
|
|
450
|
+
data
|
|
451
|
+
};
|
package/dist/sdk.d.ts
ADDED
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { type HttpClient, type PageResult } from "@frontal-labs/core";
|
|
2
|
+
/**
|
|
3
|
+
* Client for the Frontal Data platform's processing subdomains
|
|
4
|
+
* (`/v1/data/*`), each a distinct backend service that shares a common
|
|
5
|
+
* `capabilities`/`health`/`info`/`runs` envelope.
|
|
6
|
+
*
|
|
7
|
+
* Datasets (ingest + catalog), pipelines, and lineage have dedicated packages
|
|
8
|
+
* (`@frontal-labs/datasets`, `@frontal-labs/pipelines`, `@frontal-labs/lineage`);
|
|
9
|
+
* this package covers the remaining subdomains.
|
|
10
|
+
*
|
|
11
|
+
* Paths are written without the leading `/v1` because the client base URL
|
|
12
|
+
* already includes it.
|
|
13
|
+
*/
|
|
14
|
+
export declare class DataSdk {
|
|
15
|
+
/** Aggregation management subdomain. */
|
|
16
|
+
readonly aggregations: AggregationsNamespace;
|
|
17
|
+
/** Archival policy subdomain. */
|
|
18
|
+
readonly archival: ArchivalNamespace;
|
|
19
|
+
/** Enrichment profile subdomain. */
|
|
20
|
+
readonly enrichment: EnrichmentNamespace;
|
|
21
|
+
/** Data export subdomain. */
|
|
22
|
+
readonly exports: ExportsNamespace;
|
|
23
|
+
/** Normalization profile subdomain. */
|
|
24
|
+
readonly normalization: NormalizationNamespace;
|
|
25
|
+
/** Data quality ruleset subdomain. */
|
|
26
|
+
readonly quality: QualityNamespace;
|
|
27
|
+
/** Serving product subdomain. */
|
|
28
|
+
readonly serving: ServingNamespace;
|
|
29
|
+
/** Stream management subdomain. */
|
|
30
|
+
readonly streams: StreamsNamespace;
|
|
31
|
+
/** Sync job subdomain. */
|
|
32
|
+
readonly sync: SyncNamespace;
|
|
33
|
+
/** Transformation subdomain. */
|
|
34
|
+
readonly transformations: TransformationsNamespace;
|
|
35
|
+
/** Federated query subdomain. */
|
|
36
|
+
readonly query: QueryNamespace;
|
|
37
|
+
/** Schema registry subdomain. */
|
|
38
|
+
readonly schemas: SchemasNamespace;
|
|
39
|
+
/**
|
|
40
|
+
* @param http - The shared HTTP client used for all subdomain requests.
|
|
41
|
+
*/
|
|
42
|
+
constructor(http: HttpClient);
|
|
43
|
+
}
|
|
44
|
+
type Body = Record<string, unknown>;
|
|
45
|
+
interface ListOpts {
|
|
46
|
+
limit?: number;
|
|
47
|
+
cursor?: string;
|
|
48
|
+
[key: string]: unknown;
|
|
49
|
+
}
|
|
50
|
+
type Obj = Record<string, unknown>;
|
|
51
|
+
/**
|
|
52
|
+
* Shared behaviour for every data subdomain: capability/health/info probes and
|
|
53
|
+
* the asynchronous `runs` collection.
|
|
54
|
+
*/
|
|
55
|
+
export declare class SubdomainBase {
|
|
56
|
+
protected readonly http: HttpClient;
|
|
57
|
+
protected readonly base: string;
|
|
58
|
+
/**
|
|
59
|
+
* @param http - The shared HTTP client.
|
|
60
|
+
* @param base - The subdomain base path (e.g. `/data/aggregations`).
|
|
61
|
+
*/
|
|
62
|
+
constructor(http: HttpClient, base: string);
|
|
63
|
+
/** List available capabilities for this subdomain. */
|
|
64
|
+
capabilities(): Promise<Obj>;
|
|
65
|
+
/** Health check for this subdomain. */
|
|
66
|
+
health(): Promise<Obj>;
|
|
67
|
+
/** Metadata about this subdomain service. */
|
|
68
|
+
info(): Promise<Obj>;
|
|
69
|
+
/** List asynchronous runs, with optional cursor-based pagination. */
|
|
70
|
+
runs(opts?: ListOpts): Promise<PageResult<Obj>>;
|
|
71
|
+
/** Create a new asynchronous run. */
|
|
72
|
+
createRun(input: Body): Promise<Obj>;
|
|
73
|
+
/** Get a single run by its ID. */
|
|
74
|
+
run(runId: string): Promise<Obj>;
|
|
75
|
+
}
|
|
76
|
+
/** Aggregation management subdomain (`/data/aggregations`). */
|
|
77
|
+
export declare class AggregationsNamespace extends SubdomainBase {
|
|
78
|
+
constructor(http: HttpClient);
|
|
79
|
+
/** List all aggregation definitions. */
|
|
80
|
+
list(opts?: ListOpts): Promise<PageResult<Obj>>;
|
|
81
|
+
/** Create a new aggregation definition. */
|
|
82
|
+
create(body: Body): Promise<Obj>;
|
|
83
|
+
/** Get a single aggregation definition by ID. */
|
|
84
|
+
get(id: string): Promise<Obj>;
|
|
85
|
+
/** Execute an aggregation and return a run result. */
|
|
86
|
+
execute(id: string, body?: Body): Promise<Obj>;
|
|
87
|
+
}
|
|
88
|
+
/** Archival policy subdomain (`/data/archival`). */
|
|
89
|
+
export declare class ArchivalNamespace extends SubdomainBase {
|
|
90
|
+
constructor(http: HttpClient);
|
|
91
|
+
/** List all archival policies. */
|
|
92
|
+
list(opts?: ListOpts): Promise<PageResult<Obj>>;
|
|
93
|
+
/** Create a new archival policy. */
|
|
94
|
+
create(body: Body): Promise<Obj>;
|
|
95
|
+
/** Get a single archival policy by ID. */
|
|
96
|
+
get(id: string): Promise<Obj>;
|
|
97
|
+
/** Execute an archival policy. */
|
|
98
|
+
execute(id: string, body?: Body): Promise<Obj>;
|
|
99
|
+
}
|
|
100
|
+
/** Enrichment profile subdomain (`/data/enrichment`). */
|
|
101
|
+
export declare class EnrichmentNamespace extends SubdomainBase {
|
|
102
|
+
constructor(http: HttpClient);
|
|
103
|
+
/** List all enrichment profiles. */
|
|
104
|
+
list(opts?: ListOpts): Promise<PageResult<Obj>>;
|
|
105
|
+
/** Create a new enrichment profile. */
|
|
106
|
+
create(body: Body): Promise<Obj>;
|
|
107
|
+
/** Get a single enrichment profile by ID. */
|
|
108
|
+
get(id: string): Promise<Obj>;
|
|
109
|
+
/** Execute an enrichment profile. */
|
|
110
|
+
execute(id: string, body?: Body): Promise<Obj>;
|
|
111
|
+
}
|
|
112
|
+
/** Data export subdomain (`/data/exports`). */
|
|
113
|
+
export declare class ExportsNamespace extends SubdomainBase {
|
|
114
|
+
constructor(http: HttpClient);
|
|
115
|
+
/** List all exports. */
|
|
116
|
+
list(opts?: ListOpts): Promise<PageResult<Obj>>;
|
|
117
|
+
/** Create a new export job. */
|
|
118
|
+
create(body: Body): Promise<Obj>;
|
|
119
|
+
/** Get a single export by ID. */
|
|
120
|
+
get(id: string): Promise<Obj>;
|
|
121
|
+
/** Execute an export job. */
|
|
122
|
+
execute(id: string, body?: Body): Promise<Obj>;
|
|
123
|
+
}
|
|
124
|
+
/** Normalization profile subdomain (`/data/normalization`). */
|
|
125
|
+
export declare class NormalizationNamespace extends SubdomainBase {
|
|
126
|
+
constructor(http: HttpClient);
|
|
127
|
+
/** List all normalization profiles. */
|
|
128
|
+
list(opts?: ListOpts): Promise<PageResult<Obj>>;
|
|
129
|
+
/** Create a new normalization profile. */
|
|
130
|
+
create(body: Body): Promise<Obj>;
|
|
131
|
+
/** Get a single normalization profile by ID. */
|
|
132
|
+
get(id: string): Promise<Obj>;
|
|
133
|
+
/** Execute a normalization profile. */
|
|
134
|
+
execute(id: string, body?: Body): Promise<Obj>;
|
|
135
|
+
}
|
|
136
|
+
/** Data quality ruleset subdomain (`/data/quality`). */
|
|
137
|
+
export declare class QualityNamespace extends SubdomainBase {
|
|
138
|
+
constructor(http: HttpClient);
|
|
139
|
+
/** List all quality rulesets. */
|
|
140
|
+
list(opts?: ListOpts): Promise<PageResult<Obj>>;
|
|
141
|
+
/** Create a new quality ruleset. */
|
|
142
|
+
create(body: Body): Promise<Obj>;
|
|
143
|
+
/** Get a single quality ruleset by ID. */
|
|
144
|
+
get(id: string): Promise<Obj>;
|
|
145
|
+
/** Evaluate a ruleset. */
|
|
146
|
+
execute(id: string, body?: Body): Promise<Obj>;
|
|
147
|
+
}
|
|
148
|
+
/** Serving product subdomain (`/data/serving`). */
|
|
149
|
+
export declare class ServingNamespace extends SubdomainBase {
|
|
150
|
+
constructor(http: HttpClient);
|
|
151
|
+
/** List all serving products. */
|
|
152
|
+
list(opts?: ListOpts): Promise<PageResult<Obj>>;
|
|
153
|
+
/** Create a new serving product. */
|
|
154
|
+
create(body: Body): Promise<Obj>;
|
|
155
|
+
/** Get a single serving product by ID. */
|
|
156
|
+
get(id: string): Promise<Obj>;
|
|
157
|
+
/** Refresh a serving product. */
|
|
158
|
+
execute(id: string, body?: Body): Promise<Obj>;
|
|
159
|
+
}
|
|
160
|
+
/** Stream management subdomain (`/data/streams`). */
|
|
161
|
+
export declare class StreamsNamespace extends SubdomainBase {
|
|
162
|
+
constructor(http: HttpClient);
|
|
163
|
+
/** List all streams. */
|
|
164
|
+
list(opts?: ListOpts): Promise<PageResult<Obj>>;
|
|
165
|
+
/** Create a new stream. */
|
|
166
|
+
create(body: Body): Promise<Obj>;
|
|
167
|
+
/** Get a single stream by ID. */
|
|
168
|
+
get(id: string): Promise<Obj>;
|
|
169
|
+
/** Trigger deliveries for a stream. */
|
|
170
|
+
execute(id: string, body?: Body): Promise<Obj>;
|
|
171
|
+
}
|
|
172
|
+
/** Sync job subdomain (`/data/sync`). */
|
|
173
|
+
export declare class SyncNamespace extends SubdomainBase {
|
|
174
|
+
constructor(http: HttpClient);
|
|
175
|
+
/** List all sync jobs. */
|
|
176
|
+
list(opts?: ListOpts): Promise<PageResult<Obj>>;
|
|
177
|
+
/** Create a new sync job. */
|
|
178
|
+
create(body: Body): Promise<Obj>;
|
|
179
|
+
/** Get a single sync job by ID. */
|
|
180
|
+
get(id: string): Promise<Obj>;
|
|
181
|
+
/** Execute a sync job. */
|
|
182
|
+
execute(id: string, body?: Body): Promise<Obj>;
|
|
183
|
+
}
|
|
184
|
+
/** Transformation subdomain (`/data/transformations`). */
|
|
185
|
+
export declare class TransformationsNamespace extends SubdomainBase {
|
|
186
|
+
constructor(http: HttpClient);
|
|
187
|
+
/** List all transformations. */
|
|
188
|
+
list(opts?: ListOpts): Promise<PageResult<Obj>>;
|
|
189
|
+
/** Create a new transformation. */
|
|
190
|
+
create(body: Body): Promise<Obj>;
|
|
191
|
+
/** Get a single transformation by ID. */
|
|
192
|
+
get(id: string): Promise<Obj>;
|
|
193
|
+
/** Execute a transformation. */
|
|
194
|
+
execute(id: string, body?: Body): Promise<Obj>;
|
|
195
|
+
}
|
|
196
|
+
/** Federated query subdomain (`/data/query`). */
|
|
197
|
+
export declare class QueryNamespace extends SubdomainBase {
|
|
198
|
+
constructor(http: HttpClient);
|
|
199
|
+
/** Execute a federated query across multiple data sources. */
|
|
200
|
+
federated(body: Body): Promise<Obj>;
|
|
201
|
+
}
|
|
202
|
+
/** Data schema registry subdomain (`/data/schemas`). */
|
|
203
|
+
export declare class SchemasNamespace extends SubdomainBase {
|
|
204
|
+
constructor(http: HttpClient);
|
|
205
|
+
/** List all registered schemas. */
|
|
206
|
+
list(opts?: ListOpts): Promise<PageResult<Obj>>;
|
|
207
|
+
/** Register a new schema. */
|
|
208
|
+
create(body: Body): Promise<Obj>;
|
|
209
|
+
/** Resolve a schema reference to its definition. */
|
|
210
|
+
resolve(body: Body): Promise<Obj>;
|
|
211
|
+
/** Get a registered schema by reference. */
|
|
212
|
+
get(schemaRef: string): Promise<Obj>;
|
|
213
|
+
}
|
|
214
|
+
export {};
|
|
215
|
+
//# sourceMappingURL=sdk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
|