callman-core 1.7.1 → 1.8.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 (114) 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/templateResolver.d.ts.map +1 -1
  5. package/dist/scenario-runner/templateResolver.js +18 -0
  6. package/dist/scenario-runner/templateResolver.js.map +1 -1
  7. package/dist/scenario-runner/types.d.ts +1 -1
  8. package/dist/scenario-runner/types.d.ts.map +1 -1
  9. package/dist/script/executor.d.ts.map +1 -1
  10. package/dist/script/executor.js +75 -9
  11. package/dist/script/executor.js.map +1 -1
  12. package/dist/script/features/collectionVariables.d.ts +16 -0
  13. package/dist/script/features/collectionVariables.d.ts.map +1 -0
  14. package/dist/script/features/collectionVariables.js +83 -0
  15. package/dist/script/features/collectionVariables.js.map +1 -0
  16. package/dist/script/features/cryptojs.d.ts +8 -12
  17. package/dist/script/features/cryptojs.d.ts.map +1 -1
  18. package/dist/script/features/cryptojs.js +15 -99
  19. package/dist/script/features/cryptojs.js.map +1 -1
  20. package/dist/script/features/environment.d.ts +8 -1
  21. package/dist/script/features/environment.d.ts.map +1 -1
  22. package/dist/script/features/environment.js +25 -1
  23. package/dist/script/features/environment.js.map +1 -1
  24. package/dist/script/features/execution.d.ts +17 -0
  25. package/dist/script/features/execution.d.ts.map +1 -0
  26. package/dist/script/features/execution.js +60 -0
  27. package/dist/script/features/execution.js.map +1 -0
  28. package/dist/script/features/headerList.d.ts +44 -0
  29. package/dist/script/features/headerList.d.ts.map +1 -0
  30. package/dist/script/features/headerList.js +284 -0
  31. package/dist/script/features/headerList.js.map +1 -0
  32. package/dist/script/features/info.d.ts +10 -0
  33. package/dist/script/features/info.d.ts.map +1 -0
  34. package/dist/script/features/info.js +32 -0
  35. package/dist/script/features/info.js.map +1 -0
  36. package/dist/script/features/request.d.ts +3 -2
  37. package/dist/script/features/request.d.ts.map +1 -1
  38. package/dist/script/features/request.js +38 -29
  39. package/dist/script/features/request.js.map +1 -1
  40. package/dist/script/features/response.d.ts +7 -5
  41. package/dist/script/features/response.d.ts.map +1 -1
  42. package/dist/script/features/response.js +16 -8
  43. package/dist/script/features/response.js.map +1 -1
  44. package/dist/script/features/responseAssertions.d.ts +50 -0
  45. package/dist/script/features/responseAssertions.d.ts.map +1 -0
  46. package/dist/script/features/responseAssertions.js +293 -0
  47. package/dist/script/features/responseAssertions.js.map +1 -0
  48. package/dist/script/features/timers.d.ts +17 -0
  49. package/dist/script/features/timers.d.ts.map +1 -0
  50. package/dist/script/features/timers.js +152 -0
  51. package/dist/script/features/timers.js.map +1 -0
  52. package/dist/script/features/variables.d.ts +8 -1
  53. package/dist/script/features/variables.d.ts.map +1 -1
  54. package/dist/script/features/variables.js +57 -11
  55. package/dist/script/features/variables.js.map +1 -1
  56. package/dist/script/scope.d.ts +10 -0
  57. package/dist/script/scope.d.ts.map +1 -1
  58. package/dist/script/scope.js +13 -4
  59. package/dist/script/scope.js.map +1 -1
  60. package/dist/script/types.d.ts +51 -1
  61. package/dist/script/types.d.ts.map +1 -1
  62. package/dist/templating/generator-metadata.d.ts +1 -0
  63. package/dist/templating/generator-metadata.d.ts.map +1 -1
  64. package/dist/templating/generator-metadata.js +76 -0
  65. package/dist/templating/generator-metadata.js.map +1 -1
  66. package/dist/templating/postman-generators.d.ts +12 -0
  67. package/dist/templating/postman-generators.d.ts.map +1 -0
  68. package/dist/templating/postman-generators.js +577 -0
  69. package/dist/templating/postman-generators.js.map +1 -0
  70. package/dist/templating/template-engine.d.ts.map +1 -1
  71. package/dist/templating/template-engine.js +16 -0
  72. package/dist/templating/template-engine.js.map +1 -1
  73. package/dist/variables/resolver.d.ts.map +1 -1
  74. package/dist/variables/resolver.js +15 -0
  75. package/dist/variables/resolver.js.map +1 -1
  76. package/dist-cjs/scenario-runner/runScenario.js +8 -0
  77. package/dist-cjs/scenario-runner/runScenario.js.map +1 -1
  78. package/dist-cjs/scenario-runner/templateResolver.js +18 -0
  79. package/dist-cjs/scenario-runner/templateResolver.js.map +1 -1
  80. package/dist-cjs/script/executor.js +78 -9
  81. package/dist-cjs/script/executor.js.map +1 -1
  82. package/dist-cjs/script/features/collectionVariables.js +87 -0
  83. package/dist-cjs/script/features/collectionVariables.js.map +1 -0
  84. package/dist-cjs/script/features/cryptojs.js +18 -99
  85. package/dist-cjs/script/features/cryptojs.js.map +1 -1
  86. package/dist-cjs/script/features/environment.js +25 -1
  87. package/dist-cjs/script/features/environment.js.map +1 -1
  88. package/dist-cjs/script/features/execution.js +64 -0
  89. package/dist-cjs/script/features/execution.js.map +1 -0
  90. package/dist-cjs/script/features/headerList.js +289 -0
  91. package/dist-cjs/script/features/headerList.js.map +1 -0
  92. package/dist-cjs/script/features/info.js +36 -0
  93. package/dist-cjs/script/features/info.js.map +1 -0
  94. package/dist-cjs/script/features/request.js +38 -29
  95. package/dist-cjs/script/features/request.js.map +1 -1
  96. package/dist-cjs/script/features/response.js +16 -8
  97. package/dist-cjs/script/features/response.js.map +1 -1
  98. package/dist-cjs/script/features/responseAssertions.js +297 -0
  99. package/dist-cjs/script/features/responseAssertions.js.map +1 -0
  100. package/dist-cjs/script/features/timers.js +156 -0
  101. package/dist-cjs/script/features/timers.js.map +1 -0
  102. package/dist-cjs/script/features/variables.js +57 -11
  103. package/dist-cjs/script/features/variables.js.map +1 -1
  104. package/dist-cjs/script/scope.js +13 -4
  105. package/dist-cjs/script/scope.js.map +1 -1
  106. package/dist-cjs/templating/generator-metadata.js +77 -1
  107. package/dist-cjs/templating/generator-metadata.js.map +1 -1
  108. package/dist-cjs/templating/postman-generators.js +581 -0
  109. package/dist-cjs/templating/postman-generators.js.map +1 -0
  110. package/dist-cjs/templating/template-engine.js +16 -0
  111. package/dist-cjs/templating/template-engine.js.map +1 -1
  112. package/dist-cjs/variables/resolver.js +15 -0
  113. package/dist-cjs/variables/resolver.js.map +1 -1
  114. package/package.json +6 -2
