diff --git a/.devcontainer/README.md b/.devcontainer/README.md
index cdef18c..24de35b 100644
--- a/.devcontainer/README.md
+++ b/.devcontainer/README.md
@@ -1,4 +1,9 @@
+
+

+
+
+
> **Remember to shutdown a GitHub Codespace when it is not in use!**
# Dev Containers Quick Start
diff --git a/.npmignore b/.npmignore
index cf98a6b..670ac0a 100644
--- a/.npmignore
+++ b/.npmignore
@@ -5,10 +5,14 @@
!/**/*.ts
!/**/*.js
!/**/*.mjs
-!/**/*.json
+!/package.json
+!/jsr.json
+!/dist/**/*.json
+!/esm/**/*.json
!/**/*.map
/eslint.config.mjs
+/.oxlintrc.json
/cjs
/.tshy
/.tshy-*
diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock
index cf467a0..ce2b98c 100644
--- a/.speakeasy/gen.lock
+++ b/.speakeasy/gen.lock
@@ -3,38 +3,40 @@ id: bb9fbe39-0cc0-477c-83ed-4287efb73030
management:
docChecksum: cbdbb55b781de735d194bd761a125aeb
docVersion: 1.0.0
- speakeasyVersion: 1.680.3
- generationVersion: 2.788.5
- releaseVersion: 0.1.3
- configChecksum: 303b383000c4e13c9eb1b790381dffa0
+ speakeasyVersion: 1.759.3
+ generationVersion: 2.869.25
+ releaseVersion: 0.2.0
+ configChecksum: 4541fcac0749a7e5f0f4bb0616f12395
+ repoURL: https://github.com/WaveShieldDev/waveshield-sdk-typescript.git
+ installationURL: https://github.com/WaveShieldDev/waveshield-sdk-typescript
published: true
persistentEdits:
- generation_id: dafb8776-49d1-498f-9203-bd545e3dcb54
- pristine_commit_hash: 5ee899f3270e988c66dd54438ab32f6af9262f00
- pristine_tree_hash: 322c6ebfe48cb9d159f5dabacfe558e22c45a235
+ generation_id: 46fe8f9e-356e-4e11-ab15-024153a8c0a3
+ pristine_commit_hash: c392ccd5de1f2885895ea3e4ecfa05b0f47d844c
+ pristine_tree_hash: adc8fff265663e319e4414ed3956467160643e44
features:
typescript:
additionalDependencies: 0.1.0
- constsAndDefaults: 0.1.12
- core: 3.26.16
+ constsAndDefaults: 0.1.14
+ core: 3.26.44
defaultEnabledRetries: 0.1.0
devContainers: 2.90.1
enumUnions: 0.1.0
envVarSecurityUsage: 0.1.2
- globalSecurity: 2.82.14
+ globalSecurity: 2.82.15
globalSecurityCallbacks: 0.1.0
- globalServerURLs: 2.83.0
+ globalServerURLs: 2.83.1
methodArguments: 0.1.2
- nameOverrides: 2.81.2
+ nameOverrides: 2.81.4
nullables: 0.1.1
- responseFormat: 0.2.3
+ responseFormat: 0.3.0
retries: 2.83.0
sdkHooks: 0.4.0
trackedFiles:
.devcontainer/README.md:
id: b170c0f184ac
- last_write_checksum: sha1:b6564d2a7c8ae764fff6d1b4666dcd787210a000
- pristine_git_object: cdef18c30e383534a868742e1b9148f2670606f9
+ last_write_checksum: sha1:667cae9c93d407d906714e48ec0febb8d59b2190
+ pristine_git_object: 24de35b7489d0890a9545cb5c0202635e13fd74b
.devcontainer/devcontainer.json:
id: b34062a34eb1
last_write_checksum: sha1:d0b15193202c961e7d1875864ddb15f9d17c84dd
@@ -49,8 +51,8 @@ trackedFiles:
pristine_git_object: 113eead5093c17d43a46159132885318f281a68a
.npmignore:
id: aa70c1f807c3
- last_write_checksum: sha1:3d5eb92f81539175db1ff0280e0aefbdd701f200
- pristine_git_object: cf98a6bf092538eb10ff0edc915102682ce9a6e6
+ last_write_checksum: sha1:6572da81f2e7a978ec29c22c2210bf461c5897b2
+ pristine_git_object: 670ac0a62d7e568c9d44a14f5deafb8442a255d8
FUNCTIONS.md:
id: 21b9df02aaeb
last_write_checksum: sha1:fb7bd26c478c98bc4e7c899f86d7bfcaab90d4d4
@@ -485,8 +487,8 @@ trackedFiles:
pristine_git_object: 782bc9fcea4aa7d8f3d642ed43f49c475fe9964e
docs/models/operations/risklevel.md:
id: 5b278a2f32d1
- last_write_checksum: sha1:1ec8331ef7b90ed32a28734c9ae84bf544630e02
- pristine_git_object: 86d4a635b609e826590722cbe66444636aaff18f
+ last_write_checksum: sha1:7a271a86c17836af5e6811390e36fea88675de4e
+ pristine_git_object: de9a461f0b560b9cf6e7fdec7238eb631c1db463
docs/models/operations/role.md:
id: da2c36811787
last_write_checksum: sha1:91175244123aa804a16166513674c83ddbad155a
@@ -497,8 +499,8 @@ trackedFiles:
pristine_git_object: 8e851e280bf863650f06b9ac2113541105b65cf6
docs/models/operations/status.md:
id: a42267b6f2cb
- last_write_checksum: sha1:ce9572d795e3e6a97d09968004c6e4e9522f855d
- pristine_git_object: efc480096e79053eb2b168d108c781cfb2fdc193
+ last_write_checksum: sha1:5980d1fd3577d503777971bcba4362188110f94b
+ pristine_git_object: 5c28b3191ba04bfa8600105e5bc636811f56cd84
docs/models/operations/subscription.md:
id: 3f4921e94dff
last_write_checksum: sha1:8df14a043b825536cc824a07e6e02749fdf96c53
@@ -541,8 +543,8 @@ trackedFiles:
pristine_git_object: 6c6d9ab649bfdcf782de36ba4b9401546b96fe57
docs/models/risklevel.md:
id: ab688794409f
- last_write_checksum: sha1:0a01e5594d967b384f5fb7dc59105623a82f16a5
- pristine_git_object: 7352e004694ef51e904f5f2d6cab197e8b9cc5f4
+ last_write_checksum: sha1:3ca0961c31bf79043acd342b1c744153e62cc04e
+ pristine_git_object: 74f2cf7b2c655e2aa86c3ee5a5f21355fed111f1
docs/models/role.md:
id: b694540a5b1e
last_write_checksum: sha1:7e9ba75921974019da0e622366394164ec676fe8
@@ -621,12 +623,12 @@ trackedFiles:
pristine_git_object: 68d3ec3935f19be0925166a2932fa2eea594e8aa
jsr.json:
id: 7f6ab7767282
- last_write_checksum: sha1:7ba0bcca5e9b667f90d53e0e1011e2983ba9f142
- pristine_git_object: 0be6c8d07ed9db40567193761408517413b15688
+ last_write_checksum: sha1:f41299ac2863e4d06205a75a4399f75891bb6ef5
+ pristine_git_object: 8275cea99043700fae1eca7e6c18cc9eeaa05c33
package.json:
id: 7030d0b2f71b
- last_write_checksum: sha1:89848460ca21382d1f9ac907b8526873dd31a30e
- pristine_git_object: a1f8779fcd95fe7a9f3d309a5d7491a2ccb60a08
+ last_write_checksum: sha1:f4bf6986bd44b14f1d061264c4d7d92abd991ddc
+ pristine_git_object: 7550c15f84756a67e2f080fd14ee56abd14fa9d3
src/core.ts:
id: f431fdbcd144
last_write_checksum: sha1:c9afa55f684e53734a7a103bcd1c4f2ece9ec0b7
@@ -657,32 +659,32 @@ trackedFiles:
pristine_git_object: 59ba56101f8afa3e3d512d860e593c300d74bc3e
src/funcs/playerAnalyze.ts:
id: 765a695f5e96
- last_write_checksum: sha1:14de43da385380e2a33dd4e468d96c86ddbec3c3
- pristine_git_object: 045e32ff30161eb52ef21f8b12033a8fc461a267
+ last_write_checksum: sha1:b8bf6f2cb9c574be1b96285d9bbfca25cdbe3280
+ pristine_git_object: 755bfe13b7a7dd6a20c18007684dbdb7817e0a8d
src/funcs/playerDiscordLookup.ts:
id: 774e5e3778ee
- last_write_checksum: sha1:51c93542746516dfd5887d7485cfd8bb3a3ede5a
- pristine_git_object: 32b1d1df7e25ee4c5d0c8253c7d92434f4e86225
+ last_write_checksum: sha1:6f800dd840954a030cc5dbb04b2056cde5b8d512
+ pristine_git_object: 06829dbdb46128b2f1ce98b7a0bba5f36d5282ed
src/funcs/playerGet.ts:
id: 324bef508ece
- last_write_checksum: sha1:6d51c4b451b4b6521b2e60f87997bf81a56ea7bc
- pristine_git_object: 79dbe1e9b7b0518f1f7d34d1b10ad37abc8c22ab
+ last_write_checksum: sha1:7a64625f227f504c267306608d85eaf488106081
+ pristine_git_object: 60dd0c2cd10df9a489be0549fcaa4d93633744e5
src/funcs/playerGetBans.ts:
id: 11c6cf441caf
- last_write_checksum: sha1:1fdac8e67d69eb8ecdcbe54e77ce0fe27efdab0c
- pristine_git_object: 44a2cd115a48855d92a21f3ea1f4acb1608f822e
+ last_write_checksum: sha1:a108e4de2fef5946e43a13792e28edac09d50f3b
+ pristine_git_object: c52a4d981c1dbd61982ee417182c9031ad1bc0b7
src/funcs/playerGetBansHistory.ts:
id: bc3951be837d
- last_write_checksum: sha1:be8dd9615ab48f6126549b0f639938686b105680
- pristine_git_object: ca15dfbef5f2d7c093881970cd80ec789169f73d
+ last_write_checksum: sha1:2606664a57d7589694e6709c7c6c5cfad18eef0b
+ pristine_git_object: 478a90ceb07e8f4a845f622cf119ccad068dc900
src/funcs/playerGetServers.ts:
id: f22b5eca61eb
- last_write_checksum: sha1:d4f101c18ea1a846c754a57d7c34972ff269780b
- pristine_git_object: 66e92bb9bf087cdc8fcc44edc4eb4cde70a42b6e
+ last_write_checksum: sha1:17a10b4558070f29df086db066ce34da2e303a1e
+ pristine_git_object: 80f466d1b5fd46dc469d94ae816120635b2f56ad
src/funcs/playerGetThreatScore.ts:
id: c07682b287e1
- last_write_checksum: sha1:9039f956962616399fe30a9d68367336a82a90ba
- pristine_git_object: 6f1ae898acb16aa61291db23f62dd843b3b69b40
+ last_write_checksum: sha1:ec873e689a89f6e260ab6fb17ceef992dd285c75
+ pristine_git_object: 14bb1a980120a40641c1e3ad2bf66b602ee4a620
src/funcs/playerSearch.ts:
id: d9f012db0129
last_write_checksum: sha1:331836ab1ea9b60aa30adc0075bb9d882de11aa6
@@ -777,16 +779,16 @@ trackedFiles:
pristine_git_object: 0ee2f54da08d8d5654b8e1a8f221100dca6204ca
src/funcs/webhooksDelete.ts:
id: 3fce1f4f23bc
- last_write_checksum: sha1:74005d39a9b11137af33d44c912c2dcbe8a32433
- pristine_git_object: fda63c4620b6afc4532e32b32401ed0c42898d64
+ last_write_checksum: sha1:adcc5e1163d7731ed4e60a90c004232a0326a967
+ pristine_git_object: 6b5fd1f8dd4638ebb18cd94f9e2eed69a4b49349
src/funcs/webhooksList.ts:
id: 3832d4ecad8b
last_write_checksum: sha1:3f0ab8ba7803543f36cfed7b5360a441c931d421
pristine_git_object: 6078490b881a9600d20ca51000a2ab754a3e1bc6
src/hooks/hooks.ts:
id: a2463fc6f69b
- last_write_checksum: sha1:7dd975bbcc46a32dd394f86a4652b74ecc70d874
- pristine_git_object: 7ed9e0445ac189e0f90687c6ef602212702bde90
+ last_write_checksum: sha1:3a90d88b4c6c07247db8e5f6441a79538232394e
+ pristine_git_object: 94ad0a323123b34dc638717c5d67a3c23c54d5c6
src/hooks/index.ts:
id: 5f2dab62b520
last_write_checksum: sha1:1a11c073a6cd792932218e1d4ed36b8567bad8ef
@@ -805,24 +807,24 @@ trackedFiles:
pristine_git_object: 44be0eae8246521b230e8e711a88eff738fc015d
src/lib/config.ts:
id: 320761608fb3
- last_write_checksum: sha1:c02d3f05d61610ba4bfc4726fe6f293ec30e0cac
- pristine_git_object: 2d455d61317a9b2ca66b72d52b9be35c5e237faa
+ last_write_checksum: sha1:89208d94d197e724b3efa50bf61a50f636df3a75
+ pristine_git_object: 761eaa1a24c6a9f30650f6bc3c88b962c8f03f22
src/lib/dlv.ts:
id: b1988214835a
last_write_checksum: sha1:1dd3e3fbb4550c4bf31f5ef997faff355d6f3250
pristine_git_object: e81091f5e536f82739f71379b1fddc2d147c49e2
src/lib/encodings.ts:
id: 3bd8ead98afd
- last_write_checksum: sha1:7b206b995d985c9c1c89856a23346cf87c22d374
- pristine_git_object: 25d1d8032a69f56da1ac1df00a48ecf73457a1ef
+ last_write_checksum: sha1:b48cffc0f56fc00e869370f4aa8213f31bf61d8b
+ pristine_git_object: be115d7726c292f8a415045959372f6d46171278
src/lib/env.ts:
id: c52972a3b198
last_write_checksum: sha1:c67636ed949a4fdc0d6296eafd50fb6203bf1643
pristine_git_object: 23e05dc2ae304344d422a685de6d0e73afb6dcbd
src/lib/files.ts:
id: e5efa54fcb95
- last_write_checksum: sha1:d0f325f445b8d22e7d73baf052c585ec2dd24841
- pristine_git_object: 0344cd046d033f9e8a55de02f7935c5cec5dc30b
+ last_write_checksum: sha1:795c14026405d547bfc47012f7ad9666e530fa7f
+ pristine_git_object: 6ca6b37d35a12448da176ee2517cc036db12c81c
src/lib/http.ts:
id: 63a80782d37e
last_write_checksum: sha1:797cbf16d3c7c4d62d3ba0eedb08617524938457
@@ -837,8 +839,8 @@ trackedFiles:
pristine_git_object: d181f2937d4128afbe9b0327e0f81d1fa9c877b7
src/lib/matchers.ts:
id: d54b2253b719
- last_write_checksum: sha1:981701ec24c8df7014827a6e277b29af0bf6bcd0
- pristine_git_object: f533f21b45943d078ecedee5be2ab32b3afc0cd2
+ last_write_checksum: sha1:f9bf856feec20188bfe3fabe73f9b5caaa4dc4c0
+ pristine_git_object: f3015720f7fcc85ba8eb0f3638c3ed549ec65ef1
src/lib/primitives.ts:
id: 74859f750b28
last_write_checksum: sha1:987869fc54790b9c22e9182099103d6aa7c67016
@@ -853,16 +855,16 @@ trackedFiles:
pristine_git_object: 61d7649b3d804f5c3ce4b2e3f7cc7ab8d087c4e1
src/lib/sdks.ts:
id: 8a6d91f1218d
- last_write_checksum: sha1:9716dfab1669821b30b725196422faaefb53bb49
- pristine_git_object: 698f95540a5cc9ffe4b2f96a0a582cc41c33c690
+ last_write_checksum: sha1:c2035149fb857c4ee251d18dd1da1054acdac30a
+ pristine_git_object: 23537b4b297a700f4879f02b6b2a9a1308a6da6b
src/lib/security.ts:
id: 0502afa7922e
- last_write_checksum: sha1:c6f389b8b83c310eb72bc1341baa1d3ee391b1b9
- pristine_git_object: 3ca46cb2367bbb8686b834c7924d03d8b26ed085
+ last_write_checksum: sha1:51545b06b6f6b922755aee1a704c0f9493d19a18
+ pristine_git_object: 1d8465666381fc84c61beb70077e22caf1afcade
src/lib/url.ts:
id: b0057e24ed76
- last_write_checksum: sha1:d124050c7e755c0cce233b9e029afb584ff65201
- pristine_git_object: f3a8de6c021de59c991707946cd294596cae954d
+ last_write_checksum: sha1:3bceadd74bf0b31adf13eb06b7531077c3e07d65
+ pristine_git_object: 79e7ce660b3732053e3adcbb5a4cdeb51496e8aa
src/models/analysisban.ts:
id: 98ab059f4e6b
last_write_checksum: sha1:38efbf24c15f98e5634de3c549a0c7e0d255d852
@@ -1149,8 +1151,8 @@ trackedFiles:
pristine_git_object: c79b3f53a3dd922aa2ace5a4191c8652cf9a8e89
src/types/smartUnion.ts:
id: b65a1bd4c0e9
- last_write_checksum: sha1:d6c9754e1231a36cffe46c384849be413d5e2a72
- pristine_git_object: 266e39ba2e58c1b8eba39834612ca34c36e186a8
+ last_write_checksum: sha1:aa3829a12a514b6c9a8ae76aab95086d7ccbc30f
+ pristine_git_object: 1eabf9aa2e6dd5052f2a337279b6ba0452122958
src/types/streams.ts:
id: f99be9c4bf14
last_write_checksum: sha1:cc9ced2dd34a76c3a1bd7784ccda1cc3b37ab9a9
@@ -1161,8 +1163,8 @@ trackedFiles:
pristine_git_object: b7a2a13f3dff50663429df24ae2f55b647ff1084
tsconfig.json:
id: 61ebb9fd6e8c
- last_write_checksum: sha1:c3ec7996536cdb9a54319e7d1eb3b199b733d34c
- pristine_git_object: 0ccdbe286a8780e06a469a9eb7e2fb95322fd507
+ last_write_checksum: sha1:79dc1550d921fefec69f8632ed3b24dad41ca2f6
+ pristine_git_object: 76110f883cac40bb04fb2f376cd69ea8c8d6d215
examples:
post_/v1/auth/verify:
speakeasy-default-post-/v1-/auth/verify:
diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml
index 917b8da..d97b5b4 100644
--- a/.speakeasy/gen.yaml
+++ b/.speakeasy/gen.yaml
@@ -16,22 +16,25 @@ generation:
requestResponseComponentNamesFeb2024: true
securityFeb2025: true
sharedErrorComponentsApr2025: true
+ sharedNestedComponentsJan2026: false
+ nameOverrideFeb2026: false
auth:
- oAuth2ClientCredentialsEnabled: true
- oAuth2PasswordEnabled: true
+ oAuth2ClientCredentialsEnabled: false
+ oAuth2PasswordEnabled: false
hoistGlobalSecurity: true
inferSSEOverload: true
sdkHooksConfigAccess: true
schemas:
allOfMergeStrategy: shallowMerge
requestBodyFieldName: body
+ versioningStrategy: automatic
persistentEdits: {}
tests:
generateTests: false
generateNewTests: true
skipResponseBodyAssertions: false
typescript:
- version: 0.1.3
+ version: 0.2.0
acceptHeaderEnum: false
additionalDependencies:
dependencies: {}
@@ -51,6 +54,7 @@ typescript:
enumFormat: union
envVarPrefix: WAVESHIELD
exportZodModelNamespace: false
+ flatAdditionalProperties: false
flattenGlobalSecurity: true
flatteningOrder: parameters-first
formStringArrayEncodeMode: array
@@ -69,6 +73,7 @@ typescript:
inputModelSuffix: input
jsonpath: rfc9535
laxMode: lax
+ legacyFileNaming: true
maxMethodParams: 0
methodArguments: infer-optional-args
modelPropertyCasing: camel
@@ -77,10 +82,13 @@ typescript:
outputModelSuffix: output
packageName: waveshield
preApplyUnionDiscriminators: true
+ preserveModelFieldNames: false
responseFormat: flat
sseFlatResponse: false
templateVersion: v2
unionStrategy: populated-fields
usageSDKInitImports: []
useIndexModules: true
+ useOxlint: false
+ useTsgo: false
zodVersion: v4-mini
diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock
index 3044c96..01fdda1 100644
--- a/.speakeasy/workflow.lock
+++ b/.speakeasy/workflow.lock
@@ -1,9 +1,9 @@
-speakeasyVersion: 1.680.3
+speakeasyVersion: 1.759.3
sources:
WaveShield API:
sourceNamespace: wave-shield-api
- sourceRevisionDigest: sha256:1a52ea5c2d3808d09db6786a0eef0b363d7007d02083551a4cd3fc1990868a19
- sourceBlobDigest: sha256:5e4220899ecf4ec9d9f3e80bb13d139c5b71386d0ab9c1d5b2b5b38b406ba572
+ sourceRevisionDigest: sha256:6f8c0949d81930f4091b84b8700c784595000be39c3d27fdc21f2bd416451b60
+ sourceBlobDigest: sha256:8245e990802889d893fe64f99f5c56f54fe50534768bf82ac80e9d64618ed33f
tags:
- latest
- 1.0.0
@@ -11,10 +11,10 @@ targets:
wave-shield:
source: WaveShield API
sourceNamespace: wave-shield-api
- sourceRevisionDigest: sha256:1a52ea5c2d3808d09db6786a0eef0b363d7007d02083551a4cd3fc1990868a19
- sourceBlobDigest: sha256:5e4220899ecf4ec9d9f3e80bb13d139c5b71386d0ab9c1d5b2b5b38b406ba572
+ sourceRevisionDigest: sha256:6f8c0949d81930f4091b84b8700c784595000be39c3d27fdc21f2bd416451b60
+ sourceBlobDigest: sha256:8245e990802889d893fe64f99f5c56f54fe50534768bf82ac80e9d64618ed33f
codeSamplesNamespace: wave-shield-api-typescript-code-samples
- codeSamplesRevisionDigest: sha256:d4e9344a86ab5aa47969ea3cb05e66f910e8d0090d9ad1ab43a7012e0b94f489
+ codeSamplesRevisionDigest: sha256:0bc30aeef58881e42ad00d1f0ed7ac4ec78e1cc0b09c175bc72328e810474a39
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest
diff --git a/README.md b/README.md
index da0b0a9..177a18a 100644
--- a/README.md
+++ b/README.md
@@ -448,19 +448,23 @@ The `HTTPClient` constructor takes an optional `fetcher` argument that can be
used to integrate a third-party HTTP client or when writing tests to mock out
the HTTP client and feed in fixtures.
-The following example shows how to use the `"beforeRequest"` hook to to add a
-custom header and a timeout to requests and how to use the `"requestError"` hook
-to log errors:
+The following example shows how to:
+- route requests through a proxy server using [undici](https://www.npmjs.com/package/undici)'s ProxyAgent
+- use the `"beforeRequest"` hook to add a custom header and a timeout to requests
+- use the `"requestError"` hook to log errors
```typescript
import { WaveShield } from "waveshield";
+import { ProxyAgent } from "undici";
import { HTTPClient } from "waveshield/lib/http";
+const dispatcher = new ProxyAgent("http://proxy.example.com:8080");
+
const httpClient = new HTTPClient({
- // fetcher takes a function that has the same signature as native `fetch`.
- fetcher: (request) => {
- return fetch(request);
- }
+ // 'fetcher' takes a function that has the same signature as native 'fetch'.
+ fetcher: (input, init) =>
+ // 'dispatcher' is specific to undici and not part of the standard Fetch API.
+ fetch(input, { ...init, dispatcher } as RequestInit),
});
httpClient.addHook("beforeRequest", (request) => {
diff --git a/RELEASES.md b/RELEASES.md
new file mode 100644
index 0000000..ad9a5eb
--- /dev/null
+++ b/RELEASES.md
@@ -0,0 +1,11 @@
+
+
+## 2026-03-29 02:47:42
+### Changes
+Based on:
+- OpenAPI Doc
+- Speakeasy CLI 1.759.3 (2.869.25) https://github.com/speakeasy-api/speakeasy
+### Generated
+- [typescript v0.2.0] .
+### Releases
+- [NPM v0.2.0] https://www.npmjs.com/package/waveshield/v/0.2.0 - .
\ No newline at end of file
diff --git a/docs/models/operations/risklevel.md b/docs/models/operations/risklevel.md
index 86d4a63..de9a461 100644
--- a/docs/models/operations/risklevel.md
+++ b/docs/models/operations/risklevel.md
@@ -6,12 +6,12 @@
import { RiskLevel } from "waveshield/models/operations";
let value: RiskLevel = "CRITICAL";
+
+// Open enum: unrecognized values are captured as Unrecognized
```
## Values
-This is an open enum. Unrecognized values will be captured as the `Unrecognized` branded type.
-
```typescript
"LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | Unrecognized
```
\ No newline at end of file
diff --git a/docs/models/operations/status.md b/docs/models/operations/status.md
index efc4800..5c28b31 100644
--- a/docs/models/operations/status.md
+++ b/docs/models/operations/status.md
@@ -6,12 +6,12 @@
import { Status } from "waveshield/models/operations";
let value: Status = "OFFLINE";
+
+// Open enum: unrecognized values are captured as Unrecognized
```
## Values
-This is an open enum. Unrecognized values will be captured as the `Unrecognized` branded type.
-
```typescript
"ONLINE" | "OFFLINE" | "BANNED" | Unrecognized
```
\ No newline at end of file
diff --git a/docs/models/risklevel.md b/docs/models/risklevel.md
index 7352e00..74f2cf7 100644
--- a/docs/models/risklevel.md
+++ b/docs/models/risklevel.md
@@ -6,12 +6,12 @@
import { RiskLevel } from "waveshield/models";
let value: RiskLevel = "CRITICAL";
+
+// Open enum: unrecognized values are captured as Unrecognized
```
## Values
-This is an open enum. Unrecognized values will be captured as the `Unrecognized` branded type.
-
```typescript
"LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | Unrecognized
```
\ No newline at end of file
diff --git a/examples/package-lock.json b/examples/package-lock.json
index aed8f3d..16414df 100644
--- a/examples/package-lock.json
+++ b/examples/package-lock.json
@@ -18,15 +18,15 @@
},
"..": {
"name": "waveshield",
- "version": "0.1.3",
+ "version": "0.2.0",
"dependencies": {
"zod": "^3.25.65 || ^4.0.0"
},
"devDependencies": {
- "@eslint/js": "^9.19.0",
- "eslint": "^9.19.0",
+ "@eslint/js": "^9.26.0",
+ "eslint": "^9.26.0",
"globals": "^15.14.0",
- "tshy": "^2.0.0",
+ "tshy": "^3.3.2",
"typescript": "~5.8.3",
"typescript-eslint": "^8.26.0"
}
diff --git a/jsr.json b/jsr.json
index 0be6c8d..8275cea 100644
--- a/jsr.json
+++ b/jsr.json
@@ -2,7 +2,7 @@
{
"name": "waveshield",
- "version": "0.1.3",
+ "version": "0.2.0",
"exports": {
".": "./src/index.ts",
"./models/errors": "./src/models/errors/index.ts",
diff --git a/package-lock.json b/package-lock.json
index cca5c1d..63eb05d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,20 +1,20 @@
{
"name": "waveshield",
- "version": "0.1.3",
+ "version": "0.2.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "waveshield",
- "version": "0.1.3",
+ "version": "0.2.0",
"dependencies": {
"zod": "^3.25.65 || ^4.0.0"
},
"devDependencies": {
- "@eslint/js": "^9.19.0",
- "eslint": "^9.19.0",
+ "@eslint/js": "^9.26.0",
+ "eslint": "^9.26.0",
"globals": "^15.14.0",
- "tshy": "^2.0.0",
+ "tshy": "^3.3.2",
"typescript": "~5.8.3",
"typescript-eslint": "^8.26.0"
}
@@ -228,35 +228,6 @@
"url": "https://github.com/sponsors/nzakas"
}
},
- "node_modules/@isaacs/cliui": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
- "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^5.1.2",
- "string-width-cjs": "npm:string-width@^4.2.0",
- "strip-ansi": "^7.0.1",
- "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
- "wrap-ansi": "^8.1.0",
- "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@pkgjs/parseargs": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
- "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=14"
- }
- },
"node_modules/@types/estree": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
@@ -527,6 +498,123 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
+ "node_modules/@typescript/native-preview": {
+ "version": "7.0.0-dev.20260328.1",
+ "resolved": "https://registry.npmjs.org/@typescript/native-preview/-/native-preview-7.0.0-dev.20260328.1.tgz",
+ "integrity": "sha512-e2f1LaETJ1wFIZSZAJwsAumWixGaRslUjESf0nSrZGUensq3ZwXddoDJPPoDLkSAr/Fa3v5aff+dJ39UbNfbNQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsgo": "bin/tsgo.js"
+ },
+ "optionalDependencies": {
+ "@typescript/native-preview-darwin-arm64": "7.0.0-dev.20260328.1",
+ "@typescript/native-preview-darwin-x64": "7.0.0-dev.20260328.1",
+ "@typescript/native-preview-linux-arm": "7.0.0-dev.20260328.1",
+ "@typescript/native-preview-linux-arm64": "7.0.0-dev.20260328.1",
+ "@typescript/native-preview-linux-x64": "7.0.0-dev.20260328.1",
+ "@typescript/native-preview-win32-arm64": "7.0.0-dev.20260328.1",
+ "@typescript/native-preview-win32-x64": "7.0.0-dev.20260328.1"
+ }
+ },
+ "node_modules/@typescript/native-preview-darwin-arm64": {
+ "version": "7.0.0-dev.20260328.1",
+ "resolved": "https://registry.npmjs.org/@typescript/native-preview-darwin-arm64/-/native-preview-darwin-arm64-7.0.0-dev.20260328.1.tgz",
+ "integrity": "sha512-BmJGDWC0bSQ2w5O/E+Mw9eTv9RklJ3vjshu7UdD92bUMxc4V4dkBhYj5r0qxbl4f+VFNX7fXvcDDI+9o+Kb6yw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@typescript/native-preview-darwin-x64": {
+ "version": "7.0.0-dev.20260328.1",
+ "resolved": "https://registry.npmjs.org/@typescript/native-preview-darwin-x64/-/native-preview-darwin-x64-7.0.0-dev.20260328.1.tgz",
+ "integrity": "sha512-osc0XQn+AV4X/Vz4hehMm9YtwjZU8VN57FBx4/bsoZ2Z3H1KCA2vbrPQx1hxobrA/+LxkTEk/i6L+z1XwI3RTw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@typescript/native-preview-linux-arm": {
+ "version": "7.0.0-dev.20260328.1",
+ "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-arm/-/native-preview-linux-arm-7.0.0-dev.20260328.1.tgz",
+ "integrity": "sha512-869rJ0Clw7aQTApV1dts2bKV+V6E0qNFJae3SNRo+4TPmrwlmYct3ouGrsQsDCat6XIaCdul8YOBzmj4QUzuMw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@typescript/native-preview-linux-arm64": {
+ "version": "7.0.0-dev.20260328.1",
+ "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-arm64/-/native-preview-linux-arm64-7.0.0-dev.20260328.1.tgz",
+ "integrity": "sha512-UdPWbxynH/yu54Bx9SSmUsdBQVcKeB8hVLXWiF6qKGDQxwUmqo04xa+PUdxryUXxYzjedbqKMhDLL/W0AlbUMQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@typescript/native-preview-linux-x64": {
+ "version": "7.0.0-dev.20260328.1",
+ "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-x64/-/native-preview-linux-x64-7.0.0-dev.20260328.1.tgz",
+ "integrity": "sha512-0ZPwzToIRV4r2L/wZUwTD9DvZsVnezrc7x5xwZedGvuRifUKMAAwI+rGaKHqHq5nE5Y1gQA/wwMPPJ4xq6hzVw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@typescript/native-preview-win32-arm64": {
+ "version": "7.0.0-dev.20260328.1",
+ "resolved": "https://registry.npmjs.org/@typescript/native-preview-win32-arm64/-/native-preview-win32-arm64-7.0.0-dev.20260328.1.tgz",
+ "integrity": "sha512-iCgWfPDIbs0xB+zkVu5IFfcco3II3b7DhatIa1hQiTFH4vGs0A4/LskLbSYyWOId4j5WEkCKK5T0KNnEYfbg1g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@typescript/native-preview-win32-x64": {
+ "version": "7.0.0-dev.20260328.1",
+ "resolved": "https://registry.npmjs.org/@typescript/native-preview-win32-x64/-/native-preview-win32-x64-7.0.0-dev.20260328.1.tgz",
+ "integrity": "sha512-k1/yoqrELzkm6eOFaYm9x+M7mDOlArO1P0YvEgEmcdnL6Igm+0ZmGy6eDmhk9pshPb0GfL1knN6c+5sJA7YReA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
"node_modules/acorn": {
"version": "8.15.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
@@ -567,19 +655,6 @@
"url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/ansi-regex": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
- "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
"node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -596,20 +671,6 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -624,19 +685,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/binary-extensions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
- "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/brace-expansion": {
"version": "1.1.12",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
@@ -648,19 +696,6 @@
"concat-map": "0.0.1"
}
},
- "node_modules/braces": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fill-range": "^7.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -689,41 +724,19 @@
}
},
"node_modules/chokidar": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
- "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
+ "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
+ "readdirp": "^4.0.1"
},
"engines": {
- "node": ">= 8.10.0"
+ "node": ">= 14.16.0"
},
"funding": {
"url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/chokidar/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
}
},
"node_modules/color-convert": {
@@ -793,20 +806,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/eastasianwidth": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
- "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/emoji-regex": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/escape-string-regexp": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
@@ -1008,19 +1007,6 @@
"node": ">=16.0.0"
}
},
- "node_modules/fill-range": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -1060,53 +1046,34 @@
"license": "ISC"
},
"node_modules/foreground-child": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
- "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-4.0.3.tgz",
+ "integrity": "sha512-yeXZaNbCBGaT9giTpLPBdtedzjwhlJBUoL/R4BVQU5mn0TQXOHwVIl1Q2DMuBIdNno4ktA1abZ7dQFVxD6uHxw==",
"dev": true,
- "license": "ISC",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "cross-spawn": "^7.0.6",
"signal-exit": "^4.0.1"
},
"engines": {
- "node": ">=14"
+ "node": ">=16"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
"node_modules/glob": {
- "version": "10.5.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
- "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
+ "version": "13.0.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz",
+ "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==",
"dev": true,
- "license": "ISC",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^3.1.2",
- "minimatch": "^9.0.4",
- "minipass": "^7.1.2",
- "package-json-from-dist": "^1.0.0",
- "path-scurry": "^1.11.1"
+ "minimatch": "^10.2.2",
+ "minipass": "^7.1.3",
+ "path-scurry": "^2.0.2"
},
- "bin": {
- "glob": "dist/esm/bin.mjs"
+ "engines": {
+ "node": "18 || 20 || >=22"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
@@ -1125,27 +1092,40 @@
"node": ">=10.13.0"
}
},
+ "node_modules/glob/node_modules/balanced-match": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "18 || 20 || >=22"
+ }
+ },
"node_modules/glob/node_modules/brace-expansion": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
+ "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "balanced-match": "^1.0.0"
+ "balanced-match": "^4.0.2"
+ },
+ "engines": {
+ "node": "18 || 20 || >=22"
}
},
"node_modules/glob/node_modules/minimatch": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "version": "10.2.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
+ "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
"dev": true,
- "license": "ISC",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "brace-expansion": "^2.0.1"
+ "brace-expansion": "^5.0.2"
},
"engines": {
- "node": ">=16 || 14 >=14.17"
+ "node": "18 || 20 || >=22"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
@@ -1211,19 +1191,6 @@
"node": ">=0.8.19"
}
},
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -1234,16 +1201,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
@@ -1257,16 +1214,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.12.0"
- }
- },
"node_modules/isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -1274,22 +1221,6 @@
"dev": true,
"license": "ISC"
},
- "node_modules/jackspeak": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
- "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "@isaacs/cliui": "^8.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- },
- "optionalDependencies": {
- "@pkgjs/parseargs": "^0.11.0"
- }
- },
"node_modules/js-yaml": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
@@ -1324,6 +1255,15 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/jsonc-simple-parser": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/jsonc-simple-parser/-/jsonc-simple-parser-3.0.0.tgz",
+ "integrity": "sha512-0qi9Kuj4JPar4/3b9wZteuPZrTeFzXsQyOZj7hksnReCZN3Vr17Doz7w/i3E9XH7vRkVTHhHES+r1h97I+hfww==",
+ "dev": true,
+ "dependencies": {
+ "reghex": "^3.0.2"
+ }
+ },
"node_modules/keyv": {
"version": "4.5.4",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
@@ -1372,11 +1312,14 @@
"license": "MIT"
},
"node_modules/lru-cache": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+ "version": "11.2.7",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz",
+ "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==",
"dev": true,
- "license": "ISC"
+ "license": "BlueOak-1.0.0",
+ "engines": {
+ "node": "20 || >=22"
+ }
},
"node_modules/minimatch": {
"version": "3.1.2",
@@ -1392,11 +1335,11 @@
}
},
"node_modules/minipass": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
+ "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
"dev": true,
- "license": "ISC",
+ "license": "BlueOak-1.0.0",
"engines": {
"node": ">=16 || 14 >=14.17"
}
@@ -1431,16 +1374,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/optionator": {
"version": "0.9.4",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
@@ -1532,35 +1465,22 @@
}
},
"node_modules/path-scurry": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
- "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz",
+ "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
- "lru-cache": "^10.2.0",
- "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
},
"engines": {
- "node": ">=16 || 14 >=14.18"
+ "node": "18 || 20 || >=22"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
"node_modules/polite-json": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/polite-json/-/polite-json-5.0.0.tgz",
@@ -1595,18 +1515,26 @@
}
},
"node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
+ "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
"engines": {
- "node": ">=8.10.0"
+ "node": ">= 14.18.0"
+ },
+ "funding": {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
}
},
+ "node_modules/reghex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/reghex/-/reghex-3.0.2.tgz",
+ "integrity": "sha512-Zb9DJ5u6GhgqRSBnxV2QSnLqEwcKxHWFA1N2yUa4ZUAO1P8jlWKYtWZ6/ooV6yylspGXJX0O/uNzEv0xrCtwaA==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -1618,34 +1546,38 @@
}
},
"node_modules/resolve-import": {
- "version": "1.4.6",
- "resolved": "https://registry.npmjs.org/resolve-import/-/resolve-import-1.4.6.tgz",
- "integrity": "sha512-CIw9e64QcKcCFUj9+KxUCJPy8hYofv6eVfo3U9wdhCm2E4IjvFnZ6G4/yIC4yP3f11+h6uU5b3LdS7O64LgqrA==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/resolve-import/-/resolve-import-2.4.0.tgz",
+ "integrity": "sha512-gLWKdA5tiv5j/D7ipR47u3ovbVfzFPrctTdw2Ulnpmr6PPVVSvPKGNWu09jXVNlOSLLAeD6CA13bjIelpWttSw==",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
- "glob": "^10.3.3",
- "walk-up-path": "^3.0.1"
+ "glob": "^13.0.0",
+ "walk-up-path": "^4.0.0"
},
"engines": {
- "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
+ "node": "20 || >=22"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/rimraf": {
- "version": "5.0.10",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz",
- "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==",
+ "version": "6.1.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.3.tgz",
+ "integrity": "sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==",
"dev": true,
- "license": "ISC",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "glob": "^10.3.7"
+ "glob": "^13.0.3",
+ "package-json-from-dist": "^1.0.1"
},
"bin": {
"rimraf": "dist/esm/bin.mjs"
},
+ "engines": {
+ "node": "20 || >=22"
+ },
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
@@ -1699,110 +1631,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/string-width": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^9.2.2",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/string-width-cjs": {
- "name": "string-width",
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/string-width-cjs/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/string-width-cjs/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/string-width-cjs/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
- "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
- "node_modules/strip-ansi-cjs": {
- "name": "strip-ansi",
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi-cjs/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -1830,22 +1658,22 @@
}
},
"node_modules/sync-content": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/sync-content/-/sync-content-1.0.2.tgz",
- "integrity": "sha512-znd3rYiiSxU3WteWyS9a6FXkTA/Wjk8WQsOyzHbineeL837dLn3DA4MRhsIX3qGcxDMH6+uuFV4axztssk7wEQ==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/sync-content/-/sync-content-2.0.4.tgz",
+ "integrity": "sha512-w3ioiBmbaogob33WdLnuwFk+8tpePI58CTWKqtdAgEqc2hfGuSwP02gPETqNX/3PLS5skv5a1wQR0gbaa2W0XQ==",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
- "glob": "^10.2.6",
+ "glob": "^13.0.1",
"mkdirp": "^3.0.1",
- "path-scurry": "^1.9.2",
- "rimraf": "^5.0.1"
+ "path-scurry": "^2.0.0",
+ "rimraf": "^6.0.0"
},
"bin": {
- "sync-content": "dist/mjs/bin.mjs"
+ "sync-content": "dist/esm/bin.mjs"
},
"engines": {
- "node": ">=14"
+ "node": "20 || >=22"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
@@ -1899,19 +1727,6 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
"node_modules/ts-api-utils": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.3.0.tgz",
@@ -1926,39 +1741,54 @@
}
},
"node_modules/tshy": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/tshy/-/tshy-2.0.1.tgz",
- "integrity": "sha512-U5fC+3pMaGfmULhPTVpxKMd62AcX13yfsFrjhAP/daTLG6LFRLIuxqYOmkejJ4MT/s5bEa29+1Jy/9mXkMiMfA==",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/tshy/-/tshy-3.3.2.tgz",
+ "integrity": "sha512-vOIXkqMtBWNjKUR/c99+6N50LhWdnKG1xE3+5wf8IPdzxx2lcIFPvbGgFdBBgoTMbdNb8mz06MUm7hY+TFnJcw==",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
- "chalk": "^5.3.0",
- "chokidar": "^3.6.0",
- "foreground-child": "^3.1.1",
- "minimatch": "^9.0.4",
+ "@typescript/native-preview": "^7.0.0-dev.20260218.1",
+ "chalk": "^5.6.2",
+ "chokidar": "^4.0.3",
+ "foreground-child": "^4.0.0",
+ "jsonc-simple-parser": "^3.0.0",
+ "minimatch": "^10.0.3",
"mkdirp": "^3.0.1",
"polite-json": "^5.0.0",
- "resolve-import": "^1.4.5",
- "rimraf": "^5.0.1",
- "sync-content": "^1.0.2",
- "typescript": "5",
- "walk-up-path": "^3.0.1"
+ "resolve-import": "^2.4.0",
+ "rimraf": "^6.1.2",
+ "sync-content": "^2.0.3",
+ "typescript": "^5.9.3",
+ "walk-up-path": "^4.0.0"
},
"bin": {
- "tshy": "dist/esm/index.js"
+ "tshy": "dist/esm/bin-min.mjs"
},
"engines": {
- "node": "16 >=16.17 || 18 >=18.15.0 || >=20.6.1"
+ "node": "20 || >=22"
+ }
+ },
+ "node_modules/tshy/node_modules/balanced-match": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "18 || 20 || >=22"
}
},
"node_modules/tshy/node_modules/brace-expansion": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
+ "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "balanced-match": "^1.0.0"
+ "balanced-match": "^4.0.2"
+ },
+ "engines": {
+ "node": "18 || 20 || >=22"
}
},
"node_modules/tshy/node_modules/chalk": {
@@ -1975,21 +1805,35 @@
}
},
"node_modules/tshy/node_modules/minimatch": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "version": "10.2.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
+ "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
"dev": true,
- "license": "ISC",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "brace-expansion": "^2.0.1"
+ "brace-expansion": "^5.0.2"
},
"engines": {
- "node": ">=16 || 14 >=14.17"
+ "node": "18 || 20 || >=22"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/tshy/node_modules/typescript": {
+ "version": "5.9.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
"node_modules/type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -2052,11 +1896,14 @@
}
},
"node_modules/walk-up-path": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-3.0.1.tgz",
- "integrity": "sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-4.0.0.tgz",
+ "integrity": "sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==",
"dev": true,
- "license": "ISC"
+ "license": "ISC",
+ "engines": {
+ "node": "20 || >=22"
+ }
},
"node_modules/which": {
"version": "2.0.2",
@@ -2084,101 +1931,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/wrap-ansi": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
- "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^6.1.0",
- "string-width": "^5.0.1",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrap-ansi-cjs": {
- "name": "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": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/wrap-ansi-cjs/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi/node_modules/ansi-styles": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
- "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
"node_modules/yocto-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
diff --git a/package.json b/package.json
index a1f8779..7550c15 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "waveshield",
- "version": "0.1.3",
+ "version": "0.2.0",
"author": "Speakeasy",
"type": "module",
"tshy": {
@@ -19,6 +19,10 @@
}
},
"sideEffects": false,
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/WaveShieldDev/waveshield-sdk-typescript.git"
+ },
"scripts": {
"lint": "eslint --cache --max-warnings=0 src",
"build": "tshy",
@@ -26,10 +30,10 @@
},
"peerDependencies": {},
"devDependencies": {
- "@eslint/js": "^9.19.0",
- "eslint": "^9.19.0",
+ "@eslint/js": "^9.26.0",
+ "eslint": "^9.26.0",
"globals": "^15.14.0",
- "tshy": "^2.0.0",
+ "tshy": "^3.3.2",
"typescript": "~5.8.3",
"typescript-eslint": "^8.26.0"
},
diff --git a/src/funcs/playerAnalyze.ts b/src/funcs/playerAnalyze.ts
index 045e32f..755bfe1 100644
--- a/src/funcs/playerAnalyze.ts
+++ b/src/funcs/playerAnalyze.ts
@@ -98,7 +98,6 @@ async function $do(
charEncoding: "percent",
}),
};
-
const path = pathToFunc("/v1/player/{identifier}/analysis")(pathParams);
const headers = new Headers(compactMap({
diff --git a/src/funcs/playerDiscordLookup.ts b/src/funcs/playerDiscordLookup.ts
index 32b1d1d..06829db 100644
--- a/src/funcs/playerDiscordLookup.ts
+++ b/src/funcs/playerDiscordLookup.ts
@@ -96,7 +96,6 @@ async function $do(
charEncoding: "percent",
}),
};
-
const path = pathToFunc("/v1/player/{identifier}/discord-lookup")(pathParams);
const headers = new Headers(compactMap({
diff --git a/src/funcs/playerGet.ts b/src/funcs/playerGet.ts
index 79dbe1e..60dd0c2 100644
--- a/src/funcs/playerGet.ts
+++ b/src/funcs/playerGet.ts
@@ -93,7 +93,6 @@ async function $do(
charEncoding: "percent",
}),
};
-
const path = pathToFunc("/v1/player/{identifier}")(pathParams);
const headers = new Headers(compactMap({
diff --git a/src/funcs/playerGetBans.ts b/src/funcs/playerGetBans.ts
index 44a2cd1..c52a4d9 100644
--- a/src/funcs/playerGetBans.ts
+++ b/src/funcs/playerGetBans.ts
@@ -96,7 +96,6 @@ async function $do(
charEncoding: "percent",
}),
};
-
const path = pathToFunc("/v1/player/{identifier}/bans")(pathParams);
const headers = new Headers(compactMap({
diff --git a/src/funcs/playerGetBansHistory.ts b/src/funcs/playerGetBansHistory.ts
index ca15dfb..478a90c 100644
--- a/src/funcs/playerGetBansHistory.ts
+++ b/src/funcs/playerGetBansHistory.ts
@@ -96,7 +96,6 @@ async function $do(
charEncoding: "percent",
}),
};
-
const path = pathToFunc("/v1/player/{identifier}/bans-history")(pathParams);
const headers = new Headers(compactMap({
diff --git a/src/funcs/playerGetServers.ts b/src/funcs/playerGetServers.ts
index 66e92bb..80f466d 100644
--- a/src/funcs/playerGetServers.ts
+++ b/src/funcs/playerGetServers.ts
@@ -96,7 +96,6 @@ async function $do(
charEncoding: "percent",
}),
};
-
const path = pathToFunc("/v1/player/{identifier}/servers")(pathParams);
const headers = new Headers(compactMap({
diff --git a/src/funcs/playerGetThreatScore.ts b/src/funcs/playerGetThreatScore.ts
index 6f1ae89..14bb1a9 100644
--- a/src/funcs/playerGetThreatScore.ts
+++ b/src/funcs/playerGetThreatScore.ts
@@ -96,7 +96,6 @@ async function $do(
charEncoding: "percent",
}),
};
-
const path = pathToFunc("/v1/player/{identifier}/threat-score")(pathParams);
const headers = new Headers(compactMap({
diff --git a/src/funcs/webhooksDelete.ts b/src/funcs/webhooksDelete.ts
index fda63c4..6b5fd1f 100644
--- a/src/funcs/webhooksDelete.ts
+++ b/src/funcs/webhooksDelete.ts
@@ -93,7 +93,6 @@ async function $do(
charEncoding: "percent",
}),
};
-
const path = pathToFunc("/v1/webhooks/{id}")(pathParams);
const headers = new Headers(compactMap({
diff --git a/src/hooks/hooks.ts b/src/hooks/hooks.ts
index 7ed9e04..94ad0a3 100644
--- a/src/hooks/hooks.ts
+++ b/src/hooks/hooks.ts
@@ -18,8 +18,6 @@ import {
SDKInitHook,
} from "./types.js";
-import { initHooks } from "./registration.js";
-
export class SDKHooks implements Hooks {
sdkInitHooks: SDKInitHook[] = [];
beforeCreateRequestHooks: BeforeCreateRequestHook[] = [];
@@ -47,7 +45,6 @@ export class SDKHooks implements Hooks {
this.registerAfterErrorHook(hook);
}
}
- initHooks(this);
}
registerSDKInitHook(hook: SDKInitHook) {
diff --git a/src/lib/config.ts b/src/lib/config.ts
index 2d455d6..761eaa1 100644
--- a/src/lib/config.ts
+++ b/src/lib/config.ts
@@ -65,7 +65,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
export const SDK_METADATA = {
language: "typescript",
openapiDocVersion: "1.0.0",
- sdkVersion: "0.1.3",
- genVersion: "2.788.5",
- userAgent: "speakeasy-sdk/typescript 0.1.3 2.788.5 1.0.0 waveshield",
+ sdkVersion: "0.2.0",
+ genVersion: "2.869.25",
+ userAgent: "speakeasy-sdk/typescript 0.2.0 2.869.25 1.0.0 waveshield",
} as const;
diff --git a/src/lib/encodings.ts b/src/lib/encodings.ts
index 25d1d80..be115d7 100644
--- a/src/lib/encodings.ts
+++ b/src/lib/encodings.ts
@@ -479,6 +479,23 @@ export const encodeSpaceDelimitedQuery = queryEncoder(encodeSpaceDelimited);
export const encodePipeDelimitedQuery = queryEncoder(encodePipeDelimited);
export const encodeDeepObjectQuery = queryEncoder(encodeDeepObject);
+function isBlobLike(val: unknown): val is Blob {
+ if (val instanceof Blob) {
+ return true;
+ }
+
+ if (typeof val !== "object" || val == null || !(Symbol.toStringTag in val)) {
+ return false;
+ }
+
+ const tag = val[Symbol.toStringTag];
+ if (tag !== "Blob" && tag !== "File") {
+ return false;
+ }
+
+ return "stream" in val && typeof val.stream === "function";
+}
+
export function appendForm(
fd: FormData,
key: string,
@@ -487,10 +504,12 @@ export function appendForm(
): void {
if (value == null) {
return;
- } else if (value instanceof Blob && fileName) {
- fd.append(key, value, fileName);
- } else if (value instanceof Blob) {
- fd.append(key, value);
+ } else if (isBlobLike(value)) {
+ if (fileName) {
+ fd.append(key, value as Blob, fileName);
+ } else {
+ fd.append(key, value as Blob);
+ }
} else if (Array.isArray(value)) {
value.forEach((v) => {
appendForm(fd, key, v);
diff --git a/src/lib/files.ts b/src/lib/files.ts
index 0344cd0..6ca6b37 100644
--- a/src/lib/files.ts
+++ b/src/lib/files.ts
@@ -80,3 +80,25 @@ export function getContentTypeFromFileName(fileName: string): string | null {
return mimeTypes[ext] || null;
}
+
+/**
+ * Creates a Blob from file content with the given MIME type.
+ *
+ * Node.js Buffers are Uint8Array subclasses that may share a pooled
+ * ArrayBuffer (byteOffset > 0, byteLength < buffer.byteLength). Passing
+ * such a Buffer directly to `new Blob([buf])` can include the entire
+ * underlying pool on some runtimes, producing a Blob with extra bytes
+ * that corrupts multipart uploads.
+ *
+ * Copying into a standalone Uint8Array ensures the Blob receives only the
+ * intended bytes regardless of runtime behaviour.
+ */
+export function bytesToBlob(
+ content: Uint8Array | ArrayBuffer | Blob | string,
+ contentType: string,
+): Blob {
+ if (content instanceof Uint8Array) {
+ return new Blob([new Uint8Array(content)], { type: contentType });
+ }
+ return new Blob([content as BlobPart], { type: contentType });
+}
diff --git a/src/lib/matchers.ts b/src/lib/matchers.ts
index f533f21..f301572 100644
--- a/src/lib/matchers.ts
+++ b/src/lib/matchers.ts
@@ -251,8 +251,9 @@ export function match(
raw = body;
break;
default:
- encoding satisfies never;
- throw new Error(`Unsupported response type: ${encoding}`);
+ throw new Error(
+ `Unsupported response type: ${encoding satisfies never}`,
+ );
}
if (matcher.enc === "fail") {
diff --git a/src/lib/sdks.ts b/src/lib/sdks.ts
index 698f955..23537b4 100644
--- a/src/lib/sdks.ts
+++ b/src/lib/sdks.ts
@@ -127,13 +127,15 @@ export class ClientSDK {
if (!base) {
return ERR(new InvalidRequestError("No base URL provided for operation"));
}
- const reqURL = new URL(base);
- const inputURL = new URL(path, reqURL);
-
+ const baseURL = new URL(base);
+ let reqURL: URL;
if (path) {
- reqURL.pathname += reqURL.pathname.endsWith("/") ? "" : "/";
- reqURL.pathname += inputURL.pathname.replace(/^\/+/, "");
+ baseURL.pathname = baseURL.pathname.replace(/\/+$/, "") + "/";
+ reqURL = new URL(path, baseURL);
+ } else {
+ reqURL = baseURL;
}
+ reqURL.hash = "";
let finalQuery = query || "";
@@ -307,9 +309,9 @@ export class ClientSDK {
}
}
-const jsonLikeContentTypeRE = /(application|text)\/.*?\+*json.*/;
+const jsonLikeContentTypeRE = /^(application|text)\/([^+]+\+)*json.*/;
const jsonlLikeContentTypeRE =
- /(application|text)\/(.*?\+*\bjsonl\b.*|.*?\+*\bx-ndjson\b.*)/;
+ /^(application|text)\/([^+]+\+)*(jsonl|x-ndjson)\b.*/;
async function logRequest(logger: Logger | undefined, req: Request) {
if (!logger) {
return;
diff --git a/src/lib/security.ts b/src/lib/security.ts
index 3ca46cb..1d84656 100644
--- a/src/lib/security.ts
+++ b/src/lib/security.ts
@@ -198,8 +198,7 @@ export function resolveSecurity(
applyBearer(state, spec);
break;
default:
- spec satisfies never;
- throw SecurityError.unrecognizedType(type);
+ throw SecurityError.unrecognizedType((spec satisfies never, type));
}
});
diff --git a/src/lib/url.ts b/src/lib/url.ts
index f3a8de6..79e7ce6 100644
--- a/src/lib/url.ts
+++ b/src/lib/url.ts
@@ -13,21 +13,23 @@ export function pathToFunc(
const paramRE = /\{([a-zA-Z0-9_][a-zA-Z0-9_-]*?)\}/g;
return function buildURLPath(params: Record = {}): string {
- return pathPattern.replace(paramRE, function (_, placeholder) {
- if (!hasOwn.call(params, placeholder)) {
- throw new Error(`Parameter '${placeholder}' is required`);
- }
+ return pathPattern
+ .replace(paramRE, function (_, placeholder) {
+ if (!hasOwn.call(params, placeholder)) {
+ throw new Error(`Parameter '${placeholder}' is required`);
+ }
- const value = params[placeholder];
- if (typeof value !== "string" && typeof value !== "number") {
- throw new Error(
- `Parameter '${placeholder}' must be a string or number`,
- );
- }
+ const value = params[placeholder];
+ if (typeof value !== "string" && typeof value !== "number") {
+ throw new Error(
+ `Parameter '${placeholder}' must be a string or number`,
+ );
+ }
- return options?.charEncoding === "percent"
- ? encodeURIComponent(`${value}`)
- : `${value}`;
- });
+ return options?.charEncoding === "percent"
+ ? encodeURIComponent(`${value}`)
+ : `${value}`;
+ })
+ .replace(/^\/+/, "");
};
}
diff --git a/src/types/smartUnion.ts b/src/types/smartUnion.ts
index 266e39b..1eabf9a 100644
--- a/src/types/smartUnion.ts
+++ b/src/types/smartUnion.ts
@@ -88,6 +88,14 @@ export function smartUnion<
}
function better(a: Candidate, b: Candidate): Candidate {
+ // First prefer exact matches over inexact ones
+ const aIsExact = a.inexactCount === 0;
+ const bIsExact = b.inexactCount === 0;
+ if (aIsExact !== bIsExact) {
+ return aIsExact ? a : b;
+ }
+
+ // Then compare field counts
const actualFieldCountA = a.fieldCount - a.zeroDefaultCount;
const actualFieldCountB = b.fieldCount - b.zeroDefaultCount;
if (actualFieldCountA !== actualFieldCountB) {
diff --git a/tsconfig.json b/tsconfig.json
index 0ccdbe2..76110f8 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -13,6 +13,7 @@
"declaration": true,
"declarationMap": true,
"sourceMap": true,
+ "rootDir": "src",
"outDir": ".",
@@ -36,5 +37,5 @@
"forceConsistentCasingInFileNames": true
},
"include": ["src"],
- "exclude": ["node_modules"]
+ "exclude": ["node_modules", "src/__tests__"]
}