@http-forge/core 0.1.0 → 0.2.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 (135) hide show
  1. package/README.md +217 -43
  2. package/dist/auth/interfaces.d.ts +63 -0
  3. package/dist/auth/oauth2-token-manager.d.ts +103 -0
  4. package/dist/collection/collection-loader-factory.d.ts +20 -0
  5. package/dist/{services → collection}/collection-loader.d.ts +3 -3
  6. package/dist/collection/collection-service-interfaces.d.ts +119 -0
  7. package/dist/collection/collection-service.d.ts +75 -0
  8. package/dist/collection/collection-store.d.ts +109 -0
  9. package/dist/collection/folder-collection-loader.d.ts +45 -0
  10. package/dist/collection/folder-collection-store.d.ts +175 -0
  11. package/dist/collection/folder-io.d.ts +113 -0
  12. package/dist/collection/interfaces.d.ts +32 -0
  13. package/dist/collection/json-collection-loader.d.ts +95 -0
  14. package/dist/{services → collection}/parser-registry.d.ts +1 -2
  15. package/dist/config/config-service.d.ts +79 -0
  16. package/dist/config/config.interface.d.ts +140 -0
  17. package/dist/config/default-config.d.ts +29 -0
  18. package/dist/config/index.d.ts +6 -0
  19. package/dist/container.d.ts +26 -19
  20. package/dist/{implementations → cookie}/cookie-jar.d.ts +2 -3
  21. package/dist/cookie/cookie-service.d.ts +98 -0
  22. package/dist/{implementations → cookie}/cookie-utils.d.ts +1 -2
  23. package/dist/cookie/in-memory-cookie-jar.d.ts +44 -0
  24. package/dist/{interfaces/cookie.d.ts → cookie/interfaces.d.ts} +22 -3
  25. package/dist/cookie/persistent-cookie-jar.d.ts +35 -0
  26. package/dist/di/core-bootstrap.d.ts +25 -0
  27. package/dist/di/index.d.ts +11 -0
  28. package/dist/di/platform-adapters.d.ts +53 -0
  29. package/dist/di/service-container.d.ts +97 -0
  30. package/dist/di/service-identifiers.d.ts +34 -0
  31. package/dist/environment/environment-config-service.d.ts +98 -0
  32. package/dist/environment/environment-file-loader.d.ts +42 -0
  33. package/dist/{services → environment}/environment-resolver.d.ts +6 -5
  34. package/dist/{services → environment}/forge-env.d.ts +1 -2
  35. package/dist/environment/interfaces.d.ts +139 -0
  36. package/dist/environment/variable-interpolator.d.ts +100 -0
  37. package/dist/execution/collection-request-executor-interfaces.d.ts +36 -0
  38. package/dist/execution/collection-request-executor.d.ts +78 -0
  39. package/dist/{services → execution}/request-executor.d.ts +23 -11
  40. package/dist/execution/request-preparer-interfaces.d.ts +36 -0
  41. package/dist/execution/request-preparer.d.ts +35 -0
  42. package/dist/graphql/graphql-completion-provider.d.ts +39 -0
  43. package/dist/graphql/graphql-schema-service.d.ts +89 -0
  44. package/dist/{interfaces/history.d.ts → history/history-interfaces.d.ts} +29 -6
  45. package/dist/history/request-history-service-interfaces.d.ts +43 -0
  46. package/dist/history/request-history-service.d.ts +133 -0
  47. package/dist/{implementations → history}/request-history.d.ts +2 -3
  48. package/dist/{implementations → http}/fetch-http-client.d.ts +4 -5
  49. package/dist/http/http-request-service.d.ts +36 -0
  50. package/dist/{implementations → http}/interceptor-chain.d.ts +1 -2
  51. package/dist/http/interfaces.d.ts +25 -0
  52. package/dist/http/merge-request-settings.d.ts +12 -0
  53. package/dist/{implementations → http}/native-http-client.d.ts +6 -15
  54. package/dist/{implementations → http}/request-preprocessor.d.ts +1 -2
  55. package/dist/{services → http}/url-builder.d.ts +7 -10
  56. package/dist/import-export/import-postman-environment.d.ts +21 -0
  57. package/dist/import-export/rest-client-export.d.ts +35 -0
  58. package/dist/index.d.ts +94 -6
  59. package/dist/index.js +262 -35
  60. package/dist/index.mjs +262 -35
  61. package/dist/openapi/example-generator.d.ts +26 -0
  62. package/dist/openapi/history-analyzer.d.ts +29 -0
  63. package/dist/openapi/index.d.ts +16 -0
  64. package/dist/openapi/interfaces.d.ts +42 -0
  65. package/dist/openapi/openapi-exporter.d.ts +73 -0
  66. package/dist/openapi/openapi-importer.d.ts +72 -0
  67. package/dist/openapi/ref-resolver.d.ts +28 -0
  68. package/dist/openapi/schema-inference-service.d.ts +40 -0
  69. package/dist/openapi/schema-inferrer.d.ts +26 -0
  70. package/dist/openapi/script-analyzer.d.ts +41 -0
  71. package/dist/parsers/http-forge-parser.d.ts +2 -3
  72. package/dist/parsers/index.d.ts +0 -1
  73. package/dist/{implementations → platform}/data-file-parser.d.ts +0 -1
  74. package/dist/{implementations → platform}/node-file-system.d.ts +1 -2
  75. package/dist/script/interfaces.d.ts +161 -0
  76. package/dist/script/module-loader.d.ts +115 -0
  77. package/dist/script/request-script-session.d.ts +73 -0
  78. package/dist/script/script-executor.d.ts +60 -0
  79. package/dist/script/script-factories.d.ts +94 -0
  80. package/dist/script/script-utils.d.ts +42 -0
  81. package/dist/test-suite/index.d.ts +10 -0
  82. package/dist/test-suite/interfaces.d.ts +164 -0
  83. package/dist/test-suite/result-storage-service.d.ts +70 -0
  84. package/dist/test-suite/result-storage.d.ts +296 -0
  85. package/dist/test-suite/statistics-service.d.ts +51 -0
  86. package/dist/test-suite/test-suite-service.d.ts +97 -0
  87. package/dist/test-suite/test-suite-store.d.ts +155 -0
  88. package/dist/types/console-service.d.ts +40 -0
  89. package/dist/types/platform.d.ts +206 -0
  90. package/dist/{interfaces → types}/types.d.ts +289 -12
  91. package/dist/utils/dynamic-variables.d.ts +38 -0
  92. package/dist/utils/expression-evaluator.d.ts +34 -0
  93. package/dist/utils/filter-engine.d.ts +47 -0
  94. package/dist/utils/helpers.d.ts +47 -0
  95. package/package.json +12 -4
  96. package/dist/container.d.ts.map +0 -1
  97. package/dist/implementations/cookie-jar.d.ts.map +0 -1
  98. package/dist/implementations/cookie-utils.d.ts.map +0 -1
  99. package/dist/implementations/data-file-parser.d.ts.map +0 -1
  100. package/dist/implementations/fetch-http-client.d.ts.map +0 -1
  101. package/dist/implementations/index.d.ts +0 -22
  102. package/dist/implementations/index.d.ts.map +0 -1
  103. package/dist/implementations/interceptor-chain.d.ts.map +0 -1
  104. package/dist/implementations/module-loader.d.ts +0 -74
  105. package/dist/implementations/module-loader.d.ts.map +0 -1
  106. package/dist/implementations/native-http-client.d.ts.map +0 -1
  107. package/dist/implementations/node-file-system.d.ts.map +0 -1
  108. package/dist/implementations/request-history.d.ts.map +0 -1
  109. package/dist/implementations/request-preprocessor.d.ts.map +0 -1
  110. package/dist/implementations/variable-interpolator.d.ts +0 -55
  111. package/dist/implementations/variable-interpolator.d.ts.map +0 -1
  112. package/dist/implementations/vm2-script-runner.d.ts +0 -76
  113. package/dist/implementations/vm2-script-runner.d.ts.map +0 -1
  114. package/dist/index.d.ts.map +0 -1
  115. package/dist/interfaces/cookie.d.ts.map +0 -1
  116. package/dist/interfaces/history.d.ts.map +0 -1
  117. package/dist/interfaces/index.d.ts +0 -170
  118. package/dist/interfaces/index.d.ts.map +0 -1
  119. package/dist/interfaces/types.d.ts.map +0 -1
  120. package/dist/parsers/http-forge-parser.d.ts.map +0 -1
  121. package/dist/parsers/index.d.ts.map +0 -1
  122. package/dist/services/collection-loader.d.ts.map +0 -1
  123. package/dist/services/environment-resolver.d.ts.map +0 -1
  124. package/dist/services/folder-collection-loader.d.ts +0 -91
  125. package/dist/services/folder-collection-loader.d.ts.map +0 -1
  126. package/dist/services/forge-env.d.ts.map +0 -1
  127. package/dist/services/index.d.ts +0 -20
  128. package/dist/services/index.d.ts.map +0 -1
  129. package/dist/services/parser-registry.d.ts.map +0 -1
  130. package/dist/services/request-executor.d.ts.map +0 -1
  131. package/dist/services/script-pipeline.d.ts +0 -43
  132. package/dist/services/script-pipeline.d.ts.map +0 -1
  133. package/dist/services/script-session.d.ts +0 -66
  134. package/dist/services/script-session.d.ts.map +0 -1
  135. package/dist/services/url-builder.d.ts.map +0 -1
