@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.
Files changed (137) hide show
  1. package/README.md +35 -1
  2. package/dist/api/errors.d.ts.map +1 -1
  3. package/dist/api/errors.js.map +1 -1
  4. package/dist/api/helpers/envelope.js.map +1 -1
  5. package/dist/api/helpers/reply.js.map +1 -1
  6. package/dist/api/plugins/auth.d.ts.map +1 -1
  7. package/dist/api/plugins/auth.js.map +1 -1
  8. package/dist/api/plugins/error-handler.d.ts.map +1 -1
  9. package/dist/api/plugins/error-handler.js.map +1 -1
  10. package/dist/api/plugins/request-context.d.ts.map +1 -1
  11. package/dist/api/plugins/request-context.js.map +1 -1
  12. package/dist/api/routes/health.js.map +1 -1
  13. package/dist/api/routes/plugins-introspection.js.map +1 -1
  14. package/dist/api/schemas/common.d.ts +12 -12
  15. package/dist/api/schemas/common.d.ts.map +1 -1
  16. package/dist/api/schemas/common.js.map +1 -1
  17. package/dist/cache/keyed-ttl-cache.js.map +1 -1
  18. package/dist/cache/response-cache.js.map +1 -1
  19. package/dist/config.js.map +1 -1
  20. package/dist/lib/applicant-payload.d.ts +3 -3
  21. package/dist/lib/bedrock.js.map +1 -1
  22. package/dist/lib/case-insensitive-headers.js.map +1 -1
  23. package/dist/lib/chromium-client-hints.js.map +1 -1
  24. package/dist/lib/cookie-value.js.map +1 -1
  25. package/dist/lib/datadog.js.map +1 -1
  26. package/dist/lib/dd-metrics.js.map +1 -1
  27. package/dist/lib/dispatch-metrics.d.ts.map +1 -1
  28. package/dist/lib/dispatch-metrics.js.map +1 -1
  29. package/dist/lib/env.js.map +1 -1
  30. package/dist/lib/errors.js.map +1 -1
  31. package/dist/lib/http.js.map +1 -1
  32. package/dist/lib/llm/anthropic-client.js.map +1 -1
  33. package/dist/lib/llm/judge.js.map +1 -1
  34. package/dist/lib/llm/judges/error-messages.js.map +1 -1
  35. package/dist/lib/llm/judges/invalid-fields.js.map +1 -1
  36. package/dist/lib/llm/judges/modal-priority.js.map +1 -1
  37. package/dist/lib/llm/judges/select-option.js.map +1 -1
  38. package/dist/lib/llm/judges/verify-submit.js.map +1 -1
  39. package/dist/lib/llm/schemas.d.ts +7 -7
  40. package/dist/lib/llm/schemas.js.map +1 -1
  41. package/dist/lib/logging.js.map +1 -1
  42. package/dist/lib/multipart.js.map +1 -1
  43. package/dist/lib/option-matcher.js.map +1 -1
  44. package/dist/lib/phone.js.map +1 -1
  45. package/dist/lib/random.js.map +1 -1
  46. package/dist/lib/statsd.js.map +1 -1
  47. package/dist/lib/telemetry/call-capture.d.ts +6 -6
  48. package/dist/lib/telemetry/call-capture.js.map +1 -1
  49. package/dist/lib/telemetry/run-state.js.map +1 -1
  50. package/dist/lib/telemetry/s3-sink.js.map +1 -1
  51. package/dist/lib/telemetry/submission-capture.js.map +1 -1
  52. package/dist/lib/telemetry/telemetry-paths.js.map +1 -1
  53. package/dist/lib/tracking-click.d.ts.map +1 -1
  54. package/dist/lib/tracking-click.js +5 -1
  55. package/dist/lib/tracking-click.js.map +1 -1
  56. package/dist/lib/url-capture.js.map +1 -1
  57. package/dist/lib/us-states.js.map +1 -1
  58. package/dist/lib/zod-multipart.js.map +1 -1
  59. package/dist/plugins/config-plugin.d.ts +1 -0
  60. package/dist/plugins/config-plugin.d.ts.map +1 -1
  61. package/dist/plugins/config-plugin.js +4 -0
  62. package/dist/plugins/config-plugin.js.map +1 -1
  63. package/dist/plugins/discover.d.ts.map +1 -1
  64. package/dist/plugins/discover.js +1 -0
  65. package/dist/plugins/discover.js.map +1 -1
  66. package/dist/plugins/json-schema-to-zod.d.ts.map +1 -1
  67. package/dist/plugins/json-schema-to-zod.js.map +1 -1
  68. package/dist/plugins/loader.d.ts.map +1 -1
  69. package/dist/plugins/loader.js +12 -2
  70. package/dist/plugins/loader.js.map +1 -1
  71. package/dist/recon/load-vocabulary.d.ts +24 -0
  72. package/dist/recon/load-vocabulary.d.ts.map +1 -0
  73. package/dist/recon/load-vocabulary.js +71 -0
  74. package/dist/recon/load-vocabulary.js.map +1 -0
  75. package/dist/recon/vocabulary.d.ts +62 -0
  76. package/dist/recon/vocabulary.d.ts.map +1 -0
  77. package/dist/recon/vocabulary.js +34 -0
  78. package/dist/recon/vocabulary.js.map +1 -0
  79. package/dist/scraper/behavioral-signals.js.map +1 -1
  80. package/dist/scraper/errors.d.ts.map +1 -1
  81. package/dist/scraper/errors.js.map +1 -1
  82. package/dist/scraper/fixtures.js.map +1 -1
  83. package/dist/scraper/flow-runner.js.map +1 -1
  84. package/dist/scraper/graphql-client.js.map +1 -1
  85. package/dist/scraper/http-client.js.map +1 -1
  86. package/dist/scraper/http-status-classifier.js.map +1 -1
  87. package/dist/scraper/metrics.js.map +1 -1
  88. package/dist/scraper/navigate.js.map +1 -1
  89. package/dist/scraper/oracle-sentinels.js.map +1 -1
  90. package/dist/scraper/parse-json-response.js.map +1 -1
  91. package/dist/scraper/pool.d.ts +2 -3
  92. package/dist/scraper/pool.d.ts.map +1 -1
  93. package/dist/scraper/pool.js.map +1 -1
  94. package/dist/scraper/rate-limited-json-client.js.map +1 -1
  95. package/dist/scraper/raw-fetch.js.map +1 -1
  96. package/dist/scraper/require-response-field.js.map +1 -1
  97. package/dist/scraper/retry.js.map +1 -1
  98. package/dist/scraper/session-browserbase.d.ts +6 -10
  99. package/dist/scraper/session-browserbase.d.ts.map +1 -1
  100. package/dist/scraper/session-browserbase.js +7 -6
  101. package/dist/scraper/session-browserbase.js.map +1 -1
  102. package/dist/scraper/session-shared.d.ts +16 -0
  103. package/dist/scraper/session-shared.d.ts.map +1 -1
  104. package/dist/scraper/session-shared.js.map +1 -1
  105. package/dist/scraper/session-steel.js.map +1 -1
  106. package/dist/scraper/session-warmup.js.map +1 -1
  107. package/dist/scraper/session.d.ts +6 -6
  108. package/dist/scraper/session.d.ts.map +1 -1
  109. package/dist/scraper/session.js +7 -1
  110. package/dist/scraper/session.js.map +1 -1
  111. package/dist/scraper/stagehand-guard.d.ts.map +1 -1
  112. package/dist/scraper/stagehand-guard.js.map +1 -1
  113. package/dist/scraper/throttle.js.map +1 -1
  114. package/dist/scripts/judge-llm-batch.js.map +1 -1
  115. package/dist/scripts/llm-heal.js.map +1 -1
  116. package/dist/scripts/migrate-telemetry-dir-names.js.map +1 -1
  117. package/dist/scripts/recon-browser.js.map +1 -1
  118. package/dist/scripts/recon-generate.d.ts +6 -1
  119. package/dist/scripts/recon-generate.d.ts.map +1 -1
  120. package/dist/scripts/recon-generate.js +108 -55
  121. package/dist/scripts/recon-generate.js.map +1 -1
  122. package/dist/scripts/recon-heal.js.map +1 -1
  123. package/dist/scripts/recon-shared.js.map +1 -1
  124. package/dist/server.js.map +1 -1
  125. package/dist/site-plugin.d.ts +7 -0
  126. package/dist/site-plugin.d.ts.map +1 -1
  127. package/dist/testing/batch-email-confirmation.js.map +1 -1
  128. package/dist/testing/batch-report.js.map +1 -1
  129. package/dist/testing/integration-runner.js.map +1 -1
  130. package/dist/testing/mock-fetch-response.js.map +1 -1
  131. package/dist/testing/persona-fixture.d.ts.map +1 -1
  132. package/dist/testing/resume-fixture.js.map +1 -1
  133. package/dist/testmail/client.js.map +1 -1
  134. package/dist/testmail/errors.d.ts.map +1 -1
  135. package/dist/testmail/errors.js.map +1 -1
  136. package/dist/types/dispatch-metrics.d.ts +2 -2
  137. 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;;AASH,8DAYC;AAjBD;;;;GAIG;AACI,KAAK,UAAU,yBAAyB,CAAC,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