@@ -26,6 +26,14 @@ import { buildCounterFeature } from "./features/counter.js";
26
26
  import { createCryptoJsApi } from "./features/cryptojs.js";
27
27
  import { buildVariablesApi } from "./features/variables.js";
28
28
  import { buildDbApi } from "./features/db.js";
29
+ import { buildTimerFeature } from "./features/timers.js";
30
+ import { buildCollectionVariablesApi } from "./features/collectionVariables.js";
31
+ import { buildInfoApi } from "./features/info.js";
32
+ import { buildExecutionFeature } from "./features/execution.js";
33
+ // Lodash is exposed unconditionally as the `_` global — Postman
34
+ // scripts call `_.filter`, `_.cloneDeep`, `_.get`, `_.merge`, etc.
35
+ // without an import, and we want feature parity.
36
+ import lodash from "lodash";
29
37
  import { compileAndPrepare } from "./sandbox.js";
30
38
  import { toSerializableError } from "./errors.js";
31
39
  import { toHostPromise, withAsyncTimeout } from "./timeout.js";
@@ -69,17 +77,28 @@ const buildSandboxDFeatures = (capabilities, isInsideTestCallback, envValues, gl
69
77
  scopeShortcuts.counter = feature.api;
70
78
  counterSnapshotFn = feature.snapshot;
71
79
  }
