@http-forge/core 0.2.8 → 0.2.9

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.
package/README.md CHANGED
@@ -13,7 +13,7 @@
13
13
  - 🚀 **Postman Collections** - Load and execute `.postman_collection.json` and `.forge.json` files
14
14
  - 📝 **JavaScript Scripting** - Pre-request and post-response scripts with full `pm.*` API (variables, assertions, execution flow, visualizer)
15
15
  - 🔄 **Dynamic Variables** - Built-in generators: `{{$randomInt}}`, `{{$timestamp}}`, `{{$uuid}}`, `{{$guid}}`, etc.
16
- - 🌍 **Environments** - Full variable scoping (globals, collection, environment, session, iterationData)
16
+ - 🌍 **Environments** - Full variable scoping (globals, collection, environment, iterationData) with Postman-compatible cascade
17
17
  - 👁️ **File Watching** - Automatic reload on collection/environment file changes with notification callbacks
18
18
  - 🍪 **Cookie Persistence** - Automatic cookie storage and reuse, `pm.cookies.jar()` and `.toObject()`
19
19
  - 📊 **Test Assertions** - BDD-style testing with `pm.test()` (sync/async) and full Chai `expect()` chains
@@ -795,6 +795,12 @@ MIT © Henry Huang
795
795
 
796
796
  ## 📝 Changelog
797
797
 
798
+ ### 0.2.7 (Session Scope Removal & Postman Parity)
799
+
800
+ - ✅ **Session scope removed** — The separate "session" variable scope has been removed. `pm.environment.set()` now persists to workspace state (matching Postman's behavior). Variable resolution uses a Postman-compatible 5-scope cascade: `variables > iterationData > environmentVariables > collectionVariables > globals`.
801
+ - ✅ **Request preparer extraVariables fix** — All request resolutions (params, query, headers, bearer auth, basic auth, API key) now use `extraVariables`. Previously only body and URL used them.
802
+ - ✅ **Exported `ResolvedEnvironment` type** — Now part of the public API for downstream consumers.
803
+
798
804
  ### 0.2.6 (Sensitive Data Redaction & Variable Propagation Fix)
799
805
 
800
806
  - ✅ **Sensitive data redaction** — History files, shared history, suite test results, and full response files automatically redact sensitive data before persisting to disk:
@@ -844,7 +850,7 @@ MIT © Henry Huang
844
850
  - ✅ **Core request execution** with Postman collection support
845
851
  - ✅ **Dynamic variables** - 7 generators for on-the-fly value generation
846
852
  - ✅ **Postman-compatible scripting** - `pm.*` API with full feature parity
847
- - ✅ **Variable scoping** - globals, collection, environment, session, flow-level
853
+ - ✅ **Variable scoping** - globals, collection, environment, workspace-state persistence for `pm.environment.set()`
848
854
  - ✅ **Cookie persistence** - automatic storage and reuse across request chains
849
855
  - ✅ **Pre-request & post-response scripts** with shared VM context
850
856
  - ✅ **Test assertions** with BDD-style `pm.test()` and expect chains
package/dist/index.d.ts CHANGED
@@ -50,7 +50,8 @@ export { createExpectChain, createResponseObject } from './infrastructure/script
50
50
  export type { ExpectChain, ResponseAssertions, ScriptResponse } from './infrastructure/script/script-factories';
51
51
  export { concatenateScripts, createScriptConsole, createTestFunction, formatConsoleOutput, hasChanged, normalizeHeaders } from './infrastructure/script/script-utils';
52
52
  export type { ConsoleMessage } from './infrastructure/script/script-utils';
53
- export { redactBody, redactFullResponse, redactFullResultDetails, redactHeaders, redactHistoryEntry, redactUrl } from './infrastructure/security/sensitive-data-redactor';
53
+ export { applyExtractionPlan, buildExtractionPlan, detectSensitiveData, redactBody, redactFullResponse, redactFullResultDetails, redactHeaders, redactHistoryEntry, redactUrl } from './infrastructure/security/sensitive-data-redactor';
54
+ export type { SensitiveDataWarning, SensitiveExtraction } from './infrastructure/security/sensitive-data-redactor';
54
55
  export { CollectionLoader } from './infrastructure/collection/collection-loader';
55
56
  export type { LoadOptions } from './infrastructure/collection/collection-loader';
56
57
  export { CollectionLoaderFactory } from './infrastructure/collection/collection-loader-factory';
@@ -71,7 +72,7 @@ export { ForgeEnv } from './infrastructure/environment/forge-env';
71
72
  export type { IForgeEnv } from './infrastructure/environment/forge-env';
72
73
  export { createVariableResolver, VariableInterpolator, VariableResolver } from './infrastructure/environment/variable-interpolator';
73
74
  export type { VariableResolverConfig } from './infrastructure/environment/variable-interpolator';
74
- export type { IEnvironmentConfigService } from './types/environment-config';
75
+ export type { IEnvironmentConfigService, ResolvedEnvironment } from './types/environment-config';
75
76
  export { CollectionRequestExecutor } from './infrastructure/execution/collection-request-executor';
76
77
  export * from './infrastructure/execution/collection-request-executor-interfaces';
77
78
  export { RequestExecutor } from './infrastructure/execution/request-executor';