@enricai/barnacle 1.12.2 → 1.12.4
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 +1 -1
- package/dist/lib/llm/anthropic-client.d.ts +10 -2
- package/dist/lib/llm/anthropic-client.d.ts.map +1 -1
- package/dist/lib/llm/anthropic-client.js.map +1 -1
- package/dist/plugins/config-plugin.d.ts.map +1 -1
- package/dist/plugins/config-plugin.js.map +1 -1
- package/dist/scraper/deep-locator-fake.js +1 -1
- package/dist/scraper/deep-locator-scan.d.ts +1 -1
- package/dist/scraper/deep-locator-scan.js +1 -1
- package/dist/scraper/flow-runner.d.ts +57 -23
- package/dist/scraper/flow-runner.d.ts.map +1 -1
- package/dist/scraper/flow-runner.js +410 -126
- package/dist/scraper/flow-runner.js.map +1 -1
- package/dist/scraper/session-browserbase.d.ts.map +1 -1
- package/dist/scraper/session-browserbase.js +7 -0
- package/dist/scraper/session-browserbase.js.map +1 -1
- package/dist/scraper/session-steel.d.ts.map +1 -1
- package/dist/scraper/session-steel.js +7 -0
- package/dist/scraper/session-steel.js.map +1 -1
- package/dist/scripts/recon-browser.d.ts +33 -0
- package/dist/scripts/recon-browser.d.ts.map +1 -1
- package/dist/scripts/recon-browser.js +27 -0
- package/dist/scripts/recon-browser.js.map +1 -1
- package/dist/scripts/recon-generate.d.ts +27 -2
- package/dist/scripts/recon-generate.d.ts.map +1 -1
- package/dist/scripts/recon-generate.js +116 -5
- package/dist/scripts/recon-generate.js.map +1 -1
- package/package.json +5 -3
|
@@ -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;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,MAAM,GAAG,IAAI,CAsBf;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQvE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,aAAa,EAAE,EAC1B,UAAU,EAAE,eAAe,EAC3B,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA2BrB;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;AAcD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAe3E;
|
|
1
|
+
{"version":3,"file":"recon-generate.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,7 @@ exports.selectPayloadAction = selectPayloadAction;
|
|
|
30
30
|
exports.selectReturnAction = selectReturnAction;
|
|
31
31
|
exports.selectEffectiveResponseBody = selectEffectiveResponseBody;
|
|
32
32
|
exports.extractEntryUrlParams = extractEntryUrlParams;
|
|
33
|
+
exports.selectPrimaryGraphQLOperation = selectPrimaryGraphQLOperation;
|
|
33
34
|
exports.resolveManifestActionSequence = resolveManifestActionSequence;
|
|
34
35
|
exports.extractActionSequence = extractActionSequence;
|
|
35
36
|
exports.extractGraphQLActionSequence = extractGraphQLActionSequence;
|
|
@@ -555,6 +556,80 @@ function firstSuccessfulReplayBody(replays) {
|
|
|
555
556
|
function firstGraphQLQuery(captures) {
|
|
556
557
|
return captures.find((c) => c.query)?.query ?? null;
|
|
557
558
|
}
|
|
559
|
+
/**
|
|
560
|
+
* Ranks 2xx `query` (non-mutation) captures to find the primary data
|
|
561
|
+
* operation of a read-only flow, replacing `firstGraphQLQuery`'s
|
|
562
|
+
* chronologically-first fallback. Used only when {@link extractGraphQLActionSequence}
|
|
563
|
+
* finds no mutations and the flow declares no `submitStep` — a transactional
|
|
564
|
+
* flow keeps threading state through its mutation sequence unchanged.
|
|
565
|
+
*
|
|
566
|
+
* No single signal is trusted alone (a page-load query can be close in size to
|
|
567
|
+
* the real one; a facet name can appear incidentally): response size, the
|
|
568
|
+
* flow's own `payloadField` facets appearing in the candidate's query/variables,
|
|
569
|
+
* a non-landing capture phase, and how often the same operation re-fires are
|
|
570
|
+
* combined into one composite score.
|
|
571
|
+
*/
|
|
572
|
+
function selectPrimaryGraphQLOperation(captures, flowSteps, vocabulary) {
|
|
573
|
+
const candidates = captures.filter((c) => c.status >= 200 && c.status < 300 && c.query !== null && !/^\s*mutation\b/.test(c.query));
|
|
574
|
+
if (candidates.length === 0)
|
|
575
|
+
return null;
|
|
576
|
+
const payloadFields = new Set();
|
|
577
|
+
for (const step of flowSteps) {
|
|
578
|
+
const isObj = typeof step !== "string";
|
|
579
|
+
const instruction = isObj ? step.step : step;
|
|
580
|
+
const field = resolveStepPayloadField(instruction, isObj ? step.payloadField : undefined, isObj ? step.payloadFieldNone : undefined, vocabulary);
|
|
581
|
+
if (field !== null)
|
|
582
|
+
payloadFields.add(field);
|
|
583
|
+
}
|
|
584
|
+
const responseSize = (c) => {
|
|
585
|
+
try {
|
|
586
|
+
return JSON.stringify(c.responseBody ?? "").length;
|
|
587
|
+
}
|
|
588
|
+
catch {
|
|
589
|
+
return 0;
|
|
590
|
+
}
|
|
591
|
+
};
|
|
592
|
+
const fieldMatchCount = (c) => {
|
|
593
|
+
const haystack = `${c.query ?? ""} ${JSON.stringify(c.variables ?? "")}`.toLowerCase();
|
|
594
|
+
let matches = 0;
|
|
595
|
+
for (const field of payloadFields) {
|
|
596
|
+
if (haystack.includes(field.toLowerCase()))
|
|
597
|
+
matches++;
|
|
598
|
+
}
|
|
599
|
+
return matches;
|
|
600
|
+
};
|
|
601
|
+
const operationNameCounts = new Map();
|
|
602
|
+
for (const c of candidates) {
|
|
603
|
+
if (c.operationName === null)
|
|
604
|
+
continue;
|
|
605
|
+
operationNameCounts.set(c.operationName, (operationNameCounts.get(c.operationName) ?? 0) + 1);
|
|
606
|
+
}
|
|
607
|
+
const maxSize = Math.max(...candidates.map(responseSize), 1);
|
|
608
|
+
const maxFieldMatch = Math.max(...candidates.map(fieldMatchCount), 1);
|
|
609
|
+
const maxRecurrence = Math.max(...Array.from(operationNameCounts.values()), 1);
|
|
610
|
+
const scored = candidates.map((capture) => {
|
|
611
|
+
const sizeScore = responseSize(capture) / maxSize;
|
|
612
|
+
const fieldScore = fieldMatchCount(capture) / maxFieldMatch;
|
|
613
|
+
const phaseScore = capture.phase !== "home" ? 1 : 0;
|
|
614
|
+
const recurrenceScore = capture.operationName !== null
|
|
615
|
+
? (operationNameCounts.get(capture.operationName) ?? 0) / maxRecurrence
|
|
616
|
+
: 0;
|
|
617
|
+
// Field correlation carries the heaviest weight so a smaller facet-matching
|
|
618
|
+
// operation outranks a larger decoy — size alone must not decide this.
|
|
619
|
+
const score = fieldScore * 0.45 + sizeScore * 0.2 + phaseScore * 0.15 + recurrenceScore * 0.2;
|
|
620
|
+
return { capture, score };
|
|
621
|
+
});
|
|
622
|
+
const winner = scored.reduce((best, candidate) => candidate.score > best.score ? candidate : best);
|
|
623
|
+
const endpointPath = (() => {
|
|
624
|
+
try {
|
|
625
|
+
return new URL(winner.capture.url).pathname;
|
|
626
|
+
}
|
|
627
|
+
catch {
|
|
628
|
+
return firstEndpointPath(candidates);
|
|
629
|
+
}
|
|
630
|
+
})();
|
|
631
|
+
return { capture: winner.capture, endpointPath };
|
|
632
|
+
}
|
|
558
633
|
function firstEndpointPath(captures) {
|
|
559
634
|
for (const c of captures) {
|
|
560
635
|
try {
|
|
@@ -3186,8 +3261,26 @@ function bindOptionLiteral(headerBindings) {
|
|
|
3186
3261
|
// ── code emitters ─────────────────────────────────────────────────────────────
|
|
3187
3262
|
/** Generates a complete contract.ts source string for a plugin — exported so
|
|
3188
3263
|
* unit tests can drive the emitter directly without spawning the CLI. */
|
|
3264
|
+
/**
|
|
3265
|
+
* Renders the variables literal for the primary-operation getGql() call —
|
|
3266
|
+
* each key from the selected capture's own recorded variables is bound to
|
|
3267
|
+
* `payload.<Field>` when it correlates (case-insensitively) with one of the
|
|
3268
|
+
* flow's payloadFieldNames, otherwise the captured literal value is emitted
|
|
3269
|
+
* verbatim via JSON.stringify.
|
|
3270
|
+
*/
|
|
3271
|
+
function renderGqlVariablesExpr(variables, payloadFieldNames) {
|
|
3272
|
+
if (variables === null || typeof variables !== "object" || Array.isArray(variables))
|
|
3273
|
+
return "{}";
|
|
3274
|
+
const fields = payloadFieldNames ? [...payloadFieldNames] : [];
|
|
3275
|
+
const entries = Object.entries(variables).map(([key, value]) => {
|
|
3276
|
+
const matchedField = fields.find((field) => field.toLowerCase() === key.toLowerCase());
|
|
3277
|
+
const valueExpr = matchedField ? `payload.${matchedField}` : JSON.stringify(value);
|
|
3278
|
+
return `${key}: ${valueExpr}`;
|
|
3279
|
+
});
|
|
3280
|
+
return entries.length > 0 ? `{ ${entries.join(", ")} }` : "{}";
|
|
3281
|
+
}
|
|
3189
3282
|
function emitContractTs(opts) {
|
|
3190
|
-
const { siteId, pascal, baseUrl, baseHeaders, minTime, safeRps, responseBody, gql, gqlQuery, endpointPath, auxFiles, multiStepBody, inputBody, hasMultipartStep = false, discoveredFormFields, fieldOptionsMap, discoveredOptionFields, discoveredRawOptionFields, discoveredAdditionalBodyKeys, discoveredStructuredKeys, payloadFieldNames, headerBindings = [], } = opts;
|
|
3283
|
+
const { siteId, pascal, baseUrl, baseHeaders, minTime, safeRps, responseBody, gql, gqlQuery, endpointPath, gqlOperationName, gqlVariables, auxFiles, multiStepBody, inputBody, hasMultipartStep = false, discoveredFormFields, fieldOptionsMap, discoveredOptionFields, discoveredRawOptionFields, discoveredAdditionalBodyKeys, discoveredStructuredKeys, payloadFieldNames, headerBindings = [], } = opts;
|
|
3191
3284
|
// This is the CLIENT-level schema — createHttpClient's default, and the
|
|
3192
3285
|
// plugin's caller-facing contract (what executeHttp's return value promises
|
|
3193
3286
|
// its own caller). It does NOT validate any individual call in a multi-step
|
|
@@ -3421,10 +3514,16 @@ function getGql(baseUrl: string): GqlFn {
|
|
|
3421
3514
|
: `
|
|
3422
3515
|
const httpClient = createHttpClient({ schema: ${pascal}ResponseSchema, bottleneck: limiter, baseHeaders: BASE_HEADERS${bindOptionLiteral(headerBindings)} });
|
|
3423
3516
|
`;
|
|
3517
|
+
const gqlOperationNameExpr = gqlOperationName
|
|
3518
|
+
? JSON.stringify(gqlOperationName)
|
|
3519
|
+
: JSON.stringify(`${pascal}Search`);
|
|
3520
|
+
const gqlVariablesExpr = gqlOperationName
|
|
3521
|
+
? renderGqlVariablesExpr(gqlVariables, payloadFieldNames)
|
|
3522
|
+
: "{ q: payload.query }";
|
|
3424
3523
|
const executeHttpBody = multiStepBody
|
|
3425
3524
|
? multiStepBody
|
|
3426
3525
|
: gql
|
|
3427
|
-
? ` const data = await getGql(context.baseUrl)(${
|
|
3526
|
+
? ` const data = await getGql(context.baseUrl)(${gqlOperationNameExpr}, ${pascal.toUpperCase()}_QUERY, ${gqlVariablesExpr});
|
|
3428
3527
|
return { data };`
|
|
3429
3528
|
: ` const data = await httpClient(\`\${context.baseUrl}${endpointPath}\`, {
|
|
3430
3529
|
method: "POST",
|
|
@@ -4032,8 +4131,18 @@ async function main() {
|
|
|
4032
4131
|
const safeRps = rateLimits.find((f) => f.safeRps !== null)?.safeRps ?? Math.floor(1000 / minTime);
|
|
4033
4132
|
const responseBody = firstSuccessfulReplayBody(replays);
|
|
4034
4133
|
const gql = isGraphQL(captures);
|
|
4035
|
-
|
|
4036
|
-
|
|
4134
|
+
// Hoisted so both the primary-operation gate below and rawActionCaptures
|
|
4135
|
+
// (further down) read the same computed sequence instead of calling the
|
|
4136
|
+
// extractor twice.
|
|
4137
|
+
const graphqlActionSequence = gql
|
|
4138
|
+
? extractGraphQLActionSequence(captures, baseUrl, submitPatterns)
|
|
4139
|
+
: [];
|
|
4140
|
+
const isReadOnlyFlow = !flowSteps.some((step) => typeof step !== "string" && step.submitStep === true);
|
|
4141
|
+
const primaryGraphQLOperation = gql && isReadOnlyFlow && graphqlActionSequence.length === 0
|
|
4142
|
+
? selectPrimaryGraphQLOperation(captures, flowSteps, vocabulary)
|
|
4143
|
+
: null;
|
|
4144
|
+
const gqlQuery = primaryGraphQLOperation?.capture.query ?? firstGraphQLQuery(captures);
|
|
4145
|
+
const endpointPath = primaryGraphQLOperation?.endpointPath ?? firstEndpointPath(captures);
|
|
4037
4146
|
// Detect a multi-step submission flow (transactional sites like apply forms,
|
|
4038
4147
|
// checkout, etc.). When the action sequence has 2+ POSTs, switch the
|
|
4039
4148
|
// contract template to emit a state-threaded executeHttp.
|
|
@@ -4048,7 +4157,7 @@ async function main() {
|
|
|
4048
4157
|
}
|
|
4049
4158
|
const rawActionCaptures = manifestActionCaptures ??
|
|
4050
4159
|
(gql
|
|
4051
|
-
?
|
|
4160
|
+
? graphqlActionSequence
|
|
4052
4161
|
: collapseRedundantPatches(extractActionSequence(captures, baseUrl, submitPatterns)));
|
|
4053
4162
|
// Form-schema detection runs BEFORE state-indexing so the field-id/option-id
|
|
4054
4163
|
// UUIDs can be shielded from indexing — those UUIDs are stable schema
|
|
@@ -4233,6 +4342,8 @@ async function main() {
|
|
|
4233
4342
|
gql,
|
|
4234
4343
|
gqlQuery,
|
|
4235
4344
|
endpointPath,
|
|
4345
|
+
gqlOperationName: primaryGraphQLOperation?.capture.operationName ?? null,
|
|
4346
|
+
gqlVariables: primaryGraphQLOperation?.capture.variables ?? null,
|
|
4236
4347
|
auxFiles,
|
|
4237
4348
|
multiStepBody,
|
|
4238
4349
|
inputBody,
|