@enricai/barnacle 1.12.23 → 1.12.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/scraper/flow-runner.d.ts +13 -0
- package/dist/scraper/flow-runner.d.ts.map +1 -1
- package/dist/scraper/flow-runner.js +73 -2
- package/dist/scraper/flow-runner.js.map +1 -1
- package/dist/scripts/recon-generate.d.ts +14 -0
- package/dist/scripts/recon-generate.d.ts.map +1 -1
- package/dist/scripts/recon-generate.js +139 -25
- package/dist/scripts/recon-generate.js.map +1 -1
- package/package.json +1 -1
|
@@ -887,6 +887,20 @@ export declare function resolveFoldPlan<T extends {
|
|
|
887
887
|
capture: Capture;
|
|
888
888
|
isMultipart: boolean;
|
|
889
889
|
}>(actions: readonly T[], foldReturnSpec?: FoldReturnSpec | null): FoldPlan[];
|
|
890
|
+
/**
|
|
891
|
+
* The fold plans `emitContractTs` actually threads into its single-primary
|
|
892
|
+
* hot path — a multi-step flow owns its own per-item fold loop (via
|
|
893
|
+
* `emitMultiStepExecuteHttp`) instead, so this resolves to none there.
|
|
894
|
+
* Exported and shared verbatim by `emitContractTs` and the "no fold plan
|
|
895
|
+
* resolved" diagnostic in `main()` so the two can never independently decide
|
|
896
|
+
* whether a declared foldReturn actually made it into the emitted output —
|
|
897
|
+
* any future exclusion added to the single-primary hot path must be added
|
|
898
|
+
* here too, and both call sites pick it up automatically.
|
|
899
|
+
*/
|
|
900
|
+
export declare function resolveApplicableFoldPlans<T extends {
|
|
901
|
+
capture: Capture;
|
|
902
|
+
isMultipart: boolean;
|
|
903
|
+
}>(actions: readonly T[], foldReturnSpec: FoldReturnSpec | null, multiStepBody: string | undefined): FoldPlan[];
|
|
890
904
|
/**
|
|
891
905
|
* Same review-checklist items the pre-move contract.ts header used to embed,
|
|
892
906
|
* now surfaced on recon-generate's own stdout instead of the shipped file —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recon-generate.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-generate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"recon-generate.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,6 +63,7 @@ exports.collectRequestValuesIncludingHeaders = collectRequestValuesIncludingHead
|
|
|
63
63
|
exports.getFoldPlanResolutionCallCountForTests = getFoldPlanResolutionCallCountForTests;
|
|
64
64
|
exports.resetFoldPlanResolutionCallCountForTests = resetFoldPlanResolutionCallCountForTests;
|
|
65
65
|
exports.resolveFoldPlan = resolveFoldPlan;
|
|
66
|
+
exports.resolveApplicableFoldPlans = resolveApplicableFoldPlans;
|
|
66
67
|
exports.buildContractChecklist = buildContractChecklist;
|
|
67
68
|
exports.emitContractTs = emitContractTs;
|
|
68
69
|
exports.assertRequiredUrlFieldsReferenced = assertRequiredUrlFieldsReferenced;
|
|
@@ -5392,6 +5393,29 @@ function resolveSpecMatchedPrimaryItemIndex(primaryItems, joinFields, drillCaptu
|
|
|
5392
5393
|
}));
|
|
5393
5394
|
return matchedIndex === -1 ? null : matchedIndex;
|
|
5394
5395
|
}
|
|
5396
|
+
/** Like {@link resolveSpecMatchedPrimaryItemIndex}, but matches against the
|
|
5397
|
+
* drill capture's own RESPONSE instead of its request — a `foldReturn`
|
|
5398
|
+
* spec's `joinFields` names the field the AUTHOR knows the drill-down
|
|
5399
|
+
* response carries (so `emitFoldMatchAndMergeLines` can match it back onto a
|
|
5400
|
+
* primary item at runtime); it names nothing about what the drill's REQUEST
|
|
5401
|
+
* carries, which is very often a completely different per-item field (e.g. a
|
|
5402
|
+
* REST drill-down keyed by an item's `packageCode` whose response happens to
|
|
5403
|
+
* echo back that item's `id`). Tried only as a fallback, after the
|
|
5404
|
+
* request-based match, since a request-carried join value disambiguates a
|
|
5405
|
+
* drill occurrence unambiguously while a response-only match can in
|
|
5406
|
+
* principle collide across primary items with the same response shape. */
|
|
5407
|
+
function resolveSpecMatchedPrimaryItemIndexFromResponse(primaryItems, joinFields, drillCapture) {
|
|
5408
|
+
const responseValues = collectResponseLeafValues(drillCapture);
|
|
5409
|
+
if (responseValues.size === 0)
|
|
5410
|
+
return null;
|
|
5411
|
+
const matchedIndex = primaryItems.findIndex((item) => joinFields.every((field) => {
|
|
5412
|
+
const value = readValueAtPath(item, field.split("."));
|
|
5413
|
+
return ((typeof value === "string" && value.length > 0 && responseValues.has(value)) ||
|
|
5414
|
+
(typeof value === "number" && responseValues.has(String(value))) ||
|
|
5415
|
+
(typeof value === "boolean" && responseValues.has(String(value))));
|
|
5416
|
+
}));
|
|
5417
|
+
return matchedIndex === -1 ? null : matchedIndex;
|
|
5418
|
+
}
|
|
5395
5419
|
/**
|
|
5396
5420
|
* Maps every string/numeric/boolean value seen in any action's request (URL,
|
|
5397
5421
|
* body, or headers — see {@link collectRequestValuesIncludingHeaders}) to the
|
|
@@ -5578,12 +5602,6 @@ function buildFoldPlanFromSpec(actions, spec) {
|
|
|
5578
5602
|
continue;
|
|
5579
5603
|
const joinValues = collectPrimaryJoinValues(primaryItems, spec.joinFields);
|
|
5580
5604
|
const candidateEntryIndicesDescending = collectCandidateEntryIndicesDescending(requestValueIndex, joinValues, primaryStepIndex);
|
|
5581
|
-
// No action anywhere carries any of this primary's join values, so no
|
|
5582
|
-
// drillStepIndex candidate could ever resolve — skip straight to the
|
|
5583
|
-
// next primary instead of scanning this one's drill candidates (each of
|
|
5584
|
-
// which would only rediscover the same dead end).
|
|
5585
|
-
if (candidateEntryIndicesDescending.length === 0)
|
|
5586
|
-
continue;
|
|
5587
5605
|
// Cheap regex-only pass first: collects every endpointPattern-matching
|
|
5588
5606
|
// drillStepIndex without paying for the expensive backward-walk +
|
|
5589
5607
|
// computeFoldChain resolution below. Scanned from the freshest (highest)
|
|
@@ -5592,12 +5610,24 @@ function buildFoldPlanFromSpec(actions, spec) {
|
|
|
5592
5610
|
// ties in the original last-write-wins scan first, falling through to
|
|
5593
5611
|
// the next-freshest only when a candidate fails to resolve, instead of
|
|
5594
5612
|
// resolving every earlier occurrence just to have it overwritten.
|
|
5613
|
+
//
|
|
5614
|
+
// Computed even when `candidateEntryIndicesDescending` is empty (unlike
|
|
5615
|
+
// the request-based path below, which bails immediately in that case):
|
|
5616
|
+
// an endpointPattern match is a single regex test per action, O(actions)
|
|
5617
|
+
// regardless — not the O(actions)-per-candidate backward walk the
|
|
5618
|
+
// request-based prune exists to avoid — so it stays cheap even when no
|
|
5619
|
+
// request anywhere carries this primary's join values, which is exactly
|
|
5620
|
+
// the case {@link resolveSpecMatchedPrimaryItemIndexFromResponse}'s
|
|
5621
|
+
// response-only fallback below exists to resolve.
|
|
5595
5622
|
const matchingDrillStepIndices = [];
|
|
5596
5623
|
for (let drillStepIndex = primaryStepIndex + 1; drillStepIndex < actions.length; drillStepIndex++) {
|
|
5597
5624
|
if (matchesFoldReturnEndpoint(actions[drillStepIndex].capture)) {
|
|
5598
5625
|
matchingDrillStepIndices.push(drillStepIndex);
|
|
5599
5626
|
}
|
|
5600
5627
|
}
|
|
5628
|
+
if (candidateEntryIndicesDescending.length === 0 && matchingDrillStepIndices.length === 0) {
|
|
5629
|
+
continue;
|
|
5630
|
+
}
|
|
5601
5631
|
// Shared across every matching-drill candidate tried below for THIS
|
|
5602
5632
|
// primaryStepIndex — see resolveSpecMatchedPrimaryItemIndexAlongChain's
|
|
5603
5633
|
// docstring on why a fresh cache per primary (not per drill candidate)
|
|
@@ -5621,7 +5651,18 @@ function buildFoldPlanFromSpec(actions, spec) {
|
|
|
5621
5651
|
// now does (see detectDrillDownFoldPlan). Validated after the chain
|
|
5622
5652
|
// resolves, below, since `[]` is a valid empty baseline for
|
|
5623
5653
|
// computeFoldChain but not a valid final drillArrayPath on its own.
|
|
5624
|
-
const
|
|
5654
|
+
const chainMatchResult = resolveSpecMatchedPrimaryItemIndexAlongChain(actions, primaryItems, spec.joinFields, drillStepIndex, matchedItemIndexCache, candidateEntryIndicesDescending);
|
|
5655
|
+
// A request-carried join value (checked above, across this whole
|
|
5656
|
+
// primary/drill chain) disambiguates unambiguously; only fall back to
|
|
5657
|
+
// matching the drill's own RESPONSE — which never disambiguates an
|
|
5658
|
+
// upstream entry hop, only the drill step itself — when that fails.
|
|
5659
|
+
const matchResult = chainMatchResult ??
|
|
5660
|
+
(() => {
|
|
5661
|
+
const primaryMatchedItemIndex = resolveSpecMatchedPrimaryItemIndexFromResponse(primaryItems, spec.joinFields, drill.capture);
|
|
5662
|
+
return primaryMatchedItemIndex === null
|
|
5663
|
+
? null
|
|
5664
|
+
: { entryIndex: drillStepIndex, primaryMatchedItemIndex };
|
|
5665
|
+
})();
|
|
5625
5666
|
if (matchResult === null)
|
|
5626
5667
|
continue;
|
|
5627
5668
|
const { entryIndex, primaryMatchedItemIndex } = matchResult;
|
|
@@ -5697,14 +5738,26 @@ function mergeSpecPlanOntoSamePrimary(structuralPlans, actions, foldReturnSpec)
|
|
|
5697
5738
|
const samePrimaryPlan = structuralPlans.find((plan) => plan.primaryStepIndex === specPlan.primaryStepIndex &&
|
|
5698
5739
|
JSON.stringify(plan.primaryArrayPath) === JSON.stringify(specPlan.primaryArrayPath));
|
|
5699
5740
|
if (samePrimaryPlan !== undefined) {
|
|
5741
|
+
// A drillStepIndex the structural heuristic ALSO resolved keeps its
|
|
5742
|
+
// structurally-resolved chain/drillArrayPath (already proven to reach
|
|
5743
|
+
// real per-item data), but its `joinFields` is overridden to the spec's
|
|
5744
|
+
// declared value — the heuristic's own joinFields only prove a field
|
|
5745
|
+
// threads INTO the drill's REQUEST, which says nothing about whether
|
|
5746
|
+
// that same field can be found on the drill's RESPONSE to match it back
|
|
5747
|
+
// onto a primary item (see emitFoldMatchAndMergeLines). A flow author
|
|
5748
|
+
// declaring `joinFields` on a foldReturn is asserting exactly that: this
|
|
5749
|
+
// is the field their drill-down's RESPONSE actually carries.
|
|
5750
|
+
const specTargetsByDrillStepIndex = new Map(specPlan.targets.map((target) => [target.drillStepIndex, target]));
|
|
5700
5751
|
return structuralPlans.map((plan) => {
|
|
5701
5752
|
if (plan !== samePrimaryPlan)
|
|
5702
5753
|
return plan;
|
|
5754
|
+
const mergedTargets = plan.targets.map((target) => {
|
|
5755
|
+
const specTarget = specTargetsByDrillStepIndex.get(target.drillStepIndex);
|
|
5756
|
+
return specTarget === undefined ? target : { ...target, joinFields: specTarget.joinFields };
|
|
5757
|
+
});
|
|
5703
5758
|
const existingDrillStepIndexes = new Set(plan.targets.map((target) => target.drillStepIndex));
|
|
5704
5759
|
const newTargets = specPlan.targets.filter((target) => !existingDrillStepIndexes.has(target.drillStepIndex));
|
|
5705
|
-
return newTargets
|
|
5706
|
-
? plan
|
|
5707
|
-
: { ...plan, targets: [...plan.targets, ...newTargets] };
|
|
5760
|
+
return { ...plan, targets: [...mergedTargets, ...newTargets] };
|
|
5708
5761
|
});
|
|
5709
5762
|
}
|
|
5710
5763
|
// Keyed by the (primaryStepIndex, primaryArrayPath) pair, not
|
|
@@ -5824,6 +5877,19 @@ function resolveFoldPlan(actions, foldReturnSpec = null) {
|
|
|
5824
5877
|
return targets.length === 0 ? [] : [{ ...plan, targets }];
|
|
5825
5878
|
});
|
|
5826
5879
|
}
|
|
5880
|
+
/**
|
|
5881
|
+
* The fold plans `emitContractTs` actually threads into its single-primary
|
|
5882
|
+
* hot path — a multi-step flow owns its own per-item fold loop (via
|
|
5883
|
+
* `emitMultiStepExecuteHttp`) instead, so this resolves to none there.
|
|
5884
|
+
* Exported and shared verbatim by `emitContractTs` and the "no fold plan
|
|
5885
|
+
* resolved" diagnostic in `main()` so the two can never independently decide
|
|
5886
|
+
* whether a declared foldReturn actually made it into the emitted output —
|
|
5887
|
+
* any future exclusion added to the single-primary hot path must be added
|
|
5888
|
+
* here too, and both call sites pick it up automatically.
|
|
5889
|
+
*/
|
|
5890
|
+
function resolveApplicableFoldPlans(actions, foldReturnSpec, multiStepBody) {
|
|
5891
|
+
return multiStepBody ? [] : resolveFoldPlan(actions, foldReturnSpec);
|
|
5892
|
+
}
|
|
5827
5893
|
/** Rebuilds `value` with every occurrence of `target` (compared by object
|
|
5828
5894
|
* identity) replaced by `replacement`, spreading every ancestor
|
|
5829
5895
|
* array/object level so sibling fields and sibling array elements survive
|
|
@@ -5938,9 +6004,17 @@ function buildNestedSpreadOverride(base, path, leafExpr) {
|
|
|
5938
6004
|
* the observed page size on each call, stops once the response's own
|
|
5939
6005
|
* reported total is reached or `MAX_PAGES` caps it, and merges pages by the
|
|
5940
6006
|
* detected identity field rather than concatenating blindly.
|
|
6007
|
+
*
|
|
6008
|
+
* `foldMergeLines`, when non-empty, threads a resolved single-primary fold
|
|
6009
|
+
* plan (see `emitContractTs`'s `singlePrimaryFoldPlans`) additively into the
|
|
6010
|
+
* loop: it runs once, after every page has been fetched and de-duplicated
|
|
6011
|
+
* into `itemsById`, so the drill-down call/merge sees the final assembled
|
|
6012
|
+
* item set rather than only the first page's captured sample. Each merge
|
|
6013
|
+
* mutates its item in place (`Object.assign`), which is visible through
|
|
6014
|
+
* `itemsById`'s own stored references — no re-`set` needed.
|
|
5941
6015
|
*/
|
|
5942
6016
|
function buildPaginatedGqlExecuteHttpBody(opts) {
|
|
5943
|
-
const { pascal, gqlOperationNameExpr, queryConstName, gqlVariablesExpr, signal } = opts;
|
|
6017
|
+
const { pascal, gqlOperationNameExpr, queryConstName, gqlVariablesExpr, signal, foldMergeLines } = opts;
|
|
5944
6018
|
const { totalPath, arrayPath, containerPath, countKey, skipKey, pageSize, identityField } = signal;
|
|
5945
6019
|
const countKeyExpr = isValidJsIdentifier(countKey) ? countKey : JSON.stringify(countKey);
|
|
5946
6020
|
const skipKeyExpr = isValidJsIdentifier(skipKey) ? skipKey : JSON.stringify(skipKey);
|
|
@@ -5980,7 +6054,7 @@ function buildPaginatedGqlExecuteHttpBody(opts) {
|
|
|
5980
6054
|
}
|
|
5981
6055
|
skip += PAGE_SIZE;
|
|
5982
6056
|
}
|
|
5983
|
-
const truncated = itemsById.size < total;
|
|
6057
|
+
${foldMergeLines.length > 0 ? `${foldMergeLines.join("\n")}\n` : ""} const truncated = itemsById.size < total;
|
|
5984
6058
|
const withItems = ${withItemsOverrideExpr};
|
|
5985
6059
|
const data = ${withTotalOverrideExpr} as ${pascal}Response;
|
|
5986
6060
|
return { data };`;
|
|
@@ -6099,11 +6173,11 @@ function emitContractTs(opts) {
|
|
|
6099
6173
|
// single-primary read flow with a declared `foldReturn` would silently
|
|
6100
6174
|
// drop the fold feature the flow author declared (see
|
|
6101
6175
|
// recon-generate-foldreturn-regresses-primary-op-and-payload-to-ats-submission-shape.md).
|
|
6102
|
-
//
|
|
6103
|
-
//
|
|
6104
|
-
//
|
|
6105
|
-
//
|
|
6106
|
-
const singlePrimaryFoldPlans =
|
|
6176
|
+
// Also threaded additively into `paginationSignal`'s fetch loop below (see
|
|
6177
|
+
// buildPaginatedGqlExecuteHttpBody) — the fold runs against the final
|
|
6178
|
+
// assembled/de-duplicated page items, not just the first page's captured
|
|
6179
|
+
// sample, so a paginated primary is no longer excluded from folding.
|
|
6180
|
+
const singlePrimaryFoldPlans = resolveApplicableFoldPlans(actionSteps, foldReturnSpec, multiStepBody);
|
|
6107
6181
|
// A GraphQL primary with a resolved drill-down fold has no other REST
|
|
6108
6182
|
// client to issue the drill request(s) with — getGql only ever speaks
|
|
6109
6183
|
// GraphQL to the primary endpoint.
|
|
@@ -6403,8 +6477,14 @@ const httpClient = createHttpClient({ schema: ${pascal}ResponseSchema, bottlenec
|
|
|
6403
6477
|
* merge semantics. Chain hops beyond the drill step itself are rendered
|
|
6404
6478
|
* directly off each hop's own captured request (no state-threading
|
|
6405
6479
|
* pipeline) since a single-primary read flow carries no submitted payload
|
|
6406
|
-
* for those calls to reference.
|
|
6407
|
-
|
|
6480
|
+
* for those calls to reference.
|
|
6481
|
+
*
|
|
6482
|
+
* `itemsExprOverride`, when given, replaces the `dataVarName`+`primaryArrayPath`
|
|
6483
|
+
* accessor with a caller-supplied items expression — used by the paginated
|
|
6484
|
+
* GraphQL fetch loop, whose merged/de-duplicated page items already sit in
|
|
6485
|
+
* a flat runtime collection (`itemsById.values()`) rather than nested at
|
|
6486
|
+
* `primaryArrayPath` inside a single response object. */
|
|
6487
|
+
const buildFoldMergeLines = (dataVarName, itemsExprOverride) => {
|
|
6408
6488
|
const lines = [];
|
|
6409
6489
|
for (const [planIndex, foldPlan] of singlePrimaryFoldPlans.entries()) {
|
|
6410
6490
|
const primaryStep = actionSteps[foldPlan.primaryStepIndex];
|
|
@@ -6414,7 +6494,8 @@ const httpClient = createHttpClient({ schema: ${pascal}ResponseSchema, bottlenec
|
|
|
6414
6494
|
const primaryArrType = foldArrayAssertionType(foldPlan.primaryArrayPath);
|
|
6415
6495
|
const planSuffix = singlePrimaryFoldPlans.length > 1 ? String(planIndex) : "";
|
|
6416
6496
|
const foldItemsVar = `foldItems${planSuffix}`;
|
|
6417
|
-
const foldItemsExpr =
|
|
6497
|
+
const foldItemsExpr = itemsExprOverride ??
|
|
6498
|
+
pathToFoldAccessorExpr(`(${dataVarName} as ${primaryArrType})`, foldPlan.primaryArrayPath);
|
|
6418
6499
|
const itemVar = `item${planSuffix}`;
|
|
6419
6500
|
lines.push(` const ${foldItemsVar} = ${foldItemsExpr};`, ` for (const ${itemVar} of ${foldItemsVar}) {`);
|
|
6420
6501
|
for (const [targetIndex, target] of foldPlan.targets.entries()) {
|
|
@@ -6427,11 +6508,26 @@ const httpClient = createHttpClient({ schema: ${pascal}ResponseSchema, bottlenec
|
|
|
6427
6508
|
// Same word-boundary-anchored swap emitMultiStepExecuteHttp's own
|
|
6428
6509
|
// `parameterize` performs — a plain split/join would also rewrite
|
|
6429
6510
|
// unrelated substrings that happen to contain the join value.
|
|
6430
|
-
|
|
6511
|
+
//
|
|
6512
|
+
// Parameterizes off EVERY per-item field this specific chain hop's
|
|
6513
|
+
// own captured request actually varies on (via findThreadedJoinFields),
|
|
6514
|
+
// not just `target.joinFields` — `target.joinFields` names the field
|
|
6515
|
+
// used to MATCH the drill's RESPONSE back onto the primary item (see
|
|
6516
|
+
// emitFoldMatchAndMergeLines), which for a spec-declared foldReturn
|
|
6517
|
+
// can legitimately be a field the request never carries at all (e.g.
|
|
6518
|
+
// an `id` echoed only in the response, while the request is keyed by
|
|
6519
|
+
// an unrelated field like a package code). Building the URL from only
|
|
6520
|
+
// `target.joinFields` in that case would leave it unparameterized —
|
|
6521
|
+
// every item would fetch the SAME first-captured URL.
|
|
6522
|
+
const parameterizeUrl = (rawUrl, chainCapture) => {
|
|
6431
6523
|
const withBase = baseUrl.length > 0 && rawUrl.startsWith(baseUrl)
|
|
6432
6524
|
? `\${context.baseUrl}${rawUrl.slice(baseUrl.length)}`
|
|
6433
6525
|
: rawUrl;
|
|
6434
|
-
|
|
6526
|
+
const threadedFields = new Set([
|
|
6527
|
+
...target.joinFields,
|
|
6528
|
+
...findThreadedJoinFields(firstItem, chainCapture),
|
|
6529
|
+
]);
|
|
6530
|
+
return [...threadedFields].reduce((acc, field) => {
|
|
6435
6531
|
const value = readValueAtPath(firstItem, field.split("."));
|
|
6436
6532
|
const stringValue = typeof value === "string" && value.length > 0
|
|
6437
6533
|
? value
|
|
@@ -6447,7 +6543,7 @@ const httpClient = createHttpClient({ schema: ${pascal}ResponseSchema, bottlenec
|
|
|
6447
6543
|
const chainStep = actionSteps[chainIndex];
|
|
6448
6544
|
if (!chainStep)
|
|
6449
6545
|
continue;
|
|
6450
|
-
const url = parameterizeUrl(chainStep.capture.url);
|
|
6546
|
+
const url = parameterizeUrl(chainStep.capture.url, chainStep.capture);
|
|
6451
6547
|
const schemaExpr = inferZodSchema(chainStep.capture.responseBody, 0, "", {
|
|
6452
6548
|
looseServerResponse: true,
|
|
6453
6549
|
aggregateUnitBasisFindingsByPath: groupAggregateUnitBasisFindingsByPath([
|
|
@@ -6467,6 +6563,13 @@ const httpClient = createHttpClient({ schema: ${pascal}ResponseSchema, bottlenec
|
|
|
6467
6563
|
};
|
|
6468
6564
|
const dataFoldMergeLines = buildFoldMergeLines("data");
|
|
6469
6565
|
const dataFoldMergeBlock = dataFoldMergeLines.length > 0 ? `${dataFoldMergeLines.join("\n")}\n` : "";
|
|
6566
|
+
// The paginated fetch loop assembles its final page items into
|
|
6567
|
+
// `itemsById` — fold onto THAT flat, de-duplicated collection (once, after
|
|
6568
|
+
// the loop) rather than `data`/`primaryArrayPath`, so every item folded
|
|
6569
|
+
// is the final merged item across all fetched pages, not just page one's.
|
|
6570
|
+
const paginatedFoldMergeLines = paginationSignal
|
|
6571
|
+
? buildFoldMergeLines("data", "[...itemsById.values()]")
|
|
6572
|
+
: [];
|
|
6470
6573
|
const executeHttpBody = multiStepBody
|
|
6471
6574
|
? multiStepBody
|
|
6472
6575
|
: paginationSignal
|
|
@@ -6476,6 +6579,7 @@ const httpClient = createHttpClient({ schema: ${pascal}ResponseSchema, bottlenec
|
|
|
6476
6579
|
queryConstName: `${pascal.toUpperCase()}_QUERY`,
|
|
6477
6580
|
gqlVariablesExpr,
|
|
6478
6581
|
signal: paginationSignal,
|
|
6582
|
+
foldMergeLines: paginatedFoldMergeLines,
|
|
6479
6583
|
})
|
|
6480
6584
|
: gql
|
|
6481
6585
|
? ` const data = await getGql(context.baseUrl)(${gqlOperationNameExpr}, ${pascal.toUpperCase()}_QUERY, ${gqlVariablesExpr});
|
|
@@ -7555,8 +7659,18 @@ async function main() {
|
|
|
7555
7659
|
const effectiveResponseBody = selectEffectiveResponseBody(isSubmissionFlow, actionSteps, responseBody, foldReturnSpec);
|
|
7556
7660
|
// A declared foldReturn that resolves to no plan is a silent no-op otherwise
|
|
7557
7661
|
// — the flow author gets the discarding selectReturnAction path with nothing
|
|
7558
|
-
// in the output saying their declaration never applied.
|
|
7559
|
-
|
|
7662
|
+
// in the output saying their declaration never applied. A multi-step
|
|
7663
|
+
// (submission) flow applies its fold via emitMultiStepExecuteHttp's own
|
|
7664
|
+
// resolveFoldPlan call, entirely independent of resolveApplicableFoldPlans
|
|
7665
|
+
// (which exists only to gate emitContractTs's single-primary hot path, and
|
|
7666
|
+
// unconditionally reports zero plans once multiStepBody is set) — so this
|
|
7667
|
+
// diagnostic must consult the SAME resolution each path actually applies,
|
|
7668
|
+
// or it falsely reports "no fold plan resolved" for every multi-step flow
|
|
7669
|
+
// with a working foldReturn.
|
|
7670
|
+
const effectiveFoldPlanCount = multiStepBody
|
|
7671
|
+
? resolveFoldPlan(actionSteps, foldReturnSpec).length
|
|
7672
|
+
: resolveApplicableFoldPlans(actionSteps, foldReturnSpec, multiStepBody).length;
|
|
7673
|
+
if (foldReturnSpec !== null && effectiveFoldPlanCount === 0) {
|
|
7560
7674
|
logger.warn(`flow declares foldReturn (endpointPattern: ${foldReturnSpec.endpointPattern}, resultsPath: ${foldReturnSpec.resultsPath}, joinFields: ${foldReturnSpec.joinFields.join(", ")}) but no fold plan resolved — no later capture matched the endpoint pattern, resultsPath resolved to no object array, or the matched drill-down is multipart; the drill-down's response will not be folded`);
|
|
7561
7675
|
}
|
|
7562
7676
|
logger.info(`generating plugin for ${siteId} (${gql ? "GraphQL" : browserFlowOnly ? `submission flow, ${actionSteps.length} steps, browser-flow-only (cross-domain hop detected)` : isSubmissionFlow ? `submission flow, ${actionSteps.length} steps` : "single-endpoint REST"}, baseUrl: ${baseUrl})`);
|