@enricai/barnacle 1.9.5 → 1.9.7

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 CHANGED
@@ -253,24 +253,13 @@ pnpm run recon:generate -- --site-id my-site --form-schema ./src/recon/my-form-s
253
253
  - `fieldNameKeys` models two roles: the first key is a machine code (PascalCased directly), the second is a human label (run through the section-heading heuristic). Supply one key for a label-only ATS, or two for one that exposes both. Additional keys are unused.
254
254
  - Omit `--form-schema` (or pass `none`) and ATS form-key recovery does not run — the engine hardcodes no vendor's wire format. A site whose ATS exposes a form definition must supply one to recover its option fields. See issue #57.
255
255
 
256
- #### Mapping the site's screening questions
257
-
258
- If the site asks screening questions, tell the generator which payload field answers each one — the same reasoning applies, it cannot know what your site asks:
256
+ #### Filtering analytics noise
259
257
 
260
258
  | Env var | Default | Description |
261
259
  | --- | --- | --- |
262
- | `RECON_QUESTION_KEYWORDS` | `{}` | JSON object mapping a payload field name to the keywords that identify its question. A question must match **at least 2** keywords to map. |
263
260
  | `RECON_TELEMETRY_URL_PATTERNS` | *(empty)* | Comma-separated extra URL fragments to treat as analytics noise, on top of the built-in list. Put your site's trackers here. |
264
261
 
265
- ```bash
266
- RECON_QUESTION_KEYWORDS='{
267
- "VisaSponsorship": ["visa", "sponsor"],
268
- "RelatedToEmployee": ["related", "employee"],
269
- "CanPerformJobFunctions":["perform", "job functions", "duties"]
270
- }' pnpm run recon:generate -- --site-id my-site
271
- ```
272
-
273
- Any question that matches no field is **logged by prompt** rather than skipped — an unmapped required question is how a generated plugin ends up submitting nothing for it. Read those warnings and either add keywords or accept that the question goes unanswered. Malformed JSON logs a warning and is treated as empty, so a typo cannot kill a recon run mid-flight.
262
+ Screening-question answers with coded options (dropdowns) are recovered generically: when a flow step selects an answer by its label and the site's response carries the option list (JSON-Schema `enum`/`enumNames`, or `{label,value}` option objects), the generator maps the label to the wire code and emits a `z.enum` payload field, so the caller supplies the human-readable answer.
274
263
 
275
264
  Optionally generate the human-readable findings doc alongside:
276
265
 
@@ -39,6 +39,65 @@ import { type Capture } from "../scripts/recon-shared";
39
39
  * @returns the PascalCase payload field name to splice, or null to keep literal
40
40
  */
41
41
  export declare function resolveStepPayloadField(instruction: string, explicit?: string, forceNone?: boolean, vocabulary?: ReconVocabulary): string | null;
