@enricai/barnacle 1.12.54 → 1.12.55
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/api/schemas/common.d.ts +28 -0
- package/dist/api/schemas/common.d.ts.map +1 -1
- package/dist/api/schemas/common.js +51 -0
- package/dist/api/schemas/common.js.map +1 -1
- package/dist/plugins/config-plugin.d.ts +8 -0
- package/dist/plugins/config-plugin.d.ts.map +1 -1
- package/dist/plugins/config-plugin.js +56 -3
- package/dist/plugins/config-plugin.js.map +1 -1
- package/dist/plugins/json-schema-to-zod.d.ts +6 -3
- package/dist/plugins/json-schema-to-zod.d.ts.map +1 -1
- package/dist/plugins/json-schema-to-zod.js +18 -6
- package/dist/plugins/json-schema-to-zod.js.map +1 -1
- package/dist/plugins/loader.d.ts.map +1 -1
- package/dist/plugins/loader.js +7 -1
- package/dist/plugins/loader.js.map +1 -1
- package/dist/recon/capture-filters.d.ts +2 -55
- package/dist/recon/capture-filters.d.ts.map +1 -1
- package/dist/recon/capture-filters.js +152 -4
- package/dist/recon/capture-filters.js.map +1 -1
- package/dist/recon/load-value-constraints.d.ts +22 -0
- package/dist/recon/load-value-constraints.d.ts.map +1 -0
- package/dist/recon/load-value-constraints.js +61 -0
- package/dist/recon/load-value-constraints.js.map +1 -0
- package/dist/recon/value-constraints.d.ts +46 -0
- package/dist/recon/value-constraints.d.ts.map +1 -0
- package/dist/recon/value-constraints.js +31 -0
- package/dist/recon/value-constraints.js.map +1 -0
- package/dist/scraper/errors.d.ts +12 -0
- package/dist/scraper/errors.d.ts.map +1 -1
- package/dist/scraper/errors.js +21 -1
- package/dist/scraper/errors.js.map +1 -1
- package/dist/scraper/flow-runner.d.ts +87 -23
- package/dist/scraper/flow-runner.d.ts.map +1 -1
- package/dist/scraper/flow-runner.js +417 -71
- package/dist/scraper/flow-runner.js.map +1 -1
- package/dist/scraper/http-client.d.ts +11 -0
- package/dist/scraper/http-client.d.ts.map +1 -1
- package/dist/scraper/http-client.js +96 -2
- package/dist/scraper/http-client.js.map +1 -1
- package/dist/scraper/phantom-click.d.ts +2 -2
- package/dist/scraper/phantom-click.d.ts.map +1 -1
- package/dist/scraper/phantom-click.js +6 -5
- package/dist/scraper/phantom-click.js.map +1 -1
- package/dist/scraper/submit-control.d.ts +11 -6
- package/dist/scraper/submit-control.d.ts.map +1 -1
- package/dist/scraper/submit-control.js +38 -7
- package/dist/scraper/submit-control.js.map +1 -1
- package/dist/scripts/recon-browser.d.ts +45 -8
- package/dist/scripts/recon-browser.d.ts.map +1 -1
- package/dist/scripts/recon-browser.js +145 -16
- package/dist/scripts/recon-browser.js.map +1 -1
- package/dist/scripts/recon-generate.d.ts +65 -4
- package/dist/scripts/recon-generate.d.ts.map +1 -1
- package/dist/scripts/recon-generate.js +387 -49
- package/dist/scripts/recon-generate.js.map +1 -1
- package/dist/site-plugin.d.ts +9 -0
- package/dist/site-plugin.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -463,8 +463,130 @@ function endpointOrigin(url) {
|
|
|
463
463
|
* timestamp, or session nonce that differs on every fire even though the
|
|
464
464
|
* fixed query is the only signal that actually identifies the endpoint —
|
|
465
465
|
* the body varies, but the response never carries anything the flow could
|
|
466
|
-
* not already derive from the request itself.
|
|
466
|
+
* not already derive from the request itself. When the response DOES carry
|
|
467
|
+
* business-looking (non-URL-derivable) values, that alone is not proof of a
|
|
468
|
+
* real endpoint either: a beacon can stamp a fresh fingerprint/session id
|
|
469
|
+
* into its own response on every fire, so this also falls back to
|
|
470
|
+
* {@link hasFreelyVaryingResponseAcrossOccurrences} — a response that varies
|
|
471
|
+
* on almost every occurrence is exactly as much noise as one that echoes the
|
|
472
|
+
* request.
|
|
473
|
+
*
|
|
474
|
+
* A candidate with NO query string at all has no key to prove "fixed" —
|
|
475
|
+
* `hasFixedKey` has nothing to key off — so it falls back to
|
|
476
|
+
* {@link hasNoBusinessRelevantResponseState}, gated by
|
|
477
|
+
* {@link MIN_QUERYLESS_REPEAT_COUNT} same-endpoint occurrences rather than the
|
|
478
|
+
* fixed-query branch's bare `>= 2`. That higher bar is what keeps a
|
|
479
|
+
* genuinely-polled own endpoint (e.g. a two-call `/health` check with no
|
|
480
|
+
* response metadata supplied) from being misread as noise: with no headers
|
|
481
|
+
* or body, {@link hasNoBusinessRelevantResponseState} itself defaults to "no
|
|
482
|
+
* business-relevant state," so query-key-less repeats need to already look
|
|
483
|
+
* densely repeated before that default is trusted.
|
|
484
|
+
*
|
|
485
|
+
* When the query-less candidate's request body is byte-identical across every
|
|
486
|
+
* occurrence, a business-looking response is trusted only if it shows SOME
|
|
487
|
+
* evidence of real state: either it varies almost every call
|
|
488
|
+
* ({@link hasFreelyVaryingResponseAcrossOccurrences}) or it never varies at
|
|
489
|
+
* all ({@link hasNoObservedResponseVariance}) both read as noise, because
|
|
490
|
+
* neither demonstrates the bounded, repeats-dominate cycling (e.g. a boolean
|
|
491
|
+
* flipping between two values) a genuinely-polled own endpoint produces.
|
|
492
|
+
*
|
|
493
|
+
* When the request body varies across occurrences (unlike the fixed-query
|
|
494
|
+
* branch, which only needs the query key fixed), the missing-metadata
|
|
495
|
+
* default is NOT trusted: a same-endpoint POST with a differing body per
|
|
496
|
+
* call (e.g. a single `/graphql` endpoint fanning out distinct operations)
|
|
497
|
+
* only reads as noise when the candidate explicitly supplies a
|
|
498
|
+
* `content-type` header — otherwise the varying body is exactly the shape a
|
|
499
|
+
* real multi-operation API produces, and treating "no metadata given" as
|
|
500
|
+
* proof of noise would drop the whole flow. Once that header is present, a
|
|
501
|
+
* business-looking response still falls back to
|
|
502
|
+
* {@link hasFreelyVaryingResponseAcrossOccurrences} for the same reason as
|
|
503
|
+
* the fixed-query branch — a same-origin widget can vary both its request
|
|
504
|
+
* body and its response payload per call and still be noise. A byte-identical
|
|
505
|
+
* body across every occurrence is unambiguous regardless of metadata, so that
|
|
506
|
+
* case still defers fully to {@link hasNoBusinessRelevantResponseState}.
|
|
507
|
+
*/
|
|
508
|
+
/**
|
|
509
|
+
* Minimum same-endpoint occurrence count required to flag a query-less
|
|
510
|
+
* candidate as noise. Higher than the fixed-query branch's bare `>= 2`
|
|
511
|
+
* because a query-less candidate has no fixed key to corroborate the match —
|
|
512
|
+
* only the repeat count itself distinguishes a densely-polled sensor from a
|
|
513
|
+
* legitimately-repeated own endpoint (a two-call `/health` check).
|
|
514
|
+
*/
|
|
515
|
+
const MIN_QUERYLESS_REPEAT_COUNT = 3;
|
|
516
|
+
/**
|
|
517
|
+
* Minimum same-endpoint occurrence count required before a business-looking
|
|
518
|
+
* response's variance (or lack of it) is trusted as a noise signal. A
|
|
519
|
+
* genuinely-polled own endpoint or a per-item drill can legitimately repeat
|
|
520
|
+
* only a handful of times (three sailings, six toggle polls) and still show
|
|
521
|
+
* per-call-varying or ever-identical response data — that shape only becomes
|
|
522
|
+
* distinguishable from a beacon-style noise widget at the sustained,
|
|
523
|
+
* page-load-driven fire counts (a dozen-plus) noise widgets actually produce.
|
|
524
|
+
* Below this count neither {@link hasFreelyVaryingResponseAcrossOccurrences}
|
|
525
|
+
* nor {@link hasNoObservedResponseVariance} is evidence of anything — a
|
|
526
|
+
* three-item drill returning three different item payloads is exactly what a
|
|
527
|
+
* real multi-item flow looks like, not noise.
|
|
528
|
+
*/
|
|
529
|
+
const MIN_DENSE_REPEAT_FOR_RESPONSE_VARIANCE_SIGNAL = 10;
|
|
530
|
+
/**
|
|
531
|
+
* True when same-endpoint occurrences carry JSON response bodies that are
|
|
532
|
+
* mostly pairwise distinct — i.e. the payload never settles back into a
|
|
533
|
+
* value it has already shown.
|
|
534
|
+
*
|
|
535
|
+
* This is what tells a genuinely-polled own endpoint (a feature-toggle feed,
|
|
536
|
+
* a health check) apart from a query-less noise widget whose response merely
|
|
537
|
+
* LOOKS like real data: both can carry non-URL-derivable JSON leaves, but a
|
|
538
|
+
* real polled endpoint cycles through a small closed set of states (a
|
|
539
|
+
* boolean flips between two values, say), so most occurrences duplicate an
|
|
540
|
+
* earlier one, while a per-load noise widget (a chat-bubble loader stamping
|
|
541
|
+
* a fresh counter/session id into its own response) produces a near-unique
|
|
542
|
+
* value on almost every occurrence. Comparing each occurrence against just
|
|
543
|
+
* the candidate's own value can't distinguish these — a two-state toggle and
|
|
544
|
+
* an ever-incrementing counter both differ from any single candidate about
|
|
545
|
+
* half the time — so this counts distinct values across ALL occurrences
|
|
546
|
+
* instead: a low-cardinality set (repeats dominate) is a real poll, a
|
|
547
|
+
* high-cardinality set (values rarely repeat) is noise. Occurrences with no
|
|
548
|
+
* response metadata supplied contribute no evidence either way, so this only
|
|
549
|
+
* fires when at least two occurrences actually carry a body to compare.
|
|
550
|
+
*/
|
|
551
|
+
function hasFreelyVaryingResponseAcrossOccurrences(sameEndpoint) {
|
|
552
|
+
const { withBody, distinctSignatures } = responseSignatureCardinality(sameEndpoint);
|
|
553
|
+
if (withBody.length < 2)
|
|
554
|
+
return false;
|
|
555
|
+
return distinctSignatures.size > withBody.length / 2;
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* Distinct JSON-response signatures observed across same-endpoint occurrences,
|
|
559
|
+
* alongside the subset that actually carried a body — the shared cardinality
|
|
560
|
+
* count {@link hasFreelyVaryingResponseAcrossOccurrences} (high-cardinality
|
|
561
|
+
* noise) and {@link hasNoObservedResponseVariance} (zero-cardinality noise)
|
|
562
|
+
* each read off, so the two "not real state" signals can't drift apart on
|
|
563
|
+
* how a signature is computed.
|
|
564
|
+
*/
|
|
565
|
+
function responseSignatureCardinality(sameEndpoint) {
|
|
566
|
+
const withBody = sameEndpoint.filter((c) => c.responseBody !== undefined);
|
|
567
|
+
return {
|
|
568
|
+
withBody,
|
|
569
|
+
distinctSignatures: new Set(withBody.map((c) => JSON.stringify(c.responseBody))),
|
|
570
|
+
};
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* True when every same-endpoint occurrence that carried a response body
|
|
574
|
+
* carried the SAME body — i.e. the response never once demonstrated a
|
|
575
|
+
* second state. A genuinely-polled own endpoint with real closed-set state
|
|
576
|
+
* (a toggle that flips between two values) shows at least one differing
|
|
577
|
+
* occurrence somewhere in the archive; a query-less noise widget that
|
|
578
|
+
* happens to have been captured returning one static, business-looking-but-
|
|
579
|
+
* non-URL-derivable value for the whole archived session shows none. This is
|
|
580
|
+
* the query-less-only counterpart to {@link hasFreelyVaryingResponseAcrossOccurrences}:
|
|
581
|
+
* that one catches a widget whose value changes almost every call, this one
|
|
582
|
+
* catches the opposite extreme — a widget whose value never changes at all —
|
|
583
|
+
* neither of which is evidence of the bounded, repeats-dominate cycling a
|
|
584
|
+
* real closed-set poll produces.
|
|
467
585
|
*/
|
|
586
|
+
function hasNoObservedResponseVariance(sameEndpoint) {
|
|
587
|
+
const { withBody, distinctSignatures } = responseSignatureCardinality(sameEndpoint);
|
|
588
|
+
return withBody.length >= 2 && distinctSignatures.size <= 1;
|
|
589
|
+
}
|
|
468
590
|
function isZeroVarianceRepeatCapture(candidate, allCaptures) {
|
|
469
591
|
let candidateUrl;
|
|
470
592
|
try {
|
|
@@ -477,9 +599,29 @@ function isZeroVarianceRepeatCapture(candidate, allCaptures) {
|
|
|
477
599
|
if (candidateEndpoint === null)
|
|
478
600
|
return false;
|
|
479
601
|
const candidateKeys = [...candidateUrl.searchParams.keys()];
|
|
480
|
-
if (candidateKeys.length === 0)
|
|
481
|
-
return false;
|
|
482
602
|
const sameEndpoint = allCaptures.filter((c) => c.method === candidate.method && endpointOrigin(c.url) === candidateEndpoint);
|
|
603
|
+
if (candidateKeys.length === 0) {
|
|
604
|
+
if (sameEndpoint.length < MIN_QUERYLESS_REPEAT_COUNT)
|
|
605
|
+
return false;
|
|
606
|
+
const queryLessBodyIdentical = sameEndpoint.every((c) => c.requestPostData === candidate.requestPostData);
|
|
607
|
+
if (queryLessBodyIdentical) {
|
|
608
|
+
if (hasNoBusinessRelevantResponseState(candidate))
|
|
609
|
+
return true;
|
|
610
|
+
if (sameEndpoint.length < MIN_DENSE_REPEAT_FOR_RESPONSE_VARIANCE_SIGNAL)
|
|
611
|
+
return false;
|
|
612
|
+
if (hasFreelyVaryingResponseAcrossOccurrences(sameEndpoint))
|
|
613
|
+
return true;
|
|
614
|
+
return hasNoObservedResponseVariance(sameEndpoint);
|
|
615
|
+
}
|
|
616
|
+
const hasExplicitContentType = Object.keys(candidate.responseHeaders ?? {}).some((key) => key.toLowerCase() === "content-type");
|
|
617
|
+
if (!hasExplicitContentType)
|
|
618
|
+
return false;
|
|
619
|
+
if (hasNoBusinessRelevantResponseState(candidate))
|
|
620
|
+
return true;
|
|
621
|
+
if (sameEndpoint.length < MIN_DENSE_REPEAT_FOR_RESPONSE_VARIANCE_SIGNAL)
|
|
622
|
+
return false;
|
|
623
|
+
return hasFreelyVaryingResponseAcrossOccurrences(sameEndpoint);
|
|
624
|
+
}
|
|
483
625
|
if (sameEndpoint.length < 2)
|
|
484
626
|
return false;
|
|
485
627
|
const sameEndpointUrls = sameEndpoint
|
|
@@ -500,7 +642,13 @@ function isZeroVarianceRepeatCapture(candidate, allCaptures) {
|
|
|
500
642
|
if (!hasFixedKey)
|
|
501
643
|
return false;
|
|
502
644
|
const bodyIdentical = sameEndpoint.every((c) => c.requestPostData === candidate.requestPostData);
|
|
503
|
-
|
|
645
|
+
if (bodyIdentical)
|
|
646
|
+
return true;
|
|
647
|
+
if (hasNoBusinessRelevantResponseState(candidate))
|
|
648
|
+
return true;
|
|
649
|
+
if (sameEndpoint.length < MIN_DENSE_REPEAT_FOR_RESPONSE_VARIANCE_SIGNAL)
|
|
650
|
+
return false;
|
|
651
|
+
return hasFreelyVaryingResponseAcrossOccurrences(sameEndpoint);
|
|
504
652
|
}
|
|
505
653
|
/**
|
|
506
654
|
* True when `hostname` is allowed as a fixture host: an exact match against
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture-filters.js","sourceRoot":"","sources":["../../src/recon/capture-filters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"capture-filters.js","sourceRoot":"","sources":["../../src/recon/capture-filters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Engine-internal loader for `--value-constraints`. Like {@link @/recon/load-vocabulary},
|
|
3
|
+
* deliberately NOT in the package's `exports` map: consumers author a value-constraints
|
|
4
|
+
* module against the `./recon/value-constraints` type contract, and only `recon-generate`
|
|
5
|
+
* ever loads one. Exporting this would publish an import-time side effect (dynamic
|
|
6
|
+
* `import()` of arbitrary consumer code) as public API for no caller.
|
|
7
|
+
*/
|
|
8
|
+
import { type ReconValueConstraints } from "./value-constraints";
|
|
9
|
+
/** The `--value-constraints` value that opts a site out of declaring any. */
|
|
10
|
+
export declare const VALUE_CONSTRAINTS_NONE = "none";
|
|
11
|
+
/**
|
|
12
|
+
* Loads a consumer's value-constraints module.
|
|
13
|
+
*
|
|
14
|
+
* Resolution reuses {@link resolvePluginSpecifier}, so `--value-constraints` accepts
|
|
15
|
+
* the same specifier forms as `BARNACLE_PLUGINS`, `--vocabulary`, and `--form-schema`.
|
|
16
|
+
* Export resolution matches the plugin loader's `m.valueConstraints ?? m.default ?? m`.
|
|
17
|
+
*
|
|
18
|
+
* Throws rather than falling back: constraints that were asked for and are broken
|
|
19
|
+
* are an error, while asking for none is the caller's explicit `none`.
|
|
20
|
+
*/
|
|
21
|
+
export declare function loadReconValueConstraints(specifier: string, baseDir: string): Promise<ReconValueConstraints>;
|
|
22
|
+
//# sourceMappingURL=load-value-constraints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-value-constraints.d.ts","sourceRoot":"","sources":["../../src/recon/load-value-constraints.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAA2B,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEhG,6EAA6E;AAC7E,eAAO,MAAM,sBAAsB,SAAS,CAAC;AA4B7C;;;;;;;;;GASG;AACH,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC,CAehC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Engine-internal loader for `--value-constraints`. Like {@link @/recon/load-vocabulary},
|
|
4
|
+
* deliberately NOT in the package's `exports` map: consumers author a value-constraints
|
|
5
|
+
* module against the `./recon/value-constraints` type contract, and only `recon-generate`
|
|
6
|
+
* ever loads one. Exporting this would publish an import-time side effect (dynamic
|
|
7
|
+
* `import()` of arbitrary consumer code) as public API for no caller.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.VALUE_CONSTRAINTS_NONE = void 0;
|
|
11
|
+
exports.loadReconValueConstraints = loadReconValueConstraints;
|
|
12
|
+
const v4_1 = require("zod/v4");
|
|
13
|
+
const errors_1 = require("../lib/errors");
|
|
14
|
+
const discover_1 = require("../plugins/discover");
|
|
15
|
+
const value_constraints_1 = require("./value-constraints");
|
|
16
|
+
/** The `--value-constraints` value that opts a site out of declaring any. */
|
|
17
|
+
exports.VALUE_CONSTRAINTS_NONE = "none";
|
|
18
|
+
/** Matches the emitter's identifier rule: a field name is spliced into source as
|
|
19
|
+
* `payload.<name>` in the generator's extendFields map, so anything else emits a
|
|
20
|
+
* broken plugin that still generates. */
|
|
21
|
+
const payloadFieldNameSchema = v4_1.z
|
|
22
|
+
.string()
|
|
23
|
+
.regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/, "must be a valid JS identifier to splice into generated code");
|
|
24
|
+
const fieldConstraintSchema = v4_1.z
|
|
25
|
+
.object({
|
|
26
|
+
enumValues: v4_1.z.array(v4_1.z.string()).optional(),
|
|
27
|
+
min: v4_1.z.number().optional(),
|
|
28
|
+
max: v4_1.z.number().optional(),
|
|
29
|
+
})
|
|
30
|
+
.refine((v) => v.min === undefined || v.max === undefined || v.min <= v.max, {
|
|
31
|
+
message: "min must not be greater than max",
|
|
32
|
+
});
|
|
33
|
+
/**
|
|
34
|
+
* Validates the shape at the boundary so a malformed declaration fails at generate
|
|
35
|
+
* time with a field path, rather than silently emitting an unconstrained schema.
|
|
36
|
+
*/
|
|
37
|
+
const valueConstraintsSchema = v4_1.z.record(payloadFieldNameSchema, fieldConstraintSchema);
|
|
38
|
+
/**
|
|
39
|
+
* Loads a consumer's value-constraints module.
|
|
40
|
+
*
|
|
41
|
+
* Resolution reuses {@link resolvePluginSpecifier}, so `--value-constraints` accepts
|
|
42
|
+
* the same specifier forms as `BARNACLE_PLUGINS`, `--vocabulary`, and `--form-schema`.
|
|
43
|
+
* Export resolution matches the plugin loader's `m.valueConstraints ?? m.default ?? m`.
|
|
44
|
+
*
|
|
45
|
+
* Throws rather than falling back: constraints that were asked for and are broken
|
|
46
|
+
* are an error, while asking for none is the caller's explicit `none`.
|
|
47
|
+
*/
|
|
48
|
+
async function loadReconValueConstraints(specifier, baseDir) {
|
|
49
|
+
if (specifier === exports.VALUE_CONSTRAINTS_NONE)
|
|
50
|
+
return value_constraints_1.EMPTY_VALUE_CONSTRAINTS;
|
|
51
|
+
const href = (0, discover_1.resolvePluginSpecifier)(specifier, baseDir);
|
|
52
|
+
const mod = await import(href);
|
|
53
|
+
const record = mod;
|
|
54
|
+
const raw = record.valueConstraints ?? record.default ?? mod;
|
|
55
|
+
const parsed = valueConstraintsSchema.safeParse(raw);
|
|
56
|
+
if (!parsed.success) {
|
|
57
|
+
throw new Error(`value-constraints module ${JSON.stringify(specifier)} does not export a valid ReconValueConstraints: ${(0, errors_1.toErrorMessage)(parsed.error)}`);
|
|
58
|
+
}
|
|
59
|
+
return parsed.data;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=load-value-constraints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-value-constraints.js","sourceRoot":"","sources":["../../src/recon/load-value-constraints.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;AAEH,+BAA2B;AAE3B,yCAA8C;AAC9C,iDAA4D;AAC5D,iEAAgG;AAEhG,6EAA6E;AAChE,QAAA,sBAAsB,GAAG,MAAM,CAAC;AAE7C;;yCAEyC;AACzC,MAAM,sBAAsB,GAAG,MAAC;KAC7B,MAAM,EAAE;KACR,KAAK,CACJ,4BAA4B,EAC5B,6DAA6D,CAC9D,CAAC;AAEJ,MAAM,qBAAqB,GAAG,MAAC;KAC5B,MAAM,CAAC;IACN,UAAU,EAAE,MAAC,CAAC,KAAK,CAAC,MAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,GAAG,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3B,CAAC;KACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE;IAC3E,OAAO,EAAE,kCAAkC;CAC5C,CAAC,CAAC;AAEL;;;GAGG;AACH,MAAM,sBAAsB,GAAG,MAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,qBAAqB,CAAC,CAAC;AAEvF;;;;;;;;;GASG;AACI,KAAK,oCACV,SAAiB,EACjB,OAAe;IAEf,IAAI,SAAS,KAAK,QAAA,sBAAsB;QAAE,OAAO,2CAAuB,CAAC;IAEzE,MAAM,IAAI,GAAG,IAAA,iCAAsB,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,GAAG,GAAY,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,GAA8B,CAAC;IAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC;IAE7D,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,4BAA4B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,mDAAmD,IAAA,uBAAc,EAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACvI,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consumer-supplied value constraints that name real domain limits the
|
|
3
|
+
* generator's own captured responses never expose a shape for.
|
|
4
|
+
*
|
|
5
|
+
* A sibling to {@link @/recon/vocabulary} and {@link @/recon/form-schema}: a
|
|
6
|
+
* vocabulary matches instruction prose and a form-schema matches response
|
|
7
|
+
* wire keys, this names a domain fact — a field's true enum or numeric
|
|
8
|
+
* ceiling — that no same-run response leaf carries a max/capacity/limit-shaped
|
|
9
|
+
* signal for. Published at `@enricai/barnacle/recon/value-constraints`; all
|
|
10
|
+
* imports are type-only so there are zero runtime side effects.
|
|
11
|
+
*
|
|
12
|
+
* Why this exists: the generator infers request facet values and
|
|
13
|
+
* quantity/capacity limits by shape alone, from whatever a captured response
|
|
14
|
+
* happens to carry. That works when a response leaf actually exposes the
|
|
15
|
+
* ceiling (e.g. a listing's `availableUnits`), but plenty of real constraints
|
|
16
|
+
* — a venue's true seating capacity, a fixed set of valid tier codes — exist
|
|
17
|
+
* only as domain knowledge the site never echoes back in any observed
|
|
18
|
+
* response. Absent this escape hatch the generator has no way to learn them
|
|
19
|
+
* and either guesses unboundedly or not at all. A consumer that knows the
|
|
20
|
+
* real constraint declares it here; the generator prefers a declared
|
|
21
|
+
* constraint over its own shape-only inference wherever one is present.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Per-field value constraints, keyed by payload field name.
|
|
25
|
+
*
|
|
26
|
+
* Each entry is optional in isolation: a field may declare only an enum, only
|
|
27
|
+
* a range, or both. Absence of a key means the generator falls back to its
|
|
28
|
+
* existing shape-only inference for that field — this type only ever
|
|
29
|
+
* narrows, never replaces, the engine's default behavior.
|
|
30
|
+
*/
|
|
31
|
+
export interface ReconValueConstraints {
|
|
32
|
+
[payloadFieldName: string]: {
|
|
33
|
+
/** The closed set of legal values for this field, if one exists. */
|
|
34
|
+
enumValues?: readonly string[];
|
|
35
|
+
/** The field's true lower bound, if the domain fixes one. */
|
|
36
|
+
min?: number;
|
|
37
|
+
/** The field's true upper bound (e.g. a resource's real capacity), if the domain fixes one. */
|
|
38
|
+
max?: number;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The empty constraint set, for consumers whose fields carry no domain
|
|
43
|
+
* ceiling the generator's own shape-only inference cannot already recover.
|
|
44
|
+
*/
|
|
45
|
+
export declare const EMPTY_VALUE_CONSTRAINTS: ReconValueConstraints;
|
|
46
|
+
//# sourceMappingURL=value-constraints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value-constraints.d.ts","sourceRoot":"","sources":["../../src/recon/value-constraints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,CAAC,gBAAgB,EAAE,MAAM,GAAG;QAC1B,oEAAoE;QACpE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC/B,6DAA6D;QAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,+FAA+F;QAC/F,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,qBAA0B,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Consumer-supplied value constraints that name real domain limits the
|
|
4
|
+
* generator's own captured responses never expose a shape for.
|
|
5
|
+
*
|
|
6
|
+
* A sibling to {@link @/recon/vocabulary} and {@link @/recon/form-schema}: a
|
|
7
|
+
* vocabulary matches instruction prose and a form-schema matches response
|
|
8
|
+
* wire keys, this names a domain fact — a field's true enum or numeric
|
|
9
|
+
* ceiling — that no same-run response leaf carries a max/capacity/limit-shaped
|
|
10
|
+
* signal for. Published at `@enricai/barnacle/recon/value-constraints`; all
|
|
11
|
+
* imports are type-only so there are zero runtime side effects.
|
|
12
|
+
*
|
|
13
|
+
* Why this exists: the generator infers request facet values and
|
|
14
|
+
* quantity/capacity limits by shape alone, from whatever a captured response
|
|
15
|
+
* happens to carry. That works when a response leaf actually exposes the
|
|
16
|
+
* ceiling (e.g. a listing's `availableUnits`), but plenty of real constraints
|
|
17
|
+
* — a venue's true seating capacity, a fixed set of valid tier codes — exist
|
|
18
|
+
* only as domain knowledge the site never echoes back in any observed
|
|
19
|
+
* response. Absent this escape hatch the generator has no way to learn them
|
|
20
|
+
* and either guesses unboundedly or not at all. A consumer that knows the
|
|
21
|
+
* real constraint declares it here; the generator prefers a declared
|
|
22
|
+
* constraint over its own shape-only inference wherever one is present.
|
|
23
|
+
*/
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.EMPTY_VALUE_CONSTRAINTS = void 0;
|
|
26
|
+
/**
|
|
27
|
+
* The empty constraint set, for consumers whose fields carry no domain
|
|
28
|
+
* ceiling the generator's own shape-only inference cannot already recover.
|
|
29
|
+
*/
|
|
30
|
+
exports.EMPTY_VALUE_CONSTRAINTS = {};
|
|
31
|
+
//# sourceMappingURL=value-constraints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value-constraints.js","sourceRoot":"","sources":["../../src/recon/value-constraints.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAqBH;;;GAGG;AACU,QAAA,uBAAuB,GAA0B,EAAE,CAAC"}
|
package/dist/scraper/errors.d.ts
CHANGED
|
@@ -211,6 +211,18 @@ export declare class HttpRateLimitError extends ScraperError {
|
|
|
211
211
|
}
|
|
212
212
|
/** Cross-realm-safe replacement for `err instanceof HttpRateLimitError`. See {@link isCaptchaError} for why this exists. */
|
|
213
213
|
export declare function isHttpRateLimitError(err: unknown): err is HttpRateLimitError;
|
|
214
|
+
/**
|
|
215
|
+
* The direct-HTTP hot path received a non-2xx, non-5xx response outside the
|
|
216
|
+
* specifically classified statuses (401/403/429). Covers 404/400/422/etc —
|
|
217
|
+
* deterministic client-side failures the target will never resolve on retry,
|
|
218
|
+
* so it is classified before the body is even parsed as JSON.
|
|
219
|
+
*/
|
|
220
|
+
export declare class HttpClientError extends ScraperError {
|
|
221
|
+
readonly status: number;
|
|
222
|
+
constructor(status: number, message?: string);
|
|
223
|
+
}
|
|
224
|
+
/** Cross-realm-safe replacement for `err instanceof HttpClientError`. See {@link isCaptchaError} for why this exists. */
|
|
225
|
+
export declare function isHttpClientError(err: unknown): err is HttpClientError;
|
|
214
226
|
/**
|
|
215
227
|
* A backend has locked the requested URL — a terminal "come back later" signal a
|
|
216
228
|
* plugin raises (e.g. via `classifyResponseBody`) when the target refuses the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/scraper/errors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/scraper/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/scraper/errors.js
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* and the diagnostic it represents.
|
|
14
14
|
*/
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.EmailStepExtractError = exports.EmailStepInboxUnavailableError = exports.MissingFormMapKeyError = exports.BrowserbaseSessionCreateRateLimitError = exports.HttpUrlLockedError = exports.HttpRateLimitError = exports.HttpServerError = exports.HttpBotChallengeError = exports.HttpSchemaError = exports.StepVerificationError = exports.UnknownScraperError = exports.CdpTransportClosedError = exports.SessionTimeoutError = exports.SelectorFailureError = exports.EmptyResultsError = exports.CaptchaSolverUnavailableError = exports.CaptchaError = exports.ScraperError = void 0;
|
|
16
|
+
exports.EmailStepExtractError = exports.EmailStepInboxUnavailableError = exports.MissingFormMapKeyError = exports.BrowserbaseSessionCreateRateLimitError = exports.HttpUrlLockedError = exports.HttpClientError = exports.HttpRateLimitError = exports.HttpServerError = exports.HttpBotChallengeError = exports.HttpSchemaError = exports.StepVerificationError = exports.UnknownScraperError = exports.CdpTransportClosedError = exports.SessionTimeoutError = exports.SelectorFailureError = exports.EmptyResultsError = exports.CaptchaSolverUnavailableError = exports.CaptchaError = exports.ScraperError = void 0;
|
|
17
17
|
exports.isCaptchaError = isCaptchaError;
|
|
18
18
|
exports.isCaptchaSolverUnavailableError = isCaptchaSolverUnavailableError;
|
|
19
19
|
exports.isEmptyResultsError = isEmptyResultsError;
|
|
@@ -22,6 +22,7 @@ exports.isHttpSchemaError = isHttpSchemaError;
|
|
|
22
22
|
exports.isHttpBotChallengeError = isHttpBotChallengeError;
|
|
23
23
|
exports.isHttpServerError = isHttpServerError;
|
|
24
24
|
exports.isHttpRateLimitError = isHttpRateLimitError;
|
|
25
|
+
exports.isHttpClientError = isHttpClientError;
|
|
25
26
|
exports.isHttpUrlLockedError = isHttpUrlLockedError;
|
|
26
27
|
exports.isBrowserbaseSessionCreateRateLimitError = isBrowserbaseSessionCreateRateLimitError;
|
|
27
28
|
exports.isEmailStepInboxUnavailableError = isEmailStepInboxUnavailableError;
|
|
@@ -289,6 +290,24 @@ exports.HttpRateLimitError = HttpRateLimitError;
|
|
|
289
290
|
function isHttpRateLimitError(err) {
|
|
290
291
|
return (err instanceof HttpRateLimitError || (err instanceof Error && err.name === "HttpRateLimitError"));
|
|
291
292
|
}
|
|
293
|
+
/**
|
|
294
|
+
* The direct-HTTP hot path received a non-2xx, non-5xx response outside the
|
|
295
|
+
* specifically classified statuses (401/403/429). Covers 404/400/422/etc —
|
|
296
|
+
* deterministic client-side failures the target will never resolve on retry,
|
|
297
|
+
* so it is classified before the body is even parsed as JSON.
|
|
298
|
+
*/
|
|
299
|
+
class HttpClientError extends ScraperError {
|
|
300
|
+
status;
|
|
301
|
+
constructor(status, message = `http ${status} client error`) {
|
|
302
|
+
super(message, false);
|
|
303
|
+
this.status = status;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
exports.HttpClientError = HttpClientError;
|
|
307
|
+
/** Cross-realm-safe replacement for `err instanceof HttpClientError`. See {@link isCaptchaError} for why this exists. */
|
|
308
|
+
function isHttpClientError(err) {
|
|
309
|
+
return err instanceof HttpClientError || (err instanceof Error && err.name === "HttpClientError");
|
|
310
|
+
}
|
|
292
311
|
/**
|
|
293
312
|
* A backend has locked the requested URL — a terminal "come back later" signal a
|
|
294
313
|
* plugin raises (e.g. via `classifyResponseBody`) when the target refuses the
|
|
@@ -415,6 +434,7 @@ const SCRAPER_ERROR_NAMES = new Set([
|
|
|
415
434
|
"HttpSchemaError",
|
|
416
435
|
"HttpBotChallengeError",
|
|
417
436
|
"HttpServerError",
|
|
437
|
+
"HttpClientError",
|
|
418
438
|
"HttpRateLimitError",
|
|
419
439
|
"HttpUrlLockedError",
|
|
420
440
|
"BrowserbaseSessionCreateRateLimitError",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/scraper/errors.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/scraper/errors.ts"],"names":[],"mappings":"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"}
|