callman-core 1.27.0 → 1.28.1

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.
Files changed (186) hide show
  1. package/ai-packs/db-queries.md +10 -1
  2. package/ai-packs/diagram-components.md +373 -0
  3. package/ai-packs/scenario-nodes.md +451 -0
  4. package/dist/ai/index.d.ts +1 -0
  5. package/dist/ai/index.d.ts.map +1 -1
  6. package/dist/ai/index.js +1 -0
  7. package/dist/ai/index.js.map +1 -1
  8. package/dist/ai/prompts/scenario.d.ts.map +1 -1
  9. package/dist/ai/prompts/scenario.js +9 -8
  10. package/dist/ai/prompts/scenario.js.map +1 -1
  11. package/dist/ai/prompts/scenarioNodeReference.d.ts +16 -0
  12. package/dist/ai/prompts/scenarioNodeReference.d.ts.map +1 -0
  13. package/dist/ai/prompts/scenarioNodeReference.js +882 -0
  14. package/dist/ai/prompts/scenarioNodeReference.js.map +1 -0
  15. package/dist/curl/bodyFormat.d.ts +4 -0
  16. package/dist/curl/bodyFormat.d.ts.map +1 -0
  17. package/dist/curl/bodyFormat.js +80 -0
  18. package/dist/curl/bodyFormat.js.map +1 -0
  19. package/dist/curl/index.d.ts +5 -0
  20. package/dist/curl/index.d.ts.map +1 -0
  21. package/dist/curl/index.js +4 -0
  22. package/dist/curl/index.js.map +1 -0
  23. package/dist/curl/parseCurl.d.ts +4 -0
  24. package/dist/curl/parseCurl.d.ts.map +1 -0
  25. package/dist/curl/parseCurl.js +288 -0
  26. package/dist/curl/parseCurl.js.map +1 -0
  27. package/dist/curl/rows.d.ts +6 -0
  28. package/dist/curl/rows.d.ts.map +1 -0
  29. package/dist/curl/rows.js +23 -0
  30. package/dist/curl/rows.js.map +1 -0
  31. package/dist/curl/types.d.ts +21 -0
  32. package/dist/curl/types.d.ts.map +1 -0
  33. package/dist/curl/types.js +6 -0
  34. package/dist/curl/types.js.map +1 -0
  35. package/dist/diagram/componentCatalog.d.ts +31 -0
  36. package/dist/diagram/componentCatalog.d.ts.map +1 -0
  37. package/dist/diagram/componentCatalog.data.d.ts +3 -0
  38. package/dist/diagram/componentCatalog.data.d.ts.map +1 -0
  39. package/dist/diagram/componentCatalog.data.js +287 -0
  40. package/dist/diagram/componentCatalog.data.js.map +1 -0
  41. package/dist/diagram/componentCatalog.js +71 -0
  42. package/dist/diagram/componentCatalog.js.map +1 -0
  43. package/dist/diagram/edgeSemantics.d.ts +28 -0
  44. package/dist/diagram/edgeSemantics.d.ts.map +1 -0
  45. package/dist/diagram/edgeSemantics.js +78 -0
  46. package/dist/diagram/edgeSemantics.js.map +1 -0
  47. package/dist/diagram/elkGraph.d.ts +80 -0
  48. package/dist/diagram/elkGraph.d.ts.map +1 -0
  49. package/dist/diagram/elkGraph.js +283 -0
  50. package/dist/diagram/elkGraph.js.map +1 -0
  51. package/dist/diagram/index.d.ts +7 -0
  52. package/dist/diagram/index.d.ts.map +1 -0
  53. package/dist/diagram/index.js +13 -0
  54. package/dist/diagram/index.js.map +1 -0
  55. package/dist/diagram/migrations.d.ts +3 -0
  56. package/dist/diagram/migrations.d.ts.map +1 -0
  57. package/dist/diagram/migrations.js +33 -0
  58. package/dist/diagram/migrations.js.map +1 -0
  59. package/dist/diagram/normalize.d.ts +4 -0
  60. package/dist/diagram/normalize.d.ts.map +1 -0
  61. package/dist/diagram/normalize.js +68 -0
  62. package/dist/diagram/normalize.js.map +1 -0
  63. package/dist/diagram/schema.d.ts +116 -0
  64. package/dist/diagram/schema.d.ts.map +1 -0
  65. package/dist/diagram/schema.js +135 -0
  66. package/dist/diagram/schema.js.map +1 -0
  67. package/dist/http-file/detect.d.ts +12 -0
  68. package/dist/http-file/detect.d.ts.map +1 -0
  69. package/dist/http-file/detect.js +108 -0
  70. package/dist/http-file/detect.js.map +1 -0
  71. package/dist/http-file/flatImport.d.ts +33 -0
  72. package/dist/http-file/flatImport.d.ts.map +1 -0
  73. package/dist/http-file/flatImport.js +102 -0
  74. package/dist/http-file/flatImport.js.map +1 -0
  75. package/dist/http-file/index.d.ts +4 -0
  76. package/dist/http-file/index.d.ts.map +1 -0
  77. package/dist/http-file/index.js +7 -0
  78. package/dist/http-file/index.js.map +1 -0
  79. package/dist/http-file/parseHttpFile.d.ts +13 -0
  80. package/dist/http-file/parseHttpFile.d.ts.map +1 -0
  81. package/dist/http-file/parseHttpFile.js +154 -0
  82. package/dist/http-file/parseHttpFile.js.map +1 -0
  83. package/dist/index.d.ts +4 -0
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +8 -0
  86. package/dist/index.js.map +1 -1
  87. package/dist/request/requestBody.d.ts +55 -0
  88. package/dist/request/requestBody.d.ts.map +1 -0
  89. package/dist/request/requestBody.js +198 -0
  90. package/dist/request/requestBody.js.map +1 -0
  91. package/dist/runner/requestRunner.d.ts.map +1 -1
  92. package/dist/runner/requestRunner.js +127 -43
  93. package/dist/runner/requestRunner.js.map +1 -1
  94. package/dist/runner/runCollection.d.ts +1 -1
  95. package/dist/runner/runCollection.d.ts.map +1 -1
  96. package/dist/runner/runCollection.js +9 -2
  97. package/dist/runner/runCollection.js.map +1 -1
  98. package/dist/scenario-runner/adapters/helpers/request-helpers.d.ts +2 -1
  99. package/dist/scenario-runner/adapters/helpers/request-helpers.d.ts.map +1 -1
  100. package/dist/scenario-runner/adapters/helpers/request-helpers.js +8 -40
  101. package/dist/scenario-runner/adapters/helpers/request-helpers.js.map +1 -1
  102. package/dist/scenario-runner/adapters/request-executor.d.ts.map +1 -1
  103. package/dist/scenario-runner/adapters/request-executor.js +2 -29
  104. package/dist/scenario-runner/adapters/request-executor.js.map +1 -1
  105. package/dist/scenario-runner/index.d.ts +1 -0
  106. package/dist/scenario-runner/index.d.ts.map +1 -1
  107. package/dist/scenario-runner/index.js +1 -0
  108. package/dist/scenario-runner/index.js.map +1 -1
  109. package/dist/scenario-runner/labels.d.ts +3 -0
  110. package/dist/scenario-runner/labels.d.ts.map +1 -0
  111. package/dist/scenario-runner/labels.js +20 -0
  112. package/dist/scenario-runner/labels.js.map +1 -0
  113. package/dist/scenario-runner/runScenario.d.ts.map +1 -1
  114. package/dist/scenario-runner/runScenario.js +4 -11
  115. package/dist/scenario-runner/runScenario.js.map +1 -1
  116. package/dist/script/legacy.d.ts.map +1 -1
  117. package/dist/script/legacy.js +24 -9
  118. package/dist/script/legacy.js.map +1 -1
  119. package/dist/types/index.d.ts +18 -1
  120. package/dist/types/index.d.ts.map +1 -1
  121. package/dist/variables/resolver.d.ts.map +1 -1
  122. package/dist/variables/resolver.js +27 -5
  123. package/dist/variables/resolver.js.map +1 -1
  124. package/dist-cjs/ai/index.js +4 -1
  125. package/dist-cjs/ai/index.js.map +1 -1
  126. package/dist-cjs/ai/prompts/scenario.js +9 -8
  127. package/dist-cjs/ai/prompts/scenario.js.map +1 -1
  128. package/dist-cjs/ai/prompts/scenarioNodeReference.js +886 -0
  129. package/dist-cjs/ai/prompts/scenarioNodeReference.js.map +1 -0
  130. package/dist-cjs/curl/bodyFormat.js +85 -0
  131. package/dist-cjs/curl/bodyFormat.js.map +1 -0
  132. package/dist-cjs/curl/index.js +15 -0
  133. package/dist-cjs/curl/index.js.map +1 -0
  134. package/dist-cjs/curl/parseCurl.js +293 -0
  135. package/dist-cjs/curl/parseCurl.js.map +1 -0
  136. package/dist-cjs/curl/rows.js +30 -0
  137. package/dist-cjs/curl/rows.js.map +1 -0
  138. package/dist-cjs/curl/types.js +7 -0
  139. package/dist-cjs/curl/types.js.map +1 -0
  140. package/dist-cjs/diagram/componentCatalog.data.js +290 -0
  141. package/dist-cjs/diagram/componentCatalog.data.js.map +1 -0
  142. package/dist-cjs/diagram/componentCatalog.js +79 -0
  143. package/dist-cjs/diagram/componentCatalog.js.map +1 -0
  144. package/dist-cjs/diagram/edgeSemantics.js +86 -0
  145. package/dist-cjs/diagram/edgeSemantics.js.map +1 -0
  146. package/dist-cjs/diagram/elkGraph.js +293 -0
  147. package/dist-cjs/diagram/elkGraph.js.map +1 -0
  148. package/dist-cjs/diagram/index.js +33 -0
  149. package/dist-cjs/diagram/index.js.map +1 -0
  150. package/dist-cjs/diagram/migrations.js +37 -0
  151. package/dist-cjs/diagram/migrations.js.map +1 -0
  152. package/dist-cjs/diagram/normalize.js +73 -0
  153. package/dist-cjs/diagram/normalize.js.map +1 -0
  154. package/dist-cjs/diagram/schema.js +144 -0
  155. package/dist-cjs/diagram/schema.js.map +1 -0
  156. package/dist-cjs/http-file/detect.js +113 -0
  157. package/dist-cjs/http-file/detect.js.map +1 -0
  158. package/dist-cjs/http-file/flatImport.js +109 -0
  159. package/dist-cjs/http-file/flatImport.js.map +1 -0
  160. package/dist-cjs/http-file/index.js +21 -0
  161. package/dist-cjs/http-file/index.js.map +1 -0
  162. package/dist-cjs/http-file/parseHttpFile.js +160 -0
  163. package/dist-cjs/http-file/parseHttpFile.js.map +1 -0
  164. package/dist-cjs/index.js +14 -1
  165. package/dist-cjs/index.js.map +1 -1
  166. package/dist-cjs/request/requestBody.js +206 -0
  167. package/dist-cjs/request/requestBody.js.map +1 -0
  168. package/dist-cjs/runner/requestRunner.js +127 -43
  169. package/dist-cjs/runner/requestRunner.js.map +1 -1
  170. package/dist-cjs/runner/runCollection.js +9 -2
  171. package/dist-cjs/runner/runCollection.js.map +1 -1
  172. package/dist-cjs/scenario-runner/adapters/helpers/request-helpers.js +7 -42
  173. package/dist-cjs/scenario-runner/adapters/helpers/request-helpers.js.map +1 -1
  174. package/dist-cjs/scenario-runner/adapters/request-executor.js +3 -30
  175. package/dist-cjs/scenario-runner/adapters/request-executor.js.map +1 -1
  176. package/dist-cjs/scenario-runner/index.js +4 -1
  177. package/dist-cjs/scenario-runner/index.js.map +1 -1
  178. package/dist-cjs/scenario-runner/labels.js +24 -0
  179. package/dist-cjs/scenario-runner/labels.js.map +1 -0
  180. package/dist-cjs/scenario-runner/runScenario.js +4 -11
  181. package/dist-cjs/scenario-runner/runScenario.js.map +1 -1
  182. package/dist-cjs/script/legacy.js +24 -9
  183. package/dist-cjs/script/legacy.js.map +1 -1
  184. package/dist-cjs/variables/resolver.js +27 -5
  185. package/dist-cjs/variables/resolver.js.map +1 -1
  186. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,8DAA0D;AAAjD,iHAAA,aAAa,OAAA;AACtB,8DAAuD;AAA9C,8GAAA,UAAU,OAAA;AACnB,8EAA0E;AAAjE,iIAAA,qBAAqB,OAAA;AAC9B,iEAA6D;AAApD,mHAAA,cAAc,OAAA;AACvB,iDAQ6B;AAP3B,+GAAA,kBAAkB,OAAA;AAClB,oHAAA,uBAAuB,OAAA;AACvB,wGAAA,WAAW,OAAA;AAMb,yCAMwB;AALtB,0GAAA,gBAAgB,OAAA;AAChB,kGAAA,QAAQ,OAAA;AACR,sGAAA,YAAY,OAAA;AACZ,4GAAA,kBAAkB,OAAA;AAGpB,6CAAoD;AAA3C,4GAAA,gBAAgB,OAAA;AACzB,mDAK6B;AAJ3B,4GAAA,aAAa,OAAA;AACb,mHAAA,oBAAoB,OAAA;AACpB,sHAAA,uBAAuB,OAAA;AAGzB,uDAAmD;AAA1C,uGAAA,QAAQ,OAAA;AACjB,gDAA+C;AAAtC,sGAAA,SAAS,OAAA;AAClB,wDAAsC;AACtC,oDAAqE;AAA5D,4GAAA,aAAa,OAAA;AAAE,6GAAA,cAAc,OAAA;AACtC,kEAAgE;AAAvD,uHAAA,iBAAiB,OAAA;AAE1B,0DAAmF;AAA1E,wHAAA,sBAAsB,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AA8BjD,kEAKqC;AAJnC,qHAAA,eAAe,OAAA;AAKjB,oEAGsC;AAFpC,2HAAA,oBAAoB,OAAA;AAGtB,8CAI2B;AAHzB,gHAAA,oBAAoB,OAAA;AACpB,gHAAA,oBAAoB,OAAA;AACpB,gHAAA,oBAAoB,OAAA;AAEtB,iEAA+E;AAAtE,4GAAA,WAAW,OAAA;AAAE,gHAAA,eAAe,OAAA;AACrC,uDAGoC;AAFlC,uHAAA,2BAA2B,OAAA;AAC3B,+GAAA,mBAAmB,OAAA;AAErB,yEAG6C;AAF3C,mIAAA,8BAA8B,OAAA;AAC9B,2HAAA,sBAAsB,OAAA;AAExB,wEAKyC;AAJvC,yHAAA,iBAAiB,OAAA;AACjB,iIAAA,yBAAyB,OAAA;AACzB,6HAAA,qBAAqB,OAAA;AAGvB,8DAKoC;AAJlC,sHAAA,mBAAmB,OAAA;AACnB,yHAAA,sBAAsB,OAAA;AACtB,2HAAA,wBAAwB,OAAA;AAG1B,oDAK+B;AAJ7B,uHAAA,yBAAyB,OAAA;AACzB,+GAAA,iBAAiB,OAAA;AACjB,8GAAA,gBAAgB,OAAA;AAGlB,gEAA2F;AAAlF,0HAAA,sBAAsB,OAAA;AAC/B,kDAAkD;AAClD,oDAI6B;AAH3B,0HAAA,0BAA0B,OAAA;AAI5B,sDAK8B;AAJ5B,sHAAA,qBAAqB,OAAA;AACrB,uHAAA,sBAAsB,OAAA;AAIxB,kDAI4B;AAH1B,wHAAA,yBAAyB,OAAA;AACzB,wHAAA,yBAAyB,OAAA;AACzB,sHAAA,uBAAuB,OAAA;AAEzB,8EAA8E;AAC9E,yEAAyE;AACzE,gCAAgC;AAChC,gDAA8B;AAC9B,uDAAqC;AACrC,6DAA2C;AAC3C,kDAAgC;AAChC,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,8DAA0D;AAAjD,iHAAA,aAAa,OAAA;AACtB,8DAAuD;AAA9C,8GAAA,UAAU,OAAA;AACnB,8EAA0E;AAAjE,iIAAA,qBAAqB,OAAA;AAC9B,iEAA6D;AAApD,mHAAA,cAAc,OAAA;AACvB,6EAA6E;AAC7E,0EAA0E;AAC1E,2DAQkC;AAPhC,2HAAA,yBAAyB,OAAA;AACzB,qHAAA,mBAAmB,OAAA;AACnB,qHAAA,mBAAmB,OAAA;AACnB,yHAAA,uBAAuB,OAAA;AAKzB,iDAQ6B;AAP3B,+GAAA,kBAAkB,OAAA;AAClB,oHAAA,uBAAuB,OAAA;AACvB,wGAAA,WAAW,OAAA;AAMb,yCAMwB;AALtB,0GAAA,gBAAgB,OAAA;AAChB,kGAAA,QAAQ,OAAA;AACR,sGAAA,YAAY,OAAA;AACZ,4GAAA,kBAAkB,OAAA;AAGpB,6CAAoD;AAA3C,4GAAA,gBAAgB,OAAA;AACzB,mDAK6B;AAJ3B,4GAAA,aAAa,OAAA;AACb,mHAAA,oBAAoB,OAAA;AACpB,sHAAA,uBAAuB,OAAA;AAGzB,uDAAmD;AAA1C,uGAAA,QAAQ,OAAA;AACjB,gDAA+C;AAAtC,sGAAA,SAAS,OAAA;AAClB,wDAAsC;AACtC,oDAAqE;AAA5D,4GAAA,aAAa,OAAA;AAAE,6GAAA,cAAc,OAAA;AACtC,kEAAgE;AAAvD,uHAAA,iBAAiB,OAAA;AAE1B,0DAAmF;AAA1E,wHAAA,sBAAsB,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AA8BjD,kEAKqC;AAJnC,qHAAA,eAAe,OAAA;AAKjB,oEAGsC;AAFpC,2HAAA,oBAAoB,OAAA;AAGtB,8CAI2B;AAHzB,gHAAA,oBAAoB,OAAA;AACpB,gHAAA,oBAAoB,OAAA;AACpB,gHAAA,oBAAoB,OAAA;AAEtB,iEAA+E;AAAtE,4GAAA,WAAW,OAAA;AAAE,gHAAA,eAAe,OAAA;AACrC,uDAGoC;AAFlC,uHAAA,2BAA2B,OAAA;AAC3B,+GAAA,mBAAmB,OAAA;AAErB,yEAG6C;AAF3C,mIAAA,8BAA8B,OAAA;AAC9B,2HAAA,sBAAsB,OAAA;AAExB,wEAKyC;AAJvC,yHAAA,iBAAiB,OAAA;AACjB,iIAAA,yBAAyB,OAAA;AACzB,6HAAA,qBAAqB,OAAA;AAGvB,8DAKoC;AAJlC,sHAAA,mBAAmB,OAAA;AACnB,yHAAA,sBAAsB,OAAA;AACtB,2HAAA,wBAAwB,OAAA;AAG1B,oDAK+B;AAJ7B,uHAAA,yBAAyB,OAAA;AACzB,+GAAA,iBAAiB,OAAA;AACjB,8GAAA,gBAAgB,OAAA;AAGlB,gEAA2F;AAAlF,0HAAA,sBAAsB,OAAA;AAC/B,kDAAkD;AAClD,oDAI6B;AAH3B,0HAAA,0BAA0B,OAAA;AAI5B,sDAK8B;AAJ5B,sHAAA,qBAAqB,OAAA;AACrB,uHAAA,sBAAsB,OAAA;AAIxB,kDAI4B;AAH1B,wHAAA,yBAAyB,OAAA;AACzB,wHAAA,yBAAyB,OAAA;AACzB,sHAAA,uBAAuB,OAAA;AAEzB,8EAA8E;AAC9E,yEAAyE;AACzE,gCAAgC;AAChC,gDAA8B;AAC9B,2EAA2E;AAC3E,oEAAoE;AACpE,kDAAgC;AAChC,uDAAqC;AACrC,qDAAmC;AACnC,uDAAqC;AACrC,6DAA2C;AAC3C,kDAAgC;AAChC,mDAAiC"}
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+ // Persisted request body → what actually goes on the wire. ONE mapping for
3
+ // every host that sends a SAVED request: the collection runner
4
+ // (`runRequest`, used by callme-cli and callman-mcp) and the scenario request
5
+ // executor share the raw Content-Type table and the form builder below.
6
+ //
7
+ // Saved requests keep their body in the persisted shape (see
8
+ // `toPersistedRequestBody` / the desktop's `serializeBodyState`):
9
+ // - a plain JSON value (object, array, string, …) — sent as-is;
10
+ // - `{ mode: "raw", raw, rawLanguage }` — non-JSON raw text (xml/text/html);
11
+ // - `{ mode: "formdata" | "urlencoded", formEntries: [{ key, value, enabled, type? }] }`;
12
+ // - `{ mode: "none" }` — no body.
13
+ // Handing the envelope itself to the HTTP driver sent it as JSON
14
+ // (`{"mode":"raw","raw":"<a/>",...}`), which no server can parse.
15
+ //
16
+ // Isomorphic: `FormData` / `URLSearchParams` exist in Node 18+ and the
17
+ // browser, so this module is safe in the Electron renderer too.
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.describeRequestBody = exports.persistedBodyToWire = exports.buildFormBody = exports.readRequestBodyEnvelope = exports.contentTypeForRawLanguage = void 0;
20
+ const bodyFormat_js_1 = require("../curl/bodyFormat.js");
21
+ const jsonc_js_1 = require("../utils/jsonc.js");
22
+ const FORM_URLENCODED = "application/x-www-form-urlencoded";
23
+ // Keys a scenario-shaped body state carries next to `mode`; a `{mode:"none"}`
24
+ // with anything else is somebody's JSON payload, not an empty body.
25
+ const BODY_STATE_KEYS = new Set(["mode", "raw", "rawLanguage", "formEntries"]);
26
+ const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
27
+ const isJsonContentType = (contentType) => /\bjson\b/i.test(contentType);
28
+ const isValidJsonText = (text) => {
29
+ try {
30
+ JSON.parse((0, jsonc_js_1.sanitizeJsonBody)(text));
31
+ return true;
32
+ }
33
+ catch {
34
+ return false;
35
+ }
36
+ };
37
+ // Auto Content-Type for a raw body sub-format. Keeps parity with the
38
+ // desktop request builder so an XML/text/html body is not mislabelled as
39
+ // JSON (which would make a server's JSON parser reject it).
40
+ const contentTypeForRawLanguage = (language) => {
41
+ switch (language) {
42
+ case "xml":
43
+ return "application/xml";
44
+ case "html":
45
+ return "text/html";
46
+ case "text":
47
+ return "text/plain";
48
+ case "json":
49
+ default:
50
+ return "application/json";
51
+ }
52
+ };
53
+ exports.contentTypeForRawLanguage = contentTypeForRawLanguage;
54
+ // Recognise the structured persisted shapes; `null` means "a plain value".
55
+ // Same structural tests as the desktop's `inferBodyState`.
56
+ const readRequestBodyEnvelope = (body) => {
57
+ if (!isRecord(body) || typeof body.mode !== "string") {
58
+ return null;
59
+ }
60
+ if (body.mode === "raw" && typeof body.raw === "string") {
61
+ return {
62
+ mode: "raw",
63
+ raw: body.raw,
64
+ ...(typeof body.rawLanguage === "string" ? { rawLanguage: body.rawLanguage } : {}),
65
+ };
66
+ }
67
+ if ((body.mode === "formdata" || body.mode === "urlencoded") &&
68
+ Array.isArray(body.formEntries)) {
69
+ return {
70
+ mode: body.mode,
71
+ formEntries: body.formEntries.filter(isRecord).map((entry) => ({
72
+ key: typeof entry.key === "string" ? entry.key : "",
73
+ value: entry.value === undefined || entry.value === null ? "" : String(entry.value),
74
+ ...(typeof entry.enabled === "boolean" ? { enabled: entry.enabled } : {}),
75
+ ...(entry.type === "text" || entry.type === "file" ? { type: entry.type } : {}),
76
+ })),
77
+ };
78
+ }
79
+ if (body.mode === "none" && Object.keys(body).every((key) => BODY_STATE_KEYS.has(key))) {
80
+ return { mode: "none" };
81
+ }
82
+ return null;
83
+ };
84
+ exports.readRequestBodyEnvelope = readRequestBodyEnvelope;
85
+ // Enabled, keyed TEXT rows of a form body, with keys/values resolved.
86
+ // `append` keeps duplicate keys — valid form semantics an object map cannot
87
+ // express.
88
+ const buildFormBody = (mode, entries, resolve = (text) => text) => {
89
+ const form = mode === "urlencoded" ? new URLSearchParams() : new FormData();
90
+ for (const entry of entries) {
91
+ if (entry.enabled === false || !entry.key.trim() || entry.type === "file")
92
+ continue;
93
+ form.append(resolve(entry.key), resolve(entry.value));
94
+ }
95
+ return form;
96
+ };
97
+ exports.buildFormBody = buildFormBody;
98
+ const findHeaderKey = (headers, name) => Object.keys(headers).find((key) => key.toLowerCase() === name);
99
+ // Set the implied Content-Type when none is present. An existing JSON type is
100
+ // also replaced when the body is demonstrably not JSON: callme-cli and
101
+ // callman-mcp default every bodied request to `application/json` before core
102
+ // sees it, and a urlencoded or XML body under that header is rejected by the
103
+ // server's JSON parser. Any other explicit type is the user's call.
104
+ const reconcileContentType = (headers, contentType, bodyIsJson) => {
105
+ const existingKey = findHeaderKey(headers, "content-type");
106
+ if (!existingKey) {
107
+ return { ...headers, "Content-Type": contentType };
108
+ }
109
+ if (!bodyIsJson && isJsonContentType(headers[existingKey] ?? "")) {
110
+ return { ...headers, [existingKey]: contentType };
111
+ }
112
+ return headers;
113
+ };
114
+ /**
115
+ * Map a persisted request body to its wire form. `resolve` (optional) is
116
+ * applied to the raw text and to form keys/values so `{{var}}` templates
117
+ * resolve inside them; plain values are returned untouched (resolve them
118
+ * yourself — `runRequest` does, deep, as it always has).
119
+ *
120
+ * Multipart FILE parts are not sent (see `WireRequestBody.fileParts`).
121
+ */
122
+ const persistedBodyToWire = (body, headers = {}, options = {}) => {
123
+ const resolve = options.resolve ?? ((text) => text);
124
+ const envelope = (0, exports.readRequestBodyEnvelope)(body);
125
+ if (!envelope) {
126
+ return { mode: "value", data: body, headers, fileParts: [] };
127
+ }
128
+ if (envelope.mode === "none") {
129
+ return { mode: "none", data: undefined, headers, fileParts: [] };
130
+ }
131
+ if (envelope.mode === "raw") {
132
+ const text = resolve(envelope.raw ?? "");
133
+ if (!text.trim()) {
134
+ return { mode: "raw", data: "", headers, fileParts: [] };
135
+ }
136
+ // An envelope saved without a language gets the desktop's sniff.
137
+ const language = envelope.rawLanguage ?? (0, bodyFormat_js_1.sniffRawBodyLanguage)(text);
138
+ const contentType = (0, exports.contentTypeForRawLanguage)(language);
139
+ return {
140
+ mode: "raw",
141
+ data: text,
142
+ contentType,
143
+ headers: reconcileContentType(headers, contentType, language === "json" || isValidJsonText(text)),
144
+ fileParts: [],
145
+ };
146
+ }
147
+ const entries = envelope.formEntries ?? [];
148
+ const fileParts = entries
149
+ .filter((entry) => entry.type === "file" && entry.enabled !== false && entry.key.trim())
150
+ .map((entry) => entry.key);
151
+ if (envelope.mode === "urlencoded") {
152
+ return {
153
+ mode: "urlencoded",
154
+ data: (0, exports.buildFormBody)("urlencoded", entries, resolve).toString(),
155
+ contentType: FORM_URLENCODED,
156
+ headers: reconcileContentType(headers, FORM_URLENCODED, false),
157
+ fileParts,
158
+ };
159
+ }
160
+ // Multipart Content-Type must come from the driver — a user-set header
161
+ // carries no (or a stale) boundary and breaks the receiving parser.
162
+ const multipartHeaders = { ...headers };
163
+ const contentTypeKey = findHeaderKey(multipartHeaders, "content-type");
164
+ if (contentTypeKey)
165
+ delete multipartHeaders[contentTypeKey];
166
+ return {
167
+ mode: "formdata",
168
+ data: (0, exports.buildFormBody)("formdata", entries, resolve),
169
+ headers: multipartHeaders,
170
+ fileParts,
171
+ };
172
+ };
173
+ exports.persistedBodyToWire = persistedBodyToWire;
174
+ // Serialisable picture of a wire body for reports (a scenario step's
175
+ // `resolvedInput`, a collection run's `result.request`). Multipart bodies are
176
+ // described part by part rather than copied, and anything non-JSON collapses
177
+ // to a label.
178
+ const describeRequestBody = (body) => {
179
+ if (body === null || body === undefined)
180
+ return null;
181
+ if (typeof body === "string")
182
+ return body;
183
+ if (typeof FormData !== "undefined" && body instanceof FormData) {
184
+ const parts = [];
185
+ body.forEach((value, key) => {
186
+ parts.push({
187
+ key,
188
+ value: typeof value === "string"
189
+ ? value
190
+ : `[file${value.name ? `: ${value.name}` : ""}]`,
191
+ });
192
+ });
193
+ return { mode: "formdata", parts };
194
+ }
195
+ if (typeof URLSearchParams !== "undefined" && body instanceof URLSearchParams) {
196
+ return body.toString();
197
+ }
198
+ if (typeof body === "object") {
199
+ if (ArrayBuffer.isView(body) || body instanceof ArrayBuffer)
200
+ return "[binary]";
201
+ return body;
202
+ }
203
+ return String(body);
204
+ };
205
+ exports.describeRequestBody = describeRequestBody;
206
+ //# sourceMappingURL=requestBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestBody.js","sourceRoot":"","sources":["../../src/request/requestBody.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ exports.runRequest = void 0;
4
4
  const contractValidator_js_1 = require("../contract/contractValidator.js");
