@enricai/barnacle 1.3.1 → 1.4.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.
- package/README.md +35 -1
- package/dist/api/errors.d.ts.map +1 -1
- package/dist/api/errors.js.map +1 -1
- package/dist/api/helpers/envelope.js.map +1 -1
- package/dist/api/helpers/reply.js.map +1 -1
- package/dist/api/plugins/auth.d.ts.map +1 -1
- package/dist/api/plugins/auth.js.map +1 -1
- package/dist/api/plugins/error-handler.d.ts.map +1 -1
- package/dist/api/plugins/error-handler.js.map +1 -1
- package/dist/api/plugins/request-context.d.ts.map +1 -1
- package/dist/api/plugins/request-context.js.map +1 -1
- package/dist/api/routes/health.js.map +1 -1
- package/dist/api/routes/plugins-introspection.js.map +1 -1
- package/dist/api/schemas/common.d.ts +12 -12
- package/dist/api/schemas/common.d.ts.map +1 -1
- package/dist/api/schemas/common.js.map +1 -1
- package/dist/cache/keyed-ttl-cache.js.map +1 -1
- package/dist/cache/response-cache.js.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/lib/applicant-payload.d.ts +3 -3
- package/dist/lib/bedrock.js.map +1 -1
- package/dist/lib/case-insensitive-headers.js.map +1 -1
- package/dist/lib/chromium-client-hints.js.map +1 -1
- package/dist/lib/cookie-value.js.map +1 -1
- package/dist/lib/datadog.js.map +1 -1
- package/dist/lib/dd-metrics.js.map +1 -1
- package/dist/lib/dispatch-metrics.d.ts.map +1 -1
- package/dist/lib/dispatch-metrics.js.map +1 -1
- package/dist/lib/env.js.map +1 -1
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/http.js.map +1 -1
- package/dist/lib/llm/anthropic-client.js.map +1 -1
- package/dist/lib/llm/judge.js.map +1 -1
- package/dist/lib/llm/judges/error-messages.js.map +1 -1
- package/dist/lib/llm/judges/invalid-fields.js.map +1 -1
- package/dist/lib/llm/judges/modal-priority.js.map +1 -1
- package/dist/lib/llm/judges/select-option.js.map +1 -1
- package/dist/lib/llm/judges/verify-submit.js.map +1 -1
- package/dist/lib/llm/schemas.d.ts +7 -7
- package/dist/lib/llm/schemas.js.map +1 -1
- package/dist/lib/logging.js.map +1 -1
- package/dist/lib/multipart.js.map +1 -1
- package/dist/lib/option-matcher.js.map +1 -1
- package/dist/lib/phone.js.map +1 -1
- package/dist/lib/random.js.map +1 -1
- package/dist/lib/statsd.js.map +1 -1
- package/dist/lib/telemetry/call-capture.d.ts +6 -6
- package/dist/lib/telemetry/call-capture.js.map +1 -1
- package/dist/lib/telemetry/run-state.js.map +1 -1
- package/dist/lib/telemetry/s3-sink.js.map +1 -1
- package/dist/lib/telemetry/submission-capture.js.map +1 -1
- package/dist/lib/telemetry/telemetry-paths.js.map +1 -1
- package/dist/lib/tracking-click.d.ts.map +1 -1
- package/dist/lib/tracking-click.js +5 -1
- package/dist/lib/tracking-click.js.map +1 -1
- package/dist/lib/url-capture.js.map +1 -1
- package/dist/lib/us-states.js.map +1 -1
- package/dist/lib/zod-multipart.js.map +1 -1
- package/dist/plugins/config-plugin.d.ts +1 -0
- package/dist/plugins/config-plugin.d.ts.map +1 -1
- package/dist/plugins/config-plugin.js +4 -0
- package/dist/plugins/config-plugin.js.map +1 -1
- package/dist/plugins/discover.d.ts.map +1 -1
- package/dist/plugins/discover.js +1 -0
- package/dist/plugins/discover.js.map +1 -1
- package/dist/plugins/json-schema-to-zod.d.ts.map +1 -1
- 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 +12 -2
- package/dist/plugins/loader.js.map +1 -1
- package/dist/recon/load-vocabulary.d.ts +24 -0
- package/dist/recon/load-vocabulary.d.ts.map +1 -0
- package/dist/recon/load-vocabulary.js +71 -0
- package/dist/recon/load-vocabulary.js.map +1 -0
- package/dist/recon/vocabulary.d.ts +62 -0
- package/dist/recon/vocabulary.d.ts.map +1 -0
- package/dist/recon/vocabulary.js +34 -0
- package/dist/recon/vocabulary.js.map +1 -0
- package/dist/scraper/behavioral-signals.js.map +1 -1
- package/dist/scraper/errors.d.ts.map +1 -1
- package/dist/scraper/errors.js.map +1 -1
- package/dist/scraper/fixtures.js.map +1 -1
- package/dist/scraper/flow-runner.js.map +1 -1
- package/dist/scraper/graphql-client.js.map +1 -1
- package/dist/scraper/http-client.js.map +1 -1
- package/dist/scraper/http-status-classifier.js.map +1 -1
- package/dist/scraper/metrics.js.map +1 -1
- package/dist/scraper/navigate.js.map +1 -1
- package/dist/scraper/oracle-sentinels.js.map +1 -1
- package/dist/scraper/parse-json-response.js.map +1 -1
- package/dist/scraper/pool.d.ts +2 -3
- package/dist/scraper/pool.d.ts.map +1 -1
- package/dist/scraper/pool.js.map +1 -1
- package/dist/scraper/rate-limited-json-client.js.map +1 -1
- package/dist/scraper/raw-fetch.js.map +1 -1
- package/dist/scraper/require-response-field.js.map +1 -1
- package/dist/scraper/retry.js.map +1 -1
- package/dist/scraper/session-browserbase.d.ts +6 -10
- package/dist/scraper/session-browserbase.d.ts.map +1 -1
- package/dist/scraper/session-browserbase.js +7 -6
- package/dist/scraper/session-browserbase.js.map +1 -1
- package/dist/scraper/session-shared.d.ts +16 -0
- package/dist/scraper/session-shared.d.ts.map +1 -1
- package/dist/scraper/session-shared.js.map +1 -1
- package/dist/scraper/session-steel.js.map +1 -1
- package/dist/scraper/session-warmup.js.map +1 -1
- package/dist/scraper/session.d.ts +6 -6
- package/dist/scraper/session.d.ts.map +1 -1
- package/dist/scraper/session.js +7 -1
- package/dist/scraper/session.js.map +1 -1
- package/dist/scraper/stagehand-guard.d.ts.map +1 -1
- package/dist/scraper/stagehand-guard.js.map +1 -1
- package/dist/scraper/throttle.js.map +1 -1
- package/dist/scripts/judge-llm-batch.js.map +1 -1
- package/dist/scripts/llm-heal.js.map +1 -1
- package/dist/scripts/migrate-telemetry-dir-names.js.map +1 -1
- package/dist/scripts/recon-browser.js.map +1 -1
- package/dist/scripts/recon-generate.d.ts +6 -1
- package/dist/scripts/recon-generate.d.ts.map +1 -1
- package/dist/scripts/recon-generate.js +108 -55
- package/dist/scripts/recon-generate.js.map +1 -1
- package/dist/scripts/recon-heal.js.map +1 -1
- package/dist/scripts/recon-shared.js.map +1 -1
- package/dist/server.js.map +1 -1
- package/dist/site-plugin.d.ts +7 -0
- package/dist/site-plugin.d.ts.map +1 -1
- package/dist/testing/batch-email-confirmation.js.map +1 -1
- package/dist/testing/batch-report.js.map +1 -1
- package/dist/testing/integration-runner.js.map +1 -1
- package/dist/testing/mock-fetch-response.js.map +1 -1
- package/dist/testing/persona-fixture.d.ts.map +1 -1
- package/dist/testing/resume-fixture.js.map +1 -1
- package/dist/testmail/client.js.map +1 -1
- package/dist/testmail/errors.d.ts.map +1 -1
- package/dist/testmail/errors.js.map +1 -1
- package/dist/types/dispatch-metrics.d.ts +2 -2
- package/package.json +30 -35
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Engine-internal loader for `--vocabulary`. Deliberately NOT in the package's
|
|
4
|
+
* `exports` map: consumers author a vocabulary against the `./recon/vocabulary`
|
|
5
|
+
* type contract, and only `recon-generate` ever loads one. Exporting this would
|
|
6
|
+
* publish an import-time side effect (dynamic `import()` of arbitrary consumer
|
|
7
|
+
* code) as public API for no caller.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.VOCABULARY_NONE = void 0;
|
|
11
|
+
exports.loadReconVocabulary = loadReconVocabulary;
|
|
12
|
+
const v4_1 = require("zod/v4");
|
|
13
|
+
const errors_1 = require("../lib/errors");
|
|
14
|
+
const discover_1 = require("../plugins/discover");
|
|
15
|
+
const vocabulary_1 = require("../recon/vocabulary");
|
|
16
|
+
/** The `--vocabulary` value that opts a site out of splicing entirely. */
|
|
17
|
+
exports.VOCABULARY_NONE = "none";
|
|
18
|
+
/**
|
|
19
|
+
* Rejects `g`/`y` regexes, which are a correctness hazard here rather than a
|
|
20
|
+
* style preference: `RegExp.prototype.test` advances `lastIndex` on a stateful
|
|
21
|
+
* regex, so the generator matches each pattern against many instructions and
|
|
22
|
+
* every other call returns false. A `/g` exclusion therefore misses half the
|
|
23
|
+
* steps it exists to protect — e.g. `[/signature/gi]` lets the applicant's real
|
|
24
|
+
* name splice into a signature field on alternate matches. Zod cannot save us
|
|
25
|
+
* downstream: it passes the RegExp through by identity, `lastIndex` included.
|
|
26
|
+
*/
|
|
27
|
+
const regexSchema = v4_1.z.custom((v) => v instanceof RegExp && !v.global && !v.sticky, {
|
|
28
|
+
message: "expected a RegExp literal without the g or y flag (they make .test() stateful)",
|
|
29
|
+
});
|
|
30
|
+
/** Mirrors the emitter's identifier rule: a field name is spliced into source as
|
|
31
|
+
* `payload.<name>` / `{{ .request.<name> }}`, so anything else emits a broken
|
|
32
|
+
* plugin that still generates and still typechecks. */
|
|
33
|
+
const payloadFieldNameSchema = v4_1.z
|
|
34
|
+
.string()
|
|
35
|
+
.regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/, "must be a valid JS identifier to splice into generated code");
|
|
36
|
+
/**
|
|
37
|
+
* Validates the shape at the boundary so a malformed preset fails at generate
|
|
38
|
+
* time with a field path, rather than silently resolving every step to null and
|
|
39
|
+
* emitting a plugin that ignores the caller's identity.
|
|
40
|
+
*/
|
|
41
|
+
const vocabularySchema = v4_1.z.object({
|
|
42
|
+
subject: regexSchema,
|
|
43
|
+
exclusions: v4_1.z.array(regexSchema),
|
|
44
|
+
table: v4_1.z.array(v4_1.z.tuple([regexSchema, payloadFieldNameSchema])),
|
|
45
|
+
});
|
|
46
|
+
/**
|
|
47
|
+
* Loads a consumer's vocabulary module.
|
|
48
|
+
*
|
|
49
|
+
* Resolution reuses {@link resolvePluginSpecifier}, so `--vocabulary` accepts the
|
|
50
|
+
* same specifier forms as `BARNACLE_PLUGINS` (relative path or package name) and
|
|
51
|
+
* consumers learn one rule instead of two. Export resolution mirrors the plugin
|
|
52
|
+
* loader's `m.vocabulary ?? m.default ?? m`, since a named-only export failing
|
|
53
|
+
* silently is a known foot-gun in this codebase.
|
|
54
|
+
*
|
|
55
|
+
* Throws rather than falling back: a vocabulary that was asked for and is broken
|
|
56
|
+
* is an error, while asking for nothing is the caller's explicit `none`.
|
|
57
|
+
*/
|
|
58
|
+
async function loadReconVocabulary(specifier, baseDir) {
|
|
59
|
+
if (specifier === exports.VOCABULARY_NONE)
|
|
60
|
+
return vocabulary_1.EMPTY_VOCABULARY;
|
|
61
|
+
const href = (0, discover_1.resolvePluginSpecifier)(specifier, baseDir);
|
|
62
|
+
const mod = await import(href);
|
|
63
|
+
const record = mod;
|
|
64
|
+
const raw = record.vocabulary ?? record.default ?? mod;
|
|
65
|
+
const parsed = vocabularySchema.safeParse(raw);
|
|
66
|
+
if (!parsed.success) {
|
|
67
|
+
throw new Error(`vocabulary module ${JSON.stringify(specifier)} does not export a valid ReconVocabulary: ${(0, errors_1.toErrorMessage)(parsed.error)}`);
|
|
68
|
+
}
|
|
69
|
+
return parsed.data;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=load-vocabulary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-vocabulary.js","sourceRoot":"","sources":["../../src/recon/load-vocabulary.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;AAEH,+BAA2B;AAE3B,yCAA8C;AAC9C,iDAA4D;AAC5D,mDAA4E;AAE5E,0EAA0E;AAC7D,QAAA,eAAe,GAAG,MAAM,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,WAAW,GAAG,MAAC,CAAC,MAAM,CAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;IACzF,OAAO,EAAE,gFAAgF;CAC1F,CAAC,CAAC;AAEH;;uDAEuD;AACvD,MAAM,sBAAsB,GAAG,MAAC;KAC7B,MAAM,EAAE;KACR,KAAK,CACJ,4BAA4B,EAC5B,6DAA6D,CAC9D,CAAC;AAEJ;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,MAAC,CAAC,MAAM,CAAC;IAChC,OAAO,EAAE,WAAW;IACpB,UAAU,EAAE,MAAC,CAAC,KAAK,CAAC,WAAW,CAAC;IAChC,KAAK,EAAE,MAAC,CAAC,KAAK,CAAC,MAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC,CAAC;CAC/D,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACI,KAAK,8BACV,SAAiB,EACjB,OAAe;IAEf,IAAI,SAAS,KAAK,QAAA,eAAe;QAAE,OAAO,6BAAgB,CAAC;IAE3D,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,UAAU,IAAI,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC;IAEvD,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,6CAA6C,IAAA,uBAAc,EAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC1H,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consumer-supplied vocabulary that teaches the generator which flow-step
|
|
3
|
+
* instructions carry the caller's data.
|
|
4
|
+
*
|
|
5
|
+
* Lives outside `src/scripts/` because it is an engine-level contract consumers
|
|
6
|
+
* implement — published at `@enricai/barnacle/recon/vocabulary` — not a script
|
|
7
|
+
* internal. Follows `site-plugin.ts`'s discipline: all imports are type-only, so
|
|
8
|
+
* there are zero runtime side effects and it is safe to import from any layer.
|
|
9
|
+
*
|
|
10
|
+
* Why this exists: deciding that "Fill in the First Name field with 'Reginald'"
|
|
11
|
+
* should splice the caller's `FirstName` is a claim about a *domain*, not about
|
|
12
|
+
* HTTP. The engine used to hardcode a recruiting table, which silently mis-fired
|
|
13
|
+
* on every other domain — a cruise site's "Select the departure port from the
|
|
14
|
+
* Country dropdown" became `${payload.Country}`. The engine cannot know what a
|
|
15
|
+
* site's forms mean, so it no longer guesses: the repo that owns the domain
|
|
16
|
+
* declares the vocabulary and passes it with `--vocabulary`.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* The domain vocabulary the generator matches flow-step instructions against.
|
|
20
|
+
*
|
|
21
|
+
* Order is load-bearing in {@link ReconVocabulary.table}: the first matching row
|
|
22
|
+
* wins, so more-specific labels must precede broader ones (`street address`
|
|
23
|
+
* before `city`). This is why the vocabulary is a JS module and not JSON — the
|
|
24
|
+
* regexes stay real regexes, the array order survives, and the whole thing is
|
|
25
|
+
* type-checked at the consumer.
|
|
26
|
+
*
|
|
27
|
+
* Every regex must be free of the `g` and `y` flags, and every table field name
|
|
28
|
+
* must be a valid JS identifier; the loader rejects both. A stateful regex would
|
|
29
|
+
* match only every other instruction (`.test()` advances `lastIndex`), and a
|
|
30
|
+
* non-identifier field name emits `payload.<name>` as a syntax error.
|
|
31
|
+
*/
|
|
32
|
+
export interface ReconVocabulary {
|
|
33
|
+
/**
|
|
34
|
+
* Matches instructions that name *whose* data fills the field (e.g. "…select
|
|
35
|
+
* the test candidate's state").
|
|
36
|
+
*
|
|
37
|
+
* This is the semantic gate, and the reason the generator stopped being wrong
|
|
38
|
+
* on non-ATS sites. A step phrased around a dropdown carries no quoted constant
|
|
39
|
+
* to replace, so a label match alone cannot tell "the candidate's state" (fill
|
|
40
|
+
* it with the caller's data) from "the departure port" (a search facet that
|
|
41
|
+
* happens to say Country). Naming the subject is what distinguishes them.
|
|
42
|
+
*/
|
|
43
|
+
subject: RegExp;
|
|
44
|
+
/**
|
|
45
|
+
* Instructions that must never splice even when a table row matches — a
|
|
46
|
+
* reference contact's name, an employment-history row, a screening question
|
|
47
|
+
* whose text happens to contain a field label. Checked before {@link table}.
|
|
48
|
+
*/
|
|
49
|
+
exclusions: RegExp[];
|
|
50
|
+
/** Ordered label→payload-field rows. First match wins. */
|
|
51
|
+
table: Array<[RegExp, string]>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* A vocabulary that matches nothing, for sites whose flows carry no caller data
|
|
55
|
+
* (read-only inventory, search, pricing).
|
|
56
|
+
*
|
|
57
|
+
* `subject` is the never-matching `/(?!)/` rather than an empty RegExp: `new
|
|
58
|
+
* RegExp("")` matches every string, which would silently re-open the exact
|
|
59
|
+
* false-splice this type exists to prevent.
|
|
60
|
+
*/
|
|
61
|
+
export declare const EMPTY_VOCABULARY: ReconVocabulary;
|
|
62
|
+
//# sourceMappingURL=vocabulary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vocabulary.d.ts","sourceRoot":"","sources":["../../src/recon/vocabulary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;OASG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,0DAA0D;IAC1D,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAI9B,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Consumer-supplied vocabulary that teaches the generator which flow-step
|
|
4
|
+
* instructions carry the caller's data.
|
|
5
|
+
*
|
|
6
|
+
* Lives outside `src/scripts/` because it is an engine-level contract consumers
|
|
7
|
+
* implement — published at `@enricai/barnacle/recon/vocabulary` — not a script
|
|
8
|
+
* internal. Follows `site-plugin.ts`'s discipline: all imports are type-only, so
|
|
9
|
+
* there are zero runtime side effects and it is safe to import from any layer.
|
|
10
|
+
*
|
|
11
|
+
* Why this exists: deciding that "Fill in the First Name field with 'Reginald'"
|
|
12
|
+
* should splice the caller's `FirstName` is a claim about a *domain*, not about
|
|
13
|
+
* HTTP. The engine used to hardcode a recruiting table, which silently mis-fired
|
|
14
|
+
* on every other domain — a cruise site's "Select the departure port from the
|
|
15
|
+
* Country dropdown" became `${payload.Country}`. The engine cannot know what a
|
|
16
|
+
* site's forms mean, so it no longer guesses: the repo that owns the domain
|
|
17
|
+
* declares the vocabulary and passes it with `--vocabulary`.
|
|
18
|
+
*/
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.EMPTY_VOCABULARY = void 0;
|
|
21
|
+
/**
|
|
22
|
+
* A vocabulary that matches nothing, for sites whose flows carry no caller data
|
|
23
|
+
* (read-only inventory, search, pricing).
|
|
24
|
+
*
|
|
25
|
+
* `subject` is the never-matching `/(?!)/` rather than an empty RegExp: `new
|
|
26
|
+
* RegExp("")` matches every string, which would silently re-open the exact
|
|
27
|
+
* false-splice this type exists to prevent.
|
|
28
|
+
*/
|
|
29
|
+
exports.EMPTY_VOCABULARY = {
|
|
30
|
+
subject: /(?!)/,
|
|
31
|
+
exclusions: [],
|
|
32
|
+
table: [],
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=vocabulary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../../src/recon/vocabulary.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAsCH;;;;;;;GAOG;AACU,QAAA,gBAAgB,GAAoB;IAC/C,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,EAAE;IACd,KAAK,EAAE,EAAE;CACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behavioral-signals.js","sourceRoot":"","sources":["../../src/scraper/behavioral-signals.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG
|
|
1
|
+
{"version":3,"file":"behavioral-signals.js","sourceRoot":"","sources":["../../src/scraper/behavioral-signals.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAIH;;;;GAIG;AACI,KAAK,oCAAoC,IAAU;IACxD,MAAM,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE;QAC7C,IAAI,EAAE,YAAY;QAClB,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG;QAC5B,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG;KAC7B,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE;QAC7C,IAAI,EAAE,YAAY;QAClB,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG;QAC5B,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG;KAC7B,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/scraper/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;GAIG;AACH,8BAAsB,YAAa,SAAQ,KAAK;IAC9C,SAAgB,SAAS,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/scraper/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;GAIG;AACH,8BAAsB,YAAa,SAAQ,KAAK;IAC9C,SAAgB,SAAS,EAAE,OAAO,CAAC;IAEnC,YAAY,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAI9C;CACF;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC5C,YAAY,OAAO,SAAkC,EAEpD;CACF;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,YAAY,OAAO,SAA+B,EAEjD;CACF;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,YAAY,OAAO,SAA6B,EAE/C;CACF;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,YAAY,OAAO,SAA8B,EAEhD;CACF;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,YAAY,OAAO,SAA4B,EAE9C;CACF;AAED,0GAA0G;AAC1G,MAAM,MAAM,yBAAyB,GACjC,mBAAmB,GACnB,cAAc,GACd,6BAA6B,GAC7B,uBAAuB,GACvB,mBAAmB,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,YACE,OAAO,SAA2D,EAClE,IAAI,GAAE,yBAA+C,EAItD;CACF;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,YAAY,OAAO,SAAkC,EAEpD;CACF;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,YAAY,OAAO,SAAwC,EAE1D;CACF;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,YAAY,OAAO,SAA0B,EAE5C;CACF;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,YAAY,OAAO,SAAiC,EAEnD;CACF;AAED;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,YAAY,OAAO,SAAmD,EAErE;CACF;AAED;;;;;;;GAOG;AACH,qBAAa,uBAAwB,SAAQ,YAAY;IACvD,YAAY,OAAO,SAAiD,EAEnE;CACF;AAED;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,KAAK,CAAC;IAChB,aAAa,EAAE,IAAI,CAAC;IACpB,aAAa,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrD,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,qBAAa,sBAAuB,SAAQ,YAAY;IACtD,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,YAAY,WAAW,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAI1D;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/scraper/errors.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAEH;;;;GAIG;AACH,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/scraper/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/scraper/fixtures.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG
|
|
1
|
+
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/scraper/fixtures.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,qCAAuC;AACvC,yCAAoC;AAIpC;;;;;;;;;;;;GAYG;AACH,qBAA+B,MAAc,EAAE,QAAgB,EAAE,MAAoB;IACnF,MAAM,WAAW,GAAG,IAAA,mBAAO,EAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACpF,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,IAAA,sBAAY,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,sBAAsB,WAAW,2DAA2D,MAAM,aAAa,QAAQ,EAAE,CAC1H,CAAC;IACJ,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,8BAA8B,WAAW,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,4BAA4B,WAAW,+CAA+C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAC5H,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
|