callman-core 1.7.1 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/scenario-runner/runScenario.d.ts.map +1 -1
  2. package/dist/scenario-runner/runScenario.js +8 -0
  3. package/dist/scenario-runner/runScenario.js.map +1 -1
  4. package/dist/scenario-runner/types.d.ts +1 -1
  5. package/dist/scenario-runner/types.d.ts.map +1 -1
  6. package/dist/script/executor.d.ts.map +1 -1
  7. package/dist/script/executor.js +75 -9
  8. package/dist/script/executor.js.map +1 -1
  9. package/dist/script/features/collectionVariables.d.ts +16 -0
  10. package/dist/script/features/collectionVariables.d.ts.map +1 -0
  11. package/dist/script/features/collectionVariables.js +83 -0
  12. package/dist/script/features/collectionVariables.js.map +1 -0
  13. package/dist/script/features/cryptojs.d.ts +8 -12
  14. package/dist/script/features/cryptojs.d.ts.map +1 -1
  15. package/dist/script/features/cryptojs.js +15 -99
  16. package/dist/script/features/cryptojs.js.map +1 -1
  17. package/dist/script/features/environment.d.ts +8 -1
  18. package/dist/script/features/environment.d.ts.map +1 -1
  19. package/dist/script/features/environment.js +25 -1
  20. package/dist/script/features/environment.js.map +1 -1
  21. package/dist/script/features/execution.d.ts +17 -0
  22. package/dist/script/features/execution.d.ts.map +1 -0
  23. package/dist/script/features/execution.js +60 -0
  24. package/dist/script/features/execution.js.map +1 -0
  25. package/dist/script/features/headerList.d.ts +44 -0
  26. package/dist/script/features/headerList.d.ts.map +1 -0
  27. package/dist/script/features/headerList.js +284 -0
  28. package/dist/script/features/headerList.js.map +1 -0
  29. package/dist/script/features/info.d.ts +10 -0
  30. package/dist/script/features/info.d.ts.map +1 -0
  31. package/dist/script/features/info.js +32 -0
  32. package/dist/script/features/info.js.map +1 -0
  33. package/dist/script/features/request.d.ts +3 -2
  34. package/dist/script/features/request.d.ts.map +1 -1
  35. package/dist/script/features/request.js +38 -29
  36. package/dist/script/features/request.js.map +1 -1
  37. package/dist/script/features/response.d.ts +7 -5
  38. package/dist/script/features/response.d.ts.map +1 -1
  39. package/dist/script/features/response.js +16 -8
  40. package/dist/script/features/response.js.map +1 -1
  41. package/dist/script/features/responseAssertions.d.ts +50 -0
  42. package/dist/script/features/responseAssertions.d.ts.map +1 -0
  43. package/dist/script/features/responseAssertions.js +293 -0
  44. package/dist/script/features/responseAssertions.js.map +1 -0
  45. package/dist/script/features/timers.d.ts +17 -0
  46. package/dist/script/features/timers.d.ts.map +1 -0
  47. package/dist/script/features/timers.js +152 -0
  48. package/dist/script/features/timers.js.map +1 -0
  49. package/dist/script/features/variables.d.ts +8 -1
  50. package/dist/script/features/variables.d.ts.map +1 -1
  51. package/dist/script/features/variables.js +57 -11
  52. package/dist/script/features/variables.js.map +1 -1
  53. package/dist/script/scope.d.ts +10 -0
  54. package/dist/script/scope.d.ts.map +1 -1
  55. package/dist/script/scope.js +13 -4
  56. package/dist/script/scope.js.map +1 -1
  57. package/dist/script/types.d.ts +51 -1
  58. package/dist/script/types.d.ts.map +1 -1
  59. package/dist/templating/generator-metadata.d.ts +1 -0
  60. package/dist/templating/generator-metadata.d.ts.map +1 -1
  61. package/dist/templating/generator-metadata.js +76 -0
  62. package/dist/templating/generator-metadata.js.map +1 -1
  63. package/dist/templating/postman-generators.d.ts +12 -0
  64. package/dist/templating/postman-generators.d.ts.map +1 -0
  65. package/dist/templating/postman-generators.js +577 -0
  66. package/dist/templating/postman-generators.js.map +1 -0
  67. package/dist/templating/template-engine.d.ts.map +1 -1
  68. package/dist/templating/template-engine.js +16 -0
  69. package/dist/templating/template-engine.js.map +1 -1
  70. package/dist/variables/resolver.d.ts.map +1 -1
  71. package/dist/variables/resolver.js +15 -0
  72. package/dist/variables/resolver.js.map +1 -1
  73. package/dist-cjs/scenario-runner/runScenario.js +8 -0
  74. package/dist-cjs/scenario-runner/runScenario.js.map +1 -1
  75. package/dist-cjs/script/executor.js +78 -9
  76. package/dist-cjs/script/executor.js.map +1 -1
  77. package/dist-cjs/script/features/collectionVariables.js +87 -0
  78. package/dist-cjs/script/features/collectionVariables.js.map +1 -0
  79. package/dist-cjs/script/features/cryptojs.js +18 -99
  80. package/dist-cjs/script/features/cryptojs.js.map +1 -1
  81. package/dist-cjs/script/features/environment.js +25 -1
  82. package/dist-cjs/script/features/environment.js.map +1 -1
  83. package/dist-cjs/script/features/execution.js +64 -0
  84. package/dist-cjs/script/features/execution.js.map +1 -0
  85. package/dist-cjs/script/features/headerList.js +289 -0
  86. package/dist-cjs/script/features/headerList.js.map +1 -0
  87. package/dist-cjs/script/features/info.js +36 -0
  88. package/dist-cjs/script/features/info.js.map +1 -0
  89. package/dist-cjs/script/features/request.js +38 -29
  90. package/dist-cjs/script/features/request.js.map +1 -1
  91. package/dist-cjs/script/features/response.js +16 -8
  92. package/dist-cjs/script/features/response.js.map +1 -1
  93. package/dist-cjs/script/features/responseAssertions.js +297 -0
  94. package/dist-cjs/script/features/responseAssertions.js.map +1 -0
  95. package/dist-cjs/script/features/timers.js +156 -0
  96. package/dist-cjs/script/features/timers.js.map +1 -0
  97. package/dist-cjs/script/features/variables.js +57 -11
  98. package/dist-cjs/script/features/variables.js.map +1 -1
  99. package/dist-cjs/script/scope.js +13 -4
  100. package/dist-cjs/script/scope.js.map +1 -1
  101. package/dist-cjs/templating/generator-metadata.js +77 -1
  102. package/dist-cjs/templating/generator-metadata.js.map +1 -1
  103. package/dist-cjs/templating/postman-generators.js +581 -0
  104. package/dist-cjs/templating/postman-generators.js.map +1 -0
  105. package/dist-cjs/templating/template-engine.js +16 -0
  106. package/dist-cjs/templating/template-engine.js.map +1 -1
  107. package/dist-cjs/variables/resolver.js +15 -0
  108. package/dist-cjs/variables/resolver.js.map +1 -1
  109. package/package.json +6 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headerList.js","sourceRoot":"","sources":["../../../src/script/features/headerList.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ // pm.info — Postman's read-only snapshot of "where am I" in a run.
