@memberjunction/connector-elevate 0.2.2 → 0.3.1
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.
|
@@ -54,6 +54,12 @@ export declare class ElevateConnector extends BaseRESTIntegrationConnector {
|
|
|
54
54
|
private verifiedFieldNames;
|
|
55
55
|
/** One sampled value per discovered field name, used ONLY for runtime type inference. */
|
|
56
56
|
private discoveredSamples;
|
|
57
|
+
/**
|
|
58
|
+
* The tenant's own resource catalog, parsed from `<siteUrl>/api/reports`, per connection.
|
|
59
|
+
* `null` means we tried and the page was unusable — cached so a dead page is fetched once, not
|
|
60
|
+
* once per object.
|
|
61
|
+
*/
|
|
62
|
+
private catalogPage;
|
|
57
63
|
/** Field names this connection's door REJECTED — never requested again for that object. */
|
|
58
64
|
private rejectedFieldNames;
|
|
59
65
|
/** Declared resources this connection accepted a probe query for. Absence NEVER deactivates. */
|
|
@@ -325,6 +331,22 @@ export declare class ElevateConnector extends BaseRESTIntegrationConnector {
|
|
|
325
331
|
private VerifyLearnedFields;
|
|
326
332
|
/** Learned names not yet proven, not already rejected, and not already covered by a declared column. */
|
|
327
333
|
private PendingLearnedFields;
|
|
334
|
+
/**
|
|
335
|
+
* Verify ONE subset of candidate columns, halving on an unattributed refusal.
|
|
336
|
+
*
|
|
337
|
+
* Separate from {@link VerifyLearnedFields} because that method owns "what is still pending on
|
|
338
|
+
* this connection" (dedupe against declared/verified/rejected), while this owns "does the door
|
|
339
|
+
* accept exactly these". Recursing through the outer method would re-derive the pending set on
|
|
340
|
+
* every level and lose the half being tested.
|
|
341
|
+
*
|
|
342
|
+
* Terminates two ways. A subset of ONE that still fails is the offender: it is remembered as
|
|
343
|
+
* rejected so it never poisons another batch on this connection — the same terminal state a
|
|
344
|
+
* NAMED rejection produces, reached by isolation instead of by the vendor telling us. Depth is
|
|
345
|
+
* also bounded, so a door failing for a reason that has nothing to do with field names (an
|
|
346
|
+
* outage mid-verification) costs a bounded number of requests and leaves everything unverified
|
|
347
|
+
* rather than rejecting good columns one at a time.
|
|
348
|
+
*/
|
|
349
|
+
private VerifyFieldSubset;
|
|
328
350
|
/** Records the learned names this connection's door answered a read for. */
|
|
329
351
|
private MarkVerified;
|
|
330
352
|
/**
|
|
@@ -408,6 +430,17 @@ export declare class ElevateConnector extends BaseRESTIntegrationConnector {
|
|
|
408
430
|
* present. A rejection is remembered and warned about but NEVER removes the object — with no describe
|
|
409
431
|
* endpoint, absence proves nothing, and deactivating on a thin result is tenant-visible data loss.
|
|
410
432
|
*/
|
|
433
|
+
/**
|
|
434
|
+
* Fetch and parse this connection's own resource catalog from `<siteUrl>/api/reports`.
|
|
435
|
+
*
|
|
436
|
+
* A plain GET of the URL the Report API posts to. No credential is sent — the page is not
|
|
437
|
+
* credential-gated on the deployment this was built against, and sending a key on a GET the
|
|
438
|
+
* vendor never documented would be inventing a protocol.
|
|
439
|
+
*
|
|
440
|
+
* Every failure path returns `null` and is cached, so an unusable page costs ONE request per
|
|
441
|
+
* connection and the declared catalog simply stands. Nothing here can remove an object.
|
|
442
|
+
*/
|
|
443
|
+
private LoadCatalogPage;
|
|
411
444
|
private ValidateResource;
|
|
412
445
|
/** Runs one read so the door's `response.labels` dictionary can be harvested for this connection. */
|
|
413
446
|
private LearnFieldsFromSource;
|
package/dist/ElevateConnector.js
CHANGED
|
@@ -9,6 +9,7 @@ import { Metadata } from '@memberjunction/core';
|
|
|
9
9
|
import { IntegrationEngineBase } from '@memberjunction/integration-engine-base';
|
|
10
10
|
import { BaseIntegrationConnector, BaseRESTIntegrationConnector, ClassifyError, computeContentHash, serializeKeyValue, } from '@memberjunction/integration-engine';
|
|
11
11
|
import { mergeDeclaredWithSampledFields } from '@memberjunction/connector-schema-merge';
|
|
12
|
+
import { parseReportsCatalog } from './ReportsCatalogPage.js';
|
|
12
13
|
// ─── Design note — WHY THE GENERIC REST READ PATH IS OVERRIDDEN ────────────────
|
|
13
14
|
//
|
|
14
15
|
// Elevate's Report API is NOT a REST collection API and the base class's generic per-operation
|
|
@@ -101,6 +102,12 @@ let ElevateConnector = class ElevateConnector extends BaseRESTIntegrationConnect
|
|
|
101
102
|
this.verifiedFieldNames = new Map();
|
|
102
103
|
/** One sampled value per discovered field name, used ONLY for runtime type inference. */
|
|
103
104
|
this.discoveredSamples = new Map();
|
|
105
|
+
/**
|
|
106
|
+
* The tenant's own resource catalog, parsed from `<siteUrl>/api/reports`, per connection.
|
|
107
|
+
* `null` means we tried and the page was unusable — cached so a dead page is fetched once, not
|
|
108
|
+
* once per object.
|
|
109
|
+
*/
|
|
110
|
+
this.catalogPage = new Map();
|
|
104
111
|
/** Field names this connection's door REJECTED — never requested again for that object. */
|
|
105
112
|
this.rejectedFieldNames = new Map();
|
|
106
113
|
/** Declared resources this connection accepted a probe query for. Absence NEVER deactivates. */
|
|
@@ -228,6 +235,7 @@ let ElevateConnector = class ElevateConnector extends BaseRESTIntegrationConnect
|
|
|
228
235
|
*/
|
|
229
236
|
async DiscoverObjects(companyIntegration, contextUser) {
|
|
230
237
|
const declared = [];
|
|
238
|
+
const declaredWire = new Set();
|
|
231
239
|
for (const obj of this.getCachedObjects(companyIntegration.IntegrationID)) {
|
|
232
240
|
await this.ValidateResource(companyIntegration, contextUser, obj.Name);
|
|
233
241
|
declared.push({
|
|
@@ -238,6 +246,31 @@ let ElevateConnector = class ElevateConnector extends BaseRESTIntegrationConnect
|
|
|
238
246
|
SupportsIncrementalSync: obj.SupportsIncrementalSync,
|
|
239
247
|
SupportsWrite: obj.SupportsWrite,
|
|
240
248
|
});
|
|
249
|
+
try {
|
|
250
|
+
declaredWire.add(this.ReadRouteFor(obj).Resource.toLowerCase());
|
|
251
|
+
}
|
|
252
|
+
catch { /* no wire value declared */ }
|
|
253
|
+
declaredWire.add(obj.Name.toLowerCase());
|
|
254
|
+
}
|
|
255
|
+
// ADD whatever this site documents that the catalog does not. Purely additive: a resource the
|
|
256
|
+
// page omits is left exactly as declared, because this page is evidence of PRESENCE only —
|
|
257
|
+
// `DiscoveryIsAuthoritative` stays false and nothing here can deactivate.
|
|
258
|
+
const page = await this.LoadCatalogPage(companyIntegration, contextUser);
|
|
259
|
+
if (page) {
|
|
260
|
+
for (const resource of page) {
|
|
261
|
+
if (declaredWire.has(resource.Name.toLowerCase()))
|
|
262
|
+
continue;
|
|
263
|
+
declared.push({
|
|
264
|
+
Name: resource.Name,
|
|
265
|
+
Label: resource.Name,
|
|
266
|
+
Description: `Discovered from this site's Report API catalog (${resource.Fields.length} field(s)).`,
|
|
267
|
+
// The page states no watermark field and no write door, and inferring either from
|
|
268
|
+
// a field name is the kind of guess that ships a broken predicate. A discovered
|
|
269
|
+
// resource is read-only and full-sync until someone declares otherwise.
|
|
270
|
+
SupportsIncrementalSync: false,
|
|
271
|
+
SupportsWrite: false,
|
|
272
|
+
});
|
|
273
|
+
}
|
|
241
274
|
}
|
|
242
275
|
return declared;
|
|
243
276
|
}
|
|
@@ -272,6 +305,26 @@ let ElevateConnector = class ElevateConnector extends BaseRESTIntegrationConnect
|
|
|
272
305
|
const samples = this.discoveredSamples.get(key);
|
|
273
306
|
const rejected = this.rejectedFieldNames.get(key) ?? new Set();
|
|
274
307
|
const extra = [];
|
|
308
|
+
// The site's own catalog page documents this resource's full field list. Fold it in FIRST:
|
|
309
|
+
// it is the vendor's stated surface, whereas the streamed names below are whatever one probe
|
|
310
|
+
// happened to return. Still additive — a declared field the page omits is untouched.
|
|
311
|
+
const page = await this.LoadCatalogPage(companyIntegration, contextUser);
|
|
312
|
+
if (page) {
|
|
313
|
+
let wire = objectName;
|
|
314
|
+
try {
|
|
315
|
+
wire = this.ReadRouteFor(this.GetCachedObject(companyIntegration.IntegrationID, objectName)).Resource;
|
|
316
|
+
}
|
|
317
|
+
catch { /* discovered resources are named by their wire value */ }
|
|
318
|
+
const resource = page.find(r => r.Name.toLowerCase() === wire.toLowerCase())
|
|
319
|
+
?? page.find(r => r.Name.toLowerCase() === objectName.toLowerCase());
|
|
320
|
+
for (const f of resource?.Fields ?? []) {
|
|
321
|
+
if (claimed.has(f.Name.toLowerCase()) || rejected.has(f.Name))
|
|
322
|
+
continue;
|
|
323
|
+
claimed.add(f.Name.toLowerCase());
|
|
324
|
+
const schema = this.SchemaForDiscoveredField(f.Name, samples?.get(f.Name));
|
|
325
|
+
extra.push(f.Description ? { ...schema, Description: f.Description } : schema);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
275
328
|
for (const name of this.SortedNames(this.discoveredFieldNames.get(key))) {
|
|
276
329
|
if (claimed.has(name.toLowerCase()) || rejected.has(name))
|
|
277
330
|
continue;
|
|
@@ -927,6 +980,28 @@ let ElevateConnector = class ElevateConnector extends BaseRESTIntegrationConnect
|
|
|
927
980
|
catch (err) {
|
|
928
981
|
const named = err instanceof ElevateAPIError ? err.Classification.UnknownField : null;
|
|
929
982
|
if (named == null || !candidates.some(c => c.toLowerCase() === named.toLowerCase())) {
|
|
983
|
+
// The door refused the batch WITHOUT naming a field — the live case is a bare
|
|
984
|
+
// HTTP 500 with no vendor message, which this API returns for any client error
|
|
985
|
+
// including one unusable name among thirty. Giving up here discarded every
|
|
986
|
+
// candidate on the first refusal: a real tenant learned 32 columns on one object
|
|
987
|
+
// and 26 on another, and verified NONE of them, run after run, because the same
|
|
988
|
+
// few unusable names poisoned the same batch every time.
|
|
989
|
+
//
|
|
990
|
+
// The names in question are not junk. `LearnLabels` reads the door's own
|
|
991
|
+
// `response.labels` dictionary, which mixes queryable columns with relation and
|
|
992
|
+
// rollup keys (`user`, `product`, `stats`, `count`) that are not read selectors.
|
|
993
|
+
// They cannot be told apart by name, only by asking.
|
|
994
|
+
//
|
|
995
|
+
// So ask in halves. Bisection isolates the offenders in O(log n) requests
|
|
996
|
+
// instead of surrendering the whole set, and every column the door does accept
|
|
997
|
+
// gets verified. Only reached when the vendor declines to name the field: when
|
|
998
|
+
// it names one, the cheaper targeted repair below still runs first.
|
|
999
|
+
if (candidates.length > 1) {
|
|
1000
|
+
const mid = Math.ceil(candidates.length / 2);
|
|
1001
|
+
await this.VerifyFieldSubset(auth, companyIntegration, obj, route, filters, key, candidates.slice(0, mid), warnings);
|
|
1002
|
+
await this.VerifyFieldSubset(auth, companyIntegration, obj, route, filters, key, candidates.slice(mid), warnings);
|
|
1003
|
+
return;
|
|
1004
|
+
}
|
|
930
1005
|
this.WarnOnce(`verify-failed:${key}`, `[elevate] Could not prove runtime-discovered column(s) ${candidates.join(', ')} on ` +
|
|
931
1006
|
`"${obj.Name}" (${this.SafeMessage(err)}). They stay UNVERIFIED — not rejected — and are ` +
|
|
932
1007
|
'left OUT of the read selector for now, so the object still syncs on its declared ' +
|
|
@@ -960,6 +1035,75 @@ let ElevateConnector = class ElevateConnector extends BaseRESTIntegrationConnect
|
|
|
960
1035
|
&& !declaredSelectors.has(name)
|
|
961
1036
|
&& !declaredNames.has(name.toLowerCase()));
|
|
962
1037
|
}
|
|
1038
|
+
/**
|
|
1039
|
+
* Verify ONE subset of candidate columns, halving on an unattributed refusal.
|
|
1040
|
+
*
|
|
1041
|
+
* Separate from {@link VerifyLearnedFields} because that method owns "what is still pending on
|
|
1042
|
+
* this connection" (dedupe against declared/verified/rejected), while this owns "does the door
|
|
1043
|
+
* accept exactly these". Recursing through the outer method would re-derive the pending set on
|
|
1044
|
+
* every level and lose the half being tested.
|
|
1045
|
+
*
|
|
1046
|
+
* Terminates two ways. A subset of ONE that still fails is the offender: it is remembered as
|
|
1047
|
+
* rejected so it never poisons another batch on this connection — the same terminal state a
|
|
1048
|
+
* NAMED rejection produces, reached by isolation instead of by the vendor telling us. Depth is
|
|
1049
|
+
* also bounded, so a door failing for a reason that has nothing to do with field names (an
|
|
1050
|
+
* outage mid-verification) costs a bounded number of requests and leaves everything unverified
|
|
1051
|
+
* rather than rejecting good columns one at a time.
|
|
1052
|
+
*/
|
|
1053
|
+
async VerifyFieldSubset(auth, companyIntegration, obj, route, filters, key, subset, warnings, depth = 0) {
|
|
1054
|
+
if (subset.length === 0)
|
|
1055
|
+
return;
|
|
1056
|
+
const url = this.JoinURL(this.GetBaseURL(companyIntegration, auth), route.Door);
|
|
1057
|
+
const headers = this.BuildHeaders(auth);
|
|
1058
|
+
try {
|
|
1059
|
+
const body = this.BuildEnvelope(companyIntegration, route.Resource, subset, filters);
|
|
1060
|
+
const response = await this.MakeHTTPRequest(auth, url, 'POST', headers, body);
|
|
1061
|
+
this.LearnLabels(key, response.Body, route, this.NormalizeResponse(response.Body, route.DataKey));
|
|
1062
|
+
this.MarkVerified(key, subset);
|
|
1063
|
+
return;
|
|
1064
|
+
}
|
|
1065
|
+
catch (err) {
|
|
1066
|
+
const named = err instanceof ElevateAPIError ? err.Classification.UnknownField : null;
|
|
1067
|
+
if (named != null && subset.some(c => c.toLowerCase() === named.toLowerCase())) {
|
|
1068
|
+
// The door named it — no need to keep halving.
|
|
1069
|
+
this.RememberRejected(key, named);
|
|
1070
|
+
warnings.push({
|
|
1071
|
+
Code: 'FIELD_REJECTED',
|
|
1072
|
+
Message: `Elevate rejected runtime-discovered column "${named}" on "${obj.Name}"; it was dropped before any data read.`,
|
|
1073
|
+
Data: { objectName: obj.Name, field: named, phase: 'verification' },
|
|
1074
|
+
});
|
|
1075
|
+
const rest = subset.filter(c => c.toLowerCase() !== named.toLowerCase());
|
|
1076
|
+
await this.VerifyFieldSubset(auth, companyIntegration, obj, route, filters, key, rest, warnings, depth + 1);
|
|
1077
|
+
return;
|
|
1078
|
+
}
|
|
1079
|
+
if (subset.length === 1) {
|
|
1080
|
+
// Isolated by bisection: this column, alone, is what the door refuses.
|
|
1081
|
+
const offender = subset[0];
|
|
1082
|
+
this.RememberRejected(key, offender);
|
|
1083
|
+
this.WarnOnce(`rejected-field:${key}:${offender}`, `[elevate] The door refused runtime-discovered column "${offender}" on "${obj.Name}" when ` +
|
|
1084
|
+
'asked for it ALONE, so it is the one the batch was failing on. It was refused during ' +
|
|
1085
|
+
'OUT-OF-BAND verification — no data read ever carried it and no row was lost — and it will ' +
|
|
1086
|
+
'not be asked for again on this connection. The door names no field on these refusals, ' +
|
|
1087
|
+
'so it was identified by isolation.');
|
|
1088
|
+
warnings.push({
|
|
1089
|
+
Code: 'FIELD_REJECTED',
|
|
1090
|
+
Message: `Elevate refused runtime-discovered column "${offender}" on "${obj.Name}" in isolation; it was dropped before any data read.`,
|
|
1091
|
+
Data: { objectName: obj.Name, field: offender, phase: 'verification-bisect' },
|
|
1092
|
+
});
|
|
1093
|
+
return;
|
|
1094
|
+
}
|
|
1095
|
+
if (depth >= MAX_SELECTOR_REPAIRS) {
|
|
1096
|
+
this.WarnOnce(`verify-depth:${key}`, `[elevate] Stopped isolating runtime-discovered columns on "${obj.Name}" after ` +
|
|
1097
|
+
`${MAX_SELECTOR_REPAIRS} levels (${this.SafeMessage(err)}). The remaining ${subset.length} ` +
|
|
1098
|
+
'stay UNVERIFIED — not rejected — so the object still syncs on what it has and the next ' +
|
|
1099
|
+
'sync re-attempts them.');
|
|
1100
|
+
return;
|
|
1101
|
+
}
|
|
1102
|
+
const mid = Math.ceil(subset.length / 2);
|
|
1103
|
+
await this.VerifyFieldSubset(auth, companyIntegration, obj, route, filters, key, subset.slice(0, mid), warnings, depth + 1);
|
|
1104
|
+
await this.VerifyFieldSubset(auth, companyIntegration, obj, route, filters, key, subset.slice(mid), warnings, depth + 1);
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
963
1107
|
/** Records the learned names this connection's door answered a read for. */
|
|
964
1108
|
MarkVerified(key, names) {
|
|
965
1109
|
const set = this.verifiedFieldNames.get(key) ?? new Set();
|
|
@@ -1224,6 +1368,51 @@ let ElevateConnector = class ElevateConnector extends BaseRESTIntegrationConnect
|
|
|
1224
1368
|
* present. A rejection is remembered and warned about but NEVER removes the object — with no describe
|
|
1225
1369
|
* endpoint, absence proves nothing, and deactivating on a thin result is tenant-visible data loss.
|
|
1226
1370
|
*/
|
|
1371
|
+
/**
|
|
1372
|
+
* Fetch and parse this connection's own resource catalog from `<siteUrl>/api/reports`.
|
|
1373
|
+
*
|
|
1374
|
+
* A plain GET of the URL the Report API posts to. No credential is sent — the page is not
|
|
1375
|
+
* credential-gated on the deployment this was built against, and sending a key on a GET the
|
|
1376
|
+
* vendor never documented would be inventing a protocol.
|
|
1377
|
+
*
|
|
1378
|
+
* Every failure path returns `null` and is cached, so an unusable page costs ONE request per
|
|
1379
|
+
* connection and the declared catalog simply stands. Nothing here can remove an object.
|
|
1380
|
+
*/
|
|
1381
|
+
async LoadCatalogPage(companyIntegration, contextUser) {
|
|
1382
|
+
const key = companyIntegration.ID;
|
|
1383
|
+
const cached = this.catalogPage.get(key);
|
|
1384
|
+
if (cached !== undefined)
|
|
1385
|
+
return cached;
|
|
1386
|
+
let parsed = null;
|
|
1387
|
+
try {
|
|
1388
|
+
const auth = await this.Authenticate(companyIntegration, contextUser);
|
|
1389
|
+
const url = this.JoinURL(this.GetBaseURL(companyIntegration, auth), '/api/reports');
|
|
1390
|
+
const response = await fetch(url, { method: 'GET', headers: { Accept: 'text/html' } });
|
|
1391
|
+
if (response.ok) {
|
|
1392
|
+
// Gate on the resources the declared catalog already asserts: if the page does not
|
|
1393
|
+
// describe those, its shape is not the one this parser understands and every
|
|
1394
|
+
// conclusion from it is suspect.
|
|
1395
|
+
const known = this.getCachedObjects(companyIntegration.IntegrationID)
|
|
1396
|
+
.map(o => { try {
|
|
1397
|
+
return this.ReadRouteFor(o).Resource;
|
|
1398
|
+
}
|
|
1399
|
+
catch {
|
|
1400
|
+
return null;
|
|
1401
|
+
} })
|
|
1402
|
+
.filter((r) => r != null);
|
|
1403
|
+
parsed = parseReportsCatalog(await response.text(), known);
|
|
1404
|
+
}
|
|
1405
|
+
}
|
|
1406
|
+
catch {
|
|
1407
|
+
parsed = null;
|
|
1408
|
+
}
|
|
1409
|
+
if (parsed === null) {
|
|
1410
|
+
this.WarnOnce(`catalog-page:${key}`, '[elevate] Could not read this site\'s resource catalog at /api/reports — the declared ' +
|
|
1411
|
+
'catalog stands. Objects and fields this site has but the catalog does not will not appear.');
|
|
1412
|
+
}
|
|
1413
|
+
this.catalogPage.set(key, parsed);
|
|
1414
|
+
return parsed;
|
|
1415
|
+
}
|
|
1227
1416
|
async ValidateResource(companyIntegration, contextUser, objectName) {
|
|
1228
1417
|
const key = this.CacheKey(companyIntegration, objectName);
|
|
1229
1418
|
const cached = this.validatedResources.get(key);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElevateConnector.js","sourceRoot":"","sources":["../src/ElevateConnector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ElevateConnector.js","sourceRoot":"","sources":["../src/ElevateConnector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The per-tenant resource catalog Cadmium Elevate actually publishes.
|
|
3
|
+
*
|
|
4
|
+
* This connector was built on the premise that Elevate "publishes no describe endpoint", so the
|
|
5
|
+
* hand-written metadata was the only truth. That premise is wrong. Every Elevate site serves a
|
|
6
|
+
* catalog of ITS OWN resources at `<siteUrl>/api/reports` — the same URL the Report API posts to,
|
|
7
|
+
* fetched with GET instead. It needs no API key, and the vendor's own prose on that page is the
|
|
8
|
+
* documented answer to "what can I query": *"In the docs area for each resource below, you will
|
|
9
|
+
* find Relations"*. There is no JSON alternative; this page is what Cadmium provides.
|
|
10
|
+
*
|
|
11
|
+
* It is HTML, not an API, so everything here is deliberately defensive:
|
|
12
|
+
*
|
|
13
|
+
* - The parse is ADDITIVE ONLY. Nothing it returns may remove or deactivate a declared object —
|
|
14
|
+
* `DiscoveryIsAuthoritative` stays false. A scraped page can be wrong in ways that look
|
|
15
|
+
* confident, and the cost of a wrong "absent" is deleting real metadata.
|
|
16
|
+
* - It is SANITY-GATED: the result is discarded wholesale unless it contains resources we already
|
|
17
|
+
* know exist. A page that parsed to something unrecognisable is a page whose shape changed, and
|
|
18
|
+
* half-believing it is worse than ignoring it.
|
|
19
|
+
* - Every failure is silent-and-fall-back, never fatal. A deployment that gates this page behind
|
|
20
|
+
* auth, disables it, or serves a different template gets exactly today's behaviour: the
|
|
21
|
+
* declared catalog.
|
|
22
|
+
*
|
|
23
|
+
* Only the ONE observed shape is parsed, and it is matched strictly rather than loosely, so a
|
|
24
|
+
* different template fails the gate instead of yielding plausible nonsense:
|
|
25
|
+
*
|
|
26
|
+
* <div id="productRegistration">
|
|
27
|
+
* <h3 ...>Resource productRegistration</h3>
|
|
28
|
+
* <h5>Fields</h5>
|
|
29
|
+
* <table> <tr><th>Name</th><th>Description</th></tr>
|
|
30
|
+
* <tr><td>id</td><td>ID</td></tr> ... </table>
|
|
31
|
+
* <h5>Relations</h5>
|
|
32
|
+
* <table> ... </table>
|
|
33
|
+
* </div>
|
|
34
|
+
*/
|
|
35
|
+
/** One field as the catalog page documents it. */
|
|
36
|
+
export interface CatalogField {
|
|
37
|
+
/** Wire name, exactly as the page spells it — this is what goes in the `fields` selector. */
|
|
38
|
+
Name: string;
|
|
39
|
+
/** The page's human label for the field, if it gave one. */
|
|
40
|
+
Description?: string;
|
|
41
|
+
}
|
|
42
|
+
/** One resource as the catalog page documents it. */
|
|
43
|
+
export interface CatalogResource {
|
|
44
|
+
/** Wire value for the request body's `resource` field, e.g. `productRegistration`. */
|
|
45
|
+
Name: string;
|
|
46
|
+
Fields: CatalogField[];
|
|
47
|
+
/**
|
|
48
|
+
* Resource names this one declares a built-in relationship with. The vendor's Relations table
|
|
49
|
+
* mixes relation tags, target resource names and prose labels in the same columns, so this is
|
|
50
|
+
* the INTERSECTION of that table's cells with the set of real resource names on the page —
|
|
51
|
+
* a name that is not itself a documented resource cannot be a relation target.
|
|
52
|
+
*/
|
|
53
|
+
Relations: string[];
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Parse the catalog page. Returns `null` when the page is not the shape we know — the caller then
|
|
57
|
+
* keeps the declared catalog. Never throws.
|
|
58
|
+
*/
|
|
59
|
+
export declare function parseReportsCatalog(html: string, knownResources?: readonly string[]): CatalogResource[] | null;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The per-tenant resource catalog Cadmium Elevate actually publishes.
|
|
3
|
+
*
|
|
4
|
+
* This connector was built on the premise that Elevate "publishes no describe endpoint", so the
|
|
5
|
+
* hand-written metadata was the only truth. That premise is wrong. Every Elevate site serves a
|
|
6
|
+
* catalog of ITS OWN resources at `<siteUrl>/api/reports` — the same URL the Report API posts to,
|
|
7
|
+
* fetched with GET instead. It needs no API key, and the vendor's own prose on that page is the
|
|
8
|
+
* documented answer to "what can I query": *"In the docs area for each resource below, you will
|
|
9
|
+
* find Relations"*. There is no JSON alternative; this page is what Cadmium provides.
|
|
10
|
+
*
|
|
11
|
+
* It is HTML, not an API, so everything here is deliberately defensive:
|
|
12
|
+
*
|
|
13
|
+
* - The parse is ADDITIVE ONLY. Nothing it returns may remove or deactivate a declared object —
|
|
14
|
+
* `DiscoveryIsAuthoritative` stays false. A scraped page can be wrong in ways that look
|
|
15
|
+
* confident, and the cost of a wrong "absent" is deleting real metadata.
|
|
16
|
+
* - It is SANITY-GATED: the result is discarded wholesale unless it contains resources we already
|
|
17
|
+
* know exist. A page that parsed to something unrecognisable is a page whose shape changed, and
|
|
18
|
+
* half-believing it is worse than ignoring it.
|
|
19
|
+
* - Every failure is silent-and-fall-back, never fatal. A deployment that gates this page behind
|
|
20
|
+
* auth, disables it, or serves a different template gets exactly today's behaviour: the
|
|
21
|
+
* declared catalog.
|
|
22
|
+
*
|
|
23
|
+
* Only the ONE observed shape is parsed, and it is matched strictly rather than loosely, so a
|
|
24
|
+
* different template fails the gate instead of yielding plausible nonsense:
|
|
25
|
+
*
|
|
26
|
+
* <div id="productRegistration">
|
|
27
|
+
* <h3 ...>Resource productRegistration</h3>
|
|
28
|
+
* <h5>Fields</h5>
|
|
29
|
+
* <table> <tr><th>Name</th><th>Description</th></tr>
|
|
30
|
+
* <tr><td>id</td><td>ID</td></tr> ... </table>
|
|
31
|
+
* <h5>Relations</h5>
|
|
32
|
+
* <table> ... </table>
|
|
33
|
+
* </div>
|
|
34
|
+
*/
|
|
35
|
+
/** Strip tags and collapse whitespace in one cell. */
|
|
36
|
+
function cellText(html) {
|
|
37
|
+
return html.replace(/<[^>]*>/g, '').replace(/&/g, '&').replace(/ /g, ' ').trim();
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Parse the catalog page. Returns `null` when the page is not the shape we know — the caller then
|
|
41
|
+
* keeps the declared catalog. Never throws.
|
|
42
|
+
*/
|
|
43
|
+
export function parseReportsCatalog(html, knownResources = []) {
|
|
44
|
+
try {
|
|
45
|
+
if (!html || html.length === 0)
|
|
46
|
+
return null;
|
|
47
|
+
// Split on the per-resource divs. A resource block runs until the next one starts.
|
|
48
|
+
const blocks = [...html.matchAll(/<div id="([A-Za-z][A-Za-z0-9_]*)"\s*>([\s\S]*?)(?=<div id="[A-Za-z][A-Za-z0-9_]*"\s*>|$)/g)];
|
|
49
|
+
if (blocks.length === 0)
|
|
50
|
+
return null;
|
|
51
|
+
const parsed = [];
|
|
52
|
+
for (const [, name, body] of blocks) {
|
|
53
|
+
// The heading is what distinguishes a RESOURCE block from any other div that happens to
|
|
54
|
+
// carry an id (the page's nav, layout wrappers, etc.).
|
|
55
|
+
if (!new RegExp(`Resource\\s+${name}\\b`).test(body))
|
|
56
|
+
continue;
|
|
57
|
+
const fieldsSection = body.split(/>\s*Relations\s*</)[0];
|
|
58
|
+
const fields = [];
|
|
59
|
+
for (const [, rawName, rawDesc] of fieldsSection.matchAll(/<tr>\s*<td>([\s\S]*?)<\/td>\s*<td>([\s\S]*?)<\/td>\s*<\/tr>/g)) {
|
|
60
|
+
const fieldName = cellText(rawName);
|
|
61
|
+
// A field name has to be usable as a wire selector; the header row and any prose row
|
|
62
|
+
// are rejected by that alone.
|
|
63
|
+
if (!/^[A-Za-z][A-Za-z0-9_.]*$/.test(fieldName))
|
|
64
|
+
continue;
|
|
65
|
+
const description = cellText(rawDesc);
|
|
66
|
+
fields.push(description ? { Name: fieldName, Description: description } : { Name: fieldName });
|
|
67
|
+
}
|
|
68
|
+
if (fields.length === 0)
|
|
69
|
+
continue;
|
|
70
|
+
const relationCells = [];
|
|
71
|
+
const relIdx = body.search(/>\s*Relations\s*</);
|
|
72
|
+
if (relIdx >= 0) {
|
|
73
|
+
for (const [, cell] of body.slice(relIdx).matchAll(/<td>([\s\S]*?)<\/td>/g)) {
|
|
74
|
+
const text = cellText(cell);
|
|
75
|
+
if (/^[A-Za-z][A-Za-z0-9_]*$/.test(text))
|
|
76
|
+
relationCells.push(text);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
parsed.push({ Name: name, Fields: fields, Relations: relationCells });
|
|
80
|
+
}
|
|
81
|
+
if (parsed.length === 0)
|
|
82
|
+
return null;
|
|
83
|
+
// Relations resolve only against real resources on this same page.
|
|
84
|
+
const names = new Set(parsed.map(r => r.Name));
|
|
85
|
+
for (const r of parsed) {
|
|
86
|
+
r.Relations = [...new Set(r.Relations.filter(n => n !== r.Name && names.has(n)))].sort();
|
|
87
|
+
}
|
|
88
|
+
// THE GATE. If the page does not describe the resources we already know this vendor has,
|
|
89
|
+
// it is not the page we think it is, and every conclusion drawn from it is suspect.
|
|
90
|
+
if (knownResources.length > 0) {
|
|
91
|
+
const missing = knownResources.filter(k => !names.has(k));
|
|
92
|
+
if (missing.length > 0)
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
return parsed;
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=ReportsCatalogPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReportsCatalogPage.js","sourceRoot":"","sources":["../src/ReportsCatalogPage.ts"],"names":[],"mappings":"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"}
|