@memberjunction/connector-openwater 1.3.4 → 1.3.6

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.
@@ -128,6 +128,37 @@ export declare class OpenWaterConnector extends BaseRESTIntegrationConnector {
128
128
  */
129
129
  private FetchViaAccessPath;
130
130
  /** Fetch all pages of a door collection (used to enumerate parent ids / embedded children). */
131
+ /**
132
+ * The IntegrationObject whose pagination rules govern the DOOR request.
133
+ *
134
+ * This used to be the child object, and that silently capped every detail walk at one page of
135
+ * parents. `PaginateLeaf` decides whether to page at all from
136
+ * `obj.SupportsPagination && obj.PaginationType !== 'None'` — and a walked child declares
137
+ * neither, because the child is not itself a paged collection (ApplicationFile's APIPath is
138
+ * "embedded in /v2/Applications/{applicationId} …"). So the door URL went out with no
139
+ * pageIndex/pageSize and OpenWater answered with its default page.
140
+ *
141
+ * Measured on a live tenant 2026-08-22, against 1,976 Applications:
142
+ * ApplicationRoundSubmission 10 parents -> 10 records, hasMore:false (target 1,935)
143
+ * ApplicationFile 10 parents -> 0 records (ZERO_LEAVES) (target 4,001)
144
+ * and ApplicationWinnerType was CORRECT at 74 only because its door is /v2/Programs, which has
145
+ * 5 rows and therefore fits inside one default page. The walk reported HasMore:false honestly:
146
+ * it really had consumed every parent it was given. It was given ten.
147
+ *
148
+ * Falls back to the child when the door has no catalog row, which keeps a misdeclared
149
+ * AccessPath behaving as before rather than throwing mid-sync.
150
+ */
151
+ private ResolveDoorObject;
152
+ /**
153
+ * Enumerate the door.
154
+ *
155
+ * Returns `complete: false` when the enumeration was cut short — currently only by a rate limit
156
+ * (see RATE_LIMITED_PARTIAL). That flag MUST reach the caller: a truncated door returned as if
157
+ * whole is cached as whole, and the walk then finishes at `consumed === parentIDs.length` having
158
+ * seen a fraction of the parents, reporting success. That is the same shape as every other bug
159
+ * in this path — an incomplete read that looks authoritative — so the truncation is carried,
160
+ * never swallowed.
161
+ */
131
162
  private FetchDoorRows;
132
163
  /**
133
164
  * Generic paginated leaf fetch. Loops pageIndex until a short/empty page (or the batch cap when
@@ -138,6 +169,8 @@ export declare class OpenWaterConnector extends BaseRESTIntegrationConnector {
138
169
  /** Reads and validates AccessPath from the IO's Configuration JSON; null when absent. */
139
170
  /** Short-lived cache for detail responses; see FetchDetailCached. */
140
171
  private detailCache;
172
+ /** Door rows per (integration|door|doorPath) — see DOOR_CACHE_MAX_ENTRIES. */
173
+ private doorRowCache;
141
174
  /**
142
175
  * Fetch a DETAIL response (one object, not a list) with a short-lived per-connector cache.
143
176
  * The cache exists because sibling IOs (ApplicationRoundSubmission, ApplicationFile, Media's
@@ -155,6 +188,20 @@ export declare class OpenWaterConnector extends BaseRESTIntegrationConnector {
155
188
  * detail itself as ONE record, tagged with its id.
156
189
  */
157
190
  private FetchViaDetailWalk;
191
+ /**
192
+ * When a harvest or a nesting walk finds nothing, "found nothing" is not a diagnosis: the path
193
+ * may be wrong, or the collection may genuinely be empty, and those need opposite responses.
194
+ * This reports the shape actually present so a declared AccessPath can be corrected against
195
+ * observed structure instead of vendor documentation — the same rule the catalog is held to
196
+ * ("provably know, not guessed"). Names and types only, capped, so no member data is emitted.
197
+ */
198
+ private static ShapeOf;
199
+ /**
200
+ * The root's shape plus the shape at each declared segment that actually resolves — enough to
201
+ * correct a declared path against the payload, and nothing more. The segment whose braces come
202
+ * back empty is the one that does not exist.
203
+ */
204
+ private ShapeAlong;
158
205
  /** Additional full walks to union with the main AccessPath (empty when not declared). */
159
206
  private ParseAlternativeAccessPaths;
160
207
  private ParseAccessPath;
@@ -167,6 +214,19 @@ export declare class OpenWaterConnector extends BaseRESTIntegrationConnector {
167
214
  /** Walks the door rows down a chain of (array) field segments, returning the leaf object nodes. */
168
215
  private WalkSegments;
169
216
  /** For embedded-array access paths: emit the nested records directly from the door payload. */
217
+ /**
218
+ * embedded-array extraction, optionally tagging each leaf with its IMMEDIATE parent's id.
219
+ *
220
+ * Without the tag the walk keeps only leaves, so an element arrives with no idea which parent
221
+ * produced it — and for a leaf whose identity is only unique WITHIN its parent, that loses rows.
222
+ * ApplicationWinnerType is the case: a winner type is `{id, name}` declared on a round, the same
223
+ * type id can be declared on several rounds, and the key was `id` alone. 89 (round, type) pairs
224
+ * therefore collapsed to 74 distinct ids, and the round association was gone from the row.
225
+ *
226
+ * `embeddedParentTag: { sourceKey, asKey }` copies the parent's `sourceKey` onto each leaf as
227
+ * `asKey`, so the pair can be keyed and the row can say where it came from. Absent — the
228
+ * default — behaviour is exactly as before.
229
+ */
170
230
  private ExtractEmbedded;
171
231
  /**
172
232
  * Injects a parent id into an entry path: as a query param (?<parentParamName>=) when
@@ -4,6 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ var OpenWaterConnector_1;
7
8
  /**
8
9
  * OpenWaterConnector — REST integration connector for OpenWater
9
10
  * (https://www.getopenwater.com), an awards / grants / abstracts / fellowship
@@ -63,6 +64,80 @@ import { RegisterClass } from '@memberjunction/global';
63
64
  import { Metadata } from '@memberjunction/core';
64
65
  import { BaseIntegrationConnector, BaseRESTIntegrationConnector, } from '@memberjunction/integration-engine';
65
66
  import { mergeDeclaredWithSampledFields } from '@memberjunction/connector-schema-merge';
67
+ /**
68
+ * Per-IO access path (read from IntegrationObject.Configuration.AccessPath) describing how
69
+ * to reach a nested object's records from a queryable door.
70
+ */
71
+ /**
72
+ * How many per-parent detail payloads the cache may hold. Sized to span ONE batch (siblings
73
+ * walking the same parents), not the whole tenant — each entry is a full detail document.
74
+ */
75
+ const DETAIL_CACHE_MAX_ENTRIES = 500;
76
+ /** Cursor namespace for a bounded, resumable detail walk: the parent offset consumed so far. */
77
+ const DETAIL_WALK_CURSOR_PREFIX = 'detail:';
78
+ /**
79
+ * Union cursor: `union:<memberIndex>|[c<innerCursor>|p<innerPage>]`.
80
+ *
81
+ * An object with alternativeAccessPaths is several walks unioned. Running them all inside one call
82
+ * meant each member's own resumption state had nowhere to live, so the union reported HasMore and
83
+ * named no continuation. The member index plus that member's own cursor is the whole state.
84
+ */
85
+ const UNION_CURSOR_PREFIX = 'union:';
86
+ /**
87
+ * Door enumerations cached per (integration, door, doorPath).
88
+ *
89
+ * The walk is resumable by parent offset, but every resumed call re-enumerated the door from page
90
+ * 0 — ~20 pages of 100 to list 1,976 Applications — before touching a single parent. OpenWater
91
+ * rate-limits that: measured live, `HTTP 429 at /v2/Applications?pageIndex=4&pageSize=100`, and the
92
+ * call then blew the engine's 30s FetchChanges timeout with nothing kept. Bounding parents per call
93
+ * cannot help, because the cost is paid before the parent loop runs.
94
+ *
95
+ * Totara already solves this the same way ("Parent-id lists per connection+parent function, so a
96
+ * resumed parent walk does not re-read them"). Enumerate once, walk in bounded batches.
97
+ */
98
+ const DOOR_CACHE_MAX_ENTRIES = 20;
99
+ /**
100
+ * Parent details walked in ONE FetchChanges call before the walk yields with a cursor.
101
+ *
102
+ * The record budget (ctx.BatchSize, engine default 200) bounds records EMITTED, not vendor calls
103
+ * made. A sparse child — most Applications carry no files — never reaches that budget, so the walk
104
+ * kept going until the parent set was exhausted: ~1,976 detail requests in one call, well past the
105
+ * engine's 30s FetchChanges timeout, and on timeout the whole batch is discarded. Measured live the
106
+ * moment the door began paging properly: ApplicationFile, Media and ApplicationRoundSubmission all
107
+ * died with "Operation 'FetchChanges(X)' timed out after 30000ms".
108
+ *
109
+ * Bounding the WORK as well as the output lets each call finish and hand back a cursor, so the
110
+ * engine simply calls again — the same resumability that already existed for the record budget.
111
+ */
112
+ const MAX_PARENTS_PER_CALL = 100;
113
+ /**
114
+ * Door rows harvested in ONE call, and the wall-clock the whole walk gets before it yields.
115
+ *
116
+ * A count is only ever a PROXY for the thing that actually kills the batch, which is the engine's
117
+ * 30s `FetchChanges` timeout — and on timeout the batch is discarded entirely. A harvest costs two
118
+ * requests per door row (the parent detail, then each id's own entry path), and OpenWater is rate
119
+ * limited to 3/sec, so 100 door rows is ~60s of pure waiting: measured live as
120
+ * `Operation 'FetchChanges(Media)' timed out after 30000ms`, every batch, forever.
121
+ *
122
+ * So the walk is bounded by TIME as well, checked between requests, and yields its cursor when the
123
+ * budget is spent. The counts stay as ceilings; the clock is what makes the batch land.
124
+ */
125
+ const HARVEST_DOORS_PER_CALL = 25;
126
+ const WALK_TIME_BUDGET_MS = 18_000;
127
+ /**
128
+ * Harvest-mode cursor: `detail:h<doorOffset>[:<idOffset>]`.
129
+ *
130
+ * Resuming a harvest by PARENT offset does not work, and fails in the worst way — silently. The
131
+ * harvest re-walks door rows from the start on every call and collects ids into a prefix; once the
132
+ * offset passes the number of ids that prefix can yield, `parentIDs.slice(startAt)` is empty, so
133
+ * the object emits nothing, reports HasMore, and never advances.
134
+ *
135
+ * The offset is therefore a DOOR-ROW position: each call harvests a fresh window of door rows and
136
+ * every id it finds is new work. `idOffset` covers the other half — a window whose ids could not
137
+ * all be emitted inside one call (record budget or clock) resumes at the same window and skips the
138
+ * ids already emitted, rather than advancing past them and dropping the remainder.
139
+ */
140
+ const HARVEST_CURSOR_PREFIX = 'detail:h';
66
141
  // ─── Constants ──────────────────────────────────────────────────────────
67
142
  // No DEFAULT_BASE_URL: OpenWater's real API host is the SHARED https://api.secure-platform.com
68
143
  // (confirmed live against its own published swagger), not a per-customer subdomain — but we still
@@ -75,7 +150,7 @@ const DEFAULT_REQUEST_TIMEOUT_MS = 30_000;
75
150
  /** OpenWater is a modest-throughput enterprise API — keep a conservative sustained rate. */
76
151
  const RATE_LIMIT_TOKENS_PER_SEC = 3;
77
152
  // ─── Connector ──────────────────────────────────────────────────────────
78
- let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationConnector {
153
+ let OpenWaterConnector = OpenWaterConnector_1 = class OpenWaterConnector extends BaseRESTIntegrationConnector {
79
154
  constructor() {
80
155
  super(...arguments);
81
156
  this.authState = null;
@@ -83,6 +158,8 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
83
158
  /** Reads and validates AccessPath from the IO's Configuration JSON; null when absent. */
84
159
  /** Short-lived cache for detail responses; see FetchDetailCached. */
85
160
  this.detailCache = new Map();
161
+ /** Door rows per (integration|door|doorPath) — see DOOR_CACHE_MAX_ENTRIES. */
162
+ this.doorRowCache = new Map();
86
163
  }
87
164
  // ── Identity (three-way invariant axis) ─────────────────────────
88
165
  get IntegrationName() { return 'OpenWater'; }
@@ -319,21 +396,61 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
319
396
  if (unionPaths.length === 0) {
320
397
  return this.FetchViaAccessPath(ctx, obj, accessPath);
321
398
  }
322
- const results = [];
323
- for (const path of [accessPath, ...unionPaths]) {
324
- results.push(await this.FetchViaAccessPath(ctx, obj, path));
325
- }
326
- const byID = new Map();
327
- for (const r of results) {
328
- for (const rec of r.Records) {
329
- if (!byID.has(rec.ExternalID))
330
- byID.set(rec.ExternalID, rec);
399
+ /**
400
+ * ONE member per call, advancing through them on a cursor.
401
+ *
402
+ * The union used to run every member inside a single call and return
403
+ * `HasMore: results.some(...)` while DISCARDING each member's NextCursor and NextPage. Any
404
+ * member that is resumable — a bounded detail walk, or a leaf that hit the batch cap — then
405
+ * reported "there is more" with nothing saying where to continue from, so the engine either
406
+ * restarted that member from the beginning every call or dropped its remainder outright.
407
+ * That is invisible from the outside: the object simply lands short, or the run spins.
408
+ *
409
+ * Walking one member at a time keeps each member's own resumption state intact. Records are
410
+ * no longer de-duplicated ACROSS members inside one call, which does not matter — members
411
+ * are unioned by primary key at the write, so a record two paths both produce is upserted
412
+ * once either way.
413
+ */
414
+ const paths = [accessPath, ...unionPaths];
415
+ const cur = String(ctx.CurrentCursor ?? '');
416
+ let idx = 0;
417
+ let innerCursor;
418
+ let innerPage;
419
+ if (cur.startsWith(UNION_CURSOR_PREFIX)) {
420
+ const body = cur.slice(UNION_CURSOR_PREFIX.length);
421
+ const bar = body.indexOf('|');
422
+ const i = Number(bar < 0 ? body : body.slice(0, bar));
423
+ if (Number.isFinite(i) && i > 0)
424
+ idx = Math.min(i, paths.length - 1);
425
+ const inner = bar < 0 ? '' : body.slice(bar + 1);
426
+ if (inner.startsWith('c'))
427
+ innerCursor = inner.slice(1);
428
+ else if (inner.startsWith('p')) {
429
+ const pg = Number(inner.slice(1));
430
+ if (Number.isFinite(pg) && pg > 0)
431
+ innerPage = pg;
331
432
  }
332
433
  }
434
+ const memberCtx = { ...ctx, CurrentCursor: innerCursor ?? null,
435
+ CurrentPage: innerPage ?? ctx.CurrentPage };
436
+ const r = await this.FetchViaAccessPath(memberCtx, obj, paths[idx]);
437
+ const memberMore = !!r.HasMore;
438
+ const nextIdx = memberMore ? idx : idx + 1;
439
+ const nextInner = memberMore
440
+ ? (r.NextCursor != null ? `c${r.NextCursor}`
441
+ : r.NextPage != null ? `p${r.NextPage}` : '')
442
+ : '';
443
+ // A member that claims HasMore but names no continuation would spin forever; treat it as
444
+ // finished and move on rather than re-reading it until the run is killed.
445
+ const memberResumable = memberMore && nextInner !== '';
446
+ const advanceTo = memberResumable ? idx : idx + 1;
447
+ const more = memberResumable || advanceTo < paths.length;
333
448
  return {
334
- Records: [...byID.values()],
335
- HasMore: results.some(r => r.HasMore),
336
- Warnings: results.flatMap(r => r.Warnings ?? []),
449
+ Records: r.Records,
450
+ HasMore: more,
451
+ NextCursor: more ? `${UNION_CURSOR_PREFIX}${advanceTo}|${memberResumable ? nextInner : ''}` : undefined,
452
+ NewWatermarkValue: r.NewWatermarkValue,
453
+ Warnings: r.Warnings,
337
454
  };
338
455
  }
339
456
  // ── Literal-create / literal-update overrides (RequiresLiveVerification) ──────────
@@ -568,7 +685,56 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
568
685
  const pkFieldNames = this.PrimaryKeyNames(fields);
569
686
  const warnings = [];
570
687
  // Pull the door collection (paginated) and descend to the parent leaf values + the door rows.
571
- const doorRows = await this.FetchDoorRows(auth, baseURL, accessPath.doorPath, obj);
688
+ // Page the door by the DOOR's own rules, not the child's — see FetchDoorRows.
689
+ const doorObj = this.ResolveDoorObject(ctx, accessPath, obj);
690
+ // A resumed call reuses the door enumeration; a fresh walk (no cursor) re-reads it, so a new
691
+ // sync always sees new parents. Keyed by door + path, so objects sharing a door share the read.
692
+ const doorKey = `${ctx.CompanyIntegration.IntegrationID}|${accessPath.door}|${accessPath.doorPath}`;
693
+ let doorRows = ctx.CurrentCursor ? this.doorRowCache.get(doorKey) : undefined;
694
+ let doorComplete = doorRows !== undefined; // a cached enumeration is only ever a complete one
695
+ if (!doorRows) {
696
+ const door = await this.FetchDoorRows(auth, baseURL, accessPath.doorPath, doorObj, warnings);
697
+ doorRows = door.records;
698
+ doorComplete = door.complete;
699
+ // NEVER cache a truncated enumeration: it would be reused as the whole parent set and
700
+ // the walk would report success having seen a fraction of it.
701
+ if (doorComplete) {
702
+ this.doorRowCache.set(doorKey, doorRows);
703
+ while (this.doorRowCache.size > DOOR_CACHE_MAX_ENTRIES) {
704
+ const oldest = this.doorRowCache.keys().next();
705
+ if (oldest.done)
706
+ break;
707
+ this.doorRowCache.delete(oldest.value);
708
+ }
709
+ }
710
+ else {
711
+ this.doorRowCache.delete(doorKey);
712
+ warnings.push({
713
+ Code: 'DOOR_TRUNCATED',
714
+ Message: `"${obj.Name}" door "${accessPath.door}" enumeration was cut short at`
715
+ + ` ${doorRows.length} row(s); not cached, and the object stays incomplete so`
716
+ + ` the next run re-reads it rather than treating this as the whole parent set.`,
717
+ Data: { object: obj.Name, door: accessPath.door, doorRows: doorRows.length },
718
+ });
719
+ }
720
+ }
721
+ // A capped door is invisible downstream: the walk consumes every parent it was given and
722
+ // reports HasMore:false truthfully, so a short door reads as a complete one. Record what the
723
+ // door produced and under which pagination rules — counts and flags only, never data.
724
+ const doorPaged = !!doorObj.SupportsPagination && doorObj.PaginationType !== 'None';
725
+ warnings.push({
726
+ Code: 'DOOR_ROWS',
727
+ Message: `"${obj.Name}" door "${accessPath.door}" returned ${doorRows.length} row(s)`
728
+ + ` (paging ${doorPaged ? 'ON' : 'OFF'}, type ${doorObj.PaginationType ?? 'null'},`
729
+ + ` declared page size ${doorObj.DefaultPageSize ?? 'null'}).`,
730
+ Data: {
731
+ object: obj.Name, door: accessPath.door, doorRows: doorRows.length,
732
+ doorPaginated: doorPaged,
733
+ doorPaginationType: doorObj.PaginationType ?? null,
734
+ doorDeclaredPageSize: doorObj.DefaultPageSize ?? null,
735
+ doorObjectResolved: doorObj.Name,
736
+ },
737
+ });
572
738
  if (doorRows.length === 0) {
573
739
  warnings.push({
574
740
  Code: 'ZERO_PARENTS',
@@ -579,7 +745,7 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
579
745
  }
580
746
  // embedded-array: records are already inside the door payload (e.g. Program.rounds[]).
581
747
  if (accessPath.extractionMode === 'embedded-array') {
582
- const records = this.ExtractEmbedded(doorRows, accessPath.nestingSegments ?? []);
748
+ const records = this.ExtractEmbedded(doorRows, accessPath.nestingSegments ?? [], accessPath.embeddedParentTag);
583
749
  if (records.length === 0) {
584
750
  warnings.push({
585
751
  Code: 'ZERO_LEAVES',
@@ -591,7 +757,8 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
591
757
  }
592
758
  return {
593
759
  Records: records.map(r => this.BuildExternalRecord(r, obj, fields, pkFieldNames)),
594
- HasMore: false,
760
+ // A truncated door enumeration is not a finished object — see DOOR_TRUNCATED.
761
+ HasMore: !doorComplete,
595
762
  Warnings: warnings,
596
763
  };
597
764
  }
@@ -599,7 +766,7 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
599
766
  // response rather than a paginated list leaf — /v2/Applications/{id} carries
600
767
  // roundSubmissions[] and the file-upload field values; /v2/Media/{id} IS the record.
601
768
  if (accessPath.extractionMode === 'detail-embedded' || accessPath.extractionMode === 'detail-object') {
602
- return this.FetchViaDetailWalk(obj, accessPath, auth, baseURL, doorRows, fields, pkFieldNames, warnings);
769
+ return this.FetchViaDetailWalk(ctx, obj, accessPath, auth, baseURL, doorRows, fields, pkFieldNames, warnings, doorComplete);
603
770
  }
604
771
  const parentIDs = this.DescendToParentIDs(doorRows, accessPath);
605
772
  if (parentIDs.length === 0) {
@@ -707,9 +874,47 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
707
874
  return { Records: out, HasMore: false, Warnings: warnings };
708
875
  }
709
876
  /** Fetch all pages of a door collection (used to enumerate parent ids / embedded children). */
710
- async FetchDoorRows(auth, baseURL, doorPath, obj) {
711
- const { records } = await this.PaginateLeaf(auth, baseURL, doorPath, obj, undefined, undefined, '', true);
712
- return records;
877
+ /**
878
+ * The IntegrationObject whose pagination rules govern the DOOR request.
879
+ *
880
+ * This used to be the child object, and that silently capped every detail walk at one page of
881
+ * parents. `PaginateLeaf` decides whether to page at all from
882
+ * `obj.SupportsPagination && obj.PaginationType !== 'None'` — and a walked child declares
883
+ * neither, because the child is not itself a paged collection (ApplicationFile's APIPath is
884
+ * "embedded in /v2/Applications/{applicationId} …"). So the door URL went out with no
885
+ * pageIndex/pageSize and OpenWater answered with its default page.
886
+ *
887
+ * Measured on a live tenant 2026-08-22, against 1,976 Applications:
888
+ * ApplicationRoundSubmission 10 parents -> 10 records, hasMore:false (target 1,935)
889
+ * ApplicationFile 10 parents -> 0 records (ZERO_LEAVES) (target 4,001)
890
+ * and ApplicationWinnerType was CORRECT at 74 only because its door is /v2/Programs, which has
891
+ * 5 rows and therefore fits inside one default page. The walk reported HasMore:false honestly:
892
+ * it really had consumed every parent it was given. It was given ten.
893
+ *
894
+ * Falls back to the child when the door has no catalog row, which keeps a misdeclared
895
+ * AccessPath behaving as before rather than throwing mid-sync.
896
+ */
897
+ ResolveDoorObject(ctx, accessPath, child) {
898
+ try {
899
+ return this.GetCachedObject(ctx.CompanyIntegration.IntegrationID, accessPath.door);
900
+ }
901
+ catch {
902
+ return child;
903
+ }
904
+ }
905
+ /**
906
+ * Enumerate the door.
907
+ *
908
+ * Returns `complete: false` when the enumeration was cut short — currently only by a rate limit
909
+ * (see RATE_LIMITED_PARTIAL). That flag MUST reach the caller: a truncated door returned as if
910
+ * whole is cached as whole, and the walk then finishes at `consumed === parentIDs.length` having
911
+ * seen a fraction of the parents, reporting success. That is the same shape as every other bug
912
+ * in this path — an incomplete read that looks authoritative — so the truncation is carried,
913
+ * never swallowed.
914
+ */
915
+ async FetchDoorRows(auth, baseURL, doorPath, doorObj, warnings) {
916
+ const { records, hasMore } = await this.PaginateLeaf(auth, baseURL, doorPath, doorObj, undefined, undefined, '', true, warnings);
917
+ return { records, complete: !hasMore };
713
918
  }
714
919
  /**
715
920
  * Generic paginated leaf fetch. Loops pageIndex until a short/empty page (or the batch cap when
@@ -765,6 +970,21 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
765
970
  return { records: all, newWatermark: undefined, hasMore: false, nextPage: page,
766
971
  rejection: { status: response.Status, url, vendor: vendor ?? null, response } };
767
972
  }
973
+ // A THROTTLE partway through an enumeration is not the object failing. Measured
974
+ // live: `HTTP 429 at /v2/Applications?pageIndex=4&pageSize=100` threw, which
975
+ // discarded the four pages already in hand and took the object to zero. Keep what
976
+ // the vendor did give and report the truncation — the walk is resumable, so the
977
+ // next call continues instead of starting over with nothing.
978
+ if (response.Status === 429 && all.length > 0) {
979
+ warnings?.push({
980
+ Code: 'RATE_LIMITED_PARTIAL',
981
+ Message: `"${obj.Name}" was rate-limited at ${url} after ${all.length} record(s)`
982
+ + ` over ${page + 1} page(s); keeping them and resuming later rather than`
983
+ + ` discarding the enumeration.`,
984
+ Data: { object: obj.Name, url, status: 429, recordsKept: all.length, pages: page + 1 },
985
+ });
986
+ return { records: all, newWatermark, hasMore: true, nextPage: page };
987
+ }
768
988
  throw this.HttpError(`OpenWater fetch failed for "${obj.Name}": HTTP ${response.Status} at ${url}`
769
989
  + (vendor ? ` — ${vendor}` : ''), response);
770
990
  }
@@ -818,9 +1038,22 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
818
1038
  }
819
1039
  const body = response.Body;
820
1040
  this.detailCache.set(path, { at: now, body });
821
- // Bounded: a full walk caches one entry per parent; cap well above that but finite.
822
- if (this.detailCache.size > 20_000)
823
- this.detailCache.clear();
1041
+ /**
1042
+ * Evict oldest-first at a SMALL cap. The previous 20,000-entry ceiling was "finite" but
1043
+ * not bounded in any useful sense: each entry is a whole application detail (round
1044
+ * submissions, every field value), so a full walk could hold gigabytes of payload alive
1045
+ * — measured as repeated container SIGKILLs on a 7GB host while an apply sampled these
1046
+ * objects. The cache exists only so SIBLING objects walking the SAME parents in one
1047
+ * batch pay each detail once, so it needs to span a batch, not the whole tenant.
1048
+ * Clearing outright (the old behaviour) also threw away the entries still in use by the
1049
+ * batch in flight; FIFO eviction keeps the recent ones, which are the ones being reused.
1050
+ */
1051
+ while (this.detailCache.size > DETAIL_CACHE_MAX_ENTRIES) {
1052
+ const oldest = this.detailCache.keys().next();
1053
+ if (oldest.done)
1054
+ break;
1055
+ this.detailCache.delete(oldest.value);
1056
+ }
824
1057
  return body;
825
1058
  }
826
1059
  /**
@@ -831,12 +1064,77 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
831
1064
  * filtered by elementFilter), tagging the parent id; `detail-object` emits each parent's
832
1065
  * detail itself as ONE record, tagged with its id.
833
1066
  */
834
- async FetchViaDetailWalk(obj, accessPath, auth, baseURL, doorRows, fields, pkFieldNames, warnings) {
1067
+ async FetchViaDetailWalk(ctx, obj, accessPath, auth, baseURL, doorRows, fields, pkFieldNames, warnings, doorComplete = true) {
1068
+ /**
1069
+ * A detail walk is one HTTP call PER PARENT — for this tenant that is ~2,000 application
1070
+ * details, and Media additionally resolves ~4,000 /v2/Media/{id} records. Doing all of
1071
+ * that inside a single FetchChanges call made the walk UNBOUNDED and therefore
1072
+ * un-stoppable: `DiscoverFieldsViaFetch` streams FetchChanges and stops at a record cap,
1073
+ * but it can only stop BETWEEN batches, so field-sampling one detail object paid the
1074
+ * entire walk and blew straight through the 5-minute discovery budget (measured: an
1075
+ * apply/introspect that could not finish inside any gateway timeout).
1076
+ *
1077
+ * So the walk is now bounded by the caller's own batch size and resumable: parents are
1078
+ * consumed from a cursor offset, records accumulate until the budget is met, and the
1079
+ * remaining offset comes back as the cursor. Sampling asks for a handful of records and
1080
+ * gets them after a handful of calls; a real sync passes a large batch size and still
1081
+ * walks everything, just across resumable batches (which is also what makes a killed
1082
+ * run cheap to resume).
1083
+ */
1084
+ const budget = ctx.BatchSize && ctx.BatchSize > 0 ? ctx.BatchSize : 10_000;
1085
+ const cursorOffset = (prefix) => {
1086
+ const c = ctx.CurrentCursor;
1087
+ if (!c || !String(c).startsWith(prefix))
1088
+ return 0;
1089
+ const n = Number(String(c).slice(prefix.length));
1090
+ return Number.isFinite(n) && n > 0 ? n : 0;
1091
+ };
1092
+ const harvestMode = accessPath.parentSource === 'detail-harvest';
1093
+ // Harvest mode counts DOOR ROWS consumed (plus ids already emitted from the window it is
1094
+ // resuming into); every other mode counts parents consumed.
1095
+ const harvestCursor = (() => {
1096
+ const c = String(ctx.CurrentCursor ?? '');
1097
+ if (!harvestMode || !c.startsWith(HARVEST_CURSOR_PREFIX))
1098
+ return { door: 0, id: 0 };
1099
+ const [d, i] = c.slice(HARVEST_CURSOR_PREFIX.length).split(':');
1100
+ const door = Number(d), id = Number(i);
1101
+ return {
1102
+ door: Number.isFinite(door) && door > 0 ? door : 0,
1103
+ id: Number.isFinite(id) && id > 0 ? id : 0,
1104
+ };
1105
+ })();
1106
+ const harvestStartAt = harvestCursor.door;
1107
+ const startAt = harvestMode ? harvestCursor.id : cursorOffset(DETAIL_WALK_CURSOR_PREFIX);
1108
+ // Between-request wall clock. The engine kills the batch at 30s and keeps nothing, so the
1109
+ // walk stops itself with time to spare and comes back with a cursor.
1110
+ const deadline = Date.now() + WALK_TIME_BUDGET_MS;
835
1111
  let parentIDs;
836
- if (accessPath.parentSource === 'detail-harvest') {
1112
+ // Set when harvesting stopped early: `parentIDs` is then a PREFIX of the real parent set,
1113
+ // so its length must NOT be read as the total (doing so reported HasMore:false with door
1114
+ // rows still un-harvested, which would have silently dropped every later record).
1115
+ let harvestTruncated = false;
1116
+ // Observed key names/types from the first harvested detail — see HARVEST_SHAPE.
1117
+ let harvestShape = null;
1118
+ // Door rows consumed by this call's harvest window (harvest mode only).
1119
+ let doorAt = harvestStartAt;
1120
+ let doorTotal = 0;
1121
+ if (harvestMode) {
837
1122
  const doorIDs = this.DescendToParentIDs(doorRows, { ...accessPath, nestingSegments: [] });
1123
+ doorTotal = doorIDs.length;
1124
+ // A WINDOW of door rows, not a prefix: every id found here is work this call will do,
1125
+ // and the cursor advances past the window whether or not it yielded any ids.
838
1126
  const harvested = new Set();
839
- for (const doorID of doorIDs) {
1127
+ let doorsWalked = 0;
1128
+ // A resumed partial window must be rebuilt identically — the ids are collected in door
1129
+ // order and Set preserves insertion order, so slicing by idOffset is exact.
1130
+ while (doorAt < doorIDs.length) {
1131
+ if (doorsWalked >= HARVEST_DOORS_PER_CALL || Date.now() > deadline) {
1132
+ harvestTruncated = true;
1133
+ break;
1134
+ }
1135
+ const doorID = doorIDs[doorAt];
1136
+ doorAt++;
1137
+ doorsWalked++;
840
1138
  const hPath = this.InjectParentID(accessPath.harvestDetailPath ?? '', doorID, {
841
1139
  ...accessPath, parentParamName: accessPath.harvestDetailParam ?? 'id', parentParamIn: 'path'
842
1140
  });
@@ -845,6 +1143,8 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
845
1143
  const detail = await this.FetchDetailCached(auth, baseURL, hPath, warnings);
846
1144
  if (!detail)
847
1145
  continue;
1146
+ if (harvestShape === null)
1147
+ harvestShape = this.ShapeAlong(detail, accessPath.harvestSegments ?? []);
848
1148
  for (const node of this.WalkSegments([detail], accessPath.harvestSegments ?? [])) {
849
1149
  const v = node?.[accessPath.harvestIdKey ?? 'id'];
850
1150
  if (v != null && String(v).length > 0)
@@ -856,15 +1156,53 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
856
1156
  else {
857
1157
  parentIDs = this.DescendToParentIDs(doorRows, { ...accessPath, nestingSegments: accessPath.parentIdSegments ?? [] });
858
1158
  }
1159
+ if (parentIDs.length === 0 && harvestMode && doorAt < doorTotal) {
1160
+ // An empty WINDOW is not an empty object: these door rows carried no ids, the next ones
1161
+ // may. Advance the cursor and come back rather than declaring the object finished.
1162
+ return {
1163
+ Records: [], HasMore: true,
1164
+ NextCursor: `${HARVEST_CURSOR_PREFIX}${doorAt}`,
1165
+ Warnings: warnings,
1166
+ };
1167
+ }
859
1168
  if (parentIDs.length === 0) {
860
1169
  warnings.push({ Code: 'ZERO_PARENTS',
861
1170
  Message: `No parent ids for "${obj.Name}" via ${accessPath.door} (${accessPath.parentSource ?? 'door-ids'}).`,
862
1171
  Data: { door: accessPath.door, parentSource: accessPath.parentSource ?? 'door-ids' } });
1172
+ // Say WHAT WAS THERE instead of only that nothing matched — a wrong declared path and a
1173
+ // genuinely empty collection look identical from a zero, and need opposite responses.
1174
+ if (harvestShape) {
1175
+ warnings.push({
1176
+ Code: 'HARVEST_SHAPE',
1177
+ Message: `"${obj.Name}" harvest looked for "${accessPath.harvestIdKey ?? 'id'}" under`
1178
+ + ` ${(accessPath.harvestSegments ?? []).join('->') || '(root)'} of`
1179
+ + ` ${accessPath.harvestDetailPath ?? '(no detail path)'} and found none.`
1180
+ + ` Keys actually present — names and types only: ${harvestShape}`,
1181
+ Data: {
1182
+ object: obj.Name,
1183
+ harvestIdKey: accessPath.harvestIdKey ?? 'id',
1184
+ harvestSegments: accessPath.harvestSegments ?? [],
1185
+ observedShape: harvestShape,
1186
+ },
1187
+ });
1188
+ }
863
1189
  return { Records: [], HasMore: false, Warnings: warnings };
864
1190
  }
865
1191
  const out = [];
866
1192
  const filt = accessPath.elementFilter;
867
- for (const parentID of parentIDs) {
1193
+ let consumed = startAt;
1194
+ // The nesting walk's counterpart to harvestShape: what the first parent detail actually held.
1195
+ let nestShape = null;
1196
+ for (const parentID of parentIDs.slice(startAt)) {
1197
+ if (out.length >= budget)
1198
+ break;
1199
+ // Bound the vendor calls, not only the records emitted — see MAX_PARENTS_PER_CALL —
1200
+ // and stop on the clock, which is what the engine actually kills the batch on.
1201
+ if (consumed - startAt >= MAX_PARENTS_PER_CALL)
1202
+ break;
1203
+ if (Date.now() > deadline)
1204
+ break;
1205
+ consumed++;
868
1206
  const leafPath = this.InjectParentID(accessPath.entryPath, parentID, accessPath);
869
1207
  if (leafPath == null)
870
1208
  continue;
@@ -878,6 +1216,8 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
878
1216
  out.push(this.BuildExternalRecord(rec, obj, fields, pkFieldNames));
879
1217
  }
880
1218
  else {
1219
+ if (nestShape === null)
1220
+ nestShape = this.ShapeAlong(detail, accessPath.nestingSegments ?? []);
881
1221
  let elements = this.WalkSegments([detail], accessPath.nestingSegments ?? []);
882
1222
  if (filt && filt.key) {
883
1223
  elements = elements.filter(e => e && (filt.exists
@@ -892,12 +1232,86 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
892
1232
  }
893
1233
  }
894
1234
  }
895
- if (out.length === 0) {
1235
+ if (out.length === 0 && startAt === 0) {
896
1236
  warnings.push({ Code: 'ZERO_LEAVES',
897
1237
  Message: `"${obj.Name}" walked ${parentIDs.length} parent detail(s) and extracted no records.`,
898
1238
  Data: { object: obj.Name, parents: parentIDs.length } });
1239
+ // Same argument as HARVEST_SHAPE: a wrong declared segment and an empty collection both
1240
+ // produce this zero, and only the observed key names separate them. ApplicationFile's
1241
+ // ZERO_LEAVES was a misdeclared segment name for a full day without this.
1242
+ if (nestShape) {
1243
+ warnings.push({
1244
+ Code: 'NESTING_SHAPE',
1245
+ Message: `"${obj.Name}" descended ${(accessPath.nestingSegments ?? []).join('->') || '(root)'}`
1246
+ + ` of ${accessPath.entryPath} and found no entries.`
1247
+ + ` Keys actually present — names and types only: ${nestShape}`,
1248
+ Data: {
1249
+ object: obj.Name,
1250
+ nestingSegments: accessPath.nestingSegments ?? [],
1251
+ observedShape: nestShape,
1252
+ },
1253
+ });
1254
+ }
899
1255
  }
900
- return { Records: out, HasMore: false, Warnings: warnings };
1256
+ // Harvest mode resumes by door row, with an id offset when this window was not finished.
1257
+ // Finishing the window is what allows the door offset to advance: advancing it with ids
1258
+ // left over is exactly how records get dropped without any error.
1259
+ const windowFinished = consumed >= parentIDs.length;
1260
+ const moreParents = harvestMode
1261
+ ? (!windowFinished || doorAt < doorTotal || !doorComplete)
1262
+ : (consumed < parentIDs.length || harvestTruncated || !doorComplete);
1263
+ const nextCursor = harvestMode
1264
+ ? (windowFinished
1265
+ ? `${HARVEST_CURSOR_PREFIX}${doorAt}`
1266
+ : `${HARVEST_CURSOR_PREFIX}${harvestStartAt}:${consumed}`)
1267
+ : `${DETAIL_WALK_CURSOR_PREFIX}${consumed}`;
1268
+ return {
1269
+ Records: out,
1270
+ HasMore: moreParents,
1271
+ NextCursor: moreParents ? nextCursor : undefined,
1272
+ Warnings: warnings,
1273
+ };
1274
+ }
1275
+ /**
1276
+ * When a harvest or a nesting walk finds nothing, "found nothing" is not a diagnosis: the path
1277
+ * may be wrong, or the collection may genuinely be empty, and those need opposite responses.
1278
+ * This reports the shape actually present so a declared AccessPath can be corrected against
1279
+ * observed structure instead of vendor documentation — the same rule the catalog is held to
1280
+ * ("provably know, not guessed"). Names and types only, capped, so no member data is emitted.
1281
+ */
1282
+ static ShapeOf(node, cap = 40) {
1283
+ if (node == null || typeof node !== 'object')
1284
+ return [];
1285
+ const src = Array.isArray(node) ? node[0] : node;
1286
+ if (src == null || typeof src !== 'object')
1287
+ return [];
1288
+ const out = [];
1289
+ for (const [k, v] of Object.entries(src)) {
1290
+ const t = v === null ? 'null'
1291
+ : Array.isArray(v) ? `array[${v.length}]`
1292
+ : typeof v === 'object' ? 'object'
1293
+ : typeof v;
1294
+ out.push(`${k}:${t}`);
1295
+ if (out.length >= cap)
1296
+ break;
1297
+ }
1298
+ return out.sort();
1299
+ }
1300
+ /**
1301
+ * The root's shape plus the shape at each declared segment that actually resolves — enough to
1302
+ * correct a declared path against the payload, and nothing more. The segment whose braces come
1303
+ * back empty is the one that does not exist.
1304
+ */
1305
+ ShapeAlong(detail, segments) {
1306
+ const parts = [`root{${OpenWaterConnector_1.ShapeOf(detail).join(', ')}}`];
1307
+ let cursor = [detail];
1308
+ for (const seg of segments) {
1309
+ cursor = this.WalkSegments(cursor, [seg]);
1310
+ parts.push(`${seg}{${OpenWaterConnector_1.ShapeOf(cursor[0]).join(', ')}}`);
1311
+ if (cursor.length === 0)
1312
+ break;
1313
+ }
1314
+ return parts.join(' | ');
901
1315
  }
902
1316
  /** Additional full walks to union with the main AccessPath (empty when not declared). */
903
1317
  ParseAlternativeAccessPaths(obj) {
@@ -987,8 +1401,39 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
987
1401
  return nodes;
988
1402
  }
989
1403
  /** For embedded-array access paths: emit the nested records directly from the door payload. */
990
- ExtractEmbedded(doorRows, segments) {
991
- return this.WalkSegments(doorRows, segments);
1404
+ /**
1405
+ * embedded-array extraction, optionally tagging each leaf with its IMMEDIATE parent's id.
1406
+ *
1407
+ * Without the tag the walk keeps only leaves, so an element arrives with no idea which parent
1408
+ * produced it — and for a leaf whose identity is only unique WITHIN its parent, that loses rows.
1409
+ * ApplicationWinnerType is the case: a winner type is `{id, name}` declared on a round, the same
1410
+ * type id can be declared on several rounds, and the key was `id` alone. 89 (round, type) pairs
1411
+ * therefore collapsed to 74 distinct ids, and the round association was gone from the row.
1412
+ *
1413
+ * `embeddedParentTag: { sourceKey, asKey }` copies the parent's `sourceKey` onto each leaf as
1414
+ * `asKey`, so the pair can be keyed and the row can say where it came from. Absent — the
1415
+ * default — behaviour is exactly as before.
1416
+ */
1417
+ ExtractEmbedded(doorRows, segments, tag) {
1418
+ if (!tag?.asKey)
1419
+ return this.WalkSegments(doorRows, segments);
1420
+ const sourceKey = tag.sourceKey ?? 'id';
1421
+ const asKey = tag.asKey;
1422
+ // Walk to the parents (all but the last segment), then take each parent's leaves itself so
1423
+ // the parent is still in hand when its children are collected.
1424
+ const parents = this.WalkSegments(doorRows, segments.slice(0, -1));
1425
+ const lastSeg = segments[segments.length - 1];
1426
+ const out = [];
1427
+ for (const parent of parents) {
1428
+ const parentValue = parent[sourceKey];
1429
+ for (const leaf of this.WalkSegments([parent], [lastSeg])) {
1430
+ // Never overwrite a value the vendor itself supplied under that name.
1431
+ out.push(leaf[asKey] == null && parentValue != null
1432
+ ? { ...leaf, [asKey]: parentValue }
1433
+ : leaf);
1434
+ }
1435
+ }
1436
+ return out;
992
1437
  }
993
1438
  /**
994
1439
  * Injects a parent id into an entry path: as a query param (?<parentParamName>=) when
@@ -1212,7 +1657,7 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
1212
1657
  return url.endsWith('/') ? url.slice(0, -1) : url;
1213
1658
  }
1214
1659
  };
1215
- OpenWaterConnector = __decorate([
1660
+ OpenWaterConnector = OpenWaterConnector_1 = __decorate([
1216
1661
  RegisterClass(BaseIntegrationConnector, '@memberjunction/connector-openwater')
1217
1662
  ], OpenWaterConnector);
1218
1663
  export { OpenWaterConnector };
@@ -1 +1 @@
1
- {"version":3,"file":"OpenWaterConnector.js","sourceRoot":"","sources":["../src/OpenWaterConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenWaterConnector.js","sourceRoot":"","sources":["../src/OpenWaterConnector.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/connector-openwater",
3
- "version": "1.3.4",
3
+ "version": "1.3.6",
4
4
  "description": "MemberJunction OpenWater connector.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",