@enricai/barnacle 1.12.23 → 1.12.24

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.
@@ -887,6 +887,20 @@ export declare function resolveFoldPlan<T extends {
887
887
  capture: Capture;
888
888
  isMultipart: boolean;
889
889
  }>(actions: readonly T[], foldReturnSpec?: FoldReturnSpec | null): FoldPlan[];
890
+ /**
891
+ * The fold plans `emitContractTs` actually threads into its single-primary
892
+ * hot path — a multi-step flow owns its own per-item fold loop (via
893
+ * `emitMultiStepExecuteHttp`) instead, so this resolves to none there.
894
+ * Exported and shared verbatim by `emitContractTs` and the "no fold plan
895
+ * resolved" diagnostic in `main()` so the two can never independently decide
896
+ * whether a declared foldReturn actually made it into the emitted output —
897
+ * any future exclusion added to the single-primary hot path must be added
898
+ * here too, and both call sites pick it up automatically.
899
+ */
900
+ export declare function resolveApplicableFoldPlans<T extends {
901
+ capture: Capture;
902
+ isMultipart: boolean;
903
+ }>(actions: readonly T[], foldReturnSpec: FoldReturnSpec | null, multiStepBody: string | undefined): FoldPlan[];
890
904
  /**
891
905
  * Same review-checklist items the pre-move contract.ts header used to embed,
892
906
  * now surfaced on recon-generate's own stdout instead of the shipped file —
@@ -1 +1 @@
1
- {"version":3,"file":"recon-generate.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recon-generate.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-generate.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,7 @@ exports.collectRequestValuesIncludingHeaders = collectRequestValuesIncludingHead
63
63
  exports.getFoldPlanResolutionCallCountForTests = getFoldPlanResolutionCallCountForTests;
64
64
  exports.resetFoldPlanResolutionCallCountForTests = resetFoldPlanResolutionCallCountForTests;
65
65
  exports.resolveFoldPlan = resolveFoldPlan;
66
+ exports.resolveApplicableFoldPlans = resolveApplicableFoldPlans;
66
67
  exports.buildContractChecklist = buildContractChecklist;
67
68
  exports.emitContractTs = emitContractTs;
68
69
  exports.assertRequiredUrlFieldsReferenced = assertRequiredUrlFieldsReferenced;
@@ -5392,6 +5393,29 @@ function resolveSpecMatchedPrimaryItemIndex(primaryItems, joinFields, drillCaptu
5392
5393
  }));
5393
5394
  return matchedIndex === -1 ? null : matchedIndex;
5394
5395
  }
5396
+ /** Like {@link resolveSpecMatchedPrimaryItemIndex}, but matches against the
5397
+ * drill capture's own RESPONSE instead of its request — a `foldReturn`
5398
+ * spec's `joinFields` names the field the AUTHOR knows the drill-down
5399
+ * response carries (so `emitFoldMatchAndMergeLines` can match it back onto a
5400
+ * primary item at runtime); it names nothing about what the drill's REQUEST
5401
+ * carries, which is very often a completely different per-item field (e.g. a
5402
+ * REST drill-down keyed by an item's `packageCode` whose response happens to
5403
+ * echo back that item's `id`). Tried only as a fallback, after the
5404
+ * request-based match, since a request-carried join value disambiguates a
5405
+ * drill occurrence unambiguously while a response-only match can in
5406
+ * principle collide across primary items with the same response shape. */
5407
+ function resolveSpecMatchedPrimaryItemIndexFromResponse(primaryItems, joinFields, drillCapture) {
5408
+ const responseValues = collectResponseLeafValues(drillCapture);
5409
+ if (responseValues.size === 0)
5410
+ return null;
5411
+ const matchedIndex = primaryItems.findIndex((item) => joinFields.every((field) => {
5412
+ const value = readValueAtPath(item, field.split("."));
5413
+ return ((typeof value === "string" && value.length > 0 && responseValues.has(value)) ||
5414
+ (typeof value === "number" && responseValues.has(String(value))) ||
5415
+ (typeof value === "boolean" && responseValues.has(String(value))));
5416
+ }));
5417
+ return matchedIndex === -1 ? null : matchedIndex;
5418
+ }
5395
5419
  /**
5396
5420
  * Maps every string/numeric/boolean value seen in any action's request (URL,
5397
5421
  * body, or headers — see {@link collectRequestValuesIncludingHeaders}) to the
@@ -5578,12 +5602,6 @@ function buildFoldPlanFromSpec(actions, spec) {
5578
5602
  continue;
5579
5603
  const joinValues = collectPrimaryJoinValues(primaryItems, spec.joinFields);
5580
5604
  const candidateEntryIndicesDescending = collectCandidateEntryIndicesDescending(requestValueIndex, joinValues, primaryStepIndex);
5581
- // No action anywhere carries any of this primary's join values, so no
5582
- // drillStepIndex candidate could ever resolve — skip straight to the
5583
- // next primary instead of scanning this one's drill candidates (each of
5584
- // which would only rediscover the same dead end).
5585
- if (candidateEntryIndicesDescending.length === 0)
5586
- continue;
5587
5605
  // Cheap regex-only pass first: collects every endpointPattern-matching
5588
5606
  // drillStepIndex without paying for the expensive backward-walk +
5589
5607
  // computeFoldChain resolution below. Scanned from the freshest (highest)
@@ -5592,12 +5610,24 @@ function buildFoldPlanFromSpec(actions, spec) {
5592
5610
  // ties in the original last-write-wins scan first, falling through to
5593
5611
  // the next-freshest only when a candidate fails to resolve, instead of
5594
5612
  // resolving every earlier occurrence just to have it overwritten.
5613
+ //
5614
+ // Computed even when `candidateEntryIndicesDescending` is empty (unlike
5615
+ // the request-based path below, which bails immediately in that case):
5616
+ // an endpointPattern match is a single regex test per action, O(actions)
5617
+ // regardless — not the O(actions)-per-candidate backward walk the
5618
+ // request-based prune exists to avoid — so it stays cheap even when no
5619
+ // request anywhere carries this primary's join values, which is exactly
5620
+ // the case {@link resolveSpecMatchedPrimaryItemIndexFromResponse}'s
5621
+ // response-only fallback below exists to resolve.
5595
5622
  const matchingDrillStepIndices = [];
5596
5623
  for (let drillStepIndex = primaryStepIndex + 1; drillStepIndex < actions.length; drillStepIndex++) {
5597
5624
  if (matchesFoldReturnEndpoint(actions[drillStepIndex].capture)) {
5598
5625
  matchingDrillStepIndices.push(drillStepIndex);
5599
5626
  }
5600
5627
  }
5628
+ if (candidateEntryIndicesDescending.length === 0 && matchingDrillStepIndices.length === 0) {
5629
+ continue;
5630
+ }
5601
5631
  // Shared across every matching-drill candidate tried below for THIS
5602
5632
  // primaryStepIndex — see resolveSpecMatchedPrimaryItemIndexAlongChain's
5603
5633
  // docstring on why a fresh cache per primary (not per drill candidate)
@@ -5621,7 +5651,18 @@ function buildFoldPlanFromSpec(actions, spec) {
5621
5651
  // now does (see detectDrillDownFoldPlan). Validated after the chain
5622
5652
  // resolves, below, since `[]` is a valid empty baseline for
5623
5653
  // computeFoldChain but not a valid final drillArrayPath on its own.
5624
- const matchResult = resolveSpecMatchedPrimaryItemIndexAlongChain(actions, primaryItems, spec.joinFields, drillStepIndex, matchedItemIndexCache, candidateEntryIndicesDescending);
5654
+ const chainMatchResult = resolveSpecMatchedPrimaryItemIndexAlongChain(actions, primaryItems, spec.joinFields, drillStepIndex, matchedItemIndexCache, candidateEntryIndicesDescending);
5655
+ // A request-carried join value (checked above, across this whole
5656
+ // primary/drill chain) disambiguates unambiguously; only fall back to
5657
+ // matching the drill's own RESPONSE — which never disambiguates an
5658
+ // upstream entry hop, only the drill step itself — when that fails.
5659
+ const matchResult = chainMatchResult ??
5660
+ (() => {
5661
+ const primaryMatchedItemIndex = resolveSpecMatchedPrimaryItemIndexFromResponse(primaryItems, spec.joinFields, drill.capture);
5662
+ return primaryMatchedItemIndex === null
5663
+ ? null
5664
+ : { entryIndex: drillStepIndex, primaryMatchedItemIndex };
5665
+ })();
5625
5666
  if (matchResult === null)
5626
5667
  continue;
5627
5668
  const { entryIndex, primaryMatchedItemIndex } = matchResult;
@@ -5697,14 +5738,26 @@ function mergeSpecPlanOntoSamePrimary(structuralPlans, actions, foldReturnSpec)
5697
5738
  const samePrimaryPlan = structuralPlans.find((plan) => plan.primaryStepIndex === specPlan.primaryStepIndex &&
5698
5739
  JSON.stringify(plan.primaryArrayPath) === JSON.stringify(specPlan.primaryArrayPath));
5699
5740
  if (samePrimaryPlan !== undefined) {
5741
+ // A drillStepIndex the structural heuristic ALSO resolved keeps its
5742
+ // structurally-resolved chain/drillArrayPath (already proven to reach
5743
+ // real per-item data), but its `joinFields` is overridden to the spec's
5744
+ // declared value — the heuristic's own joinFields only prove a field
5745
+ // threads INTO the drill's REQUEST, which says nothing about whether
5746
+ // that same field can be found on the drill's RESPONSE to match it back
5747
+ // onto a primary item (see emitFoldMatchAndMergeLines). A flow author
5748
+ // declaring `joinFields` on a foldReturn is asserting exactly that: this
5749
+ // is the field their drill-down's RESPONSE actually carries.
5750
+ const specTargetsByDrillStepIndex = new Map(specPlan.targets.map((target) => [target.drillStepIndex, target]));
5700
5751
  return structuralPlans.map((plan) => {
5701
5752
  if (plan !== samePrimaryPlan)
5702
5753
  return plan;
5754
+ const mergedTargets = plan.targets.map((target) => {
5755
+ const specTarget = specTargetsByDrillStepIndex.get(target.drillStepIndex);
5756
+ return specTarget === undefined ? target : { ...target, joinFields: specTarget.joinFields };
5757
+ });
5703
5758
  const existingDrillStepIndexes = new Set(plan.targets.map((target) => target.drillStepIndex));
5704
5759
  const newTargets = specPlan.targets.filter((target) => !existingDrillStepIndexes.has(target.drillStepIndex));
5705
- return newTargets.length === 0
5706
- ? plan
5707
- : { ...plan, targets: [...plan.targets, ...newTargets] };
5760
+ return { ...plan, targets: [...mergedTargets, ...newTargets] };
5708
5761
  });
5709
5762
  }
5710
5763
  // Keyed by the (primaryStepIndex, primaryArrayPath) pair, not
@@ -5824,6 +5877,19 @@ function resolveFoldPlan(actions, foldReturnSpec = null) {
5824
5877
  return targets.length === 0 ? [] : [{ ...plan, targets }];
5825
5878
  });
5826
5879
  }
5880
+ /**
5881
+ * The fold plans `emitContractTs` actually threads into its single-primary
5882
+ * hot path — a multi-step flow owns its own per-item fold loop (via
5883
+ * `emitMultiStepExecuteHttp`) instead, so this resolves to none there.
5884
+ * Exported and shared verbatim by `emitContractTs` and the "no fold plan
5885
+ * resolved" diagnostic in `main()` so the two can never independently decide
5886
+ * whether a declared foldReturn actually made it into the emitted output —
5887
+ * any future exclusion added to the single-primary hot path must be added
5888
+ * here too, and both call sites pick it up automatically.
5889
+ */
5890
+ function resolveApplicableFoldPlans(actions, foldReturnSpec, multiStepBody) {
5891
+ return multiStepBody ? [] : resolveFoldPlan(actions, foldReturnSpec);
5892
+ }
5827
5893
  /** Rebuilds `value` with every occurrence of `target` (compared by object
5828
5894
  * identity) replaced by `replacement`, spreading every ancestor
5829
5895
  * array/object level so sibling fields and sibling array elements survive
@@ -5938,9 +6004,17 @@ function buildNestedSpreadOverride(base, path, leafExpr) {
5938
6004
  * the observed page size on each call, stops once the response's own
5939
6005
  * reported total is reached or `MAX_PAGES` caps it, and merges pages by the
5940
6006
  * detected identity field rather than concatenating blindly.
6007
+ *
6008
+ * `foldMergeLines`, when non-empty, threads a resolved single-primary fold
6009
+ * plan (see `emitContractTs`'s `singlePrimaryFoldPlans`) additively into the
6010
+ * loop: it runs once, after every page has been fetched and de-duplicated
6011
+ * into `itemsById`, so the drill-down call/merge sees the final assembled
6012
+ * item set rather than only the first page's captured sample. Each merge
6013
+ * mutates its item in place (`Object.assign`), which is visible through
6014
+ * `itemsById`'s own stored references — no re-`set` needed.
5941
6015
  */
