diff --git a/Makefile b/Makefile
index b35aae5b8..7c661dad4 100644
--- a/Makefile
+++ b/Makefile
@@ -219,7 +219,7 @@ e2e-test-uat:
else \
printf "\nMissing API_ENVIRONMENT environment variable\n\n"; exit 1; \
fi
-
+
.test:
$(TEST_CMD) \
tests/api \
diff --git a/docs/tests/post_v1_message-batches/validation.md b/docs/tests/post_v1_message-batches/validation.md
index b55daa774..982c489b1 100644
--- a/docs/tests/post_v1_message-batches/validation.md
+++ b/docs/tests/post_v1_message-batches/validation.md
@@ -235,8 +235,6 @@ Below is a table showing the required attributes and their locations as seen in
## Scenario: An API consumer submitting a request with an invalid message batch reference receives a 400 ‘Invalid Value’ response
-The message batch reference must be in a UUID format, for more information on UUID, look [here](https://en.wikipedia.org/wiki/Universally_unique_identifier)
-
**Given** the API consumer provides an message body with an invalid message batch reference
**When** the request is submitted
@@ -251,8 +249,6 @@ The message batch reference must be in a UUID format, for more information on UU
## Scenario: An API consumer submitting a request with an invalid message reference receives a 400 ‘Invalid Value’ response
-The message reference must be in a UUID format, for more information on UUID, look [here](https://en.wikipedia.org/wiki/Universally_unique_identifier)
-
**Given** the API consumer provides an message body with an invalid message reference
**When** the request is submitted
diff --git a/docs/tests/post_v1_single-message/validation.md b/docs/tests/post_v1_single-message/validation.md
index 9103f6de9..c20b4c5a9 100644
--- a/docs/tests/post_v1_single-message/validation.md
+++ b/docs/tests/post_v1_single-message/validation.md
@@ -95,6 +95,20 @@ A valid sms contact detail must be structured in this format: { sms: Value } whe
- Response returns the expected error message body with references to the invalid attribute
+## Scenario: An API consumer submitting a request without a request body receives a 400 ‘Invalid Value’ response
+
+**Given** the API consumer provides an empty message body
+
+**When** the request is submitted
+
+**Then** the response returns a 400 invalid value error
+
+
+**Asserts**
+- Response returns a 400 ‘Invalid Value’ error
+- Response returns the expected error message body
+
+
## Scenario: An API consumer submitting a message with an invalid required attribute in the request body receives a 400 ‘Invalid Value’ response
**Given** the API consumer provides an message body with an invalid attribute
@@ -126,24 +140,8 @@ Below is a table showing the required attributes and their locations as seen in
| nhsNumber | /data/attributes/recipient/nhsNumber |
-## Scenario: An API consumer submitting a request without a request body receives a 400 ‘Invalid Value’ response
-
-**Given** the API consumer provides an empty message body
-
-**When** the request is submitted
-
-**Then** the response returns a 400 invalid value error
-
-
-**Asserts**
-- Response returns a 400 ‘Invalid Value’ error
-- Response returns the expected error message body
-
-
## Scenario: An API consumer submitting a request with an invalid message reference receives a 400 ‘Invalid Value’ response
-The message reference must be in a UUID format, for more information on UUID, look [here](https://en.wikipedia.org/wiki/Universally_unique_identifier)
-
**Given** the API consumer provides an message body with an invalid message reference
**When** the request is submitted
@@ -193,6 +191,37 @@ A valid personalisation must be structured in this format: { parameter: Value }
| 5, “”, “some-string”, [] | Are tested to ensure that invalid personalisation values are not accepted |
+## Scenario: An API consumer submitting a message with an invalid required attribute in the request body receives a 400 ‘Invalid Value’ response
+
+**Given** the API consumer provides an message body with an invalid attribute
+
+**When** the request is submitted
+
+**Then** the response returns a 400 invalid value error
+
+
+**Asserts**
+- Response returns a 400 ‘Invalid Value’ error
+- Response returns the expected error message body with references to the invalid attribute
+- Response returns the ‘X-Correlation-Id’ header if provided
+
+**Request Properties**
+
+This test uses a method to replace the values in the response body, it sets the new value, and sets the value of the location of where the attribute has been changed.
+
+Below is a table showing the required attributes and their locations as seen in the response body.
+
+| Attribute | Location |
+|------------------|--------------------------------------|
+| data | /data |
+| type | /data/type |
+| attributes | /data/attributes |
+| routingPlanId | /data/attributes/routingPlanId |
+| messageReference | /data/attributes/messageReference |
+| recipient | /data/attributes/recipient |
+| nhsNumber | /data/attributes/recipient/nhsNumber |
+
+
## Scenario: An API consumer submitting a request with an invalid routing plan receives a 400 ‘Invalid Value’ response
The routing plan must be in a UUID format, for more information on UUID, look [here](https://en.wikipedia.org/wiki/Universally_unique_identifier)
diff --git a/docs/tests/sandbox/post_v1_message-batches/validation.md b/docs/tests/sandbox/post_v1_message-batches/validation.md
index cf95dd96f..e5d421a06 100644
--- a/docs/tests/sandbox/post_v1_message-batches/validation.md
+++ b/docs/tests/sandbox/post_v1_message-batches/validation.md
@@ -205,8 +205,6 @@ A valid email contact detail must be structured in this format: { email: Value }
## Scenario: An API consumer submitting a request with an invalid message batch reference receives a 400 ‘Invalid Value’ response
-The message batch reference must be in a UUID format, for more information on UUID, look [here](https://en.wikipedia.org/wiki/Universally_unique_identifier)
-
**Given** the API consumer provides an message body with an invalid message batch reference
**When** the request is submitted
@@ -221,8 +219,6 @@ The message batch reference must be in a UUID format, for more information on UU
## Scenario: An API consumer submitting a request with an invalid message reference receives a 400 ‘Invalid Value’ response
-The message reference must be in a UUID format, for more information on UUID, look [here](https://en.wikipedia.org/wiki/Universally_unique_identifier)
-
**Given** the API consumer provides an message body with an invalid message reference
**When** the request is submitted
diff --git a/docs/tests/sandbox/post_v1_messages/validation.md b/docs/tests/sandbox/post_v1_messages/validation.md
index ded2fb523..97f1d1a51 100644
--- a/docs/tests/sandbox/post_v1_messages/validation.md
+++ b/docs/tests/sandbox/post_v1_messages/validation.md
@@ -138,8 +138,6 @@ A valid email contact detail must be structured in this format: { email: Value }
## Scenario: An API consumer submitting a request with an invalid message reference receives a 400 ‘Invalid Value’ response
-The message reference must be in a UUID format, for more information on UUID, look [here](https://en.wikipedia.org/wiki/Universally_unique_identifier)
-
**Given** the API consumer provides an message body with an invalid message reference
**When** the request is submitted
diff --git a/package-lock.json b/package-lock.json
index cccefe216..82fd1d21e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,13 +9,14 @@
"version": "0.0.1",
"license": "MIT",
"dependencies": {
+ "ajv": "4.11.8 - 8",
"jsrsasign": "^11.1.0",
"jsrsasign-util": "^1.0.5"
},
"devDependencies": {
"@babel/core": "^7.25.2",
"@babel/eslint-parser": "^7.25.1",
- "@redocly/cli": "^1.25.3",
+ "@redocly/cli": "^1.34.3",
"eslint": "^8.57.1",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-prettier": "^8.5.0",
@@ -363,12 +364,11 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.24.7",
+ "version": "7.27.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz",
+ "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "regenerator-runtime": "^0.14.0"
- },
"engines": {
"node": ">=6.9.0"
}
@@ -451,23 +451,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/@cfaester/enzyme-adapter-react-18": {
- "version": "0.8.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "enzyme-shallow-equal": "^1.0.0",
- "function.prototype.name": "^1.1.6",
- "has": "^1.0.4",
- "react-is": "^18.2.0",
- "react-shallow-renderer": "^16.15.0"
- },
- "peerDependencies": {
- "enzyme": "^3.11.0",
- "react": ">=18",
- "react-dom": ">=18"
- }
- },
"node_modules/@colors/colors": {
"version": "1.5.0",
"dev": true,
@@ -598,6 +581,8 @@
},
"node_modules/@exodus/schemasafe": {
"version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.3.0.tgz",
+ "integrity": "sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==",
"dev": true,
"license": "MIT"
},
@@ -679,6 +664,16 @@
"url": "https://github.com/sponsors/nzakas"
}
},
+ "node_modules/@humanwhocodes/momoa": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-2.0.4.tgz",
+ "integrity": "sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.10.0"
+ }
+ },
"node_modules/@humanwhocodes/object-schema": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
@@ -686,6 +681,19 @@
"deprecated": "Use @eslint/object-schema instead",
"dev": true
},
+ "node_modules/@jest/schemas": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
+ "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.27.8"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
"node_modules/@joshuajaco/get-monorepo-packages": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@joshuajaco/get-monorepo-packages/-/get-monorepo-packages-1.2.1.tgz",
@@ -744,6 +752,32 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
+ "node_modules/@jsep-plugin/assignment": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@jsep-plugin/assignment/-/assignment-1.3.0.tgz",
+ "integrity": "sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.16.0"
+ },
+ "peerDependencies": {
+ "jsep": "^0.4.0||^1.0.0"
+ }
+ },
+ "node_modules/@jsep-plugin/regex": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.4.tgz",
+ "integrity": "sha512-q7qL4Mgjs1vByCaTnDFcBnV9HS7GVPJX5vyVoCgZHNSC9rjwIlmbXG5sUuorR5ndfHAIlJ8pVStxvjXHbNvtUg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.16.0"
+ },
+ "peerDependencies": {
+ "jsep": "^0.4.0||^1.0.0"
+ }
+ },
"node_modules/@nicolo-ribaudo/eslint-scope-5-internals": {
"version": "5.1.1-v1",
"resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz",
@@ -810,6 +844,250 @@
"node": ">= 8"
}
},
+ "node_modules/@opentelemetry/api": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
+ "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/@opentelemetry/api-logs": {
+ "version": "0.53.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.53.0.tgz",
+ "integrity": "sha512-8HArjKx+RaAI8uEIgcORbZIPklyh1YLjPSBus8hjRmvLi6DeFzgOcdZ7KwPabKj8mXF8dX0hyfAyGfycz0DbFw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@opentelemetry/api": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@opentelemetry/context-async-hooks": {
+ "version": "1.26.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.26.0.tgz",
+ "integrity": "sha512-HedpXXYzzbaoutw6DFLWLDket2FwLkLpil4hGCZ1xYEIMTcivdfwEOISgdbLEWyG3HW52gTq2V9mOVJrONgiwg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": ">=1.0.0 <1.10.0"
+ }
+ },
+ "node_modules/@opentelemetry/core": {
+ "version": "1.26.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.26.0.tgz",
+ "integrity": "sha512-1iKxXXE8415Cdv0yjG3G6hQnB5eVEsJce3QaawX8SjDn0mAS0ZM8fAbZZJD4ajvhC15cePvosSCut404KrIIvQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@opentelemetry/semantic-conventions": "1.27.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": ">=1.0.0 <1.10.0"
+ }
+ },
+ "node_modules/@opentelemetry/exporter-trace-otlp-http": {
+ "version": "0.53.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.53.0.tgz",
+ "integrity": "sha512-m7F5ZTq+V9mKGWYpX8EnZ7NjoqAU7VemQ1E2HAG+W/u0wpY1x0OmbxAXfGKFHCspdJk8UKlwPGrpcB8nay3P8A==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@opentelemetry/core": "1.26.0",
+ "@opentelemetry/otlp-exporter-base": "0.53.0",
+ "@opentelemetry/otlp-transformer": "0.53.0",
+ "@opentelemetry/resources": "1.26.0",
+ "@opentelemetry/sdk-trace-base": "1.26.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": "^1.0.0"
+ }
+ },
+ "node_modules/@opentelemetry/otlp-exporter-base": {
+ "version": "0.53.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.53.0.tgz",
+ "integrity": "sha512-UCWPreGQEhD6FjBaeDuXhiMf6kkBODF0ZQzrk/tuQcaVDJ+dDQ/xhJp192H9yWnKxVpEjFrSSLnpqmX4VwX+eA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@opentelemetry/core": "1.26.0",
+ "@opentelemetry/otlp-transformer": "0.53.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": "^1.0.0"
+ }
+ },
+ "node_modules/@opentelemetry/otlp-transformer": {
+ "version": "0.53.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.53.0.tgz",
+ "integrity": "sha512-rM0sDA9HD8dluwuBxLetUmoqGJKSAbWenwD65KY9iZhUxdBHRLrIdrABfNDP7aiTjcgK8XFyTn5fhDz7N+W6DA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@opentelemetry/api-logs": "0.53.0",
+ "@opentelemetry/core": "1.26.0",
+ "@opentelemetry/resources": "1.26.0",
+ "@opentelemetry/sdk-logs": "0.53.0",
+ "@opentelemetry/sdk-metrics": "1.26.0",
+ "@opentelemetry/sdk-trace-base": "1.26.0",
+ "protobufjs": "^7.3.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": "^1.3.0"
+ }
+ },
+ "node_modules/@opentelemetry/propagator-b3": {
+ "version": "1.26.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.26.0.tgz",
+ "integrity": "sha512-vvVkQLQ/lGGyEy9GT8uFnI047pajSOVnZI2poJqVGD3nJ+B9sFGdlHNnQKophE3lHfnIH0pw2ubrCTjZCgIj+Q==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@opentelemetry/core": "1.26.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": ">=1.0.0 <1.10.0"
+ }
+ },
+ "node_modules/@opentelemetry/propagator-jaeger": {
+ "version": "1.26.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.26.0.tgz",
+ "integrity": "sha512-DelFGkCdaxA1C/QA0Xilszfr0t4YbGd3DjxiCDPh34lfnFr+VkkrjV9S8ZTJvAzfdKERXhfOxIKBoGPJwoSz7Q==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@opentelemetry/core": "1.26.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": ">=1.0.0 <1.10.0"
+ }
+ },
+ "node_modules/@opentelemetry/resources": {
+ "version": "1.26.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.26.0.tgz",
+ "integrity": "sha512-CPNYchBE7MBecCSVy0HKpUISEeJOniWqcHaAHpmasZ3j9o6V3AyBzhRc90jdmemq0HOxDr6ylhUbDhBqqPpeNw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@opentelemetry/core": "1.26.0",
+ "@opentelemetry/semantic-conventions": "1.27.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": ">=1.0.0 <1.10.0"
+ }
+ },
+ "node_modules/@opentelemetry/sdk-logs": {
+ "version": "0.53.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.53.0.tgz",
+ "integrity": "sha512-dhSisnEgIj/vJZXZV6f6KcTnyLDx/VuQ6l3ejuZpMpPlh9S1qMHiZU9NMmOkVkwwHkMy3G6mEBwdP23vUZVr4g==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@opentelemetry/api-logs": "0.53.0",
+ "@opentelemetry/core": "1.26.0",
+ "@opentelemetry/resources": "1.26.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": ">=1.4.0 <1.10.0"
+ }
+ },
+ "node_modules/@opentelemetry/sdk-metrics": {
+ "version": "1.26.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.26.0.tgz",
+ "integrity": "sha512-0SvDXmou/JjzSDOjUmetAAvcKQW6ZrvosU0rkbDGpXvvZN+pQF6JbK/Kd4hNdK4q/22yeruqvukXEJyySTzyTQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@opentelemetry/core": "1.26.0",
+ "@opentelemetry/resources": "1.26.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": ">=1.3.0 <1.10.0"
+ }
+ },
+ "node_modules/@opentelemetry/sdk-trace-base": {
+ "version": "1.26.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.26.0.tgz",
+ "integrity": "sha512-olWQldtvbK4v22ymrKLbIcBi9L2SpMO84sCPY54IVsJhP9fRsxJT194C/AVaAuJzLE30EdhhM1VmvVYR7az+cw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@opentelemetry/core": "1.26.0",
+ "@opentelemetry/resources": "1.26.0",
+ "@opentelemetry/semantic-conventions": "1.27.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": ">=1.0.0 <1.10.0"
+ }
+ },
+ "node_modules/@opentelemetry/sdk-trace-node": {
+ "version": "1.26.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.26.0.tgz",
+ "integrity": "sha512-Fj5IVKrj0yeUwlewCRwzOVcr5avTuNnMHWf7GPc1t6WaT78J6CJyF3saZ/0RkZfdeNO8IcBl/bNcWMVZBMRW8Q==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@opentelemetry/context-async-hooks": "1.26.0",
+ "@opentelemetry/core": "1.26.0",
+ "@opentelemetry/propagator-b3": "1.26.0",
+ "@opentelemetry/propagator-jaeger": "1.26.0",
+ "@opentelemetry/sdk-trace-base": "1.26.0",
+ "semver": "^7.5.2"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": ">=1.0.0 <1.10.0"
+ }
+ },
+ "node_modules/@opentelemetry/semantic-conventions": {
+ "version": "1.27.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.27.0.tgz",
+ "integrity": "sha512-sAay1RrB+ONOem0OZanAR1ZI/k7yDpnOQSQmTMuGImUQb2y8EbSaCJ94FQluM74xoU03vlb2d2U90hZluL6nQg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=14"
+ }
+ },
"node_modules/@postman/form-data": {
"version": "3.1.1",
"dev": true,
@@ -848,11 +1126,86 @@
"node": "*"
}
},
+ "node_modules/@protobufjs/aspromise": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/base64": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/codegen": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
+ "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/eventemitter": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
+ "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/fetch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
+ "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.1",
+ "@protobufjs/inquire": "^1.1.0"
+ }
+ },
+ "node_modules/@protobufjs/float": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/inquire": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
+ "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/path": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/pool": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/utf8": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
+ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
"node_modules/@redocly/ajv": {
"version": "8.11.2",
"resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.2.tgz",
"integrity": "sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
@@ -865,26 +1218,34 @@
}
},
"node_modules/@redocly/cli": {
- "version": "1.25.3",
- "resolved": "https://registry.npmjs.org/@redocly/cli/-/cli-1.25.3.tgz",
- "integrity": "sha512-58odmEj+gr7xp9fvAqzf+t6M4O3olvPOFe7SMu9mAdCaEGLr6o/AMdRvDwF+z1svinK/yAt4375/eL+H2LgPtQ==",
+ "version": "1.34.4",
+ "resolved": "https://registry.npmjs.org/@redocly/cli/-/cli-1.34.4.tgz",
+ "integrity": "sha512-seH/GgrjSB1EeOsgJ/4Ct6Jk2N7sh12POn/7G8UQFARMyUMJpe1oHtBwT2ndfp4EFCpgBAbZ/82Iw6dwczNxEA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@redocly/openapi-core": "1.25.3",
+ "@opentelemetry/api": "1.9.0",
+ "@opentelemetry/exporter-trace-otlp-http": "0.53.0",
+ "@opentelemetry/resources": "1.26.0",
+ "@opentelemetry/sdk-trace-node": "1.26.0",
+ "@opentelemetry/semantic-conventions": "1.27.0",
+ "@redocly/config": "^0.22.0",
+ "@redocly/openapi-core": "1.34.4",
+ "@redocly/respect-core": "1.34.4",
"abort-controller": "^3.0.0",
"chokidar": "^3.5.1",
"colorette": "^1.2.0",
"core-js": "^3.32.1",
+ "dotenv": "16.4.7",
"form-data": "^4.0.0",
"get-port-please": "^3.0.1",
"glob": "^7.1.6",
"handlebars": "^4.7.6",
"mobx": "^6.0.4",
- "node-fetch": "^2.6.1",
"pluralize": "^8.0.0",
- "react": "^17.0.0 || ^18.2.0",
- "react-dom": "^17.0.0 || ^18.2.0",
- "redoc": "~2.1.5",
+ "react": "^17.0.0 || ^18.2.0 || ^19.0.0",
+ "react-dom": "^17.0.0 || ^18.2.0 || ^19.0.0",
+ "redoc": "2.5.0",
"semver": "^7.5.2",
"simple-websocket": "^9.0.0",
"styled-components": "^6.0.7",
@@ -895,39 +1256,96 @@
"redocly": "bin/cli.js"
},
"engines": {
- "node": ">=14.19.0",
- "npm": ">=7.0.0"
+ "node": ">=18.17.0",
+ "npm": ">=9.5.0"
}
},
"node_modules/@redocly/config": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.11.0.tgz",
- "integrity": "sha512-vAc77vCuWsVgLx2LN02P6jqLBhHuot6O1LsSJEAAkWEvXARSGSQVon50QW7jlbCMg9OFTYYYRPN4W6K/YmnM3w==",
- "dev": true
+ "version": "0.22.2",
+ "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.22.2.tgz",
+ "integrity": "sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@redocly/openapi-core": {
- "version": "1.25.3",
- "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.25.3.tgz",
- "integrity": "sha512-dqJkyydgagW3FXX5cjtSUAnabsld4K6yq7RFgQ+ngI1m43PkEoSQt8pp+SfQDszSEoMbc7QKj8afbe7mZw17TA==",
+ "version": "1.34.4",
+ "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.4.tgz",
+ "integrity": "sha512-hf53xEgpXIgWl3b275PgZU3OTpYh1RoD2LHdIfQ1JzBNTWsiNKczTEsI/4Tmh2N1oq9YcphhSMyk3lDh85oDjg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@redocly/ajv": "^8.11.2",
- "@redocly/config": "^0.11.0",
+ "@redocly/config": "^0.22.0",
"colorette": "^1.2.0",
- "https-proxy-agent": "^7.0.4",
+ "https-proxy-agent": "^7.0.5",
"js-levenshtein": "^1.1.6",
"js-yaml": "^4.1.0",
- "lodash.isequal": "^4.5.0",
"minimatch": "^5.0.1",
- "node-fetch": "^2.6.1",
"pluralize": "^8.0.0",
"yaml-ast-parser": "0.0.43"
},
"engines": {
- "node": ">=14.19.0",
- "npm": ">=7.0.0"
+ "node": ">=18.17.0",
+ "npm": ">=9.5.0"
+ }
+ },
+ "node_modules/@redocly/respect-core": {
+ "version": "1.34.4",
+ "resolved": "https://registry.npmjs.org/@redocly/respect-core/-/respect-core-1.34.4.tgz",
+ "integrity": "sha512-MitKyKyQpsizA4qCVv+MjXL4WltfhFQAoiKiAzrVR1Kusro3VhYb6yJuzoXjiJhR0ukLP5QOP19Vcs7qmj9dZg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@faker-js/faker": "^7.6.0",
+ "@redocly/ajv": "8.11.2",
+ "@redocly/openapi-core": "1.34.4",
+ "better-ajv-errors": "^1.2.0",
+ "colorette": "^2.0.20",
+ "concat-stream": "^2.0.0",
+ "cookie": "^0.7.2",
+ "dotenv": "16.4.7",
+ "form-data": "4.0.0",
+ "jest-diff": "^29.3.1",
+ "jest-matcher-utils": "^29.3.1",
+ "js-yaml": "4.1.0",
+ "json-pointer": "^0.6.2",
+ "jsonpath-plus": "^10.0.6",
+ "open": "^10.1.0",
+ "openapi-sampler": "^1.6.1",
+ "outdent": "^0.8.0",
+ "set-cookie-parser": "^2.3.5",
+ "undici": "^6.21.1"
+ },
+ "engines": {
+ "node": ">=18.17.0",
+ "npm": ">=9.5.0"
+ }
+ },
+ "node_modules/@redocly/respect-core/node_modules/@faker-js/faker": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-7.6.0.tgz",
+ "integrity": "sha512-XK6BTq1NDMo9Xqw/YkYyGjSsg44fbNwYRx7QK2CuoQgyy+f1rrTDHoExVM5PsyXCtfl2vs2vVJ0MN0yN6LppRw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=6.0.0"
}
},
+ "node_modules/@redocly/respect-core/node_modules/colorette": {
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
+ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@sinclair/typebox": {
+ "version": "0.27.8",
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
+ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@sinonjs/commons": {
"version": "3.0.1",
"dev": true,
@@ -970,6 +1388,8 @@
},
"node_modules/@types/json-schema": {
"version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
"dev": true,
"license": "MIT"
},
@@ -979,6 +1399,16 @@
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"dev": true
},
+ "node_modules/@types/node": {
+ "version": "24.0.14",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.14.tgz",
+ "integrity": "sha512-4zXMWD91vBLGRtHK3YbIoFMia+1nqEz72coM42C5ETjnNCa/heoj7NT1G67iAfOqMmcfhuCZ4uNpyz8EjlAejw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~7.8.0"
+ }
+ },
"node_modules/@types/normalize-package-data": {
"version": "2.4.4",
"resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
@@ -990,6 +1420,14 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@types/trusted-types": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
+ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true
+ },
"node_modules/@ungap/structured-clone": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
@@ -1034,42 +1472,17 @@
}
},
"node_modules/agent-base": {
- "version": "7.1.1",
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
+ "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "debug": "^4.3.4"
- },
"engines": {
"node": ">= 14"
}
},
- "node_modules/agent-base/node_modules/debug": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
- "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/agent-base/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
"node_modules/ajv": {
"version": "6.12.6",
- "dev": true,
"license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
@@ -1085,8 +1498,7 @@
"node_modules/ajv/node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
"node_modules/ansi-regex": {
"version": "5.0.1",
@@ -1407,6 +1819,102 @@
"tweetnacl": "^0.14.3"
}
},
+ "node_modules/better-ajv-errors": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-1.2.0.tgz",
+ "integrity": "sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@babel/code-frame": "^7.16.0",
+ "@humanwhocodes/momoa": "^2.0.2",
+ "chalk": "^4.1.2",
+ "jsonpointer": "^5.0.0",
+ "leven": "^3.1.0 < 4"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "peerDependencies": {
+ "ajv": "4.11.8 - 8"
+ }
+ },
+ "node_modules/better-ajv-errors/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/better-ajv-errors/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/better-ajv-errors/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/better-ajv-errors/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/better-ajv-errors/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/better-ajv-errors/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/binary-extensions": {
"version": "2.3.0",
"dev": true,
@@ -1424,7 +1932,9 @@
"license": "MIT"
},
"node_modules/brace-expansion": {
- "version": "2.0.1",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1482,6 +1992,13 @@
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/builtin-modules": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
@@ -1494,6 +2011,22 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/bundle-name": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz",
+ "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "run-applescript": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/call-bind": {
"version": "1.0.7",
"dev": true,
@@ -1514,6 +2047,8 @@
},
"node_modules/call-me-maybe": {
"version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz",
+ "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==",
"dev": true,
"license": "MIT"
},
@@ -1625,6 +2160,8 @@
},
"node_modules/classnames": {
"version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz",
+ "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==",
"dev": true,
"license": "MIT"
},
@@ -1667,6 +2204,8 @@
},
"node_modules/cliui": {
"version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -1677,6 +2216,8 @@
},
"node_modules/clsx": {
"version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
+ "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -1698,6 +2239,8 @@
},
"node_modules/colorette": {
"version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz",
+ "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==",
"dev": true,
"license": "MIT"
},
@@ -1733,6 +2276,22 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/concat-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
+ "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
+ "dev": true,
+ "engines": [
+ "node >= 6.0"
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.0.2",
+ "typedarray": "^0.0.6"
+ }
+ },
"node_modules/confusing-browser-globals": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz",
@@ -1745,6 +2304,16 @@
"integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
"dev": true
},
+ "node_modules/cookie": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/core-js": {
"version": "3.37.1",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz",
@@ -1886,6 +2455,8 @@
},
"node_modules/decko": {
"version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decko/-/decko-1.2.0.tgz",
+ "integrity": "sha512-m8FnyHXV1QX+S1cl+KPFDIl6NMkxtKsy6+U/aYyjrOqWMuwAwYWu7ePqrsUHtDR5Y8Yk2pi/KIDSgF+vT4cPOQ==",
"dev": true
},
"node_modules/deep-equal": {
@@ -1926,6 +2497,36 @@
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
"dev": true
},
+ "node_modules/default-browser": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz",
+ "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bundle-name": "^4.1.0",
+ "default-browser-id": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/default-browser-id": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz",
+ "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/define-data-property": {
"version": "1.1.4",
"dev": true,
@@ -1942,6 +2543,19 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/define-lazy-prop": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
+ "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/define-properties": {
"version": "1.2.1",
"dev": true,
@@ -1992,6 +2606,16 @@
"node": ">=0.3.1"
}
},
+ "node_modules/diff-sequences": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
+ "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
"node_modules/dir-glob": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
@@ -2028,9 +2652,27 @@
"license": "BSD-2-Clause"
},
"node_modules/dompurify": {
- "version": "3.1.5",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.6.tgz",
+ "integrity": "sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==",
"dev": true,
- "license": "(MPL-2.0 OR Apache-2.0)"
+ "license": "(MPL-2.0 OR Apache-2.0)",
+ "optionalDependencies": {
+ "@types/trusted-types": "^2.0.7"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "16.4.7",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz",
+ "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
},
"node_modules/ecc-jsbn": {
"version": "0.1.2",
@@ -2050,19 +2692,7 @@
"node_modules/emoji-regex": {
"version": "8.0.0",
"dev": true,
- "license": "MIT"
- },
- "node_modules/enzyme-shallow-equal": {
- "version": "1.0.7",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "hasown": "^2.0.0",
- "object-is": "^1.1.5"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "license": "MIT"
},
"node_modules/error-ex": {
"version": "1.3.2",
@@ -2246,6 +2876,8 @@
},
"node_modules/es6-promise": {
"version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
+ "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==",
"dev": true,
"license": "MIT"
},
@@ -3102,6 +3734,8 @@
},
"node_modules/eventemitter3": {
"version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
+ "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==",
"dev": true,
"license": "MIT"
},
@@ -3120,12 +3754,10 @@
},
"node_modules/fast-deep-equal": {
"version": "3.1.3",
- "dev": true,
"license": "MIT"
},
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
- "dev": true,
"license": "MIT"
},
"node_modules/fast-levenshtein": {
@@ -3136,9 +3768,30 @@
},
"node_modules/fast-safe-stringify": {
"version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
+ "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==",
"dev": true,
"license": "MIT"
},
+ "node_modules/fast-xml-parser": {
+ "version": "4.5.3",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz",
+ "integrity": "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "strnum": "^1.1.1"
+ },
+ "bin": {
+ "fxparser": "src/cli/cli.js"
+ }
+ },
"node_modules/fastq": {
"version": "1.17.1",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
@@ -3238,6 +3891,8 @@
},
"node_modules/foreach": {
"version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.6.tgz",
+ "integrity": "sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==",
"dev": true,
"license": "MIT"
},
@@ -3319,6 +3974,8 @@
},
"node_modules/get-caller-file": {
"version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true,
"license": "ISC",
"engines": {
@@ -3561,14 +4218,6 @@
"node": ">=6"
}
},
- "node_modules/has": {
- "version": "1.0.4",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
"node_modules/has-bigints": {
"version": "1.0.2",
"dev": true,
@@ -3689,6 +4338,8 @@
},
"node_modules/http2-client": {
"version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/http2-client/-/http2-client-1.3.5.tgz",
+ "integrity": "sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==",
"dev": true,
"license": "MIT"
},
@@ -3724,11 +4375,13 @@
}
},
"node_modules/https-proxy-agent": {
- "version": "7.0.5",
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
+ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "agent-base": "^7.0.2",
+ "agent-base": "^7.1.2",
"debug": "4"
},
"engines": {
@@ -3736,12 +4389,13 @@
}
},
"node_modules/https-proxy-agent/node_modules/debug": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
- "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
+ "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -3753,10 +4407,11 @@
}
},
"node_modules/https-proxy-agent/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/iconv-lite": {
"version": "0.6.3",
@@ -3996,6 +4651,22 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-docker": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
+ "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-extglob": {
"version": "2.1.1",
"dev": true,
@@ -4050,6 +4721,25 @@
"node": ">=0.10.0"
}
},
+ "node_modules/is-inside-container": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
+ "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-docker": "^3.0.0"
+ },
+ "bin": {
+ "is-inside-container": "cli.js"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-map": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
@@ -4163,101 +4853,311 @@
"version": "1.0.4",
"dev": true,
"license": "MIT",
- "dependencies": {
- "has-symbols": "^1.0.2"
- },
+ "dependencies": {
+ "has-symbols": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-typed-array": {
+ "version": "1.1.13",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "which-typed-array": "^1.1.14"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-typedarray": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/is-weakmap": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
+ "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakref": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakset": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz",
+ "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-wsl": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz",
+ "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-inside-container": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "2.0.5",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/isstream": {
+ "version": "0.1.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/iterator.prototype": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz",
+ "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==",
+ "dev": true,
+ "dependencies": {
+ "define-properties": "^1.2.1",
+ "get-intrinsic": "^1.2.1",
+ "has-symbols": "^1.0.3",
+ "reflect.getprototypeof": "^1.0.4",
+ "set-function-name": "^2.0.1"
+ }
+ },
+ "node_modules/jest-diff": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz",
+ "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^29.6.3",
+ "jest-get-type": "^29.6.3",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-diff/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-diff/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-diff/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-diff/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/jest-diff/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-diff/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-get-type": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
+ "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==",
+ "dev": true,
+ "license": "MIT",
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/is-typed-array": {
- "version": "1.1.13",
+ "node_modules/jest-matcher-utils": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz",
+ "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "which-typed-array": "^1.1.14"
+ "chalk": "^4.0.0",
+ "jest-diff": "^29.7.0",
+ "jest-get-type": "^29.6.3",
+ "pretty-format": "^29.7.0"
},
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/is-typedarray": {
- "version": "1.0.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/is-weakmap": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
- "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
+ "node_modules/jest-matcher-utils/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
"engines": {
- "node": ">= 0.4"
+ "node": ">=8"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/is-weakref": {
- "version": "1.0.2",
+ "node_modules/jest-matcher-utils/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/is-weakset": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz",
- "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==",
+ "node_modules/jest-matcher-utils/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
- "get-intrinsic": "^1.2.4"
+ "color-name": "~1.1.4"
},
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">=7.0.0"
}
},
- "node_modules/isarray": {
- "version": "2.0.5",
+ "node_modules/jest-matcher-utils/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"license": "MIT"
},
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true
- },
- "node_modules/isstream": {
- "version": "0.1.2",
+ "node_modules/jest-matcher-utils/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
},
- "node_modules/iterator.prototype": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz",
- "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==",
+ "node_modules/jest-matcher-utils/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "define-properties": "^1.2.1",
- "get-intrinsic": "^1.2.1",
- "has-symbols": "^1.0.3",
- "reflect.getprototypeof": "^1.0.4",
- "set-function-name": "^2.0.1"
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
"node_modules/jose": {
@@ -4270,6 +5170,8 @@
},
"node_modules/js-levenshtein": {
"version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
+ "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==",
"dev": true,
"license": "MIT",
"engines": {
@@ -4307,6 +5209,16 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/jsep": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.4.0.tgz",
+ "integrity": "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.16.0"
+ }
+ },
"node_modules/jsesc": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
@@ -4338,6 +5250,8 @@
},
"node_modules/json-pointer": {
"version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.2.tgz",
+ "integrity": "sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4353,7 +5267,8 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
@@ -4382,6 +5297,35 @@
"version": "3.3.1",
"license": "MIT"
},
+ "node_modules/jsonpath-plus": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-10.3.0.tgz",
+ "integrity": "sha512-8TNmfeTCk2Le33A3vRRwtuworG/L5RrgMvdjhKZxvyShO+mBu2fP50OWUjRLNtvw344DdDarFh9buFAZs5ujeA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jsep-plugin/assignment": "^1.3.0",
+ "@jsep-plugin/regex": "^1.0.4",
+ "jsep": "^1.4.0"
+ },
+ "bin": {
+ "jsonpath": "bin/jsonpath-cli.js",
+ "jsonpath-plus": "bin/jsonpath-cli.js"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/jsonpointer": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz",
+ "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/jsprim": {
"version": "2.0.2",
"dev": true,
@@ -4460,6 +5404,16 @@
"node": ">=0.10"
}
},
+ "node_modules/leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/levn": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
@@ -4571,16 +5525,18 @@
"dev": true,
"license": "MIT"
},
- "node_modules/lodash.isequal": {
- "version": "4.5.0",
- "dev": true,
- "license": "MIT"
- },
"node_modules/lodash.merge": {
"version": "4.6.2",
"dev": true,
"license": "MIT"
},
+ "node_modules/long": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
+ "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
"node_modules/loose-envify": {
"version": "1.4.0",
"dev": true,
@@ -4606,16 +5562,22 @@
},
"node_modules/lunr": {
"version": "2.3.9",
+ "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
+ "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==",
"dev": true,
"license": "MIT"
},
"node_modules/mark.js": {
"version": "8.11.1",
+ "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz",
+ "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==",
"dev": true,
"license": "MIT"
},
"node_modules/marked": {
"version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz",
+ "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==",
"dev": true,
"license": "MIT",
"bin": {
@@ -4668,6 +5630,8 @@
},
"node_modules/minimatch": {
"version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -4722,11 +5686,13 @@
}
},
"node_modules/mobx-react": {
- "version": "9.1.1",
+ "version": "9.2.0",
+ "resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-9.2.0.tgz",
+ "integrity": "sha512-dkGWCx+S0/1mfiuFfHRH8D9cplmwhxOV5CkXMp38u6rQGG2Pv3FWYztS0M7ncR6TyPRQKaTG/pnitInoYE9Vrw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "mobx-react-lite": "^4.0.7"
+ "mobx-react-lite": "^4.1.0"
},
"funding": {
"type": "opencollective",
@@ -4734,7 +5700,7 @@
},
"peerDependencies": {
"mobx": "^6.9.0",
- "react": "^16.8.0 || ^17 || ^18"
+ "react": "^16.8.0 || ^17 || ^18 || ^19"
},
"peerDependenciesMeta": {
"react-dom": {
@@ -4746,11 +5712,13 @@
}
},
"node_modules/mobx-react-lite": {
- "version": "4.0.7",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-4.1.0.tgz",
+ "integrity": "sha512-QEP10dpHHBeQNv1pks3WnHRCem2Zp636lq54M2nKO2Sarr13pL4u6diQXf65yzXUn0mkk18SyIDCm9UOJYTi1w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "use-sync-external-store": "^1.2.0"
+ "use-sync-external-store": "^1.4.0"
},
"funding": {
"type": "opencollective",
@@ -4758,7 +5726,7 @@
},
"peerDependencies": {
"mobx": "^6.9.0",
- "react": "^16.8.0 || ^17 || ^18"
+ "react": "^16.8.0 || ^17 || ^18 || ^19"
},
"peerDependenciesMeta": {
"react-dom": {
@@ -4866,6 +5834,8 @@
},
"node_modules/node-fetch": {
"version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
+ "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4885,6 +5855,8 @@
},
"node_modules/node-fetch-h2": {
"version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz",
+ "integrity": "sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4909,6 +5881,8 @@
},
"node_modules/node-readfiles": {
"version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/node-readfiles/-/node-readfiles-0.2.0.tgz",
+ "integrity": "sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4968,6 +5942,8 @@
},
"node_modules/oas-kit-common": {
"version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/oas-kit-common/-/oas-kit-common-1.0.8.tgz",
+ "integrity": "sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -4976,6 +5952,8 @@
},
"node_modules/oas-linter": {
"version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/oas-linter/-/oas-linter-3.2.2.tgz",
+ "integrity": "sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -4989,6 +5967,8 @@
},
"node_modules/oas-resolver": {
"version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/oas-resolver/-/oas-resolver-2.5.6.tgz",
+ "integrity": "sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -5007,6 +5987,8 @@
},
"node_modules/oas-schema-walker": {
"version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz",
+ "integrity": "sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==",
"dev": true,
"license": "BSD-3-Clause",
"funding": {
@@ -5015,6 +5997,8 @@
},
"node_modules/oas-validator": {
"version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/oas-validator/-/oas-validator-5.0.8.tgz",
+ "integrity": "sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -5041,6 +6025,8 @@
},
"node_modules/object-assign": {
"version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5175,12 +6161,34 @@
"wrappy": "1"
}
},
+ "node_modules/open": {
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz",
+ "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "default-browser": "^5.2.1",
+ "define-lazy-prop": "^3.0.0",
+ "is-inside-container": "^1.0.0",
+ "wsl-utils": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/openapi-sampler": {
- "version": "1.5.1",
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.6.1.tgz",
+ "integrity": "sha512-s1cIatOqrrhSj2tmJ4abFYZQK6l5v+V4toO5q1Pa0DyN8mtyqy2I+Qrj5W9vOELEtybIMQs/TBZGVO/DtTFK8w==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/json-schema": "^7.0.7",
+ "fast-xml-parser": "^4.5.0",
"json-pointer": "0.6.2"
}
},
@@ -5226,6 +6234,13 @@
"os-tmpdir": "^1.0.0"
}
},
+ "node_modules/outdent": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.8.0.tgz",
+ "integrity": "sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
@@ -5300,6 +6315,8 @@
},
"node_modules/path-browserify": {
"version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
+ "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
"dev": true,
"license": "MIT"
},
@@ -5352,7 +6369,9 @@
}
},
"node_modules/perfect-scrollbar": {
- "version": "1.5.5",
+ "version": "1.5.6",
+ "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.6.tgz",
+ "integrity": "sha512-rixgxw3SxyJbCaSpo1n35A/fwI1r2rdwMKOTCg/AcG+xOEyZcE8UHVjpZMFCVImzsFoCZeJTT+M/rdEIQYO2nw==",
"dev": true,
"license": "MIT"
},
@@ -5396,6 +6415,8 @@
},
"node_modules/polished": {
"version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz",
+ "integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5624,6 +6645,34 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/pretty-format": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
+ "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
"node_modules/pretty-ms": {
"version": "7.0.1",
"dev": true,
@@ -5639,7 +6688,9 @@
}
},
"node_modules/prismjs": {
- "version": "1.29.0",
+ "version": "1.30.0",
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz",
+ "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5648,6 +6699,8 @@
},
"node_modules/prop-types": {
"version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5660,7 +6713,33 @@
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/protobufjs": {
+ "version": "7.5.3",
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.3.tgz",
+ "integrity": "sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.2",
+ "@protobufjs/base64": "^1.1.2",
+ "@protobufjs/codegen": "^2.0.4",
+ "@protobufjs/eventemitter": "^1.1.0",
+ "@protobufjs/fetch": "^1.1.0",
+ "@protobufjs/float": "^1.0.2",
+ "@protobufjs/inquire": "^1.1.0",
+ "@protobufjs/path": "^1.1.2",
+ "@protobufjs/pool": "^1.1.0",
+ "@protobufjs/utf8": "^1.1.0",
+ "@types/node": ">=13.7.0",
+ "long": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
},
"node_modules/psl": {
"version": "1.9.0",
@@ -5669,7 +6748,6 @@
},
"node_modules/punycode": {
"version": "2.3.1",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
@@ -5740,23 +6818,15 @@
},
"node_modules/react-is": {
"version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
+ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
"dev": true,
"license": "MIT"
},
- "node_modules/react-shallow-renderer": {
- "version": "16.15.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "object-assign": "^4.1.1",
- "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0"
- },
- "peerDependencies": {
- "react": "^16.0.0 || ^17.0.0 || ^18.0.0"
- }
- },
"node_modules/react-tabs": {
- "version": "6.0.2",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-6.1.0.tgz",
+ "integrity": "sha512-6QtbTRDKM+jA/MZTTefvigNxo0zz+gnBTVFw2CFVvq+f2BuH0nF0vDLNClL045nuTAdOoK/IL1vTP0ZLX0DAyQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5764,7 +6834,7 @@
"prop-types": "^15.5.0"
},
"peerDependencies": {
- "react": "^18.0.0"
+ "react": "^18.0.0 || ^19.0.0"
}
},
"node_modules/read-installed": {
@@ -5959,15 +7029,16 @@
}
},
"node_modules/redoc": {
- "version": "2.1.5",
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/redoc/-/redoc-2.5.0.tgz",
+ "integrity": "sha512-NpYsOZ1PD9qFdjbLVBZJWptqE+4Y6TkUuvEOqPUmoH7AKOmPcE+hYjotLxQNTqVoWL4z0T2uxILmcc8JGDci+Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@cfaester/enzyme-adapter-react-18": "^0.8.0",
"@redocly/openapi-core": "^1.4.0",
"classnames": "^2.3.2",
"decko": "^1.2.0",
- "dompurify": "^3.0.6",
+ "dompurify": "^3.2.4",
"eventemitter3": "^5.0.1",
"json-pointer": "^0.6.2",
"lunr": "^2.3.9",
@@ -5993,8 +7064,8 @@
"peerDependencies": {
"core-js": "^3.1.4",
"mobx": "^6.0.4",
- "react": "^16.8.4 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.4 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0",
"styled-components": "^4.1.1 || ^5.1.1 || ^6.0.5"
}
},
@@ -6021,17 +7092,14 @@
},
"node_modules/reftools": {
"version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/reftools/-/reftools-1.1.9.tgz",
+ "integrity": "sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==",
"dev": true,
"license": "BSD-3-Clause",
"funding": {
"url": "https://github.com/Mermade/oas-kit?sponsor=1"
}
},
- "node_modules/regenerator-runtime": {
- "version": "0.14.1",
- "dev": true,
- "license": "MIT"
- },
"node_modules/regexp-tree": {
"version": "0.1.27",
"resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz",
@@ -6081,6 +7149,8 @@
},
"node_modules/require-directory": {
"version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6092,6 +7162,7 @@
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -6152,6 +7223,19 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/run-applescript": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz",
+ "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -6280,6 +7364,13 @@
"uuid": "bin/uuid"
}
},
+ "node_modules/set-cookie-parser": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz",
+ "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/set-function-length": {
"version": "1.2.2",
"dev": true,
@@ -6338,6 +7429,8 @@
},
"node_modules/should": {
"version": "13.2.3",
+ "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz",
+ "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6350,6 +7443,8 @@
},
"node_modules/should-equal": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz",
+ "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6358,6 +7453,8 @@
},
"node_modules/should-format": {
"version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz",
+ "integrity": "sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6367,11 +7464,15 @@
},
"node_modules/should-type": {
"version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz",
+ "integrity": "sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==",
"dev": true,
"license": "MIT"
},
"node_modules/should-type-adaptors": {
"version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz",
+ "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6381,6 +7482,8 @@
},
"node_modules/should-util": {
"version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz",
+ "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==",
"dev": true,
"license": "MIT"
},
@@ -6508,6 +7611,8 @@
},
"node_modules/slugify": {
"version": "1.4.7",
+ "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.4.7.tgz",
+ "integrity": "sha512-tf+h5W1IrjNm/9rKKj0JU2MDMruiopx0jjVA5zCdBtcGjfp0+c5rHw/zADLC3IeKlGHtVbHtpfzvYA0OYT+HKg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6616,6 +7721,8 @@
},
"node_modules/stickyfill": {
"version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/stickyfill/-/stickyfill-1.1.1.tgz",
+ "integrity": "sha512-GCp7vHAfpao+Qh/3Flh9DXEJ/qSi0KJwJw6zYlZOtRYXWUIpMM6mC2rIep/dK8RQqwW0KxGJIllmjPIBOGN8AA==",
"dev": true
},
"node_modules/stop-iteration-iterator": {
@@ -6758,6 +7865,19 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/strnum": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
+ "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/styled-components": {
"version": "6.1.11",
"dev": true,
@@ -6814,6 +7934,8 @@
},
"node_modules/swagger2openapi": {
"version": "7.0.8",
+ "resolved": "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-7.0.8.tgz",
+ "integrity": "sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -6871,6 +7993,8 @@
},
"node_modules/tr46": {
"version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
"dev": true,
"license": "MIT"
},
@@ -7005,6 +8129,13 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/typescript": {
"version": "5.5.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz",
@@ -7050,6 +8181,23 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/undici": {
+ "version": "6.21.3",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.3.tgz",
+ "integrity": "sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.17"
+ }
+ },
+ "node_modules/undici-types": {
+ "version": "7.8.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz",
+ "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/universalify": {
"version": "0.2.0",
"dev": true,
@@ -7090,7 +8238,6 @@
},
"node_modules/uri-js": {
"version": "4.4.1",
- "dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"punycode": "^2.1.0"
@@ -7100,7 +8247,8 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/uri-js-replace/-/uri-js-replace-1.0.1.tgz",
"integrity": "sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/url-parse": {
"version": "1.5.10",
@@ -7113,15 +8261,19 @@
},
"node_modules/url-template": {
"version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz",
+ "integrity": "sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==",
"dev": true,
"license": "BSD"
},
"node_modules/use-sync-external-store": {
- "version": "1.2.2",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz",
+ "integrity": "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==",
"dev": true,
"license": "MIT",
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
}
},
"node_modules/util-deprecate": {
@@ -7177,11 +8329,15 @@
},
"node_modules/webidl-conversions": {
"version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
"dev": true,
"license": "BSD-2-Clause"
},
"node_modules/whatwg-url": {
"version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7296,6 +8452,8 @@
},
"node_modules/wrap-ansi": {
"version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7315,6 +8473,7 @@
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
},
@@ -7330,6 +8489,7 @@
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"color-name": "~1.1.4"
},
@@ -7341,7 +8501,8 @@
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/wrappy": {
"version": "1.0.2",
@@ -7368,6 +8529,22 @@
}
}
},
+ "node_modules/wsl-utils": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz",
+ "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-wsl": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/xmlbuilder": {
"version": "15.1.1",
"dev": true,
@@ -7378,6 +8555,8 @@
},
"node_modules/y18n": {
"version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
"dev": true,
"license": "ISC",
"engines": {
@@ -7392,6 +8571,8 @@
},
"node_modules/yaml": {
"version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
"dev": true,
"license": "ISC",
"engines": {
@@ -7400,6 +8581,8 @@
},
"node_modules/yaml-ast-parser": {
"version": "0.0.43",
+ "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz",
+ "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==",
"dev": true,
"license": "Apache-2.0"
},
@@ -7434,6 +8617,8 @@
},
"node_modules/yargs": {
"version": "17.0.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.0.1.tgz",
+ "integrity": "sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7451,6 +8636,8 @@
},
"node_modules/yargs-parser": {
"version": "20.2.9",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
"dev": true,
"license": "ISC",
"engines": {
diff --git a/proxies/shared/resources/jsc/MessageBatches.Create.Validate.js b/proxies/shared/resources/jsc/MessageBatches.Create.Validate.js
index b5018811a..31237d7cf 100644
--- a/proxies/shared/resources/jsc/MessageBatches.Create.Validate.js
+++ b/proxies/shared/resources/jsc/MessageBatches.Create.Validate.js
@@ -21,31 +21,23 @@ const validate = () => {
var seenMessages = {};
var data = all.data;
- // $.data
const validDataObject = validateObject(errors, data, "/data")
if (validDataObject) {
- // $.data.type
validateConstantString(errors, data.type, "/data/type", "MessageBatch")
- // $.data.attributes
const validAttributesObject = validateObject(errors, data.attributes, "/data/attributes")
if (validAttributesObject) {
-
- // $.data.attributes.routingPlanId
validateUuid(errors, data.attributes.routingPlanId, "/data/attributes/routingPlanId")
- // $.data.attributes.messageBatchReference
- validateUuid(errors, data.attributes.messageBatchReference, "/data/attributes/messageBatchReference")
+ validateString(errors, data.attributes.messageBatchReference, "/data/attributes/messageBatchReference")
- // $.data.attributes.messages
const validArray = validateArray(errors, data.attributes.messages, "/data/attributes/messages", 1)
if (validArray) {
if (data.attributes.messages.length > 45000) {
errors.push(tooManyItemsError("/data/attributes/messages"));
return null;
}
- // $.data.attributes.messages.x
data.attributes.messages.forEach((message, index) => {
var pointer = "/data/attributes/messages/" + index;
// Limit the amount of errors returned to 100 entries
@@ -62,10 +54,9 @@ const validate = () => {
errors.push(invalidError(pointer));
} else {
- // $.data.attributes.messages.x.messageReference
- pointer = "/data/attributes/messages/" + index + "/messageReference"
- const validMessageReferenceUuid = validateUuid(errors, message.messageReference, pointer)
- if (validMessageReferenceUuid) {
+ var pointer = "/data/attributes/messages/" + index + "/messageReference";
+ const validMessageReference = validateString(errors, message.messageReference, pointer)
+ if (validMessageReference) {
if (seenMessages[message.messageReference]) {
errors.push(duplicateError(pointer));
} else {
@@ -73,24 +64,19 @@ const validate = () => {
}
}
- // $.data.attributes.messages.x.recipient
const validRecipientObject = validateObject(errors, message.recipient, "/data/attributes/messages/" + index + "/recipient")
if (validRecipientObject) {
- // $.data.attributes.messages.x.recipient.nhsNumber
validateNhsNumber(errors, message.recipient.nhsNumber, "/data/attributes/messages/" + index + "/recipient/nhsNumber")
}
if (!isUndefined(message.originator)) {
- // $.data.attributes.messages.x.originator
const validOriginatorObject = validateObject(errors, message.originator, "/data/attributes/messages/" + index + "/originator")
if (validOriginatorObject) {
- // $.data.attributes.messages.x.originator.odsCode
validateOdsCode(errors, message.originator.odsCode, "/data/attributes/messages/" + index + "/originator/odsCode")
}
}
- // $.data.attributes.messages.x.personalisation
pointer = "/data/attributes/messages/" + index + "/personalisation";
if (!isUndefined(message.personalisation)) {
validateObject(errors, message.personalisation, pointer)
diff --git a/proxies/shared/resources/jsc/Messages.Create.Validate.js b/proxies/shared/resources/jsc/Messages.Create.Validate.js
index 932902c40..2a7b708f9 100644
--- a/proxies/shared/resources/jsc/Messages.Create.Validate.js
+++ b/proxies/shared/resources/jsc/Messages.Create.Validate.js
@@ -22,41 +22,31 @@ const validate = () => {
if (all) {
var data = all.data;
- // $.data
const validDataObject = validateObject(errors, data, "/data")
if (validDataObject) {
- // $.data.type
validateConstantString(errors, data.type, "/data/type", "Message")
- // $.data.attributes
const validAttributesObject = validateObject(errors, data.attributes, "/data/attributes")
if (validAttributesObject) {
- // $.data.attributes.routingPlanId
validateUuid(errors, data.attributes.routingPlanId, "/data/attributes/routingPlanId")
- // $.data.attributes.messageReference
- validateUuid(errors, data.attributes.messageReference, "/data/attributes/messageReference")
+ validateString(errors, data.attributes.messageReference, "/data/attributes/messageReference")
- // $.data.attributes.recipient
const validRecipientObject = validateObject(errors, data.attributes.recipient, "/data/attributes/recipient")
if (validRecipientObject) {
- // $.data.attributes.recipient.nhsNumber
validateNhsNumber(errors, data.attributes.recipient.nhsNumber, "/data/attributes/recipient/nhsNumber")
}
if (!isUndefined(data.attributes.originator)) {
- // $.data.attributes.originator
const validOriginatorObject = validateObject(errors, data.attributes.originator, "/data/attributes/originator")
if (validOriginatorObject) {
- // $.data.attributes.originator.odsCode
validateOdsCode(errors, data.attributes.originator.odsCode, "/data/attributes/originator/odsCode")
}
}
- // $.data.attributes.personalisation
if (!isUndefined(data.attributes.personalisation)) {
validateObject(errors, data.attributes.personalisation, "/data/attributes/personalisation")
}
diff --git a/proxies/shared/resources/jsc/helpers/validationChecks.js b/proxies/shared/resources/jsc/helpers/validationChecks.js
index 1a895bf3a..303085aee 100644
--- a/proxies/shared/resources/jsc/helpers/validationChecks.js
+++ b/proxies/shared/resources/jsc/helpers/validationChecks.js
@@ -72,6 +72,7 @@ const validateConstantString = (errors, fieldValue, fieldPointer, requiredValue)
}
return true
}
+
const validateNhsNumber = (errors, fieldValue, fieldPointer) => {
if (!isUndefined(fieldValue)) {
if (fieldValue === null) {
@@ -103,6 +104,26 @@ const validateArray = (errors, fieldValue, fieldPointer, minElements) => {
return true
}
+const validateString = (errors, fieldValue, fieldPointer) => {
+ if (isUndefined(fieldValue)) {
+ errors.push(missingError(fieldPointer));
+ return false
+ }
+ if (fieldValue === null) {
+ errors.push(nullError(fieldPointer));
+ return false
+ }
+ if (typeof fieldValue !== "string") {
+ errors.push(invalidError(fieldPointer));
+ return false;
+ }
+ if (fieldValue.trim().length === 0) {
+ errors.push(invalidError(fieldPointer));
+ return false;
+ }
+ return true
+}
+
const validateOdsCode = (errors, fieldValue, fieldPointer) => {
if (
!isUndefined(fieldValue)
diff --git a/pytest.ini b/pytest.ini
index 29d6eeed8..c3055e2b0 100644
--- a/pytest.ini
+++ b/pytest.ini
@@ -13,4 +13,4 @@ markers =
inttest: suitable to run against integration environment
prodtest: suitable to run against production environment
uattest: suitable to run against uat environment
- test: suitable to run against all environments
\ No newline at end of file
+ test: suitable to run against all environments
diff --git a/scripts/perform-static-analysis.sh b/scripts/perform-static-analysis.sh
index 89a0cb595..452b37d00 100755
--- a/scripts/perform-static-analysis.sh
+++ b/scripts/perform-static-analysis.sh
@@ -18,7 +18,7 @@ set -e
# ==============================================================================
# SEE: https://hub.docker.com/r/sonarsource/sonar-scanner-cli/tags, use the `linux/amd64` os/arch
-image_version=5.0.1@sha256:494ecc3b5b1ee1625bd377b3905c4284e4f0cc155cff397805a244dee1c7d575
+image_version=11.3@sha256:7462f132388135e32b948f8f18ff0db9ae28a87c6777f1df5b2207e04a6d7c5c
# ==============================================================================
diff --git a/specification/documentation/CreateMessage.md b/specification/documentation/CreateMessage.md
index 4a4244bfe..be30b7d71 100644
--- a/specification/documentation/CreateMessage.md
+++ b/specification/documentation/CreateMessage.md
@@ -6,8 +6,6 @@ Use this endpoint to send a single message to an NHS patient.
You must provide a single reference value within the payload to this endpoint that is a message reference.
-This reference must be a [Universal Unique Identifier (UUID)](https://en.wikipedia.org/wiki/Universally_unique_identifier).
-
The message reference (`messageReference`) needs to be unique across all single messages you have sent. This value is used to store your reference for this specific message and can be used if you lose (or do not recieve) our unique identifier in the response.
### Personalisation
diff --git a/specification/documentation/CreateMessageBatch.md b/specification/documentation/CreateMessageBatch.md
index 55f917e13..e4217ddf7 100644
--- a/specification/documentation/CreateMessageBatch.md
+++ b/specification/documentation/CreateMessageBatch.md
@@ -9,8 +9,6 @@ You must provide two reference values within the payload to this endpoint:
- A message batch reference
- A per message reference
-Both of these references must be a [Universal Unique Identifier (UUID)](https://en.wikipedia.org/wiki/Universally_unique_identifier).
-
The message batch reference (`messageBatchReference`) is unique for you. This value is used to store your reference for this batch of messages.
The per message reference (`messageReference`) needs to be unique within the message batch. This value is used to store your reference for this specific message within the batch.
diff --git a/specification/schemas/components/Message.yaml b/specification/schemas/components/Message.yaml
index 432b7a3ed..2c070ab80 100644
--- a/specification/schemas/components/Message.yaml
+++ b/specification/schemas/components/Message.yaml
@@ -5,7 +5,6 @@ properties:
messageReference:
type: string
description: This reference needs to be unique per message within this batch. If there are duplicate values then a 400 exception will be thrown highlighting the values that have been duplicated.
- format: uuid
example: 703b8008-545d-4a04-bb90-1f2946ce1575
billingReference:
$ref: ../../snippets/BillingReferenceSnippet.yaml
diff --git a/specification/schemas/requests/CreateMessage.yaml b/specification/schemas/requests/CreateMessage.yaml
index 32cade016..e8b264a71 100644
--- a/specification/schemas/requests/CreateMessage.yaml
+++ b/specification/schemas/requests/CreateMessage.yaml
@@ -25,7 +25,6 @@ properties:
example: b838b13c-f98c-4def-93f0-515d4e4f4ee1
messageReference:
type: string
- format: uuid
description: |-
This is a client-supplied unique reference for this message.
@@ -44,4 +43,4 @@ properties:
- type
- attributes
required:
- - data
\ No newline at end of file
+ - data
diff --git a/specification/schemas/requests/CreateMessageBatch.yaml b/specification/schemas/requests/CreateMessageBatch.yaml
index a700b03cd..84ea67bc3 100644
--- a/specification/schemas/requests/CreateMessageBatch.yaml
+++ b/specification/schemas/requests/CreateMessageBatch.yaml
@@ -26,7 +26,6 @@ properties:
This is a client-supplied unique reference for this batch of messages.
This value is used internally to de-duplicate batches. If you send the same value through multiple times only one of the requests will be actioned.
- format: uuid
example: da0b1495-c7cb-468c-9d81-07dee089d728
messages:
type: array
diff --git a/specification/schemas/responses/MessageBatch.yaml b/specification/schemas/responses/MessageBatch.yaml
index af2c05b14..2c31800a7 100644
--- a/specification/schemas/responses/MessageBatch.yaml
+++ b/specification/schemas/responses/MessageBatch.yaml
@@ -19,7 +19,6 @@ properties:
messageBatchReference:
type: string
description: Your unique message batch reference, provided within the payload to create the batch of messages.
- format: uuid
example: da0b1495-c7cb-468c-9d81-07dee089d728
routingPlan:
description: The routing plan that you requested the messages be sent with.
diff --git a/specification/schemas/types/MessageReference.yaml b/specification/schemas/types/MessageReference.yaml
index a5dfd1679..3d486146b 100644
--- a/specification/schemas/types/MessageReference.yaml
+++ b/specification/schemas/types/MessageReference.yaml
@@ -1,4 +1,3 @@
type: string
description: Your unique message reference, provided within the payload to create this message.
-format: uuid
-example: da0b1495-c7cb-468c-9d81-07dee089d728
\ No newline at end of file
+example: da0b1495-c7cb-468c-9d81-07dee089d728
diff --git a/specification/snippets/MessageReferenceSnippet.yaml b/specification/snippets/MessageReferenceSnippet.yaml
index 2473b05e3..9628563c3 100644
--- a/specification/snippets/MessageReferenceSnippet.yaml
+++ b/specification/snippets/MessageReferenceSnippet.yaml
@@ -1,4 +1,3 @@
type: string
-format: uuid
description: Original reference supplied for the message.
-example: 1642109b-69eb-447f-8f97-ab70a74f5db4
\ No newline at end of file
+example: 1642109b-69eb-447f-8f97-ab70a74f5db4
diff --git a/tests/api/message_batches/field_validation/test_400_invalid.py b/tests/api/message_batches/field_validation/test_400_invalid.py
index a457bdc5e..11b2eaffe 100644
--- a/tests/api/message_batches/field_validation/test_400_invalid.py
+++ b/tests/api/message_batches/field_validation/test_400_invalid.py
@@ -125,7 +125,7 @@ def test_invalid_message_batch_reference(url, bearer_token):
"""
headers = Generators.generate_valid_headers(bearer_token.value)
data = Generators.generate_valid_create_message_batch_body("dev")
- data["data"]["attributes"]["messageBatchReference"] = "invalid"
+ data["data"]["attributes"]["messageBatchReference"] = ["invalid"]
resp = requests.post(
f"{url}{MESSAGE_BATCHES_ENDPOINT}",
@@ -151,7 +151,7 @@ def test_invalid_message_reference(url, bearer_token):
"""
headers = Generators.generate_valid_headers(bearer_token.value)
data = Generators.generate_valid_create_message_batch_body("dev")
- data["data"]["attributes"]["messages"][0]["messageReference"] = "invalid"
+ data["data"]["attributes"]["messages"][0]["messageReference"] = ["invalid"]
resp = requests.post(
f"{url}{MESSAGE_BATCHES_ENDPOINT}",
diff --git a/tests/api/single_message/field_validation/test_400_invalid.py b/tests/api/single_message/field_validation/test_400_invalid.py
index e43fb158d..508f08ccf 100644
--- a/tests/api/single_message/field_validation/test_400_invalid.py
+++ b/tests/api/single_message/field_validation/test_400_invalid.py
@@ -33,27 +33,25 @@ def test_invalid_body(url, bearer_token):
@pytest.mark.devtest
@pytest.mark.inttest
@pytest.mark.prodtest
-@pytest.mark.parametrize("property, pointer", INVALID_PROPERTIES_PATHS)
-def test_data_invalid(url, bearer_token, property, pointer):
+@pytest.mark.parametrize("nhs_number", INVALID_NHS_NUMBER)
+def test_invalid_nhs_number(url, bearer_token, nhs_number):
"""
- .. include:: ../partials/validation/test_messages_invalid.rst
+ .. include:: ../partials/validation/test_invalid_nhs_number.rst
"""
headers = Generators.generate_valid_headers(bearer_token.value)
+ data = Generators.generate_valid_create_message_body("dev")
+ data["data"]["attributes"]["recipient"]["nhsNumber"] = nhs_number
resp = requests.post(
f"{url}{MESSAGES_ENDPOINT}",
headers=headers,
- json=Permutations.new_dict_with_new_value(
- Generators.generate_valid_create_message_body("sandbox"),
- property,
- "invalid string"
- ),
+ json=data
)
Assertions.assert_error_with_optional_correlation_id(
resp,
400,
- Generators.generate_invalid_value_error(pointer),
+ Generators.generate_invalid_nhs_number_error("/data/attributes/recipient/nhsNumber"),
None
)
@@ -62,14 +60,13 @@ def test_data_invalid(url, bearer_token, property, pointer):
@pytest.mark.devtest
@pytest.mark.inttest
@pytest.mark.prodtest
-@pytest.mark.parametrize("nhs_number", INVALID_NHS_NUMBER)
-def test_invalid_nhs_number(url, bearer_token, nhs_number):
+def test_invalid_routing_plan(url, bearer_token):
"""
- .. include:: ../partials/validation/test_invalid_nhs_number.rst
+ .. include:: ../partials/validation/test_invalid_routing_plan.rst
"""
headers = Generators.generate_valid_headers(bearer_token.value)
data = Generators.generate_valid_create_message_body("dev")
- data["data"]["attributes"]["recipient"]["nhsNumber"] = nhs_number
+ data["data"]["attributes"]["routingPlanId"] = "invalid"
resp = requests.post(
f"{url}{MESSAGES_ENDPOINT}",
@@ -80,7 +77,7 @@ def test_invalid_nhs_number(url, bearer_token, nhs_number):
Assertions.assert_error_with_optional_correlation_id(
resp,
400,
- Generators.generate_invalid_nhs_number_error("/data/attributes/recipient/nhsNumber"),
+ Generators.generate_invalid_value_error("/data/attributes/routingPlanId"),
None
)
@@ -89,13 +86,13 @@ def test_invalid_nhs_number(url, bearer_token, nhs_number):
@pytest.mark.devtest
@pytest.mark.inttest
@pytest.mark.prodtest
-def test_invalid_routing_plan(url, bearer_token):
+def test_invalid_message_reference(url, bearer_token):
"""
- .. include:: ../partials/validation/test_invalid_routing_plan.rst
+ .. include:: ../partials/validation/test_invalid_message_reference.rst
"""
headers = Generators.generate_valid_headers(bearer_token.value)
data = Generators.generate_valid_create_message_body("dev")
- data["data"]["attributes"]["routingPlanId"] = "invalid"
+ data["data"]["attributes"]["messageReference"] = ["invalid"]
resp = requests.post(
f"{url}{MESSAGES_ENDPOINT}",
@@ -106,7 +103,7 @@ def test_invalid_routing_plan(url, bearer_token):
Assertions.assert_error_with_optional_correlation_id(
resp,
400,
- Generators.generate_invalid_value_error("/data/attributes/routingPlanId"),
+ Generators.generate_invalid_value_error("/data/attributes/messageReference"),
None
)
@@ -115,13 +112,14 @@ def test_invalid_routing_plan(url, bearer_token):
@pytest.mark.devtest
@pytest.mark.inttest
@pytest.mark.prodtest
-def test_invalid_message_reference(url, bearer_token):
+@pytest.mark.parametrize("personalisation", INVALID_PERSONALISATION_VALUES)
+def test_invalid_personalisation(url, bearer_token, personalisation):
"""
- .. include:: ../partials/validation/test_invalid_message_reference.rst
+ .. include:: ../partials/validation/test_invalid_personalisation.rst
"""
headers = Generators.generate_valid_headers(bearer_token.value)
data = Generators.generate_valid_create_message_body("dev")
- data["data"]["attributes"]["messageReference"] = "invalid"
+ data["data"]["attributes"]["personalisation"] = personalisation
resp = requests.post(
f"{url}{MESSAGES_ENDPOINT}",
@@ -132,7 +130,7 @@ def test_invalid_message_reference(url, bearer_token):
Assertions.assert_error_with_optional_correlation_id(
resp,
400,
- Generators.generate_invalid_value_error("/data/attributes/messageReference"),
+ Generators.generate_invalid_value_error("/data/attributes/personalisation"),
None
)
@@ -141,14 +139,13 @@ def test_invalid_message_reference(url, bearer_token):
@pytest.mark.devtest
@pytest.mark.inttest
@pytest.mark.prodtest
-@pytest.mark.parametrize("personalisation", INVALID_PERSONALISATION_VALUES)
-def test_invalid_personalisation(url, bearer_token, personalisation):
+def test_invalid_recipient(url, bearer_token):
"""
- .. include:: ../partials/validation/test_invalid_personalisation.rst
+ .. include:: ../partials/validation/test_messages_invalid.rst
"""
headers = Generators.generate_valid_headers(bearer_token.value)
data = Generators.generate_valid_create_message_body("dev")
- data["data"]["attributes"]["personalisation"] = personalisation
+ data["data"]["attributes"]["recipient"] = "invalid"
resp = requests.post(
f"{url}{MESSAGES_ENDPOINT}",
@@ -159,6 +156,32 @@ def test_invalid_personalisation(url, bearer_token, personalisation):
Assertions.assert_error_with_optional_correlation_id(
resp,
400,
- Generators.generate_invalid_value_error("/data/attributes/personalisation"),
+ Generators.generate_invalid_value_error("/data/attributes/recipient"),
+ None
+ )
+
+
+@pytest.mark.test
+@pytest.mark.devtest
+@pytest.mark.inttest
+@pytest.mark.prodtest
+def test_invalid_data_type(url, bearer_token):
+ """
+ .. include:: ../partials/validation/test_messages_invalid.rst
+ """
+ headers = Generators.generate_valid_headers(bearer_token.value)
+ data = Generators.generate_valid_create_message_body("dev")
+ data["data"]["type"] = "invalid"
+
+ resp = requests.post(
+ f"{url}{MESSAGES_ENDPOINT}",
+ headers=headers,
+ json=data
+ )
+
+ Assertions.assert_error_with_optional_correlation_id(
+ resp,
+ 400,
+ Generators.generate_invalid_value_error("/data/type"),
None
)
diff --git a/tests/docs/partials/validation/test_invalid_message_batch_reference.rst b/tests/docs/partials/validation/test_invalid_message_batch_reference.rst
index 47cb7ac5d..3d52d4c0e 100644
--- a/tests/docs/partials/validation/test_invalid_message_batch_reference.rst
+++ b/tests/docs/partials/validation/test_invalid_message_batch_reference.rst
@@ -1,12 +1,10 @@
Scenario: An API consumer submitting a request with an invalid message batch reference receives a 400 'Invalid Value' response
==============================================================================================================================
-The message batch reference must be in a UUID format, for more information on UUID, look `here `__
-
| **Given** the API consumer provides an message body with an invalid message batch reference
| **When** the request is submitted
| **Then** the response returns a 400 invalid value error
**Asserts**
- Response returns a 400 'Invalid Value' error
-- Response returns the expected error message body with references to the invalid attribute
\ No newline at end of file
+- Response returns the expected error message body with references to the invalid attribute
diff --git a/tests/docs/partials/validation/test_invalid_message_reference.rst b/tests/docs/partials/validation/test_invalid_message_reference.rst
index 74428af59..1f0f439e3 100644
--- a/tests/docs/partials/validation/test_invalid_message_reference.rst
+++ b/tests/docs/partials/validation/test_invalid_message_reference.rst
@@ -1,12 +1,10 @@
Scenario: An API consumer submitting a request with an invalid message reference receives a 400 'Invalid Value' response
========================================================================================================================
-The message reference must be in a UUID format, for more information on UUID, look `here `__
-
| **Given** the API consumer provides an message body with an invalid message reference
| **When** the request is submitted
| **Then** the response returns a 400 invalid value error
**Asserts**
- Response returns a 400 'Invalid Value' error
-- Response returns the expected error message body with references to the invalid attribute
\ No newline at end of file
+- Response returns the expected error message body with references to the invalid attribute
diff --git a/tests/lib/constants/message_batches_paths.py b/tests/lib/constants/message_batches_paths.py
index 7a888164f..117751424 100644
--- a/tests/lib/constants/message_batches_paths.py
+++ b/tests/lib/constants/message_batches_paths.py
@@ -24,10 +24,6 @@
]
INVALID_PROPERTIES_PATHS = [
("type", "/data/type"),
- ("routingPlanId", ROUTING_PLAN_ID_PATH),
- ("messageBatchReference", MESSAGE_BATCH_REFERENCE_PATH),
- ("messages", MESSAGES_PATH),
- ("messageReference", FIRST_MESSAGE_REFERENCE_PATH),
("recipient", FIRST_MESSAGE_RECIPIENT_PATH),
("personalisation", "/data/attributes/messages/0/personalisation"),
]
diff --git a/tests/lib/constants/messages_paths.py b/tests/lib/constants/messages_paths.py
index 136a70399..6329b146a 100644
--- a/tests/lib/constants/messages_paths.py
+++ b/tests/lib/constants/messages_paths.py
@@ -23,7 +23,6 @@
INVALID_PROPERTIES_PATHS = [
("type", "/data/type"),
("routingPlanId", ROUTING_PLAN_ID_PATH),
- ("messageReference", MESSAGE_REFERENCE_PATH),
("recipient", MESSAGE_RECIPIENT_PATH),
("personalisation", MESSAGE_PERSONALISATION_PATH),
]
diff --git a/tests/sandbox/message_batches/create_message_batches/test_field_validation.py b/tests/sandbox/message_batches/create_message_batches/test_field_validation.py
index 51e83b006..edc15f41d 100644
--- a/tests/sandbox/message_batches/create_message_batches/test_field_validation.py
+++ b/tests/sandbox/message_batches/create_message_batches/test_field_validation.py
@@ -275,7 +275,7 @@ def test_invalid_message_batch_reference(nhsd_apim_proxy_url, correlation_id):
"type": "MessageBatch",
"attributes": {
"routingPlanId": "b838b13c-f98c-4def-93f0-515d4e4f4ee1",
- "messageBatchReference": "invalid",
+ "messageBatchReference": ["invalid"],
"messages": [
{
"messageReference": "72f2fa29-1570-47b7-9a67-63dc4b28fc1b",
@@ -314,7 +314,7 @@ def test_invalid_message_reference(nhsd_apim_proxy_url, correlation_id):
"messageBatchReference": str(uuid.uuid1()),
"messages": [
{
- "messageReference": "invalid",
+ "messageReference": ["invalid"],
"recipient": {
"nhsNumber": "9990548609"
},
diff --git a/tests/sandbox/messages/create_messages/test_field_validation.py b/tests/sandbox/messages/create_messages/test_field_validation.py
index 707d83f6f..165e6389c 100644
--- a/tests/sandbox/messages/create_messages/test_field_validation.py
+++ b/tests/sandbox/messages/create_messages/test_field_validation.py
@@ -207,7 +207,7 @@ def test_invalid_message_reference(nhsd_apim_proxy_url, correlation_id):
"type": "Message",
"attributes": {
"routingPlanId": "b838b13c-f98c-4def-93f0-515d4e4f4ee1",
- "messageReference": "invalid",
+ "messageReference": ["invalid"],
"recipient": {
"nhsNumber": "9990548609"
},