3
+ //
4
+ // Every field is host-supplied via capabilities.info. Defaults are
5
+ // chosen so a single Send (no iteration) still produces sensible
6
+ // values: iteration=1, iterationCount=1, eventName based on stage.
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.buildInfoApi = void 0;
9
+ const stageToEventName = (stage) => {
10
+ switch (stage) {
11
+ case "pre-request":
12
+ return "prerequest";
13
+ case "tests":
14
+ return "test";
15
+ case "post-response":
16
+ return "post-response";
17
+ case "script":
18
+ return "scenario-script";
19
+ default:
20
+ return String(stage);
21
+ }
22
+ };
23
+ const buildInfoApi = (capability, stage) => {
24
+ const fallbackEvent = stageToEventName(stage);
25
+ return {
26
+ eventName: capability?.eventName ?? fallbackEvent,
27
+ iteration: typeof capability?.iteration === "number" ? capability.iteration : 1,
28
+ iterationCount: typeof capability?.iterationCount === "number"
29
+ ? capability.iterationCount
30
+ : 1,
31
+ requestName: typeof capability?.requestName === "string" ? capability.requestName : "",
32
+ requestId: typeof capability?.requestId === "string" ? capability.requestId : "",
33
+ };
34
+ };
35
+ exports.buildInfoApi = buildInfoApi;
36
+ //# sourceMappingURL=info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/script/features/info.ts"],"names":[],"mappings":";AAAA,mEAAmE;AACnE,EAAE;AACF,mEAAmE;AACnE,iEAAiE;AACjE,mEAAmE;;;AAYnE,MAAM,gBAAgB,GAAG,CAAC,KAAkB,EAAU,EAAE;IACtD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,aAAa;YAChB,OAAO,YAAY,CAAC;QACtB,KAAK,OAAO;YACV,OAAO,MAAM,CAAC;QAChB,KAAK,eAAe;YAClB,OAAO,eAAe,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,iBAAiB,CAAC;QAC3B;YACE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,YAAY,GAAG,CAC1B,UAA4C,EAC5C,KAAkB,EACT,EAAE;IACX,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO;QACL,SAAS,EAAE,UAAU,EAAE,SAAS,IAAI,aAAa;QACjD,SAAS,EACP,OAAO,UAAU,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACtE,cAAc,EACZ,OAAO,UAAU,EAAE,cAAc,KAAK,QAAQ;YAC5C,CAAC,CAAC,UAAU,CAAC,cAAc;YAC3B,CAAC,CAAC,CAAC;QACP,WAAW,EACT,OAAO,UAAU,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;QAC3E,SAAS,EACP,OAAO,UAAU,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;KACxE,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,YAAY,gBAkBvB"}
@@ -5,41 +5,36 @@
5
5
  // getQueryParam/setQueryParam/unsetQueryParam, setMethod/setUrl/setRawBody.
6
6
  // Mutations are applied to a working copy; callers retrieve the final
7
7
  // state via `toRequestState()` after the script completes.
8
+ //
9
+ // `headers` and `query` are exposed as HeaderList wrappers (see
10
+ // `./headerList.ts`). Existing scripts that use bracket access
11
+ // (`pm.request.headers["X-Custom"]`) continue to work bit-for-bit; new
12
+ // scripts can call `headers.get`, `headers.upsert`, `headers.add`,
13
+ // `headers.has`, `headers.remove`, etc.
8
14
  Object.defineProperty(exports, "__esModule", { value: true });
9
15
  exports.buildRequestApi = void 0;
16
+ const headerList_js_1 = require("./headerList.js");
10
17
  const cloneBody = (body) => ({
11
18
  mode: body.mode,
12
19
  raw: body.raw,
13
20
  formEntries: body.formEntries.map((entry) => ({ ...entry })),
14
21
  });