5942
6016
  function buildPaginatedGqlExecuteHttpBody(opts) {
5943
- const { pascal, gqlOperationNameExpr, queryConstName, gqlVariablesExpr, signal } = opts;
6017
+ const { pascal, gqlOperationNameExpr, queryConstName, gqlVariablesExpr, signal, foldMergeLines } = opts;
5944
6018
  const { totalPath, arrayPath, containerPath, countKey, skipKey, pageSize, identityField } = signal;
5945
6019
  const countKeyExpr = isValidJsIdentifier(countKey) ? countKey : JSON.stringify(countKey);
5946
6020
  const skipKeyExpr = isValidJsIdentifier(skipKey) ? skipKey : JSON.stringify(skipKey);
@@ -5980,7 +6054,7 @@ function buildPaginatedGqlExecuteHttpBody(opts) {
5980
6054
  }
5981
6055
  skip += PAGE_SIZE;
5982
6056
  }
5983
- const truncated = itemsById.size < total;
6057
+ ${foldMergeLines.length > 0 ? `${foldMergeLines.join("\n")}\n` : ""} const truncated = itemsById.size < total;
5984
6058
  const withItems = ${withItemsOverrideExpr};
5985
6059
  const data = ${withTotalOverrideExpr} as ${pascal}Response;
