@enricai/barnacle 1.4.2 → 1.6.0
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 +29 -0
- package/dist/api/errors.d.ts +2 -1
- package/dist/api/errors.d.ts.map +1 -1
- package/dist/api/errors.js +3 -2
- package/dist/api/errors.js.map +1 -1
- package/dist/lib/llm/judge.d.ts +1 -1
- package/dist/lib/llm/judge.js +1 -1
- package/dist/recon/capture-filters.d.ts +40 -0
- package/dist/recon/capture-filters.d.ts.map +1 -0
- package/dist/recon/capture-filters.js +106 -0
- package/dist/recon/capture-filters.js.map +1 -0
- package/dist/recon/form-schema.d.ts +51 -0
- package/dist/recon/form-schema.d.ts.map +1 -0
- package/dist/recon/form-schema.js +20 -0
- package/dist/recon/form-schema.js.map +1 -0
- package/dist/recon/load-form-schema.d.ts +24 -0
- package/dist/recon/load-form-schema.d.ts.map +1 -0
- package/dist/recon/load-form-schema.js +66 -0
- package/dist/recon/load-form-schema.js.map +1 -0
- package/dist/scraper/errors.d.ts +14 -14
- package/dist/scraper/errors.d.ts.map +1 -1
- package/dist/scraper/errors.js +15 -15
- package/dist/scraper/errors.js.map +1 -1
- package/dist/scraper/flow-runner.d.ts +12 -0
- package/dist/scraper/flow-runner.d.ts.map +1 -1
- package/dist/scraper/flow-runner.js +46 -8
- package/dist/scraper/flow-runner.js.map +1 -1
- package/dist/scraper/http-client.d.ts +12 -0
- package/dist/scraper/http-client.d.ts.map +1 -1
- package/dist/scraper/http-client.js +11 -15
- package/dist/scraper/http-client.js.map +1 -1
- package/dist/scraper/parse-json-response.d.ts +7 -5
- package/dist/scraper/parse-json-response.d.ts.map +1 -1
- package/dist/scraper/parse-json-response.js +9 -8
- package/dist/scraper/parse-json-response.js.map +1 -1
- package/dist/scraper/rate-limited-json-client.d.ts +8 -1
- package/dist/scraper/rate-limited-json-client.d.ts.map +1 -1
- package/dist/scraper/rate-limited-json-client.js +6 -1
- package/dist/scraper/rate-limited-json-client.js.map +1 -1
- package/dist/scraper/session-browserbase.d.ts +6 -0
- package/dist/scraper/session-browserbase.d.ts.map +1 -1
- package/dist/scraper/session-browserbase.js +6 -0
- package/dist/scraper/session-browserbase.js.map +1 -1
- package/dist/scripts/recon-browser.d.ts.map +1 -1
- package/dist/scripts/recon-browser.js +3 -4
- package/dist/scripts/recon-browser.js.map +1 -1
- package/dist/scripts/recon-generate.d.ts +69 -20
- package/dist/scripts/recon-generate.d.ts.map +1 -1
- package/dist/scripts/recon-generate.js +277 -173
- package/dist/scripts/recon-generate.js.map +1 -1
- package/dist/scripts/recon-http.d.ts +5 -2
- package/dist/scripts/recon-http.d.ts.map +1 -1
- package/dist/scripts/recon-http.js +16 -4
- package/dist/scripts/recon-http.js.map +1 -1
- package/dist/testing/persona-fixture.d.ts +2 -2
- package/dist/testing/persona-fixture.d.ts.map +1 -1
- package/dist/testing/persona-fixture.js +2 -2
- package/dist/testing/persona-fixture.js.map +1 -1
- package/package.json +9 -1
- package/dist/scraper/oracle-sentinels.d.ts +0 -22
- package/dist/scraper/oracle-sentinels.d.ts.map +0 -1
- package/dist/scraper/oracle-sentinels.js +0 -40
- package/dist/scraper/oracle-sentinels.js.map +0 -1
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* /tmp/recon/aux/*.json — static fixture files
|
|
16
16
|
* src/sites/<siteId>/recon-flow.json — plain-English flow steps
|
|
17
17
|
*/
|
|
18
|
+
import type { ReconFormSchema } from "../recon/form-schema";
|
|
18
19
|
import { type ReconVocabulary } from "../recon/vocabulary";
|
|
19
20
|
import { type Capture } from "../scripts/recon-shared";
|
|
20
21
|
/**
|
|
@@ -76,6 +77,16 @@ interface ActionCapture {
|
|
|
76
77
|
capture: Capture;
|
|
77
78
|
index: number;
|
|
78
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Extracts the ordered sequence of meaningful POSTs that represent the
|
|
82
|
+
* transactional flow: same-host 2xx POSTs, minus telemetry and error-reporting
|
|
83
|
+
* sinks. Assets need no filter of their own — they arrive as GETs.
|
|
84
|
+
*
|
|
85
|
+
* Exported for tests: this predicate decides what a generated plugin will POST
|
|
86
|
+
* at a live site, and it is the only gate between a browser's incidental
|
|
87
|
+
* chatter and the emitted hot path.
|
|
88
|
+
*/
|
|
89
|
+
export declare function extractActionSequence(captures: Capture[], baseUrl: string): ActionCapture[];
|
|
79
90
|
interface StateValue {
|
|
80
91
|
/** The raw string that appears in some response and is reused downstream. */
|
|
81
92
|
value: string;
|
|
@@ -105,21 +116,20 @@ interface ErrorSignals {
|
|
|
105
116
|
}>;
|
|
106
117
|
}
|
|
107
118
|
/**
|
|
108
|
-
* Map from form-schema
|
|
109
|
-
* by emitMultiStepExecuteHttp to substitute
|
|
119
|
+
* Map from form-schema field-id UUIDs to PascalCase payload field names. Used
|
|
120
|
+
* by emitMultiStepExecuteHttp to substitute the submitted-value literals with
|
|
110
121
|
* caller payload references. Empty when the recon doesn't include a form
|
|
111
122
|
* schema (no-op for those sites).
|
|
112
123
|
*/
|
|
113
124
|
type FieldNameMap = Map<string, string>;
|
|
114
125
|
/**
|
|
115
|
-
* Per-
|
|
116
|
-
* pairs derived from the form schema's
|
|
117
|
-
* each as an OPT_<
|
|
118
|
-
* pass rewrites
|
|
126
|
+
* Per-option-using field: an ordered list of {semanticValue, optionId}
|
|
127
|
+
* pairs derived from the form schema's options array. The generator emits
|
|
128
|
+
* each as an OPT_<Name> constant + z.enum payload field; the body emit
|
|
129
|
+
* pass rewrites the submitted option-id slots to `${OPT_X[payload.X]}`.
|
|
119
130
|
*
|
|
120
|
-
* Only populated for fields whose options all have a non-empty
|
|
121
|
-
*
|
|
122
|
-
* label are skipped — the field's OptionIds stay baked.
|
|
131
|
+
* Only populated for fields whose options all have a non-empty label. Options
|
|
132
|
+
* without a semantic label are skipped — the field's option ids stay baked.
|
|
123
133
|
*/
|
|
124
134
|
interface FieldOptionsMapping {
|
|
125
135
|
semanticName: string;
|
|
@@ -129,6 +139,25 @@ interface FieldOptionsMapping {
|
|
|
129
139
|
}>;
|
|
130
140
|
}
|
|
131
141
|
type FieldOptionsMap = Map<string, FieldOptionsMapping>;
|
|
142
|
+
/**
|
|
143
|
+
* Recon-driven detection of form-schema captures. Scans all response bodies
|
|
144
|
+
* for arrays whose objects look like form fields (a UUID-shaped field-id key
|
|
145
|
+
* plus at least one of the schema's name keys). Builds field-id → PascalCase
|
|
146
|
+
* name map.
|
|
147
|
+
*
|
|
148
|
+
* Site-agnostic: identifies form-schema captures by structural fingerprint
|
|
149
|
+
* against the consumer-supplied keys, not by URL or site name. Any ATS exposing
|
|
150
|
+
* a matching schema would match.
|
|
151
|
+
*
|
|
152
|
+
* Exported for unit testing — lets tests prove the rewiring: the same field is
|
|
153
|
+
* recovered whether the supplied keys are one vendor's names or a differing
|
|
154
|
+
* vendor's, and that a null schema recovers nothing.
|
|
155
|
+
*/
|
|
156
|
+
export declare function detectFormSchemaFieldNames(captures: Capture[], formSchema: ReconFormSchema | null): {
|
|
157
|
+
fieldNameMap: FieldNameMap;
|
|
158
|
+
fieldOptionsMap: FieldOptionsMap;
|
|
159
|
+
allSchemaUuids: Set<string>;
|
|
160
|
+
};
|
|
132
161
|
/**
|
|
133
162
|
* Walks every capture's response (including GETs — formHistoryId-style values
|
|
134
163
|
* may originate in a state-load GET, not a POST). Indexes every string leaf
|
|
@@ -199,7 +228,7 @@ interface ActionStep {
|
|
|
199
228
|
export declare function compileActionSteps(actions: ActionCapture[], stateIndex: Map<string, StateValue>): ActionStep[];
|
|
200
229
|
/**
|
|
201
230
|
* Maps a site's screening-question prompts to the payload field that answers
|
|
202
|
-
* them, as `{
|
|
231
|
+
* them, as `{ payloadField: [keyword, …] }`.
|
|
203
232
|
*
|
|
204
233
|
* Empty by default and supplied by the operator via `RECON_QUESTION_KEYWORDS`
|
|
205
234
|
* (JSON) — the engine cannot know what any site asks or what a caller's payload
|
|
@@ -209,7 +238,7 @@ export declare function compileActionSteps(actions: ActionCapture[], stateIndex:
|
|
|
209
238
|
export declare function loadQuestionPromptKeywords(): Record<string, string[]>;
|
|
210
239
|
/** Exported for unit testing — lets tests drive the multipart-upload code path directly
|
|
211
240
|
* without going through the full emitContractTs pipeline. */
|
|
212
|
-
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
|
|
241
|
+
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;
|
|
213
242
|
/** Generates a complete contract.ts source string for a plugin — exported so
|
|
214
243
|
* unit tests can drive the emitter directly without spawning the CLI. */
|
|
215
244
|
export declare function emitContractTs(opts: {
|
|
@@ -231,21 +260,21 @@ export declare function emitContractTs(opts: {
|
|
|
231
260
|
/** Whether the flow has a multipart upload step — derived from actionSteps at the call site. */
|
|
232
261
|
hasMultipartStep?: boolean;
|
|
233
262
|
/** PascalCase payload-field names discovered by walking the form schema and
|
|
234
|
-
* substituting
|
|
263
|
+
* substituting the submitted-value literals. Added to the payload schema so
|
|
235
264
|
* the caller can supply real values for them. */
|
|
236
265
|
discoveredFormFields?: Set<string>;
|
|
237
|
-
/** Full
|
|
266
|
+
/** Full field-options map (field-id → semanticName + options). Only the
|
|
238
267
|
* entries whose semanticName is in `discoveredOptionFields` will get emitted
|
|
239
268
|
* — those are the fields where applyFormSchemaOptionIdSubstitutions actually
|
|
240
|
-
* rewrote an
|
|
269
|
+
* rewrote an option-id slot. */
|
|
241
270
|
fieldOptionsMap?: FieldOptionsMap;
|
|
242
|
-
/** Semantic names whose
|
|
271
|
+
/** Semantic names whose option-id slots were rewritten by the generator —
|
|
243
272
|
* each gets an OPT_<Name> constant and a z.enum payload field. */
|
|
244
273
|
discoveredOptionFields?: Set<string>;
|
|
245
|
-
/** Map of
|
|
246
|
-
* `WereYouReferredOptionId`) → recon-observed
|
|
274
|
+
/** Map of label-derived raw-option payload field name (e.g.
|
|
275
|
+
* `WereYouReferredOptionId`) → recon-observed option-id UUID. Each becomes
|
|
247
276
|
* a `<name>: z.string()` payload field with the recon-observed UUID
|
|
248
|
-
* documented in a TSDoc comment. Used for
|
|
277
|
+
* documented in a TSDoc comment. Used for options with empty labels
|
|
249
278
|
* where T3's structured enum can't be emitted. */
|
|
250
279
|
discoveredRawOptionFields?: Map<string, string>;
|
|
251
280
|
/** Phase F: top-level keys observed in action POST bodies beyond r0
|
|
@@ -278,8 +307,18 @@ type FlowStepInput = string | {
|
|
|
278
307
|
* flow, as an alternative to the `.ts` trio for browser-only sites. Reuses the
|
|
279
308
|
* SAME `resolveStepPayloadField` splice logic as the browser-flow emitter, so
|
|
280
309
|
* every `{{ .request.<field> }}` reference also lands in the manifest's request
|
|
281
|
-
* schema — the two cannot drift.
|
|
282
|
-
*
|
|
310
|
+
* schema — the two cannot drift.
|
|
311
|
+
*
|
|
312
|
+
* `recovered` carries the request contract the `.ts` path infers from real
|
|
313
|
+
* captures — the first POST body's fields plus form-schema discoveries — so
|
|
314
|
+
* `--emit config` no longer throws that away and emit a request schema built
|
|
315
|
+
* only from the handful of flow-step splice hints.
|
|
316
|
+
*
|
|
317
|
+
* When the site has a direct-HTTP path (a submission flow whose `.ts` emit would
|
|
318
|
+
* carry an `executeHttp`), `httpModulePath` emits a `spec.httpModule` reference
|
|
319
|
+
* to a compiled module the operator drops in — the config plugin's escape hatch
|
|
320
|
+
* for the imperative hot path a JSON manifest cannot express. Absent that, the
|
|
321
|
+
* browser `flow` is the only execution path, and the field is omitted.
|
|
283
322
|
*/
|
|
284
323
|
export declare function emitConfigManifest(opts: {
|
|
285
324
|
siteId: string;
|
|
@@ -287,6 +326,16 @@ export declare function emitConfigManifest(opts: {
|
|
|
287
326
|
baseUrl: string;
|
|
288
327
|
flowSteps: FlowStepInput[];
|
|
289
328
|
vocabulary?: ReconVocabulary;
|
|
329
|
+
/** First action body: its top-level keys are the caller's real request fields. */
|
|
330
|
+
inputBody?: unknown;
|
|
331
|
+
/** Form-schema fields the recon recovered, added as caller-supplied strings. */
|
|
332
|
+
recoveredFields?: Iterable<string>;
|
|
333
|
+
/**
|
|
334
|
+
* Relative path to the compiled `executeHttp` module for a site with a
|
|
335
|
+
* direct-HTTP path. Emitted as `spec.httpModule`; omitted when the site is
|
|
336
|
+
* browser-only.
|
|
337
|
+
*/
|
|
338
|
+
httpModulePath?: string;
|
|
290
339
|
}): string;
|
|
291
340
|
/**
|
|
292
341
|
* Emit the generated browser-flow module and return the accumulated set of
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recon-generate.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAiBH,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAGL,KAAK,OAAO,EAKb,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"recon-generate.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-generate.ts"],"names":[],"mappings":"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"}
|