5
5
  const connections_js_1 = require("../host/connections.js");
6
6
  const executeRequest_js_1 = require("../request/executeRequest.js");
7
+ const requestBody_js_1 = require("../request/requestBody.js");
7
8
  const applyRequestAuth_js_1 = require("./applyRequestAuth.js");
8
9
  const executor_js_1 = require("../script/executor.js");
9
10
  const scriptEngine_js_1 = require("../script/scriptEngine.js");
@@ -32,28 +33,61 @@ const scriptPairsToRecord = (pairs) => {
32
33
  }
33
34
  return out;
34
35
  };
36
+ // A structured persisted body keeps its mode/language/rows in the sandbox
37
+ // (so `pm.request.body` shows the real body, not the storage envelope); a
38
+ // plain value is raw text, as it always was.
39
+ const toScriptBodyState = (body) => {
40
+ const envelope = (0, requestBody_js_1.readRequestBodyEnvelope)(body);
41
+ if (!envelope) {
42
+ return {
43
+ mode: "raw",
44
+ raw: typeof body === "string" ? body : body != null ? JSON.stringify(body) : "",
45
+ formEntries: [],
46
+ };
47
+ }
48
+ return {
49
+ mode: envelope.mode,
50
+ raw: envelope.raw ?? "",
51
+ ...(envelope.rawLanguage ? { rawLanguage: envelope.rawLanguage } : {}),
52
+ formEntries: (envelope.formEntries ?? []).map((entry) => ({
53
+ ...entry,
54
+ enabled: entry.enabled ?? true,
55
+ })),
56
+ };
57
+ };
58
+ // The script's (possibly mutated) body back into the persisted shape the
59
+ // rest of the runner reads. A plain-value body that stays raw becomes the
60
+ // raw text — the historical behaviour.
61
+ const fromScriptBodyState = (state, original) => {
62
+ const envelope = (0, requestBody_js_1.readRequestBodyEnvelope)(original);
63
+ if (state.mode === "raw") {
64
+ return envelope
65
+ ? { mode: "raw", raw: state.raw, ...(state.rawLanguage ? { rawLanguage: state.rawLanguage } : {}) }
66
+ : state.raw;
67
+ }
68
+ if (state.mode === "formdata" || state.mode === "urlencoded") {
69
+ return { mode: state.mode, formEntries: state.formEntries };
70
+ }
71
+ if (state.mode === "none") {
72
+ return { mode: "none" };
73
+ }
74
+ return original;
75
+ };
35
76
  const toScriptRequestState = (request) => ({
36
77
  method: request.method,
37
78
  url: request.url,
38
79
  headers: headersToScriptPairs(request.headers),
39
80
  query: headersToScriptPairs(request.query),
40
- body: {
41
- mode: "raw",
42
- raw: typeof request.body === "string"
43
- ? request.body
44
- : request.body != null
45
- ? JSON.stringify(request.body)
46
- : "",
47
- formEntries: [],
48
- },
81
+ body: toScriptBodyState(request.body),
49
82
  });
