@skedulo/integration-sdk 0.9.0 → 0.10.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/CHANGELOG.md +24 -0
- package/dist/actions/action-registry.d.ts.map +1 -1
- package/dist/actions/action-registry.js +1 -0
- package/dist/actions/action-registry.js.map +1 -1
- package/dist/actions/data-flow.action.d.ts +62 -0
- package/dist/actions/data-flow.action.d.ts.map +1 -0
- package/dist/actions/data-flow.action.js +217 -0
- package/dist/actions/data-flow.action.js.map +1 -0
- package/dist/actions/event/on-skedulo.action.d.ts.map +1 -1
- package/dist/actions/event/on-skedulo.action.js +12 -1
- package/dist/actions/event/on-skedulo.action.js.map +1 -1
- package/dist/actions/event/types.d.ts +2 -0
- package/dist/actions/event/types.d.ts.map +1 -1
- package/dist/actions/event.action.d.ts +32 -0
- package/dist/actions/event.action.d.ts.map +1 -0
- package/dist/actions/event.action.js +113 -0
- package/dist/actions/event.action.js.map +1 -0
- package/dist/actions/metadata.action.d.ts +44 -0
- package/dist/actions/metadata.action.d.ts.map +1 -0
- package/dist/actions/metadata.action.js +96 -0
- package/dist/actions/metadata.action.js.map +1 -0
- package/dist/actions/scheduled-job.action.d.ts +73 -0
- package/dist/actions/scheduled-job.action.d.ts.map +1 -0
- package/dist/actions/scheduled-job.action.js +355 -0
- package/dist/actions/scheduled-job.action.js.map +1 -0
- package/dist/actions/sync/index.d.ts +1 -0
- package/dist/actions/sync/index.d.ts.map +1 -1
- package/dist/actions/sync/index.js +3 -1
- package/dist/actions/sync/index.js.map +1 -1
- package/dist/actions/sync/retry-failed.action.d.ts +10 -0
- package/dist/actions/sync/retry-failed.action.d.ts.map +1 -0
- package/dist/actions/sync/retry-failed.action.js +61 -0
- package/dist/actions/sync/retry-failed.action.js.map +1 -0
- package/dist/actions/sync/types.d.ts +11 -0
- package/dist/actions/sync/types.d.ts.map +1 -1
- package/dist/actions/sync.action.d.ts +26 -0
- package/dist/actions/sync.action.d.ts.map +1 -0
- package/dist/actions/sync.action.js +81 -0
- package/dist/actions/sync.action.js.map +1 -0
- package/dist/actions/utils/action-names.d.ts +1 -0
- package/dist/actions/utils/action-names.d.ts.map +1 -1
- package/dist/actions/utils/action-names.js +1 -0
- package/dist/actions/utils/action-names.js.map +1 -1
- package/dist/actions/utils/types.d.ts +2 -0
- package/dist/actions/utils/types.d.ts.map +1 -1
- package/dist/adapters/base-adapter-handler.d.ts +2 -0
- package/dist/adapters/base-adapter-handler.d.ts.map +1 -1
- package/dist/adapters/base-adapter-handler.js +4 -1
- package/dist/adapters/base-adapter-handler.js.map +1 -1
- package/dist/adapters/capabilities-defaults.d.ts.map +1 -1
- package/dist/adapters/capabilities-defaults.js +7 -1
- package/dist/adapters/capabilities-defaults.js.map +1 -1
- package/dist/adapters/skedulo-mutation-result.d.ts +18 -0
- package/dist/adapters/skedulo-mutation-result.d.ts.map +1 -0
- package/dist/adapters/skedulo-mutation-result.js +124 -0
- package/dist/adapters/skedulo-mutation-result.js.map +1 -0
- package/dist/adapters/skedulo.adapter.d.ts +5 -0
- package/dist/adapters/skedulo.adapter.d.ts.map +1 -1
- package/dist/adapters/skedulo.adapter.js +139 -35
- package/dist/adapters/skedulo.adapter.js.map +1 -1
- package/dist/clients/failed-record.client.d.ts +37 -0
- package/dist/clients/failed-record.client.d.ts.map +1 -0
- package/dist/clients/failed-record.client.js +48 -0
- package/dist/clients/failed-record.client.js.map +1 -0
- package/dist/constants.d.ts +6 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +8 -1
- package/dist/constants.js.map +1 -1
- package/dist/context.d.ts +3 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +5 -0
- package/dist/context.js.map +1 -1
- package/dist/interfaces/adapter.interface.d.ts +13 -0
- package/dist/interfaces/adapter.interface.d.ts.map +1 -1
- package/dist/interfaces/integration-capabilities.interface.d.ts +22 -0
- package/dist/interfaces/integration-capabilities.interface.d.ts.map +1 -1
- package/dist/interfaces/sync-pipeline.interface.d.ts +11 -0
- package/dist/interfaces/sync-pipeline.interface.d.ts.map +1 -1
- package/dist/services/artifact-builder.d.ts +95 -0
- package/dist/services/artifact-builder.d.ts.map +1 -0
- package/dist/services/artifact-builder.js +142 -0
- package/dist/services/artifact-builder.js.map +1 -0
- package/dist/services/external-id-sync.strategy.d.ts.map +1 -1
- package/dist/services/external-id-sync.strategy.js +23 -24
- package/dist/services/external-id-sync.strategy.js.map +1 -1
- package/dist/services/id-mapping-sync.strategy.d.ts.map +1 -1
- package/dist/services/id-mapping-sync.strategy.js +35 -21
- package/dist/services/id-mapping-sync.strategy.js.map +1 -1
- package/dist/services/id-mapping.service.d.ts +2 -0
- package/dist/services/id-mapping.service.d.ts.map +1 -1
- package/dist/services/id-mapping.service.js +57 -2
- package/dist/services/id-mapping.service.js.map +1 -1
- package/dist/services/run-log-builder.d.ts +4 -5
- package/dist/services/run-log-builder.d.ts.map +1 -1
- package/dist/services/run-log-builder.js +4 -5
- package/dist/services/run-log-builder.js.map +1 -1
- package/dist/services/sync-pipeline-errors.d.ts +24 -0
- package/dist/services/sync-pipeline-errors.d.ts.map +1 -0
- package/dist/services/sync-pipeline-errors.js +52 -0
- package/dist/services/sync-pipeline-errors.js.map +1 -0
- package/dist/services/sync-runner.d.ts +15 -0
- package/dist/services/sync-runner.d.ts.map +1 -1
- package/dist/services/sync-runner.js +250 -10
- package/dist/services/sync-runner.js.map +1 -1
- package/dist/services/sync.service.d.ts +4 -1
- package/dist/services/sync.service.d.ts.map +1 -1
- package/dist/services/sync.service.js +3 -2
- package/dist/services/sync.service.js.map +1 -1
- package/package.json +2 -2
- package/yarn.lock +4 -4
- package/.claude/worktrees/agent-a16acadaf5412dffd/jest.config.js +0 -12
- package/.claude/worktrees/agent-a33c3e4636d488e49/jest.config.js +0 -12
- package/.claude/worktrees/agent-a5b1d2ffa4ceef4a6/jest.config.js +0 -12
- package/.claude/worktrees/agent-aa1db4c22eabbde8e/jest.config.js +0 -12
- package/.claude/worktrees/agent-ac197ae8c69d7061c/jest.config.js +0 -12
- package/dist/handlers/metadata.handler.d.ts +0 -17
- package/dist/handlers/metadata.handler.d.ts.map +0 -1
- package/dist/handlers/metadata.handler.js +0 -50
- package/dist/handlers/metadata.handler.js.map +0 -1
- package/dist/utils/normalizeDataFlow.d.ts +0 -3
- package/dist/utils/normalizeDataFlow.d.ts.map +0 -1
- package/dist/utils/normalizeDataFlow.js +0 -37
- package/dist/utils/normalizeDataFlow.js.map +0 -1
- package/dist/utils.d.ts +0 -2
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -10
- package/dist/utils.js.map +0 -1
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SyncRunner = exports.AdapterNotRegisteredError = exports.AdapterRoleError = void 0;
|
|
4
|
+
exports.decideCursor = decideCursor;
|
|
4
5
|
const crypto_1 = require("crypto");
|
|
5
6
|
const constants_1 = require("../constants");
|
|
6
7
|
const integration_log_interface_1 = require("../interfaces/integration-log.interface");
|
|
7
8
|
const run_log_builder_1 = require("./run-log-builder");
|
|
8
9
|
const adapter_registry_1 = require("../adapters/adapter-registry");
|
|
10
|
+
const skedulo_mutation_result_1 = require("../adapters/skedulo-mutation-result");
|
|
9
11
|
const external_id_sync_strategy_1 = require("./external-id-sync.strategy");
|
|
10
12
|
const id_mapping_sync_strategy_1 = require("./id-mapping-sync.strategy");
|
|
11
13
|
const id_mapping_service_1 = require("./id-mapping.service");
|
|
12
14
|
const sync_service_1 = require("./sync.service");
|
|
15
|
+
const helpers_1 = require("../utils/helpers");
|
|
13
16
|
// High-level entry point: resolves adapters and a strategy from the flow, then
|
|
14
17
|
// delegates to SyncService. `run()` drives batch/scheduled syncs; `handleEventBatch`
|
|
15
18
|
// and `handleFlowEventBatch` drive event-driven ones.
|
|
@@ -41,7 +44,7 @@ class SyncRunner {
|
|
|
41
44
|
// sourceSystem / targetSystem fallbacks are used when the flow's own values are null
|
|
42
45
|
// (e.g. flows created before these columns were added to the schema).
|
|
43
46
|
async run(args, ctx) {
|
|
44
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
47
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
45
48
|
// One execution_id per run; correlates the run_summary + record_error logs.
|
|
46
49
|
const executionId = (0, crypto_1.randomUUID)();
|
|
47
50
|
const startedAt = Date.now();
|
|
@@ -77,20 +80,61 @@ class SyncRunner {
|
|
|
77
80
|
const overlapMs = (_h = (_g = args.options) === null || _g === void 0 ? void 0 : _g.cursorOverlapMs) !== null && _h !== void 0 ? _h : 60000;
|
|
78
81
|
const effectiveCursor = lastRunAt ? new Date(lastRunAt.getTime() - overlapMs) : null; // null = full sync (no prior run)
|
|
79
82
|
const result = await new sync_service_1.SyncService(source, target, strategy).run({ flow, since: effectiveCursor }, ctx);
|
|
80
|
-
//
|
|
81
|
-
//
|
|
82
|
-
//
|
|
83
|
-
//
|
|
84
|
-
|
|
83
|
+
// Record each failed record, then always advance — one bad record must not wedge the
|
|
84
|
+
// flow (SOL-1198). We only advance once the failures are safely written: if the write
|
|
85
|
+
// throws, a retained error has no source id to record, or the run looks like an outage,
|
|
86
|
+
// hold the cursor and let the next run redo the window.
|
|
87
|
+
const failures = this._buildFailureEntries(ctx, flow, source, executionId, (_j = result.errors) !== null && _j !== void 0 ? _j : []);
|
|
88
|
+
// Deliberate limitation: the retained-errors cap (MAX_RECORD_ERRORS) bounds how many rows a
|
|
89
|
+
// mass-failure run dead-letters, so the overflow is NOT written and the cursor still advances
|
|
90
|
+
// past it. That window is replay-recoverable (run-flow --since), not lost for good, but it
|
|
91
|
+
// does not auto-recover — surface the dropped count (metric + warn) so it isn't silent.
|
|
92
|
+
const dropped = ((_k = result.errorCount) !== null && _k !== void 0 ? _k : 0) - ((_m = (_l = result.errors) === null || _l === void 0 ? void 0 : _l.length) !== null && _m !== void 0 ? _m : 0);
|
|
93
|
+
if (dropped > 0) {
|
|
94
|
+
ctx.metrics.counter('sync.failures.dropped', dropped, {
|
|
95
|
+
integrationType: ctx.integrationType,
|
|
96
|
+
});
|
|
97
|
+
ctx.logger.warn(`failed_records_truncated: flowId=${args.flowId} recorded=${(_p = (_o = result.errors) === null || _o === void 0 ? void 0 : _o.length) !== null && _p !== void 0 ? _p : 0} ` +
|
|
98
|
+
`dropped=${dropped} — replay the window (run-flow --since) to recover the remainder`);
|
|
99
|
+
}
|
|
100
|
+
const decision = decideCursor(result, failures);
|
|
101
|
+
if (decision.advance) {
|
|
102
|
+
// Record failures FIRST; only advance if that write succeeds (fail-closed) — advancing
|
|
103
|
+
// past an unrecorded failure would be silent data loss.
|
|
104
|
+
let recorded = true;
|
|
85
105
|
try {
|
|
86
|
-
await ctx.
|
|
106
|
+
await ctx.failedRecordClient.upsert(failures);
|
|
107
|
+
if (failures.length > 0) {
|
|
108
|
+
ctx.metrics.counter('sync.failures.recorded', failures.length, {
|
|
109
|
+
integrationType: ctx.integrationType,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
87
112
|
}
|
|
88
113
|
catch (err) {
|
|
89
|
-
|
|
114
|
+
recorded = false;
|
|
115
|
+
ctx.logger.error(`cursor_hold_write_failed: flowId=${args.flowId} error="${err instanceof Error ? err.message : String(err)}" — failures not recorded, holding cursor; window retries next run`);
|
|
116
|
+
ctx.metrics.counter('sync.failed_record.write_failed', 1, {
|
|
117
|
+
integrationType: ctx.integrationType,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
if (recorded) {
|
|
121
|
+
try {
|
|
122
|
+
await ctx.dataFlowService.updateCursor(args.flowId, runStartedAt);
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
// Failures ARE recorded; only the cursor didn't persist. Idempotent upserts make
|
|
126
|
+
// re-processing the window next run harmless.
|
|
127
|
+
ctx.logger.error(`update_cursor_failed: flowId=${args.flowId} error="${err instanceof Error ? err.message : String(err)}" — next run will re-process same window`);
|
|
128
|
+
}
|
|
90
129
|
}
|
|
91
130
|
}
|
|
92
131
|
else {
|
|
93
|
-
ctx.logger.warn(`
|
|
132
|
+
ctx.logger.warn(`cursor_held: flowId=${args.flowId} reason=${decision.reason} failed=${result.failed} ` +
|
|
133
|
+
`recorded=${failures.length} retained=${(_r = (_q = result.errors) === null || _q === void 0 ? void 0 : _q.length) !== null && _r !== void 0 ? _r : 0} — window retries next run`);
|
|
134
|
+
ctx.metrics.counter('sync.cursor.held', 1, {
|
|
135
|
+
integrationType: ctx.integrationType,
|
|
136
|
+
reason: (_s = decision.reason) !== null && _s !== void 0 ? _s : 'unknown',
|
|
137
|
+
});
|
|
94
138
|
}
|
|
95
139
|
await this._emitRunLog(ctx, {
|
|
96
140
|
executionId,
|
|
@@ -237,7 +281,10 @@ class SyncRunner {
|
|
|
237
281
|
let failed = 0;
|
|
238
282
|
let recordErrors = [];
|
|
239
283
|
if (upserts.length > 0) {
|
|
240
|
-
|
|
284
|
+
// Realtime grouped upserts are incremental deliveries (EVENT semantics), not
|
|
285
|
+
// initial backfill — the BATCH default on processBatch is only correct for the
|
|
286
|
+
// scheduled `run` path, which sets its own pipeline before calling in.
|
|
287
|
+
const batch = await service.processBatch(flow, upserts.map((e) => e.payload), ctx, constants_1.SyncMode.EVENT);
|
|
241
288
|
succeeded += batch.succeeded;
|
|
242
289
|
failed += batch.failed;
|
|
243
290
|
// Snapshot now — the delete loop below re-inits/clears ctx.pipeline.
|
|
@@ -252,6 +299,26 @@ class SyncRunner {
|
|
|
252
299
|
succeeded += r.recordsProcessed;
|
|
253
300
|
}
|
|
254
301
|
ctx.pipeline = undefined;
|
|
302
|
+
// Dead-letter each failed record so realtime failures show in the errors view and can be
|
|
303
|
+
// retried (the batch path does this too). Realtime has no cursor to hold, so it's
|
|
304
|
+
// best-effort: a write failure is logged and the delivery result still reflects the failures.
|
|
305
|
+
if (recordErrors.length > 0) {
|
|
306
|
+
const failures = this._buildFailureEntries(ctx, flow, source, executionId, recordErrors);
|
|
307
|
+
if (failures.length > 0) {
|
|
308
|
+
try {
|
|
309
|
+
await ctx.failedRecordClient.upsert(failures);
|
|
310
|
+
ctx.metrics.counter('sync.failures.recorded', failures.length, {
|
|
311
|
+
integrationType: ctx.integrationType,
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
catch (err) {
|
|
315
|
+
ctx.logger.error(`event_failed_record_write_failed: flowId=${flow.id} error="${err instanceof Error ? err.message : String(err)}"`);
|
|
316
|
+
ctx.metrics.counter('sync.failed_record.write_failed', 1, {
|
|
317
|
+
integrationType: ctx.integrationType,
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
255
322
|
await this._emitRunLog(ctx, {
|
|
256
323
|
executionId,
|
|
257
324
|
flowId: flow.id,
|
|
@@ -284,6 +351,116 @@ class SyncRunner {
|
|
|
284
351
|
return { status: 'failed', recordsProcessed: 0, error: msg };
|
|
285
352
|
}
|
|
286
353
|
}
|
|
354
|
+
// Retry specific failed records. Re-fetches the given source ids (current state, so a fix at
|
|
355
|
+
// source takes effect), re-runs the pipeline, then reconciles by source id: re-record the ones
|
|
356
|
+
// that still fail, resolve the rest (the ones that now pass, plus records deleted at source).
|
|
357
|
+
// Assumes the flow exists and its source adapter implements fetchByIds (the action checks both).
|
|
358
|
+
async retryRecords(args, ctx) {
|
|
359
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
360
|
+
const requested = args.sourceIds.length;
|
|
361
|
+
const flow = await ctx.dataFlowService.getFlowById(args.flowId);
|
|
362
|
+
if (!flow || requested === 0)
|
|
363
|
+
return { requested, succeeded: 0, failed: 0 };
|
|
364
|
+
// One execution id for the whole retry so its dead-letter rows and the run log below share an
|
|
365
|
+
// FK — that log is what CreateFailedRecordDto.executionId points at (else the Activity drill-in
|
|
366
|
+
// dead-ends and the retry is invisible in the run history).
|
|
367
|
+
const executionId = (0, crypto_1.randomUUID)();
|
|
368
|
+
const startedAt = Date.now();
|
|
369
|
+
const source = this._resolve((_a = flow.sourceSystem) !== null && _a !== void 0 ? _a : null, constants_1.AdapterRole.SOURCE);
|
|
370
|
+
const target = this._resolve((_b = flow.targetSystem) !== null && _b !== void 0 ? _b : null, constants_1.AdapterRole.TARGET);
|
|
371
|
+
if (typeof source.fetchByIds !== 'function') {
|
|
372
|
+
throw new AdapterRoleError((_c = flow.sourceSystem) !== null && _c !== void 0 ? _c : 'source', constants_1.AdapterRole.SOURCE);
|
|
373
|
+
}
|
|
374
|
+
const strategy = createSyncStrategy((_d = args.options) !== null && _d !== void 0 ? _d : {}, ctx);
|
|
375
|
+
const service = new sync_service_1.SyncService(source, target, strategy); // ctor inits adapter roles
|
|
376
|
+
const records = await source.fetchByIds(ctx, flow, args.sourceIds);
|
|
377
|
+
if (records.length < requested) {
|
|
378
|
+
// Some requested ids weren't returned (deleted at source, or a partial fetch). The reconcile
|
|
379
|
+
// below treats a missing id as resolved, so warn — a transient miss otherwise closes silently.
|
|
380
|
+
ctx.logger.warn(`retry_fetch_shortfall: flowId=${flow.id} requested=${requested} fetched=${records.length}`);
|
|
381
|
+
}
|
|
382
|
+
// Sub-batch at the mutation cap, like run(): one processBatch per <=MAX_MUTATION_BATCH_SIZE
|
|
383
|
+
// records so a large retry never hands more than the cap to a single write. Collect every
|
|
384
|
+
// chunk's errors and reconcile ONCE on the union — a per-chunk resolve could close an id that
|
|
385
|
+
// fails in a later chunk.
|
|
386
|
+
const errors = [];
|
|
387
|
+
let unwritten = 0; // fetched but filtered-out or claim-skipped — neither ok nor failed
|
|
388
|
+
for (const chunk of (0, helpers_1.chunkArray)(records, constants_1.MAX_MUTATION_BATCH_SIZE)) {
|
|
389
|
+
// Mirror run(): normalize raws via beforeMap before mapping (processBatch alone skips it),
|
|
390
|
+
// else we'd map un-normalized data (e.g. Salesforce newline flattening).
|
|
391
|
+
ctx.pipeline = (0, sync_service_1._initPipeline)(flow, (_e = flow.filter) !== null && _e !== void 0 ? _e : null, chunk, constants_1.SyncMode.BATCH, null);
|
|
392
|
+
await ((_f = source.beforeMap) === null || _f === void 0 ? void 0 : _f.call(source, ctx));
|
|
393
|
+
const normalized = ctx.pipeline.data.map((p) => p.raw);
|
|
394
|
+
ctx.pipeline = undefined;
|
|
395
|
+
// EVENT (not BATCH) so inbound writes attribute as incremental — a retried record must emit
|
|
396
|
+
// a tagged change event and fire triggered actions. BATCH with since=null reads as a backfill
|
|
397
|
+
// and suppresses those events (COR-648 attribution).
|
|
398
|
+
const batch = await service.processBatch(flow, normalized, ctx, constants_1.SyncMode.EVENT);
|
|
399
|
+
unwritten += ((_g = batch.filtered) !== null && _g !== void 0 ? _g : 0) + ((_h = batch.skipped) !== null && _h !== void 0 ? _h : 0);
|
|
400
|
+
// processBatch (re)assigns ctx.pipeline; the cast reads back the captured per-record errors.
|
|
401
|
+
errors.push(...((_k = (_j = ctx.pipeline) === null || _j === void 0 ? void 0 : _j.errors) !== null && _k !== void 0 ? _k : []));
|
|
402
|
+
ctx.pipeline = undefined;
|
|
403
|
+
}
|
|
404
|
+
if (unwritten > 0) {
|
|
405
|
+
// These have no error, so the reconcile below resolves them by subtraction even though they
|
|
406
|
+
// weren't written (filtered out of the flow, or lost an id-mapping claim). Surface it — a
|
|
407
|
+
// silent resolve of an unwritten record otherwise looks like a successful retry.
|
|
408
|
+
ctx.logger.warn(`retry_unwritten_resolved: flowId=${flow.id} count=${unwritten} — fetched but filtered/claim-skipped, resolved without a write`);
|
|
409
|
+
}
|
|
410
|
+
const failedEntries = this._buildFailureEntries(ctx, flow, source, executionId, errors);
|
|
411
|
+
// Guard both store writes: by this point the retry has already re-run the records, so an IS
|
|
412
|
+
// blip between upsert and resolve must still return a summary, not throw a 500 with no counts.
|
|
413
|
+
if (failedEntries.length > 0) {
|
|
414
|
+
try {
|
|
415
|
+
await ctx.failedRecordClient.upsert(failedEntries);
|
|
416
|
+
}
|
|
417
|
+
catch (err) {
|
|
418
|
+
ctx.logger.error(`retry_upsert_failed: flowId=${flow.id} error="${err instanceof Error ? err.message : String(err)}" — still-failing rows stay as they were`);
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
// Only resolve when every error became a row. If some failure couldn't be attributed
|
|
422
|
+
// (errors > entries), we can't tell which requested ids truly succeeded — resolving the
|
|
423
|
+
// difference would close a still-broken record's row (silent loss). Leave them open.
|
|
424
|
+
const fullyAttributed = errors.length === failedEntries.length;
|
|
425
|
+
let succeededIds = [];
|
|
426
|
+
if (fullyAttributed) {
|
|
427
|
+
const failedIds = new Set(failedEntries.map((e) => e.sourceId));
|
|
428
|
+
succeededIds = args.sourceIds.filter((id) => !failedIds.has(id));
|
|
429
|
+
if (succeededIds.length > 0) {
|
|
430
|
+
try {
|
|
431
|
+
await ctx.failedRecordClient.resolve(String(flow.id), succeededIds);
|
|
432
|
+
}
|
|
433
|
+
catch (err) {
|
|
434
|
+
succeededIds = []; // resolve didn't persist — don't report rows as resolved
|
|
435
|
+
ctx.logger.error(`retry_resolve_failed: flowId=${flow.id} error="${err instanceof Error ? err.message : String(err)}" — rows stay open, retry recorded`);
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
else {
|
|
440
|
+
ctx.logger.warn(`retry_reconcile_incomplete: flowId=${flow.id} errors=${errors.length} ` +
|
|
441
|
+
`attributed=${failedEntries.length} — not resolving to avoid closing an unrecorded failure`);
|
|
442
|
+
}
|
|
443
|
+
// Emit a run log so the retry shows in the Activity history and its dead-letter rows' FK
|
|
444
|
+
// resolves to a real run (see executionId above).
|
|
445
|
+
await this._emitRunLog(ctx, {
|
|
446
|
+
executionId,
|
|
447
|
+
flowId: flow.id,
|
|
448
|
+
flowName: flow.name,
|
|
449
|
+
startedAt,
|
|
450
|
+
source: integration_log_interface_1.LogSource.BATCH,
|
|
451
|
+
summary: {
|
|
452
|
+
succeeded: succeededIds.length,
|
|
453
|
+
filtered: 0,
|
|
454
|
+
skipped: unwritten,
|
|
455
|
+
failed: failedEntries.length,
|
|
456
|
+
dlqWrites: failedEntries.length,
|
|
457
|
+
errors,
|
|
458
|
+
},
|
|
459
|
+
});
|
|
460
|
+
ctx.logger.info(`[retry-failed] flowId=${flow.id} requested=${requested} ` +
|
|
461
|
+
`resolved=${succeededIds.length} stillFailing=${failedEntries.length}`);
|
|
462
|
+
return { requested, succeeded: succeededIds.length, failed: failedEntries.length };
|
|
463
|
+
}
|
|
287
464
|
_resolve(systemName, role) {
|
|
288
465
|
var _a, _b;
|
|
289
466
|
if (!systemName)
|
|
@@ -301,8 +478,71 @@ class SyncRunner {
|
|
|
301
478
|
}
|
|
302
479
|
return adapter;
|
|
303
480
|
}
|
|
481
|
+
// Turn this run's retained per-record errors into failed-record rows. The source id is
|
|
482
|
+
// read from the raw record via the source adapter's id field; errors without a raw record
|
|
483
|
+
// (batch-level process errors, until the drop-path fixes land) yield no row — decideCursor
|
|
484
|
+
// then holds the cursor rather than advancing past an unrecorded failure.
|
|
485
|
+
_buildFailureEntries(ctx, flow, source, executionId, errors) {
|
|
486
|
+
var _a, _b, _c, _d, _e;
|
|
487
|
+
const sourceIdField = (_b = (_a = source.getRecordIdField) === null || _a === void 0 ? void 0 : _a.call(source)) !== null && _b !== void 0 ? _b : 'id';
|
|
488
|
+
const entries = [];
|
|
489
|
+
for (const e of errors) {
|
|
490
|
+
// Prefer a directly-known source id (e.g. mapping write-back); else derive from the raw record.
|
|
491
|
+
const sourceId = (_c = e.sourceId) !== null && _c !== void 0 ? _c : (e.data ? String((_d = e.data[sourceIdField]) !== null && _d !== void 0 ? _d : '') : '');
|
|
492
|
+
if (!sourceId)
|
|
493
|
+
continue; // no source id → not recordable; decideCursor accounts for this
|
|
494
|
+
// IS validates each entry and 400s the WHOLE batch on any invalid one, which would leave
|
|
495
|
+
// every failure unrecorded and wedge the cursor. Guard the two reachable triggers so one bad
|
|
496
|
+
// entry can't poison the rest: an over-255 source id is skipped (pathological — decideCursor
|
|
497
|
+
// then holds just for it), and an empty message gets a placeholder so it still records.
|
|
498
|
+
if (sourceId.length > 255) {
|
|
499
|
+
ctx.logger.warn(`failed_record_skipped_oversized_source_id: flowId=${flow.id} length=${sourceId.length}`);
|
|
500
|
+
continue;
|
|
501
|
+
}
|
|
502
|
+
entries.push({
|
|
503
|
+
integrationType: ctx.integrationType,
|
|
504
|
+
dataFlowId: String(flow.id),
|
|
505
|
+
executionId,
|
|
506
|
+
sourceId,
|
|
507
|
+
objectType: flow.sourceObject,
|
|
508
|
+
stage: e.stage,
|
|
509
|
+
// Prefer the adapter's own classification; fall back to the keyword classifier only when
|
|
510
|
+
// the capture site couldn't supply one (batch-level throws, mapping write-back).
|
|
511
|
+
errorClass: (_e = e.errorClass) !== null && _e !== void 0 ? _e : (0, skedulo_mutation_result_1.classifySkeduloError)(e.message),
|
|
512
|
+
// errorCode is left unset on purpose: the server groups by real vendor codes
|
|
513
|
+
// (e.g. PICKLIST_INVALID), which adapters don't surface yet. errorClass carries the
|
|
514
|
+
// coarse transient/permanent split until adapters can emit genuine codes.
|
|
515
|
+
errorMessage: (0, helpers_1.truncate)(e.message) || '(no error message)',
|
|
516
|
+
});
|
|
517
|
+
}
|
|
518
|
+
return entries;
|
|
519
|
+
}
|
|
304
520
|
}
|
|
305
521
|
exports.SyncRunner = SyncRunner;
|
|
522
|
+
// Pure cursor decision: always advance once failures are recorded, with two holds:
|
|
523
|
+
// 1. unrecorded_failures — a retained error had no source id, so it couldn't become a row.
|
|
524
|
+
// Compared against RETAINED errors, not result.failed: the MAX_RECORD_ERRORS cap means
|
|
525
|
+
// retained can be < failed, and that overflow is expected (the window is replayable), not a hold.
|
|
526
|
+
// 2. outage_suspected — zero successes and every recorded failure is transient. Likely infra,
|
|
527
|
+
// not data; hold and retry the window rather than flood rows for an outage.
|
|
528
|
+
// A wrong hold only costs a redundant re-run; it never advances past an unrecorded failure.
|
|
529
|
+
function decideCursor(result, failures) {
|
|
530
|
+
var _a, _b;
|
|
531
|
+
if (result.failed === 0)
|
|
532
|
+
return { advance: true };
|
|
533
|
+
// Hold if we have failures we couldn't turn into rows: either nothing was retained to record
|
|
534
|
+
// (retained === 0 with failed > 0), or a retained error had no derivable source id.
|
|
535
|
+
const retained = (_b = (_a = result.errors) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
|
|
536
|
+
if (retained === 0 || failures.length < retained) {
|
|
537
|
+
return { advance: false, reason: 'unrecorded_failures' };
|
|
538
|
+
}
|
|
539
|
+
if (result.succeeded === 0 &&
|
|
540
|
+
failures.length > 0 &&
|
|
541
|
+
failures.every((f) => f.errorClass === 'transient')) {
|
|
542
|
+
return { advance: false, reason: 'outage_suspected' };
|
|
543
|
+
}
|
|
544
|
+
return { advance: true };
|
|
545
|
+
}
|
|
306
546
|
function createSyncStrategy(options, _ctx) {
|
|
307
547
|
if (options.lookupStrategy === constants_1.LookupStrategy.IdMapping) {
|
|
308
548
|
return new id_mapping_sync_strategy_1.IdMappingSyncStrategy(new id_mapping_service_1.IdMappingService());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-runner.js","sourceRoot":"","sources":["../../src/services/sync-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync-runner.js","sourceRoot":"","sources":["../../src/services/sync-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,8 @@ import type { DataFlow } from '../interfaces/data-flow-spec.interface';
|
|
|
4
4
|
import type { MappedEvent } from '../interfaces/mapped-event.interface';
|
|
5
5
|
import type { BatchResult, SyncResult } from '../interfaces/sync-result.interface';
|
|
6
6
|
import type { SyncFlowStrategy } from '../interfaces/sync-flow-strategy.interface';
|
|
7
|
+
import type { SyncPipelineState } from '../interfaces/sync-pipeline.interface';
|
|
8
|
+
import { SyncMode } from '../constants';
|
|
7
9
|
export declare class SyncService {
|
|
8
10
|
private readonly source;
|
|
9
11
|
private readonly target;
|
|
@@ -17,7 +19,7 @@ export declare class SyncService {
|
|
|
17
19
|
event: MappedEvent;
|
|
18
20
|
flow: DataFlow;
|
|
19
21
|
}, ctx: IntegrationContext): Promise<SyncResult>;
|
|
20
|
-
processBatch(flowArg: DataFlow, records: Record<string, unknown>[], ctx: IntegrationContext): Promise<BatchResult>;
|
|
22
|
+
processBatch(flowArg: DataFlow, records: Record<string, unknown>[], ctx: IntegrationContext, syncMode?: SyncMode): Promise<BatchResult>;
|
|
21
23
|
/**
|
|
22
24
|
* Coerce the flow's filter scalar values to the source field types (e.g. a
|
|
23
25
|
* `Skedulo_Sync__c = "true"` text filter → boolean) so the local filter matches
|
|
@@ -28,4 +30,5 @@ export declare class SyncService {
|
|
|
28
30
|
*/
|
|
29
31
|
private _coerceFlowFilter;
|
|
30
32
|
}
|
|
33
|
+
export declare function _initPipeline(flow: DataFlow, filter: DataFlow['filter'] | null, records: Record<string, unknown>[], syncMode: SyncMode, since: Date | null): SyncPipelineState;
|
|
31
34
|
//# sourceMappingURL=sync.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.service.d.ts","sourceRoot":"","sources":["../../src/services/sync.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"sync.service.d.ts","sourceRoot":"","sources":["../../src/services/sync.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAwC,QAAQ,EAAE,MAAM,cAAc,CAAC;AAwB9E,qBAAa,WAAW;IAIpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;gBAGzB,MAAM,EAAE,OAAO,GAAG,IAAI,EACtB,MAAM,EAAE,OAAO,EAChC,QAAQ,CAAC,EAAE,gBAAgB;IAOvB,GAAG,CACP,IAAI,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,EAC5C,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,WAAW,CAAC;IAgFjB,WAAW,CACf,IAAI,EAAE;QAAE,KAAK,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,EAC5C,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,UAAU,CAAC;IAqBhB,YAAY,CAChB,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAClC,GAAG,EAAE,kBAAkB,EACvB,QAAQ,GAAE,QAAyB,GAClC,OAAO,CAAC,WAAW,CAAC;IAevB;;;;;;;OAOG;YACW,iBAAiB;CAShC;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,EACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAClC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,IAAI,GAAG,IAAI,GACjB,iBAAiB,CAcnB"}
|
|
@@ -8,6 +8,7 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
|
8
8
|
};
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.SyncService = void 0;
|
|
11
|
+
exports._initPipeline = _initPipeline;
|
|
11
12
|
const constants_1 = require("../constants");
|
|
12
13
|
const base_adapter_1 = require("../adapters/base.adapter");
|
|
13
14
|
const external_id_sync_strategy_1 = require("./external-id-sync.strategy");
|
|
@@ -132,11 +133,11 @@ class SyncService {
|
|
|
132
133
|
return result;
|
|
133
134
|
}
|
|
134
135
|
// Exposed for tests / direct batch processing.
|
|
135
|
-
async processBatch(flowArg, records, ctx) {
|
|
136
|
+
async processBatch(flowArg, records, ctx, syncMode = constants_1.SyncMode.BATCH) {
|
|
136
137
|
var _a, _b;
|
|
137
138
|
const flow = await this._coerceFlowFilter(flowArg, ctx);
|
|
138
139
|
if (!ctx.pipeline) {
|
|
139
|
-
ctx.pipeline = _initPipeline(flow, (_a = flow.filter) !== null && _a !== void 0 ? _a : null, records,
|
|
140
|
+
ctx.pipeline = _initPipeline(flow, (_a = flow.filter) !== null && _a !== void 0 ? _a : null, records, syncMode, null);
|
|
140
141
|
}
|
|
141
142
|
return this.strategy.processBatch(ctx, flow, this.source, this.target, records, (_b = flow.filter) !== null && _b !== void 0 ? _b : null);
|
|
142
143
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.service.js","sourceRoot":"","sources":["../../src/services/sync.service.ts"],"names":[],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"sync.service.js","sourceRoot":"","sources":["../../src/services/sync.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skedulo/integration-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "Runtime SDK for Skedulo integration data flows",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@skedulo/field-mapping-engine": "^1.2.0",
|
|
38
|
-
"@skedulo/pulse-solution-services": "^0.0.
|
|
38
|
+
"@skedulo/pulse-solution-services": "^0.0.26",
|
|
39
39
|
"jsonata": "^2.1.0"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
package/yarn.lock
CHANGED
|
@@ -701,10 +701,10 @@
|
|
|
701
701
|
jwt-decode "^4.0.0"
|
|
702
702
|
typescript "~5.8.3"
|
|
703
703
|
|
|
704
|
-
"@skedulo/pulse-solution-services@^0.0.
|
|
705
|
-
version "0.0.
|
|
706
|
-
resolved "https://registry.yarnpkg.com/@skedulo/pulse-solution-services/-/pulse-solution-services-0.0.
|
|
707
|
-
integrity sha512-
|
|
704
|
+
"@skedulo/pulse-solution-services@^0.0.26":
|
|
705
|
+
version "0.0.26"
|
|
706
|
+
resolved "https://registry.yarnpkg.com/@skedulo/pulse-solution-services/-/pulse-solution-services-0.0.26.tgz#733b9f473ccb08f89df7afe20a40dda3813e0121"
|
|
707
|
+
integrity sha512-9b2NFtQeI8Krbr8jcR5BiN1RRdSdSyzqMoYCRtp1MZdR8uwRj5oc21SEYETuNpDyqCxfUh3HNaVKKIXKN8Fyhw==
|
|
708
708
|
dependencies:
|
|
709
709
|
"@skedulo/function-utilities" "^0.0.8"
|
|
710
710
|
dayjs "^1.11.13"
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
preset: 'ts-jest',
|
|
3
|
-
testEnvironment: 'node',
|
|
4
|
-
collectCoverageFrom: [
|
|
5
|
-
'src/**/*.ts'
|
|
6
|
-
],
|
|
7
|
-
coverageDirectory: 'coverage',
|
|
8
|
-
testMatch: [
|
|
9
|
-
'**/test/**/*.test.ts'
|
|
10
|
-
],
|
|
11
|
-
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node']
|
|
12
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
preset: 'ts-jest',
|
|
3
|
-
testEnvironment: 'node',
|
|
4
|
-
collectCoverageFrom: [
|
|
5
|
-
'src/**/*.ts'
|
|
6
|
-
],
|
|
7
|
-
coverageDirectory: 'coverage',
|
|
8
|
-
testMatch: [
|
|
9
|
-
'**/test/**/*.test.ts'
|
|
10
|
-
],
|
|
11
|
-
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node']
|
|
12
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
preset: 'ts-jest',
|
|
3
|
-
testEnvironment: 'node',
|
|
4
|
-
collectCoverageFrom: [
|
|
5
|
-
'src/**/*.ts'
|
|
6
|
-
],
|
|
7
|
-
coverageDirectory: 'coverage',
|
|
8
|
-
testMatch: [
|
|
9
|
-
'**/test/**/*.test.ts'
|
|
10
|
-
],
|
|
11
|
-
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node']
|
|
12
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
preset: 'ts-jest',
|
|
3
|
-
testEnvironment: 'node',
|
|
4
|
-
collectCoverageFrom: [
|
|
5
|
-
'src/**/*.ts'
|
|
6
|
-
],
|
|
7
|
-
coverageDirectory: 'coverage',
|
|
8
|
-
testMatch: [
|
|
9
|
-
'**/test/**/*.test.ts'
|
|
10
|
-
],
|
|
11
|
-
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node']
|
|
12
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
preset: 'ts-jest',
|
|
3
|
-
testEnvironment: 'node',
|
|
4
|
-
collectCoverageFrom: [
|
|
5
|
-
'src/**/*.ts'
|
|
6
|
-
],
|
|
7
|
-
coverageDirectory: 'coverage',
|
|
8
|
-
testMatch: [
|
|
9
|
-
'**/test/**/*.test.ts'
|
|
10
|
-
],
|
|
11
|
-
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node']
|
|
12
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { IntegrationContext } from '../context';
|
|
2
|
-
import type { Adapter, DataFlowTemplate, FieldInfo, ObjectInfo, SampleAPI, SampleRecord } from '../interfaces/adapter.interface';
|
|
3
|
-
export declare class MetadataHandler {
|
|
4
|
-
private readonly adapters;
|
|
5
|
-
constructor(integrationAdapters: Record<string, Adapter>);
|
|
6
|
-
resolve(system: string | undefined): Adapter;
|
|
7
|
-
getObjects(system: string, ctx: IntegrationContext): Promise<ObjectInfo[]>;
|
|
8
|
-
getFields(system: string, objectName: string, ctx: IntegrationContext): Promise<FieldInfo[]>;
|
|
9
|
-
fetchSampleRecords(system: string, objectName: string, properties: string[], limit: number, ctx: IntegrationContext): Promise<SampleRecord[]>;
|
|
10
|
-
getTemplates(system: string): Promise<DataFlowTemplate[]>;
|
|
11
|
-
getSampleAPIs(system: string): SampleAPI[];
|
|
12
|
-
}
|
|
13
|
-
export declare class MetadataHandlerError extends Error {
|
|
14
|
-
readonly status: number;
|
|
15
|
-
constructor(status: number, message: string);
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=metadata.handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.handler.d.ts","sourceRoot":"","sources":["../../src/handlers/metadata.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACb,MAAM,iCAAiC,CAAC;AAGzC,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;gBAEvC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOxD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IActC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAI1E,SAAS,CACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,SAAS,EAAE,CAAC;IAIjB,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAAE,EACpB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,YAAY,EAAE,CAAC;IAIpB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAM/D,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE;CAK3C;AAED,qBAAa,oBAAqB,SAAQ,KAAK;aAE3B,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EAC9B,OAAO,EAAE,MAAM;CAKlB"}
|