callman-core 1.38.0 → 1.40.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.
- package/dist/host/connections.d.ts +7 -0
- package/dist/host/connections.d.ts.map +1 -1
- package/dist/host/connections.js +8 -0
- package/dist/host/connections.js.map +1 -1
- package/dist/host/db/connectionMapping.d.ts +3 -0
- package/dist/host/db/connectionMapping.d.ts.map +1 -1
- package/dist/host/db/connectionMapping.js +3 -0
- package/dist/host/db/connectionMapping.js.map +1 -1
- package/dist/host/db/dbErrors.d.ts +9 -0
- package/dist/host/db/dbErrors.d.ts.map +1 -0
- package/dist/host/db/dbErrors.js +126 -0
- package/dist/host/db/dbErrors.js.map +1 -0
- package/dist/host/db/mongoAdapter.d.ts.map +1 -1
- package/dist/host/db/mongoAdapter.js +12 -2
- package/dist/host/db/mongoAdapter.js.map +1 -1
- package/dist/host/db/mysqlAdapter.d.ts.map +1 -1
- package/dist/host/db/mysqlAdapter.js +2 -1
- package/dist/host/db/mysqlAdapter.js.map +1 -1
- package/dist/host/db/oracleAdapter.d.ts.map +1 -1
- package/dist/host/db/oracleAdapter.js +12 -1
- package/dist/host/db/oracleAdapter.js.map +1 -1
- package/dist/host/db/oracleConnectString.d.ts.map +1 -1
- package/dist/host/db/oracleConnectString.js +13 -4
- package/dist/host/db/oracleConnectString.js.map +1 -1
- package/dist/host/db/queryExecutor.d.ts.map +1 -1
- package/dist/host/db/queryExecutor.js +6 -0
- package/dist/host/db/queryExecutor.js.map +1 -1
- package/dist/host/db/types.d.ts +16 -0
- package/dist/host/db/types.d.ts.map +1 -1
- package/dist/host/index.d.ts +1 -0
- package/dist/host/index.d.ts.map +1 -1
- package/dist/host/index.js +2 -0
- package/dist/host/index.js.map +1 -1
- package/dist/http/transportError.d.ts +15 -0
- package/dist/http/transportError.d.ts.map +1 -0
- package/dist/http/transportError.js +70 -0
- package/dist/http/transportError.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mock-engine/auth.d.ts +29 -0
- package/dist/mock-engine/auth.d.ts.map +1 -0
- package/dist/mock-engine/auth.js +86 -0
- package/dist/mock-engine/auth.js.map +1 -0
- package/dist/mock-engine/conditions.d.ts +31 -0
- package/dist/mock-engine/conditions.d.ts.map +1 -0
- package/dist/mock-engine/conditions.js +210 -0
- package/dist/mock-engine/conditions.js.map +1 -0
- package/dist/mock-engine/constants.d.ts +28 -0
- package/dist/mock-engine/constants.d.ts.map +1 -0
- package/dist/mock-engine/constants.js +113 -0
- package/dist/mock-engine/constants.js.map +1 -0
- package/dist/mock-engine/context.d.ts +17 -0
- package/dist/mock-engine/context.d.ts.map +1 -0
- package/dist/mock-engine/context.js +92 -0
- package/dist/mock-engine/context.js.map +1 -0
- package/dist/mock-engine/data/actions.d.ts +4 -0
- package/dist/mock-engine/data/actions.d.ts.map +1 -0
- package/dist/mock-engine/data/actions.js +149 -0
- package/dist/mock-engine/data/actions.js.map +1 -0
- package/dist/mock-engine/data/query.d.ts +28 -0
- package/dist/mock-engine/data/query.d.ts.map +1 -0
- package/dist/mock-engine/data/query.js +402 -0
- package/dist/mock-engine/data/query.js.map +1 -0
- package/dist/mock-engine/data/record-codec.d.ts +28 -0
- package/dist/mock-engine/data/record-codec.d.ts.map +1 -0
- package/dist/mock-engine/data/record-codec.js +155 -0
- package/dist/mock-engine/data/record-codec.js.map +1 -0
- package/dist/mock-engine/data/resource-ops.d.ts +53 -0
- package/dist/mock-engine/data/resource-ops.d.ts.map +1 -0
- package/dist/mock-engine/data/resource-ops.js +461 -0
- package/dist/mock-engine/data/resource-ops.js.map +1 -0
- package/dist/mock-engine/data/seed.d.ts +21 -0
- package/dist/mock-engine/data/seed.d.ts.map +1 -0
- package/dist/mock-engine/data/seed.js +239 -0
- package/dist/mock-engine/data/seed.js.map +1 -0
- package/dist/mock-engine/data/validate-record.d.ts +30 -0
- package/dist/mock-engine/data/validate-record.d.ts.map +1 -0
- package/dist/mock-engine/data/validate-record.js +165 -0
- package/dist/mock-engine/data/validate-record.js.map +1 -0
- package/dist/mock-engine/definition.d.ts +31 -0
- package/dist/mock-engine/definition.d.ts.map +1 -0
- package/dist/mock-engine/definition.js +440 -0
- package/dist/mock-engine/definition.js.map +1 -0
- package/dist/mock-engine/engine.d.ts +75 -0
- package/dist/mock-engine/engine.d.ts.map +1 -0
- package/dist/mock-engine/engine.js +828 -0
- package/dist/mock-engine/engine.js.map +1 -0
- package/dist/mock-engine/faults.d.ts +38 -0
- package/dist/mock-engine/faults.d.ts.map +1 -0
- package/dist/mock-engine/faults.js +113 -0
- package/dist/mock-engine/faults.js.map +1 -0
- package/dist/mock-engine/helpers.d.ts +68 -0
- package/dist/mock-engine/helpers.d.ts.map +1 -0
- package/dist/mock-engine/helpers.js +388 -0
- package/dist/mock-engine/helpers.js.map +1 -0
- package/dist/mock-engine/import/build.d.ts +16 -0
- package/dist/mock-engine/import/build.d.ts.map +1 -0
- package/dist/mock-engine/import/build.js +435 -0
- package/dist/mock-engine/import/build.js.map +1 -0
- package/dist/mock-engine/import/index.d.ts +15 -0
- package/dist/mock-engine/import/index.d.ts.map +1 -0
- package/dist/mock-engine/import/index.js +92 -0
- package/dist/mock-engine/import/index.js.map +1 -0
- package/dist/mock-engine/import/openapi.d.ts +10 -0
- package/dist/mock-engine/import/openapi.d.ts.map +1 -0
- package/dist/mock-engine/import/openapi.js +199 -0
- package/dist/mock-engine/import/openapi.js.map +1 -0
- package/dist/mock-engine/import/paths.d.ts +16 -0
- package/dist/mock-engine/import/paths.d.ts.map +1 -0
- package/dist/mock-engine/import/paths.js +64 -0
- package/dist/mock-engine/import/paths.js.map +1 -0
- package/dist/mock-engine/import/postman.d.ts +21 -0
- package/dist/mock-engine/import/postman.d.ts.map +1 -0
- package/dist/mock-engine/import/postman.js +241 -0
- package/dist/mock-engine/import/postman.js.map +1 -0
- package/dist/mock-engine/import/report.d.ts +12 -0
- package/dist/mock-engine/import/report.d.ts.map +1 -0
- package/dist/mock-engine/import/report.js +39 -0
- package/dist/mock-engine/import/report.js.map +1 -0
- package/dist/mock-engine/import/types.d.ts +94 -0
- package/dist/mock-engine/import/types.d.ts.map +1 -0
- package/dist/mock-engine/import/types.js +6 -0
- package/dist/mock-engine/import/types.js.map +1 -0
- package/dist/mock-engine/index.d.ts +24 -0
- package/dist/mock-engine/index.d.ts.map +1 -0
- package/dist/mock-engine/index.js +27 -0
- package/dist/mock-engine/index.js.map +1 -0
- package/dist/mock-engine/legacy-builder.d.ts +27 -0
- package/dist/mock-engine/legacy-builder.d.ts.map +1 -0
- package/dist/mock-engine/legacy-builder.js +322 -0
- package/dist/mock-engine/legacy-builder.js.map +1 -0
- package/dist/mock-engine/memory-store.d.ts +73 -0
- package/dist/mock-engine/memory-store.d.ts.map +1 -0
- package/dist/mock-engine/memory-store.js +314 -0
- package/dist/mock-engine/memory-store.js.map +1 -0
- package/dist/mock-engine/node/ajv-body-validator.d.ts +13 -0
- package/dist/mock-engine/node/ajv-body-validator.d.ts.map +1 -0
- package/dist/mock-engine/node/ajv-body-validator.js +158 -0
- package/dist/mock-engine/node/ajv-body-validator.js.map +1 -0
- package/dist/mock-engine/node/file-store.d.ts +30 -0
- package/dist/mock-engine/node/file-store.d.ts.map +1 -0
- package/dist/mock-engine/node/file-store.js +116 -0
- package/dist/mock-engine/node/file-store.js.map +1 -0
- package/dist/mock-engine/node/index.d.ts +5 -0
- package/dist/mock-engine/node/index.d.ts.map +1 -0
- package/dist/mock-engine/node/index.js +8 -0
- package/dist/mock-engine/node/index.js.map +1 -0
- package/dist/mock-engine/node/node-http-adapter.d.ts +38 -0
- package/dist/mock-engine/node/node-http-adapter.d.ts.map +1 -0
- package/dist/mock-engine/node/node-http-adapter.js +215 -0
- package/dist/mock-engine/node/node-http-adapter.js.map +1 -0
- package/dist/mock-engine/node/vm-regex-runner.d.ts +14 -0
- package/dist/mock-engine/node/vm-regex-runner.d.ts.map +1 -0
- package/dist/mock-engine/node/vm-regex-runner.js +90 -0
- package/dist/mock-engine/node/vm-regex-runner.js.map +1 -0
- package/dist/mock-engine/render.d.ts +19 -0
- package/dist/mock-engine/render.d.ts.map +1 -0
- package/dist/mock-engine/render.js +57 -0
- package/dist/mock-engine/render.js.map +1 -0
- package/dist/mock-engine/routing.d.ts +48 -0
- package/dist/mock-engine/routing.d.ts.map +1 -0
- package/dist/mock-engine/routing.js +122 -0
- package/dist/mock-engine/routing.js.map +1 -0
- package/dist/mock-engine/templates.d.ts +58 -0
- package/dist/mock-engine/templates.d.ts.map +1 -0
- package/dist/mock-engine/templates.js +300 -0
- package/dist/mock-engine/templates.js.map +1 -0
- package/dist/mock-engine/testing/index.d.ts +13 -0
- package/dist/mock-engine/testing/index.d.ts.map +1 -0
- package/dist/mock-engine/testing/index.js +69 -0
- package/dist/mock-engine/testing/index.js.map +1 -0
- package/dist/mock-engine/types.d.ts +684 -0
- package/dist/mock-engine/types.d.ts.map +1 -0
- package/dist/mock-engine/types.js +7 -0
- package/dist/mock-engine/types.js.map +1 -0
- package/dist/mock-engine/util.d.ts +25 -0
- package/dist/mock-engine/util.d.ts.map +1 -0
- package/dist/mock-engine/util.js +143 -0
- package/dist/mock-engine/util.js.map +1 -0
- package/dist/openapi/index.d.ts +34 -0
- package/dist/openapi/index.d.ts.map +1 -0
- package/dist/openapi/index.js +246 -0
- package/dist/openapi/index.js.map +1 -0
- package/dist/runner/requestRunner.d.ts.map +1 -1
- package/dist/runner/requestRunner.js +6 -1
- package/dist/runner/requestRunner.js.map +1 -1
- package/dist/script/features/random.d.ts.map +1 -1
- package/dist/script/features/random.js +3 -1
- package/dist/script/features/random.js.map +1 -1
- package/dist/script/types.d.ts +5 -0
- package/dist/script/types.d.ts.map +1 -1
- package/dist/templating/postman-generators.d.ts +5 -0
- package/dist/templating/postman-generators.d.ts.map +1 -1
- package/dist/templating/postman-generators.js +19 -14
- package/dist/templating/postman-generators.js.map +1 -1
- package/dist/templating/random-generators.d.ts.map +1 -1
- package/dist/templating/random-generators.js +3 -1
- package/dist/templating/random-generators.js.map +1 -1
- package/dist/templating/random-source.d.ts +12 -0
- package/dist/templating/random-source.d.ts.map +1 -0
- package/dist/templating/random-source.js +38 -0
- package/dist/templating/random-source.js.map +1 -0
- package/dist-cjs/host/connections.js +8 -0
- package/dist-cjs/host/connections.js.map +1 -1
- package/dist-cjs/host/db/connectionMapping.js +3 -0
- package/dist-cjs/host/db/connectionMapping.js.map +1 -1
- package/dist-cjs/host/db/dbErrors.js +130 -0
- package/dist-cjs/host/db/dbErrors.js.map +1 -0
- package/dist-cjs/host/db/mongoAdapter.js +12 -2
- package/dist-cjs/host/db/mongoAdapter.js.map +1 -1
- package/dist-cjs/host/db/mysqlAdapter.js +2 -1
- package/dist-cjs/host/db/mysqlAdapter.js.map +1 -1
- package/dist-cjs/host/db/oracleAdapter.js +12 -1
- package/dist-cjs/host/db/oracleAdapter.js.map +1 -1
- package/dist-cjs/host/db/oracleConnectString.js +13 -4
- package/dist-cjs/host/db/oracleConnectString.js.map +1 -1
- package/dist-cjs/host/db/queryExecutor.js +6 -0
- package/dist-cjs/host/db/queryExecutor.js.map +1 -1
- package/dist-cjs/host/index.js +5 -2
- package/dist-cjs/host/index.js.map +1 -1
- package/dist-cjs/http/transportError.js +75 -0
- package/dist-cjs/http/transportError.js.map +1 -0
- package/dist-cjs/index.js +4 -1
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/mock-engine/auth.js +96 -0
- package/dist-cjs/mock-engine/auth.js.map +1 -0
- package/dist-cjs/mock-engine/conditions.js +216 -0
- package/dist-cjs/mock-engine/conditions.js.map +1 -0
- package/dist-cjs/mock-engine/constants.js +116 -0
- package/dist-cjs/mock-engine/constants.js.map +1 -0
- package/dist-cjs/mock-engine/context.js +99 -0
- package/dist-cjs/mock-engine/context.js.map +1 -0
- package/dist-cjs/mock-engine/data/actions.js +153 -0
- package/dist-cjs/mock-engine/data/actions.js.map +1 -0
- package/dist-cjs/mock-engine/data/query.js +413 -0
- package/dist-cjs/mock-engine/data/query.js.map +1 -0
- package/dist-cjs/mock-engine/data/record-codec.js +165 -0
- package/dist-cjs/mock-engine/data/record-codec.js.map +1 -0
- package/dist-cjs/mock-engine/data/resource-ops.js +476 -0
- package/dist-cjs/mock-engine/data/resource-ops.js.map +1 -0
- package/dist-cjs/mock-engine/data/seed.js +246 -0
- package/dist-cjs/mock-engine/data/seed.js.map +1 -0
- package/dist-cjs/mock-engine/data/validate-record.js +170 -0
- package/dist-cjs/mock-engine/data/validate-record.js.map +1 -0
- package/dist-cjs/mock-engine/definition.js +454 -0
- package/dist-cjs/mock-engine/definition.js.map +1 -0
- package/dist-cjs/mock-engine/engine.js +837 -0
- package/dist-cjs/mock-engine/engine.js.map +1 -0
- package/dist-cjs/mock-engine/faults.js +117 -0
- package/dist-cjs/mock-engine/faults.js.map +1 -0
- package/dist-cjs/mock-engine/helpers.js +399 -0
- package/dist-cjs/mock-engine/helpers.js.map +1 -0
- package/dist-cjs/mock-engine/import/build.js +439 -0
- package/dist-cjs/mock-engine/import/build.js.map +1 -0
- package/dist-cjs/mock-engine/import/index.js +120 -0
- package/dist-cjs/mock-engine/import/index.js.map +1 -0
- package/dist-cjs/mock-engine/import/openapi.js +203 -0
- package/dist-cjs/mock-engine/import/openapi.js.map +1 -0
- package/dist-cjs/mock-engine/import/paths.js +72 -0
- package/dist-cjs/mock-engine/import/paths.js.map +1 -0
- package/dist-cjs/mock-engine/import/postman.js +247 -0
- package/dist-cjs/mock-engine/import/postman.js.map +1 -0
- package/dist-cjs/mock-engine/import/report.js +43 -0
- package/dist-cjs/mock-engine/import/report.js.map +1 -0
- package/dist-cjs/mock-engine/import/types.js +7 -0
- package/dist-cjs/mock-engine/import/types.js.map +1 -0
- package/dist-cjs/mock-engine/index.js +81 -0
- package/dist-cjs/mock-engine/index.js.map +1 -0
- package/dist-cjs/mock-engine/legacy-builder.js +327 -0
- package/dist-cjs/mock-engine/legacy-builder.js.map +1 -0
- package/dist-cjs/mock-engine/memory-store.js +318 -0
- package/dist-cjs/mock-engine/memory-store.js.map +1 -0
- package/dist-cjs/mock-engine/node/ajv-body-validator.js +166 -0
- package/dist-cjs/mock-engine/node/ajv-body-validator.js.map +1 -0
- package/dist-cjs/mock-engine/node/file-store.js +123 -0
- package/dist-cjs/mock-engine/node/file-store.js.map +1 -0
- package/dist-cjs/mock-engine/node/index.js +16 -0
- package/dist-cjs/mock-engine/node/index.js.map +1 -0
- package/dist-cjs/mock-engine/node/node-http-adapter.js +219 -0
- package/dist-cjs/mock-engine/node/node-http-adapter.js.map +1 -0
- package/dist-cjs/mock-engine/node/vm-regex-runner.js +97 -0
- package/dist-cjs/mock-engine/node/vm-regex-runner.js.map +1 -0
- package/dist-cjs/mock-engine/render.js +64 -0
- package/dist-cjs/mock-engine/render.js.map +1 -0
- package/dist-cjs/mock-engine/routing.js +130 -0
- package/dist-cjs/mock-engine/routing.js.map +1 -0
- package/dist-cjs/mock-engine/templates.js +308 -0
- package/dist-cjs/mock-engine/templates.js.map +1 -0
- package/dist-cjs/mock-engine/testing/index.js +72 -0
- package/dist-cjs/mock-engine/testing/index.js.map +1 -0
- package/dist-cjs/mock-engine/types.js +8 -0
- package/dist-cjs/mock-engine/types.js.map +1 -0
- package/dist-cjs/mock-engine/util.js +166 -0
- package/dist-cjs/mock-engine/util.js.map +1 -0
- package/dist-cjs/openapi/index.js +257 -0
- package/dist-cjs/openapi/index.js.map +1 -0
- package/dist-cjs/runner/requestRunner.js +6 -1
- package/dist-cjs/runner/requestRunner.js.map +1 -1
- package/dist-cjs/script/features/random.js +3 -1
- package/dist-cjs/script/features/random.js.map +1 -1
- package/dist-cjs/templating/postman-generators.js +21 -15
- package/dist-cjs/templating/postman-generators.js.map +1 -1
- package/dist-cjs/templating/random-generators.js +3 -1
- package/dist-cjs/templating/random-generators.js.map +1 -1
- package/dist-cjs/templating/random-source.js +44 -0
- package/dist-cjs/templating/random-source.js.map +1 -0
- package/package.json +29 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mock-engine/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// Mock engine — the single source of truth for mock definitions and the
|
|
2
|
+
// runtime contract shared by the backend (MongoDB storage), the desktop
|
|
3
|
+
// (file storage, Electron main) and the renderer (previews, validation).
|
|
4
|
+
//
|
|
5
|
+
// Everything in this file is type-only; nothing here may import a value.
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mock-engine/types.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,wEAAwE;AACxE,yEAAyE;AACzE,EAAE;AACF,yEAAyE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const utf8: (value: string) => Uint8Array;
|
|
2
|
+
export declare const byteLength: (value: string) => number;
|
|
3
|
+
export declare const isPlainObject: (value: unknown) => value is Record<string, unknown>;
|
|
4
|
+
export declare const isForbiddenKey: (key: string) => boolean;
|
|
5
|
+
/** Navigate a dotted path; refuses prototype keys and non-object hops. */
|
|
6
|
+
export declare const navigatePath: (root: unknown, segments: string[]) => unknown;
|
|
7
|
+
export declare const getByPath: (root: unknown, path: string) => unknown;
|
|
8
|
+
export declare const lookupHeader: (headers: Record<string, string>, name: string) => string | undefined;
|
|
9
|
+
export declare const deepClone: <T>(value: T) => T;
|
|
10
|
+
export declare const toHex: (bytes: Uint8Array) => string;
|
|
11
|
+
export declare const fromHex: (hex: string) => Uint8Array;
|
|
12
|
+
export declare const base64UrlEncode: (bytes: Uint8Array) => string;
|
|
13
|
+
export declare const base64UrlDecode: (value: string) => Uint8Array | null;
|
|
14
|
+
export declare const fromUtf8: (bytes: Uint8Array) => string;
|
|
15
|
+
/** Constant-time comparison of two equal-length byte arrays. */
|
|
16
|
+
export declare const timingSafeEqualBytes: (a: Uint8Array, b: Uint8Array) => boolean;
|
|
17
|
+
/** First value of a parsed query param (Express `qs` may give arrays). */
|
|
18
|
+
export declare const firstQueryValue: (query: Record<string, unknown>, name: string) => string | undefined;
|
|
19
|
+
export declare const clamp: (value: number, min: number, max: number) => number;
|
|
20
|
+
/** Integer in [min, max] from a [0,1) random source. */
|
|
21
|
+
export declare const randomIntBetween: (next: () => number, min: number, max: number) => number;
|
|
22
|
+
export declare const randomUuid: (next: () => number) => string;
|
|
23
|
+
export declare const randomNanoId: (next: () => number, length?: number) => string;
|
|
24
|
+
export declare const randomObjectId: (next: () => number, nowMs: number) => string;
|
|
25
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/mock-engine/util.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,UAAmC,CAAC;AAEzE,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAAsC,CAAC;AAElF,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CACR,CAAC;AAIvE,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,OAAkC,CAAC;AAEhF,0EAA0E;AAC1E,eAAO,MAAM,YAAY,GAAI,MAAM,OAAO,EAAE,UAAU,MAAM,EAAE,KAAG,OAUhE,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,OAAO,EAAE,MAAM,MAAM,KAAG,OACE,CAAC;AAE3D,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,MAAM,KAAG,MAAM,GAAG,SAOrF,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,CAIvC,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,OAAO,UAAU,KAAG,MAIzC,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,UAKrC,CAAC;AAIF,eAAO,MAAM,eAAe,GAAI,OAAO,UAAU,KAAG,MAgBnD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,KAAG,UAAU,GAAG,IAoB5D,CAAC;AAGF,eAAO,MAAM,QAAQ,GAAI,OAAO,UAAU,KAAG,MAA+B,CAAC;AAE7E,gEAAgE;AAChE,eAAO,MAAM,oBAAoB,GAAI,GAAG,UAAU,EAAE,GAAG,UAAU,KAAG,OAKnE,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,MAAM,KAAG,MAAM,GAAG,SAKvF,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAA6C,CAAC;AAE9G,wDAAwD;AACxD,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAI/E,CAAC;AAIF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,MAAM,KAAG,MAK5C,CAAC;AAIL,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,MAAM,EAAE,eAAW,KAAG,MAI9D,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MAIlE,CAAC"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
// Small, platform-neutral helpers. Nothing here may import `node:*` or use
|
|
2
|
+
// `Buffer`: the universal half of the engine runs in the renderer too.
|
|
3
|
+
const encoder = new TextEncoder();
|
|
4
|
+
export const utf8 = (value) => encoder.encode(value);
|
|
5
|
+
export const byteLength = (value) => encoder.encode(value).length;
|
|
6
|
+
export const isPlainObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
7
|
+
const FORBIDDEN_KEYS = new Set(["__proto__", "constructor", "prototype"]);
|
|
8
|
+
export const isForbiddenKey = (key) => FORBIDDEN_KEYS.has(key);
|
|
9
|
+
/** Navigate a dotted path; refuses prototype keys and non-object hops. */
|
|
10
|
+
export const navigatePath = (root, segments) => {
|
|
11
|
+
let cursor = root;
|
|
12
|
+
for (const segment of segments) {
|
|
13
|
+
if (cursor === null || cursor === undefined)
|
|
14
|
+
return undefined;
|
|
15
|
+
if (typeof cursor !== "object")
|
|
16
|
+
return undefined;
|
|
17
|
+
if (isForbiddenKey(segment))
|
|
18
|
+
return undefined;
|
|
19
|
+
if (!Object.prototype.hasOwnProperty.call(cursor, segment))
|
|
20
|
+
return undefined;
|
|
21
|
+
cursor = cursor[segment];
|
|
22
|
+
}
|
|
23
|
+
return cursor;
|
|
24
|
+
};
|
|
25
|
+
export const getByPath = (root, path) => path === "" ? root : navigatePath(root, path.split("."));
|
|
26
|
+
export const lookupHeader = (headers, name) => {
|
|
27
|
+
const lower = name.toLowerCase();
|
|
28
|
+
if (Object.prototype.hasOwnProperty.call(headers, lower))
|
|
29
|
+
return headers[lower];
|
|
30
|
+
for (const key of Object.keys(headers)) {
|
|
31
|
+
if (key.toLowerCase() === lower)
|
|
32
|
+
return headers[key];
|
|
33
|
+
}
|
|
34
|
+
return undefined;
|
|
35
|
+
};
|
|
36
|
+
export const deepClone = (value) => {
|
|
37
|
+
if (value === undefined)
|
|
38
|
+
return value;
|
|
39
|
+
if (typeof structuredClone === "function")
|
|
40
|
+
return structuredClone(value);
|
|
41
|
+
return JSON.parse(JSON.stringify(value));
|
|
42
|
+
};
|
|
43
|
+
export const toHex = (bytes) => {
|
|
44
|
+
let out = "";
|
|
45
|
+
for (const byte of bytes)
|
|
46
|
+
out += byte.toString(16).padStart(2, "0");
|
|
47
|
+
return out;
|
|
48
|
+
};
|
|
49
|
+
export const fromHex = (hex) => {
|
|
50
|
+
const clean = hex.length % 2 === 0 ? hex : `0${hex}`;
|
|
51
|
+
const out = new Uint8Array(clean.length / 2);
|
|
52
|
+
for (let i = 0; i < out.length; i += 1)
|
|
53
|
+
out[i] = parseInt(clean.slice(i * 2, i * 2 + 2), 16);
|
|
54
|
+
return out;
|
|
55
|
+
};
|
|
56
|
+
const BASE64URL = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
|
|
57
|
+
export const base64UrlEncode = (bytes) => {
|
|
58
|
+
let out = "";
|
|
59
|
+
let i = 0;
|
|
60
|
+
for (; i + 2 < bytes.length; i += 3) {
|
|
61
|
+
const n = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];
|
|
62
|
+
out += BASE64URL[(n >> 18) & 63] + BASE64URL[(n >> 12) & 63] + BASE64URL[(n >> 6) & 63] + BASE64URL[n & 63];
|
|
63
|
+
}
|
|
64
|
+
const rest = bytes.length - i;
|
|
65
|
+
if (rest === 1) {
|
|
66
|
+
const n = bytes[i] << 16;
|
|
67
|
+
out += BASE64URL[(n >> 18) & 63] + BASE64URL[(n >> 12) & 63];
|
|
68
|
+
}
|
|
69
|
+
else if (rest === 2) {
|
|
70
|
+
const n = (bytes[i] << 16) | (bytes[i + 1] << 8);
|
|
71
|
+
out += BASE64URL[(n >> 18) & 63] + BASE64URL[(n >> 12) & 63] + BASE64URL[(n >> 6) & 63];
|
|
72
|
+
}
|
|
73
|
+
return out;
|
|
74
|
+
};
|
|
75
|
+
export const base64UrlDecode = (value) => {
|
|
76
|
+
const lookup = (char) => {
|
|
77
|
+
const index = BASE64URL.indexOf(char);
|
|
78
|
+
return index;
|
|
79
|
+
};
|
|
80
|
+
const clean = value.replace(/=+$/, "").replace(/\+/g, "-").replace(/\//g, "_");
|
|
81
|
+
const bytes = [];
|
|
82
|
+
let buffer = 0;
|
|
83
|
+
let bits = 0;
|
|
84
|
+
for (const char of clean) {
|
|
85
|
+
const v = lookup(char);
|
|
86
|
+
if (v < 0)
|
|
87
|
+
return null;
|
|
88
|
+
buffer = (buffer << 6) | v;
|
|
89
|
+
bits += 6;
|
|
90
|
+
if (bits >= 8) {
|
|
91
|
+
bits -= 8;
|
|
92
|
+
bytes.push((buffer >> bits) & 0xff);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return Uint8Array.from(bytes);
|
|
96
|
+
};
|
|
97
|
+
const decoder = new TextDecoder();
|
|
98
|
+
export const fromUtf8 = (bytes) => decoder.decode(bytes);
|
|
99
|
+
/** Constant-time comparison of two equal-length byte arrays. */
|
|
100
|
+
export const timingSafeEqualBytes = (a, b) => {
|
|
101
|
+
if (a.length !== b.length)
|
|
102
|
+
return false;
|
|
103
|
+
let diff = 0;
|
|
104
|
+
for (let i = 0; i < a.length; i += 1)
|
|
105
|
+
diff |= a[i] ^ b[i];
|
|
106
|
+
return diff === 0;
|
|
107
|
+
};
|
|
108
|
+
/** First value of a parsed query param (Express `qs` may give arrays). */
|
|
109
|
+
export const firstQueryValue = (query, name) => {
|
|
110
|
+
const raw = query[name];
|
|
111
|
+
if (raw === undefined || raw === null)
|
|
112
|
+
return undefined;
|
|
113
|
+
if (Array.isArray(raw))
|
|
114
|
+
return raw.length > 0 ? String(raw[0]) : undefined;
|
|
115
|
+
return String(raw);
|
|
116
|
+
};
|
|
117
|
+
export const clamp = (value, min, max) => Math.min(max, Math.max(min, value));
|
|
118
|
+
/** Integer in [min, max] from a [0,1) random source. */
|
|
119
|
+
export const randomIntBetween = (next, min, max) => {
|
|
120
|
+
const lo = Math.ceil(Math.min(min, max));
|
|
121
|
+
const hi = Math.floor(Math.max(min, max));
|
|
122
|
+
return Math.floor(next() * (hi - lo + 1)) + lo;
|
|
123
|
+
};
|
|
124
|
+
const HEX = "0123456789abcdef";
|
|
125
|
+
export const randomUuid = (next) => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (token) => {
|
|
126
|
+
const v = Math.floor(next() * 16);
|
|
127
|
+
const r = token === "x" ? v : (v & 0x3) | 0x8;
|
|
128
|
+
return HEX[r];
|
|
129
|
+
});
|
|
130
|
+
const NANO_ALPHABET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_-";
|
|
131
|
+
export const randomNanoId = (next, length = 21) => {
|
|
132
|
+
let out = "";
|
|
133
|
+
for (let i = 0; i < length; i += 1)
|
|
134
|
+
out += NANO_ALPHABET[Math.floor(next() * 64)];
|
|
135
|
+
return out;
|
|
136
|
+
};
|
|
137
|
+
export const randomObjectId = (next, nowMs) => {
|
|
138
|
+
let out = Math.floor(nowMs / 1000).toString(16).padStart(8, "0");
|
|
139
|
+
for (let i = 0; i < 16; i += 1)
|
|
140
|
+
out += HEX[Math.floor(next() * 16)];
|
|
141
|
+
return out;
|
|
142
|
+
};
|
|
143
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/mock-engine/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export type OpenApiObject = Record<string, unknown>;
|
|
2
|
+
export type OpenApiJsonValue = string | number | boolean | null | OpenApiJsonValue[] | {
|
|
3
|
+
[key: string]: OpenApiJsonValue;
|
|
4
|
+
};
|
|
5
|
+
export declare const OPENAPI_HTTP_METHODS: readonly ["get", "post", "put", "patch", "delete", "head", "options", "trace"];
|
|
6
|
+
export declare const MAX_EXAMPLE_DEPTH = 6;
|
|
7
|
+
/** Is this an OpenAPI 3.x or Swagger 2.0 document? */
|
|
8
|
+
export declare const isOpenApiDocument: (doc: unknown) => boolean;
|
|
9
|
+
/** Resolve a local `#/a/b/c` JSON pointer against the root document. */
|
|
10
|
+
export declare const resolvePointer: (root: OpenApiObject, ref: string) => unknown;
|
|
11
|
+
/** The node with its `$ref` chain resolved (cycle-guarded). */
|
|
12
|
+
export declare const deref: (root: OpenApiObject, node: unknown, seen?: Set<string>) => unknown;
|
|
13
|
+
/**
|
|
14
|
+
* Example value for a schema: `example` → `default` → first `enum` → built
|
|
15
|
+
* from the type (placeholders like `"string"`, `0`, `true`).
|
|
16
|
+
*/
|
|
17
|
+
export declare const generateSchemaExample: (root: OpenApiObject, rawSchema: unknown, depth?: number, seen?: Set<string>) => OpenApiJsonValue;
|
|
18
|
+
/** `servers[0].url` (3.x, `{var}` defaults applied) or `scheme://host/basePath` (2.0). */
|
|
19
|
+
export declare const resolveServerUrl: (root: OpenApiObject) => string;
|
|
20
|
+
/** Path prefix of the first server (`https://api.x.com/v1` → `/v1`), "" when none. */
|
|
21
|
+
export declare const serverBasePath: (root: OpenApiObject) => string;
|
|
22
|
+
/** `$ref`s that point outside the document. Bounded walk. */
|
|
23
|
+
export declare const findExternalRefs: (root: OpenApiObject) => string[];
|
|
24
|
+
/**
|
|
25
|
+
* Inline `$ref`s and turn an OpenAPI schema into plain draft-07: `nullable`
|
|
26
|
+
* becomes a `null` type, OpenAPI-only keywords are dropped, recursion past
|
|
27
|
+
* `maxDepth` becomes `{}` (accept anything). With `request: true` read-only
|
|
28
|
+
* properties are removed (a request never sends them).
|
|
29
|
+
*/
|
|
30
|
+
export declare const toDraft07: (root: OpenApiObject, rawSchema: unknown, options?: {
|
|
31
|
+
request?: boolean;
|
|
32
|
+
maxDepth?: number;
|
|
33
|
+
}) => Record<string, unknown> | null;
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/openapi/index.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,gBAAgB,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;CAAE,CAAC;AAE3H,eAAO,MAAM,oBAAoB,gFAAiF,CAAC;AAEnH,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAOnC,sDAAsD;AACtD,eAAO,MAAM,iBAAiB,GAAI,KAAK,OAAO,KAAG,OACiC,CAAC;AAEnF,wEAAwE;AACxE,eAAO,MAAM,cAAc,GAAI,MAAM,aAAa,EAAE,KAAK,MAAM,KAAG,OAgBjE,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,KAAK,GAAI,MAAM,aAAa,EAAE,MAAM,OAAO,EAAE,kBAAwB,KAAG,OAUpF,CAAC;AAuBF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,MAAM,aAAa,EACnB,WAAW,OAAO,EAClB,cAAS,EACT,kBAAwB,KACvB,gBA8DF,CAAC;AAIF,0FAA0F;AAC1F,eAAO,MAAM,gBAAgB,GAAI,MAAM,aAAa,KAAG,MAsBtD,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,cAAc,GAAI,MAAM,aAAa,KAAG,MAMpD,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB,GAAI,MAAM,aAAa,KAAG,MAAM,EAiB5D,CAAC;AAMF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GACpB,MAAM,aAAa,EACnB,WAAW,OAAO,EAClB,UAAS;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,KACrD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAiD5B,CAAC"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
// OpenAPI 3.x / Swagger 2.0 helpers shared by the collection importer
|
|
2
|
+
// (backend) and the mock importer (`callman-core/mock-engine`): a local
|
|
3
|
+
// JSON-pointer `$ref` resolver, the schema → example generator, the base URL
|
|
4
|
+
// and a JSON Schema draft-07 converter for request validation.
|
|
5
|
+
//
|
|
6
|
+
// Pure and renderer-safe. Only single-document (internal) `$ref`s are
|
|
7
|
+
// resolved — external file/URL refs are left as-is.
|
|
8
|
+
export const OPENAPI_HTTP_METHODS = ["get", "post", "put", "patch", "delete", "head", "options", "trace"];
|
|
9
|
+
export const MAX_EXAMPLE_DEPTH = 6;
|
|
10
|
+
const isPlainObject = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
|
|
11
|
+
const asString = (value) => (typeof value === "string" ? value : "");
|
|
12
|
+
/** Is this an OpenAPI 3.x or Swagger 2.0 document? */
|
|
13
|
+
export const isOpenApiDocument = (doc) => isPlainObject(doc) && (typeof doc.openapi === "string" || doc.swagger === "2.0");
|
|
14
|
+
/** Resolve a local `#/a/b/c` JSON pointer against the root document. */
|
|
15
|
+
export const resolvePointer = (root, ref) => {
|
|
16
|
+
if (!ref.startsWith("#/")) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
const segments = ref
|
|
20
|
+
.slice(2)
|
|
21
|
+
.split("/")
|
|
22
|
+
.map((segment) => segment.replace(/~1/g, "/").replace(/~0/g, "~"));
|
|
23
|
+
let node = root;
|
|
24
|
+
for (const segment of segments) {
|
|
25
|
+
if (!isPlainObject(node)) {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
node = node[segment];
|
|
29
|
+
}
|
|
30
|
+
return node;
|
|
31
|
+
};
|
|
32
|
+
/** The node with its `$ref` chain resolved (cycle-guarded). */
|
|
33
|
+
export const deref = (root, node, seen = new Set()) => {
|
|
34
|
+
let current = node;
|
|
35
|
+
while (isPlainObject(current) && typeof current.$ref === "string") {
|
|
36
|
+
if (seen.has(current.$ref)) {
|
|
37
|
+
return {};
|
|
38
|
+
}
|
|
39
|
+
seen.add(current.$ref);
|
|
40
|
+
current = resolvePointer(root, current.$ref);
|
|
41
|
+
}
|
|
42
|
+
return current;
|
|
43
|
+
};
|
|
44
|
+
// --- example generation from a JSON schema ------------------------------
|
|
45
|
+
const stringExample = (schema) => {
|
|
46
|
+
const format = asString(schema.format);
|
|
47
|
+
switch (format) {
|
|
48
|
+
case "date-time":
|
|
49
|
+
return "2020-01-01T00:00:00Z";
|
|
50
|
+
case "date":
|
|
51
|
+
return "2020-01-01";
|
|
52
|
+
case "email":
|
|
53
|
+
return "user@example.com";
|
|
54
|
+
case "uuid":
|
|
55
|
+
return "00000000-0000-0000-0000-000000000000";
|
|
56
|
+
case "uri":
|
|
57
|
+
case "url":
|
|
58
|
+
return "https://example.com";
|
|
59
|
+
default:
|
|
60
|
+
return "string";
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Example value for a schema: `example` → `default` → first `enum` → built
|
|
65
|
+
* from the type (placeholders like `"string"`, `0`, `true`).
|
|
66
|
+
*/
|
|
67
|
+
export const generateSchemaExample = (root, rawSchema, depth = 0, seen = new Set()) => {
|
|
68
|
+
if (depth > MAX_EXAMPLE_DEPTH) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
const schema = deref(root, rawSchema, new Set(seen));
|
|
72
|
+
if (!isPlainObject(schema)) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
if (schema.example !== undefined) {
|
|
76
|
+
return schema.example;
|
|
77
|
+
}
|
|
78
|
+
if (schema.default !== undefined) {
|
|
79
|
+
return schema.default;
|
|
80
|
+
}
|
|
81
|
+
if (Array.isArray(schema.enum) && schema.enum.length > 0) {
|
|
82
|
+
return schema.enum[0];
|
|
83
|
+
}
|
|
84
|
+
// Composition keywords — merge allOf objects, take the first of one/anyOf.
|
|
85
|
+
if (Array.isArray(schema.allOf)) {
|
|
86
|
+
const merged = {};
|
|
87
|
+
for (const part of schema.allOf) {
|
|
88
|
+
const value = generateSchemaExample(root, part, depth, seen);
|
|
89
|
+
if (isPlainObject(value)) {
|
|
90
|
+
Object.assign(merged, value);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return merged;
|
|
94
|
+
}
|
|
95
|
+
const alternatives = schema.oneOf ?? schema.anyOf;
|
|
96
|
+
if (Array.isArray(alternatives) && alternatives.length > 0) {
|
|
97
|
+
return generateSchemaExample(root, alternatives[0], depth, seen);
|
|
98
|
+
}
|
|
99
|
+
const type = Array.isArray(schema.type) ? schema.type[0] : schema.type;
|
|
100
|
+
if (type === "object" || isPlainObject(schema.properties)) {
|
|
101
|
+
const result = {};
|
|
102
|
+
const properties = isPlainObject(schema.properties) ? schema.properties : {};
|
|
103
|
+
for (const [key, propSchema] of Object.entries(properties)) {
|
|
104
|
+
result[key] = generateSchemaExample(root, propSchema, depth + 1, seen);
|
|
105
|
+
}
|
|
106
|
+
return result;
|
|
107
|
+
}
|
|
108
|
+
if (type === "array") {
|
|
109
|
+
const itemExample = generateSchemaExample(root, schema.items, depth + 1, seen);
|
|
110
|
+
return itemExample === null ? [] : [itemExample];
|
|
111
|
+
}
|
|
112
|
+
switch (type) {
|
|
113
|
+
case "string":
|
|
114
|
+
return stringExample(schema);
|
|
115
|
+
case "integer":
|
|
116
|
+
case "number":
|
|
117
|
+
return 0;
|
|
118
|
+
case "boolean":
|
|
119
|
+
return true;
|
|
120
|
+
default:
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
// --- server / base url --------------------------------------------------
|
|
125
|
+
/** `servers[0].url` (3.x, `{var}` defaults applied) or `scheme://host/basePath` (2.0). */
|
|
126
|
+
export const resolveServerUrl = (root) => {
|
|
127
|
+
if (Array.isArray(root.servers) && isPlainObject(root.servers[0])) {
|
|
128
|
+
const server = root.servers[0];
|
|
129
|
+
let url = asString(server.url);
|
|
130
|
+
if (isPlainObject(server.variables)) {
|
|
131
|
+
for (const [name, variable] of Object.entries(server.variables)) {
|
|
132
|
+
if (isPlainObject(variable) && variable.default !== undefined) {
|
|
133
|
+
url = url.replace(`{${name}}`, String(variable.default));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return url.replace(/\/+$/, "");
|
|
138
|
+
}
|
|
139
|
+
const host = asString(root.host);
|
|
140
|
+
if (host) {
|
|
141
|
+
const scheme = Array.isArray(root.schemes) && root.schemes.length > 0 ? String(root.schemes[0]) : "https";
|
|
142
|
+
const basePath = asString(root.basePath);
|
|
143
|
+
return `${scheme}://${host}${basePath}`.replace(/\/+$/, "");
|
|
144
|
+
}
|
|
145
|
+
return "";
|
|
146
|
+
};
|
|
147
|
+
/** Path prefix of the first server (`https://api.x.com/v1` → `/v1`), "" when none. */
|
|
148
|
+
export const serverBasePath = (root) => {
|
|
149
|
+
const url = resolveServerUrl(root);
|
|
150
|
+
if (!url)
|
|
151
|
+
return "";
|
|
152
|
+
const withoutOrigin = url.replace(/^[a-z][a-z0-9+.-]*:\/\/[^/]*/i, "");
|
|
153
|
+
const path = withoutOrigin.startsWith("/") ? withoutOrigin : withoutOrigin ? `/${withoutOrigin}` : "";
|
|
154
|
+
return path.replace(/\/+$/, "").replace(/\{[^}]*\}/g, "");
|
|
155
|
+
};
|
|
156
|
+
/** `$ref`s that point outside the document. Bounded walk. */
|
|
157
|
+
export const findExternalRefs = (root) => {
|
|
158
|
+
const found = [];
|
|
159
|
+
let budget = 200_000;
|
|
160
|
+
const visit = (node) => {
|
|
161
|
+
if (budget-- <= 0 || node === null || typeof node !== "object")
|
|
162
|
+
return;
|
|
163
|
+
if (Array.isArray(node)) {
|
|
164
|
+
for (const entry of node)
|
|
165
|
+
visit(entry);
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
const record = node;
|
|
169
|
+
if (typeof record.$ref === "string" && !record.$ref.startsWith("#")) {
|
|
170
|
+
found.push(record.$ref);
|
|
171
|
+
}
|
|
172
|
+
for (const value of Object.values(record))
|
|
173
|
+
visit(value);
|
|
174
|
+
};
|
|
175
|
+
visit(root);
|
|
176
|
+
return found;
|
|
177
|
+
};
|
|
178
|
+
// --- JSON Schema draft-07 ------------------------------------------------
|
|
179
|
+
const DRAFT07_DROP = new Set(["example", "examples", "xml", "externalDocs", "discriminator", "deprecated", "x-nullable"]);
|
|
180
|
+
/**
|
|
181
|
+
* Inline `$ref`s and turn an OpenAPI schema into plain draft-07: `nullable`
|
|
182
|
+
* becomes a `null` type, OpenAPI-only keywords are dropped, recursion past
|
|
183
|
+
* `maxDepth` becomes `{}` (accept anything). With `request: true` read-only
|
|
184
|
+
* properties are removed (a request never sends them).
|
|
185
|
+
*/
|
|
186
|
+
export const toDraft07 = (root, rawSchema, options = {}) => {
|
|
187
|
+
const maxDepth = options.maxDepth ?? 12;
|
|
188
|
+
const request = options.request === true;
|
|
189
|
+
let budget = 5000;
|
|
190
|
+
const convert = (node, depth, seen) => {
|
|
191
|
+
if (budget-- <= 0 || depth > maxDepth)
|
|
192
|
+
return {};
|
|
193
|
+
if (Array.isArray(node))
|
|
194
|
+
return node.map((entry) => convert(entry, depth + 1, seen));
|
|
195
|
+
if (!isPlainObject(node))
|
|
196
|
+
return node;
|
|
197
|
+
if (typeof node.$ref === "string") {
|
|
198
|
+
if (seen.has(node.$ref) || !node.$ref.startsWith("#/"))
|
|
199
|
+
return {};
|
|
200
|
+
const next = new Set(seen);
|
|
201
|
+
next.add(node.$ref);
|
|
202
|
+
return convert(resolvePointer(root, node.$ref), depth + 1, next);
|
|
203
|
+
}
|
|
204
|
+
const out = {};
|
|
205
|
+
for (const [key, value] of Object.entries(node)) {
|
|
206
|
+
if (DRAFT07_DROP.has(key) || key.startsWith("x-") || key === "nullable")
|
|
207
|
+
continue;
|
|
208
|
+
if (request && (key === "readOnly" || key === "writeOnly"))
|
|
209
|
+
continue;
|
|
210
|
+
if (key === "properties" && isPlainObject(value)) {
|
|
211
|
+
const properties = {};
|
|
212
|
+
for (const [name, prop] of Object.entries(value)) {
|
|
213
|
+
const resolved = deref(root, prop);
|
|
214
|
+
// Request bodies never carry read-only properties.
|
|
215
|
+
if (request && isPlainObject(resolved) && resolved.readOnly === true)
|
|
216
|
+
continue;
|
|
217
|
+
properties[name] = convert(prop, depth + 1, seen);
|
|
218
|
+
}
|
|
219
|
+
out.properties = properties;
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
222
|
+
out[key] = typeof value === "object" && value !== null ? convert(value, depth + 1, seen) : value;
|
|
223
|
+
}
|
|
224
|
+
// OpenAPI allows unknown properties unless the schema says otherwise;
|
|
225
|
+
// keep that under the mock's strict validator.
|
|
226
|
+
if (request && (out.type === "object" || isPlainObject(out.properties)) && out.additionalProperties === undefined) {
|
|
227
|
+
out.additionalProperties = true;
|
|
228
|
+
}
|
|
229
|
+
if (node.nullable === true || node["x-nullable"] === true) {
|
|
230
|
+
if (typeof out.type === "string")
|
|
231
|
+
out.type = [out.type, "null"];
|
|
232
|
+
else if (Array.isArray(out.enum) && !out.enum.includes(null))
|
|
233
|
+
out.enum = [...out.enum, null];
|
|
234
|
+
}
|
|
235
|
+
if (Array.isArray(out.required) && isPlainObject(out.properties)) {
|
|
236
|
+
const properties = out.properties;
|
|
237
|
+
out.required = out.required.filter((name) => typeof name === "string" && name in properties);
|
|
238
|
+
if (out.required.length === 0)
|
|
239
|
+
delete out.required;
|
|
240
|
+
}
|
|
241
|
+
return out;
|
|
242
|
+
};
|
|
243
|
+
const result = convert(rawSchema, 0, new Set());
|
|
244
|
+
return isPlainObject(result) ? result : null;
|
|
245
|
+
};
|
|
246
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/openapi/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestRunner.d.ts","sourceRoot":"","sources":["../../src/runner/requestRunner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requestRunner.d.ts","sourceRoot":"","sources":["../../src/runner/requestRunner.ts"],"names":[],"mappings":"AA+CA,OAAO,KAAK,EAKV,eAAe,EACf,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AA6V3B,eAAO,MAAM,UAAU,GACrB,OAAO,eAAe,KACrB,OAAO,CAAC,gBAAgB,CA2N1B,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { describeTransportError, formatTransportError } from "../http/transportError.js";
|
|
1
2
|
import { validateContracts } from "../contract/contractValidator.js";
|
|
2
3
|
import { buildDbExecuteCapability, buildRedisCapability, runConfiguredDbQuery, runRedisCommandsForPhase, } from "../host/connections.js";
|
|
3
4
|
import { executeRequest } from "../request/executeRequest.js";
|
|
@@ -142,12 +143,16 @@ const resolveRecord = (record, context) => {
|
|
|
142
143
|
]));
|
|
143
144
|
};
|
|
144
145
|
const buildExecutionFailureResult = (error) => {
|
|
145
|
-
|
|
146
|
+
// The cause chain and the OS/TLS code ("connection refused (host:443)"),
|
|
147
|
+
// not just "fetch failed".
|
|
148
|
+
const message = formatTransportError(error);
|
|
149
|
+
const transport = describeTransportError(error);
|
|
146
150
|
return {
|
|
147
151
|
response: {
|
|
148
152
|
status: 0,
|
|
149
153
|
data: {
|
|
150
154
|
error: message,
|
|
155
|
+
...(transport ? { transportError: transport } : {}),
|
|
151
156
|
},
|
|
152
157
|
headers: {},
|
|
153
158
|
duration: 0,
|