50
- // Apply a script's environment writes back onto the shared EnvStore so later
51
- // template resolution (and later requests) see the new values.
52
- const applyScriptEnvMutations = (env, mutations) => {
83
+ // Apply a script's environment (and globals) writes back onto the shared
84
+ // EnvStores so later template resolution (and later requests) see them.
85
+ const applyScriptEnvMutations = (env, mutations, globals) => {
53
86
  for (const mutation of mutations) {
54
- if (mutation.scope !== "environment")
87
+ const target = mutation.scope === "environment" ? env : mutation.scope === "global" ? globals : undefined;
88
+ if (!target)
55
89
  continue;
56
- env.set(mutation.key, mutation.type === "unset" ? "" : (mutation.value ?? ""));
90
+ target.set(mutation.key, mutation.type === "unset" ? "" : (mutation.value ?? ""));
57
91
  }
58
92
  };
59
93
  // Build a `{{response.*}}` template root from an HTTP result so pre/post DB +
@@ -126,11 +160,13 @@ const buildExecutionFailureResult = (error) => {
126
160
  ],
127
161
  };
128
162
  };
129
- const normalizeRequestForExecution = ({ request, env, previousResponse, }) => {
163
+ const normalizeRequestForExecution = ({ request, env, globals, previousResponse }, onUnresolved) => {
130
164
  const resolveContext = {
131
165
  env,
166
+ ...(globals ? { globals } : {}),
132
167
  response: previousResponse,
133
168
  request,
169
+ ...(onUnresolved ? { onUnresolved } : {}),
134
170
  };
135
171
  // URL ↔ query parity with the desktop resolver (and the scenario path in
136
172
  // scenario-runner/adapters/helpers/request-helpers.ts): the URL leaves
@@ -153,14 +189,44 @@ const normalizeRequestForExecution = ({ request, env, previousResponse, }) => {
153
189
  ...urlPairs,
154
190
  ...Object.entries(explicitQuery ?? {}),
155
191
  ];
192
+ // A structured persisted body (raw text / form rows / none) leaves in its
193
+ // wire form, templates resolved inside the text and rows; a plain value is
194
+ // resolved deep and sent as-is, exactly as before.
195
+ const headers = resolveHeaders(request.headers, resolveContext);
196
+ const isEnvelope = (0, requestBody_js_1.readRequestBodyEnvelope)(request.body) !== null;
197
+ const wire = (0, requestBody_js_1.persistedBodyToWire)(isEnvelope ? request.body : (0, resolver_js_1.resolveTemplateValue)(request.body, resolveContext), headers, { resolve: (text) => (0, resolver_js_1.resolveTemplateValue)(text, resolveContext) });
156
198
  return {
157
199
  method: (0, resolver_js_1.resolveTemplateValue)(request.method, resolveContext).toUpperCase(),
158
200
  url: (0, urlQuery_js_1.stripUrlQuery)(resolvedBase),
159
- headers: resolveHeaders(request.headers, resolveContext),
201
+ headers: headers !== undefined || isEnvelope ? wire.headers : undefined,
160
202
  query: queryPairs.length > 0 ? Object.fromEntries(queryPairs) : explicitQuery,
161
- body: (0, resolver_js_1.resolveTemplateValue)(request.body, resolveContext),
203
+ body: wire.data,
162
204
  };
163
205
  };
206
+ // Multipart FILE parts need a fixture store, which only scenario hosts have.
207
+ // Fail the request up front, naming the parts, rather than send a form the
208
+ // server will reject for a missing file.
209
+ const assertNoFileParts = (body) => {
210
+ const { fileParts } = (0, requestBody_js_1.persistedBodyToWire)(body);
211
+ if (fileParts.length > 0) {
212
+ throw new Error(`Multipart file part${fileParts.length === 1 ? "" : "s"} ${fileParts
213
+ .map((key) => `"${key}"`)
214
+ .join(", ")} cannot be sent by a local run — only text form fields are supported here. Run it from the desktop app or as a server scenario with an uploaded fixture.`);
215
+ }
216
+ };
217
+ // Diagnostics on the result, each present only when non-empty so results
218
+ // without them keep their exact historical shape.
219
+ const withDiagnostics = (result, unresolved, logs) => ({
220
+ ...result,
221
+ ...(unresolved.size > 0 ? { unresolvedVariables: [...unresolved] } : {}),
222
+ ...(logs.length > 0 ? { logs } : {}),
223
+ });
224
+ const tagLogs = (stage, entries) => entries.map((entry) => ({ stage, ...entry }));
225
+ // `result.request` is a report, not the driver input: describe a FormData
226
+ // body part by part instead of letting it serialize to `{}`.
227
+ const toReportedRequest = (request) => typeof FormData !== "undefined" && request.body instanceof FormData
228
+ ? { ...request, body: (0, requestBody_js_1.describeRequestBody)(request.body) }
229
+ : request;
164
230
  // Wires the resolved connections + request DB/Redis config into the script
165
231
  // capabilities. Runs the pre-request DB node + pre Redis commands before this
166
232
  // is called, the post ones after the response. Returns the capabilities to
@@ -191,19 +257,30 @@ const buildScriptExtensions = (input) => {
191
257
  return { db, redis };
192
258
  };
193
259
  const runRequest = async (input) => {
260
+ // Tokens that resolved to nothing in the request as finally sent (reset
261
+ // when the pre-request script re-resolves — it may define them), and the
262
+ // scripts' console / pm.log output.
263
+ let unresolved = new Set();
264
+ const onUnresolved = (expression) => {
265
+ unresolved.add(expression);
266
+ };
267
+ const scriptLogs = [];
194
268
  // `let` so the pre-request script can re-resolve after mutating env/request;
195
269
  // the initial value also covers the catch block if something throws early.
196
- let runtimeRequest = normalizeRequestForExecution(input);
270
+ let runtimeRequest = normalizeRequestForExecution(input, onUnresolved);
271
+ // The request as the pre-request script left it (or as given).
272
+ let requestToSend = input.request;
197
273
  const connections = input.connections ?? {};
198
274
  const featurePolicy = input.featurePolicy;
199
275
  const databaseEnabled = featurePolicy ? featurePolicy.database : true;
200
276
  const redisConfig = input.request.redis;
201
277
  try {
202
278
  const envBefore = stringifyEnv(input.env.all());
279
+ const globalsBefore = stringifyEnv(input.globals?.all() ?? {});
203
280
  // ── Pre-request script: runs BEFORE the HTTP call (and before template
204
281
  // resolution) so `pm.environment.set` tokens and `pm.request.setHeader`
205
- // mutations reach the outgoing request. Its console output is dropped
206
- // here; test assertions surface in scriptResults.
282
+ // mutations reach the outgoing request. Its console output lands in
283
+ // `result.logs`; test assertions surface in scriptResults.
207
284
  let preRequestTestResults = [];
208
285
  if (input.request.preRequestScript?.trim()) {
209
286
  const preResult = await (0, executor_js_1.executeScript)({
@@ -212,6 +289,7 @@ const runRequest = async (input) => {
212
289
  filename: "callman-request.script.js",
213
290
  capabilities: {
214
291
  environment: { values: envBefore, emitMutations: true },
292
+ ...(input.globals ? { globals: { values: globalsBefore, emitMutations: true } } : {}),
215
293
  request: toScriptRequestState(input.request),
216
294
  extensions: {
217
295
  log: true,
@@ -223,33 +301,31 @@ const runRequest = async (input) => {
223
301
  },
224
302
  },
225
303
  });
226
- applyScriptEnvMutations(input.env, preResult.variableMutations);
304
+ applyScriptEnvMutations(input.env, preResult.variableMutations, input.globals);
227
305
  preRequestTestResults = preResult.testResults;
228
- const mutatedRequest = preResult.request
229
- ? {
306
+ scriptLogs.push(...tagLogs("pre-request", preResult.logs));
307
+ if (preResult.request) {
308
+ requestToSend = {
230
309
  ...input.request,
231
310
  method: preResult.request.method,
232
311
  url: preResult.request.url,
233
312
  headers: scriptPairsToRecord(preResult.request.headers),
234
313
  query: scriptPairsToRecord(preResult.request.query),
235
- body: preResult.request.body.mode === "raw"
236
- ? preResult.request.body.raw
237
- : input.request.body,
238
- }
239
- : input.request;
314
+ body: fromScriptBodyState(preResult.request.body, input.request.body),
315
+ };
316
+ }
240
317
  // Re-resolve templates against the updated env + mutated request.
241
- runtimeRequest = normalizeRequestForExecution({
242
- ...input,
243
- request: mutatedRequest,
244
- });
318
+ unresolved = new Set();
319
+ runtimeRequest = normalizeRequestForExecution({ ...input, request: requestToSend }, onUnresolved);
245
320
  }
321
+ assertNoFileParts(requestToSend.body);
246
322
  // ── Pre-request phase: DB node + Redis commands run before the HTTP call.
247
323
  const preDbResult = databaseEnabled
248
324
  ? await (0, connections_js_1.runConfiguredDbQuery)({
249
325
  connections,
250
326
  config: input.request.database?.preRequest,
251
327
  phase: "pre",
252
- context: { response: null, env: envBefore, global: {} },
328
+ context: { response: null, env: envBefore, global: globalsBefore },
253
329
  })
254
330
  : null;
255
331
  const redisPre = await (0, connections_js_1.runRedisCommandsForPhase)({
@@ -257,15 +333,17 @@ const runRequest = async (input) => {
257
333
  connectionId: redisConfig?.connectionId,
258
334
  commands: redisConfig?.preCommands ?? [],
259
335
  phase: "pre",
260
- context: { response: null, env: envBefore, global: {} },
336
+ context: { response: null, env: envBefore, global: globalsBefore },
261
337
  });
262
338
  // ── Auth: apply the request's Auth tab (bearer/basic/apikey/oauth2) to the
263
339
  // resolved request. For oauth2 the token is fetched (+ cached) via a POST
264
340
  // through `executeRequest`, so it shares the same HTTP path.
265
341
  const authResolveContext = {
266
342
  env: input.env,
343
+ ...(input.globals ? { globals: input.globals } : {}),
267
344
  response: input.previousResponse,
268
345
  request: input.request,
346
+ onUnresolved,
269
347
  };
270
348
  runtimeRequest = await (0, applyRequestAuth_js_1.applyRequestAuth)(runtimeRequest, input.request.auth, (value) => (0, resolver_js_1.resolveTemplateValue)(value, authResolveContext), {
271
349
  oauthPost: async (tokenRequest) => {
@@ -284,12 +362,13 @@ const runRequest = async (input) => {
284
362
  const responseRoot = buildResponseRoot(response);
285
363
  // ── Post-response phase: DB node + Redis commands run after the response.
286
364
  const envAfter = stringifyEnv(input.env.all());
365
+ const globalsAfter = stringifyEnv(input.globals?.all() ?? {});
287
366
  const postDbResult = databaseEnabled
288
367
  ? await (0, connections_js_1.runConfiguredDbQuery)({
289
368
  connections,
290
369
  config: input.request.database?.postResponse,
291
370
  phase: "post",
292
- context: { response: responseRoot, env: envAfter, global: {} },
371
+ context: { response: responseRoot, env: envAfter, global: globalsAfter },
293
372
  })
294
373
  : null;
295
374
  const redisPost = await (0, connections_js_1.runRedisCommandsForPhase)({
@@ -297,7 +376,7 @@ const runRequest = async (input) => {
297
376
  connectionId: redisConfig?.connectionId,
298
377
  commands: redisConfig?.postCommands ?? [],
299
378
  phase: "post",
300
- context: { response: responseRoot, env: envAfter, global: {} },
379
+ context: { response: responseRoot, env: envAfter, global: globalsAfter },
301
380
  });
302
381
  const { db, redis } = buildScriptExtensions({
303
382
  connections,
@@ -308,42 +387,47 @@ const runRequest = async (input) => {
308
387
  redisPre,
309
388
  redisPost,
310
389
  });
390
+ const reportedRequest = toReportedRequest(runtimeRequest);
391
+ const testsLogs = [];
311
392
  const testsScriptResults = await (0, scriptEngine_js_1.runScript)(input.request.tests, {
312
393
  env: input.env,
394
+ ...(input.globals ? { globals: input.globals } : {}),
313
395
  response,
314
- request: runtimeRequest,
396
+ request: reportedRequest,
315
397
  db,
316
398
  redis,
317
399
  featurePolicy,
400
+ logs: testsLogs,
318
401
  });
402
+ scriptLogs.push(...tagLogs("tests", testsLogs));
319
403
  return {
320
404
  response,
321
- result: {
405
+ result: withDiagnostics({
322
406
  requestId: input.request.id,
323
407
  requestName: input.request.name,
324
408
  status: response.status,
325
409
  duration: response.duration,
326
410
  response,
327
- request: runtimeRequest,
411
+ request: reportedRequest,
328
412
  scriptResults: [...preRequestTestResults, ...testsScriptResults],
329
413
  contractResults,
330
- },
414
+ }, unresolved, scriptLogs),
331
415
  };
332
416
  }
333
417
  catch (error) {
334
418
  const failure = buildExecutionFailureResult(error);
335
419
  return {
336
420
  response: failure.response,
337
- result: {
421
+ result: withDiagnostics({
338
422
  requestId: input.request.id,
339
423
  requestName: input.request.name,
340
424
  status: failure.response.status,
341
425
  duration: failure.response.duration,
342
426
  response: failure.response,
343
- request: runtimeRequest,
427
+ request: toReportedRequest(runtimeRequest),
344
428
  scriptResults: failure.scriptResults,
345
429
  contractResults: [],
346
- },
430
+ }, unresolved, scriptLogs),
347
431
  };
348
432
  }
349
433
  };
@@ -1 +1 @@
1
- {"version":3,"file":"requestRunner.js","sourceRoot":"","sources":["../../src/runner/requestRunner.ts"],"names":[],"mappings":";;;AAAA,2EAAqE;AACrE,2DAMgC;AAChC,oEAA8D;AAE9D,+DAAyD;AACzD,uDAAsD;AACtD,+DAAsD;AAmBtD,sDAI8B;AAC9B,0DAAgE;AAGhE,gEAAgE;AAChE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAiC,CAAC;AAElE,MAAM,YAAY,GAAG,CAAC,GAA4B,EAA0B,EAAE;IAC5E,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,yEAAyE;AACzE,MAAM,oBAAoB,GAAG,CAC3B,MAA0C,EACpB,EAAE,CACxB,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAEtF,MAAM,mBAAmB,GAAG,CAAC,KAA2B,EAA0B,EAAE;IAClF,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,SAAS;QAClD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,OAAmC,EAAsB,EAAE,CAAC,CAAC;IACzF,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9C,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC;IAC1C,IAAI,EAAE;QACJ,IAAI,EAAE,KAAK;QACX,GAAG,EACD,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;YAC9B,CAAC,CAAC,OAAO,CAAC,IAAI;YACd,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI;gBACpB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC9B,CAAC,CAAC,EAAE;QACV,WAAW,EAAE,EAAE;KAChB;CACF,CAAC,CAAC;AAEH,6EAA6E;AAC7E,+DAA+D;AAC/D,MAAM,uBAAuB,GAAG,CAC9B,GAA2B,EAC3B,SAAmC,EAC7B,EAAE;IACR,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,KAAK,KAAK,aAAa;YAAE,SAAS;QAC/C,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;AACH,CAAC,CAAC;AAEF,8EAA8E;AAC9E,0EAA0E;AAC1E,+BAA+B;AAC/B,MAAM,iBAAiB,GAAG,CACxB,QAAqC,EACL,EAAE;IAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF,MAAM,OAAO,GACX,QAAQ,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,OAAO;QACL,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAE,IAAgC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,IAAI,EACF,QAAQ,IAAI,MAAM,IAAK,IAAgC;YACrD,CAAC,CAAE,IAAgC,CAAC,IAAI;YACxC,CAAC,CAAC,IAAI;QACV,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ,CAAC,MAAM;QACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,UAAU,EAAE,QAAQ,CAAC,QAAQ;KAC9B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAAc,EAAU,EAAE;IAC/C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,OAA2C,EAC3C,OAAmD,EACf,EAAE;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC5C,IAAA,kCAAoB,EAAC,GAAG,EAAE,OAAO,CAAC;QAClC,IAAA,kCAAoB,EAAC,KAAK,EAAE,OAAO,CAAC;KACrC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CACpB,MAA0C,EAC1C,OAAmD,EACf,EAAE;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAA,kCAAoB,EAAC,GAAG,EAAE,OAAO,CAAC;QAClC,IAAA,kCAAoB,EAAC,KAAK,EAAE,OAAO,CAAC;KACrC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAClC,KAAc,EAId,EAAE;IACF,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEvE,OAAO;QACL,QAAQ,EAAE;YACR,MAAM,EAAE,CAAC;YACT,IAAI,EAAE;gBACJ,KAAK,EAAE,OAAO;aACf;YACD,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,CAAC;SACZ;QACD,aAAa,EAAE;YACb;gBACE,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,MAAM;gBACd,OAAO;aACR;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,EACpC,OAAO,EACP,GAAG,EACH,gBAAgB,GACA,EAAuB,EAAE;IACzC,MAAM,cAAc,GAAG;QACrB,GAAG;QACH,QAAQ,EAAE,gBAAgB;QAC1B,OAAO;KACR,CAAC;IAEF,yEAAyE;IACzE,uEAAuE;IACvE,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,wEAAwE;IACxE,uDAAuD;IACvD,MAAM,YAAY,GAAG,IAAA,kCAAoB,EAAC,IAAA,2BAAa,EAAC,OAAO,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;IACtF,MAAM,aAAa,GAA4B,IAAA,kCAAoB,EAAC,YAAY,CAAC,CAAC,GAAG,CACnF,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAA,qCAAuB,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAA,qCAAuB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACnF,CAAC;IACF,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACnE,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;QACzC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,IAAA,kCAAoB,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9C,IAAA,qCAAuB,EAAC,IAAA,kCAAoB,EAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YACvE,IAAA,qCAAuB,EAAC,IAAA,kCAAoB,EAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;SAC1E,CAAC,CAAC;IACT,MAAM,UAAU,GAAG;QACjB,GAAG,aAAa;QAChB,GAAG,QAAQ;QACX,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;KACvC,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,IAAA,kCAAoB,EAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,WAAW,EAAE;QAC1E,GAAG,EAAE,IAAA,2BAAa,EAAC,YAAY,CAAC;QAChC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC;QACxD,KAAK,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa;QAC7E,IAAI,EAAE,IAAA,kCAAoB,EAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC;KACzD,CAAC;AACJ,CAAC,CAAC;AAEF,2EAA2E;AAC3E,8EAA8E;AAC9E,2EAA2E;AAC3E,8DAA8D;AAC9D,MAAM,qBAAqB,GAAG,CAAC,KAQ9B,EAA8D,EAAE;IAC/D,MAAM,EAAE,GAAmC,KAAK,CAAC,eAAe;QAC9D,CAAC,CAAC;YACE,OAAO,EAAE,IAAA,yCAAwB,EAAC,KAAK,CAAC,WAAW,CAAC;YACpD,SAAS,EAAE,KAAK,CAAC,WAAW;YAC5B,UAAU,EAAE,KAAK,CAAC,YAAY;YAC9B,aAAa,EAAE;gBACb,UAAU,EAAE;oBACV,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,IAAI,SAAS;iBAC5E;gBACD,YAAY,EAAE;oBACZ,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,IAAI,SAAS;iBAC9E;aACF;SACF;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,QAAQ,GACZ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC;QAC1C,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YACtD,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;YACnD,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAE1D,MAAM,KAAK,GAAsC,QAAQ;QACvD,CAAC,CAAC,IAAA,qCAAoB,EAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;QACvD,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;AACvB,CAAC,CAAC;AAEK,MAAM,UAAU,GAAG,KAAK,EAC7B,KAAsB,EACK,EAAE;IAC7B,6EAA6E;IAC7E,2EAA2E;IAC3E,IAAI,cAAc,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,WAAW,GAAyB,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;IAClE,MAAM,aAAa,GAAoC,KAAK,CAAC,aAAa,CAAC;IAC3E,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAExC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QAEhD,wEAAwE;QACxE,wEAAwE;QACxE,sEAAsE;QACtE,kDAAkD;QAClD,IAAI,qBAAqB,GAAiB,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAa,EAAC;gBACpC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB;gBACtC,KAAK,EAAE,aAAa;gBACpB,QAAQ,EAAE,2BAA2B;gBACrC,YAAY,EAAE;oBACZ,WAAW,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE;oBACvD,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC;oBAC5C,UAAU,EAAE;wBACV,GAAG,EAAE,IAAI;wBACT,IAAI,EAAE,IAAI;wBACV,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;wBACzB,QAAQ,EAAE,IAAI;wBACd,SAAS,EAAE,IAAI;qBAChB;iBACF;aACF,CAAC,CAAC;YACH,uBAAuB,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;YAChE,qBAAqB,GAAG,SAAS,CAAC,WAA2B,CAAC;YAC9D,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO;gBACtC,CAAC,CAAC;oBACE,GAAG,KAAK,CAAC,OAAO;oBAChB,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM;oBAChC,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG;oBAC1B,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;oBACvD,KAAK,EAAE,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;oBACnD,IAAI,EACF,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK;wBACnC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;wBAC5B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;iBACzB;gBACH,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YAClB,kEAAkE;YAClE,cAAc,GAAG,4BAA4B,CAAC;gBAC5C,GAAG,KAAK;gBACR,OAAO,EAAE,cAAc;aACxB,CAAC,CAAC;QACL,CAAC;QAED,2EAA2E;QAC3E,MAAM,WAAW,GAAG,eAAe;YACjC,CAAC,CAAC,MAAM,IAAA,qCAAoB,EAAC;gBACzB,WAAW;gBACX,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU;gBAC1C,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE;aACxD,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,QAAQ,GAAG,MAAM,IAAA,yCAAwB,EAAC;YAC9C,WAAW;YACX,YAAY,EAAE,WAAW,EAAE,YAAY;YACvC,QAAQ,EAAE,WAAW,EAAE,WAAW,IAAI,EAAE;YACxC,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE;SACxD,CAAC,CAAC;QAEH,4EAA4E;QAC5E,0EAA0E;QAC1E,6DAA6D;QAC7D,MAAM,kBAAkB,GAAG;YACzB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,QAAQ,EAAE,KAAK,CAAC,gBAAgB;YAChC,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;QACF,cAAc,GAAG,MAAM,IAAA,sCAAgB,EACrC,cAAc,EACd,KAAK,CAAC,OAAO,CAAC,IAAI,EAClB,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,kCAAoB,EAAC,KAAK,EAAE,kBAAkB,CAAC,EAC1D;YACE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;gBAChC,MAAM,MAAM,GAAG,MAAM,IAAA,kCAAc,EAAC;oBAClC,MAAM,EAAE,YAAY,CAAC,MAAM;oBAC3B,GAAG,EAAE,YAAY,CAAC,GAAG;oBACrB,OAAO,EAAE,YAAY,CAAC,OAAO;oBAC7B,IAAI,EAAE,YAAY,CAAC,IAAI;iBACxB,CAAC,CAAC;gBACH,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YACtD,CAAC;YACD,KAAK,EAAE,gBAAgB;SACxB,CACF,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,kCAAc,EAAC,cAAc,CAAC,CAAC;QACtD,MAAM,eAAe,GAAG,IAAA,wCAAiB,EAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEjD,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,eAAe;YAClC,CAAC,CAAC,MAAM,IAAA,qCAAoB,EAAC;gBACzB,WAAW;gBACX,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY;gBAC5C,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;aAC/D,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,SAAS,GAAG,MAAM,IAAA,yCAAwB,EAAC;YAC/C,WAAW;YACX,YAAY,EAAE,WAAW,EAAE,YAAY;YACvC,QAAQ,EAAE,WAAW,EAAE,YAAY,IAAI,EAAE;YACzC,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;SAC/D,CAAC,CAAC;QAEH,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,qBAAqB,CAAC;YAC1C,WAAW;YACX,eAAe;YACf,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW;YACX,YAAY;YACZ,QAAQ;YACR,SAAS;SACV,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAG,MAAM,IAAA,2BAAS,EAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE;YAC9D,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,QAAQ;YACR,OAAO,EAAE,cAAc;YACvB,EAAE;YACF,KAAK;YACL,aAAa;SACd,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ;YACR,MAAM,EAAE;gBACN,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;gBAC3B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;gBAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,QAAQ;gBACR,OAAO,EAAE,cAAc;gBACvB,aAAa,EAAE,CAAC,GAAG,qBAAqB,EAAE,GAAG,kBAAkB,CAAC;gBAChE,eAAe;aAChB;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAEnD,OAAO;YACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE;gBACN,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;gBAC3B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;gBAC/B,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,cAAc;gBACvB,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,eAAe,EAAE,EAAE;aACpB;SACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AA7KW,QAAA,UAAU,cA6KrB"}
1
+ {"version":3,"file":"requestRunner.js","sourceRoot":"","sources":["../../src/runner/requestRunner.ts"],"names":[],"mappings":"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"}