@memberjunction/connector-openwater 1.3.5 → 1.3.7

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
@@ -74,6 +75,69 @@ import { mergeDeclaredWithSampledFields } from '@memberjunction/connector-schema
74
75
  const DETAIL_CACHE_MAX_ENTRIES = 500;
75
76
  /** Cursor namespace for a bounded, resumable detail walk: the parent offset consumed so far. */
76
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';
77
141
  // ─── Constants ──────────────────────────────────────────────────────────
78
142
  // No DEFAULT_BASE_URL: OpenWater's real API host is the SHARED https://api.secure-platform.com
79
143
  // (confirmed live against its own published swagger), not a per-customer subdomain — but we still
@@ -86,7 +150,7 @@ const DEFAULT_REQUEST_TIMEOUT_MS = 30_000;
86
150
  /** OpenWater is a modest-throughput enterprise API — keep a conservative sustained rate. */
87
151
  const RATE_LIMIT_TOKENS_PER_SEC = 3;
88
152
  // ─── Connector ──────────────────────────────────────────────────────────
89
- let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationConnector {
153
+ let OpenWaterConnector = OpenWaterConnector_1 = class OpenWaterConnector extends BaseRESTIntegrationConnector {
90
154
  constructor() {
91
155
  super(...arguments);
92
156
  this.authState = null;
@@ -94,6 +158,8 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
94
158
  /** Reads and validates AccessPath from the IO's Configuration JSON; null when absent. */
95
159
  /** Short-lived cache for detail responses; see FetchDetailCached. */
96
160
  this.detailCache = new Map();
161
+ /** Door rows per (integration|door|doorPath) — see DOOR_CACHE_MAX_ENTRIES. */
162
+ this.doorRowCache = new Map();
97
163
  }
98
164
  // ── Identity (three-way invariant axis) ─────────────────────────
99
165
  get IntegrationName() { return 'OpenWater'; }
@@ -330,21 +396,61 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
330
396
  if (unionPaths.length === 0) {
331
397
  return this.FetchViaAccessPath(ctx, obj, accessPath);
332
398
  }
333
- const results = [];
334
- for (const path of [accessPath, ...unionPaths]) {
335
- results.push(await this.FetchViaAccessPath(ctx, obj, path));
336
- }
337
- const byID = new Map();
338
- for (const r of results) {
339
- for (const rec of r.Records) {
340
- if (!byID.has(rec.ExternalID))
341
- 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;
342
432
  }
343
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;
344
448
  return {
345
- Records: [...byID.values()],
346
- HasMore: results.some(r => r.HasMore),
347
- 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,
348
454
  };
349
455
  }
350
456
  // ── Literal-create / literal-update overrides (RequiresLiveVerification) ──────────
@@ -579,7 +685,56 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
579
685
  const pkFieldNames = this.PrimaryKeyNames(fields);
580
686
  const warnings = [];
581
687
  // Pull the door collection (paginated) and descend to the parent leaf values + the door rows.
582
- 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
+ });
583
738
  if (doorRows.length === 0) {
584
739
  warnings.push({
585
740
  Code: 'ZERO_PARENTS',
@@ -590,7 +745,7 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
590
745
  }
591
746
  // embedded-array: records are already inside the door payload (e.g. Program.rounds[]).
592
747
  if (accessPath.extractionMode === 'embedded-array') {
593
- const records = this.ExtractEmbedded(doorRows, accessPath.nestingSegments ?? []);
748
+ const records = this.ExtractEmbedded(doorRows, accessPath.nestingSegments ?? [], accessPath.embeddedParentTag);
594
749
  if (records.length === 0) {
595
750
  warnings.push({
596
751
  Code: 'ZERO_LEAVES',
@@ -602,7 +757,8 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
602
757
  }
603
758
  return {
604
759
  Records: records.map(r => this.BuildExternalRecord(r, obj, fields, pkFieldNames)),
605
- HasMore: false,
760
+ // A truncated door enumeration is not a finished object — see DOOR_TRUNCATED.
761
+ HasMore: !doorComplete,
606
762
  Warnings: warnings,
607
763
  };
608
764
  }
@@ -610,7 +766,7 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
610
766
  // response rather than a paginated list leaf — /v2/Applications/{id} carries
611
767
  // roundSubmissions[] and the file-upload field values; /v2/Media/{id} IS the record.
612
768
  if (accessPath.extractionMode === 'detail-embedded' || accessPath.extractionMode === 'detail-object') {
613
- return this.FetchViaDetailWalk(ctx, obj, accessPath, auth, baseURL, doorRows, fields, pkFieldNames, warnings);
769
+ return this.FetchViaDetailWalk(ctx, obj, accessPath, auth, baseURL, doorRows, fields, pkFieldNames, warnings, doorComplete);
614
770
  }
615
771
  const parentIDs = this.DescendToParentIDs(doorRows, accessPath);
616
772
  if (parentIDs.length === 0) {
@@ -718,9 +874,47 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
718
874
  return { Records: out, HasMore: false, Warnings: warnings };
719
875
  }
720
876
  /** Fetch all pages of a door collection (used to enumerate parent ids / embedded children). */
721
- async FetchDoorRows(auth, baseURL, doorPath, obj) {
722
- const { records } = await this.PaginateLeaf(auth, baseURL, doorPath, obj, undefined, undefined, '', true);
723
- 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 };
724
918
  }
725
919
  /**
726
920
  * Generic paginated leaf fetch. Loops pageIndex until a short/empty page (or the batch cap when
@@ -776,6 +970,21 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
776
970
  return { records: all, newWatermark: undefined, hasMore: false, nextPage: page,
777
971
  rejection: { status: response.Status, url, vendor: vendor ?? null, response } };
778
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
+ }
779
988
  throw this.HttpError(`OpenWater fetch failed for "${obj.Name}": HTTP ${response.Status} at ${url}`
780
989
  + (vendor ? ` — ${vendor}` : ''), response);
781
990
  }
@@ -855,7 +1064,7 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
855
1064
  * filtered by elementFilter), tagging the parent id; `detail-object` emits each parent's
856
1065
  * detail itself as ONE record, tagged with its id.
857
1066
  */
858
- async FetchViaDetailWalk(ctx, obj, accessPath, auth, baseURL, doorRows, fields, pkFieldNames, warnings) {
1067
+ async FetchViaDetailWalk(ctx, obj, accessPath, auth, baseURL, doorRows, fields, pkFieldNames, warnings, doorComplete = true) {
859
1068
  /**
860
1069
  * A detail walk is one HTTP call PER PARENT — for this tenant that is ~2,000 application
861
1070
  * details, and Media additionally resolves ~4,000 /v2/Media/{id} records. Doing all of
@@ -873,30 +1082,59 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
873
1082
  * run cheap to resume).
874
1083
  */
875
1084
  const budget = ctx.BatchSize && ctx.BatchSize > 0 ? ctx.BatchSize : 10_000;
876
- const startAt = (() => {
1085
+ const cursorOffset = (prefix) => {
877
1086
  const c = ctx.CurrentCursor;
878
- if (!c || !String(c).startsWith(DETAIL_WALK_CURSOR_PREFIX))
1087
+ if (!c || !String(c).startsWith(prefix))
879
1088
  return 0;
880
- const n = Number(String(c).slice(DETAIL_WALK_CURSOR_PREFIX.length));
1089
+ const n = Number(String(c).slice(prefix.length));
881
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
+ };
882
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;
883
1111
  let parentIDs;
884
1112
  // Set when harvesting stopped early: `parentIDs` is then a PREFIX of the real parent set,
885
1113
  // so its length must NOT be read as the total (doing so reported HasMore:false with door
886
1114
  // rows still un-harvested, which would have silently dropped every later record).
887
1115
  let harvestTruncated = false;
888
- if (accessPath.parentSource === 'detail-harvest') {
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) {
889
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.
890
1126
  const harvested = new Set();
891
- // Harvesting is itself one call per door row, so it stops as soon as it has enough
892
- // ids to satisfy this batch (offset + budget). Ids are collected in door order, so
893
- // the same prefix is produced on every call and the offset stays meaningful.
894
- const needed = startAt + budget;
895
- for (const doorID of doorIDs) {
896
- if (harvested.size >= needed) {
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) {
897
1132
  harvestTruncated = true;
898
1133
  break;
899
1134
  }
1135
+ const doorID = doorIDs[doorAt];
1136
+ doorAt++;
1137
+ doorsWalked++;
900
1138
  const hPath = this.InjectParentID(accessPath.harvestDetailPath ?? '', doorID, {
901
1139
  ...accessPath, parentParamName: accessPath.harvestDetailParam ?? 'id', parentParamIn: 'path'
902
1140
  });
@@ -905,6 +1143,8 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
905
1143
  const detail = await this.FetchDetailCached(auth, baseURL, hPath, warnings);
906
1144
  if (!detail)
907
1145
  continue;
1146
+ if (harvestShape === null)
1147
+ harvestShape = this.ShapeAlong(detail, accessPath.harvestSegments ?? []);
908
1148
  for (const node of this.WalkSegments([detail], accessPath.harvestSegments ?? [])) {
909
1149
  const v = node?.[accessPath.harvestIdKey ?? 'id'];
910
1150
  if (v != null && String(v).length > 0)
@@ -916,18 +1156,52 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
916
1156
  else {
917
1157
  parentIDs = this.DescendToParentIDs(doorRows, { ...accessPath, nestingSegments: accessPath.parentIdSegments ?? [] });
918
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
+ }
919
1168
  if (parentIDs.length === 0) {
920
1169
  warnings.push({ Code: 'ZERO_PARENTS',
921
1170
  Message: `No parent ids for "${obj.Name}" via ${accessPath.door} (${accessPath.parentSource ?? 'door-ids'}).`,
922
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
+ }
923
1189
  return { Records: [], HasMore: false, Warnings: warnings };
924
1190
  }
925
1191
  const out = [];
926
1192
  const filt = accessPath.elementFilter;
927
1193
  let consumed = startAt;
1194
+ // The nesting walk's counterpart to harvestShape: what the first parent detail actually held.
1195
+ let nestShape = null;
928
1196
  for (const parentID of parentIDs.slice(startAt)) {
929
1197
  if (out.length >= budget)
930
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;
931
1205
  consumed++;
932
1206
  const leafPath = this.InjectParentID(accessPath.entryPath, parentID, accessPath);
933
1207
  if (leafPath == null)
@@ -942,6 +1216,8 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
942
1216
  out.push(this.BuildExternalRecord(rec, obj, fields, pkFieldNames));
943
1217
  }
944
1218
  else {
1219
+ if (nestShape === null)
1220
+ nestShape = this.ShapeAlong(detail, accessPath.nestingSegments ?? []);
945
1221
  let elements = this.WalkSegments([detail], accessPath.nestingSegments ?? []);
946
1222
  if (filt && filt.key) {
947
1223
  elements = elements.filter(e => e && (filt.exists
@@ -960,15 +1236,83 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
960
1236
  warnings.push({ Code: 'ZERO_LEAVES',
961
1237
  Message: `"${obj.Name}" walked ${parentIDs.length} parent detail(s) and extracted no records.`,
962
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
+ }
963
1255
  }
964
- const moreParents = consumed < parentIDs.length || harvestTruncated;
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}`;
965
1268
  return {
966
1269
  Records: out,
967
1270
  HasMore: moreParents,
968
- NextCursor: moreParents ? `${DETAIL_WALK_CURSOR_PREFIX}${consumed}` : undefined,
1271
+ NextCursor: moreParents ? nextCursor : undefined,
969
1272
  Warnings: warnings,
970
1273
  };
971
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(' | ');
1315
+ }
972
1316
  /** Additional full walks to union with the main AccessPath (empty when not declared). */
973
1317
  ParseAlternativeAccessPaths(obj) {
974
1318
  if (!obj.Configuration)
@@ -1057,8 +1401,39 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
1057
1401
  return nodes;
1058
1402
  }
1059
1403
  /** For embedded-array access paths: emit the nested records directly from the door payload. */
1060
- ExtractEmbedded(doorRows, segments) {
1061
- 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;
1062
1437
  }
1063
1438
  /**
1064
1439
  * Injects a parent id into an entry path: as a query param (?<parentParamName>=) when
@@ -1282,7 +1657,7 @@ let OpenWaterConnector = class OpenWaterConnector extends BaseRESTIntegrationCon
1282
1657
  return url.endsWith('/') ? url.slice(0, -1) : url;
1283
1658
  }
1284
1659
  };
1285
- OpenWaterConnector = __decorate([
1660
+ OpenWaterConnector = OpenWaterConnector_1 = __decorate([
1286
1661
  RegisterClass(BaseIntegrationConnector, '@memberjunction/connector-openwater')
1287
1662
  ], OpenWaterConnector);
1288
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.5",
3
+ "version": "1.3.7",
4
4
  "description": "MemberJunction OpenWater connector.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -15,10 +15,10 @@
15
15
  "author": "MemberJunction.com",
16
16
  "license": "BUSL-1.1",
17
17
  "peerDependencies": {
18
- "@memberjunction/core": ">=5.42.0 <6.0.0",
19
- "@memberjunction/core-entities": ">=5.42.0 <6.0.0",
20
- "@memberjunction/global": ">=5.42.0 <6.0.0",
21
- "@memberjunction/integration-engine": ">=5.42.0 <6.0.0"
18
+ "@memberjunction/core": ">=5.42.0 <7.0.0",
19
+ "@memberjunction/core-entities": ">=5.42.0 <7.0.0",
20
+ "@memberjunction/global": ">=5.42.0 <7.0.0",
21
+ "@memberjunction/integration-engine": ">=5.42.0 <7.0.0"
22
22
  },
23
23
  "dependencies": {
24
24
  "@memberjunction/connector-schema-merge": "^1.0.0"