@enricai/barnacle 1.12.65 → 1.12.67

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.
@@ -371,10 +371,22 @@ export interface SubmitPatterns {
371
371
  * it. A pattern that names only the wizard's final step must not collapse a
372
372
  * multi-step chain (auth mint, paged listing, terminal submit) down to the
373
373
  * bare matching capture(s) — a hard filter would drop the earlier steps the
374
- * fold plan and state-threading depend on. When nothing matches, the result
375
- * is empty, matching what a hard filter would have produced.
374
+ * fold plan and state-threading depend on. When nothing matches the submit
375
+ * pattern, the result is empty, matching what a hard filter would have
376
+ * produced.
377
+ *
378
+ * A declared `foldReturn` drill-down that fires AFTER the last submit match
379
+ * (a detail-by-id call issued once the results call has answered) extends
380
+ * the boundary to its own last match: the flow author named that endpoint
381
+ * explicitly, and `buildFoldPlanFromSpec` can only resolve it if it survives
382
+ * here — otherwise the declared spec silently resolves nothing while a
383
+ * structural guess for an earlier drill still emits, so the loss is
384
+ * invisible in the output. The hops between the submit and the drill are
385
+ * kept for the same reason the pre-submit chain is: the drill's request may
386
+ * thread state minted by one of them. A fold match alone never resurrects a
387
+ * sequence the submit pattern rejected outright.
376
388
  */
377
- export declare function truncateActionSequenceAtSubmitPattern(sequence: ActionCapture[], submitPatterns: SubmitPatterns | null): ActionCapture[];
389
+ export declare function truncateActionSequenceAtSubmitPattern(sequence: ActionCapture[], submitPatterns: SubmitPatterns | null, foldReturnSpec?: FoldReturnSpec | null): ActionCapture[];
378
390
  /**
379
391
  * Reads `submit-manifest.json` (written by recon-browser) and resolves it to the
380
392
  * authoritative submission action sequence. This is the deepest submit-selection
@@ -771,6 +783,16 @@ interface ActionStep {
771
783
  * "10219132.json" -> "fixture10219132", "acme-metrics.config.json" ->
772
784
  * "acmeMetricsConfig") for use in generated `loadFixture` const lines. */
773
785
  export declare function sanitizeFixtureIdentifier(filename: string): string;
786
+ /**
787
+ * Accessor for a threaded field read off an ancestor loop var. An on-path
788
+ * chain (see {@link isAncestorOnPathField}) keeps the plain property access
789
+ * the assertion type already supports. Anything else (a per-group summary
790
+ * threaded into a drill body, any hop through an array element) does not
791
+ * typecheck as a plain access in the generated contract; the same cast form
792
+ * {@link unknownValueAccessor} uses for the item is the only way to read it.
793
+ * Exported for unit tests.
794
+ */
795
+ export declare function ancestorScopedAccessor(varName: string, field: string, typedRemainder: readonly string[] | null): string;
774
796
  /**
775
797
  * Walks the action sequence and decorates each step with: a unique response
776
798
  * var name, the state values its response produces (used by downstream steps),
@@ -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":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAwBH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAI3D,OAAO,EAA2B,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EACL,KAAK,OAAO,EAOb,MAAM,wBAAwB,CAAC;AAsJhC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,OAAO,EACnB,UAAU,GAAE,eAAkC,EAC9C,gBAAgB,GAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAA4B,GACvE,MAAM,GAAG,IAAI,CAkCf;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,aAAa,EAAE,EAC1B,UAAU,EAAE,eAAe,EAC3B,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBrB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,MAAM,GAAG,IAAI,CAkBf;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,CA6BrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5C;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAY3C;AAqDD,UAAU,SAAS;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;uDAKmD;IACnD,qBAAqB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5C;;;;;;;;;eASW;IACX,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;+DAM2D;IAC3D,gCAAgC,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,yBAAyB,EAAE,CAAC,CAAC;CAC9F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAQtF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,SAAS,OAAO,EAAE,EAC3B,KAAK,SAAI,EACT,MAAM,SAAK,EACX,IAAI,GAAE,SAAc,EACpB,IAAI,GAAE,SAAS,MAAM,EAAO,GAC3B,MAAM,CAkFR;AAoBD;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,iFAAiF;IACjF,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C;0CACsC;IACtC,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,oFAAoF;IACpF,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,iFAAiF;IACjF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAuMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,SAAS,OAAO,EAAE,GAC1B,SAAS,yBAAyB,EAAE,CAStC;AAyED;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,EAC9F,gBAAgB,EAAE,OAAO,EACzB,WAAW,EAAE,SAAS,CAAC,EAAE,EACzB,kBAAkB,EAAE,OAAO,EAC3B,cAAc,GAAE,cAAc,GAAG,IAAW,EAG5C,qBAAqB,GAAE,MAAM,GAAG,IAAW,GAC1C,OAAO,CA8BT;AAsDD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAe3E;AA4ID,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B,EAAE,MAAM,EAAE,CAAC;CACxC;AAgED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,OAAO,GAAG,IAAI,EAC9B,eAAe,EAAE,OAAO,EACxB,QAAQ,EAAE,SAAS,OAAO,EAAE,GAC3B,OAAO,EAAE,CAgBX;AAcD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,aAAa,EAAE,EAC1B,UAAU,EAAE,eAAe,EAC3B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,mBAAmB,GAAE,MAAM,EAAO,EAClC,cAAc,GAAE,MAAM,GAAG,IAAW,EACpC,cAAc,GAAE,cAAc,GAAG,IAAW,GAC3C,uBAAuB,GAAG,IAAI,CAoIhC;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,OAAO,EAAE,EACnB,mBAAmB,GAAE,MAAM,EAAO,EAClC,cAAc,GAAE,MAAM,GAAG,IAAW,EACpC,cAAc,GAAE,cAAc,GAAG,IAAW,GAC3C,OAAO,GAAG,IAAI,CA+BhB;AAUD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,EAAE,EACnB,mBAAmB,GAAE,MAAM,EAAO,EAClC,cAAc,GAAE,MAAM,GAAG,IAAW,EACpC,cAAc,GAAE,cAAc,GAAG,IAAW,GAC3C,MAAM,CAYR;AASD,MAAM,WAAW,aAAa;IAC5B,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;AAyCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,aAAa,EAAE,EACzB,cAAc,EAAE,cAAc,GAAG,IAAI,EACrC,cAAc,GAAE,cAAc,GAAG,IAAW,GAC3C,aAAa,EAAE,CAWjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,EAAE,GAClB,aAAa,EAAE,GAAG,IAAI,CAgBxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,GAAE,cAAc,GAAG,IAAW,EAC5C,cAAc,GAAE,cAAc,GAAG,IAAW,EAC5C,mBAAmB,GAAE,MAAM,EAAO,EAClC,cAAc,GAAE,MAAM,GAAG,IAAW,GACnC,aAAa,EAAE,CAgHjB;AAsED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,GAAE,cAAc,GAAG,IAAW,EAC5C,cAAc,GAAE,cAAc,GAAG,IAAW,EAC5C,mBAAmB,GAAE,MAAM,EAAO,EAClC,cAAc,GAAE,MAAM,GAAG,IAAW,GACnC,aAAa,EAAE,CAwCjB;AAiBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,aAAa,EAAE,EACxB,OAAO,EAAE,uBAAuB,GAAG,IAAI,GACtC,aAAa,EAAE,CAWjB;AA4RD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,aAAa,EAAE,EACtB,UAAU,CAAC,EAAE,SAAS,aAAa,EAAE,GACpC,OAAO,CAqET;AA+GD,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;IAC7D;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC1C;AAgOD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mCAAmC,CACjD,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,IAAI,CAYN;AAyDD,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;AAibD;;;uDAGuD;AACvD,UAAU,sBAAsB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd;wEACoE;IACpE,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AAUD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,OAAO,EAAE,GAClB,GAAG,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAgCpD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA6BnF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,aAAa,EAAE,EAC1B,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,EAAE,eAAe,EAC3B,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB;IACD,WAAW,EAAE,sBAAsB,EAAE,CAAC;IACtC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/D,CAiFA;AAsPD;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH;8EAC8E;AAC9E,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,GAAE,GAAG,CAAC,MAAM,CAAa,EACtC,oBAAoB,GAAE,GAAG,CAAC,MAAM,CAAa,EAC7C,kBAAkB,GAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAa,GACxE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAsIzB;AAED;4EAC4E;AAC5E,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;;;6CAIyC;IACzC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC1C;;;;;qEAKiE;IACjE,iBAAiB,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC1C;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;AAwDD;;0EAE0E;AAC1E,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CASlE;AAkGD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GACvC,MAAM,CAMR;AA2MD;;;;GAIG;AACH,0DAA0D;AAC1D,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,EAAE,EACxB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAClC,UAAU,EAAE,CAkMd;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE,CAUhF;AAoWD;;;oDAGoD;AACpD,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,UAAU,EAAE,EACrB,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CA6DtC;AAyOD;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtC;;;;4BAIwB;IACxB,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B;;gCAE4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA6ZD;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,qBAAqB,CAAC,EACnE,OAAO,EAAE,MAAM,EACf,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1C,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3C,UAAU,GAAE,eAAe,GAAG,IAAW,EACzC,eAAe,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,EAChD,cAAc,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,EAC/C,aAAa,GAAE,GAAG,CAAC,MAAM,CAAa,EACtC,iBAAiB,GAAE,sBAAsB,EAAO,EAChD,iBAAiB,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,EAClD,aAAa,GAAE,GAAG,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAa,EACzE,cAAc,GAAE,cAAc,GAAG,IAAW;AAC5C;;;;;;;;;GASG;AACH,UAAU,GAAE,MAAM,GAAG,IAAW,GAC/B,MAAM,CAmtCR;AAkCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAcvF;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,cAAc,GAAE,WAAW,CAAC,MAAM,CAAa,GAC9C,MAAM,GAAG,IAAI,CAwDf;AAmKD;;;;sDAIsD;AACtD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,IAAI,GAAE,MAAM,EAAO,GAClB;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CAAE,EAAE,CASxD;AAiCD;;;;6EAI6E;AAC7E,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,OAAO,EACd,IAAI,GAAE,MAAM,EAAO,GAClB;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CAAE,EAAE,CAWxD;AAWD;;;;iDAIiD;AACjD,MAAM,WAAW,QAAQ;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB;;;;;;kCAM8B;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;uBAwBuB;AACvB,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,uBAAuB,EAAE,MAAM,CAAC;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAyVD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,cAAc,GAAG,IAAI,EAC3B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,GACX,MAAM,CASR;AA6aD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAMvE;AAwOD;;;sCAGsC;AACtC,wBAAgB,6CAA6C,IAAI,MAAM,CAEtE;AAED,sFAAsF;AACtF,wBAAgB,+CAA+C,IAAI,IAAI,CAEtE;AAiKD,wBAAgB,uBAAuB,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EACpE,OAAO,EAAE,SAAS,CAAC,EAAE,EAOrB,qBAAqB,GAAE,MAAM,GAAG,IAAW,GAC1C,QAAQ,EAAE,CAuIZ;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B;uEACmE;IACnE,eAAe,EAAE,MAAM,CAAC;IACxB;gFAC4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB;;;0EAGsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;mBAIe;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB;;;;;;kBAMc;IACd,kBAAkB,CAAC,EAAE,MAAM,CACzB,MAAM,EACN;QACE,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;QACnC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;KACpC,CACF,CAAC;CACH;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAkDnF;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,CAAC,EAAE,KAAK,GAAG,SAAS,MAAM,EAAE,CAAC;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,CA8BhF;AA0MD;;;;iCAIiC;AACjC,wBAAgB,oCAAoC,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAOlF;AA8ID;;;;;qDAKqD;AACrD,wBAAgB,sCAAsC,IAAI,MAAM,CAE/D;AAED,wBAAgB,wCAAwC,IAAI,IAAI,CAE/D;AAm4BD,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,EAClF,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,cAAc,GAAE,cAAc,GAAG,IAAW,EAG5C,qBAAqB,GAAE,MAAM,GAAG,IAAW,GAC1C,QAAQ,EAAE,CAqBZ;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,EAC7F,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,cAAc,EAAE,cAAc,GAAG,IAAI,EACrC,aAAa,EAAE,MAAM,GAAG,SAAS,EAIjC,qBAAqB,GAAE,MAAM,GAAG,IAAW,GAC1C,QAAQ,EAAE,CAgBZ;AAmXD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,MAAM,EAAE,CAoCX;AAED;yEACyE;AACzE,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,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;;8DAE0D;IAC1D,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,YAAY,EAAE,OAAO,CAAC;IACtB;;;;yEAIqE;IACrE,mBAAmB,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACzC,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB;;6EAEyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;8BAG0B;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;+EAG2E;IAC3E,WAAW,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACjC,QAAQ,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,iGAAiG;IACjG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;2DAKuD;IACvD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;gFAG4E;IAC5E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,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;;;;;iCAK6B;IAC7B,4BAA4B,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAClE;;;;2EAIuE;IACvE,wBAAwB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C;;;;;;;mCAO+B;IAC/B,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IACzC;;;+DAG2D;IAC3D,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC;;;;;+EAK2E,CAAC,yBAAyB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5H;;;sEAGkE;IAClE,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC;;;;yEAIqE;IACrE,4BAA4B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD;;;;0EAIsE;IACtE,WAAW,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACpC;;;iCAG6B;IAC7B,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC;;;4CAGwC;IACxC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,GAAG,MAAM,CA0mCT;AAED;;;;;;;;;GASG;AACH;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,GACtB,MAAM,EAAE,CAQV;AAED,wBAAgB,iCAAiC,CAC/C,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,GACtB,IAAI,CAON;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;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AA6FN;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,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;IACxB;;0EAEsE;IACtE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;oCACgC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,MAAM,CA+HT;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;IACvB;oCACgC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CAuP3F;AAED;mEACmE;AACnE,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAgB5E;AAmID;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,8BAA8B,CAC5C,eAAe,EAAE,SAAS,MAAM,EAAE,EAClC,YAAY,EAAE,SAAS,aAAa,EAAE,EACtC,cAAc,EAAE,OAAO,GAAG,IAAI,GAC7B,GAAG,CAAC,OAAO,CAAC,CAsBd"}
@@ -52,6 +52,7 @@ exports.buildSelectOptionResolutions = buildSelectOptionResolutions;
52
52
  exports.walkSetCookiePairs = walkSetCookiePairs;
53
53
  exports.indexStateValues = indexStateValues;
54
54
  exports.sanitizeFixtureIdentifier = sanitizeFixtureIdentifier;
55
+ exports.ancestorScopedAccessor = ancestorScopedAccessor;
55
56
  exports.compileActionSteps = compileActionSteps;
56
57
  exports.collectHeaderBindings = collectHeaderBindings;
57
58
  exports.deriveProducerBoundaryBindings = deriveProducerBoundaryBindings;
@@ -1466,17 +1467,35 @@ function restrictToSubmitPattern(pool, submitPatterns) {
1466
1467
  * it. A pattern that names only the wizard's final step must not collapse a
1467
1468
  * multi-step chain (auth mint, paged listing, terminal submit) down to the
1468
1469
  * bare matching capture(s) — a hard filter would drop the earlier steps the
1469
- * fold plan and state-threading depend on. When nothing matches, the result
1470
- * is empty, matching what a hard filter would have produced.
1471
- */
1472
- function truncateActionSequenceAtSubmitPattern(sequence, submitPatterns) {
1470
+ * fold plan and state-threading depend on. When nothing matches the submit
1471
+ * pattern, the result is empty, matching what a hard filter would have
1472
+ * produced.
1473
+ *
1474
+ * A declared `foldReturn` drill-down that fires AFTER the last submit match
1475
+ * (a detail-by-id call issued once the results call has answered) extends
1476
+ * the boundary to its own last match: the flow author named that endpoint
1477
+ * explicitly, and `buildFoldPlanFromSpec` can only resolve it if it survives
1478
+ * here — otherwise the declared spec silently resolves nothing while a
1479
+ * structural guess for an earlier drill still emits, so the loss is
1480
+ * invisible in the output. The hops between the submit and the drill are
1481
+ * kept for the same reason the pre-submit chain is: the drill's request may
1482
+ * thread state minted by one of them. A fold match alone never resurrects a
1483
+ * sequence the submit pattern rejected outright.
1484
+ */
1485
+ function truncateActionSequenceAtSubmitPattern(sequence, submitPatterns, foldReturnSpec = null) {
1473
1486
  const matchesSubmit = compileSubmitMatcher(submitPatterns);
1474
- let lastMatchIndex = -1;
1487
+ const matchesFoldReturn = compileFoldReturnEndpointMatcher(foldReturnSpec);
1488
+ let lastSubmitIndex = -1;
1489
+ let lastFoldIndex = -1;
1475
1490
  for (let i = 0; i < sequence.length; i++) {
1476
1491
  if (matchesSubmit(sequence[i].capture))
1477
- lastMatchIndex = i;
1492
+ lastSubmitIndex = i;
1493
+ if (matchesFoldReturn(sequence[i].capture))
1494
+ lastFoldIndex = i;
1478
1495
  }
1479
- return sequence.slice(0, lastMatchIndex + 1);
1496
+ if (lastSubmitIndex === -1)
1497
+ return [];
1498
+ return sequence.slice(0, Math.max(lastSubmitIndex, lastFoldIndex) + 1);
1480
1499
  }
1481
1500
  /**
1482
1501
  * Reads `submit-manifest.json` (written by recon-browser) and resolves it to the
@@ -2430,6 +2449,12 @@ const ARRAY_INDEX_VAR_PATTERN = /^(?:i|idx)\d*$/;
2430
2449
  * landing under an `auth` key, a `label` re-sent as a `ref`) are expected,
2431
2450
  * not a bug. */
2432
2451
  const FOLD_SCOPED_ROOT_PATTERN = /^(?:item\d*|g\d+)\./;
2452
+ /** The `as Record<string, unknown>` re-assertion {@link unknownValueAccessor}
2453
+ * and {@link ancestorScopedAccessor} wrap around every non-leaf hop of an
2454
+ * item/ancestor field path. Stripped (together with the parentheses that
2455
+ * carry it) before a spliced accessor is name-checked, so the check sees the
2456
+ * bare dotted path the wrapper encodes. */
2457
+ const EMITTER_RECORD_CAST = / as Record<string, unknown>/g;
2433
2458
  /**
2434
2459
  * Derives the "own name" a spliced `${...}` accessor carries for {@link
2435
2460
  * assertBodyFieldSourceNameCorrelates} to correlate against its enclosing
@@ -2439,10 +2464,14 @@ const FOLD_SCOPED_ROOT_PATTERN = /^(?:item\d*|g\d+)\./;
2439
2464
  * fold/drill per-item or ancestor binding (see {@link
2440
2465
  * FOLD_SCOPED_ROOT_PATTERN}'s docstring for why only those are in scope) or
2441
2466
  * that is otherwise legitimately name-free (see {@link
2442
- * NAME_FREE_ACCESSOR_PATTERN} / {@link ARRAY_INDEX_VAR_PATTERN}).
2467
+ * NAME_FREE_ACCESSOR_PATTERN} / {@link ARRAY_INDEX_VAR_PATTERN}). The
2468
+ * emitter's own cast wrapper (see {@link EMITTER_RECORD_CAST}) is peeled off
2469
+ * first: it is spelling, not structure, and leaving it in place would let
2470
+ * every cast-form item/ancestor splice — the exact shape this gate exists to
2471
+ * check — slip past the root-binding test as an "expression".
2443
2472
  */
2444
2473
  function deriveSplicedSourceName(accessor) {
2445
- const trimmed = accessor.trim();
2474
+ const trimmed = accessor.trim().replace(EMITTER_RECORD_CAST, "").replace(/[()]/g, "");
2446
2475
  if (NAME_FREE_ACCESSOR_PATTERN.test(trimmed) || ARRAY_INDEX_VAR_PATTERN.test(trimmed)) {
2447
2476
  return null;
2448
2477
  }
@@ -3839,6 +3868,57 @@ function unknownValueAccessor(varName, path) {
3839
3868
  return isLast ? `${expr}${accessor}` : `(${expr}${accessor} as Record<string, unknown>)`;
3840
3869
  }, varName);
3841
3870
  }
3871
+ /**
3872
+ * Maps each ancestor loop var (`g0`, `g1`, ... as {@link pathToFoldLoopLines}
3873
+ * binds them, one per {@link ARRAY_WILDCARD_SEGMENT}, outer to inner) to the
3874
+ * remainder of the primary array path after its own wildcard. That remainder
3875
+ * is exactly the shape {@link foldArrayAssertionType} declares on the
3876
+ * ancestor's type — the only properties TypeScript knows on it; every
3877
+ * sibling field is invisible to the type even though it is real response
3878
+ * data at runtime.
3879
+ */
3880
+ function ancestorTypedRemainders(primaryArrayPath, ancestorVars) {
3881
+ const wildcardPositions = primaryArrayPath.flatMap((segment, i) => segment === ARRAY_WILDCARD_SEGMENT ? [i] : []);
3882
+ return new Map(wildcardPositions.flatMap((position, ancestorIndex) => {
3883
+ const varName = ancestorVars[ancestorIndex];
3884
+ return varName === undefined
3885
+ ? []
3886
+ : [[varName, primaryArrayPath.slice(position + 1)]];
3887
+ }));
3888
+ }
3889
+ /**
3890
+ * Whether a threaded field read off an ancestor loop var stays inside the
3891
+ * shape its assertion type declares, so a plain property chain typechecks
3892
+ * under the repo's own strict settings. Each hop must follow the typed
3893
+ * remainder segment for segment and must stop before the first typed
3894
+ * wildcard: crossing an array means an index hop, which
3895
+ * `noUncheckedIndexedAccess` types as possibly-undefined, so every further
3896
+ * hop is a TS18048 in the generated contract — the cast form is the only
3897
+ * spelling that survives it. A sibling step off the path is a TS2339 for
3898
+ * the same reason.
3899
+ */
3900
+ function isAncestorOnPathField(fieldSegments, typedRemainder) {
3901
+ const firstWildcard = typedRemainder.indexOf(ARRAY_WILDCARD_SEGMENT);
3902
+ const plainDepth = firstWildcard === -1 ? typedRemainder.length : firstWildcard;
3903
+ return (fieldSegments.length <= plainDepth &&
3904
+ fieldSegments.every((segment, i) => segment === typedRemainder[i]));
3905
+ }
3906
+ /**
3907
+ * Accessor for a threaded field read off an ancestor loop var. An on-path
3908
+ * chain (see {@link isAncestorOnPathField}) keeps the plain property access
3909
+ * the assertion type already supports. Anything else (a per-group summary
3910
+ * threaded into a drill body, any hop through an array element) does not
3911
+ * typecheck as a plain access in the generated contract; the same cast form
3912
+ * {@link unknownValueAccessor} uses for the item is the only way to read it.
3913
+ * Exported for unit tests.
3914
+ */
3915
+ function ancestorScopedAccessor(varName, field, typedRemainder) {
3916
+ const segments = field.split(".");
3917
+ if (typedRemainder !== null && isAncestorOnPathField(segments, typedRemainder)) {
3918
+ return `${varName}${pathToAccessor(segments, { assertNonNull: false })}`;
3919
+ }
3920
+ return unknownValueAccessor(`(${varName} as Record<string, unknown>)`, segments);
3921
+ }
3842
3922
  /**
3843
3923
  * Builds a nested TypeScript assertion type matching a JSON path. e.g.
3844
3924
  * ["Auth","Token"], "string" -> `{ Auth: { Token: string } }`
@@ -3863,17 +3943,19 @@ function pathToAssertionType(path, leafType) {
3863
3943
  * (the primary results array, or the drill-down's per-item match array). An
3864
3944
  * {@link ARRAY_WILDCARD_SEGMENT} segment types as an array of whatever the
3865
3945
  * rest of the path resolves to, matching the `.flatMap` accessor
3866
- * {@link pathToFoldAccessorExpr} emits for the same segment.
3946
+ * {@link pathToFoldAccessorExpr} emits for the same segment. `leaf` lets a
3947
+ * caller type the terminal value as a single object instead — the flat
3948
+ * one-item-collection case {@link emitFoldMatchAndMergeLines} wraps itself.
3867
3949
  */
3868
- function foldArrayAssertionType(path) {
3950
+ function foldArrayAssertionType(path, leaf = "Record<string, unknown>[]") {
3869
3951
  if (path.length === 0)
3870
- return "Record<string, unknown>[]";
3952
+ return leaf;
3871
3953
  const segment = path[0];
3872
3954
  if (segment === ARRAY_WILDCARD_SEGMENT) {
3873
- return `(${foldArrayAssertionType(path.slice(1))})[]`;
3955
+ return `(${foldArrayAssertionType(path.slice(1), leaf)})[]`;
3874
3956
  }
3875
3957
  const key = isValidJsIdentifier(segment) ? segment : JSON.stringify(segment);
3876
- return `{ ${key}: ${foldArrayAssertionType(path.slice(1))} }`;
3958
+ return `{ ${key}: ${foldArrayAssertionType(path.slice(1), leaf)} }`;
3877
3959
  }
3878
3960
  /**
3879
3961
  * Builds a JS access expression reading `path` off of `expr`, generalizing
@@ -5195,7 +5277,18 @@ function emitFoldMatchAndMergeLines(terminalStep, target, itemVar, suffix, joinA
5195
5277
  ` Object.assign(${itemVar}, Object.fromEntries(Object.entries(foldMatch${suffix} ?? {}).filter(([k]) => !(k in ${itemVar}))));`,
5196
5278
  ];
5197
5279
  }
5198
- const foldMatchesExpr = pathToFoldAccessorExpr(`(${terminalStep.varName} as ${foldArrayAssertionType(target.chainArrayPath)})`, target.chainArrayPath);
5280
+ // A wildcard-free chainArrayPath can land on a flat object rather than an
5281
+ // array — objectItemsAtPath resolves it as an implicit one-item
5282
+ // collection at plan time (a declared `drillResultsPath` naming a
5283
+ // detail-by-id sub-object does exactly this), so the emitted match must
5284
+ // see the same one-item array at runtime instead of calling `.find` on a
5285
+ // plain object. Decided from the captured terminal body, the same
5286
+ // evidence plan resolution used, so the two never disagree.
5287
+ const isFlatObjectAtPath = !target.chainArrayPath.includes(ARRAY_WILDCARD_SEGMENT) &&
5288
+ isObjectArrayItem(readValueAtPath(terminalStep.capture.responseBody, target.chainArrayPath));
5289
+ const foldMatchesExpr = isFlatObjectAtPath
5290
+ ? `[${pathToFoldAccessorExpr(`(${terminalStep.varName} as ${foldArrayAssertionType(target.chainArrayPath, "Record<string, unknown>")})`, target.chainArrayPath)}]`
5291
+ : pathToFoldAccessorExpr(`(${terminalStep.varName} as ${foldArrayAssertionType(target.chainArrayPath)})`, target.chainArrayPath);
5199
5292
  const matchAccessorFor = (f, varName, optionalRoot) => {
5200
5293
  const segments = f.split(".");
5201
5294
  // The drill-down response is a DIFFERENT payload than the
@@ -5860,13 +5953,14 @@ pascalName = null) {
5860
5953
  // single-target case keeps the original unsuffixed names.
5861
5954
  const suffix = foldPlan.targets.length > 1 ? `${planSuffix}${targetIndex}` : planSuffix;
5862
5955
  // Only `itemVar` (and fold-match candidates) are `Record<string,
5863
- // unknown>`-typed — ancestor loop vars keep the real response-derived
5864
- // type, so re-asserting THEIR intermediate hops would be both
5865
- // unnecessary and, worse, would replace a real property access with
5866
- // an opaque cast in the emitted URL/body text.
5956
+ // unknown>`-typed; an ancestor loop var is typed by the primary-array
5957
+ // assertion, which declares only the path below it — see
5958
+ // ancestorScopedAccessor for why a field off that path needs the
5959
+ // cast form while an on-path chain keeps the plain property access.
5960
+ const typedRemainderByAncestor = ancestorTypedRemainders(foldPlan.primaryArrayPath, ancestorVars);
5867
5961
  const scopedAccessor = (varName, field) => varName === itemVar
5868
5962
  ? unknownValueAccessor(varName, field.split("."))
5869
- : `${varName}${pathToAccessor(field.split("."), { assertNonNull: false })}`;
5963
+ : ancestorScopedAccessor(varName, field, typedRemainderByAncestor.get(varName) ?? null);
5870
5964
  const joinAccessor = (field) => scopedAccessor(itemVar, field);
5871
5965
  // Computed once per fold target instead of once per `parameterize`
5872
5966
  // call: `actions` never changes across the url/headers/body calls a
@@ -7895,6 +7989,60 @@ function readValueAtPath(body, path) {
7895
7989
  return node[segment];
7896
7990
  }, body);
7897
7991
  }
7992
+ /**
7993
+ * Turns a flow author's plain dot-separated {@link FoldReturnSpec.resultsPath}
7994
+ * / `drillResultsPath` into the SAME {@link ARRAY_WILDCARD_SEGMENT}-bearing
7995
+ * shape {@link findAllObjectArrayFields} would have discovered structurally,
7996
+ * by walking `rawSegments` against a REAL `body` and inserting the sentinel
7997
+ * wherever the path crosses an array the author's segment doesn't literally
7998
+ * index into. A JSON dot-path is ordinary object-property notation; it has
7999
+ * no convention of its own for "every element of this array" (that spelling
8000
+ * is this module's internal detail), so an author naming a genuinely nested
8001
+ * per-ancestor array — e.g. `"trips.legs"` for a response shaped
8002
+ * `{ trips: [{ legs: [...] }] }` — always omits it. Left unresolved, that
8003
+ * mismatch is silent and total: `objectItemsAtPath`'s plain (no-wildcard)
8004
+ * branch reads a property straight off the array object, resolves to
8005
+ * `undefined`, and the whole spec fails to match ANY primary — and even
8006
+ * where a structural target already exists to fall back onto, every
8007
+ * primaryArrayPath equality check the fold-join merge (
8008
+ * {@link mergeSpecPlanOntoSamePrimary}) runs is a bare `JSON.stringify`
8009
+ * comparison against the structural path's own always-wildcarded form, so a
8010
+ * declared path that's semantically identical but spelled without the
8011
+ * sentinel can never match it either — the structural guess silently wins
8012
+ * regardless of how many per-target override branches are added. Normalizing
8013
+ * at the one point every one of those comparisons ultimately reads from
8014
+ * fixes them all at once, rather than teaching each comparison site its own
8015
+ * tolerance.
8016
+ *
8017
+ * A literal numeric segment (see {@link ARRAY_INDEX_KEY_PATTERN}) is
8018
+ * left as-is — an author who names one exact array element that way already
8019
+ * resolves correctly via `readValueAtPath`'s ordinary bracket access, and
8020
+ * rewriting it to the wildcard would silently widen "this one element" into
8021
+ * "every element". Uses the array's own first object-array item as the
8022
+ * representative to keep walking deeper (mirroring
8023
+ * {@link findAllObjectArrayFieldsUncached}'s own DFS-first-match precedent);
8024
+ * a path that turns out to disagree across sibling elements is exactly what
8025
+ * {@link objectItemsAtPath}'s later wildcard-driven `.flatMap` — not this
8026
+ * one-shot shape walk — is responsible for reconciling.
8027
+ */
8028
+ function resolveDeclaredArrayPath(rawSegments, body) {
8029
+ const resolved = [];
8030
+ let node = body;
8031
+ for (const segment of rawSegments) {
8032
+ if (Array.isArray(node) &&
8033
+ segment !== ARRAY_WILDCARD_SEGMENT &&
8034
+ !ARRAY_INDEX_KEY_PATTERN.test(segment)) {
8035
+ resolved.push(ARRAY_WILDCARD_SEGMENT);
8036
+ node = node.find(isObjectArrayItem);
8037
+ }
8038
+ resolved.push(segment);
8039
+ node =
8040
+ node !== null && typeof node === "object"
8041
+ ? node[segment]
8042
+ : undefined;
8043
+ }
8044
+ return resolved;
8045
+ }
7898
8046
  /** The object items of the array at `path` — the same subset
7899
8047
  * {@link findObjectArrayField} exposes as `items`, but anchored to a
7900
8048
  * caller-supplied path instead of discovered by DFS. `null` when `path`
@@ -8194,8 +8342,8 @@ function compileFoldReturnEndpointMatcher(spec) {
8194
8342
  function compileFoldReturnResultsMatcher(spec) {
8195
8343
  if (spec === null)
8196
8344
  return () => false;
8197
- const resultsPath = spec.resultsPath.split(".");
8198
- return (capture) => objectItemsAtPath(capture.responseBody, resultsPath) !== null;
8345
+ const rawResultsPath = spec.resultsPath.split(".");
8346
+ return (capture) => objectItemsAtPath(capture.responseBody, resolveDeclaredArrayPath(rawResultsPath, capture.responseBody)) !== null;
8199
8347
  }
8200
8348
  function buildFoldPlanFromSpec(actions, spec,
8201
8349
  // See detectDrillDownFoldPlan's identical parameter — constrains this
@@ -8220,7 +8368,7 @@ exactPrimaryStepIndex = null,
8220
8368
  // its own drill endpoint, instead of only the one this function's
8221
8369
  // freshest-first scan happens to land on first.
8222
8370
  restrictToDrillEndpointKey = null) {
8223
- const primaryArrayPath = spec.resultsPath.split(".");
8371
+ const rawPrimaryArrayPath = spec.resultsPath.split(".");
8224
8372
  const matchesFoldReturnEndpoint = compileFoldReturnEndpointMatcher(spec);
8225
8373
  // Built once and shared across every primaryStepIndex — see
8226
8374
  // buildRequestValueIndex's docstring. Lets each primary immediately tell
@@ -8237,6 +8385,7 @@ restrictToDrillEndpointKey = null) {
8237
8385
  operationGroupKey(actions[primaryStepIndex].capture) !== primaryIdentityAnchor) {
8238
8386
  continue;
8239
8387
  }
8388
+ const primaryArrayPath = resolveDeclaredArrayPath(rawPrimaryArrayPath, actions[primaryStepIndex].capture.responseBody);
8240
8389
  const primaryItems = objectItemsAtPath(actions[primaryStepIndex].capture.responseBody, primaryArrayPath);
8241
8390
  if (!primaryItems)
8242
8391
  continue;
@@ -8325,7 +8474,7 @@ restrictToDrillEndpointKey = null) {
8325
8474
  if (spec.drillResultsPath === undefined) {
8326
8475
  return findObjectArrayFieldOrWholeObject(drill.capture.responseBody)?.path ?? null;
8327
8476
  }
8328
- const path = spec.drillResultsPath.split(".");
8477
+ const path = resolveDeclaredArrayPath(spec.drillResultsPath.split("."), drill.capture.responseBody);
8329
8478
  return objectItemsAtPath(drill.capture.responseBody, path) ? path : null;
8330
8479
  })();
8331
8480
  const { chain, chainArrayPath, chainTerminalIndex } = computeFoldChain(actions, entryIndex, drillArrayPath ?? []);
@@ -8439,26 +8588,53 @@ primaryIdentityAnchor = null) {
8439
8588
  // primary's structural targets even when it has several (e.g. a genuinely
8440
8589
  // per-item drill loop resolving one independent target per item, each at its
8441
8590
  // own endpoint). See buildFoldPlanFromSpec's restrictToDrillEndpointKey docstring.
8591
+ const matchesDeclaredEndpoint = compileFoldReturnEndpointMatcher(foldReturnSpec);
8592
+ const declaredPrimaryArrayPath = resolveDeclaredArrayPath(foldReturnSpec.resultsPath.split("."), actions[plan.primaryStepIndex].capture.responseBody);
8442
8593
  const mergedTargets = plan.targets.map((target) => {
8443
8594
  const ownSpecPlan = buildFoldPlanFromSpec(actions, foldReturnSpec, primaryIdentityAnchor, plan.primaryStepIndex, endpointKey(actions[target.drillStepIndex].capture.url));
8444
- if (ownSpecPlan === null ||
8445
- JSON.stringify(ownSpecPlan.primaryArrayPath) !== JSON.stringify(plan.primaryArrayPath)) {
8446
- return target;
8595
+ if (ownSpecPlan !== null &&
8596
+ JSON.stringify(ownSpecPlan.primaryArrayPath) === JSON.stringify(plan.primaryArrayPath)) {
8597
+ // ownSpecPlan was resolved with restrictToDrillEndpointKey pinned to
8598
+ // this target's OWN drill endpoint, so its single target (see
8599
+ // buildFoldPlanFromSpec's `targets: [{...}]` literal — it never
8600
+ // returns more than one) IS the spec's resolution of this restricted
8601
+ // endpoint by construction. Matching it back to `target` via
8602
+ // foldTargetDrillIdentity is not just redundant but actively wrong: a
8603
+ // multi-hop drill chain can make the spec's forward walk
8604
+ // (buildFoldPlanFromSpec's computeFoldChain resolution) land on a
8605
+ // different chainTerminalIndex/chainArrayPath than the structural
8606
+ // heuristic did for the exact same restricted endpoint, so the
8607
+ // identity lookup misses and the declared joinFields override is
8608
+ // silently dropped in favor of the heuristic's structural guess.
8609
+ const specTarget = ownSpecPlan.targets[0];
8610
+ return specTarget === undefined ? target : { ...target, joinFields: specTarget.joinFields };
8447
8611
  }
8448
- // ownSpecPlan was resolved with restrictToDrillEndpointKey pinned to
8449
- // this target's OWN drill endpoint, so its single target (see
8450
- // buildFoldPlanFromSpec's `targets: [{...}]` literal — it never
8451
- // returns more than one) IS the spec's resolution of this restricted
8452
- // endpoint by construction. Matching it back to `target` via
8453
- // foldTargetDrillIdentity is not just redundant but actively wrong: a
8454
- // multi-hop drill chain can make the spec's forward walk
8455
- // (buildFoldPlanFromSpec's computeFoldChain resolution) land on a
8456
- // different chainTerminalIndex/chainArrayPath than the structural
8457
- // heuristic did for the exact same restricted endpoint, so the
8458
- // identity lookup misses and the declared joinFields override is
8459
- // silently dropped in favor of the heuristic's structural guess.
8460
- const specTarget = ownSpecPlan.targets[0];
8461
- return specTarget === undefined ? target : { ...target, joinFields: specTarget.joinFields };
8612
+ // buildFoldPlanFromSpec came back null (or landed on a different
8613
+ // primaryArrayPath) because it couldn't resolve a
8614
+ // primaryMatchedItemIndex for this drill — the join value it names
8615
+ // sits on the drill response but isn't discoverable at that same
8616
+ // literal path on any primary item (a generation-time-only schema-
8617
+ // inference concern; see resolveSpecMatchedPrimaryItemIndexFromResponse).
8618
+ // That failure has nothing to do with whether the declared joinFields
8619
+ // should be trusted at RUNTIME: emitFoldMatchAndMergeLines only ever
8620
+ // reads target.joinFields (a field-name string), never
8621
+ // primaryMatchedItemIndex. Once the declared spec's own endpoint
8622
+ // pattern and resultsPath demonstrably match THIS already
8623
+ // structurally-resolved target, the declared joinFields must win over
8624
+ // the structural guess regardless of whether a representative item
8625
+ // could be picked.
8626
+ // Test against the chain's TERMINAL capture (where the fold array —
8627
+ // and thus the declared identifier field — actually lives), not the
8628
+ // structural heuristic's threading-entry `drillStepIndex`: on a
8629
+ // multi-hop chain the two can diverge (see foldTargetDrillIdentity's
8630
+ // docstring above), and a declared endpointPattern names the call
8631
+ // that holds the array, not whichever earlier hop some other field
8632
+ // happened to be threaded into.
8633
+ const targetMatchesDeclaredEndpoint = matchesDeclaredEndpoint(actions[target.chainTerminalIndex].capture);
8634
+ const primaryArrayPathMatchesSpec = JSON.stringify(declaredPrimaryArrayPath) === JSON.stringify(plan.primaryArrayPath);
8635
+ return targetMatchesDeclaredEndpoint && primaryArrayPathMatchesSpec
8636
+ ? { ...target, joinFields: foldReturnSpec.joinFields }
8637
+ : target;
8462
8638
  });
8463
8639
  // A spec-declared target the heuristic missed entirely (an independent
8464
8640
  // drill-down at a NEW endpoint) is still found via the original
@@ -9849,13 +10025,17 @@ const httpClient = createHttpClient({ schema: ${pascal}ResponseSchema, bottlenec
9849
10025
  const isAncestorScoped = isFoldTargetAncestorScoped(target, actionSteps.map((s) => ({ capture: s.capture })), primaryItemsWithAncestors, fullAncestors);
9850
10026
  const suffix = foldPlan.targets.length > 1 ? `${planSuffix}${targetIndex}` : planSuffix;
9851
10027
  // Only `itemVar` (and fold-match candidates) are `Record<string,
9852
- // unknown>`-typed — ancestor loop vars keep the real response-derived
9853
- // type, so re-asserting THEIR intermediate hops would be both
9854
- // unnecessary and, worse, would replace a real property access with
9855
- // an opaque cast in the emitted URL/body text.
10028
+ // unknown>`-typed; an ancestor loop var is typed by the primary-array
10029
+ // assertion, which declares only the path below it — see
10030
+ // ancestorScopedAccessor for why a field off that path needs the
10031
+ // cast form while an on-path chain keeps the plain property access.
10032
+ // Keyed on the path the loop was actually built from: under
10033
+ // itemsOverride the ancestor vars belong to residualPath's own
10034
+ // wildcards, not to crossings the paginated merge already flattened.
10035
+ const typedRemainderByAncestor = ancestorTypedRemainders(residualPath, ancestorVars);
9856
10036
  const scopedAccessor = (varName, field) => varName === itemVar
9857
10037
  ? unknownValueAccessor(varName, field.split("."))
9858
- : `${varName}${pathToAccessor(field.split("."), { assertNonNull: false })}`;
10038
+ : ancestorScopedAccessor(varName, field, typedRemainderByAncestor.get(varName) ?? null);
9859
10039
  const joinAccessor = (field) => scopedAccessor(itemVar, field);
9860
10040
  // Computed once per fold target instead of once per `parameterizeUrl`
9861
10041
  // call: `actionSteps` never changes across the calls this target's
@@ -11178,7 +11358,9 @@ async function main() {
11178
11358
  // a manifest built from a single flow-declared submit step cannot represent
11179
11359
  // a wizard whose every section saves independently, so it is only trusted
11180
11360
  // when it isn't a strict undercount of what the same activeCaptures' own
11181
- // heuristic extraction finds.
11361
+ // heuristic extraction finds — and, since it only ever records
11362
+ // submit-pattern matches, only when it isn't missing a declared foldReturn
11363
+ // drill-down the heuristic sequence found past the submit step.
11182
11364
  const unfilteredHeuristicActionCaptures = gql
11183
11365
  ? dedupRedundantSameOperationCaptures(graphqlActionSequence, primaryGraphQLOperation)
11184
11366
  : collapseRedundantSameEndpointCaptures(collapseRedundantPatches(extractActionSequence(activeCaptures, null, foldReturnSpec, ownBackendHostnames, fallbackDomain)));
@@ -11192,7 +11374,7 @@ async function main() {
11192
11374
  // never overridden by the richer unfiltered sequence.
11193
11375
  const patternedHeuristicActionCaptures = submitPatterns.endpoint === null && submitPatterns.body === null
11194
11376
  ? unfilteredHeuristicActionCaptures
11195
- : truncateActionSequenceAtSubmitPattern(unfilteredHeuristicActionCaptures, submitPatterns);
11377
+ : truncateActionSequenceAtSubmitPattern(unfilteredHeuristicActionCaptures, submitPatterns, foldReturnSpec);
11196
11378
  const patternUndercounts = patternedHeuristicActionCaptures.length < unfilteredHeuristicActionCaptures.length;
11197
11379
  if (patternUndercounts && requireSubmitEndpointMatch) {
11198
11380
  // Distinct wording from the non-required case below: this pattern is never
@@ -11207,9 +11389,22 @@ async function main() {
11207
11389
  }
11208
11390
  const heuristicActionCaptures = patternedHeuristicActionCaptures;
11209
11391
  const manifestActionCaptures = resolveManifestActionSequence(runRoot, activeCaptures);
11392
+ // A manifest only ever records submit-pattern matches, so it can never
11393
+ // carry a declared foldReturn drill-down the heuristic sequence found
11394
+ // past the submit step — and a manifest padded by re-fired submits can
11395
+ // still out-count that sequence. Trusting it then would discard the
11396
+ // author's declared drill exactly as the pre-fold truncation used to.
11397
+ const matchesDeclaredFoldReturn = compileFoldReturnEndpointMatcher(foldReturnSpec);
11398
+ const manifestLacksDeclaredFoldDrill = manifestActionCaptures !== null &&
11399
+ heuristicActionCaptures.some((a) => matchesDeclaredFoldReturn(a.capture)) &&
11400
+ !manifestActionCaptures.some((a) => matchesDeclaredFoldReturn(a.capture));
11210
11401
  const manifestUndercounts = manifestActionCaptures !== null &&
11211
- manifestActionCaptures.length < heuristicActionCaptures.length;
11212
- if (manifestActionCaptures !== null && manifestUndercounts) {
11402
+ (manifestActionCaptures.length < heuristicActionCaptures.length ||
11403
+ manifestLacksDeclaredFoldDrill);
11404
+ if (manifestActionCaptures !== null && manifestLacksDeclaredFoldDrill) {
11405
+ logger.info(`submission selection: ignoring submit-manifest.json (${manifestActionCaptures.length} capture(s)) because it lacks the declared foldReturn drill-down (endpointPattern: ${foldReturnSpec?.endpointPattern}) the heuristic action sequence (${heuristicActionCaptures.length} capture(s)) contains`);
11406
+ }
11407
+ else if (manifestActionCaptures !== null && manifestUndercounts) {
11213
11408
  logger.info(`submission selection: ignoring submit-manifest.json (${manifestActionCaptures.length} capture(s)) as an undercount of the heuristic action sequence (${heuristicActionCaptures.length} capture(s))`);
11214
11409
  }
11215
11410
  else if (manifestActionCaptures !== null) {
@@ -11430,6 +11625,17 @@ async function main() {
11430
11625
  if (foldReturnSpec !== null && effectiveFoldPlanCount === 0) {
11431
11626
  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`);
11432
11627
  }
11628
+ // The quieter failure: structural plans resolved (so the count above is
11629
+ // non-zero) but the DECLARED spec itself resolved nothing, so its
11630
+ // joinFields never reached any emitted target and only heuristic join
11631
+ // guesses were emitted. Without this the two cases are indistinguishable
11632
+ // in the output. Anchored exactly as the emitted resolution above is, so
11633
+ // the diagnostic never disagrees with what actually went into the file.
11634
+ if (foldReturnSpec !== null &&
11635
+ effectiveFoldPlanCount > 0 &&
11636
+ buildFoldPlanFromSpec(actionSteps, foldReturnSpec, multiStepBody ? null : emittedPrimaryAnchor) === null) {
11637
+ logger.warn(`flow declares foldReturn (endpointPattern: ${foldReturnSpec.endpointPattern}, resultsPath: ${foldReturnSpec.resultsPath}, joinFields: ${foldReturnSpec.joinFields.join(", ")}) but the declared spec resolved no fold plan — only structurally-detected fold plans (with their own guessed join fields) were emitted, so the declared joinFields were not applied; check that the endpointPattern names a capture in the action sequence and resultsPath resolves on the primary response`);
11638
+ }
11433
11639
  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})`);
11434
11640
  if (emit === "config") {
11435
11641
  (0, node_fs_1.mkdirSync)(outDir, { recursive: true });