5986
6060
  return { data };`;
@@ -6099,11 +6173,11 @@ function emitContractTs(opts) {
6099
6173
  // single-primary read flow with a declared `foldReturn` would silently
6100
6174
  // drop the fold feature the flow author declared (see
6101
6175
  // recon-generate-foldreturn-regresses-primary-op-and-payload-to-ats-submission-shape.md).
6102
- // Not attempted alongside `paginationSignal` a paginated primary's items
6103
- // span multiple page fetches this branch never issues, so a fold plan
6104
- // resolving against only the FIRST page's captured sample would be
6105
- // incomplete; that combination is out of scope here.
6106
- const singlePrimaryFoldPlans = multiStepBody || paginationSignal ? [] : resolveFoldPlan(actionSteps, foldReturnSpec);
6176
+ // Also threaded additively into `paginationSignal`'s fetch loop below (see
6177
+ // buildPaginatedGqlExecuteHttpBody) the fold runs against the final
6178
+ // assembled/de-duplicated page items, not just the first page's captured
6179
+ // sample, so a paginated primary is no longer excluded from folding.
6180
+ const singlePrimaryFoldPlans = resolveApplicableFoldPlans(actionSteps, foldReturnSpec, multiStepBody);
6107
6181
  // A GraphQL primary with a resolved drill-down fold has no other REST
6108
6182
  // client to issue the drill request(s) with — getGql only ever speaks
6109
6183
  // GraphQL to the primary endpoint.
@@ -6403,8 +6477,14 @@ const httpClient = createHttpClient({ schema: ${pascal}ResponseSchema, bottlenec
6403
6477
  * merge semantics. Chain hops beyond the drill step itself are rendered
6404
6478
  * directly off each hop's own captured request (no state-threading
6405
6479
  * pipeline) since a single-primary read flow carries no submitted payload
6406
- * for those calls to reference. */
6407
- const buildFoldMergeLines = (dataVarName) => {
6480
+ * for those calls to reference.
6481
+ *
6482
+ * `itemsExprOverride`, when given, replaces the `dataVarName`+`primaryArrayPath`
6483
+ * accessor with a caller-supplied items expression — used by the paginated
6484
+ * GraphQL fetch loop, whose merged/de-duplicated page items already sit in
6485
+ * a flat runtime collection (`itemsById.values()`) rather than nested at
6486
+ * `primaryArrayPath` inside a single response object. */
6487
+ const buildFoldMergeLines = (dataVarName, itemsExprOverride) => {
6408
6488
  const lines = [];
6409
6489
  for (const [planIndex, foldPlan] of singlePrimaryFoldPlans.entries()) {
6410
6490
  const primaryStep = actionSteps[foldPlan.primaryStepIndex];
@@ -6414,7 +6494,8 @@ const httpClient = createHttpClient({ schema: ${pascal}ResponseSchema, bottlenec
6414
6494
  const primaryArrType = foldArrayAssertionType(foldPlan.primaryArrayPath);
6415
6495
  const planSuffix = singlePrimaryFoldPlans.length > 1 ? String(planIndex) : "";
6416
6496
  const foldItemsVar = `foldItems${planSuffix}`;
6417
- const foldItemsExpr = pathToFoldAccessorExpr(`(${dataVarName} as ${primaryArrType})`, foldPlan.primaryArrayPath);
6497
+ const foldItemsExpr = itemsExprOverride ??
6498
+ pathToFoldAccessorExpr(`(${dataVarName} as ${primaryArrType})`, foldPlan.primaryArrayPath);
6418
6499
  const itemVar = `item${planSuffix}`;
6419
6500
  lines.push(` const ${foldItemsVar} = ${foldItemsExpr};`, ` for (const ${itemVar} of ${foldItemsVar}) {`);
6420
6501
  for (const [targetIndex, target] of foldPlan.targets.entries()) {
@@ -6427,11 +6508,26 @@ const httpClient = createHttpClient({ schema: ${pascal}ResponseSchema, bottlenec
6427
6508
  // Same word-boundary-anchored swap emitMultiStepExecuteHttp's own
6428
6509
  // `parameterize` performs — a plain split/join would also rewrite
6429
6510
  // unrelated substrings that happen to contain the join value.
6430
- const parameterizeUrl = (rawUrl) => {
6511
+ //
6512
+ // Parameterizes off EVERY per-item field this specific chain hop's
6513
+ // own captured request actually varies on (via findThreadedJoinFields),
6514
+ // not just `target.joinFields` — `target.joinFields` names the field
6515
+ // used to MATCH the drill's RESPONSE back onto the primary item (see
6516
+ // emitFoldMatchAndMergeLines), which for a spec-declared foldReturn
6517
+ // can legitimately be a field the request never carries at all (e.g.
6518
+ // an `id` echoed only in the response, while the request is keyed by
6519
+ // an unrelated field like a package code). Building the URL from only
6520
+ // `target.joinFields` in that case would leave it unparameterized —
6521
+ // every item would fetch the SAME first-captured URL.
6522
+ const parameterizeUrl = (rawUrl, chainCapture) => {
6431
6523
  const withBase = baseUrl.length > 0 && rawUrl.startsWith(baseUrl)
6432
6524
  ? `\${context.baseUrl}${rawUrl.slice(baseUrl.length)}`
6433
6525
  : rawUrl;
6434
- return target.joinFields.reduce((acc, field) => {
6526
+ const threadedFields = new Set([
6527
+ ...target.joinFields,
6528
+ ...findThreadedJoinFields(firstItem, chainCapture),
6529
+ ]);
6530
+ return [...threadedFields].reduce((acc, field) => {
6435
6531
  const value = readValueAtPath(firstItem, field.split("."));
6436
6532
  const stringValue = typeof value === "string" && value.length > 0
6437
6533
  ? value
@@ -6447,7 +6543,7 @@ const httpClient = createHttpClient({ schema: ${pascal}ResponseSchema, bottlenec
6447
6543
  const chainStep = actionSteps[chainIndex];
6448
6544
  if (!chainStep)
6449
6545
  continue;
6450
- const url = parameterizeUrl(chainStep.capture.url);
6546
+ const url = parameterizeUrl(chainStep.capture.url, chainStep.capture);
6451
6547
  const schemaExpr = inferZodSchema(chainStep.capture.responseBody, 0, "", {
6452
6548
  looseServerResponse: true,
6453
6549
  aggregateUnitBasisFindingsByPath: groupAggregateUnitBasisFindingsByPath([
@@ -6467,6 +6563,13 @@ const httpClient = createHttpClient({ schema: ${pascal}ResponseSchema, bottlenec
6467
6563
  };
6468
6564
  const dataFoldMergeLines = buildFoldMergeLines("data");
6469
6565
  const dataFoldMergeBlock = dataFoldMergeLines.length > 0 ? `${dataFoldMergeLines.join("\n")}\n` : "";
6566
+ // The paginated fetch loop assembles its final page items into
6567
+ // `itemsById` — fold onto THAT flat, de-duplicated collection (once, after
6568
+ // the loop) rather than `data`/`primaryArrayPath`, so every item folded
6569
+ // is the final merged item across all fetched pages, not just page one's.
6570
+ const paginatedFoldMergeLines = paginationSignal
6571
+ ? buildFoldMergeLines("data", "[...itemsById.values()]")
6572
+ : [];
6470
6573
  const executeHttpBody = multiStepBody
6471
6574
  ? multiStepBody
6472
6575
  : paginationSignal
@@ -6476,6 +6579,7 @@ const httpClient = createHttpClient({ schema: ${pascal}ResponseSchema, bottlenec
6476
6579
  queryConstName: `${pascal.toUpperCase()}_QUERY`,
6477
6580
  gqlVariablesExpr,
6478
6581
  signal: paginationSignal,
6582
+ foldMergeLines: paginatedFoldMergeLines,
6479
6583
  })
6480
6584
  : gql
6481
6585
  ? ` const data = await getGql(context.baseUrl)(${gqlOperationNameExpr}, ${pascal.toUpperCase()}_QUERY, ${gqlVariablesExpr});
@@ -7555,8 +7659,18 @@ async function main() {
7555
7659
  const effectiveResponseBody = selectEffectiveResponseBody(isSubmissionFlow, actionSteps, responseBody, foldReturnSpec);
7556
7660
  // A declared foldReturn that resolves to no plan is a silent no-op otherwise
7557
7661
  // — the flow author gets the discarding selectReturnAction path with nothing
7558
- // in the output saying their declaration never applied.
7559
- if (foldReturnSpec !== null && resolveFoldPlan(actionSteps, foldReturnSpec).length === 0) {
7662
+ // in the output saying their declaration never applied. A multi-step
7663
+ // (submission) flow applies its fold via emitMultiStepExecuteHttp's own
7664
+ // resolveFoldPlan call, entirely independent of resolveApplicableFoldPlans
7665
+ // (which exists only to gate emitContractTs's single-primary hot path, and
7666
+ // unconditionally reports zero plans once multiStepBody is set) — so this
7667
+ // diagnostic must consult the SAME resolution each path actually applies,
7668
+ // or it falsely reports "no fold plan resolved" for every multi-step flow
7669
+ // with a working foldReturn.
7670
+ const effectiveFoldPlanCount = multiStepBody
7671
+ ? resolveFoldPlan(actionSteps, foldReturnSpec).length
7672
+ : resolveApplicableFoldPlans(actionSteps, foldReturnSpec, multiStepBody).length;
7673
+ if (foldReturnSpec !== null && effectiveFoldPlanCount === 0) {
7560
7674
  logger.warn(`flow declares foldReturn (endpointPattern: ${foldReturnSpec.endpointPattern}, resultsPath: ${foldReturnSpec.resultsPath}, joinFields: ${foldReturnSpec.joinFields.join(", ")}) but no fold plan resolved — no later capture matched the endpoint pattern, resultsPath resolved to no object array, or the matched drill-down is multipart; the drill-down's response will not be folded`);
7561
7675
  }
7562
7676
  logger.info(`generating plugin for ${siteId} (${gql ? "GraphQL" : browserFlowOnly ? `submission flow, ${actionSteps.length} steps, browser-flow-only (cross-domain hop detected)` : isSubmissionFlow ? `submission flow, ${actionSteps.length} steps` : "single-endpoint REST"}, baseUrl: ${baseUrl})`);