@memberjunction/integration-engine 5.38.0 → 5.40.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/dist/ActionMetadataGenerator.d.ts +8 -1
- package/dist/ActionMetadataGenerator.d.ts.map +1 -1
- package/dist/ActionMetadataGenerator.js +22 -3
- package/dist/ActionMetadataGenerator.js.map +1 -1
- package/dist/AdaptiveConcurrency.d.ts +85 -0
- package/dist/AdaptiveConcurrency.d.ts.map +1 -0
- package/dist/AdaptiveConcurrency.js +148 -0
- package/dist/AdaptiveConcurrency.js.map +1 -0
- package/dist/BaseIntegrationConnector.d.ts +127 -3
- package/dist/BaseIntegrationConnector.d.ts.map +1 -1
- package/dist/BaseIntegrationConnector.js +126 -11
- package/dist/BaseIntegrationConnector.js.map +1 -1
- package/dist/BaseRESTIntegrationConnector.d.ts +80 -15
- package/dist/BaseRESTIntegrationConnector.d.ts.map +1 -1
- package/dist/BaseRESTIntegrationConnector.js +314 -64
- package/dist/BaseRESTIntegrationConnector.js.map +1 -1
- package/dist/ConflictRecency.d.ts +24 -0
- package/dist/ConflictRecency.d.ts.map +1 -0
- package/dist/ConflictRecency.js +25 -0
- package/dist/ConflictRecency.js.map +1 -0
- package/dist/ContentHash.d.ts +28 -0
- package/dist/ContentHash.d.ts.map +1 -0
- package/dist/ContentHash.js +54 -0
- package/dist/ContentHash.js.map +1 -0
- package/dist/EnrichSchemaConstraints.d.ts +59 -0
- package/dist/EnrichSchemaConstraints.d.ts.map +1 -0
- package/dist/EnrichSchemaConstraints.js +168 -0
- package/dist/EnrichSchemaConstraints.js.map +1 -0
- package/dist/FieldMappingEngine.d.ts +22 -0
- package/dist/FieldMappingEngine.d.ts.map +1 -1
- package/dist/FieldMappingEngine.js +66 -5
- package/dist/FieldMappingEngine.js.map +1 -1
- package/dist/HashDiff.d.ts +68 -0
- package/dist/HashDiff.d.ts.map +1 -0
- package/dist/HashDiff.js +108 -0
- package/dist/HashDiff.js.map +1 -0
- package/dist/IntegrationActionGenerator.d.ts +93 -0
- package/dist/IntegrationActionGenerator.d.ts.map +1 -0
- package/dist/IntegrationActionGenerator.js +313 -0
- package/dist/IntegrationActionGenerator.js.map +1 -0
- package/dist/IntegrationConnectorCreationPipeline.d.ts +86 -0
- package/dist/IntegrationConnectorCreationPipeline.d.ts.map +1 -0
- package/dist/IntegrationConnectorCreationPipeline.js +226 -0
- package/dist/IntegrationConnectorCreationPipeline.js.map +1 -0
- package/dist/IntegrationEngine.d.ts +199 -1
- package/dist/IntegrationEngine.d.ts.map +1 -1
- package/dist/IntegrationEngine.js +1592 -109
- package/dist/IntegrationEngine.js.map +1 -1
- package/dist/IntegrationSchemaSync.d.ts +82 -0
- package/dist/IntegrationSchemaSync.d.ts.map +1 -1
- package/dist/IntegrationSchemaSync.js +289 -42
- package/dist/IntegrationSchemaSync.js.map +1 -1
- package/dist/MatchEngine.d.ts.map +1 -1
- package/dist/MatchEngine.js +4 -0
- package/dist/MatchEngine.js.map +1 -1
- package/dist/RateLimiter.d.ts +117 -0
- package/dist/RateLimiter.d.ts.map +1 -0
- package/dist/RateLimiter.js +159 -0
- package/dist/RateLimiter.js.map +1 -0
- package/dist/SyncLogger.d.ts +106 -0
- package/dist/SyncLogger.d.ts.map +1 -0
- package/dist/SyncLogger.js +176 -0
- package/dist/SyncLogger.js.map +1 -0
- package/dist/WatermarkService.d.ts +36 -1
- package/dist/WatermarkService.d.ts.map +1 -1
- package/dist/WatermarkService.js +113 -3
- package/dist/WatermarkService.js.map +1 -1
- package/dist/index.d.ts +23 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +52 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -6
package/dist/WatermarkService.js
CHANGED
|
@@ -19,6 +19,14 @@ export class WatermarkService {
|
|
|
19
19
|
OrderBy: 'LastSyncAt DESC',
|
|
20
20
|
MaxRows: 1,
|
|
21
21
|
ResultType: 'entity_object',
|
|
22
|
+
// A watermark is created then re-read within the same sync run (and across ApplyAll retries).
|
|
23
|
+
// A cache-stale null here makes the load-or-create path (Update / SaveKeysetPosition /
|
|
24
|
+
// SavePartitionRollups) blind-INSERT a duplicate, which violates UNIQUE(EntityMapID,Direction).
|
|
25
|
+
// On PostgreSQL that aborts the whole transaction ("current transaction is aborted"), failing the
|
|
26
|
+
// entire batch — SQL Server only dodged it via faster CodeGen (single ApplyAll, no second create).
|
|
27
|
+
// Bypass the cache so the load-or-create always sees true DB state. Watermarks are tiny + few per
|
|
28
|
+
// run, so the extra read is negligible against the correctness it buys.
|
|
29
|
+
BypassCache: true,
|
|
22
30
|
}, contextUser);
|
|
23
31
|
if (!result.Success || result.Results.length === 0)
|
|
24
32
|
return null;
|
|
@@ -83,6 +91,87 @@ export class WatermarkService {
|
|
|
83
91
|
return watermarkValue.length > 0;
|
|
84
92
|
}
|
|
85
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Persists a keyset/seek resume position for an INTERRUPTED scan (plan.md §8a).
|
|
96
|
+
*
|
|
97
|
+
* Stored on the Pull watermark record as `WatermarkType='Cursor'` so {@link Load} surfaces it and
|
|
98
|
+
* `ProcessPullSync` can resume the seek (`key > AfterKey`) on the next run instead of re-scanning
|
|
99
|
+
* from the start. Only meaningful for connectors that declare a `StableOrderingKey`; the engine
|
|
100
|
+
* gates the call on that, so a timestamp connector's record is never written here. Idempotent —
|
|
101
|
+
* safe to call repeatedly at the checkpoint cadence and once more on graceful early-exit.
|
|
102
|
+
*/
|
|
103
|
+
async SaveKeysetPosition(entityMapID, afterKey, contextUser) {
|
|
104
|
+
const existing = await this.Load(entityMapID, contextUser, 'Pull');
|
|
105
|
+
if (existing) {
|
|
106
|
+
existing.WatermarkType = 'Cursor';
|
|
107
|
+
existing.WatermarkValue = afterKey;
|
|
108
|
+
existing.LastSyncAt = new Date();
|
|
109
|
+
const saved = await existing.Save();
|
|
110
|
+
if (!saved) {
|
|
111
|
+
throw new Error(`Failed to save keyset position for EntityMapID=${entityMapID}`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
await this.createWatermark(entityMapID, afterKey, 'Cursor', 'Pull', contextUser);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Clears a persisted keyset resume position after a CLEAN scan (plan.md §8a), so the next run
|
|
120
|
+
* starts a fresh seek from the beginning. Keeps the record (still `WatermarkType='Cursor'`) for
|
|
121
|
+
* bookkeeping but nulls the value — a null value is what the restore logic reads as "no scan in
|
|
122
|
+
* progress". No-op when no watermark record exists yet.
|
|
123
|
+
*/
|
|
124
|
+
async ClearKeysetPosition(entityMapID, contextUser) {
|
|
125
|
+
const existing = await this.Load(entityMapID, contextUser, 'Pull');
|
|
126
|
+
if (!existing)
|
|
127
|
+
return;
|
|
128
|
+
existing.WatermarkType = 'Cursor';
|
|
129
|
+
existing.WatermarkValue = null;
|
|
130
|
+
existing.LastSyncAt = new Date();
|
|
131
|
+
const saved = await existing.Save();
|
|
132
|
+
if (!saved) {
|
|
133
|
+
throw new Error(`Failed to clear keyset position for EntityMapID=${entityMapID}`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Persists the partition→rollup map for a partition hash-diff (Merkle) reconcile of a watermark-less
|
|
138
|
+
* source (plan.md §7). Stored on the Pull watermark record as `WatermarkType='ChangeToken'` (the
|
|
139
|
+
* map IS an opaque change-detection token), JSON-encoded. The object is no-watermark, so this field
|
|
140
|
+
* is free; a partition-reconcile object never also carries a timestamp/cursor. Idempotent upsert.
|
|
141
|
+
*/
|
|
142
|
+
async SavePartitionRollups(entityMapID, rollups, contextUser) {
|
|
143
|
+
const json = JSON.stringify(Object.fromEntries(rollups));
|
|
144
|
+
const existing = await this.Load(entityMapID, contextUser, 'Pull');
|
|
145
|
+
if (existing) {
|
|
146
|
+
existing.WatermarkType = 'ChangeToken';
|
|
147
|
+
existing.WatermarkValue = json;
|
|
148
|
+
existing.LastSyncAt = new Date();
|
|
149
|
+
const saved = await existing.Save();
|
|
150
|
+
if (!saved)
|
|
151
|
+
throw new Error(`Failed to save partition rollups for EntityMapID=${entityMapID}`);
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
await this.createWatermark(entityMapID, json, 'ChangeToken', 'Pull', contextUser);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Loads the previously-stored partition→rollup map (empty map when none / first sync / wrong type),
|
|
159
|
+
* so the next reconcile can diff against it and deep-sync only the partitions whose rollup moved.
|
|
160
|
+
*/
|
|
161
|
+
async LoadPartitionRollups(entityMapID, contextUser) {
|
|
162
|
+
const existing = await this.Load(entityMapID, contextUser, 'Pull');
|
|
163
|
+
if (existing?.WatermarkType === 'ChangeToken' && existing.WatermarkValue) {
|
|
164
|
+
try {
|
|
165
|
+
const obj = JSON.parse(existing.WatermarkValue);
|
|
166
|
+
if (obj && typeof obj === 'object')
|
|
167
|
+
return new Map(Object.entries(obj));
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
// Corrupt/old value — treat as no prior snapshot (forces a full reconcile, never a skip).
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return new Map();
|
|
174
|
+
}
|
|
86
175
|
/**
|
|
87
176
|
* Updates an existing watermark record with a new value and timestamp.
|
|
88
177
|
*/
|
|
@@ -95,20 +184,41 @@ export class WatermarkService {
|
|
|
95
184
|
}
|
|
96
185
|
}
|
|
97
186
|
/**
|
|
98
|
-
* Creates a new watermark record for the given entity map
|
|
187
|
+
* Creates a new watermark record for the given entity map (Timestamp type — the default for
|
|
188
|
+
* incremental connectors).
|
|
99
189
|
*/
|
|
100
190
|
async CreateNewWatermark(entityMapID, newValue, contextUser, direction = 'Pull') {
|
|
191
|
+
await this.createWatermark(entityMapID, newValue, 'Timestamp', direction, contextUser);
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Shared creator for a new watermark row. Factored out so timestamp watermarks and keyset resume
|
|
195
|
+
* positions ({@link SaveKeysetPosition}) share one persistence path with a per-call WatermarkType.
|
|
196
|
+
*/
|
|
197
|
+
async createWatermark(entityMapID, value, watermarkType, direction, contextUser) {
|
|
101
198
|
const md = new Metadata(); // global-provider-ok: watermark service — single-provider context
|
|
102
199
|
const watermark = await md.GetEntityObject('MJ: Company Integration Sync Watermarks', contextUser);
|
|
103
200
|
watermark.NewRecord();
|
|
104
201
|
watermark.EntityMapID = entityMapID;
|
|
105
|
-
watermark.WatermarkValue =
|
|
202
|
+
watermark.WatermarkValue = value;
|
|
106
203
|
watermark.Direction = direction;
|
|
107
|
-
watermark.WatermarkType =
|
|
204
|
+
watermark.WatermarkType = watermarkType;
|
|
108
205
|
watermark.LastSyncAt = new Date();
|
|
109
206
|
watermark.RecordsSynced = 0;
|
|
110
207
|
const saved = await watermark.Save();
|
|
111
208
|
if (!saved) {
|
|
209
|
+
// Idempotent recovery: UNIQUE(EntityMapID,Direction) means a concurrent/retried create may have
|
|
210
|
+
// already inserted the row (the load-or-create callers Load-then-create; under a true race both
|
|
211
|
+
// can Load null). Rather than throw — which on PostgreSQL leaves the transaction aborted and sinks
|
|
212
|
+
// the whole batch — re-read the now-committed row and update it in place. Falls through to the
|
|
213
|
+
// error only if no row materialized (a genuine save failure, not a duplicate).
|
|
214
|
+
const existing = await this.Load(entityMapID, contextUser, direction);
|
|
215
|
+
if (existing) {
|
|
216
|
+
existing.WatermarkValue = value;
|
|
217
|
+
existing.WatermarkType = watermarkType;
|
|
218
|
+
existing.LastSyncAt = new Date();
|
|
219
|
+
if (await existing.Save())
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
112
222
|
const err = watermark.LatestResult?.Message || 'Unknown error';
|
|
113
223
|
throw new Error(`Failed to create watermark for EntityMapID=${entityMapID}: ${err}`);
|
|
114
224
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WatermarkService.js","sourceRoot":"","sources":["../src/WatermarkService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAiB,MAAM,sBAAsB,CAAC;AAKxE;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACzB;;;;;;OAMG;IACI,KAAK,CAAC,IAAI,CACb,WAAmB,EACnB,WAAqB,EACrB,YAA6B,MAAM;QAEnC,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAmC;YAC9D,UAAU,EAAE,yCAAyC;YACrD,WAAW,EAAE,gBAAgB,WAAW,oBAAoB,SAAS,GAAG;YACxE,OAAO,EAAE,iBAAiB;YAC1B,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"WatermarkService.js","sourceRoot":"","sources":["../src/WatermarkService.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export type { IIntegrationSourceType, ICompanyIntegrationEntityMap, ICompanyIntegrationFieldMap, ICompanyIntegrationSyncWatermark
|
|
2
|
-
export type { SyncDirection, SyncTriggerType, WatermarkType, ConflictResolution, DeleteBehavior, RecordChangeType, IntegrationRunStatus, ExternalRecord, MappedRecord, SyncResult, SyncRecordError, DefaultFieldMapping, SyncErrorCode, ErrorSeverity, SyncProgress, SyncProgressSnapshot, OnProgressCallback, SyncNotificationEvent, SyncNotificationSeverity, SyncNotification, OnNotificationCallback, IntegrationSyncOptions, EntityMapSyncResult, SourceSchemaInfo, SourceObjectInfo, SourceFieldInfo, SourceRelationshipInfo, IntrospectSchemaOptions, CRUDContext, CreateRecordContext, UpdateRecordContext, DeleteRecordContext, GetRecordContext, CRUDResult, SearchContext, SearchResult, ListContext, ListResult, } from './types.js';
|
|
1
|
+
export type { IIntegrationSourceType, ICompanyIntegrationEntityMap, ICompanyIntegrationFieldMap, ICompanyIntegrationSyncWatermark } from './entity-types.js';
|
|
2
|
+
export type { SyncDirection, SyncTriggerType, WatermarkType, ConflictResolution, DeleteBehavior, RecordChangeType, IntegrationRunStatus, ExternalRecord, MappedRecord, SyncResult, SyncRecordError, DefaultFieldMapping, SyncErrorCode, ErrorSeverity, SyncProgress, SyncProgressSnapshot, OnProgressCallback, SyncNotificationEvent, SyncNotificationSeverity, SyncNotification, OnNotificationCallback, IntegrationSyncOptions, EntityMapSyncResult, SourceSchemaInfo, SourceObjectInfo, SourceFieldInfo, SourceRelationshipInfo, IntrospectSchemaOptions, CRUDContext, CreateRecordContext, UpdateRecordContext, UpsertRecordContext, DeleteRecordContext, GetRecordContext, CRUDResult, SearchContext, SearchResult, ListContext, ListResult, } from './types.js';
|
|
3
3
|
export { IsRetryableError, ClassifyError } from './types.js';
|
|
4
4
|
export type { TransformType, TransformOnError, TransformStep, TransformConfig, DirectConfig, RegexConfig, SplitConfig, CombineConfig, LookupConfig, FormatConfig, CoerceConfig, SubstringConfig, CustomConfig, } from './transforms.js';
|
|
5
|
-
export { BaseIntegrationConnector, WithTimeout, DEFAULT_OPERATION_TIMEOUTS
|
|
6
|
-
export type { ConnectionTestResult, ExternalObjectSchema, ExternalFieldSchema, FetchContext, FetchBatchResult, OperationTimeouts, DefaultIntegrationConfig, DefaultObjectConfig, } from './BaseIntegrationConnector.js';
|
|
5
|
+
export { BaseIntegrationConnector, WithTimeout, DEFAULT_OPERATION_TIMEOUTS } from './BaseIntegrationConnector.js';
|
|
6
|
+
export type { ConnectionTestResult, ExternalObjectSchema, ExternalFieldSchema, FetchContext, FetchBatchResult, OperationTimeouts, DefaultIntegrationConfig, DefaultObjectConfig, RateLimitPolicy, } from './BaseIntegrationConnector.js';
|
|
7
7
|
export { BaseRESTIntegrationConnector } from './BaseRESTIntegrationConnector.js';
|
|
8
|
-
export type { RESTAuthContext, RESTResponse, PaginationState, PaginationType
|
|
8
|
+
export type { RESTAuthContext, RESTResponse, PaginationState, PaginationType } from './BaseRESTIntegrationConnector.js';
|
|
9
9
|
export { ConnectorFactory } from './ConnectorFactory.js';
|
|
10
10
|
export { FieldMappingEngine } from './FieldMappingEngine.js';
|
|
11
11
|
export { MatchEngine } from './MatchEngine.js';
|
|
@@ -13,8 +13,25 @@ export { WatermarkService } from './WatermarkService.js';
|
|
|
13
13
|
export { WithRetry, DEFAULT_RETRY_CONFIG } from './RetryRunner.js';
|
|
14
14
|
export type { RetryConfig } from './RetryRunner.js';
|
|
15
15
|
export { ActionMetadataGenerator } from './ActionMetadataGenerator.js';
|
|
16
|
-
export type { IntegrationObjectInfo, IntegrationFieldInfo, ActionGeneratorConfig, GeneratedActionMetadata
|
|
16
|
+
export type { IntegrationObjectInfo, IntegrationFieldInfo, ActionGeneratorConfig, GeneratedActionMetadata } from './ActionMetadataGenerator.js';
|
|
17
|
+
export { IntegrationActionGenerator } from './IntegrationActionGenerator.js';
|
|
18
|
+
export type { IntegrationActionVerb, GenerateIntegrationActionResult } from './IntegrationActionGenerator.js';
|
|
17
19
|
export { IntegrationEngine } from './IntegrationEngine.js';
|
|
18
20
|
export { IntegrationSchemaSync } from './IntegrationSchemaSync.js';
|
|
19
21
|
export type { PersistSchemaOptions, PersistSchemaResult } from './IntegrationSchemaSync.js';
|
|
22
|
+
export { computeContentHash, CONTENT_HASH_COLUMN } from './ContentHash.js';
|
|
23
|
+
export { partitionRecords, partitionRollupHash, diffPartitions, partitionKeyForIdentity } from './HashDiff.js';
|
|
24
|
+
export type { PartitionDiff } from './HashDiff.js';
|
|
25
|
+
export { mostRecentWinner, parseTimestamp } from './ConflictRecency.js';
|
|
26
|
+
export type { RecencyWinner } from './ConflictRecency.js';
|
|
27
|
+
export { EnrichSchemaConstraints } from './EnrichSchemaConstraints.js';
|
|
28
|
+
export type { EnrichOptions, EnrichResult, DescribeFn } from './EnrichSchemaConstraints.js';
|
|
29
|
+
export { RateLimiter } from './RateLimiter.js';
|
|
30
|
+
export type { RateLimiterOptions, RateLimiterKeyState, NowFn, SleepFn } from './RateLimiter.js';
|
|
31
|
+
export { IntegrationConnectorCreationPipeline } from './IntegrationConnectorCreationPipeline.js';
|
|
32
|
+
export type { ConnectorCreationPipelineOptions, ConnectorCreationPipelineResult } from './IntegrationConnectorCreationPipeline.js';
|
|
33
|
+
export { AdaptiveConcurrencyController, RunAdaptive } from './AdaptiveConcurrency.js';
|
|
34
|
+
export type { AdaptiveConcurrencyOptions, AdaptiveItemOutcome, AdaptiveRunResult } from './AdaptiveConcurrency.js';
|
|
35
|
+
export type { FetchWarning } from './BaseIntegrationConnector.js';
|
|
36
|
+
export type { FieldMergeLog, ObjectMergeLog } from './IntegrationSchemaSync.js';
|
|
20
37
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Error classification helpers
|
|
2
2
|
export { IsRetryableError, ClassifyError } from './types.js';
|
|
3
3
|
// Connector
|
|
4
|
-
export { BaseIntegrationConnector, WithTimeout, DEFAULT_OPERATION_TIMEOUTS
|
|
4
|
+
export { BaseIntegrationConnector, WithTimeout, DEFAULT_OPERATION_TIMEOUTS } from './BaseIntegrationConnector.js';
|
|
5
5
|
// REST Connector Base
|
|
6
6
|
export { BaseRESTIntegrationConnector } from './BaseRESTIntegrationConnector.js';
|
|
7
7
|
// Factory
|
|
@@ -15,9 +15,19 @@ export { WatermarkService } from './WatermarkService.js';
|
|
|
15
15
|
export { WithRetry, DEFAULT_RETRY_CONFIG } from './RetryRunner.js';
|
|
16
16
|
// Action Metadata Generator
|
|
17
17
|
export { ActionMetadataGenerator } from './ActionMetadataGenerator.js';
|
|
18
|
+
// On-demand Integration-as-Actions persister — generates + persists ONE action (integration/object/verb), idempotent
|
|
19
|
+
export { IntegrationActionGenerator } from './IntegrationActionGenerator.js';
|
|
18
20
|
// Integration Engine (server-side, wraps IntegrationEngineBase via composition)
|
|
19
21
|
// NOTE: For IntegrationEngineBase (client-safe metadata), import from @memberjunction/integration-engine-base
|
|
20
22
|
export { IntegrationEngine } from './IntegrationEngine.js';
|
|
21
23
|
// Schema persistence — upserts dynamically discovered objects/fields to IntegrationObject/Field tables
|
|
22
24
|
export { IntegrationSchemaSync } from './IntegrationSchemaSync.js';
|
|
25
|
+
// ── Restored module exports dropped by the origin/next index.ts merge (union) ──
|
|
26
|
+
export { computeContentHash, CONTENT_HASH_COLUMN } from './ContentHash.js';
|
|
27
|
+
export { partitionRecords, partitionRollupHash, diffPartitions, partitionKeyForIdentity } from './HashDiff.js';
|
|
28
|
+
export { mostRecentWinner, parseTimestamp } from './ConflictRecency.js';
|
|
29
|
+
export { EnrichSchemaConstraints } from './EnrichSchemaConstraints.js';
|
|
30
|
+
export { RateLimiter } from './RateLimiter.js';
|
|
31
|
+
export { IntegrationConnectorCreationPipeline } from './IntegrationConnectorCreationPipeline.js';
|
|
32
|
+
export { AdaptiveConcurrencyController, RunAdaptive } from './AdaptiveConcurrency.js';
|
|
23
33
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA8CA,+BAA+B;AAC/B,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAmB7D,YAAY;AACZ,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAalH,sBAAsB;AACtB,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAGjF,UAAU;AACV,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,UAAU;AACV,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,WAAW;AACX,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,QAAQ;AACR,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGnE,4BAA4B;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,qHAAqH;AACrH,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAG7E,gFAAgF;AAChF,8GAA8G;AAC9G,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,uGAAuG;AACvG,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,kFAAkF;AAClF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAE/G,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,oCAAoC,EAAE,MAAM,2CAA2C,CAAC;AAEjG,OAAO,EAAE,6BAA6B,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -211,6 +211,14 @@ export interface SourceObjectInfo {
|
|
|
211
211
|
PrimaryKeyFields: string[];
|
|
212
212
|
/** Foreign key relationships to other source objects. */
|
|
213
213
|
Relationships: SourceRelationshipInfo[];
|
|
214
|
+
/**
|
|
215
|
+
* Source field name that marks "last changed" for incremental sync.
|
|
216
|
+
* When introspecting a source whose docs (or describe response) name a
|
|
217
|
+
* watermark field, surface it here so SchemaBuilder/IntegrationSchemaSync
|
|
218
|
+
* can populate IntegrationObject.IncrementalWatermarkField. Leave undefined
|
|
219
|
+
* when the source does not expose a documented watermark.
|
|
220
|
+
*/
|
|
221
|
+
IncrementalWatermarkField?: string;
|
|
214
222
|
}
|
|
215
223
|
/** One field/column in a source object discovered during introspection. */
|
|
216
224
|
export interface SourceFieldInfo {
|
|
@@ -222,8 +230,17 @@ export interface SourceFieldInfo {
|
|
|
222
230
|
Description?: string;
|
|
223
231
|
/** Generic source type (e.g., "string", "integer", "datetime", "boolean"). */
|
|
224
232
|
SourceType: string;
|
|
225
|
-
/**
|
|
233
|
+
/**
|
|
234
|
+
* Whether the field must be provided when creating a new record.
|
|
235
|
+
* Semantically distinct from AllowsNull — see ExternalFieldSchema.IsRequired.
|
|
236
|
+
*/
|
|
226
237
|
IsRequired: boolean;
|
|
238
|
+
/**
|
|
239
|
+
* Whether NULL is a permitted value at rest. Distinct from IsRequired.
|
|
240
|
+
* Undefined ⇒ source did not declare; default to permissive (nullable).
|
|
241
|
+
* Honest gap rather than fabricated NOT NULL.
|
|
242
|
+
*/
|
|
243
|
+
AllowsNull?: boolean;
|
|
227
244
|
/** Maximum length for string types (null if not applicable). */
|
|
228
245
|
MaxLength: number | null;
|
|
229
246
|
/** Precision for numeric types (null if not applicable). */
|
|
@@ -234,6 +251,19 @@ export interface SourceFieldInfo {
|
|
|
234
251
|
DefaultValue: string | null;
|
|
235
252
|
/** Whether this field is part of the primary key. */
|
|
236
253
|
IsPrimaryKey: boolean;
|
|
254
|
+
/**
|
|
255
|
+
* Whether this field is constrained as unique. Distinct from IsPrimaryKey —
|
|
256
|
+
* an object can have several unique fields (email, phone) of which only one
|
|
257
|
+
* is the PK. Both flags should be set independently when the source distinguishes
|
|
258
|
+
* them; SchemaBuilder uses this for DDL UNIQUE constraint emission.
|
|
259
|
+
*/
|
|
260
|
+
IsUniqueKey?: boolean;
|
|
261
|
+
/**
|
|
262
|
+
* Whether the field is read-only (computed, system-managed, or otherwise
|
|
263
|
+
* not user-writable). Affects whether the field is included in
|
|
264
|
+
* Create/Update operation bodies.
|
|
265
|
+
*/
|
|
266
|
+
IsReadOnly?: boolean;
|
|
237
267
|
/** Whether this field is a foreign key. */
|
|
238
268
|
IsForeignKey: boolean;
|
|
239
269
|
/** If FK, which source object it references (null if not a FK). */
|
|
@@ -273,6 +303,27 @@ export interface UpdateRecordContext extends CRUDContext {
|
|
|
273
303
|
/** Optional relationship data to update */
|
|
274
304
|
Relationships?: Record<string, unknown>;
|
|
275
305
|
}
|
|
306
|
+
/**
|
|
307
|
+
* Context for upserting a record in an external system — a single idempotent
|
|
308
|
+
* create-or-update keyed by a unique business property (not the system PK).
|
|
309
|
+
*
|
|
310
|
+
* Upsert exists to define create-then-update race conditions out of existence:
|
|
311
|
+
* a search-then-create sequence has a window in which a concurrent writer can
|
|
312
|
+
* create the same record, producing a duplicate-key conflict (e.g. HubSpot
|
|
313
|
+
* `409 Contact already exists`). A single keyed upsert call has no such window.
|
|
314
|
+
*/
|
|
315
|
+
export interface UpsertRecordContext extends CRUDContext {
|
|
316
|
+
/** Field values for the record (must include the upsert-key property's value) */
|
|
317
|
+
Attributes: Record<string, unknown>;
|
|
318
|
+
/**
|
|
319
|
+
* The unique business property to match on (e.g. 'email' for HubSpot contacts).
|
|
320
|
+
* Optional override; when omitted, the connector resolves a per-object default
|
|
321
|
+
* from its own metadata. Connectors that cannot resolve a default MUST fail loudly.
|
|
322
|
+
*/
|
|
323
|
+
IDProperty?: string;
|
|
324
|
+
/** Optional relationship data */
|
|
325
|
+
Relationships?: Record<string, unknown>;
|
|
326
|
+
}
|
|
276
327
|
/** Context for deleting a record from an external system */
|
|
277
328
|
export interface DeleteRecordContext extends CRUDContext {
|
|
278
329
|
/** External ID of the record to delete */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/integration-engine",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.40.0",
|
|
5
5
|
"description": "MemberJunction Integration Engine - orchestration, field mapping, and connector framework",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -14,14 +14,16 @@
|
|
|
14
14
|
"test:watch": "vitest"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@memberjunction/core": "5.
|
|
18
|
-
"@memberjunction/core-entities": "5.
|
|
19
|
-
"@memberjunction/global": "5.
|
|
20
|
-
"@memberjunction/integration-engine-base": "5.
|
|
17
|
+
"@memberjunction/core": "5.40.0",
|
|
18
|
+
"@memberjunction/core-entities": "5.40.0",
|
|
19
|
+
"@memberjunction/global": "5.40.0",
|
|
20
|
+
"@memberjunction/integration-engine-base": "5.40.0",
|
|
21
|
+
"@memberjunction/integration-pk-classifier": "5.40.0",
|
|
22
|
+
"@memberjunction/integration-progress-artifacts": "5.40.0"
|
|
21
23
|
},
|
|
22
24
|
"devDependencies": {
|
|
23
|
-
"typescript": "^5.9.3",
|
|
24
25
|
"tsc-alias": "^1.8.16",
|
|
26
|
+
"typescript": "^5.9.3",
|
|
25
27
|
"vitest": "^4.0.18"
|
|
26
28
|
},
|
|
27
29
|
"repository": {
|