+ {"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;gBAEvB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;CAKhD;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,YAAY;gBAChC,OAAO,SAAkC;CAGtD;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,YAAY;gBACrC,OAAO,SAA+B;CAGnD;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,YAAY;gBACxC,OAAO,SAA6B;CAGjD;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;gBACvC,OAAO,SAA8B;CAGlD;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;gBACvC,OAAO,SAA4B;CAGhD;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;gBAEvC,OAAO,SAA2D,EAClE,IAAI,GAAE,yBAA+C;CAKxD;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,YAAY;gBACnC,OAAO,SAAkC;CAGtD;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;gBACzC,OAAO,SAAwC;CAG5D;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,YAAY;gBACnC,OAAO,SAA0B;CAG9C;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;gBACtC,OAAO,SAAiC;CAGrD;AAED;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;gBACtC,OAAO,SAAmD;CAGvE;AAED;;;;;;;GAOG;AACH,qBAAa,uBAAwB,SAAQ,YAAY;gBAC3C,OAAO,SAAiD;CAGrE;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;gBACb,WAAW,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM;CAK5D"}
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":"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"}
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;;AAoBH,kCA0BC;AA5CD,qCAAuC;AACvC,yCAAoC;AAIpC;;;;;;;;;;;;GAYG;AACH,SAAgB,WAAW,CAAI,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"}
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"}