@enricai/barnacle 1.12.20 → 1.12.22
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/scripts/recon-generate-multicall-fixture.d.ts +190 -0
- package/dist/scripts/recon-generate-multicall-fixture.d.ts.map +1 -1
- package/dist/scripts/recon-generate-multicall-fixture.js +503 -2
- package/dist/scripts/recon-generate-multicall-fixture.js.map +1 -1
- package/dist/scripts/recon-generate.d.ts +71 -27
- package/dist/scripts/recon-generate.d.ts.map +1 -1
- package/dist/scripts/recon-generate.js +644 -55
- package/dist/scripts/recon-generate.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { FoldReturnSpec } from "../scripts/recon-generate";
|
|
1
2
|
import type { Capture } from "../scripts/recon-shared";
|
|
2
3
|
/** Structural match of recon-generate.ts's internal (unexported) `ActionStep` —
|
|
3
4
|
* `capture`/`varName`/`produces`/`isMultipart`/`isCrossDomain`, per
|
|
@@ -17,6 +18,8 @@ export declare function buildCapture(overrides: {
|
|
|
17
18
|
responseBody: unknown;
|
|
18
19
|
timestamp: string;
|
|
19
20
|
requestHeaders?: Record<string, string>;
|
|
21
|
+
responseHeaders?: Record<string, string>;
|
|
22
|
+
method?: string;
|
|
20
23
|
}): Capture;
|
|
21
24
|
export declare function buildStep(varName: string, overrides: {
|
|
22
25
|
url: string;
|
|
@@ -24,6 +27,8 @@ export declare function buildStep(varName: string, overrides: {
|
|
|
24
27
|
responseBody: unknown;
|
|
25
28
|
timestamp: string;
|
|
26
29
|
requestHeaders?: Record<string, string>;
|
|
30
|
+
responseHeaders?: Record<string, string>;
|
|
31
|
+
method?: string;
|
|
27
32
|
}): MulticallFixtureStep;
|
|
28
33
|
/**
|
|
29
34
|
* Reproduces a listings-fixture G1/G2 recon capture set: a
|
|
@@ -399,6 +404,30 @@ export declare function buildMulticallSingleShotSearchDrillDownChainedDependentM
|
|
|
399
404
|
* chain's TERMINAL (history) response, not the drill step's own `prices[]`.
|
|
400
405
|
*/
|
|
401
406
|
export declare function buildMulticallSingleShotSearchDrillDownChainedDependentActionSteps(): MulticallFixtureStep[];
|
|
407
|
+
/**
|
|
408
|
+
* A response-header sibling of {@link buildMulticallSingleShotSearchDrillDownChainedDependentActionSteps}:
|
|
409
|
+
* the drill step's (`r1`) response mints its join token (`tok-a1`) ONLY in a
|
|
410
|
+
* custom response HEADER (`X-Price-Token`) — its body is empty, unlike the
|
|
411
|
+
* sibling's `priceToken` body field. A third step (`r2`) threads that header
|
|
412
|
+
* value into its own request body and carries the real per-item `history[]`
|
|
413
|
+
* array. `computeFoldChain`'s `dependsOnChain` check must walk `r1`'s
|
|
414
|
+
* response headers (not just its body) to see the shared value, extending
|
|
415
|
+
* the chain to `[drillStepIndex, historyStepIndex]` rather than stopping at
|
|
416
|
+
* `r1`.
|
|
417
|
+
*/
|
|
418
|
+
export declare function buildMulticallSingleShotSearchDrillDownHeaderMintedChainedResponseValueActionSteps(): MulticallFixtureStep[];
|
|
419
|
+
/**
|
|
420
|
+
* A boolean-threading sibling of {@link buildMulticallSingleShotSearchDrillDownChainedDependentActionSteps}:
|
|
421
|
+
* the drill step's (`r1`) response mints ONLY a boolean value
|
|
422
|
+
* (`{ verified: true }`) and carries no array of its own — unlike the
|
|
423
|
+
* `priceToken`/`prices[]` sibling, this drill step is NOT foldable in
|
|
424
|
+
* isolation. A third step (`r2`) threads that boolean (rendered as the
|
|
425
|
+
* string `"true"`) into its request and carries the real per-item
|
|
426
|
+
* `history[]` array in its response. `computeFoldChain` must recognize the
|
|
427
|
+
* boolean leaf as a genuine chain-dependency source and extend the chain to
|
|
428
|
+
* `[drillStepIndex, historyStepIndex]` rather than stopping at `r1`.
|
|
429
|
+
*/
|
|
430
|
+
export declare function buildMulticallSingleShotSearchDrillDownBooleanChainedResponseValueActionSteps(): MulticallFixtureStep[];
|
|
402
431
|
/**
|
|
403
432
|
* A nested-join-key sibling of {@link buildMulticallSingleShotSearchDrillDownChainedDependentActionSteps}:
|
|
404
433
|
* each primary `results[]` item carries its join key under a nested
|
|
@@ -538,6 +567,39 @@ export declare function buildMulticallSingleShotSearchDrillDownArrayWrappedChain
|
|
|
538
567
|
* reproduces identically whether or not the terminal body is array-wrapped.
|
|
539
568
|
*/
|
|
540
569
|
export declare function buildMulticallSingleShotSearchDrillDownArrayWrappedNumericChainedJoinFieldActionSteps(): MulticallFixtureStep[];
|
|
570
|
+
/**
|
|
571
|
+
* A sibling of
|
|
572
|
+
* {@link buildMulticallSingleShotSearchDrillDownArrayWrappedNumericChainedJoinFieldActionSteps}
|
|
573
|
+
* isolating a DIFFERENT gap in the numeric chain-produced join field family:
|
|
574
|
+
* `r1`'s produced token is a bare (non-array-wrapped) JSON number, and — the
|
|
575
|
+
* shape that matters here — it is SHORT (`42`/`43`, two digits) rather than
|
|
576
|
+
* an 8-digit token. `indexStateValues` gates every candidate state value on
|
|
577
|
+
* `MIN_STATE_VALUE_LENGTH` (8 chars), a threshold sized to keep an unrelated
|
|
578
|
+
* short STRING (an enum code, a page number) from colliding with arbitrary
|
|
579
|
+
* substrings elsewhere; applied uniformly to a bare NUMBER's stringified
|
|
580
|
+
* length, it also silently excludes a short numeric id/token — exactly the
|
|
581
|
+
* common shape for an order/account/status id — from ever being indexed as
|
|
582
|
+
* producible state. Without that index entry, `compileActionSteps` never
|
|
583
|
+
* emits a `produces[]` accessor for `r1`'s response, so `r2`'s templated
|
|
584
|
+
* body has nothing to substitute and falls back to treating `{"token":...}`
|
|
585
|
+
* as an opaque caller-supplied payload field (`payload.token`) instead of
|
|
586
|
+
* the per-item threaded value — every iteration would send whatever (or
|
|
587
|
+
* nothing) the caller passed, not each primary item's own token.
|
|
588
|
+
*/
|
|
589
|
+
export declare function buildMulticallSingleShotSearchDrillDownShortNumericChainedJoinFieldActionSteps(): MulticallFixtureStep[];
|
|
590
|
+
/**
|
|
591
|
+
* Cookie-origin sibling of
|
|
592
|
+
* {@link buildMulticallSingleShotSearchDrillDownShortNumericChainedJoinFieldActionSteps}:
|
|
593
|
+
* here `r1` mints the short chain-produced token (`tok1`, under
|
|
594
|
+
* `MIN_STATE_VALUE_LENGTH`) via `Set-Cookie` rather than the response body,
|
|
595
|
+
* AND echoes the same value in its response body (the "body-level echo" that
|
|
596
|
+
* lets {@link collectDependentDrillDownChainValues} confirm the cookie value
|
|
597
|
+
* is chain-produced, exactly as a body-sourced token would be). `r2` threads
|
|
598
|
+
* `tok1` back via its request body. Exercises `indexStateValues`' Set-Cookie
|
|
599
|
+
* branch's `chainForceIncludeValues`/`forceIncludeValues` exemption, mirroring
|
|
600
|
+
* the body-value floor exemption.
|
|
601
|
+
*/
|
|
602
|
+
export declare function buildMulticallSingleShotSearchDrillDownShortCookieChainedJoinFieldActionSteps(): MulticallFixtureStep[];
|
|
541
603
|
/**
|
|
542
604
|
* A different sibling of the same array-wrapped-join-field failure family:
|
|
543
605
|
* here it's the IMMEDIATE drill step (`r1`), not a later chain hop, whose
|
|
@@ -564,4 +626,132 @@ export declare function buildMulticallSingleShotSearchDrillDownArrayWrappedImmed
|
|
|
564
626
|
* for the fold-loop's later per-item `parameterize` pass.
|
|
565
627
|
*/
|
|
566
628
|
export declare function buildMulticallSingleShotSearchDrillDownArrayWrappedNumericImmediateJoinFieldActionSteps(): MulticallFixtureStep[];
|
|
629
|
+
/**
|
|
630
|
+
* Same array-wrapped-immediate-join-field shape as
|
|
631
|
+
* {@link buildMulticallSingleShotSearchDrillDownArrayWrappedNumericImmediateJoinFieldActionSteps},
|
|
632
|
+
* but the primary item's join field is a bare JSON BOOLEAN (`flag: true`)
|
|
633
|
+
* rather than a number or string. `walkStringLeaves` (used by the spare
|
|
634
|
+
* check in `applyStructuredValuePayloadSubstitutions`) silently skips
|
|
635
|
+
* boolean leaves the same way it skips number leaves, so a boolean join
|
|
636
|
+
* value wrapped in `{"flags":[true]}` was frozen into an opaque
|
|
637
|
+
* `${JSON.stringify(payload.flags)}` blob instead of being spared for the
|
|
638
|
+
* fold-loop's later per-item `parameterize` pass.
|
|
639
|
+
*/
|
|
640
|
+
export declare function buildMulticallSingleShotSearchDrillDownArrayWrappedBooleanImmediateJoinFieldActionSteps(): MulticallFixtureStep[];
|
|
641
|
+
/**
|
|
642
|
+
* A dependent (chained) drill-down whose join key is threaded ONLY through a
|
|
643
|
+
* request HEADER (`API-Token`) on the chain's ENTRY hop (`r1`) — invisible to
|
|
644
|
+
* `detectDrillDownFoldPlan`'s structural heuristic exactly like
|
|
645
|
+
* {@link buildMulticallSingleShotSearchDrillDownHeaderThreadedJoinActionSteps}
|
|
646
|
+
* — so only a flow-declared `foldReturn` can resolve this fold at all. Unlike
|
|
647
|
+
* every existing header-threaded-join fixture, though, a site author writing
|
|
648
|
+
* that `foldReturn` naturally points `endpointPattern` at `r2`
|
|
649
|
+
* (`/accounts/transactions`) — the call whose OWN response actually carries
|
|
650
|
+
* the per-item data (`transactions[]`) they want folded — not at `r1`
|
|
651
|
+
* (`/accounts/status`), the opaque intermediate hop that merely carries the
|
|
652
|
+
* `accountId`→`API-Token` header thread onward as a `statusToken`. `r2`'s own
|
|
653
|
+
* request only ever carries that threaded `statusToken`, never `accountId`
|
|
654
|
+
* in any form (body, URL, or header) — the join key is resolvable only by
|
|
655
|
+
* walking back to `r1`, exactly the way `computeFoldChain` already walks
|
|
656
|
+
* FORWARD from a resolved entry hop to a richer terminal. `resultsPath`
|
|
657
|
+
* anchors on `accounts`, `joinFields` on `accountId`.
|
|
658
|
+
*/
|
|
659
|
+
export declare function buildMulticallSingleShotSearchDrillDownHeaderThreadedJoinChainedDependentActionSteps(): MulticallFixtureStep[];
|
|
660
|
+
/**
|
|
661
|
+
* A dependent (chained) drill-down whose ENTRY hop (`r1`) is a `GET`
|
|
662
|
+
* request — not the `POST` every other chained-dependent fixture in this
|
|
663
|
+
* file uses — and whose response produces the chain's join value
|
|
664
|
+
* (`statusToken`) as a non-UUID string. `indexStateValues` indexes a `GET`
|
|
665
|
+
* capture's response leaves ONLY when they are UUID-shaped
|
|
666
|
+
* (`isGet && !UUID_REGEX.test(value)` skips everything else, a filter aimed
|
|
667
|
+
* at excluding noisy short non-UUID strings a GET-only telemetry/schema
|
|
668
|
+
* fetch surfaces); that filter runs unconditionally, with no exemption for a
|
|
669
|
+
* value `collectDependentDrillDownChainValues` has already confirmed is
|
|
670
|
+
* threaded from this exact hop into a later chain hop's own request — unlike
|
|
671
|
+
* the `MIN_STATE_VALUE_LENGTH` floor a few lines above it, which DOES carry
|
|
672
|
+
* that exemption. So a chain-produced token minted by a GET response is
|
|
673
|
+
* never indexed as producible state at all, `compileActionSteps` never
|
|
674
|
+
* emits a `produces[]` accessor for it, and `r2`'s templated body has
|
|
675
|
+
* nothing to substitute — every iteration renders the literal string
|
|
676
|
+
* `"undefined"` instead of threading each primary item's own token.
|
|
677
|
+
*/
|
|
678
|
+
export declare function buildMulticallSingleShotSearchDrillDownGetEntryHopChainedDependentActionSteps(): MulticallFixtureStep[];
|
|
679
|
+
/**
|
|
680
|
+
* A response-header sibling of {@link buildMulticallSingleShotSearchDrillDownGetEntryHopChainedDependentActionSteps}:
|
|
681
|
+
* the chain's drill hop (`r1`) mints its join token (`tok-a1`) ONLY in a
|
|
682
|
+
* custom response HEADER (`X-Price-Token`) — its body is empty ({}), unlike
|
|
683
|
+
* {@link buildMulticallSingleShotSearchDrillDownHeaderMintedChainedResponseValueActionSteps}'s
|
|
684
|
+
* body-echo-free sibling, which threads the header value forward via the
|
|
685
|
+
* request BODY. Here the terminal hop (`r2`) instead threads that value back
|
|
686
|
+
* as a REQUEST HEADER of its own (also named `X-Price-Token`) — the only
|
|
687
|
+
* shape `createHttpClient`'s `bind` option can actually thread a
|
|
688
|
+
* header-origin value into, since the emitted response variable never
|
|
689
|
+
* exposes response headers to the rest of the generated code. Exercises
|
|
690
|
+
* `compileActionSteps`' non-cookie response-header produce block: without it,
|
|
691
|
+
* `tok-a1` is never captured into a `produces[]`/`bind` entry at all, and
|
|
692
|
+
* `r2`'s per-item call goes out with no `X-Price-Token` header, so the
|
|
693
|
+
* terminal `history[]` fold silently collapses to whichever primary item the
|
|
694
|
+
* stub happens to answer first instead of each item's own token.
|
|
695
|
+
*/
|
|
696
|
+
export declare function buildMulticallSingleShotSearchDrillDownResponseHeaderThreadedJoinChainedDependentActionSteps(): MulticallFixtureStep[];
|
|
697
|
+
/**
|
|
698
|
+
* The declared `foldReturn` matching {@link buildFoldReturnScalableActionSequence}'s
|
|
699
|
+
* lone real primary/drill-down pair. The join value is threaded only through
|
|
700
|
+
* a request HEADER (never the URL or body), mirroring the header-threaded
|
|
701
|
+
* fixtures used elsewhere in this module — `detectDrillDownFoldPlan`'s
|
|
702
|
+
* structural heuristic never scans headers, so resolving this pair is only
|
|
703
|
+
* reachable through `buildFoldPlanFromSpec`, the exact code path the
|
|
704
|
+
* incident's large-capture-set hang was traced to.
|
|
705
|
+
*/
|
|
706
|
+
export declare const FOLD_RETURN_SCALABLE_SPEC: FoldReturnSpec;
|
|
707
|
+
/**
|
|
708
|
+
* Generates `n` {@link MulticallFixtureStep} entries reproducing the reported
|
|
709
|
+
* incident's shape at any scale: a large capture set dominated by noise
|
|
710
|
+
* candidates, with exactly one primary/drill-down pair that actually
|
|
711
|
+
* satisfies {@link FOLD_RETURN_SCALABLE_SPEC}. The real primary is placed
|
|
712
|
+
* first and the real drill-down last, so every noise step sits between them
|
|
713
|
+
* and `buildFoldPlanFromSpec`'s primary×drill scan has to walk the full
|
|
714
|
+
* candidate set to find the one true match — the same "one eligible pair
|
|
715
|
+
* buried among many candidates" shape the incident's 2000+-capture run hit.
|
|
716
|
+
*
|
|
717
|
+
* Noise steps alternate between two shapes that are each independently
|
|
718
|
+
* eligible for one side of the scan without ever completing a match:
|
|
719
|
+
* - a "noise primary" re-hitting the same search endpoint with its own
|
|
720
|
+
* unique `sku`, so `objectItemsAtPath` treats it as a valid primary
|
|
721
|
+
* candidate at every even noise slot;
|
|
722
|
+
* - a "noise drill" re-hitting the same pricing endpoint (so it passes
|
|
723
|
+
* `compileFoldReturnEndpointMatcher`) with its own unique, non-matching
|
|
724
|
+
* `X-Item-Sku` header, so every real primary/noise-drill and noise-
|
|
725
|
+
* primary/real-drill combination is scanned and rejected.
|
|
726
|
+
*
|
|
727
|
+
* Since no noise step's join value ever matches another step's, none of
|
|
728
|
+
* them can complete a fold — `resolveFoldPlan` still returns exactly the one
|
|
729
|
+
* plan for the real pair, regardless of how large `n` is.
|
|
730
|
+
*/
|
|
731
|
+
export declare function buildFoldReturnScalableActionSequence(n: number): MulticallFixtureStep[];
|
|
732
|
+
/**
|
|
733
|
+
* A wildcard-`resultsPath` sibling of {@link FOLD_RETURN_SCALABLE_SPEC}: the
|
|
734
|
+
* primary item lives under a single nested array-of-objects hop
|
|
735
|
+
* (`groups.*.items`) rather than a flat top-level array, exercising
|
|
736
|
+
* {@link objectItemsAtPath}'s `ARRAY_WILDCARD_SEGMENT` flatMap branch instead
|
|
737
|
+
* of its flat-path branch. Pairs with
|
|
738
|
+
* {@link buildFoldReturnWildcardScalableActionSequence}, which reproduces the
|
|
739
|
+
* same "one real pair buried among many candidates" shape as
|
|
740
|
+
* {@link buildFoldReturnScalableActionSequence} but with every primary's
|
|
741
|
+
* items nested one `groups[]` level deep.
|
|
742
|
+
*/
|
|
743
|
+
export declare const FOLD_RETURN_WILDCARD_SCALABLE_SPEC: FoldReturnSpec;
|
|
744
|
+
/**
|
|
745
|
+
* Wildcard-`resultsPath` sibling of {@link buildFoldReturnScalableActionSequence}:
|
|
746
|
+
* identical noise/real-pair shape and scale, except every primary response
|
|
747
|
+
* (real and noise alike) nests its item under a single-element `groups[]`
|
|
748
|
+
* array (`{ groups: [ { items: [...] } ] }`) instead of a flat top-level
|
|
749
|
+
* array, so `objectItemsAtPath` must resolve {@link
|
|
750
|
+
* FOLD_RETURN_WILDCARD_SCALABLE_SPEC}'s `groups.*.items` wildcard path
|
|
751
|
+
* across the full candidate set rather than a flat `resultsPath`. Proves the
|
|
752
|
+
* value-indexed pruning `buildFoldPlanFromSpec` relies on (keyed on join
|
|
753
|
+
* VALUES, not on `resultsPath` shape) stays linear at scale under the
|
|
754
|
+
* wildcard branch too.
|
|
755
|
+
*/
|
|
756
|
+
export declare function buildFoldReturnWildcardScalableActionSequence(n: number): MulticallFixtureStep[];
|
|
567
757
|
//# sourceMappingURL=recon-generate-multicall-fixture.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recon-generate-multicall-fixture.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-generate-multicall-fixture.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recon-generate-multicall-fixture.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-generate-multicall-fixture.ts"],"names":[],"mappings":"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"}
|