@@ -0,0 +1,36 @@
1
+ /**
2
+ * HTTP Request Service
3
+ *
4
+ * High-level facade that orchestrates HTTP request execution through:
5
+ * - Request interceptors (pre-processing)
6
+ * - HTTP client (actual network call)
7
+ * - Response interceptors (post-processing)
8
+ * - Error interceptors (error recovery)
9
+ * - URL building (path param + query param substitution)
10
+ *
11
+ * Extracted from extension's http-request-service.ts.
12
+ *
13
+ * SOLID:
14
+ * - Single Responsibility: Orchestrates HTTP requests via interceptors
15
+ * - Open/Closed: Extended through interceptor chain
16
+ * - Dependency Inversion: Depends on IHttpClient, IUrlBuilder, IInterceptorChain, IRequestPreprocessor
17
+ */
18
+ import type { IHttpClient } from '../types/platform';
19
+ import { HttpRequestOptions, HttpResponse } from '../types/types';
20
+ import { IInterceptorChain } from './interceptor-chain';
21
+ import { IHttpRequestService } from './interfaces';
22
+ import { IUrlBuilder } from './url-builder';
23
+ export declare class HttpRequestService implements IHttpRequestService {
24
+ private readonly urlBuilder;
25
+ private readonly interceptors;
26
+ private readonly httpClient;
27
+ constructor(urlBuilder: IUrlBuilder, interceptors: IInterceptorChain, httpClient: IHttpClient);
28
+ /**
29
+ * Execute an HTTP request with interceptor support.
30
+ */
31
+ execute(options: HttpRequestOptions): Promise<HttpResponse>;
32
+ /**
33
+ * Build full URL from URL pattern, params, and query.
34
+ */
35
+ buildUrl(urlPattern: string, params?: Record<string, string>, query?: Record<string, string>): string;
36
+ }
@@ -12,7 +12,7 @@
12
12
  * - Post-response processing (modify response after receiving)