15
- const toRecord = (entries) => {
16
- const record = {};
17
- for (const entry of entries) {
18
- if (entry.enabled === false) {
19
- continue;
20
- }
21
- const key = entry.key.trim();
22
- if (!key) {
23
- continue;
24
- }
25
- record[key] = entry.value;
26
- }
27
- return record;
28
- };
29
- const toEntries = (record) => Object.entries(record).map(([key, value]) => ({
30
- key,
31
- value,
32
- enabled: true,
33
- }));
34
22
  const stringifyHeaderValue = (value) => {
35
23
  if (value === undefined || value === null) {
36
24
  return "";
37
25
  }
38
26
  return String(value);
39
27
  };
28
+ const enabledEntries = (entries) => entries
29
+ .filter((entry) => entry.enabled !== false)
30
+ .map((entry) => ({
31
+ key: entry.key.trim(),
32
+ value: entry.value,
33
+ }))
34
+ .filter((entry) => entry.key.length > 0);
40
35
  const buildRequestApi = (request) => {
41
- const headers = toRecord(request.headers);
42
- const query = toRecord(request.query);
36
+ const headers = (0, headerList_js_1.createHeaderList)(enabledEntries(request.headers));
37
+ const query = (0, headerList_js_1.createHeaderList)(enabledEntries(request.query));
43
38
  const body = cloneBody(request.body);
44
39
  const api = {
45
40
  method: request.method,
@@ -47,35 +42,43 @@ const buildRequestApi = (request) => {
47
42
  headers,
48
43
  query,
49
44
  body,
50
- getHeader: (key) => headers[String(key ?? "").trim()],
45
+ getHeader: (key) => headers.get(String(key ?? "").trim()),
51
46
  setHeader: (key, value) => {
52
47
  const normalizedKey = String(key ?? "").trim();
53
48
  if (!normalizedKey) {
54
49
  return;
55
50
  }
56
- headers[normalizedKey] = stringifyHeaderValue(value);
51
+ // upsert keeps duplicates collapsed and is case-insensitive — matches
52
+ // both Postman semantics and the legacy `headers[k] = v` behaviour.
53
+ headers.upsert({
54
+ key: normalizedKey,
55
+ value: stringifyHeaderValue(value),
56
+ });
57
57
  },
58
58
  unsetHeader: (key) => {
59
59
  const normalizedKey = String(key ?? "").trim();
60
60
  if (!normalizedKey) {
61
61
  return;
62
62
  }
63
- delete headers[normalizedKey];
63
+ headers.remove(normalizedKey);
64
64
  },
65
- getQueryParam: (key) => query[String(key ?? "").trim()],
65
+ getQueryParam: (key) => query.get(String(key ?? "").trim()),
66
66
  setQueryParam: (key, value) => {
67
67
  const normalizedKey = String(key ?? "").trim();
68
68
  if (!normalizedKey) {
69
69
  return;
70
70
  }
71
- query[normalizedKey] = stringifyHeaderValue(value);
71
+ query.upsert({
72
+ key: normalizedKey,
73
+ value: stringifyHeaderValue(value),
74
+ });
72
75
  },
73
76
  unsetQueryParam: (key) => {
74
77
  const normalizedKey = String(key ?? "").trim();
75
78
  if (!normalizedKey) {
76
79
  return;
77
80
  }
78
- delete query[normalizedKey];
81
+ query.remove(normalizedKey);
79
82
  },
80
83
  setMethod(nextMethod) {
81
84
  const normalizedValue = String(nextMethod ?? "")
@@ -99,8 +102,14 @@ const buildRequestApi = (request) => {
99
102
  toRequestState: () => ({
100
103
  method: api.method,
101
104
  url: api.url,
102
- headers: toEntries(api.headers),
103
- query: toEntries(api.query),
105
+ headers: (0, headerList_js_1.headerListEntries)(api.headers).map((entry) => ({
106
+ ...entry,
107
+ enabled: true,
108
+ })),
109
+ query: (0, headerList_js_1.headerListEntries)(api.query).map((entry) => ({
110
+ ...entry,
111
+ enabled: true,
112
+ })),
104
113
  body: cloneBody(api.body),
105
114
  }),
106
115
  };
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/script/features/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/script/features/request.ts"],"names":[],"mappings":";AAAA,6EAA6E;AAC7E,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;AAC5E,sEAAsE;AACtE,2DAA2D;AAC3D,EAAE;AACF,gEAAgE;AAChE,+DAA+D;AAC/D,uEAAuE;AACvE,mEAAmE;AACnE,wCAAwC;;;AAExC,mDAIyB;AAwBzB,MAAM,SAAS,GAAG,CAAC,IAA4B,EAA0B,EAAE,CAAC,CAAC;IAC3E,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,GAAG,EAAE,IAAI,CAAC,GAAG;IACb,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;CAC7D,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAU,EAAE;IACtD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,OAA6B,EAAE,EAAE,CACvD,OAAO;KACJ,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC;KAC1C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACf,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;IACrB,KAAK,EAAE,KAAK,CAAC,KAAK;CACnB,CAAC,CAAC;KACF,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAOtC,MAAM,eAAe,GAAG,CAAC,OAA2B,EAAoB,EAAE;IAC/E,MAAM,OAAO,GAAG,IAAA,gCAAgB,EAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,IAAA,gCAAgB,EAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,MAAM,GAAG,GAAe;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,OAAO;QACP,KAAK;QACL,IAAI;QACJ,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjE,SAAS,EAAE,CAAC,GAAW,EAAE,KAAc,EAAE,EAAE;YACzC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,sEAAsE;YACtE,oEAAoE;YACpE,OAAO,CAAC,MAAM,CAAC;gBACb,GAAG,EAAE,aAAa;gBAClB,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC;aACnC,CAAC,CAAC;QACL,CAAC;QACD,WAAW,EAAE,CAAC,GAAW,EAAE,EAAE;YAC3B,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAChC,CAAC;QACD,aAAa,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,aAAa,EAAE,CAAC,GAAW,EAAE,KAAc,EAAE,EAAE;YAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,KAAK,CAAC,MAAM,CAAC;gBACX,GAAG,EAAE,aAAa;gBAClB,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC;aACnC,CAAC,CAAC;QACL,CAAC;QACD,eAAe,EAAE,CAAC,GAAW,EAAE,EAAE;YAC/B,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC;QACD,SAAS,CAAC,UAAmB;YAC3B,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;iBAC7C,IAAI,EAAE;iBACN,WAAW,EAAE,CAAC;YACjB,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;YAChC,CAAC;QACH,CAAC;QACD,MAAM,CAAC,OAAgB;YACrB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,UAAU,CAAC,KAAc;YACvB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3E,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAC7B,CAAC;KACF,CAAC;IAEF,OAAO;QACL,GAAG;QACH,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;YACrB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,OAAO,EAAE,IAAA,iCAAiB,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACtD,GAAG,KAAK;gBACR,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,KAAK,EAAE,IAAA,iCAAiB,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAClD,GAAG,KAAK;gBACR,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;SAC1B,CAAC;KACH,CAAC;AACJ,CAAC,CAAC;AAnFW,QAAA,eAAe,mBAmF1B"}
@@ -2,13 +2,19 @@
2
2
  // pm.response — read-only view of the captured response, plus the classic
3
3
  // Postman fluent assertion entry points (.to / .be / .have).
4
4
  //
5
- // We return a plain object with the assertion getters spliced on so user
6
- // scripts can write `pm.response.to.have.status(200)` exactly like Postman.
7
- // The PmAssertion is a fresh instance bound to the response itself so the
8
- // chain can drill into headers / status / body via .property() etc.
5
+ // `headers` is exposed as a read-only HeaderList wrapper (see
6
+ // `./headerList.ts`). Bracket access (`pm.response.headers["x-trace"]`) keeps
7
+ // working bit-for-bit with the previous Record<string, string> shape; new
8
+ // scripts can call `pm.response.headers.get("X-Trace")` (case-insensitive),
9
+ // `.has(name)`, `.idx(i)`, `.all()`, or iterate with `for...of`.
10
+ //
11
+ // `.to` / `.be` / `.have` are spliced with a `ResponseAssertion` instance so
12
+ // chains like `pm.response.to.be.success.and.have.jsonBody("data.id")` work
13
+ // without any helper wrappers.
9
14
  Object.defineProperty(exports, "__esModule", { value: true });
10
15
  exports.buildResponseApi = void 0;
11
- const assertions_js_1 = require("./assertions.js");
16
+ const headerList_js_1 = require("./headerList.js");
17
+ const responseAssertions_js_1 = require("./responseAssertions.js");
12
18
  const buildResponseApi = (response) => {
13
19
  if (!response) {
14
20
  return null;
@@ -22,7 +28,7 @@ const buildResponseApi = (response) => {
22
28
  status: response.status,
23
29
  code: response.status,
24
30
  statusText: response.statusText,
25
- headers: response.headers,
31
+ headers: (0, headerList_js_1.createHeaderList)(response.headers, { readOnly: true }),
26
32
  data: parsedBody,
27
33
  body: parsedBody,
28
34
  rawBody: response.rawBody,
@@ -31,13 +37,15 @@ const buildResponseApi = (response) => {
31
37
  durationMs: response.durationMs,
32
38
  responseTime: response.durationMs,
33
39
  sizeBytes: response.sizeBytes,
40
+ responseSize: response.sizeBytes,
34
41
  cookies: [...response.cookies],
35
42
  json: () => response.jsonBody,
36
43
  text: () => response.rawBody,
37
44
  };
38
45
  // Splice fluent assertion getters onto the same object so chains like
39
- // `pm.response.to.have.status(200)` work without a helper wrapper.
40
- const assertion = new assertions_js_1.PmAssertion(api);
46
+ // `pm.response.to.have.status(200)`, `pm.response.to.be.success`, and
47
+ // `pm.response.to.have.jsonBody("data.id", "abc")` all work.
48
+ const assertion = new responseAssertions_js_1.ResponseAssertion(api);
41
49
  api.to = assertion;
42
50
  api.be = assertion;
43
51
  api.have = assertion;
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/script/features/response.ts"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,6DAA6D;AAC7D,EAAE;AACF,yEAAyE;AACzE,4EAA4E;AAC5E,0EAA0E;AAC1E,oEAAoE;;;AAEpE,mDAA8C;AA4BvC,MAAM,gBAAgB,GAAG,CAAC,QAAoC,EAAsB,EAAE;IAC3F,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iEAAiE;IACjE,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC;IAEtD,MAAM,GAAG,GAAgB;QACvB,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ,CAAC,MAAM;QACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,EAAE,QAAQ,CAAC,OAAO;QACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,YAAY,EAAE,QAAQ,CAAC,UAAU;QACjC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC9B,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ;QAC7B,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO;KAC7B,CAAC;IAEF,sEAAsE;IACtE,mEAAmE;IACnE,MAAM,SAAS,GAAG,IAAI,2BAAW,CAAC,GAAG,CAAC,CAAC;IACvC,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;IACnB,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;IACnB,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC;IAErB,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AArCW,QAAA,gBAAgB,oBAqC3B"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/script/features/response.ts"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,6DAA6D;AAC7D,EAAE;AACF,8DAA8D;AAC9D,8EAA8E;AAC9E,0EAA0E;AAC1E,4EAA4E;AAC5E,iEAAiE;AACjE,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,+BAA+B;;;AAE/B,mDAAoE;AACpE,mEAA4D;AA6BrD,MAAM,gBAAgB,GAAG,CAAC,QAAoC,EAAsB,EAAE;IAC3F,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iEAAiE;IACjE,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC;IAEtD,MAAM,GAAG,GAAgB;QACvB,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ,CAAC,MAAM;QACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,OAAO,EAAE,IAAA,gCAAgB,EAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC/D,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,EAAE,QAAQ,CAAC,OAAO;QACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,YAAY,EAAE,QAAQ,CAAC,UAAU;QACjC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,YAAY,EAAE,QAAQ,CAAC,SAAS;QAChC,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC9B,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ;QAC7B,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO;KAC7B,CAAC;IAEF,sEAAsE;IACtE,sEAAsE;IACtE,6DAA6D;IAC7D,MAAM,SAAS,GAAG,IAAI,yCAAiB,CAAC,GAAG,CAAC,CAAC;IAC7C,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;IACnB,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;IACnB,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC;IAErB,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAvCW,QAAA,gBAAgB,oBAuC3B"}
@@ -0,0 +1,297 @@
1
+ "use strict";
2
+ // ResponseAssertion — Postman-compatible response-shape shortcuts.
3
+ //
4
+ // Extends PmAssertion with the family of getters and methods that scripts
5
+ // reach for on `pm.response.to.*`:
6
+ //
7
+ // pm.response.to.be.ok // 2xx
8
+ // pm.response.to.be.success // 2xx (alias)
9
+ // pm.response.to.be.info // 1xx
10
+ // pm.response.to.be.redirection // 3xx
11
+ // pm.response.to.be.clientError // 4xx
12
+ // pm.response.to.be.serverError // 5xx
13
+ // pm.response.to.be.notFound // 404
14
+ // pm.response.to.be.unauthorized // 401
15
+ // pm.response.to.be.forbidden // 403
16
+ // pm.response.to.be.badRequest // 400
17
+ // pm.response.to.be.rateLimited // 429
18
+ //
19
+ // pm.response.to.be.json // content-type includes application/json
20
+ // pm.response.to.be.xml // includes xml
21
+ // pm.response.to.be.html // includes html
22
+ //
23
+ // pm.response.to.have.body(text?) // substring or non-empty
24
+ // pm.response.to.have.jsonBody(path?, val?) // dot-path JSON lookup
25
+ //
26
+ // Each predicate honours `.not` for negation, and returns the assertion so
27
+ // chains keep going: `pm.response.to.be.success.and.have.body("ok")`.
28
+ //
29
+ // Back-compat note: PmAssertion already exposes a `.ok` getter that checks
30
+ // truthiness. We override it here to the 2xx range semantic Postman uses.
31
+ // Existing Callman scripts that called `pm.response.to.be.ok` previously
32
+ // always passed (a ResponseApi object is truthy by construction), so the
33
+ // new behaviour is strictly more useful — failing responses now fail the
34
+ // assertion as they should.
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ResponseAssertion = void 0;
37
+ const assertions_js_1 = require("./assertions.js");
38
+ const get_js_1 = require("../../utils/get.js");
39
+ const isObject = (value) => typeof value === "object" && value !== null;
40
+ const formatValue = (value) => {
41
+ if (typeof value === "string")
42
+ return `"${value}"`;
43
+ if (value === undefined)
44
+ return "undefined";
45
+ try {
46
+ return JSON.stringify(value);
47
+ }
48
+ catch {
49
+ return String(value);
50
+ }
51
+ };
52
+ class ResponseAssertion extends assertions_js_1.PmAssertion {
53
+ constructor(actual, flags = {}) {
54
+ super(actual, flags);
55
+ }
56
+ // ── Modifier getters preserve the subclass so the response-specific
57
+ // predicates stay available after .not / .deep / .nested ───────────────
58
+ get not() {
59
+ return new ResponseAssertion(this.actual, {
60
+ ...this.flags,
61
+ negated: !this.flags.negated,
62
+ });
63
+ }
64
+ get deep() {
65
+ return new ResponseAssertion(this.actual, { ...this.flags, deep: true });
66
+ }
67
+ get nested() {
68
+ return new ResponseAssertion(this.actual, {
69
+ ...this.flags,
70
+ nested: true,
71
+ });
72
+ }
73
+ // ── Internal assertion + status helpers ────────────────────────────────
74
+ decide(pass, positiveMessage, negativeMessage) {
75
+ const finalPass = this.flags.negated ? !pass : pass;
76
+ if (!finalPass) {
77
+ throw new Error(this.flags.negated
78
+ ? negativeMessage ?? `Expected NOT: ${positiveMessage}`
79
+ : positiveMessage);
80
+ }
81
+ return this;
82
+ }
83
+ readStatus() {
84
+ if (isObject(this.actual)) {
85
+ const raw = this.actual.status;
86
+ if (typeof raw === "number" && Number.isFinite(raw)) {
87
+ return raw;
88
+ }
89
+ }
90
+ throw new Error("Response shortcut requires a response object (missing numeric `status`)");
91
+ }
92
+ readContentType() {
93
+ if (!isObject(this.actual))
94
+ return "";
95
+ const direct = this.actual.contentType;
96
+ if (typeof direct === "string" && direct.length > 0) {
97
+ return direct.toLowerCase();
98
+ }
99
+ // Fall back to looking it up in the headers HeaderList / record.
100
+ const headers = this.actual.headers;
101
+ if (isObject(headers)) {
102
+ // HeaderList exposes a case-insensitive .get() — prefer it.
103
+ const headerGetter = headers.get;
104
+ if (typeof headerGetter === "function") {
105
+ const got = headerGetter.call(headers, "content-type");
106
+ if (typeof got === "string")
107
+ return got.toLowerCase();
108
+ }
109
+ else {
110
+ const lookup = Object.entries(headers).find(([key]) => key.toLowerCase() === "content-type");
111
+ if (lookup && typeof lookup[1] === "string") {
112
+ return lookup[1].toLowerCase();
113
+ }
114
+ }
115
+ }
116
+ return "";
117
+ }
118
+ readRawBody() {
119
+ if (!isObject(this.actual))
120
+ return "";
121
+ const raw = this.actual.rawBody;
122
+ if (typeof raw === "string")
123
+ return raw;
124
+ const body = this.actual.body;
125
+ if (typeof body === "string")
126
+ return body;
127
+ if (body !== null && body !== undefined) {
128
+ try {
129
+ return JSON.stringify(body);
130
+ }
131
+ catch {
132
+ return String(body);
133
+ }
134
+ }
135
+ return "";
136
+ }
137
+ readJsonBody() {
138
+ if (!isObject(this.actual))
139
+ return undefined;
140
+ const jsonFn = this.actual.json;
141
+ if (typeof jsonFn === "function") {
142
+ try {
143
+ return jsonFn.call(this.actual);
144
+ }
145
+ catch {
146
+ // fall through to other shapes
147
+ }
148
+ }
149
+ const direct = this.actual.jsonBody;
150
+ if (direct !== undefined)
151
+ return direct;
152
+ const body = this.actual.body;
153
+ if (body !== undefined)
154
+ return body;
155
+ return this.actual.data;
156
+ }
157
+ statusInRange(min, max, label) {
158
+ const status = this.readStatus();
159
+ return this.decide(status >= min && status <= max, `Expected status ${status} to be ${label} (${min}-${max})`, `Expected status ${status} NOT to be ${label} (${min}-${max})`);
160
+ }
161
+ statusExactly(expected, label) {
162
+ const status = this.readStatus();
163
+ return this.decide(status === expected, `Expected status ${status} to be ${expected} (${label})`, `Expected status ${status} NOT to be ${expected} (${label})`);
164
+ }
165
+ // ── Status-range predicates ───────────────────────────────────────────
166
+ get ok() {
167
+ return this.statusInRange(200, 299, "OK / 2xx");
168
+ }
169
+ get success() {
170
+ return this.statusInRange(200, 299, "success / 2xx");
171
+ }
172
+ get info() {
173
+ return this.statusInRange(100, 199, "informational / 1xx");
174
+ }
175
+ get redirection() {
176
+ return this.statusInRange(300, 399, "redirection / 3xx");
177
+ }
178
+ get clientError() {
179
+ return this.statusInRange(400, 499, "client error / 4xx");
180
+ }
181
+ get serverError() {
182
+ return this.statusInRange(500, 599, "server error / 5xx");
183
+ }
184
+ get error() {
185
+ // Postman's `.error` matches any 4xx OR 5xx response.
186
+ const status = this.readStatus();
187
+ return this.decide(status >= 400 && status <= 599, `Expected status ${status} to be an error (4xx-5xx)`, `Expected status ${status} NOT to be an error (4xx-5xx)`);
188
+ }
189
+ // ── Status-exact predicates ───────────────────────────────────────────
190
+ get notFound() {
191
+ return this.statusExactly(404, "Not Found");
192
+ }
193
+ get unauthorized() {
194
+ return this.statusExactly(401, "Unauthorized");
195
+ }
196
+ get forbidden() {
197
+ return this.statusExactly(403, "Forbidden");
198
+ }
199
+ get badRequest() {
200
+ return this.statusExactly(400, "Bad Request");
201
+ }
202
+ get rateLimited() {
203
+ return this.statusExactly(429, "Too Many Requests / rate limited");
204
+ }
205
+ get accepted() {
206
+ return this.statusExactly(202, "Accepted");
207
+ }
208
+ get withBody() {
209
+ // Postman shorthand — non-empty body.
210
+ const body = this.readRawBody();
211
+ return this.decide(body.length > 0, "Expected response to have a body", "Expected response NOT to have a body");
212
+ }
213
+ // ── Content-type predicates ───────────────────────────────────────────
214
+ get json() {
215
+ const ct = this.readContentType();
216
+ const isJson = ct.includes("application/json") ||
217
+ ct.includes("+json") ||
218
+ ct.includes("text/json");
219
+ return this.decide(isJson, `Expected response Content-Type to be JSON, got "${ct || "(none)"}"`, `Expected response Content-Type NOT to be JSON, got "${ct || "(none)"}"`);
220
+ }
221
+ get xml() {
222
+ const ct = this.readContentType();
223
+ const isXml = ct.includes("application/xml") ||
224
+ ct.includes("text/xml") ||
225
+ ct.includes("+xml");
226
+ return this.decide(isXml, `Expected response Content-Type to be XML, got "${ct || "(none)"}"`, `Expected response Content-Type NOT to be XML, got "${ct || "(none)"}"`);
227
+ }
228
+ get html() {
229
+ const ct = this.readContentType();
230
+ const isHtml = ct.includes("text/html");
231
+ return this.decide(isHtml, `Expected response Content-Type to be HTML, got "${ct || "(none)"}"`, `Expected response Content-Type NOT to be HTML, got "${ct || "(none)"}"`);
232
+ }
233
+ // ── Body / payload assertions ─────────────────────────────────────────
234
+ /**
235
+ * `.have.body()` — non-empty body.
236
+ * `.have.body("substring")` — body string contains substring.
237
+ */
238
+ body(expected) {
239
+ const raw = this.readRawBody();
240
+ if (expected === undefined) {
241
+ return this.decide(raw.length > 0, "Expected response to have a body", "Expected response NOT to have a body");
242
+ }
243
+ const needle = String(expected);
244
+ return this.decide(raw.includes(needle), `Expected response body to include ${formatValue(needle)}`, `Expected response body NOT to include ${formatValue(needle)}`);
245
+ }
246
+ /**
247
+ * `.have.jsonBody()` — body parses as JSON (non-undefined).
248
+ * `.have.jsonBody("path.to.field")` — dot-path lookup must exist.
249
+ * `.have.jsonBody("path.to.field", expected)` — dot-path lookup must
250
+ * deep-equal `expected`.
251
+ */
252
+ jsonBody(path, expected) {
253
+ const json = this.readJsonBody();
254
+ if (path === undefined) {
255
+ return this.decide(json !== undefined && json !== null, "Expected response body to be valid JSON", "Expected response body NOT to be valid JSON");
256
+ }
257
+ if (typeof path !== "string") {
258
+ throw new TypeError("jsonBody(path) — path must be a string");
259
+ }
260
+ const lookup = (0, get_js_1.safeGet)(json, path);
261
+ if (arguments.length < 2) {
262
+ return this.decide(lookup.exists, `Expected response body to have JSON path "${path}"`, `Expected response body NOT to have JSON path "${path}"`);
263
+ }
264
+ // Two-arg form: assert existence + deep equality.
265
+ if (!lookup.exists) {
266
+ return this.decide(false, `Expected response body to have JSON path "${path}"`, `Expected response body NOT to have JSON path "${path}"`);
267
+ }
268
+ return this.decide(deepEqual(lookup.value, expected), `Expected JSON path "${path}" to equal ${formatValue(expected)}, got ${formatValue(lookup.value)}`, `Expected JSON path "${path}" NOT to equal ${formatValue(expected)}`);
269
+ }
270
+ /**
271
+ * `.have.jsonSchema(schema)` — placeholder. Real implementation arrives
272
+ * in the Phase 2.4 work that bundles ajv. Throws a clear error today so
273
+ * scripts fail fast rather than silently passing.
274
+ */
275
+ jsonSchema(_schema) {
276
+ throw new Error("pm.response.to.have.jsonSchema is not yet supported — Phase 2.4 will land ajv-backed schema validation. Use pm.expect with manual checks for now.");
277
+ }
278
+ }
279
+ exports.ResponseAssertion = ResponseAssertion;
280
+ const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
281
+ const deepEqual = (left, right) => {
282
+ if (Object.is(left, right))
283
+ return true;
284
+ if (Array.isArray(left) && Array.isArray(right)) {
285
+ return (left.length === right.length &&
286
+ left.every((value, index) => deepEqual(value, right[index])));
287
+ }
288
+ if (isRecord(left) && isRecord(right)) {
289
+ const leftKeys = Object.keys(left);
290
+ const rightKeys = Object.keys(right);
291
+ return (leftKeys.length === rightKeys.length &&
292
+ leftKeys.every((key) => Object.prototype.hasOwnProperty.call(right, key) &&
293
+ deepEqual(left[key], right[key])));
294
+ }
295
+ return false;
296
+ };
297
+ //# sourceMappingURL=responseAssertions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responseAssertions.js","sourceRoot":"","sources":["../../../src/script/features/responseAssertions.ts"],"names":[],"mappings":";AAAA,mEAAmE;AACnE,EAAE;AACF,0EAA0E;AAC1E,mCAAmC;AACnC,EAAE;AACF,8CAA8C;AAC9C,sDAAsD;AACtD,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AAC9C,EAAE;AACF,iFAAiF;AACjF,uDAAuD;AACvD,wDAAwD;AACxD,EAAE;AACF,yEAAyE;AACzE,uEAAuE;AACvE,EAAE;AACF,2EAA2E;AAC3E,sEAAsE;AACtE,EAAE;AACF,2EAA2E;AAC3E,0EAA0E;AAC1E,yEAAyE;AACzE,yEAAyE;AACzE,yEAAyE;AACzE,4BAA4B;;;AAE5B,mDAAmE;AACnE,+CAA6C;AAE7C,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CACpE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AAE9C,MAAM,WAAW,GAAG,CAAC,KAAc,EAAU,EAAE;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,KAAK,GAAG,CAAC;IACnD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAC5C,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,MAAa,iBAAkB,SAAQ,2BAAW;IAChD,YAAY,MAAe,EAAE,QAAwB,EAAE;QACrD,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,qEAAqE;IACrE,yEAAyE;IACzE,IAAa,GAAG;QACd,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE;YACxC,GAAG,IAAI,CAAC,KAAK;YACb,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO;SAC7B,CAAC,CAAC;IACL,CAAC;IACD,IAAa,IAAI;QACf,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAa,MAAM;QACjB,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE;YACxC,GAAG,IAAI,CAAC,KAAK;YACb,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;IACL,CAAC;IAED,0EAA0E;IAClE,MAAM,CACZ,IAAa,EACb,eAAuB,EACvB,eAAwB;QAExB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,IAAI,CAAC,KAAK,CAAC,OAAO;gBAChB,CAAC,CAAC,eAAe,IAAI,iBAAiB,eAAe,EAAE;gBACvD,CAAC,CAAC,eAAe,CACpB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,UAAU;QAChB,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAI,IAAI,CAAC,MAA+B,CAAC,MAAM,CAAC;YACzD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpD,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QACtC,MAAM,MAAM,GAAI,IAAI,CAAC,MAAoC,CAAC,WAAW,CAAC;QACtE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;QAC9B,CAAC;QACD,iEAAiE;QACjE,MAAM,OAAO,GAAI,IAAI,CAAC,MAAgC,CAAC,OAAO,CAAC;QAC/D,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,4DAA4D;YAC5D,MAAM,YAAY,GAAI,OAA6B,CAAC,GAAG,CAAC;YACxD,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAI,YAA0C,CAAC,IAAI,CAC1D,OAAO,EACP,cAAc,CACf,CAAC;gBACF,IAAI,OAAO,GAAG,KAAK,QAAQ;oBAAE,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAkC,CAAC,CAAC,IAAI,CACpE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,cAAc,CAChD,CAAC;gBACF,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAC5C,OAAQ,MAAM,CAAC,CAAC,CAAY,CAAC,WAAW,EAAE,CAAC;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QACtC,MAAM,GAAG,GAAI,IAAI,CAAC,MAAgD,CAAC,OAAO,CAAC;QAC3E,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAC;QACxC,MAAM,IAAI,GAAI,IAAI,CAAC,MAA6B,CAAC,IAAI,CAAC;QACtD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC1C,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,SAAS,CAAC;QAC7C,MAAM,MAAM,GAAI,IAAI,CAAC,MAA6B,CAAC,IAAI,CAAC;QACxD,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,OAAQ,MAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrD,CAAC;YAAC,MAAM,CAAC;gBACP,+BAA+B;YACjC,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAI,IAAI,CAAC,MAAiC,CAAC,QAAQ,CAAC;QAChE,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,MAAM,IAAI,GAAI,IAAI,CAAC,MAA6C,CAAC,IAAI,CAAC;QACtE,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACpC,OAAQ,IAAI,CAAC,MAA6B,CAAC,IAAI,CAAC;IAClD,CAAC;IAEO,aAAa,CAAC,GAAW,EAAE,GAAW,EAAE,KAAa;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,MAAM,CAChB,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,EAC9B,mBAAmB,MAAM,UAAU,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,EAC1D,mBAAmB,MAAM,cAAc,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,CAC/D,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,QAAgB,EAAE,KAAa;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,MAAM,CAChB,MAAM,KAAK,QAAQ,EACnB,mBAAmB,MAAM,UAAU,QAAQ,KAAK,KAAK,GAAG,EACxD,mBAAmB,MAAM,cAAc,QAAQ,KAAK,KAAK,GAAG,CAC7D,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,IAAa,EAAE;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,qBAAqB,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,KAAK;QACP,sDAAsD;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,MAAM,CAChB,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,EAC9B,mBAAmB,MAAM,2BAA2B,EACpD,mBAAmB,MAAM,+BAA+B,CACzD,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,kCAAkC,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,QAAQ;QACV,sCAAsC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,MAAM,CAChB,IAAI,CAAC,MAAM,GAAG,CAAC,EACf,kCAAkC,EAClC,sCAAsC,CACvC,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,IAAI,IAAI;QACN,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAClC,MAAM,MAAM,GACV,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC/B,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YACpB,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,MAAM,CAChB,MAAM,EACN,mDAAmD,EAAE,IAAI,QAAQ,GAAG,EACpE,uDAAuD,EAAE,IAAI,QAAQ,GAAG,CACzE,CAAC;IACJ,CAAC;IAED,IAAI,GAAG;QACL,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAClC,MAAM,KAAK,GACT,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC9B,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YACvB,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,MAAM,CAChB,KAAK,EACL,kDAAkD,EAAE,IAAI,QAAQ,GAAG,EACnE,sDAAsD,EAAE,IAAI,QAAQ,GAAG,CACxE,CAAC;IACJ,CAAC;IAED,IAAI,IAAI;QACN,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,MAAM,CAChB,MAAM,EACN,mDAAmD,EAAE,IAAI,QAAQ,GAAG,EACpE,uDAAuD,EAAE,IAAI,QAAQ,GAAG,CACzE,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE;;;OAGG;IACH,IAAI,CAAC,QAAkB;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,MAAM,CAChB,GAAG,CAAC,MAAM,GAAG,CAAC,EACd,kCAAkC,EAClC,sCAAsC,CACvC,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,MAAM,CAChB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EACpB,qCAAqC,WAAW,CAAC,MAAM,CAAC,EAAE,EAC1D,yCAAyC,WAAW,CAAC,MAAM,CAAC,EAAE,CAC/D,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,IAAc,EAAE,QAAkB;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,MAAM,CAChB,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EACnC,yCAAyC,EACzC,6CAA6C,CAC9C,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,gBAAO,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,MAAM,CAChB,MAAM,CAAC,MAAM,EACb,6CAA6C,IAAI,GAAG,EACpD,iDAAiD,IAAI,GAAG,CACzD,CAAC;QACJ,CAAC;QACD,kDAAkD;QAClD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,MAAM,CAChB,KAAK,EACL,6CAA6C,IAAI,GAAG,EACpD,iDAAiD,IAAI,GAAG,CACzD,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAChB,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,EACjC,uBAAuB,IAAI,cAAc,WAAW,CAAC,QAAQ,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAClG,uBAAuB,IAAI,kBAAkB,WAAW,CAAC,QAAQ,CAAC,EAAE,CACrE,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,OAAgB;QACzB,MAAM,IAAI,KAAK,CACb,mJAAmJ,CACpJ,CAAC;IACJ,CAAC;CACF;AAxTD,8CAwTC;AAED,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CACpE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEvE,MAAM,SAAS,GAAG,CAAC,IAAa,EAAE,KAAc,EAAW,EAAE;IAC3D,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAC5B,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAC7D,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,CACL,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;YACpC,QAAQ,CAAC,KAAK,CACZ,CAAC,GAAG,EAAE,EAAE,CACN,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;gBAChD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CACnC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}