72
- if (extensions.cryptojs) {
80
+ // CryptoJS is always exposed at top-level scope — Postman scripts
81
+ // call `CryptoJS.HmacSHA256(...)`, `CryptoJS.AES.encrypt(...)`, etc.
82
+ // unconditionally. The package is bundled (no Buffer / Node deps),
83
+ // so it runs inside the vm sandbox cleanly. pm.cryptojs is
84
+ // intentionally NOT set — Postman never namespaced it under pm.
85
+ {
73
86
  const api = createCryptoJsApi();
74
- // CryptoJS is exposed ONLY at top-level scope (matching electron's
75
- // current surface). pm.cryptojs is intentionally NOT set so the parity
76
- // tests that lock in current behavior continue to pass.
77
87
  scopeShortcuts.CryptoJS = api;
78
88
  }
79
- if (extensions.variables) {
89
+ // pm.variables is always exposed — Postman scripts call
90
+ // `pm.variables.set/get/resolve/replaceIn` unconditionally. When the
91
+ // host opts out of the extension we still bind a working API against
92
+ // the env + globals snapshots so calls don't crash with
93
+ // "Cannot read properties of undefined". The `variables` shortcut
94
+ // (top-level `variables` identifier) is only registered when the
95
+ // extension was explicitly requested, to preserve the prior surface.
96
+ {
80
97
  const api = buildVariablesApi(envValues, globalValues);
81
98
  pm.variables = api;
82
- scopeShortcuts.variables = api;
99
+ if (extensions.variables) {
100
+ scopeShortcuts.variables = api;
101
+ }
83
102
  }
84
103
  if (extensions.db) {
85
104
  const dbEnabled = featurePolicy ? featurePolicy.database : true;
@@ -293,6 +312,15 @@ const buildPm = (capabilities, logs, collectors, sandboxDPm) => {
293
312
  if (collectors.globals) {
294
313
  pm.globals = collectors.globals;
295
314
  }
315
+ if (collectors.collectionVariables) {
316
+ pm.collectionVariables = collectors.collectionVariables;
317
+ }
318
+ if (collectors.info) {
319
+ pm.info = collectors.info;
320
+ }
321
+ if (collectors.execution) {
322
+ pm.execution = collectors.execution.api;
323
+ }
296
324
  if (collectors.request) {
297
325
  pm.request = collectors.request.api;
298
326
  }
@@ -314,7 +342,7 @@ const buildPm = (capabilities, logs, collectors, sandboxDPm) => {
314
342
  }
315
343
  return pm;
316
344
  };
317
- const buildScopeBindings = ({ pm, capabilities, consoleApi, envValues, environmentApi, request, response, expect, test, sandboxDShortcuts, }) => {
345
+ const buildScopeBindings = ({ pm, capabilities, consoleApi, envValues, environmentApi, request, response, expect, test, sandboxDShortcuts, timers, }) => {
318
346
  const exposeLabels = capabilities.workflowContext &&
319
347
  capabilities.exposeLabelsAsGlobals !== false;
320
348
  const labelGlobals = exposeLabels
@@ -339,6 +367,8 @@ const buildScopeBindings = ({ pm, capabilities, consoleApi, envValues, environme
339
367
  counter: sandboxDShortcuts.counter,
340
368
  variables: sandboxDShortcuts.variables,
341
369
  CryptoJS: sandboxDShortcuts.CryptoJS,
370
+ lodash,
371
+ timers,
342
372
  labelGlobals,
343
373
  };
344
374
  };
@@ -368,11 +398,24 @@ export const executeScript = async (input) => {
368
398
  }
369
399
  const variableMutations = [];
370
400
  const environmentApi = capabilities.environment
371
- ? buildEnvironmentApi(capabilities.environment.values, capabilities.environment.emitMutations !== false ? variableMutations : null, "environment")
401
+ ? buildEnvironmentApi(capabilities.environment.values, capabilities.environment.emitMutations !== false ? variableMutations : null, "environment", { nameOverride: capabilities.environment.name })
372
402
  : undefined;
373
403
  const globalsApi = capabilities.globals
374
- ? buildEnvironmentApi(capabilities.globals.values, capabilities.globals.emitMutations !== false ? variableMutations : null, "global")
404
+ ? buildEnvironmentApi(capabilities.globals.values, capabilities.globals.emitMutations !== false ? variableMutations : null, "global", { nameOverride: capabilities.globals.name })
375
405
  : undefined;
406
+ // Always expose pm.collectionVariables — Postman scripts call
407
+ // `pm.collectionVariables.set(...)` regardless of whether the host
408
+ // wired up persistent storage. When no capability is provided we
409
+ // build an in-memory stub: writes succeed, reads see them within the
410
+ // same script, and mutations are NOT emitted (no log entries to
411
+ // confuse the runner). Same rationale for pm.execution below.
412
+ const collectionVariablesApi = capabilities.collectionVariables
413
+ ? buildCollectionVariablesApi(capabilities.collectionVariables.values, capabilities.collectionVariables.emitMutations !== false
414
+ ? variableMutations
415
+ : null, { nameOverride: capabilities.collectionVariables.name })
416
+ : buildCollectionVariablesApi({}, null);
417
+ const infoApi = buildInfoApi(capabilities.info, stage);
418
+ const executionFeature = buildExecutionFeature(capabilities.execution);
376
419
  const requestBundle = capabilities.request
377
420
  ? buildRequestApi(capabilities.request)
378
421
  : undefined;
@@ -389,11 +432,15 @@ export const executeScript = async (input) => {
389
432
  // (cryptojs/random/counter don't, but variables/db do).
390
433
  const sandboxD = buildSandboxDFeatures(capabilities, () => tests.isInsideCallback(), environmentApi?.values ?? capabilities.environment?.values ?? {}, globalsApi?.values ?? capabilities.globals?.values ?? {}, capabilities.response ?? null);
391
434
  const sendRequestTracker = buildSendRequestPendingTracker();
435
+ const timerFeature = buildTimerFeature();
392
436
  const pm = buildPm(capabilities, { pmLog: logCollector.pmLog }, {
393
437
  test: tests,
394
438
  expect,
395
439
  environment: environmentApi,
396
440
  globals: globalsApi,
441
+ collectionVariables: collectionVariablesApi,
442
+ info: infoApi,
443
+ execution: executionFeature,
397
444
  request: requestBundle,
398
445
  response: responseApi ?? undefined,
399
446
  sendRequestTracker,
@@ -409,6 +456,12 @@ export const executeScript = async (input) => {
409
456
  expect,
410
457
  test: tests.test,
411
458
  sandboxDShortcuts: sandboxD.scopeShortcuts,
459
+ timers: {
460
+ setTimeout: timerFeature.api.setTimeout,
461
+ clearTimeout: timerFeature.api.clearTimeout,
462
+ setInterval: timerFeature.api.setInterval,
463
+ clearInterval: timerFeature.api.clearInterval,
464
+ },
412
465
  });
413
466
  let compiled;
414
467
  try {
@@ -455,6 +508,13 @@ export const executeScript = async (input) => {
455
508
  await Promise.allSettled([tests.flush(), sendRequestTracker.flush()]);
456
509
  runtimeError = toSerializableError(stage, error);
457
510
  }
511
+ finally {
512
+ // Cancel any timers the script left pending — otherwise their
513
+ // callbacks would fire after the script's result was reported,
514
+ // mutating state nobody can observe and (worse) keeping the host
515
+ // process alive after a CLI run that should have exited.
516
+ timerFeature.dispose();
517
+ }
458
518
  const result = {
459
519
  success: runtimeError === null,
460
520
  error: runtimeError,
@@ -471,6 +531,12 @@ export const executeScript = async (input) => {
471
531
  if (capabilities.allowDeferredKafkaTests) {
472
532
  result.deferredTestNames = [...tests.deferredTestNames];
473
533
  }
534
+ // Only surface executionControl when the host actually wired the
535
+ // capability — keeps the result shape unchanged for callers that
536
+ // don't know about pm.execution yet.
537
+ if (capabilities.execution) {
538
+ result.executionControl = executionFeature.getControl();
539
+ }
474
540
  return result;
475
541
  };
476
542
  // Standalone parse-only check — exposed so the desktop's
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/script/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/script/executor.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sEAAsE;AACtE,EAAE;AACF,YAAY;AACZ,kEAAkE;AAClE,gFAAgF;AAChF,oFAAoF;AACpF,8CAA8C;AAC9C,oDAAoD;AACpD,EAAE;AACF,4EAA4E;AAC5E,wEAAwE;AACxE,6EAA6E;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,gEAAgE;AAChE,mEAAmE;AACnE,iDAAiD;AACjD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAe/D,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAC7C,MAAM,aAAa,GAAgB,QAAQ,CAAC;AAgB5C,MAAM,qBAAqB,GAAG,CAC5B,YAAgC,EAChC,oBAAmC,EACnC,SAAiC,EACjC,YAAoC,EACpC,oBAAoC,EACrB,EAAE;IACjB,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC;IACjD,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;IACjD,MAAM,EAAE,GAA4B,EAAE,CAAC;IACvC,MAAM,cAAc,GAAoC,EAAE,CAAC;IAC3D,IAAI,iBAAiB,GAAuC,IAAI,CAAC;IAEjE,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAChE,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,uBAAuB,IAAI,KAAK,CAAC,CAAC;YAC3F,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC;YACf,cAAc,CAAC,KAAK,GAAG,GAAG,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,6DAA6D;YAC7D,4EAA4E;YAC5E,2EAA2E;YAC3E,KAAK,oBAAoB,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC5C,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC;QACf,cAAc,CAAC,KAAK,GAAG,GAAG,CAAC;IAC7B,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,OAAO,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QACtF,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QAChC,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC;QAChB,cAAc,CAAC,MAAM,GAAG,GAAG,CAAC;IAC9B,CAAC;IAED,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjE,EAAE,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;QACzB,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;QACrC,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;IACvC,CAAC;IAED,kEAAkE;IAClE,qEAAqE;IACrE,mEAAmE;IACnE,2DAA2D;IAC3D,gEAAgE;IAChE,CAAC;QACC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;QAChC,cAAc,CAAC,QAAQ,GAAG,GAAG,CAAC;IAChC,CAAC;IAED,wDAAwD;IACxD,qEAAqE;IACrE,qEAAqE;IACrE,wDAAwD;IACxD,kEAAkE;IAClE,iEAAiE;IACjE,qEAAqE;IACrE,CAAC;QACC,MAAM,GAAG,GAAG,iBAAiB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACvD,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC;QACnB,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YACzB,cAAc,CAAC,SAAS,GAAG,GAAG,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAChE,MAAM,GAAG,GAAG,UAAU,CAAC;YACrB,UAAU,EAAE,UAAU,CAAC,EAAE;YACzB,OAAO,EAAE,SAAS;YAClB,oBAAoB;YACpB,oBAAoB;YACpB,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE,YAAY;SACtB,CAAC,CAAC;QACH,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC;QACZ,cAAc,CAAC,EAAE,GAAG,GAAG,CAAC;IAC1B,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;AACnD,CAAC,CAAC;AAoBF,MAAM,8BAA8B,GAAG,GAA8B,EAAE;IACrE,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,OAAO;QACL,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE;YACjB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnD,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAAc,EAAoC,EAAE,CACzE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEvE,MAAM,wBAAwB,GAAG,CAC/B,KAAc,EACU,EAAE;IAC1B,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACpE,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;gBAAE,SAAS;YACpC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAU,EAAE;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IAC5E,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACxB,IAAa,EACyC,EAAE;IACxD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;IACvD,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;IAClD,CAAC;IACD,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QAC5D,CAAC;QACD,IAAI,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5D,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;oBAAE,SAAS;gBACpC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3C,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YAChD,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACvB,kBAAkB,EAAE,mCAAmC;aACxD,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,GAA2B,EAAE,CAAC;YACxC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;oBAAE,SAAS;gBACpC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3C,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;QAChE,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,OAAkC,EAAE,EAAE;IACjE,OAAO,CACL,OAAgB,EAChB,QAAyD,EACvC,EAAE;QACpB,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;YAC1B,MAAM,UAAU,GACd,OAAO,OAAO,KAAK,QAAQ;gBACzB,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;gBACjC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC;oBACtB,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,EAAE,CAAC;YAEX,MAAM,GAAG,GAAG,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAChE,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC;YAC5D,MAAM,OAAO,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;YACtD,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxE,IACE,kBAAkB;gBAClB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,EACrE,CAAC;gBACD,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;YAC/C,CAAC;YACD,MAAM,SAAS,GACb,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,IAAI,UAAU,CAAC,OAAO,GAAG,CAAC;gBAC9D,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC5B,CAAC,CAAC,SAAS,CAAC;YAEhB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;gBAClC,MAAM;gBACN,GAAG;gBACH,OAAO;gBACP,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,IAAI;gBACV,SAAS;aACV,CAAC,CAAC;YAEH,MAAM,QAAQ,GACZ,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAC7B,CAAC,CAAC,MAAM,CAAC,IAAI;gBACb,CAAC,CAAC,CAAC,GAAG,EAAE;oBACJ,IAAI,CAAC;wBACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;oBAC7C,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC,CAAC,EAAE,CAAC;YAEX,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,MAAM;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;gBAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,YAAY,EAAE,MAAM,CAAC,QAAQ;gBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,GAAG,EAAE;oBACT,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACpC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACjC,CAAC;oBACD,OAAO,MAAM,CAAC,IAAI,CAAC;gBACrB,CAAC;gBACD,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ;aACrB,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEvB,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CACV,CAAC,QAAQ,EAAE,EAAE;gBACX,IAAI,CAAC;oBACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC3B,CAAC;gBAAC,OAAO,aAAa,EAAE,CAAC;oBACvB,uDAAuD;oBACvD,0DAA0D;oBAC1D,sCAAsC;oBACtC,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,aAAa,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;gBACjB,IAAI,CAAC;oBACH,QAAQ,CACN,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzD,IAAI,CACL,CAAC;gBACJ,CAAC;gBAAC,OAAO,aAAa,EAAE,CAAC;oBACvB,sCAAsC;oBACtC,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,aAAa,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CACd,YAAgC,EAChC,IAA6C,EAC7C,UAWC,EACD,UAAmC,EACV,EAAE;IAC3B,MAAM,EAAE,GAA4B;QAClC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI;QAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,GAAG,UAAU;KACd,CAAC;IAEF,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,EAAE,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QACxC,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC;IAClC,CAAC;IACD,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,EAAE,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IAClC,CAAC;IACD,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC;QACnC,EAAE,CAAC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;IAC1D,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACpB,EAAE,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAC5B,CAAC;IACD,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACzB,EAAE,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC;IAC1C,CAAC;IACD,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,EAAE,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC;IACtC,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxB,EAAE,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACpC,CAAC;IACD,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAClC,EAAE,CAAC,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC;IACjD,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;QACnB,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACpB,EAAE,CAAC,IAAI,GAAG,YAAY,CAAC;YACrB,eAAe,EAAE,YAAY,CAAC,eAAe,IAAI,EAAE;YACnD,eAAe,EAAE,YAAY,CAAC,eAAe;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,EAC1B,EAAE,EACF,YAAY,EACZ,UAAU,EACV,SAAS,EACT,cAAc,EACd,OAAO,EACP,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,iBAAiB,EACjB,MAAM,GAaP,EAAiB,EAAE;IAClB,MAAM,YAAY,GAChB,YAAY,CAAC,eAAe;QAC5B,YAAY,CAAC,qBAAqB,KAAK,KAAK,CAAC;IAC/C,MAAM,YAAY,GAAG,YAAY;QAC/B,CAAC,CAAC,iBAAiB,CAAC;YAChB,eAAe,EAAE,YAAY,CAAC,eAAe,IAAI,EAAE;YACnD,eAAe,EAAE,YAAY,CAAC,eAAe;SAC9C,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,EAAE;QACF,GAAG,EAAE,SAAS;QACd,WAAW,EAAE,cAAc;QAC3B,OAAO;QACP,QAAQ;QACR,IAAI;QACJ,MAAM;QACN,OAAO,EAAE,UAAU;QACnB,EAAE,EAAE,iBAAiB,CAAC,EAAE;QACxB,KAAK,EAAE,iBAAiB,CAAC,KAAK;QAC9B,KAAK,EAAE,iBAAiB,CAAC,KAAK;QAC9B,MAAM,EAAE,iBAAiB,CAAC,MAAM;QAChC,OAAO,EAAE,iBAAiB,CAAC,OAAO;QAClC,SAAS,EAAE,iBAAiB,CAAC,SAAS;QACtC,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;QACpC,MAAM;QACN,MAAM;QACN,YAAY;KACb,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,KAAyB,EACK,EAAE;IAChC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,kBAAkB,CAAC;IACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,gBAAgB,CAAC;IACpD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,aAAa,CAAC;IAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACxC,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC;IAEjD,uEAAuE;IACvE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACzB,MAAM,WAAW,GAAwB;YACvC,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,EAAE;YACf,iBAAiB,EAAE,EAAE;YACrB,IAAI,EAAE,EAAE;YACR,cAAc,EAAE,KAAK;SACtB,CAAC;QACF,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,WAAW,CAAC,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC5D,CAAC;QACD,IAAI,YAAY,CAAC,uBAAuB,EAAE,CAAC;YACzC,WAAW,CAAC,iBAAiB,GAAG,EAAE,CAAC;QACrC,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,iBAAiB,GAA6B,EAAE,CAAC;IAEvD,MAAM,cAAc,GAAG,YAAY,CAAC,WAAW;QAC7C,CAAC,CAAC,mBAAmB,CACjB,YAAY,CAAC,WAAW,CAAC,MAAM,EAC/B,YAAY,CAAC,WAAW,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAC3E,aAAa,EACb,EAAE,YAAY,EAAE,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,CAChD;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO;QACrC,CAAC,CAAC,mBAAmB,CACjB,YAAY,CAAC,OAAO,CAAC,MAAM,EAC3B,YAAY,CAAC,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,EACvE,QAAQ,EACR,EAAE,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAC5C;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,8DAA8D;IAC9D,mEAAmE;IACnE,iEAAiE;IACjE,qEAAqE;IACrE,gEAAgE;IAChE,8DAA8D;IAC9D,MAAM,sBAAsB,GAAG,YAAY,CAAC,mBAAmB;QAC7D,CAAC,CAAC,2BAA2B,CACzB,YAAY,CAAC,mBAAmB,CAAC,MAAM,EACvC,YAAY,CAAC,mBAAmB,CAAC,aAAa,KAAK,KAAK;YACtD,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,IAAI,EACR,EAAE,YAAY,EAAE,YAAY,CAAC,mBAAmB,CAAC,IAAI,EAAE,CACxD;QACH,CAAC,CAAC,2BAA2B,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAE1C,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAEvE,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO;QACxC,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC;QACvC,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,SAAS,CAAC;IAEjF,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE;QACtC,uBAAuB,EAAE,YAAY,CAAC,uBAAuB;QAC7D,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;KAClD,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG;QACjC,CAAC,CAAC,kBAAkB,EAAE;QACtB,CAAC,CAAC,wBAAwB,EAAE,CAAC;IAE/B,4EAA4E;IAC5E,wDAAwD;IACxD,MAAM,QAAQ,GAAG,qBAAqB,CACpC,YAAY,EACZ,GAAG,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAC9B,cAAc,EAAE,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,MAAM,IAAI,EAAE,EAChE,UAAU,EAAE,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EACxD,YAAY,CAAC,QAAQ,IAAI,IAAI,CAC9B,CAAC;IAEF,MAAM,kBAAkB,GAAG,8BAA8B,EAAE,CAAC;IAC5D,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC;IAEzC,MAAM,EAAE,GAAG,OAAO,CAChB,YAAY,EACZ,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,EAC7B;QACE,IAAI,EAAE,KAAK;QACX,MAAM;QACN,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE,UAAU;QACnB,mBAAmB,EAAE,sBAAsB;QAC3C,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,WAAW,IAAI,SAAS;QAClC,kBAAkB;KACnB,EACD,QAAQ,CAAC,EAAE,CACZ,CAAC;IAEF,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,EAAE;QACF,YAAY;QACZ,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,SAAS,EAAE,cAAc,EAAE,MAAM;QACjC,cAAc;QACd,OAAO,EAAE,aAAa,EAAE,GAAG;QAC3B,QAAQ,EAAE,WAAW;QACrB,MAAM;QACN,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,iBAAiB,EAAE,QAAQ,CAAC,cAAc;QAC1C,MAAM,EAAE;YACN,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,UAAU;YACvC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,YAAY;YAC3C,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,WAAW;YACzC,aAAa,EAAE,YAAY,CAAC,GAAG,CAAC,aAAa;SAC9C;KACF,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,sEAAsE;QACtE,qEAAqE;QACrE,2BAA2B;QAC3B,MAAM,MAAM,GAAwB;YAClC,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC;YACxC,WAAW,EAAE,EAAE;YACf,iBAAiB,EAAE,EAAE;YACrB,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,cAAc,EAAE,KAAK;YACrB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtE,CAAC;QACF,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC/B,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QACxD,CAAC;QACD,IAAI,YAAY,CAAC,uBAAuB,EAAE,CAAC;YACzC,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,WAAoB,CAAC;IACzB,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,YAAY,GAAuB,IAAI,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,EAAE;YACnE,OAAO,EAAE,SAAS;YAClB,aAAa,EAAE,IAAI;YACnB,aAAa,EAAE,KAAK;SACrB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;QAC5E,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;YACnC,WAAW,GAAG,OAAO,CAAC;YACtB,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,MAAM,gBAAgB,CACpB,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,EACxD,SAAS,CACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACtE,YAAY,GAAG,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;YAAS,CAAC;QACT,8DAA8D;QAC9D,+DAA+D;QAC/D,iEAAiE;QACjE,yDAAyD;QACzD,YAAY,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,MAAM,GAAwB;QAClC,OAAO,EAAE,YAAY,KAAK,IAAI;QAC9B,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,KAAK,CAAC,WAAiC;QACpD,iBAAiB;QACjB,IAAI,EAAE,YAAY,CAAC,IAAwB;QAC3C,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QACrD,cAAc;QACd,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAC;IACF,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IACxD,CAAC;IACD,IAAI,YAAY,CAAC,uBAAuB,EAAE,CAAC;QACzC,MAAM,CAAC,iBAAiB,GAAG,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IACD,iEAAiE;IACjE,iEAAiE;IACjE,qCAAqC;IACrC,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,EAAE,CAAC;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,yDAAyD;AACzD,oEAAoE;AACpE,+DAA+D;AAC/D,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,MAAc,EACd,QAAQ,GAAG,gBAAgB,EACP,EAAE;IACtB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { ScriptVariableMutation } from "../types.js";
2
+ export interface CollectionVariablesApi {
3
+ values: Record<string, string>;
4
+ name: string;
5
+ get: (key: string) => string | undefined;
6
+ set: (key: string, value: unknown) => void;
7
+ unset: (key: string) => void;
8
+ has: (key: string) => boolean;
9
+ clear: () => void;
10
+ toObject: () => Record<string, string>;
11
+ replaceIn: (template: unknown) => string;
12
+ }
13
+ export declare const buildCollectionVariablesApi: (initial: Record<string, string>, mutations: ScriptVariableMutation[] | null, options?: {
14
+ nameOverride?: string;
15
+ }) => CollectionVariablesApi;
16
+ //# sourceMappingURL=collectionVariables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectionVariables.d.ts","sourceRoot":"","sources":["../../../src/script/features/collectionVariables.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACzC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC;CAC1C;AASD,eAAO,MAAM,2BAA2B,GACtC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,WAAW,sBAAsB,EAAE,GAAG,IAAI,EAC1C,UAAS;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,KACtC,sBA2DF,CAAC"}
@@ -0,0 +1,83 @@
1
+ // pm.collectionVariables — Postman scope that survives across requests
2
+ // within a single collection run.
3
+ //
4
+ // Shape mirrors `pm.environment` exactly so scripts that already use
5
+ // `pm.environment.set` can swap it out for `pm.collectionVariables.set`
6
+ // without changing the method calls. The only difference is the
7
+ // persistence boundary:
8
+ //
9
+ // - pm.variables.set — request-scoped, gone after the script
10
+ // - pm.collectionVariables.set — collection-run-scoped, survives between
11
+ // requests within the same run but does NOT persist across runs
12
+ // - pm.environment.set — run-scoped, AND propagates back to the host
13
+ // so a follow-up "save environment" sticks
14
+ // - pm.globals.set — same as environment but workspace-wide
15
+ //
16
+ // Mutations are emitted with `scope: "collection"` so the runner can
17
+ // merge them into the next request's `capabilities.collectionVariables`
18
+ // without polluting environment / globals.
19
+ import { resolveTemplate } from "../../variables/resolver.js";
20
+ const coerceToString = (value) => {
21
+ if (value === undefined || value === null) {
22
+ return "";
23
+ }
24
+ return String(value);
25
+ };
26
+ export const buildCollectionVariablesApi = (initial, mutations, options = {}) => {
27
+ const values = { ...initial };
28
+ const name = options.nameOverride ?? "Collection";
29
+ const recordMutation = (mutation) => {
30
+ if (mutations) {
31
+ mutations.push(mutation);
32
+ }
33
+ };
34
+ return {
35
+ values,
36
+ name,
37
+ get: (key) => values[String(key ?? "").trim()],
38
+ set: (key, value) => {
39
+ const normalisedKey = String(key ?? "").trim();
40
+ if (!normalisedKey) {
41
+ return;
42
+ }
43
+ const normalisedValue = coerceToString(value);
44
+ values[normalisedKey] = normalisedValue;
45
+ recordMutation({
46
+ scope: "collection",
47
+ type: "set",
48
+ key: normalisedKey,
49
+ value: normalisedValue,
50
+ });
51
+ },
52
+ unset: (key) => {
53
+ const normalisedKey = String(key ?? "").trim();
54
+ if (!normalisedKey || !(normalisedKey in values)) {
55
+ return;
56
+ }
57
+ delete values[normalisedKey];
58
+ recordMutation({
59
+ scope: "collection",
60
+ type: "unset",
61
+ key: normalisedKey,
62
+ });
63
+ },
64
+ has: (key) => {
65
+ const normalisedKey = String(key ?? "").trim();
66
+ return Boolean(normalisedKey) && normalisedKey in values;
67
+ },
68
+ clear: () => {
69
+ const keys = Object.keys(values);
70
+ for (const key of keys) {
71
+ delete values[key];
72
+ recordMutation({
73
+ scope: "collection",
74
+ type: "unset",
75
+ key,
76
+ });
77
+ }
78
+ },
79
+ toObject: () => ({ ...values }),
80
+ replaceIn: (template) => resolveTemplate(coerceToString(template), { env: values }),
81
+ };
82
+ };
83
+ //# sourceMappingURL=collectionVariables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectionVariables.js","sourceRoot":"","sources":["../../../src/script/features/collectionVariables.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,10 @@
1
- export interface CryptoJsApi {
2
- enc: {
3
- Utf8: {
4
- parse: (input: unknown) => Uint8Array;
5
- stringify: (input: unknown) => string;
6
- };
7
- Base64: {
8
- stringify: (input: unknown) => string;
9
- parse: (input: string) => Uint8Array;
10
- };
11
- };
12
- }
1
+ import CryptoJS from "crypto-js";
2
+ /** Type of the CryptoJS global as exposed to user scripts. We keep
3
+ * this as `unknown`-shaped at the boundary so consumers of the
4
+ * canonical executor don't accidentally couple to crypto-js's
5
+ * (lengthy) type surface. Scripts get full IDE intellisense via the
6
+ * pmanfrontend autocomplete provider, which carries its own ambient
7
+ * type declaration. */
8
+ export type CryptoJsApi = typeof CryptoJS;
13
9
  export declare const createCryptoJsApi: () => CryptoJsApi;
14
10
  //# sourceMappingURL=cryptojs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cryptojs.d.ts","sourceRoot":"","sources":["../../../src/script/features/cryptojs.ts"],"names":[],"mappings":"AA0FA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE;QACH,IAAI,EAAE;YACJ,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC;YACtC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;SACvC,CAAC;QACF,MAAM,EAAE;YACN,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;YACtC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC;SACtC,CAAC;KACH,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB,QAAO,WAmBpC,CAAC"}
1
+ {"version":3,"file":"cryptojs.d.ts","sourceRoot":"","sources":["../../../src/script/features/cryptojs.ts"],"names":[],"mappings":"AAgBA,OAAO,QAAQ,MAAM,WAAW,CAAC;AAEjC;;;;;uBAKuB;AACvB,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,CAAC;AAE1C,eAAO,MAAM,iBAAiB,QAAO,WAAuB,CAAC"}
@@ -1,102 +1,18 @@
1
- // CryptoJS — minimal collection-runner crypto helpers.
1
+ // CryptoJS — the real `crypto-js` package, surfaced unmodified so
2
+ // Postman scripts that lean on it ("CryptoJS.HmacSHA256(message, key)",
3
+ // "CryptoJS.AES.encrypt", "CryptoJS.SHA256", "CryptoJS.MD5",
4
+ // "CryptoJS.PBKDF2", "CryptoJS.enc.Hex/Base64/Utf8", "CryptoJS.lib.WordArray")
5
+ // run unmodified.
2
6
  //
3
- // Migrated from pmanfrontend/electron/script/runtime.ts. The original
4
- // implementation used Node's `Buffer` for base64 encoding; the canonical
5
- // sandbox blocks `Buffer` (security policy), so this rewrite uses an
6
- // in-process btoa-equivalent that produces RFC 4648 standard output.
7
+ // Why we kept a hand-written stub for so long: the original Callman
8
+ // sandbox blocked `Buffer`, and the team wanted to control bundle
9
+ // size. The trade-off failed in practice — every other request-signing
10
+ // pattern in real Postman scripts uses HMAC-SHA256, which the stub
11
+ // could not provide, leading to "CryptoJS.HmacSHA256 is not a function"
12
+ // errors. Bundling the real ~150 KB library is the right call.
7
13
  //
8
- // Only the surface that user scripts actually consume is implemented:
9
- // CryptoJS.enc.Utf8.parse(string) → Uint8Array
10
- // CryptoJS.enc.Utf8.stringify(Uint8Array | ArrayBufferLike) → string
11
- // CryptoJS.enc.Base64.stringify(Uint8Array | ArrayBufferLike) → string
12
- // CryptoJS.enc.Base64.parse(base64String) → Uint8Array (decoder)
13
- //
14
- // HMAC / SHA / AES are intentionally out of scope.
15
- const BASE64_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
16
- const toUint8Array = (input) => {
17
- if (input instanceof Uint8Array) {
18
- return input;
19
- }
20
- if (input instanceof ArrayBuffer) {
21
- return new Uint8Array(input);
22
- }
23
- if (ArrayBuffer.isView(input)) {
24
- const view = input;
25
- return new Uint8Array(view.buffer, view.byteOffset, view.byteLength);
26
- }
27
- if (typeof input === "string") {
28
- return new TextEncoder().encode(input);
29
- }
30
- return new Uint8Array(0);
31
- };
32
- // Portable base64 encoder: walks the Uint8Array in 3-byte chunks and emits
33
- // four characters per chunk per RFC 4648. No reliance on Buffer or btoa,
34
- // so it works in vm contexts where neither is exposed.
35
- const encodeBase64 = (bytes) => {
36
- let output = "";
37
- const length = bytes.length;
38
- for (let index = 0; index < length; index += 3) {
39
- const b0 = bytes[index];
40
- const b1 = index + 1 < length ? bytes[index + 1] : 0;
41
- const b2 = index + 2 < length ? bytes[index + 2] : 0;
42
- const triplet = (b0 << 16) | (b1 << 8) | b2;
43
- output += BASE64_CHARS[(triplet >> 18) & 0x3f];
44
- output += BASE64_CHARS[(triplet >> 12) & 0x3f];
45
- output += index + 1 < length ? BASE64_CHARS[(triplet >> 6) & 0x3f] : "=";
46
- output += index + 2 < length ? BASE64_CHARS[triplet & 0x3f] : "=";
47
- }
48
- return output;
49
- };
50
- // Inverse of encodeBase64. Accepts both standard base64 (`+`/`/`, padded)
51
- // and base64url (`-`/`_`, unpadded) input — useful because callers
52
- // frequently pass JWT payload segments which use the url-safe alphabet
53
- // without padding. Throws on characters outside both alphabets so the
54
- // caller fails fast on garbage input rather than silently producing junk
55
- // bytes.
56
- const decodeBase64 = (input) => {
57
- // Normalize url-safe → standard and re-pad to a multiple of 4.
58
- const normalized = input.replace(/-/g, "+").replace(/_/g, "/");
59
- const padding = (4 - (normalized.length % 4)) % 4;
60
- const padded = normalized + "=".repeat(padding);
61
- // Reject anything outside the standard alphabet (post-normalization).
62
- if (!/^[A-Za-z0-9+/]*={0,2}$/.test(padded)) {
63
- throw new Error("CryptoJS.enc.Base64.parse: invalid base64 input");
64
- }
65
- const cleanLength = padded.replace(/=+$/g, "").length;
66
- const byteLength = Math.floor((cleanLength * 3) / 4);
67
- const out = new Uint8Array(byteLength);
68
- let outIndex = 0;
69
- for (let i = 0; i < padded.length; i += 4) {
70
- const c1 = BASE64_CHARS.indexOf(padded[i]);
71
- const c2 = BASE64_CHARS.indexOf(padded[i + 1]);
72
- const c3 = padded[i + 2] === "=" ? -1 : BASE64_CHARS.indexOf(padded[i + 2]);
73
- const c4 = padded[i + 3] === "=" ? -1 : BASE64_CHARS.indexOf(padded[i + 3]);
74
- out[outIndex++] = (c1 << 2) | (c2 >> 4);
75
- if (c3 >= 0)
76
- out[outIndex++] = ((c2 & 0x0f) << 4) | (c3 >> 2);
77
- if (c4 >= 0)
78
- out[outIndex++] = ((c3 & 0x03) << 6) | c4;
79
- }
80
- return out;
81
- };
82
- export const createCryptoJsApi = () => {
83
- const decoder = new TextDecoder();
84
- return {
85
- enc: {
86
- Utf8: {
87
- parse: (input) => toUint8Array(input),
88
- stringify: (input) => decoder.decode(toUint8Array(input)),
89
- },
90
- Base64: {
91
- stringify: (input) => encodeBase64(toUint8Array(input)),
92
- parse: (input) => {
93
- if (typeof input !== "string") {
94
- throw new Error("CryptoJS.enc.Base64.parse: expected a string");
95
- }
96
- return decodeBase64(input);
97
- },
98
- },
99
- },
100
- };
101
- };
14
+ // The pure-JS implementation does not touch Node's `Buffer`, so it
15
+ // runs inside the vm sandbox without any host shims.
16
+ import CryptoJS from "crypto-js";
17
+ export const createCryptoJsApi = () => CryptoJS;
102
18
  //# sourceMappingURL=cryptojs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cryptojs.js","sourceRoot":"","sources":["../../../src/script/features/cryptojs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cryptojs.js","sourceRoot":"","sources":["../../../src/script/features/cryptojs.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,wEAAwE;AACxE,6DAA6D;AAC7D,+EAA+E;AAC/E,kBAAkB;AAClB,EAAE;AACF,oEAAoE;AACpE,kEAAkE;AAClE,uEAAuE;AACvE,mEAAmE;AACnE,wEAAwE;AACxE,+DAA+D;AAC/D,EAAE;AACF,mEAAmE;AACnE,qDAAqD;AAErD,OAAO,QAAQ,MAAM,WAAW,CAAC;AAUjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAgB,EAAE,CAAC,QAAQ,CAAC"}
@@ -1,11 +1,18 @@
1
1
  import type { ScriptVariableMutation } from "../types.js";
2
2
  export interface EnvironmentApi {
3
3
  values: Record<string, string>;
4
+ /** Read-only label of the scope (e.g. "Staging" for an env, or
5
+ * "Globals"). Defaults to the scope kind. */
6
+ name: string;
4
7
  get: (key: string) => string | undefined;
5
8
  set: (key: string, value: unknown) => void;
6
9
  unset: (key: string) => void;
7
10
  has: (key: string) => boolean;
11
+ clear: () => void;
8
12
  toObject: () => Record<string, string>;
13
+ replaceIn: (template: unknown) => string;
9
14
  }
10
- export declare const buildEnvironmentApi: (initial: Record<string, string>, mutations: ScriptVariableMutation[] | null, scope: ScriptVariableMutation["scope"]) => EnvironmentApi;
15
+ export declare const buildEnvironmentApi: (initial: Record<string, string>, mutations: ScriptVariableMutation[] | null, scope: ScriptVariableMutation["scope"], options?: {
16
+ nameOverride?: string;
17
+ }) => EnvironmentApi;
11
18
  //# sourceMappingURL=environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../src/script/features/environment.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACzC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9B,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AASD,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,WAAW,sBAAsB,EAAE,GAAG,IAAI,EAC1C,OAAO,sBAAsB,CAAC,OAAO,CAAC,KACrC,cA8CF,CAAC"}
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../src/script/features/environment.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B;iDAC6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACzC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC;CAC1C;AASD,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,WAAW,sBAAsB,EAAE,GAAG,IAAI,EAC1C,OAAO,sBAAsB,CAAC,OAAO,CAAC,EACtC,UAAS;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,KACtC,cA+DF,CAAC"}
@@ -7,16 +7,25 @@
7
7
  // - emitMutations=false: the API mutates the in-memory `values` record
8
8
  // directly without producing a log. Used by callman-core's legacy
9
9
  // `runScript` shim where EnvStore is the source of truth.
10
+ //
11
+ // Postman compatibility additions (Phase 1.3):
12
+ // - `.replaceIn(template)` — resolve `{{var}}` against THIS scope only.
13
+ // - `.clear()` — wipe all keys (emits one unset mutation per key when
14
+ // mutations are tracked, so the host can mirror the deletion).
15
+ // - `.name` — read-only string label of the active scope ("environment"
16
+ // or "global" by default; backend can override via `nameOverride`).
17
+ import { resolveTemplate } from "../../variables/resolver.js";
10
18
  const coerceToString = (value) => {
11
19
  if (value === undefined || value === null) {
12
20
  return "";
13
21
  }
14
22
  return String(value);
15
23
  };
16
- export const buildEnvironmentApi = (initial, mutations, scope) => {
24
+ export const buildEnvironmentApi = (initial, mutations, scope, options = {}) => {
17
25
  // Copy so the caller's record is never mutated in-place when the
18
26
  // sandbox is configured to emit mutations.
19
27
  const values = { ...initial };
28
+ const name = options.nameOverride ?? (scope === "global" ? "Globals" : "Environment");
20
29
  const recordMutation = (mutation) => {
21
30
  if (mutations) {
22
31
  mutations.push(mutation);
@@ -24,6 +33,7 @@ export const buildEnvironmentApi = (initial, mutations, scope) => {
24
33
  };
25
34
  return {
26
35
  values,
36
+ name,
27
37
  get: (key) => values[String(key ?? "").trim()],
28
38
  set: (key, value) => {
29
39
  const normalizedKey = String(key ?? "").trim();
@@ -55,7 +65,21 @@ export const buildEnvironmentApi = (initial, mutations, scope) => {
55
65
  const normalizedKey = String(key ?? "").trim();
56
66
  return Boolean(normalizedKey) && normalizedKey in values;
57
67
  },
68
+ clear: () => {
69
+ // Snapshot keys first so we emit one unset mutation per entry and
70
+ // don't fight the iteration order while deleting.
71
+ const keys = Object.keys(values);
72
+ for (const key of keys) {
73
+ delete values[key];
74
+ recordMutation({
75
+ scope,
76
+ type: "unset",
77
+ key,
78
+ });
79
+ }
80
+ },
58
81
  toObject: () => ({ ...values }),
82
+ replaceIn: (template) => resolveTemplate(coerceToString(template), { env: values }),
59
83
  };
60
84
  };
61
85
  //# sourceMappingURL=environment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/script/features/environment.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,uBAAuB;AACvB,sEAAsE;AACtE,2EAA2E;AAC3E,qDAAqD;AACrD,yEAAyE;AACzE,sEAAsE;AACtE,8DAA8D;AAa9D,MAAM,cAAc,GAAG,CAAC,KAAc,EAAU,EAAE;IAChD,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,MAAM,mBAAmB,GAAG,CACjC,OAA+B,EAC/B,SAA0C,EAC1C,KAAsC,EACtB,EAAE;IAClB,iEAAiE;IACjE,2CAA2C;IAC3C,MAAM,MAAM,GAA2B,EAAE,GAAG,OAAO,EAAE,CAAC;IAEtD,MAAM,cAAc,GAAG,CAAC,QAAgC,EAAQ,EAAE;QAChE,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,MAAM;QACN,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,GAAG,EAAE,CAAC,GAAW,EAAE,KAAc,EAAE,EAAE;YACnC,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,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,CAAC,aAAa,CAAC,GAAG,eAAe,CAAC;YACxC,cAAc,CAAC;gBACb,KAAK;gBACL,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE,aAAa;gBAClB,KAAK,EAAE,eAAe;aACvB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE;YACrB,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,IAAI,MAAM,CAAC,EAAE,CAAC;gBACjD,OAAO;YACT,CAAC;YACD,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC;YAC7B,cAAc,CAAC;gBACb,KAAK;gBACL,IAAI,EAAE,OAAO;gBACb,GAAG,EAAE,aAAa;aACnB,CAAC,CAAC;QACL,CAAC;QACD,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE;YACnB,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,IAAI,MAAM,CAAC;QAC3D,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/script/features/environment.ts"],"names":[],"mappings":"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"}