13
13
  * - Error handling
14
14
  */
15
- import { HttpRequest, HttpResponse } from '../interfaces/types';
15
+ import { HttpRequest, HttpResponse } from '../types/types';
16
16
  /**
17
17
  * Context passed to interceptors
18
18
  * Same as plugin's InterceptorContext
@@ -259,4 +259,3 @@ export declare class RetryErrorInterceptor implements IErrorInterceptor {
259
259
  constructor(maxRetries?: number, retryableErrors?: string[]);
260
260
  handle(error: Error, _request: HttpRequest, _context: InterceptorContext): void;
261
261
  }
262
- //# sourceMappingURL=interceptor-chain.d.ts.map
@@ -0,0 +1,25 @@
1
+ /**
2
+ * HTTP Request Service Interface
3
+ *
4
+ * Combines HTTP execution (IHttpClient) with URL building (IUrlBuilder).
5
+ * Adds interceptor support for pre/post processing of requests and responses.
6
+ *
7
+ * This is the high-level service interface that consumers use.
8
+ * It delegates to IHttpClient for actual network calls and IUrlBuilder for URL construction.
9
+ */
10
+ import { HttpRequestOptions, HttpResponse } from '../types/types';
11
+ /**
12
+ * Full HTTP request service interface.
13
+ * Combines execution + URL building in a single facade.
14
+ */
15
+ export interface IHttpRequestService {
16
+ /**
17
+ * Execute an HTTP request with interceptor support.
18
+ */
19
+ execute(options: HttpRequestOptions): Promise<HttpResponse>;
20
+ /**
21
+ * Build a full URL from path with parameter and query substitution.
22
+ * Path is expected to have {{variables}} pre-resolved by caller.
23
+ */
24
+ buildUrl(path: string, params?: Record<string, string>, query?: Record<string, string>): string;
25
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Merge Request Settings
3
+ *
4
+ * Merges user-provided request settings with defaults.
5
+ * Extracted from extension's utils/merge-request-settings.ts.
6
+ */
7
+ import { RequestSettings } from '../types/types';
8
+ /**
9
+ * Merge user-provided RequestSettings with defaults.
10
+ * Idempotent and safe to call from multiple layers.
11
+ */
12
+ export declare function mergeRequestSettings(userSettings?: Partial<RequestSettings>): Required<RequestSettings>;
@@ -14,34 +14,26 @@
14
14
  * - Request cancellation via AbortSignal
15
15
  * - Cookie parsing from Set-Cookie headers
16
16
  */
17
- import { IHttpClient } from '../interfaces';
18
- import { ParsedCookie } from '../interfaces/cookie';
19
- import { HttpRequest, HttpResponse, RequestSettings } from '../interfaces/types';
17
+ import { IHttpClient } from '../types/platform';
18
+ import { HttpRequest, HttpResponse, RequestSettings } from '../types/types';
20
19
  /**
21
20
  * Default request settings
22
21
  * Same as plugin's DEFAULT_REQUEST_SETTINGS from shared/constants.ts
23
22
  */
24
23
  export declare const DEFAULT_REQUEST_SETTINGS: Required<RequestSettings>;
25
- /**
26
- * Extended HTTP response with raw cookie data for internal use
27
- * Compatible with HttpResponse through the cookies field
28
- */
29
- export interface HttpResponseWithCookies extends HttpResponse {
30
- /** Parsed cookie objects with full details */
31
- rawCookies: ParsedCookie[];
32
- }
33
24
  /**
34
25
  * Native HTTP client using Node.js http/https modules
35
26
  *
36
27
  * Implementation extracted 100% from plugin's HttpRequestService.executeInternal
37
28
  */
38
- export declare class NativeHttpClient implements IHttpClient {
29
+ export declare class NodeHttpClient implements IHttpClient {
39
30
  private settings;
31
+ private version;
40
32
  constructor(defaultSettings?: Partial<RequestSettings>);
41
33
  /**
42
- * Execute an HTTP request
34
+ * Send an HTTP request
43
35
  */
44
- execute(request: HttpRequest): Promise<HttpResponse>;
36
+ send(request: HttpRequest): Promise<HttpResponse>;
45
37
  /**
46
38
  * Merge user settings with defaults
47
39
  * Same implementation as plugin's HttpRequestService.mergeSettings
@@ -69,4 +61,3 @@ export declare class NativeHttpClient implements IHttpClient {
69
61
  */
70
62
  private parseCookies;
71
63
  }
72
- //# sourceMappingURL=native-http-client.d.ts.map
@@ -6,7 +6,7 @@
6
6
  * Single Responsibility: Handles request preparation (header sanitization, body encoding)
7
7
  * DO NOT modify the core logic - it has been tested and is reliable.
8
8
  */
9
- import { RequestBody } from '../interfaces/types';
9
+ import { RequestBody } from '../types/types';
10
10
  /**
11
11
  * Request Preprocessor Interface
12
12
  * Same as plugin's IRequestPreprocessor
@@ -75,4 +75,3 @@ export declare class RequestPreprocessor implements IRequestPreprocessor {
75
75
  */
76
76
  setContentTypeHeader(headers: Record<string, string>, body: RequestBody | null | undefined, bodyContentType?: string): void;
77
77
  }
78
- //# sourceMappingURL=request-preprocessor.d.ts.map
@@ -8,19 +8,18 @@
8
8
  * - Path parameter replacement: :param, :param(regex), :param?
9
9
  * - Query string building and merging
10
10
  */
11
- import { IVariableInterpolator } from '../interfaces';
12
11
  /**
13
12
  * URL Builder interface
14
13
  */
15
14
  export interface IUrlBuilder {
16
15
  /**
17
- * Build a complete URL with variable and path parameter substitution
18
- * @param urlPattern - URL pattern with {{vars}} and :params
19
- * @param variables - Variables for {{var}} replacement
16
+ * Build a complete URL with path parameter and query string substitution.
17
+ * Matches extension's IUrlBuilder expects {{variables}} pre-resolved.
18
+ * @param path - URL path (with {{variables}} pre-resolved by caller)
20
19
  * @param params - Path parameters for :param replacement
21
20
  * @param query - Query parameters to append
22
21
  */
23
- buildUrl(urlPattern: string, variables: Record<string, string>, params?: Record<string, string>, query?: Record<string, string>): string;
22
+ buildUrl(path: string, params?: Record<string, string>, query?: Record<string, string>): string;
24
23
  /**
25
24
  * Replace only path parameters (:param) in a URL
26
25
  */
@@ -34,12 +33,11 @@ export interface IUrlBuilder {
34
33
  * URL Builder implementation
35
34
  */
36
35
  export declare class UrlBuilder implements IUrlBuilder {
37
- private readonly interpolator;
38
- constructor(interpolator: IVariableInterpolator);
39
36
  /**
40
- * Build a complete URL with all substitutions
37
+ * Build a complete URL with all substitutions.
38
+ * Expects {{variables}} in urlPattern to be pre-resolved by caller.
41
39
  */
42
- buildUrl(urlPattern: string, variables: Record<string, string>, params?: Record<string, string>, query?: Record<string, string>): string;
40
+ buildUrl(urlPattern: string, params?: Record<string, string>, query?: Record<string, string>): string;
43
41
  /**
44
42
  * Replace path parameters in URL
45
43
  * Supports:
@@ -57,4 +55,3 @@ export declare class UrlBuilder implements IUrlBuilder {
57
55
  */
58
56
  private appendQueryParams;
59
57
  }
60
- //# sourceMappingURL=url-builder.d.ts.map
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Postman Environment Import
3
+ *
4
+ * Parses Postman environment JSON files into a standard format.
5
+ * Extracted from extension's utils/import-postman-environment.ts.
6
+ *
7
+ * Pure function — no platform dependencies.
8
+ */
9
+ import { ImportedEnvironment } from '../environment/interfaces';
10
+ import { IFileSystem } from '../types/platform';
11
+ export type { ImportedEnvironment } from '../environment/interfaces';
12
+ /**
13
+ * Parse Postman environment JSON content.
14
+ * Supports both standard and nested Postman export formats.
15
+ */
16
+ export declare function parsePostmanEnvironment(content: string | Buffer): ImportedEnvironment | null;
17
+ /**
18
+ * Parse Postman environment from file using the IFileSystem abstraction.
19
+ * Platform-independent — works with any IFileSystem implementation.
20
+ */
21
+ export declare function parsePostmanEnvironmentFile(filePath: string, fs: IFileSystem): Promise<ImportedEnvironment | null>;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * REST Client Export Utilities
3
+ *
4
+ * Pure functions for exporting collections to REST Client format (.http files).
5
+ * No VS Code dependency — uses only Node.js fs/path and core types.
6
+ */
7
+ import type { Collection, CollectionItem, ICollectionService } from '../collection/interfaces';
8
+ import type { IEnvironmentConfigService } from '../environment/interfaces';
9
+ import type { RequestScripts } from '../types/types';
10
+ /**
11
+ * Write an env file given an object of key/value pairs. Existing file is overwritten.
12
+ */
13
+ export declare function writeEnvFile(filePath: string, vars?: Record<string, string>): void;
14
+ /**
15
+ * Write pre/post scripts to separate files (pre.js and post.js). If no content, does nothing.
16
+ */
17
+ export declare function writeScriptFile(dir: string, baseName: string, scripts?: RequestScripts | undefined): void;
18
+ /**
19
+ * Determine the folder where REST-Client exports should be saved.
20
+ *
21
+ * The setting value may be an absolute path or a workspace-relative
22
+ * path. If the provided `pathSetting` is empty/undefined the default
23
+ * "collections-rest-client" directory under the workspace root is used.
24
+ */
25
+ export declare function getRestClientExportFolder(workspaceFolder: string, pathSetting?: string): string;
26
+ /**
27
+ * Perform a complete export for a given collection ID into the specified folder.
28
+ * This includes the collection requests and environment exports (honoring the
29
+ * mergeGlobals workspace setting).
30
+ */
31
+ export declare function exportCollectionToRestClient(collectionService: ICollectionService, envConfigService: IEnvironmentConfigService, collectionId: string, targetFolder: string, mergeGlobals: boolean): Promise<void>;
32
+ /**
33
+ * Recursively write a folder's items (folders and requests) into the output path.
34
+ */
35
+ export declare function writeFolderItems(items: CollectionItem[], dest: string, collection: Collection): void;
package/dist/index.d.ts CHANGED
@@ -18,10 +18,98 @@
18
18
  */
19
19
  export { ForgeContainer } from './container';
20
20
  export type { ForgeContainerOptions, StorageFormat } from './container';
21
- export * from './interfaces';
22
- export { FetchHttpClient, NodeFileSystem, VariableInterpolator, VM2ScriptRunner } from './implementations';
21
+ export { ServiceContainer, ServiceIdentifiers, getServiceContainer, registerCoreServices } from './di';
22
+ export type { PlatformAdapters, ServiceIdentifier } from './di';
23
+ export * from './types/console-service';
24
+ export * from './types/platform';
25
+ export * from './types/types';
26
+ export { CookieJar } from './cookie/cookie-jar';
27
+ export { CookieService } from './cookie/cookie-service';
28
+ export { CookieUtils } from './cookie/cookie-utils';
29
+ export { InMemoryCookieJar } from './cookie/in-memory-cookie-jar';
30
+ export * from './cookie/interfaces';
31
+ export { PersistentCookieJar } from './cookie/persistent-cookie-jar';
32
+ export { FetchHttpClient } from './http/fetch-http-client';
33
+ export { HttpRequestService } from './http/http-request-service';
34
+ export { InterceptorChain, LoggingRequestInterceptor, RetryErrorInterceptor, TimingResponseInterceptor } from './http/interceptor-chain';
35
+ export type { IErrorInterceptor, IInterceptorChain, IRequestInterceptor, IResponseInterceptor, InterceptorContext } from './http/interceptor-chain';
36
+ export type { IHttpRequestService } from './http/interfaces';
37
+ export { mergeRequestSettings } from './http/merge-request-settings';
38
+ export { DEFAULT_REQUEST_SETTINGS, NodeHttpClient } from './http/native-http-client';
39
+ export { RequestPreprocessor } from './http/request-preprocessor';
40
+ export type { IRequestPreprocessor } from './http/request-preprocessor';
41
+ export { UrlBuilder } from './http/url-builder';
42
+ export type { IUrlBuilder } from './http/url-builder';
43
+ export * from './script/interfaces';
44
+ export { ModuleLoader, createLodashShim, createModuleLoader, createMomentShim } from './script/module-loader';
45
+ export type { ModuleLoaderOptions } from './script/module-loader';
46
+ export { RequestScriptSession } from './script/request-script-session';
47
+ export type { SessionDependencies } from './script/request-script-session';
48
+ export { ScriptExecutor } from './script/script-executor';
49
+ export { createExpectChain, createResponseObject } from './script/script-factories';
50
+ export type { ExpectChain, ResponseAssertions, ScriptResponse } from './script/script-factories';
51
+ export { concatenateScripts, createScriptConsole, createTestFunction, formatConsoleOutput, hasChanged, normalizeHeaders } from './script/script-utils';
52
+ export type { ConsoleMessage } from './script/script-utils';
53
+ export { CollectionLoader } from './collection/collection-loader';
54
+ export type { LoadOptions } from './collection/collection-loader';
55
+ export { CollectionLoaderFactory } from './collection/collection-loader-factory';
56
+ export { CollectionService } from './collection/collection-service';
57
+ export { FolderCollectionLoader } from './collection/folder-collection-loader';
58
+ export { FolderCollectionStore } from './collection/folder-collection-store';
59
+ export * from './collection/folder-io';
60
+ export { generateSlug } from './collection/folder-io';
61
+ export * from './collection/interfaces';
62
+ export { JsonCollectionLoader } from './collection/json-collection-loader';
63
+ export { ParserRegistry } from './collection/parser-registry';
64
+ export { EnvironmentConfigService } from './environment/environment-config-service';
65
+ export { isSystemEnvironmentFile, loadEnvironmentsFromFolder } from './environment/environment-file-loader';
66
+ export type { EnvironmentEntry, EnvironmentFolderData } from './environment/environment-file-loader';
67
+ export { EnvironmentResolver } from './environment/environment-resolver';
68
+ export type { Environment, EnvironmentStoreConfig } from './environment/environment-resolver';
69
+ export { ForgeEnv } from './environment/forge-env';
70
+ export type { IForgeEnv } from './environment/forge-env';
71
+ export * from './environment/interfaces';
72
+ export { VariableInterpolator, VariableResolver, createVariableResolver } from './environment/variable-interpolator';
73
+ export type { VariableResolverConfig } from './environment/variable-interpolator';
74
+ export { CollectionRequestExecutor } from './execution/collection-request-executor';
75
+ export * from './execution/collection-request-executor-interfaces';
76
+ export { RequestExecutor } from './execution/request-executor';
77
+ export type { ExecuteOptions, ExecuteResult } from './execution/request-executor';
78
+ export { RequestPreparer } from './execution/request-preparer';
79
+ export * from './execution/request-preparer-interfaces';
80
+ export * from './history/history-interfaces';
81
+ export { RequestHistoryStore } from './history/request-history';
82
+ export { RequestHistoryService } from './history/request-history-service';
83
+ export type { IRequestHistoryService, IResponseStorage } from './history/request-history-service-interfaces';
84
+ export * from './auth/interfaces';
85
+ export { OAuth2TokenManager } from './auth/oauth2-token-manager';
86
+ export { getCompletions, parseQueryContext } from './graphql/graphql-completion-provider';
87
+ export type { CompletionItem, ContextType, QueryContext } from './graphql/graphql-completion-provider';
88
+ export { GraphQLSchemaService } from './graphql/graphql-schema-service';
89
+ export type { GraphQLDirective, GraphQLField, GraphQLOperation, GraphQLSchema, GraphQLType, IGraphQLSchemaService } from './graphql/graphql-schema-service';
90
+ export { ExampleGenerator, HistoryAnalyzer, OpenApiExporter, OpenApiImporter, RefResolver, SchemaInferenceService, SchemaInferrer, ScriptAnalyzer } from './openapi';
91
+ export type { OpenApiExportOptions, OpenApiImportOptions, ScriptAnalysisResult } from './openapi';
92
+ export * from './openapi/interfaces';
93
+ export { CONFIG_FILES, ConfigService, DEFAULT_CONFIG, ROOT_DIRECTORIES } from './config';
94
+ export type { EnvironmentsConfig, HttpForgeConfig, IConfigService, ProxyConfig, RequestConfig, RestClientExportConfig, RunnerConfig, ScriptsConfig, StorageConfig } from './config';
95
+ export { DEFAULT_SUITE_CONFIG } from './test-suite/interfaces';
96
+ export type { ErrorSummary, IStatisticsService, ITestSuiteService, RequestStatistics, RunStatistics, RunSummary, SuiteConfig, SuiteRequest, TestSuite } from './test-suite/interfaces';
97
+ export { HTTP_METHOD_MAP, HTTP_METHOD_REVERSE, buildResultFileName, expandSummary } from './test-suite/result-storage';
98
+ export type { FullResultDetails, IResultStorageService, IndexPage, RecentError, RequestStats, ResultSummary, RunConfig, RunManifest, RunStats } from './test-suite/result-storage';
99
+ export { ResultStorageService } from './test-suite/result-storage-service';
100
+ export { StatisticsService } from './test-suite/statistics-service';
101
+ export { TestSuiteService } from './test-suite/test-suite-service';
102
+ export type { SuitesChangedCallback } from './test-suite/test-suite-service';
103
+ export { TestSuiteStore } from './test-suite/test-suite-store';
104
+ export type { ITestSuiteStore, SuiteRequestEntry } from './test-suite/test-suite-store';
23
105
  export { HttpForgeParser } from './parsers';
24
- export { CollectionLoader, EnvironmentResolver, FolderCollectionLoader, ForgeEnv, ParserRegistry, RequestExecutor, ScriptPipeline, ScriptSession, UrlBuilder } from './services';
25
- export { generateSlug } from './services/folder-collection-loader';
26
- export type { Environment, EnvironmentConfig, ExecuteOptions, ExecuteResult, IForgeEnv, IUrlBuilder, LoadOptions } from './services';
27
- //# sourceMappingURL=index.d.ts.map
106
+ export { parsePostmanEnvironment, parsePostmanEnvironmentFile } from './import-export/import-postman-environment';
107
+ export type { ImportedEnvironment } from './import-export/import-postman-environment';
108
+ export { exportCollectionToRestClient, getRestClientExportFolder, writeEnvFile, writeFolderItems, writeScriptFile } from './import-export/rest-client-export';
109
+ export { DataFileParser } from './platform/data-file-parser';
110
+ export type { IDataFileParser } from './platform/data-file-parser';
111
+ export { NodeFileSystem } from './platform/node-file-system';
112
+ export { DYNAMIC_VARIABLES, augmentWithDynamicVars, resolveDynamicVariable, resolveDynamicVariablesInString } from './utils/dynamic-variables';
113
+ export { evaluateExpression, isExpression } from './utils/expression-evaluator';
114
+ export { applyFilterChain, parseFilterChain } from './utils/filter-engine';
115
+ export { deepClone, formatBytes, formatDuration, generateId, generateUUID, isPlainObject, mergeHeadersCaseInsensitive, safeJsonParse, sanitizeName } from './utils/helpers';