42
+ /**
43
+ * Extracts the concrete persona VALUE a flow step fills — the recon-supplied
44
+ * constant that appears verbatim in the captured request body — so the body
45
+ * emitter can bind it to `${payload.<field>}`. This is a stricter job than
46
+ * {@link buildStepInstructionExpr}'s browser-flow splice, which only needs *a*
47
+ * span to replace: here the extracted string must equal the wire value exactly,
48
+ * or the value-identity substitution silently misses.
49
+ *
50
+ * Two grammar facts, both verified against real ATS flows, drive the rule:
51
+ * 1. The possessive apostrophe in "the candidate's first name 'Reginald'"
52
+ * opens a false quote — a naive `/'[^']*'/` yields `s first name `, not
53
+ * `Reginald`. Neutralizing `\w's` → `\ws` before matching removes it.
54
+ * 2. A `Select`/`Choose` step names the ANSWER first, then the question
55
+ * ("Select 'No' for the 'sponsorship' question"), so the value is the
56
+ * FIRST quoted token; a `Fill`/`Enter`/`Type` step names the field label
57
+ * first and the value last, so it is the LAST quoted token.
58
+ * A `${RECON_EMAIL}` token (or the literal email `env` value) short-circuits to
59
+ * the env-resolved address, matching recon-browser's own env substitution.
60
+ *
61
+ * @param instruction the flow step's plain-English instruction
62
+ * @param env process env (or a stub) supplying `${VAR}` token values, e.g. RECON_EMAIL
63
+ * @returns the persona value, or null when the step carries no spliceable constant
64
+ */
65
+ export declare function extractStepPersonaValue(instruction: string, env: NodeJS.ProcessEnv): string | null;
66
+ /**
67
+ * Derives a payload field name from the field LABEL in a fill/enter/type
68
+ * instruction, for steps the consumer vocabulary does not cover.
69
+ *
70
+ * WHY: `fill in the <LABEL> field with '<VALUE>'` is self-describing — the label
71
+ * names the caller coordinate regardless of domain, so a vocabulary miss on a
72
+ * legitimate identity field (a "middle name" a recruiting vocab forgot to list)
73
+ * need not freeze the recon persona's value into every submission. This reads
74
+ * only the generic instruction grammar; it hardcodes no field or site name.
75
+ *
76
+ * Scoped to Fill/Enter/Type by design. Those name the field label FIRST and a
77
+ * quoted caller VALUE last, so a label→field claim is safe. Select/Choose name
78
+ * the ANSWER first and often only a facet second ("select the departure port
79
+ * from the Country dropdown") — deriving a field from the label there re-opens
80
+ * the exact off-domain false-splice `ReconVocabulary.subject` exists to prevent,
81
+ * so Select/Choose is deliberately excluded and stays vocabulary-gated.
82
+ *
83
+ * @param instruction the flow step's plain-English instruction
84
+ * @returns the PascalCase field name, or null when the shape does not match
85
+ */
86
+ export declare function deriveFillLabelField(instruction: string): string | null;
87
+ /**
88
+ * Builds the map from a recon persona VALUE (as it appears in the captured
89
+ * request body) to the `payload.<Field>` accessor that should replace it, by
90
+ * pairing each flow step's resolved field ({@link resolveStepPayloadField})
91
+ * with its extracted value ({@link extractStepPersonaValue}). This is the
92
+ * value→field reconciliation the browser flow and payload schema already do,
93
+ * finally applied to the request-body templates.
94
+ *
95
+ * Earliest step wins on a duplicate value. Site-agnostic: the field mapping
96
+ * lives entirely in the consumer's `--vocabulary`, with a generic
97
+ * label-derivation ({@link deriveFillLabelField}) fallback for fill steps the
98
+ * vocabulary doesn't recognize — the vocabulary always wins when it has a match.
99
+ */
100
+ export declare function harvestPersonaBindings(flowSteps: FlowStepInput[], vocabulary: ReconVocabulary, env: NodeJS.ProcessEnv): Map<string, string>;
42
101
  interface InferOpts {
43
102
  multipartCoerce?: boolean;
44
103
  maxDepth?: number;
@@ -102,6 +161,20 @@ export declare function selectReturnAction<T extends {
102
161
  export declare function selectEffectiveResponseBody<T extends {
103
162
  capture: Capture;
104
163
  }>(isSubmissionFlow: boolean, actionSteps: readonly T[], replayResponseBody: unknown): unknown;
164
+ /**
165
+ * Extracts caller-supplied job/context coordinates from the recon ENTRY URL's
166
+ * query string, mapping each param VALUE to a `payload.<param>` accessor. The
167
+ * first capture is the landing navigation, and a submission flow's job context
168
+ * (`?jobSeqNo=...`, `?jobId=...`) rides its query string — it belongs to the
169
+ * target posting, not the recon run, so it must be caller-supplied. Values
170
+ * below {@link MIN_STATE_VALUE_LENGTH} and cache-buster keys are skipped, since
171
+ * a 1–7 char value collides with arbitrary substrings elsewhere in the body.
172
+ *
173
+ * Site-agnostic: reads only the entry URL's own query keys; no site-specific
174
+ * param knowledge. Downstream, `interpolateStateValues`' length-descending pass
175
+ * composes embedded substrings (a jobId inside a longer jobSeqNo) automatically.
176
+ */
177
+ export declare function extractEntryUrlParams(entryUrl: string): Map<string, string>;
105
178
  interface ActionCapture {
106
179
  capture: Capture;
107
180
  index: number;
@@ -231,6 +304,80 @@ export declare function detectFormSchemaFieldNames(captures: Capture[], formSche
231
304
  fieldOptionsMap: FieldOptionsMap;
232
305
  allSchemaUuids: Set<string>;
233
306
  };
307
+ /** A resolved dropdown answer: the wire KEY the ATS submits under, the option
308
+ * CODE it expects, the human LABEL the flow step named, and the full label set
309
+ * (used to build the caller-facing z.enum). Anchored on the wire key so the
310
+ * body-slot rewrite is a closed-set JSON-key match. */
311
+ interface SelectOptionResolution {
312
+ wireKey: string;
313
+ semanticName: string;
314
+ code: string;
315
+ label: string;
316
+ /** Every caller-selectable label paired with its wire code, so OPT_<Name>
317
+ * maps the full option set (not just the recon-answered choice). */
318
+ options: Array<{
319
+ label: string;
320
+ code: string;
321
+ }>;
322
+ }
323
+ /**
324
+ * Indexes the JSON-Schema `enum`/`enumNames` PARALLEL-ARRAY convention across
325
+ * every response body: an object carrying a string `name` plus equal-length
326
+ * `enum` (option codes) and `enumNames` (option labels) declares one dropdown's
327
+ * label→code mapping, disambiguated per-question by `name`. This is the PRIMARY
328
+ * label→code source for ATS demographic/eligibility dropdowns whose submitted
329
+ * value is an opaque code, not the label.
330
+ *
331
+ * The same `name` can appear in several captures with progressively fuller
332
+ * option lists (a later page reveals the "decline to answer" choice), so the
333
+ * entry with the MOST non-i18n labels wins rather than first-seen — the flow's
334
+ * answer might be the choice only the fuller list carries.
335
+ *
336
+ * Site-agnostic: `enum`/`enumNames` are generic JSON-Schema keys; the field
337
+ * identities are discovered from the response, never hardcoded.
338
+ */
339
+ export declare function indexEnumEnumNamesSchemas(captures: Capture[]): Map<string, {
340
+ codes: string[];
341
+ labels: string[];
342
+ }>;
343
+ /**
344
+ * Indexes the `{label,value}`-shaped option-object convention: arrays of
345
+ * objects each carrying both a `label` and a `value` string (state/country
346
+ * pickers ship these). Builds a GLOBAL label→code map used as the fallback
347
+ * source for dropdowns whose flow step carries no `id=` hint (so the
348
+ * enum/enumNames index can't be keyed) — the answer label is looked up
349
+ * directly. First non-i18n binding wins on a duplicate label.
350
+ *
351
+ * Site-agnostic: `label`/`value` are generic option-object keys; no field name
352
+ * is assumed.
353
+ */
354
+ export declare function indexLabelValueOptionCodes(captures: Capture[]): Map<string, string>;
355
+ /**
356
+ * Reconciles each flow SELECT step to a submitted option CODE so the body-slot
357
+ * literal (`"applyHealthCareExclusion":"5395"`) can be rewritten to a
358
+ * caller-driven `${OPT_<Name>[payload.<Name>]}` lookup. Real ATS bodies carry
359
+ * codes, not labels; the flow carries labels — this bridges them via the two
360
+ * generic label→code conventions ({@link indexEnumEnumNamesSchemas} primary,
361
+ * {@link indexLabelValueOptionCodes} fallback).
362
+ *
363
+ * The wire KEY is discovered from the step's `id=<field>` hint when present
364
+ * (the enum/enumNames schema is keyed by that same field name); steps without
365
+ * an `id=` (state/country) fall back to the vocabulary-resolved persona field
366
+ * lowercased, matched against the `{label,value}` map by label. A dropdown
367
+ * whose labels are all i18n placeholders (e.g. gender) yields no enum and is
368
+ * reported separately for the raw-code channel.
369
+ *
370
+ * Returns structured resolutions plus the set of i18n-only wire keys (raw-code
371
+ * fallbacks). Site-agnostic: field identities come from the flow's own `id=`
372
+ * hints and the consumer vocabulary, never a hardcoded key.
373
+ */
374
+ export declare function buildSelectOptionResolutions(flowSteps: FlowStepInput[], captures: Capture[], vocabulary: ReconVocabulary, env: NodeJS.ProcessEnv): {
375
+ resolutions: SelectOptionResolution[];
376
+ rawCodeFields: Map<string, {
377
+ wireKey: string;
378
+ code: string;
379
+ }>;
380
+ };
234
381
  /**
235
382
  * Splits a raw `Set-Cookie` response-header string into `name`/`value` pairs.
236
383
  * Captures store `responseHeaders` as a flat `Record<string, string>`
@@ -339,19 +486,59 @@ export declare function compileActionSteps(actions: ActionCapture[], stateIndex:
339
486
  * sequences.
340
487
  */
341
488
  export declare function collectHeaderBindings(actionSteps: ActionStep[]): HeaderProduce[];
489
+ /** A producer-boundary coordinate: the capture value, its `payload.<field>`
490
+ * accessor, the bare field name to declare in the emitted schema, and the index
491
+ * of the step that produces it (the only step whose body is bound whole — later
492
+ * steps thread the produced state var as usual). */
493
+ interface ProducerBoundaryBinding {
494
+ accessor: string;
495
+ field: string;
496
+ producerIndex: number;
497
+ }
342
498
  /**
343
- * Maps a site's screening-question prompts to the payload field that answers
344
- * them, as `{ payloadField: [keyword, …] }`.
499
+ * Finds the request-body coordinates a PRODUCING step must source from the
500
+ * caller's payload instead of a frozen capture literal.
501
+ *
502
+ * A response-produced state var (see {@link compileActionSteps}' produces[]) is
503
+ * threaded as `${var}` in every step AFTER its producer. In the producer itself
504
+ * the value predates its own response, so {@link interpolateStateValues} has no
505
+ * prior binding for it and the frozen recon literal (the recon persona's
506
+ * jobId/jobSeqNo/jobTitle/jobLocation) leaks into every caller's submission. The
507
+ * value's real origin for the producer is the same coordinate the caller
508
+ * supplies — a payload field.
509
+ *
510
+ * WHY it keys off produces[] ∩ the producer's own body, never a field/site name:
511
+ * the signal is purely structural — "a value this flow threads downstream AND
512
+ * re-sends in the very step that first emitted it". The field name is the
513
+ * produced var name verbatim (`pathToVarName`'s output = the wire key), so the
514
+ * producer's payload field and the downstream `${var}` describe one logical
515
+ * coordinate and share the same runtime value (the caller passes it, the site
516
+ * echoes it).
345
517
  *
346
- * Empty by default and supplied by the operator via `RECON_QUESTION_KEYWORDS`
347
- * (JSON) the engine cannot know what any site asks or what a caller's payload
348
- * calls things. It previously hardcoded one product's field names, which capped
349
- * discovery at those questions and silently dropped every other site's.
518
+ * A coordinate that a HIGHER-priority source already maps to a `payload.<field>`
519
+ * (an entry-URL param e.g. a jobSeqNo) is NOT skipped: it is re-emitted here so
520
+ * the whole-value pass binds it atomically on the producer step, reusing that
521
+ * source's accessor. Otherwise state threading fragments the composite (a prefix
522
+ * that a prior step produced) before the length-descending payload pass can match
523
+ * it, and the collision guard then refuses the embedded remainder — stranding the
524
+ * middle of the coordinate frozen. A value mapped to a NON-payload target (the
525
+ * threaded txn id) is left untouched. UUID-shaped values are excluded entirely —
526
+ * a re-sent UUID is a volatile/threaded id owned by another pass, not a caller
527
+ * coordinate — and only WHOLE request-body leaves qualify, so every returned
528
+ * value is one the whole-value pass will bind (and whose field must be declared).
529
+ *
530
+ * @param actions the compiled action steps (carry produces[] + request bodies)
531
+ * @param alreadyBound capture value → existing accessor; a `payload.*` accessor
532
+ * is reused, a non-payload one (e.g. `txnId`) vetoes the value
533
+ * @returns capture value → { accessor: "payload.<field>"; field; producerIndex }
350
534
  */
351
- export declare function loadQuestionPromptKeywords(): Record<string, string[]>;
535
+ export declare function deriveProducerBoundaryBindings(actions: ActionStep[], alreadyBound: ReadonlyMap<string, string>): Map<string, ProducerBoundaryBinding>;
352
536
  /** Exported for unit testing — lets tests drive the multipart-upload code path directly
353
537
  * without going through the full emitContractTs pipeline. */
354
- export declare function emitMultiStepExecuteHttp(actions: ActionStep[], inputBody: unknown, errorSignals: ErrorSignals, fieldNameMap: FieldNameMap, outDiscoveredFields: Set<string>, fieldOptionsMap: FieldOptionsMap, outDiscoveredOptionFields: Set<string>, outDiscoveredRawOptionFields: Map<string, string>, outDiscoveredAdditionalBodyKeys: Map<string, "string" | "number" | "boolean">, baseUrl: string, baseUrlDerivedHeaders: Map<string, string>, tenantSubdomainHeaders: Map<string, string>, base64PatchOverride?: Map<string, string>, formSchema?: ReconFormSchema | null): string;
538
+ export declare function emitMultiStepExecuteHttp(actions: ActionStep[], inputBody: unknown, errorSignals: ErrorSignals, fieldNameMap: FieldNameMap, outDiscoveredFields: Set<string>, fieldOptionsMap: FieldOptionsMap, outDiscoveredOptionFields: Set<string>, outDiscoveredRawOptionFields: Map<string, string>, outDiscoveredAdditionalBodyKeys: Map<string, "string" | "number" | "boolean">, baseUrl: string, baseUrlDerivedHeaders: Map<string, string>, tenantSubdomainHeaders: Map<string, string>, formSchema?: ReconFormSchema | null, personaBindings?: Map<string, string>, entryUrlParams?: Map<string, string>, shieldedUuids?: Set<string>, selectResolutions?: SelectOptionResolution[], outStructuredKeys?: Map<string, string>, rawCodeFields?: Map<string, {
539
+ wireKey: string;
540
+ code: string;
541
+ }>): string;
355
542
  /** Generates a complete contract.ts source string for a plugin — exported so
356
543
  * unit tests can drive the emitter directly without spawning the CLI. */
357
544
  export declare function emitContractTs(opts: {
@@ -394,12 +581,17 @@ export declare function emitContractTs(opts: {
394
581
  * (inputBody). Mapped to their value type. Each becomes a payload field
395
582
  * (string → z.string(), number → z.number(), boolean → z.boolean()). */
396
583
  discoveredAdditionalBodyKeys?: Map<string, "string" | "number" | "boolean">;
584
+ /** Mechanism B: top-level body keys whose value is a whole caller-supplied
585
+ * nested structure (arrays like experienceData/educationData, or the opaque
586
+ * eventData blob), mapped to the inferred Zod schema expression for that
587
+ * value. Each becomes a `<key>: <schema>` payload field so the caller passes
588
+ * its own history/analytics rather than replaying the recon sample. */
589
+ discoveredStructuredKeys?: Map<string, string>;
397
590
  /** PascalCase candidate-PII field names the browser flow splices as
398
591
  * `payload.<field>` (from resolveStepPayloadField). Each is added to the
399
592
  * payload schema so those references typecheck. Shares the accumulator with
400
593
  * emitBrowserFlowTs so schema and flow can never drift. */
401
594
  payloadFieldNames?: Set<string>;
402
- base64ContentHelper?: string;
403
595
  /** Response-header/cookie-origin state bindings collected from the action
404
596
  * sequence's produces[] (see `collectHeaderBindings`) — rendered as
405
597
  * `createHttpClient`'s `bind` option so a value like a `Set-Cookie`-minted
@@ -1 +1 @@
1
- {"version":3,"file":"recon-generate.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAiBH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EACL,KAAK,OAAO,EAKb,MAAM,wBAAwB,CAAC;AA2BhC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,OAAO,EACnB,UAAU,GAAE,eAAkC,GAC7C,MAAM,GAAG,IAAI,CAoBf;AAUD,UAAU,SAAS;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,SAAS,OAAO,EAAE,EAC3B,KAAK,SAAI,EACT,MAAM,SAAK,EACX,IAAI,GAAE,SAAc,GACnB,MAAM,CA+DR;AA8DD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAMjG;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAMhG;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EACxE,gBAAgB,EAAE,OAAO,EACzB,WAAW,EAAE,SAAS,CAAC,EAAE,EACzB,kBAAkB,EAAE,OAAO,GAC1B,OAAO,CAGT;AA+HD,UAAU,aAAa;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAsBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,EAAE,GAClB,aAAa,EAAE,GAAG,IAAI,CAgBxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,cAAc,GAAE,cAAc,GAAG,IAAW,GAC3C,aAAa,EAAE,CAyBjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,cAAc,GAAE,cAAc,GAAG,IAAW,GAC3C,aAAa,EAAE,CAyBjB;AAyBD,UAAU,UAAU;IAClB,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB;4DACwD;IACxD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;uEAEmE;IACnE,YAAY,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9D;AA4GD,UAAU,YAAY;IACpB;iFAC6E;IAC7E,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;uDAEmD;IACnD,gBAAgB,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrE;AAiFD;;;;;GAKG;AACH,KAAK,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAExC;;;;;;;;GAQG;AACH,UAAU,mBAAmB;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD;AACD,KAAK,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAkDxD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,EAAE,eAAe,GAAG,IAAI,GACjC;IACD,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC7B,CAYA;AAmbD;;;;;;;;GAQG;AACH;sDACsD;AACtD,wBAAiB,kBAAkB,CACjC,YAAY,EAAE,MAAM,GACnB,SAAS,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAS5C;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH;8EAC8E;AAC9E,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,GAAE,GAAG,CAAC,MAAM,CAAa,EACtC,oBAAoB,GAAE,GAAG,CAAC,MAAM,CAAa,GAC5C,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CA4DzB;AAED;4EAC4E;AAC5E,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;;0BAM0B;AAC1B,UAAU,aAAa;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,KAAK,OAAO,GAAG,WAAW,GAAG,aAAa,CAAC;AAE3C,UAAU,UAAU;IAClB,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB;;sFAEkF;IAClF,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,yEAAyE;IACzE,WAAW,EAAE,OAAO,CAAC;IACrB,kFAAkF;IAClF,aAAa,EAAE,OAAO,CAAC;CACxB;AA+DD;;;;GAIG;AACH,0DAA0D;AAC1D,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,EAAE,EACxB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAClC,UAAU,EAAE,CAuHd;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE,CAUhF;AAoJD;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CASrE;AAwQD;6DAC6D;AAC7D,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,UAAU,EAAE,EACrB,SAAS,EAAE,OAAO,EAClB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAChC,eAAe,EAAE,eAAe,EAChC,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,EACtC,4BAA4B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACjD,+BAA+B,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC,EAC7E,OAAO,EAAE,MAAM,EACf,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1C,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3C,mBAAmB,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,EACpD,UAAU,GAAE,eAAe,GAAG,IAAW,GACxC,MAAM,CAgVR;AAkCD;yEACyE;AACzE,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,iGAAiG;IACjG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mGAAmG;IACnG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gGAAgG;IAChG,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;qDAEiD;IACjD,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC;;;oCAGgC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;sEACkE;IAClE,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC;;;;sDAIkD;IAClD,yBAAyB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD;;4EAEwE;IACxE,4BAA4B,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC;IAC5E;;;+DAG2D;IAC3D,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;sEAGkE;IAClE,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC,GAAG,MAAM,CAqVT;AAED,qFAAqF;AACrF,KAAK,aAAa,GACd,MAAM,GACN;IACE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAyFN;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,kFAAkF;IAClF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gFAAgF;IAChF,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,MAAM,CA2ET;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B;;;;2EAIuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CAsInD;AAED;mEACmE;AACnE,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAgB5E"}
1
+ {"version":3,"file":"recon-generate.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-generate.ts"],"names":[],"mappings":"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"}