@enricai/barnacle 1.12.4 → 1.12.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/recon/form-schema.d.ts +1 -1
- package/dist/recon/form-schema.js +1 -1
- package/dist/recon/vocabulary.d.ts +3 -3
- package/dist/recon/vocabulary.js +2 -2
- package/dist/scraper/flow-runner.d.ts +23 -0
- package/dist/scraper/flow-runner.d.ts.map +1 -1
- package/dist/scraper/flow-runner.js +66 -9
- package/dist/scraper/flow-runner.js.map +1 -1
- package/dist/scraper/http-client.d.ts +1 -1
- package/dist/scripts/recon-browser.d.ts.map +1 -1
- package/dist/scripts/recon-browser.js +39 -5
- package/dist/scripts/recon-browser.js.map +1 -1
- package/dist/scripts/recon-generate-multicall-fixture.d.ts +7 -7
- package/dist/scripts/recon-generate-multicall-fixture.d.ts.map +1 -1
- package/dist/scripts/recon-generate-multicall-fixture.js +15 -15
- package/dist/scripts/recon-generate-multicall-fixture.js.map +1 -1
- package/dist/scripts/recon-generate.d.ts +3 -3
- package/dist/scripts/recon-generate.js +6 -6
- package/dist/scripts/recon-generate.js.map +1 -1
- package/package.json +1 -1
|
@@ -106,7 +106,7 @@ function resolveStepPayloadField(instruction, explicit, forceNone, vocabulary =
|
|
|
106
106
|
const hasQuotedConstant = /'[^']*'/.test(instruction) || /\$\{RECON_EMAIL\}/.test(instruction);
|
|
107
107
|
// A dropdown step carries no constant to replace, so a label match alone can't
|
|
108
108
|
// tell "select the test candidate's state" (the caller's data) from "select the
|
|
109
|
-
//
|
|
109
|
+
// neighborhood from the Country dropdown" (a facet that merely says Country).
|
|
110
110
|
// Requiring the subject is what keeps this from mis-firing off-domain.
|
|
111
111
|
const isDropdownStep = /\bdropdown\b/i.test(instruction) || /\bselect\b[^.]*\bfrom\b/i.test(instruction);
|
|
112
112
|
const hasSpliceable = hasQuotedConstant || (isDropdownStep && vocabulary.subject.test(instruction));
|
|
@@ -180,7 +180,7 @@ function extractStepPersonaValue(instruction, env) {
|
|
|
180
180
|
*
|
|
181
181
|
* Scoped to Fill/Enter/Type by design. Those name the field label FIRST and a
|
|
182
182
|
* quoted caller VALUE last, so a label→field claim is safe. Select/Choose name
|
|
183
|
-
* the ANSWER first and often only a facet second ("select the
|
|
183
|
+
* the ANSWER first and often only a facet second ("select the neighborhood
|
|
184
184
|
* from the Country dropdown") — deriving a field from the label there re-opens
|
|
185
185
|
* the exact off-domain false-splice `ReconVocabulary.subject` exists to prevent,
|
|
186
186
|
* so Select/Choose is deliberately excluded and stays vocabulary-gated.
|
|
@@ -238,8 +238,8 @@ function harvestPersonaBindings(flowSteps, vocabulary, env) {
|
|
|
238
238
|
}
|
|
239
239
|
/**
|
|
240
240
|
* How deep to infer before collapsing to z.unknown(). Deep enough to reach the
|
|
241
|
-
* fields that carry meaning on real inventory APIs — a
|
|
242
|
-
* summary sits ~11 levels down inside products[].
|
|
241
|
+
* fields that carry meaning on real inventory APIs — a listing's price
|
|
242
|
+
* summary sits ~11 levels down inside products[].buildings[].units[] —
|
|
243
243
|
* while still bounding output for pathological payloads.
|
|
244
244
|
*/
|
|
245
245
|
const DEFAULT_MAX_INFER_DEPTH = 12;
|
|
@@ -1923,7 +1923,7 @@ function indexStateValues(captures, shieldedUuids = new Set(), actionCaptureIndi
|
|
|
1923
1923
|
if (haveActionFilter && !actionCaptureIndices.has(i))
|
|
1924
1924
|
continue;
|
|
1925
1925
|
// Headers/cookies are indexed regardless of responseBody presence — a
|
|
1926
|
-
// token-mint call like
|
|
1926
|
+
// token-mint call like listings-fixture's `authz/private` returns `{}` and
|
|
1927
1927
|
// carries its whole payload in `Set-Cookie`.
|
|
1928
1928
|
const rawSetCookie = Object.entries(c.responseHeaders).find(([k]) => k.toLowerCase() === "set-cookie")?.[1];
|
|
1929
1929
|
if (rawSetCookie !== undefined) {
|
|
@@ -2159,7 +2159,7 @@ function compileActionSteps(actions, stateIndex) {
|
|
|
2159
2159
|
* Collects every header/cookie-origin produce across an action sequence, in
|
|
2160
2160
|
* step order — this is what `emitContractTs` renders as `createHttpClient`'s
|
|
2161
2161
|
* `bind` option so the generated `executeHttp` actually forwards a value like
|
|
2162
|
-
*
|
|
2162
|
+
* listings-fixture's `Set-Cookie: __pa=<jwt>` mint to the stateful call that 401s
|
|
2163
2163
|
* without it. Deduped by `targetHeader.toLowerCase()` + `cookieName` (HTTP
|
|
2164
2164
|
* header names are case-insensitive, and compileActionSteps derives
|
|
2165
2165
|
* `targetHeader` verbatim from observed request-header casing, so the same
|