diff --git a/.fern/metadata.json b/.fern/metadata.json
index fc438ba..d51bc28 100644
--- a/.fern/metadata.json
+++ b/.fern/metadata.json
@@ -1,7 +1,7 @@
{
- "cliVersion": "4.65.2",
+ "cliVersion": "5.23.3",
"generatorName": "fernapi/fern-typescript-sdk",
- "generatorVersion": "3.63.3",
+ "generatorVersion": "3.70.6",
"generatorConfig": {
"generateWireTests": true,
"namespaceExport": "Brevo",
@@ -15,6 +15,9 @@
}
}
},
- "originGitCommit": "d2e18d0bd27160206c8251e11269b139a3b4ea10",
- "sdkVersion": "5.0.4"
+ "originGitCommit": "626852ab9868892d33b75b16b34f5db02dcb70ca",
+ "originGitCommitIsDirty": true,
+ "invokedBy": "manual",
+ "requestedVersion": "6.0.0",
+ "sdkVersion": "6.0.0"
}
diff --git a/.fern/verify.sh b/.fern/verify.sh
new file mode 100755
index 0000000..a224ac8
--- /dev/null
+++ b/.fern/verify.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+set -euo pipefail
+pnpm install
+pnpm build
+pnpm test
diff --git a/package.json b/package.json
index a3986f1..03b45f8 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@getbrevo/brevo",
- "version": "5.0.4",
+ "version": "6.0.0",
"private": false,
"repository": {
"type": "git",
@@ -402,7 +402,7 @@
"ts-loader": "^9.5.4",
"vitest": "^4.1.1",
"msw": "2.11.2",
- "@types/node": "^18.19.70",
+ "@types/node": "^20.0.0",
"typescript": "~5.9.3",
"@biomejs/biome": "2.4.10"
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 255bd14..de64b6a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -12,23 +12,23 @@ importers:
specifier: 2.4.10
version: 2.4.10
'@types/node':
- specifier: ^18.19.70
- version: 18.19.130
+ specifier: ^20.0.0
+ version: 20.19.41
msw:
specifier: 2.11.2
- version: 2.11.2(@types/node@18.19.130)(typescript@5.9.3)
+ version: 2.11.2(@types/node@20.19.41)(typescript@5.9.3)
ts-loader:
specifier: ^9.5.4
- version: 9.5.7(typescript@5.9.3)(webpack@5.106.0)
+ version: 9.5.7(typescript@5.9.3)(webpack@5.106.2)
typescript:
specifier: ~5.9.3
version: 5.9.3
vitest:
specifier: ^4.1.1
- version: 4.1.4(@types/node@18.19.130)(msw@2.11.2(@types/node@18.19.130)(typescript@5.9.3))(vite@8.0.8(@types/node@18.19.130)(terser@5.46.1))
+ version: 4.1.6(@types/node@20.19.41)(msw@2.11.2(@types/node@20.19.41)(typescript@5.9.3))(vite@8.0.12(@types/node@20.19.41)(terser@5.47.1))
webpack:
specifier: ^5.105.4
- version: 5.106.0
+ version: 5.106.2
packages:
@@ -95,11 +95,11 @@ packages:
'@bundled-es-modules/statuses@1.0.1':
resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==}
- '@emnapi/core@1.9.2':
- resolution: {integrity: sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==}
+ '@emnapi/core@1.10.0':
+ resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==}
- '@emnapi/runtime@1.9.2':
- resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==}
+ '@emnapi/runtime@1.10.0':
+ resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==}
'@emnapi/wasi-threads@1.2.1':
resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==}
@@ -159,8 +159,8 @@ packages:
resolution: {integrity: sha512-2+BzZbjRO7Ct61k8fMNHEtoKjeWI9pIlHFTqBwZ5icHpqszIgEZbjb1MW5Z0+bITTCTl3gk4PDBxs9tA/csXvA==}
engines: {node: '>=18'}
- '@napi-rs/wasm-runtime@1.1.3':
- resolution: {integrity: sha512-xK9sGVbJWYb08+mTJt3/YV24WxvxpXcXtP6B172paPZ+Ts69Re9dAr7lKwJoeIx8OoeuimEiRZ7umkiUVClmmQ==}
+ '@napi-rs/wasm-runtime@1.1.4':
+ resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==}
peerDependencies:
'@emnapi/core': ^1.7.1
'@emnapi/runtime': ^1.7.1
@@ -174,112 +174,112 @@ packages:
'@open-draft/until@2.1.0':
resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==}
- '@oxc-project/types@0.124.0':
- resolution: {integrity: sha512-VBFWMTBvHxS11Z5Lvlr3IWgrwhMTXV+Md+EQF0Xf60+wAdsGFTBx7X7K/hP4pi8N7dcm1RvcHwDxZ16Qx8keUg==}
+ '@oxc-project/types@0.129.0':
+ resolution: {integrity: sha512-3oz8m3FGdr2nDXVqmFUw7jolKliC4MoyXYIG2c7gpjBnzUWQpUGIYcXYKxTdTi+N2jusvt610ckTMkxdwHkYEg==}
- '@rolldown/binding-android-arm64@1.0.0-rc.15':
- resolution: {integrity: sha512-YYe6aWruPZDtHNpwu7+qAHEMbQ/yRl6atqb/AhznLTnD3UY99Q1jE7ihLSahNWkF4EqRPVC4SiR4O0UkLK02tA==}
+ '@rolldown/binding-android-arm64@1.0.0':
+ resolution: {integrity: sha512-TWMZnRLMe63C2Lhyicviu7ZHaU4kxa6PS3rofvc9GmcvptzNN11BcfQ4Sl7MwTOsisQoa2keB/EBdNCAnUo8vA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [android]
- '@rolldown/binding-darwin-arm64@1.0.0-rc.15':
- resolution: {integrity: sha512-oArR/ig8wNTPYsXL+Mzhs0oxhxfuHRfG7Ikw7jXsw8mYOtk71W0OkF2VEVh699pdmzjPQsTjlD1JIOoHkLP1Fg==}
+ '@rolldown/binding-darwin-arm64@1.0.0':
+ resolution: {integrity: sha512-6XcD+8k0gPVItNagEw78/qqcBDwKcwDYS8V2hRmVsfUSIrd8cWe/CBvRDI5toqFyPfj+FJr6t8U6Xj2P2prEew==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
- '@rolldown/binding-darwin-x64@1.0.0-rc.15':
- resolution: {integrity: sha512-YzeVqOqjPYvUbJSWJ4EDL8ahbmsIXQpgL3JVipmN+MX0XnXMeWomLN3Fb+nwCmP/jfyqte5I3XRSm7OfQrbyxw==}
+ '@rolldown/binding-darwin-x64@1.0.0':
+ resolution: {integrity: sha512-iN/tWVXRQDWvmZlKdceP1Dwug9GDpEymhb9p4xnEe6zvCg5lFmzVljl+1qR1NVx3yfGpr2Na+CuLmv5IU8uzfQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
- '@rolldown/binding-freebsd-x64@1.0.0-rc.15':
- resolution: {integrity: sha512-9Erhx956jeQ0nNTyif1+QWAXDRD38ZNjr//bSHrt6wDwB+QkAfl2q6Mn1k6OBPerznjRmbM10lgRb1Pli4xZPw==}
+ '@rolldown/binding-freebsd-x64@1.0.0':
+ resolution: {integrity: sha512-jjQMDvvwSOuhOwMszD/klSOjyWMM3zI64hWTj9KT5x4MxRbZAf+7vLQ6qouRhtsLVFHr3f0ILaJAfgENPiQdAQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
- '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.15':
- resolution: {integrity: sha512-cVwk0w8QbZJGTnP/AHQBs5yNwmpgGYStL88t4UIaqcvYJWBfS0s3oqVLZPwsPU6M0zlW4GqjP0Zq5MnAGwFeGA==}
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0':
+ resolution: {integrity: sha512-d//Dtg2x6/m3mbV64yUGNnDGNZaDGRpDLLNGerHQUVObuNaIQaaDp25yUiqGXtHEXX+NP2d0wAlmKgpYgIAJ2A==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
- '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.15':
- resolution: {integrity: sha512-eBZ/u8iAK9SoHGanqe/jrPnY0JvBN6iXbVOsbO38mbz+ZJsaobExAm1Iu+rxa4S1l2FjG0qEZn4Rc6X8n+9M+w==}
+ '@rolldown/binding-linux-arm64-gnu@1.0.0':
+ resolution: {integrity: sha512-n7Ofp0mx+aB2cC+Sdy5YtMnXtY9lchnHbY+3Yt0uq9JsWQExf4f5Whu0tK0R8Jdc9S6RchTHjIFY7uc92puOVQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-arm64-musl@1.0.0-rc.15':
- resolution: {integrity: sha512-ZvRYMGrAklV9PEkgt4LQM6MjQX2P58HPAuecwYObY2DhS2t35R0I810bKi0wmaYORt6m/2Sm+Z+nFgb0WhXNcQ==}
+ '@rolldown/binding-linux-arm64-musl@1.0.0':
+ resolution: {integrity: sha512-EIVjy2cgd7uuMMo94FVkBp7F6DhcZAUwNURkSG3RwUmvAXR6s0ISxM81U+IydcZByPG0pZIHsf1b6kTxoFDgJA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.15':
- resolution: {integrity: sha512-VDpgGBzgfg5hLg+uBpCLoFG5kVvEyafmfxGUV0UHLcL5irxAK7PKNeC2MwClgk6ZAiNhmo9FLhRYgvMmedLtnQ==}
+ '@rolldown/binding-linux-ppc64-gnu@1.0.0':
+ resolution: {integrity: sha512-JEwwOPcwTLAcpDQlqSmjEmfs63xJnSiUNIGvLcDLUHCWK4XowpS/7c7tUsUH6uT/ct6bMUTdXKfI8967FYj6mg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.15':
- resolution: {integrity: sha512-y1uXY3qQWCzcPgRJATPSOUP4tCemh4uBdY7e3EZbVwCJTY3gLJWnQABgeUetvED+bt1FQ01OeZwvhLS2bpNrAQ==}
+ '@rolldown/binding-linux-s390x-gnu@1.0.0':
+ resolution: {integrity: sha512-0wjCFhLrihtAubnT9iA0N++0pSV0z5Hg7tNGdNJ4RFaINceHadoF+kiFGyY1qSSNVIAZtLotG8Ju1bgDPkjnFA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-x64-gnu@1.0.0-rc.15':
- resolution: {integrity: sha512-023bTPBod7J3Y/4fzAN6QtpkSABR0rigtrwaP+qSEabUh5zf6ELr9Nc7GujaROuPY3uwdSIXWrvhn1KxOvurWA==}
+ '@rolldown/binding-linux-x64-gnu@1.0.0':
+ resolution: {integrity: sha512-Dfn7iak9BcMMePxcoJfpSbWqnEyrp/dRF63/8qW/eHBdOZov6x5aShLLEYGYdIeSJ6vMLK/XCVB+lGIxm41bQA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-x64-musl@1.0.0-rc.15':
- resolution: {integrity: sha512-witB2O0/hU4CgfOOKUoeFgQ4GktPi1eEbAhaLAIpgD6+ZnhcPkUtPsoKKHRzmOoWPZue46IThdSgdo4XneOLYw==}
+ '@rolldown/binding-linux-x64-musl@1.0.0':
+ resolution: {integrity: sha512-5/utzzDmD/pD/bmuaUcbTf/sZYy0aztwIVlfpoW1fTjCZ0BaPOMVWGZL1zvgxyi7ZIVYWlxKONHmSbHuiOh8Jw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [musl]
- '@rolldown/binding-openharmony-arm64@1.0.0-rc.15':
- resolution: {integrity: sha512-UCL68NJ0Ud5zRipXZE9dF5PmirzJE4E4BCIOOssEnM7wLDsxjc6Qb0sGDxTNRTP53I6MZpygyCpY8Aa8sPfKPg==}
+ '@rolldown/binding-openharmony-arm64@1.0.0':
+ resolution: {integrity: sha512-ouJs8VcUomfLfpbUECqFMRqdV4x6aeAK3MA4m6vTrJJjKyWTV5KnxZx7Jd9G+GlDaQQxubcba00x16OyJ1meig==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
- '@rolldown/binding-wasm32-wasi@1.0.0-rc.15':
- resolution: {integrity: sha512-ApLruZq/ig+nhaE7OJm4lDjayUnOHVUa77zGeqnqZ9pn0ovdVbbNPerVibLXDmWeUZXjIYIT8V3xkT58Rm9u5Q==}
- engines: {node: '>=14.0.0'}
+ '@rolldown/binding-wasm32-wasi@1.0.0':
+ resolution: {integrity: sha512-E+oHKGiDA+lsKMmFtffDDw91EryDT7uJocrIuCHqhm6bCTM6xFK+3gaCkYOHfPwQr0cCNarSM2xaELoQDz9jJg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
cpu: [wasm32]
- '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.15':
- resolution: {integrity: sha512-KmoUoU7HnN+Si5YWJigfTws1jz1bKBYDQKdbLspz0UaqjjFkddHsqorgiW1mxcAj88lYUE6NC/zJNwT+SloqtA==}
+ '@rolldown/binding-win32-arm64-msvc@1.0.0':
+ resolution: {integrity: sha512-yYK02n8Rngo+gbm1y6G0+7jk1sJ/2Wt7K0me0Y7k/ErBpyf+LJ2gFpqWVTcRV1rUepBlQRmpgWkTQCiiwrK0Ow==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
- '@rolldown/binding-win32-x64-msvc@1.0.0-rc.15':
- resolution: {integrity: sha512-3P2A8L+x75qavWLe/Dll3EYBJLQmtkJN8rfh+U/eR3MqMgL/h98PhYI+JFfXuDPgPeCB7iZAKiqii5vqOvnA0g==}
+ '@rolldown/binding-win32-x64-msvc@1.0.0':
+ resolution: {integrity: sha512-14bpChMahXRRXiTwahSl+zzHPW6qQTXtkMuJBFlbo+pqSAews2d4BdCSHfrJ/MBsCZtpmTafsY+1QhBzitcmdg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [win32]
- '@rolldown/pluginutils@1.0.0-rc.15':
- resolution: {integrity: sha512-UromN0peaE53IaBRe9W7CjrZgXl90fqGpK+mIZbA3qSTeYqg3pqpROBdIPvOG3F5ereDHNwoHBI2e50n1BDr1g==}
+ '@rolldown/pluginutils@1.0.0':
+ resolution: {integrity: sha512-aKs/3GSWyV0mrhNmt/96/Z3yczC3yvrzYATCiCXQebBsGyYzjNdUphRVLeJQ67ySKVXRfMxt2lm12pmXvbPFQQ==}
'@standard-schema/spec@1.1.0':
resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
- '@tybys/wasm-util@0.10.1':
- resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
+ '@tybys/wasm-util@0.10.2':
+ resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==}
'@types/chai@5.2.3':
resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==}
@@ -296,23 +296,23 @@ packages:
'@types/eslint@9.6.1':
resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
- '@types/estree@1.0.8':
- resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+ '@types/estree@1.0.9':
+ resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==}
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
- '@types/node@18.19.130':
- resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==}
+ '@types/node@20.19.41':
+ resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==}
'@types/statuses@2.0.6':
resolution: {integrity: sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA==}
- '@vitest/expect@4.1.4':
- resolution: {integrity: sha512-iPBpra+VDuXmBFI3FMKHSFXp3Gx5HfmSCE8X67Dn+bwephCnQCaB7qWK2ldHa+8ncN8hJU8VTMcxjPpyMkUjww==}
+ '@vitest/expect@4.1.6':
+ resolution: {integrity: sha512-7EHDquPthALSV0jhhjgEW8FXaviMx7rSqu8W6oqCoAuOhKov814P99QDV1pxMA3QPv21YudvJngIhjrNI4opLg==}
- '@vitest/mocker@4.1.4':
- resolution: {integrity: sha512-R9HTZBhW6yCSGbGQnDnH3QHfJxokKN4KB+Yvk9Q1le7eQNYwiCyKxmLmurSpFy6BzJanSLuEUDrD+j97Q+ZLPg==}
+ '@vitest/mocker@4.1.6':
+ resolution: {integrity: sha512-MCFc63czMjEInOlcY2cpQCvCN+KgbAn+60xu9cMgP4sKaLC5JNAKw7JH8QdAnoAC88hW1IiSNZ+GgVXlN1UcMQ==}
peerDependencies:
msw: ^2.4.9
vite: ^6.0.0 || ^7.0.0 || ^8.0.0
@@ -322,20 +322,20 @@ packages:
vite:
optional: true
- '@vitest/pretty-format@4.1.4':
- resolution: {integrity: sha512-ddmDHU0gjEUyEVLxtZa7xamrpIefdEETu3nZjWtHeZX4QxqJ7tRxSteHVXJOcr8jhiLoGAhkK4WJ3WqBpjx42A==}
+ '@vitest/pretty-format@4.1.6':
+ resolution: {integrity: sha512-h5SxD/IzNhZYnrSZRsUZQIC+vD0GY8cUvq0iwsmkFKixRCKLLWqCXa/FIQ4S1R+sI+PGoojkHsdNrbZiM9Qpgw==}
- '@vitest/runner@4.1.4':
- resolution: {integrity: sha512-xTp7VZ5aXP5ZJrn15UtJUWlx6qXLnGtF6jNxHepdPHpMfz/aVPx+htHtgcAL2mDXJgKhpoo2e9/hVJsIeFbytQ==}
+ '@vitest/runner@4.1.6':
+ resolution: {integrity: sha512-nOPCmn2+yD0ZNmKdsXGv/UxMMWbMuKeD6GyYncNwdkYDxpQvrPSKYj2rWuDjC2Y4b6w6hjip5dBKFzEUuZe3vA==}
- '@vitest/snapshot@4.1.4':
- resolution: {integrity: sha512-MCjCFgaS8aZz+m5nTcEcgk/xhWv0rEH4Yl53PPlMXOZ1/Ka2VcZU6CJ+MgYCZbcJvzGhQRjVrGQNZqkGPttIKw==}
+ '@vitest/snapshot@4.1.6':
+ resolution: {integrity: sha512-YhsdE6xAVfTDmzjxL2ZDUvjj+ZsgyOKe+TdQzqkD72wIOmHka8NuGQ6NpTNZv9D2Z63fbwWKJPeVpEw4EQgYxw==}
- '@vitest/spy@4.1.4':
- resolution: {integrity: sha512-XxNdAsKW7C+FLydqFJLb5KhJtl3PGCMmYwFRfhvIgxJvLSXhhVI1zM8f1qD3Zg7RCjTSzDVyct6sghs9UEgBEQ==}
+ '@vitest/spy@4.1.6':
+ resolution: {integrity: sha512-JFKxMx6udhwKh/Ldo270e17QX710vgunMkuPAvXjHSvC6oqLWAHhVhjg/I71q0u0CBSErIODV1Kjv0FQNSWjdg==}
- '@vitest/utils@4.1.4':
- resolution: {integrity: sha512-13QMT+eysM5uVGa1rG4kegGYNp6cnQcsTc67ELFbhNLQO+vgsygtYJx2khvdt4gVQqSSpC/KT5FZZxUpP3Oatw==}
+ '@vitest/utils@4.1.6':
+ resolution: {integrity: sha512-FxIY+U81R3LGKCxaHHFRQ5+g6/iRgGLmeHWdp2Amj4ljQRrEIWHmZyDfDYBRZlpyqA7qKxtS9DD1dhk8RnRIVQ==}
'@webassemblyjs/ast@1.14.1':
resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==}
@@ -412,8 +412,8 @@ packages:
peerDependencies:
ajv: ^8.8.2
- ajv@8.18.0:
- resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==}
+ ajv@8.20.0:
+ resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==}
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
@@ -427,8 +427,8 @@ packages:
resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
engines: {node: '>=12'}
- baseline-browser-mapping@2.10.17:
- resolution: {integrity: sha512-HdrkN8eVG2CXxeifv/VdJ4A4RSra1DTW8dc/hdxzhGHN8QePs6gKaWM9pHPcpCoxYZJuOZ8drHmbdpLHjCYjLA==}
+ baseline-browser-mapping@2.10.29:
+ resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==}
engines: {node: '>=6.0.0'}
hasBin: true
@@ -444,8 +444,8 @@ packages:
buffer-from@1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
- caniuse-lite@1.0.30001787:
- resolution: {integrity: sha512-mNcrMN9KeI68u7muanUpEejSLghOKlVhRqS/Za2IeyGllJ9I9otGpR9g3nsw7n4W378TE/LyIteA0+/FOZm4Kg==}
+ caniuse-lite@1.0.30001792:
+ resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==}
chai@6.2.2:
resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==}
@@ -488,18 +488,18 @@ packages:
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
engines: {node: '>=8'}
- electron-to-chromium@1.5.334:
- resolution: {integrity: sha512-mgjZAz7Jyx1SRCwEpy9wefDS7GvNPazLthHg8eQMJ76wBdGQQDW33TCrUTvQ4wzpmOrv2zrFoD3oNufMdyMpog==}
+ electron-to-chromium@1.5.353:
+ resolution: {integrity: sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==}
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
- enhanced-resolve@5.20.1:
- resolution: {integrity: sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==}
+ enhanced-resolve@5.21.3:
+ resolution: {integrity: sha512-QyL119InA+XXEkNLNTPCXPugSvOfhwv0JOlGNzvxs0hZaiHLNvXSpudUWsOlsXGWJh8G6ckCScEkVHfX3kw/2Q==}
engines: {node: '>=10.13.0'}
- es-module-lexer@2.0.0:
- resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==}
+ es-module-lexer@2.1.0:
+ resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==}
escalade@3.2.0:
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
@@ -535,8 +535,8 @@ packages:
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- fast-uri@3.1.0:
- resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==}
+ fast-uri@3.1.2:
+ resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==}
fdir@6.5.0:
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
@@ -566,8 +566,8 @@ packages:
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
- graphql@16.13.2:
- resolution: {integrity: sha512-5bJ+nf/UCpAjHM8i06fl7eLyVC9iuNAjm9qzkiu2ZGhM0VscSvS6WDPfAwkdkBuoXGM9FJSbKl6wylMwP9Ktig==}
+ graphql@16.14.0:
+ resolution: {integrity: sha512-BBvQ/406p+4CZbTpCbVPSxfzrZrbnuWSP1ELYgyS6B+hNeKzgrdB4JczCa5VZUBQrDa9hUngm0KnexY6pJRN5Q==}
engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0}
has-flag@4.0.0:
@@ -592,9 +592,6 @@ packages:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
- json-parse-even-better-errors@2.3.1:
- resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
-
json-schema-traverse@1.0.0:
resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
@@ -672,8 +669,8 @@ packages:
resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==}
engines: {node: '>= 12.0.0'}
- loader-runner@4.3.1:
- resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==}
+ loader-runner@4.3.2:
+ resolution: {integrity: sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==}
engines: {node: '>=6.11.5'}
magic-string@0.30.21:
@@ -686,12 +683,8 @@ packages:
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
engines: {node: '>=8.6'}
- mime-db@1.52.0:
- resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
- engines: {node: '>= 0.6'}
-
- mime-types@2.1.35:
- resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ mime-db@1.54.0:
+ resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==}
engines: {node: '>= 0.6'}
msw@2.11.2:
@@ -708,16 +701,16 @@ packages:
resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==}
engines: {node: ^18.17.0 || >=20.5.0}
- nanoid@3.3.11:
- resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
+ nanoid@3.3.12:
+ resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
neo-async@2.6.2:
resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
- node-releases@2.0.37:
- resolution: {integrity: sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==}
+ node-releases@2.0.44:
+ resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==}
obug@2.1.1:
resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==}
@@ -742,8 +735,8 @@ packages:
resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
engines: {node: '>=12'}
- postcss@8.5.9:
- resolution: {integrity: sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==}
+ postcss@8.5.14:
+ resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==}
engines: {node: ^10 || ^12 || >=14}
require-directory@2.1.1:
@@ -757,8 +750,8 @@ packages:
rettime@0.7.0:
resolution: {integrity: sha512-LPRKoHnLKd/r3dVxcwO7vhCW+orkOGj9ViueosEBK6ie89CijnfRlhaDhHq/3Hxu4CkWQtxwlBG0mzTQY6uQjw==}
- rolldown@1.0.0-rc.15:
- resolution: {integrity: sha512-Ff31guA5zT6WjnGp0SXw76X6hzGRk/OQq2hE+1lcDe+lJdHSgnSX6nK3erbONHyCbpSj9a9E+uX/OvytZoWp2g==}
+ rolldown@1.0.0:
+ resolution: {integrity: sha512-yD986aXDESFGS95spT1LAv0jssywP4npMEjmMHyN2/5+eE8qQJUype2AaKkRiLgBgyD0LFlubwAht7VmY8rGoA==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
@@ -766,8 +759,8 @@ packages:
resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==}
engines: {node: '>= 10.13.0'}
- semver@7.7.4:
- resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==}
+ semver@7.8.0:
+ resolution: {integrity: sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==}
engines: {node: '>=10'}
hasBin: true
@@ -800,8 +793,8 @@ packages:
resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==}
engines: {node: '>= 0.8'}
- std-env@4.0.0:
- resolution: {integrity: sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==}
+ std-env@4.1.0:
+ resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==}
strict-event-emitter@0.5.1:
resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==}
@@ -822,36 +815,63 @@ packages:
resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
engines: {node: '>=10'}
- tapable@2.3.2:
- resolution: {integrity: sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==}
+ tapable@2.3.3:
+ resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==}
engines: {node: '>=6'}
- terser-webpack-plugin@5.4.0:
- resolution: {integrity: sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g==}
+ terser-webpack-plugin@5.6.0:
+ resolution: {integrity: sha512-Eum+5ajkaOhf5KbM26osvv21kLD7BaGqQ1UA4Ami4arYwylmGUQTgHFpHDdmJod1q4QXa66p0to/FBKID+J1vA==}
engines: {node: '>= 10.13.0'}
peerDependencies:
+ '@minify-html/node': '*'
'@swc/core': '*'
+ '@swc/css': '*'
+ '@swc/html': '*'
+ clean-css: '*'
+ cssnano: '*'
+ csso: '*'
esbuild: '*'
+ html-minifier-terser: '*'
+ lightningcss: '*'
+ postcss: '*'
uglify-js: '*'
webpack: ^5.1.0
peerDependenciesMeta:
+ '@minify-html/node':
+ optional: true
'@swc/core':
optional: true
+ '@swc/css':
+ optional: true
+ '@swc/html':
+ optional: true
+ clean-css:
+ optional: true
+ cssnano:
+ optional: true
+ csso:
+ optional: true
esbuild:
optional: true
+ html-minifier-terser:
+ optional: true
+ lightningcss:
+ optional: true
+ postcss:
+ optional: true
uglify-js:
optional: true
- terser@5.46.1:
- resolution: {integrity: sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ==}
+ terser@5.47.1:
+ resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==}
engines: {node: '>=10'}
hasBin: true
tinybench@2.9.0:
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
- tinyexec@1.1.1:
- resolution: {integrity: sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==}
+ tinyexec@1.1.2:
+ resolution: {integrity: sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==}
engines: {node: '>=18'}
tinyglobby@0.2.16:
@@ -862,11 +882,11 @@ packages:
resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==}
engines: {node: '>=14.0.0'}
- tldts-core@7.0.28:
- resolution: {integrity: sha512-7W5Efjhsc3chVdFhqtaU0KtK32J37Zcr9RKtID54nG+tIpcY79CQK/veYPODxtD/LJ4Lue66jvrQzIX2Z2/pUQ==}
+ tldts-core@7.0.30:
+ resolution: {integrity: sha512-uiHN8PIB1VmWyS98eZYja4xzlYqeFZVjb4OuYlJQnZAuJhMw4PbKQOKgHKhBdJR3FE/t5mUQ1Kd80++B+qhD1Q==}
- tldts@7.0.28:
- resolution: {integrity: sha512-+Zg3vWhRUv8B1maGSTFdev9mjoo8Etn2Ayfs4cnjlD3CsGkxXX4QyW3j2WJ0wdjYcYmy7Lx2RDsZMhgCWafKIw==}
+ tldts@7.0.30:
+ resolution: {integrity: sha512-ELrFxuqsDdHUwoh0XxDbxuLD3Wnz49Z57IFvTtvWy1hJdcMZjXLIuonjilCiWHlT2GbE4Wlv1wKVTzDFnXH1aw==}
hasBin: true
to-regex-range@5.0.1:
@@ -896,8 +916,8 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
- undici-types@5.26.5:
- resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+ undici-types@6.21.0:
+ resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
update-browserslist-db@1.2.3:
resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==}
@@ -905,13 +925,13 @@ packages:
peerDependencies:
browserslist: '>= 4.21.0'
- vite@8.0.8:
- resolution: {integrity: sha512-dbU7/iLVa8KZALJyLOBOQ88nOXtNG8vxKuOT4I2mD+Ya70KPceF4IAmDsmU0h1Qsn5bPrvsY9HJstCRh3hG6Uw==}
+ vite@8.0.12:
+ resolution: {integrity: sha512-w2dDofOWv2QB09ZITZBsvKTVAlYvPR4IAmrY/v0ir9KvLs0xybR7i48wxhM1/oyBWO34wPns+bPGw5ZrZqDpZg==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
'@types/node': ^20.19.0 || >=22.12.0
- '@vitejs/devtools': ^0.1.0
+ '@vitejs/devtools': ^0.1.18
esbuild: ^0.27.0 || ^0.28.0
jiti: '>=1.21.0'
less: ^4.0.0
@@ -948,20 +968,20 @@ packages:
yaml:
optional: true
- vitest@4.1.4:
- resolution: {integrity: sha512-tFuJqTxKb8AvfyqMfnavXdzfy3h3sWZRWwfluGbkeR7n0HUev+FmNgZ8SDrRBTVrVCjgH5cA21qGbCffMNtWvg==}
+ vitest@4.1.6:
+ resolution: {integrity: sha512-6lvjbS3p9b4CrdCmguzbh2/4uoXhGE2q71R4OX5sqF9R1bo9Xd6fGrMAfvp5wnCzlBnFVdCOp6onuTQVbo8iUQ==}
engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
'@opentelemetry/api': ^1.9.0
'@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0
- '@vitest/browser-playwright': 4.1.4
- '@vitest/browser-preview': 4.1.4
- '@vitest/browser-webdriverio': 4.1.4
- '@vitest/coverage-istanbul': 4.1.4
- '@vitest/coverage-v8': 4.1.4
- '@vitest/ui': 4.1.4
+ '@vitest/browser-playwright': 4.1.6
+ '@vitest/browser-preview': 4.1.6
+ '@vitest/browser-webdriverio': 4.1.6
+ '@vitest/coverage-istanbul': 4.1.6
+ '@vitest/coverage-v8': 4.1.6
+ '@vitest/ui': 4.1.6
happy-dom: '*'
jsdom: '*'
vite: ^6.0.0 || ^7.0.0 || ^8.0.0
@@ -993,12 +1013,12 @@ packages:
resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==}
engines: {node: '>=10.13.0'}
- webpack-sources@3.3.4:
- resolution: {integrity: sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==}
+ webpack-sources@3.4.1:
+ resolution: {integrity: sha512-eACpxRN02yaawnt+uUNIF7Qje6A9zArxBbcAJjK1PK3S9Ycg5jIuJ8pW4q8EMnwNZCEGltcjkRx1QzOxOkKD8A==}
engines: {node: '>=10.13.0'}
- webpack@5.106.0:
- resolution: {integrity: sha512-Pkx5joZ9RrdgO5LBkyX1L2ZAJeK/Taz3vqZ9CbcP0wS5LEMx5QkKsEwLl29QJfihZ+DKRBFldzy1O30pJ1MDpA==}
+ webpack@5.106.2:
+ resolution: {integrity: sha512-wGN3qcrBQIFmQ/c0AiOAQBvrZ5lmY8vbbMv4Mxfgzqd/B6+9pXtLo73WuS1dSGXM5QYY3hZnIbvx+K1xxe6FyA==}
engines: {node: '>=10.13.0'}
hasBin: true
peerDependencies:
@@ -1081,13 +1101,13 @@ snapshots:
dependencies:
statuses: 2.0.2
- '@emnapi/core@1.9.2':
+ '@emnapi/core@1.10.0':
dependencies:
'@emnapi/wasi-threads': 1.2.1
tslib: 2.8.1
optional: true
- '@emnapi/runtime@1.9.2':
+ '@emnapi/runtime@1.10.0':
dependencies:
tslib: 2.8.1
optional: true
@@ -1099,31 +1119,31 @@ snapshots:
'@inquirer/ansi@1.0.2': {}
- '@inquirer/confirm@5.1.21(@types/node@18.19.130)':
+ '@inquirer/confirm@5.1.21(@types/node@20.19.41)':
dependencies:
- '@inquirer/core': 10.3.2(@types/node@18.19.130)
- '@inquirer/type': 3.0.10(@types/node@18.19.130)
+ '@inquirer/core': 10.3.2(@types/node@20.19.41)
+ '@inquirer/type': 3.0.10(@types/node@20.19.41)
optionalDependencies:
- '@types/node': 18.19.130
+ '@types/node': 20.19.41
- '@inquirer/core@10.3.2(@types/node@18.19.130)':
+ '@inquirer/core@10.3.2(@types/node@20.19.41)':
dependencies:
'@inquirer/ansi': 1.0.2
'@inquirer/figures': 1.0.15
- '@inquirer/type': 3.0.10(@types/node@18.19.130)
+ '@inquirer/type': 3.0.10(@types/node@20.19.41)
cli-width: 4.1.0
mute-stream: 2.0.0
signal-exit: 4.1.0
wrap-ansi: 6.2.0
yoctocolors-cjs: 2.1.3
optionalDependencies:
- '@types/node': 18.19.130
+ '@types/node': 20.19.41
'@inquirer/figures@1.0.15': {}
- '@inquirer/type@3.0.10(@types/node@18.19.130)':
+ '@inquirer/type@3.0.10(@types/node@20.19.41)':
optionalDependencies:
- '@types/node': 18.19.130
+ '@types/node': 20.19.41
'@jridgewell/gen-mapping@0.3.13':
dependencies:
@@ -1153,11 +1173,11 @@ snapshots:
outvariant: 1.4.3
strict-event-emitter: 0.5.1
- '@napi-rs/wasm-runtime@1.1.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)':
+ '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)':
dependencies:
- '@emnapi/core': 1.9.2
- '@emnapi/runtime': 1.9.2
- '@tybys/wasm-util': 0.10.1
+ '@emnapi/core': 1.10.0
+ '@emnapi/runtime': 1.10.0
+ '@tybys/wasm-util': 0.10.2
optional: true
'@open-draft/deferred-promise@2.2.0': {}
@@ -1169,62 +1189,62 @@ snapshots:
'@open-draft/until@2.1.0': {}
- '@oxc-project/types@0.124.0': {}
+ '@oxc-project/types@0.129.0': {}
- '@rolldown/binding-android-arm64@1.0.0-rc.15':
+ '@rolldown/binding-android-arm64@1.0.0':
optional: true
- '@rolldown/binding-darwin-arm64@1.0.0-rc.15':
+ '@rolldown/binding-darwin-arm64@1.0.0':
optional: true
- '@rolldown/binding-darwin-x64@1.0.0-rc.15':
+ '@rolldown/binding-darwin-x64@1.0.0':
optional: true
- '@rolldown/binding-freebsd-x64@1.0.0-rc.15':
+ '@rolldown/binding-freebsd-x64@1.0.0':
optional: true
- '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.15':
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0':
optional: true
- '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.15':
+ '@rolldown/binding-linux-arm64-gnu@1.0.0':
optional: true
- '@rolldown/binding-linux-arm64-musl@1.0.0-rc.15':
+ '@rolldown/binding-linux-arm64-musl@1.0.0':
optional: true
- '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.15':
+ '@rolldown/binding-linux-ppc64-gnu@1.0.0':
optional: true
- '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.15':
+ '@rolldown/binding-linux-s390x-gnu@1.0.0':
optional: true
- '@rolldown/binding-linux-x64-gnu@1.0.0-rc.15':
+ '@rolldown/binding-linux-x64-gnu@1.0.0':
optional: true
- '@rolldown/binding-linux-x64-musl@1.0.0-rc.15':
+ '@rolldown/binding-linux-x64-musl@1.0.0':
optional: true
- '@rolldown/binding-openharmony-arm64@1.0.0-rc.15':
+ '@rolldown/binding-openharmony-arm64@1.0.0':
optional: true
- '@rolldown/binding-wasm32-wasi@1.0.0-rc.15':
+ '@rolldown/binding-wasm32-wasi@1.0.0':
dependencies:
- '@emnapi/core': 1.9.2
- '@emnapi/runtime': 1.9.2
- '@napi-rs/wasm-runtime': 1.1.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)
+ '@emnapi/core': 1.10.0
+ '@emnapi/runtime': 1.10.0
+ '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
optional: true
- '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.15':
+ '@rolldown/binding-win32-arm64-msvc@1.0.0':
optional: true
- '@rolldown/binding-win32-x64-msvc@1.0.0-rc.15':
+ '@rolldown/binding-win32-x64-msvc@1.0.0':
optional: true
- '@rolldown/pluginutils@1.0.0-rc.15': {}
+ '@rolldown/pluginutils@1.0.0': {}
'@standard-schema/spec@1.1.0': {}
- '@tybys/wasm-util@0.10.1':
+ '@tybys/wasm-util@0.10.2':
dependencies:
tslib: 2.8.1
optional: true
@@ -1241,62 +1261,62 @@ snapshots:
'@types/eslint-scope@3.7.7':
dependencies:
'@types/eslint': 9.6.1
- '@types/estree': 1.0.8
+ '@types/estree': 1.0.9
'@types/eslint@9.6.1':
dependencies:
- '@types/estree': 1.0.8
+ '@types/estree': 1.0.9
'@types/json-schema': 7.0.15
- '@types/estree@1.0.8': {}
+ '@types/estree@1.0.9': {}
'@types/json-schema@7.0.15': {}
- '@types/node@18.19.130':
+ '@types/node@20.19.41':
dependencies:
- undici-types: 5.26.5
+ undici-types: 6.21.0
'@types/statuses@2.0.6': {}
- '@vitest/expect@4.1.4':
+ '@vitest/expect@4.1.6':
dependencies:
'@standard-schema/spec': 1.1.0
'@types/chai': 5.2.3
- '@vitest/spy': 4.1.4
- '@vitest/utils': 4.1.4
+ '@vitest/spy': 4.1.6
+ '@vitest/utils': 4.1.6
chai: 6.2.2
tinyrainbow: 3.1.0
- '@vitest/mocker@4.1.4(msw@2.11.2(@types/node@18.19.130)(typescript@5.9.3))(vite@8.0.8(@types/node@18.19.130)(terser@5.46.1))':
+ '@vitest/mocker@4.1.6(msw@2.11.2(@types/node@20.19.41)(typescript@5.9.3))(vite@8.0.12(@types/node@20.19.41)(terser@5.47.1))':
dependencies:
- '@vitest/spy': 4.1.4
+ '@vitest/spy': 4.1.6
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
- msw: 2.11.2(@types/node@18.19.130)(typescript@5.9.3)
- vite: 8.0.8(@types/node@18.19.130)(terser@5.46.1)
+ msw: 2.11.2(@types/node@20.19.41)(typescript@5.9.3)
+ vite: 8.0.12(@types/node@20.19.41)(terser@5.47.1)
- '@vitest/pretty-format@4.1.4':
+ '@vitest/pretty-format@4.1.6':
dependencies:
tinyrainbow: 3.1.0
- '@vitest/runner@4.1.4':
+ '@vitest/runner@4.1.6':
dependencies:
- '@vitest/utils': 4.1.4
+ '@vitest/utils': 4.1.6
pathe: 2.0.3
- '@vitest/snapshot@4.1.4':
+ '@vitest/snapshot@4.1.6':
dependencies:
- '@vitest/pretty-format': 4.1.4
- '@vitest/utils': 4.1.4
+ '@vitest/pretty-format': 4.1.6
+ '@vitest/utils': 4.1.6
magic-string: 0.30.21
pathe: 2.0.3
- '@vitest/spy@4.1.4': {}
+ '@vitest/spy@4.1.6': {}
- '@vitest/utils@4.1.4':
+ '@vitest/utils@4.1.6':
dependencies:
- '@vitest/pretty-format': 4.1.4
+ '@vitest/pretty-format': 4.1.6
convert-source-map: 2.0.0
tinyrainbow: 3.1.0
@@ -1386,19 +1406,19 @@ snapshots:
acorn@8.16.0: {}
- ajv-formats@2.1.1(ajv@8.18.0):
+ ajv-formats@2.1.1(ajv@8.20.0):
optionalDependencies:
- ajv: 8.18.0
+ ajv: 8.20.0
- ajv-keywords@5.1.0(ajv@8.18.0):
+ ajv-keywords@5.1.0(ajv@8.20.0):
dependencies:
- ajv: 8.18.0
+ ajv: 8.20.0
fast-deep-equal: 3.1.3
- ajv@8.18.0:
+ ajv@8.20.0:
dependencies:
fast-deep-equal: 3.1.3
- fast-uri: 3.1.0
+ fast-uri: 3.1.2
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
@@ -1410,7 +1430,7 @@ snapshots:
assertion-error@2.0.1: {}
- baseline-browser-mapping@2.10.17: {}
+ baseline-browser-mapping@2.10.29: {}
braces@3.0.3:
dependencies:
@@ -1418,15 +1438,15 @@ snapshots:
browserslist@4.28.2:
dependencies:
- baseline-browser-mapping: 2.10.17
- caniuse-lite: 1.0.30001787
- electron-to-chromium: 1.5.334
- node-releases: 2.0.37
+ baseline-browser-mapping: 2.10.29
+ caniuse-lite: 1.0.30001792
+ electron-to-chromium: 1.5.353
+ node-releases: 2.0.44
update-browserslist-db: 1.2.3(browserslist@4.28.2)
buffer-from@1.1.2: {}
- caniuse-lite@1.0.30001787: {}
+ caniuse-lite@1.0.30001792: {}
chai@6.2.2: {}
@@ -1459,16 +1479,16 @@ snapshots:
detect-libc@2.1.2: {}
- electron-to-chromium@1.5.334: {}
+ electron-to-chromium@1.5.353: {}
emoji-regex@8.0.0: {}
- enhanced-resolve@5.20.1:
+ enhanced-resolve@5.21.3:
dependencies:
graceful-fs: 4.2.11
- tapable: 2.3.2
+ tapable: 2.3.3
- es-module-lexer@2.0.0: {}
+ es-module-lexer@2.1.0: {}
escalade@3.2.0: {}
@@ -1487,7 +1507,7 @@ snapshots:
estree-walker@3.0.3:
dependencies:
- '@types/estree': 1.0.8
+ '@types/estree': 1.0.9
events@3.3.0: {}
@@ -1495,7 +1515,7 @@ snapshots:
fast-deep-equal@3.1.3: {}
- fast-uri@3.1.0: {}
+ fast-uri@3.1.2: {}
fdir@6.5.0(picomatch@4.0.4):
optionalDependencies:
@@ -1514,7 +1534,7 @@ snapshots:
graceful-fs@4.2.11: {}
- graphql@16.13.2: {}
+ graphql@16.14.0: {}
has-flag@4.0.0: {}
@@ -1528,12 +1548,10 @@ snapshots:
jest-worker@27.5.1:
dependencies:
- '@types/node': 18.19.130
+ '@types/node': 20.19.41
merge-stream: 2.0.0
supports-color: 8.1.1
- json-parse-even-better-errors@2.3.1: {}
-
json-schema-traverse@1.0.0: {}
lightningcss-android-arm64@1.32.0:
@@ -1585,7 +1603,7 @@ snapshots:
lightningcss-win32-arm64-msvc: 1.32.0
lightningcss-win32-x64-msvc: 1.32.0
- loader-runner@4.3.1: {}
+ loader-runner@4.3.2: {}
magic-string@0.30.21:
dependencies:
@@ -1598,23 +1616,19 @@ snapshots:
braces: 3.0.3
picomatch: 2.3.2
- mime-db@1.52.0: {}
-
- mime-types@2.1.35:
- dependencies:
- mime-db: 1.52.0
+ mime-db@1.54.0: {}
- msw@2.11.2(@types/node@18.19.130)(typescript@5.9.3):
+ msw@2.11.2(@types/node@20.19.41)(typescript@5.9.3):
dependencies:
'@bundled-es-modules/cookie': 2.0.1
'@bundled-es-modules/statuses': 1.0.1
- '@inquirer/confirm': 5.1.21(@types/node@18.19.130)
+ '@inquirer/confirm': 5.1.21(@types/node@20.19.41)
'@mswjs/interceptors': 0.39.8
'@open-draft/deferred-promise': 2.2.0
'@open-draft/until': 2.1.0
'@types/cookie': 0.6.0
'@types/statuses': 2.0.6
- graphql: 16.13.2
+ graphql: 16.14.0
headers-polyfill: 4.0.3
is-node-process: 1.2.0
outvariant: 1.4.3
@@ -1632,11 +1646,11 @@ snapshots:
mute-stream@2.0.0: {}
- nanoid@3.3.11: {}
+ nanoid@3.3.12: {}
neo-async@2.6.2: {}
- node-releases@2.0.37: {}
+ node-releases@2.0.44: {}
obug@2.1.1: {}
@@ -1652,9 +1666,9 @@ snapshots:
picomatch@4.0.4: {}
- postcss@8.5.9:
+ postcss@8.5.14:
dependencies:
- nanoid: 3.3.11
+ nanoid: 3.3.12
picocolors: 1.1.1
source-map-js: 1.2.1
@@ -1664,35 +1678,35 @@ snapshots:
rettime@0.7.0: {}
- rolldown@1.0.0-rc.15:
+ rolldown@1.0.0:
dependencies:
- '@oxc-project/types': 0.124.0
- '@rolldown/pluginutils': 1.0.0-rc.15
+ '@oxc-project/types': 0.129.0
+ '@rolldown/pluginutils': 1.0.0
optionalDependencies:
- '@rolldown/binding-android-arm64': 1.0.0-rc.15
- '@rolldown/binding-darwin-arm64': 1.0.0-rc.15
- '@rolldown/binding-darwin-x64': 1.0.0-rc.15
- '@rolldown/binding-freebsd-x64': 1.0.0-rc.15
- '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.15
- '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.15
- '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.15
- '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.15
- '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.15
- '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.15
- '@rolldown/binding-linux-x64-musl': 1.0.0-rc.15
- '@rolldown/binding-openharmony-arm64': 1.0.0-rc.15
- '@rolldown/binding-wasm32-wasi': 1.0.0-rc.15
- '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.15
- '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.15
+ '@rolldown/binding-android-arm64': 1.0.0
+ '@rolldown/binding-darwin-arm64': 1.0.0
+ '@rolldown/binding-darwin-x64': 1.0.0
+ '@rolldown/binding-freebsd-x64': 1.0.0
+ '@rolldown/binding-linux-arm-gnueabihf': 1.0.0
+ '@rolldown/binding-linux-arm64-gnu': 1.0.0
+ '@rolldown/binding-linux-arm64-musl': 1.0.0
+ '@rolldown/binding-linux-ppc64-gnu': 1.0.0
+ '@rolldown/binding-linux-s390x-gnu': 1.0.0
+ '@rolldown/binding-linux-x64-gnu': 1.0.0
+ '@rolldown/binding-linux-x64-musl': 1.0.0
+ '@rolldown/binding-openharmony-arm64': 1.0.0
+ '@rolldown/binding-wasm32-wasi': 1.0.0
+ '@rolldown/binding-win32-arm64-msvc': 1.0.0
+ '@rolldown/binding-win32-x64-msvc': 1.0.0
schema-utils@4.3.3:
dependencies:
'@types/json-schema': 7.0.15
- ajv: 8.18.0
- ajv-formats: 2.1.1(ajv@8.18.0)
- ajv-keywords: 5.1.0(ajv@8.18.0)
+ ajv: 8.20.0
+ ajv-formats: 2.1.1(ajv@8.20.0)
+ ajv-keywords: 5.1.0(ajv@8.20.0)
- semver@7.7.4: {}
+ semver@7.8.0: {}
siginfo@2.0.0: {}
@@ -1713,7 +1727,7 @@ snapshots:
statuses@2.0.2: {}
- std-env@4.0.0: {}
+ std-env@4.1.0: {}
strict-event-emitter@0.5.1: {}
@@ -1735,17 +1749,17 @@ snapshots:
dependencies:
has-flag: 4.0.0
- tapable@2.3.2: {}
+ tapable@2.3.3: {}
- terser-webpack-plugin@5.4.0(webpack@5.106.0):
+ terser-webpack-plugin@5.6.0(webpack@5.106.2):
dependencies:
'@jridgewell/trace-mapping': 0.3.31
jest-worker: 27.5.1
schema-utils: 4.3.3
- terser: 5.46.1
- webpack: 5.106.0
+ terser: 5.47.1
+ webpack: 5.106.2
- terser@5.46.1:
+ terser@5.47.1:
dependencies:
'@jridgewell/source-map': 0.3.11
acorn: 8.16.0
@@ -1754,7 +1768,7 @@ snapshots:
tinybench@2.9.0: {}
- tinyexec@1.1.1: {}
+ tinyexec@1.1.2: {}
tinyglobby@0.2.16:
dependencies:
@@ -1763,11 +1777,11 @@ snapshots:
tinyrainbow@3.1.0: {}
- tldts-core@7.0.28: {}
+ tldts-core@7.0.30: {}
- tldts@7.0.28:
+ tldts@7.0.30:
dependencies:
- tldts-core: 7.0.28
+ tldts-core: 7.0.30
to-regex-range@5.0.1:
dependencies:
@@ -1775,17 +1789,17 @@ snapshots:
tough-cookie@6.0.1:
dependencies:
- tldts: 7.0.28
+ tldts: 7.0.30
- ts-loader@9.5.7(typescript@5.9.3)(webpack@5.106.0):
+ ts-loader@9.5.7(typescript@5.9.3)(webpack@5.106.2):
dependencies:
chalk: 4.1.2
- enhanced-resolve: 5.20.1
+ enhanced-resolve: 5.21.3
micromatch: 4.0.8
- semver: 7.7.4
+ semver: 7.8.0
source-map: 0.7.6
typescript: 5.9.3
- webpack: 5.106.0
+ webpack: 5.106.2
tslib@2.8.1:
optional: true
@@ -1794,7 +1808,7 @@ snapshots:
typescript@5.9.3: {}
- undici-types@5.26.5: {}
+ undici-types@6.21.0: {}
update-browserslist-db@1.2.3(browserslist@4.28.2):
dependencies:
@@ -1802,42 +1816,42 @@ snapshots:
escalade: 3.2.0
picocolors: 1.1.1
- vite@8.0.8(@types/node@18.19.130)(terser@5.46.1):
+ vite@8.0.12(@types/node@20.19.41)(terser@5.47.1):
dependencies:
lightningcss: 1.32.0
picomatch: 4.0.4
- postcss: 8.5.9
- rolldown: 1.0.0-rc.15
+ postcss: 8.5.14
+ rolldown: 1.0.0
tinyglobby: 0.2.16
optionalDependencies:
- '@types/node': 18.19.130
+ '@types/node': 20.19.41
fsevents: 2.3.3
- terser: 5.46.1
-
- vitest@4.1.4(@types/node@18.19.130)(msw@2.11.2(@types/node@18.19.130)(typescript@5.9.3))(vite@8.0.8(@types/node@18.19.130)(terser@5.46.1)):
- dependencies:
- '@vitest/expect': 4.1.4
- '@vitest/mocker': 4.1.4(msw@2.11.2(@types/node@18.19.130)(typescript@5.9.3))(vite@8.0.8(@types/node@18.19.130)(terser@5.46.1))
- '@vitest/pretty-format': 4.1.4
- '@vitest/runner': 4.1.4
- '@vitest/snapshot': 4.1.4
- '@vitest/spy': 4.1.4
- '@vitest/utils': 4.1.4
- es-module-lexer: 2.0.0
+ terser: 5.47.1
+
+ vitest@4.1.6(@types/node@20.19.41)(msw@2.11.2(@types/node@20.19.41)(typescript@5.9.3))(vite@8.0.12(@types/node@20.19.41)(terser@5.47.1)):
+ dependencies:
+ '@vitest/expect': 4.1.6
+ '@vitest/mocker': 4.1.6(msw@2.11.2(@types/node@20.19.41)(typescript@5.9.3))(vite@8.0.12(@types/node@20.19.41)(terser@5.47.1))
+ '@vitest/pretty-format': 4.1.6
+ '@vitest/runner': 4.1.6
+ '@vitest/snapshot': 4.1.6
+ '@vitest/spy': 4.1.6
+ '@vitest/utils': 4.1.6
+ es-module-lexer: 2.1.0
expect-type: 1.3.0
magic-string: 0.30.21
obug: 2.1.1
pathe: 2.0.3
picomatch: 4.0.4
- std-env: 4.0.0
+ std-env: 4.1.0
tinybench: 2.9.0
- tinyexec: 1.1.1
+ tinyexec: 1.1.2
tinyglobby: 0.2.16
tinyrainbow: 3.1.0
- vite: 8.0.8(@types/node@18.19.130)(terser@5.46.1)
+ vite: 8.0.12(@types/node@20.19.41)(terser@5.47.1)
why-is-node-running: 2.3.0
optionalDependencies:
- '@types/node': 18.19.130
+ '@types/node': 20.19.41
transitivePeerDependencies:
- msw
@@ -1846,12 +1860,12 @@ snapshots:
glob-to-regexp: 0.4.1
graceful-fs: 4.2.11
- webpack-sources@3.3.4: {}
+ webpack-sources@3.4.1: {}
- webpack@5.106.0:
+ webpack@5.106.2:
dependencies:
'@types/eslint-scope': 3.7.7
- '@types/estree': 1.0.8
+ '@types/estree': 1.0.9
'@types/json-schema': 7.0.15
'@webassemblyjs/ast': 1.14.1
'@webassemblyjs/wasm-edit': 1.14.1
@@ -1860,24 +1874,32 @@ snapshots:
acorn-import-phases: 1.0.4(acorn@8.16.0)
browserslist: 4.28.2
chrome-trace-event: 1.0.4
- enhanced-resolve: 5.20.1
- es-module-lexer: 2.0.0
+ enhanced-resolve: 5.21.3
+ es-module-lexer: 2.1.0
eslint-scope: 5.1.1
events: 3.3.0
glob-to-regexp: 0.4.1
graceful-fs: 4.2.11
- json-parse-even-better-errors: 2.3.1
- loader-runner: 4.3.1
- mime-types: 2.1.35
+ loader-runner: 4.3.2
+ mime-db: 1.54.0
neo-async: 2.6.2
schema-utils: 4.3.3
- tapable: 2.3.2
- terser-webpack-plugin: 5.4.0(webpack@5.106.0)
+ tapable: 2.3.3
+ terser-webpack-plugin: 5.6.0(webpack@5.106.2)
watchpack: 2.5.1
- webpack-sources: 3.3.4
+ webpack-sources: 3.4.1
transitivePeerDependencies:
+ - '@minify-html/node'
- '@swc/core'
+ - '@swc/css'
+ - '@swc/html'
+ - clean-css
+ - cssnano
+ - csso
- esbuild
+ - html-minifier-terser
+ - lightningcss
+ - postcss
- uglify-js
why-is-node-running@2.3.0:
diff --git a/reference.md b/reference.md
index 0932e24..e0541dd 100644
--- a/reference.md
+++ b/reference.md
@@ -19,25 +19,22 @@ Retrieves details of your Brevo account.
- Check plan details (type, credits, expiration)
- Get relay information (for transactional emails)
- Check Marketing Automation status
-- View date/time preferences and account settings
- Access organization and user identifiers
**Key information returned:**
- Complete account details (organization ID, user ID, company information)
- Address and contact information
- Plan configurations and credit allocations across different verticals
-- Marketing Automation settings and tracker key
+- Marketing Automation settings and tracker key (when enabled)
- SMTP relay configuration for transactional emails
-- Date/time preferences and account settings
- Enterprise features availability status
**Important considerations:**
- Provides comprehensive account overview for billing and configuration management
- Essential for understanding current plan limitations and feature availability
-- Marketing Automation key required for advanced automation features
-- Plan verticals show detailed breakdown across Marketing, Chat, and CRM categories
+- Marketing Automation key is only returned when Marketing Automation is enabled on the account
+- Plan verticals show detailed breakdown across Marketing, Chat, and CRM categories (only returned when plan verticals are available)
- Relay configuration crucial for transactional email setup and deliverability
-- Date/time preferences affect campaign scheduling and reporting displays
- Enterprise status determines access to advanced features and sub-account management
@@ -1261,6 +1258,20 @@ await client.masterAccount.getSubAccountDetails({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Permanently deletes a sub-account from the corporate master account. Once deleted, all data associated with the sub-account organization is removed and cannot be recovered, so ensure the sub-account is no longer needed before proceeding.
+
+
+
+
+
#### 🔌 Usage
@@ -1931,6 +1942,20 @@ await client.masterAccount.changeAdminUserPermissions({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieves the list of all users associated with your organization, including both active and pending invited users. Each user entry includes their email address, owner status, current invitation status, and feature access levels for marketing, CRM, and conversations.
+
+
+
+
+
#### 🔌 Usage
@@ -1972,6 +1997,20 @@ await client.user.getInvitedUsersList();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Revokes all permissions for an invited user in the organization, effectively removing their access to the platform. If the user''s plan change generated credit notes, they are returned in the response for billing reconciliation.
+
+
+
+
+
#### 🔌 Usage
@@ -2157,6 +2196,20 @@ await client.user.inviteuser({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Resends or cancels a pending invitation for a user in the organization, depending on the action path parameter. Use `resend` to send a new invitation email to the user, or `cancel` to revoke the pending invitation entirely and remove the user''s pending access.
+
+
+
+
+
#### 🔌 Usage
@@ -2342,6 +2395,20 @@ await client.user.editUserPermission({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieves the granular feature-level permissions assigned to a specific user in the organization, identified by their email address. The response includes the user''s current status (active or pending) and a detailed list of privileges specifying which features and permission levels are granted.
+
+
+
+
+
#### 🔌 Usage
@@ -2412,20 +2479,19 @@ Retrieves a list of background processes from your Brevo account with filtering
- Identify failed or stuck processes for troubleshooting
**Key information returned:**
-- Process details (ID, name, type, status)
-- Process creation and completion timestamps
-- Process progress and completion status
-- Error information for failed processes
-- Process result data and download links
+- Process details (ID, name, status)
+- Export download URLs for completed export processes
+- Import details with CSV report URLs for completed import processes
+- Total count of processes for pagination
**Important considerations:**
- Background processes handle long-running operations like imports and exports
-- Process status indicates current state (queued, processing, completed, failed, cancelled)
+- Process status indicates current state (queued, processing, completed)
- Export processes provide download URLs when completed
-- Failed processes include error messages for troubleshooting
+- Import processes provide CSV report URLs with details about problematic records
- Use pagination for accounts with many historical processes
- Sort options available for creation order (ascending or descending)
-- Different process types handle specific operations (imports, exports, calculations)
+- Default limit is 10 results per page, maximum is 50
@@ -2498,18 +2564,14 @@ Retrieves detailed information about a specific background process.
- Track process execution times
**Key information returned:**
-- Complete process details and status
-- Import/export statistics and results
-- Error information for troubleshooting
-- Download URLs for export processes
-- Process timing and performance data
+- Complete process details (ID, name, status)
+- Download URLs for completed export processes
+- Import details with CSV report URLs for completed import processes
**Important considerations:**
-- Process ID must exist in your account
-- Completed processes provide detailed statistics and results
-- Export processes include download URLs when successful
-- Failed processes contain error messages for debugging
-- Timing information helps with performance analysis
+- Process ID must exist in your account and not be deleted
+- Completed export processes include download URLs
+- Completed import processes include CSV report URLs with details about problematic records
- Different process types return different result structures
@@ -3588,7 +3650,6 @@ Key information returned:
```typescript
await client.webhooks.createWebhook({
- events: ["sent"],
url: "http://requestb.in/173lyyx1"
});
@@ -4377,24 +4438,51 @@ await client.externalFeeds.deleteExternalFeed({
Custom objects are only available to Enterprise plans.
This feature is in beta. These are subject to change.
-This API allows bulk upsert of object records in a single request. Each object record may include
- - Attributes
- - Identifiers
- - Associations
-**Response:**
- The API processes the request asynchronously and returns a processId that you can use to track the background process status.
-**API and Schema Limitation:**
- - Size:
- - Max 1000 objects records per request
- - Max request body size: 1 MB
- - Max 500 attributes defined per object record upsert request
- - This is coherent with schema limitation: an object cannot have more than 500 attributes.
- - Worth noting: Nothing happens If an attribute is mentioned in the request, but was not previously defined for the object schema (no error, no attribute creation)
- - Max 10 associations defined per associated object type, in each record of the request
- - This is not a schema limitation. You can associate an object record to an unlimited number of other object records by running multiple requests.
+Performs bulk create or update (upsert) operations for object records in a single asynchronous request. This endpoint is optimized for high-volume data imports and synchronization scenarios.
+
+**How Upsert Works:**
+- **Create**: Omit `identifiers`, or provide only `ext_id` (if it doesn't already exist). A new record is created with a Brevo-generated `id`.
+- **Update**: Provide `id` (Brevo internal ID) or an `ext_id` that already exists. The matching record is updated with the new attribute values.
+- **Important:** `id` is for **updates only**. Providing an `id` that does not belong to an existing record will fail during async processing (the HTTP response will still be 202, but the record will be rejected in the background). To create a new record with a stable external reference, use `ext_id` instead.
+
+**Request Structure:**
+Each object record in the `records` array can include:
+- `identifiers`: Either `id` (internal Brevo ID) or `ext_id` (your external system ID) — required for updates. **Note:** use `id` (singular), not `ids`.
+- `attributes`: Key-value pairs where each key is the attribute **key** (e.g., `company_name`), not the attribute label (e.g., "Company Name").
+- `associations`: Controls linking and unlinking of associated records (optional). Each entry specifies:
+ - `object_type`: The type of the associated object
+ - `action`: `link` (default) to create the association, or `unlink` to remove it
+ - `records`: The associated records to link or unlink (each identified by `ext_id` or `id`)
+ - **Unlink is idempotent** — unlinking a non-existing association is a no-op (no error returned)
+ - `link` and `unlink` actions can be submitted for the same `object_type` in a single record entry
+ - Both associated records must already exist before a link can be created
+
+> **Common mistake:** Passing the attribute **label** (the display name you see in the UI) instead of the attribute **key** will cause the attribute to be silently ignored and the record may not be created as expected.
+
+**Asynchronous Processing:**
+- Returns immediately with a `processId` (HTTP 202 Accepted)
+- Use the processId to track status via the Get process API
+
+**API and Schema Limitations:**
+- Max 1000 object records per request
+- Max request body size: 1 MB
+- Max 500 attributes per object record (matches the schema limit of 500 attributes per object)
+- Unknown attribute keys are silently ignored (no error, no attribute creation)
+- Max 10 association records per associated object-type in each record of the request. If you need more, send multiple requests.
+
+**Important Behaviors:**
+- The object schema must be created before upserting records
+- Unknown attribute keys are silently ignored (no error, no creation)
+- Both associated object records must already exist before creating a link association
+- Unlink operations are idempotent: attempting to unlink a non-existing association returns success
+- `link` and `unlink` actions can be submitted for the same `object_type` in a single record entry
+- Contact objects cannot be created via this endpoint
+- For `category` and `multiple_category` attributes, pass the option **key** as the value (not the option label or option ID).
+- The `id` identifier (internal Brevo ID) can only be used for **updating** existing records. To create new records, either omit identifiers (Brevo auto-generates an ID) or provide an `ext_id`.
+
**Errors:**
- - Make sure both object records exist before associating them, else the API will return an error.
- - This route does not create objects. The object where the object records are upserted by this API must be created already else the API will return an error "invalid object type".
+- Make sure both object records exist before associating them, else the API will return an error.
+- This route does not create objects. The object where the object records are upserted by this API must be created already else the API will return an error "invalid object type".
@@ -4411,7 +4499,34 @@ This API allows bulk upsert of object records in a single request. Each object r
```typescript
await client.customObjects.upsertrecords({
object_type: "vehicle",
- records: [{}]
+ records: [{
+ associations: [{
+ object_type: "garage",
+ action: "link",
+ records: [{
+ identifiers: {
+ id: 435435
+ }
+ }]
+ }, {
+ object_type: "garage",
+ action: "unlink",
+ records: [{
+ identifiers: {
+ ext_id: "old-garage-001"
+ }
+ }]
+ }],
+ attributes: {
+ "make": "Toyota",
+ "model": "Camry",
+ "year": 2020,
+ "engine_type": "hybrid"
+ },
+ identifiers: {
+ ext_id: "VIN123"
+ }
+ }]
});
```
@@ -4530,8 +4645,8 @@ await client.customObjects.getrecords({
-
Use this endpoint to delete multiple object records of the same object-type in one request.
-The request is accepted and processed asynchronously. You can track the status of the deletion process using the returned **processId**.
-**API and Schema Limitations:** - Each request can contain up to **1000** object record identifiers - If more records must be deleted → send multiple batch requests
+The request is accepted and processed asynchronously. You can track the status of the deletion process using the returned **processId**.
+**Limitations:** - Each request can contain up to **1000** object record identifiers - Either `ids` or `ext_ids` must be provided, but **not both** in the same request - Deletion of Brevo standard object records is not supported via this endpoint - If more records must be deleted, send multiple batch requests
@@ -4592,6 +4707,20 @@ await client.customObjects.batchDeleteObjectRecords({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve all contacts from your Brevo account with support for pagination, filtering, and sorting. Results default to 50 contacts per page (maximum 1000) sorted in descending order of creation, and can be filtered by modification date, creation date, contact IDs (up to 20), list IDs, segment ID, or contact attributes using the equals operator. Note that either listIds or segmentId can be passed but not both simultaneously.
+
+
+
+
+
#### 🔌 Usage
@@ -4706,6 +4835,20 @@ await client.contacts.createContact();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve all contact attributes defined in your Brevo account, grouped by category (normal, transactional, category, calculated, global). Each attribute includes its name, type, and category, along with enumeration values for category-type attributes and options for multiple-choice-type attributes.
+
+
+
+
+
#### 🔌 Usage
@@ -4747,6 +4890,20 @@ await client.contacts.getAttributes();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Create a new contact attribute under the specified category and name. The required body properties depend on the category: use "type" for normal, transactional, or category attributes; use "value" for calculated or global attributes; use "enumeration" for category attributes; and use "multiCategoryOptions" for normal multiple-choice attributes. None of the category or multicategory option values can exceed 200 characters.
+
+
+
+
+
#### 🔌 Usage
@@ -4799,6 +4956,20 @@ await client.contacts.createAttribute({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Update an existing contact attribute identified by its category and name. For category-type attributes, you can update the enumeration values; for calculated or global attributes, update the computed value formula; and for normal multiple-choice attributes, update the multicategory options. None of the category or multicategory option values can exceed 200 characters.
+
+
+
+
+
#### 🔌 Usage
@@ -4851,6 +5022,20 @@ await client.contacts.updateAttribute({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Permanently delete an existing contact attribute by its category and name. The attribute must exist in the specified category (normal, transactional, category, calculated, or global), otherwise a 404 error is returned.
+
+
+
+
+
#### 🔌 Usage
@@ -4903,6 +5088,20 @@ await client.contacts.deleteAttribute({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Delete a specific option from an existing multiple-choice contact attribute. The attribute type must be "multiple-choice", and both the attribute name and the option to delete must already exist in your account.
+
+
+
+
+
#### 🔌 Usage
@@ -4956,6 +5155,20 @@ await client.contacts.deleteMultiAttributeOptions({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Update multiple contacts in a single API call by passing an array of contact objects. Each contact in the array must be identified by one of: email, id, or sms (only one identifier per contact). You can update attributes, blacklist status, list memberships, ext_id, and transactional email forbidden senders for each contact in the batch.
+
+
+
+
+
#### 🔌 Usage
@@ -5205,6 +5418,20 @@ await client.contacts.getFolders();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Create a new folder to organize your contact lists. Folders serve as containers for grouping related lists together. The folder name is required and must be provided in the request body.
+
+
+
+
+
#### 🔌 Usage
@@ -5321,6 +5548,20 @@ await client.contacts.getFolder({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Update the name of an existing folder identified by its ID. The new folder name must be provided in the request body. Returns a 404 error if the folder ID does not exist.
+
+
+
+
+
#### 🔌 Usage
@@ -5373,6 +5614,20 @@ await client.contacts.updateFolder({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Permanently delete a folder identified by its ID. Deleting a folder will also delete all the contact lists contained within it. This action cannot be undone.
+
+
+
+
+
#### 🔌 Usage
@@ -5619,6 +5874,20 @@ await client.contacts.getLists();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Create a new contact list inside a specified folder. Both the list name and the parent folder ID are required. The newly created list will be empty and ready to receive contacts via the add contacts endpoint.
+
+
+
+
+
#### 🔌 Usage
@@ -5671,6 +5940,20 @@ await client.contacts.createList({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve the details of a specific contact list by its ID, including its name, folder ID, creation date, subscriber counts, and campaign statistics. You can optionally filter campaign statistics by providing startDate and endDate parameters (both must be used together in YYYY-MM-DD format).
+
+
+
+
+
#### 🔌 Usage
@@ -5722,6 +6005,20 @@ await client.contacts.getList({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Update an existing contact list identified by its ID. You can update the list name, move it to a different folder by providing a new folderId, or both. Only one of the two parameters (name, folderId) needs to be provided per request.
+
+
+
+
+
#### 🔌 Usage
@@ -5773,6 +6070,20 @@ await client.contacts.updateList({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Permanently delete a contact list identified by its ID. The contacts in the list are not deleted; they are only removed from this list. Returns a 404 error if the list ID does not exist.
+
+
+
+
+
#### 🔌 Usage
@@ -5824,7 +6135,7 @@ await client.contacts.deleteList({
-
-#### 🔌 Usage
+#### 📝 Description
-
@@ -5832,10 +6143,24 @@ await client.contacts.deleteList({
-
-```typescript
-await client.contacts.getContactsFromList({
- listId: 1000000
-});
+Retrieve all contacts belonging to a specific list, identified by its list ID. Results are paginated with a default of 50 contacts per page (maximum 500) and sorted in descending order of creation. You can optionally filter contacts by their modification date using the modifiedSince parameter.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.contacts.getContactsFromList({
+ listId: 1000000
+});
```
@@ -5983,6 +6308,20 @@ await client.contacts.removeContactFromList({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve all contact segments defined in your Brevo account with support for pagination and sorting. Results default to 10 segments per page (maximum 50) sorted in descending order of creation. Each segment includes its ID, name, category name, and last update timestamp.
+
+
+
+
+
#### 🔌 Usage
@@ -6231,6 +6570,20 @@ await client.contacts.deleteContact({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve email campaign statistics for a specific contact identified by email address or numeric ID. Statistics include messages sent, opens, clicks, hard/soft bounces, deliveries, unsubscriptions, complaints, and transactional attributes. By default, data covers the last 90 days; use startDate and endDate parameters (YYYY-MM-DD) to specify a custom range with a maximum span of 90 days.
+
+
+
+
+
#### 🔌 Usage
@@ -6291,7 +6644,7 @@ await client.contacts.getContactStats({
-
-We recommend pinging this endpoint every minute for as long as the agent has to be considered online.
+Sets the agent's status to online for 2-3 minutes. We recommend pinging this endpoint every minute for as long as the agent has to be considered online. You must provide either `agentId` alone, or all three of `agentEmail` + `agentName` + `receivedFrom`.
@@ -6348,6 +6701,20 @@ await client.conversations.setsAgentsStatusToOnlineFor23Minutes({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Send a message as an agent to an existing visitor's conversation. You must provide either `agentId` alone, or all three of `agentEmail` + `agentName` + `receivedFrom` to identify the agent.
+
+
+
+
+
#### 🔌 Usage
@@ -6401,6 +6768,20 @@ await client.conversations.sendAMessageAsAnAgent({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve a single message by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -6460,7 +6841,7 @@ await client.conversations.getAMessage({
-
-Only agents’ messages can be edited.
+Update the text of a message sent by an agent. Only messages of type `agent` can be edited. The `text` and `html` fields of the message will be updated.
@@ -6526,7 +6907,7 @@ await client.conversations.updateAMessageSentByAnAgent({
-
-Only agents’ messages can be deleted.
+Delete a message sent by an agent. Only messages of type `agent` can be deleted.
@@ -6591,7 +6972,7 @@ await client.conversations.deleteAMessageSentByAnAgent({
-
-Example of automated messages: order status, announce new features in your web app, etc.
+Send an automated (pushed) message to a visitor on behalf of an agent. Example use cases: order status updates, announcing new features in your web app, etc.
@@ -6608,7 +6989,7 @@ Example of automated messages: order status, announce new features in your web a
```typescript
await client.conversations.sendAnAutomatedMessageToAVisitor({
groupId: "PjRBMhWGen6aRHjif",
- text: "Your order has shipped! Here\u2019s your tracking number: 9114 5847 3325 9667 4328 88",
+ text: "Your order has shipped! Here's your tracking number: 9114 5847 3325 9667 4328 88",
visitorId: "kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg"
});
@@ -6650,6 +7031,20 @@ await client.conversations.sendAnAutomatedMessageToAVisitor({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve a single automated (pushed) message by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -6701,6 +7096,20 @@ await client.conversations.getAnAutomatedMessage({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Update the text of an automated (pushed) message. The `text` and `html` fields of the message will be updated.
+
+
+
+
+
#### 🔌 Usage
@@ -6712,7 +7121,7 @@ await client.conversations.getAnAutomatedMessage({
```typescript
await client.conversations.updateAnAutomatedMessage({
id: "id",
- text: "Your order has shipped! Here\u2019s your tracking number: 9114 5847 4668 7775 9233 54"
+ text: "Your order has shipped! Here's your tracking number: 9114 5847 4668 7775 9233 54"
});
```
@@ -6753,6 +7162,20 @@ await client.conversations.updateAnAutomatedMessage({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Delete an automated (pushed) message by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -6870,6 +7293,20 @@ await client.conversations.setVisitorGroupAssignment({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve a paginated list of all ecommerce categories stored in your Brevo account. Results are sorted by creation date in descending order by default, and can be filtered by category IDs, name, modification date, creation date, or deletion status. The response includes a `count` field with the total number of matching categories, and pagination defaults to 50 categories per page (maximum 100).
+
+
+
+
+
#### 🔌 Usage
@@ -6919,6 +7356,20 @@ await client.ecommerce.getCategories();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Create a new ecommerce category or update an existing one, identified by the mandatory `id` field. When `updateEnabled` is set to `false` (the default), the endpoint performs an insert and returns `201`; if the category ID already exists, a `400` error is returned. When `updateEnabled` is `true`, the endpoint performs an upsert, returning `201` for a new category or `204` when an existing category is updated. The `name` field is mandatory for creation but optional for updates.
+
+
+
+
+
#### 🔌 Usage
@@ -6970,6 +7421,20 @@ await client.ecommerce.createUpdateCategory({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Create or update multiple ecommerce categories in a single request. The `categories` array accepts up to 100 category objects, each requiring a unique `id`. When `updateEnabled` is `false` (the default), all categories are inserted as new; if any ID already exists, a `400` error is returned. When `updateEnabled` is `true`, existing categories are updated and new ones are created via upsert. Duplicate IDs within the same request payload are rejected. The response returns the count of created and updated categories.
+
+
+
+
+
#### 🔌 Usage
@@ -7023,6 +7488,20 @@ await client.ecommerce.createUpdateBatchCategory({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve the full details of a single ecommerce category by its unique ID. The response includes the category name, URL, creation and modification timestamps, and deletion status. Returns a `404` error if no category matches the provided ID.
+
+
+
+
+
#### 🔌 Usage
@@ -7129,6 +7608,20 @@ await client.ecommerce.activateTheECommerceApp();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve aggregated ecommerce attribution metrics for one or more Brevo email campaigns, SMS campaigns, or automation workflows. You can optionally filter by a date range using `periodFrom` and `periodTo` in RFC3339 format. The response includes per-source metrics (orders count, revenue, and average basket) as well as aggregated totals across all requested sources.
+
+
+
+
+
#### 🔌 Usage
@@ -7140,7 +7633,8 @@ await client.ecommerce.activateTheECommerceApp();
```typescript
await client.ecommerce.getAttributionMetricsForOneOrMoreBrevoCampaignsOrWorkflows({
periodFrom: "2022-01-02T00:00:00Z",
- periodTo: "2022-01-03T00:00:00Z"
+ periodTo: "2022-01-03T00:00:00Z",
+ "emailCampaignId[]": ["sale"]
});
```
@@ -7181,6 +7675,20 @@ await client.ecommerce.getAttributionMetricsForOneOrMoreBrevoCampaignsOrWorkflow
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve detailed attribution metrics for a single Brevo campaign or automation workflow, identified by its conversion source type and ID. The response includes orders count, revenue, average basket value, and the number of new customers attributed to that specific campaign or workflow.
+
+
+
+
+
#### 🔌 Usage
@@ -7233,6 +7741,20 @@ await client.ecommerce.getDetailedAttributionMetricsForASingleBrevoCampaignOrWor
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve the list of products whose sales have been attributed to a specific Brevo campaign or automation workflow. Each product entry includes its ID, name, SKU, image URL, product URL, price, revenue, and orders count. The conversion source type must be one of `email_campaign`, `sms_campaign`, `automation_workflow_email`, or `automation_workflow_sms`.
+
+
+
+
+
#### 🔌 Usage
@@ -7285,6 +7807,20 @@ await client.ecommerce.getAttributedProductSalesForASingleBrevoCampaignOrWorkflo
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve the ISO 4217 display currency code currently configured for your Brevo ecommerce account. This currency is used to display monetary values across the ecommerce dashboard and reports. Returns a `403` error if ecommerce is not activated on the account.
+
+
+
+
+
#### 🔌 Usage
@@ -7326,6 +7862,20 @@ await client.ecommerce.getTheIso4217CompliantDisplayCurrencyCodeForYourBrevoAcco
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Set or update the ISO 4217 display currency code for your Brevo ecommerce account. This currency determines how monetary values are displayed in the ecommerce dashboard and reports. The provided currency code must be a valid ISO 4217 code; invalid codes result in a `422` error. Returns a `403` error if ecommerce is not activated on the account.
+
+
+
+
+
#### 🔌 Usage
@@ -7588,6 +8138,20 @@ await client.ecommerce.createBatchOrder({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve a paginated list of all ecommerce products stored in your Brevo account. Results are sorted by creation date in descending order by default, and can be filtered by product IDs, name (minimum 3 characters), price range, category IDs, modification date, creation date, or deletion status. Use the `search` parameter to query across SKU, name, and ID simultaneously — results are prioritized as exact SKU match > SKU prefix match > name match > ID match. Pagination defaults to 50 products per page (maximum 1000), and the response includes a `count` field with the total number of matching products.
+
+
+
+
+
#### 🔌 Usage
@@ -7637,6 +8201,20 @@ await client.ecommerce.getProducts();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Create a new ecommerce product or update an existing one, identified by the mandatory `id` field. When `updateEnabled` is `false` (the default), the endpoint inserts a new product and returns `201`; if the product ID already exists, a `400` error is returned. When `updateEnabled` is `true`, the endpoint performs an upsert, returning `201` for a new product or `204` for an update. The `name` field is mandatory for creation but optional for updates. Product images are downloaded, validated (max 5 MB, formats: jpeg, jpg, png, bmp, gif, webp), and re-hosted on S3. The `metaInfo` object supports up to 20 keys with a cumulative size limit of approximately 1000 KB.
+
+
+
+
+
#### 🔌 Usage
@@ -7689,7 +8267,7 @@ await client.ecommerce.createUpdateProduct({
-
-#### 🔌 Usage
+#### 📝 Description
-
@@ -7697,9 +8275,23 @@ await client.ecommerce.createUpdateProduct({
-
-```typescript
-await client.ecommerce.createUpdateBatchProducts({
- products: [{
+Create or update multiple ecommerce products in a single request. The `products` array accepts up to 100 product objects for creation (or up to 1000 when `updateEnabled` is `true` and the account has an increased limit). Each product requires a unique `id` and `name` (name is mandatory for creation only). When `updateEnabled` is `false`, all products are inserted as new; if any ID already exists, a `400` error is returned. When `updateEnabled` is `true`, existing products are updated and new ones are created via upsert. Duplicate IDs within the same request payload are rejected. The response returns the count of created and updated products.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.ecommerce.createUpdateBatchProducts({
+ products: [{
id: "P11",
name: "Iphone 11"
}]
@@ -7743,6 +8335,20 @@ await client.ecommerce.createUpdateBatchProducts({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve the full details of a single ecommerce product by its unique ID. The response includes the product name, price, SKU, URL, image URLs (original and thumbnails), categories, stock level, meta information, creation and modification timestamps, and deletion status. Returns a `404` error if no product matches the provided ID.
+
+
+
+
+
#### 🔌 Usage
@@ -7794,6 +8400,20 @@ await client.ecommerce.getProductInfo({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Register a contact to receive an alert for a specific product event, such as `back_in_stock`. At least one contact identifier (`ext_id`, `email`, or `sms`) must be provided; when multiple are given, priority is `ext_id` > `email` > `sms`. Returns a `404` error if the product ID does not exist, and a `403` error if product alerts are not enabled for the account.
+
+
+
+
+
#### 🔌 Usage
@@ -7847,6 +8467,20 @@ await client.ecommerce.createProductAlert({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve a paginated list of all coupon collections in your Brevo account. Results can be sorted by creation date, remaining coupons count, or expiration date, in ascending or descending order. Pagination defaults to 50 collections per page (maximum 100).
+
+
+
+
+
#### 🔌 Usage
@@ -7896,6 +8530,20 @@ await client.coupons.getCouponCollections();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Create a new coupon collection with a name and a default coupon value. You can optionally set an expiration date in RFC3339 format and configure alert thresholds to receive email notifications when remaining coupons or remaining days before expiration fall below a specified number. The collection ID is auto-generated as a UUID and returned in the response.
+
+
+
+
+
#### 🔌 Usage
@@ -7948,6 +8596,20 @@ await client.coupons.createCouponCollection({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve the details of a single coupon collection by its UUID. The response includes the collection name, default coupon value, total and remaining coupon counts, and creation timestamp. Returns a `404` error if no collection matches the provided ID.
+
+
+
+
+
#### 🔌 Usage
@@ -7999,6 +8661,20 @@ await client.coupons.getCouponCollection({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Update an existing coupon collection by its UUID. You can modify the default coupon value, set or remove the expiration date (pass `null` to remove), and configure or disable alert thresholds for remaining coupons or remaining days. Only the fields included in the request body are updated; omitted fields remain unchanged.
+
+
+
+
+
#### 🔌 Usage
@@ -8050,6 +8726,20 @@ await client.coupons.updateCouponCollection({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Add coupons to an existing coupon collection. The `coupons` array must contain between 1 and 10,000 unique coupon code strings, all associated with the specified `collectionId`. Coupon creation is processed asynchronously and a `204` status is returned immediately upon acceptance. Returns a `404` error if the specified coupon collection does not exist.
+
+
+
+
+
#### 🔌 Usage
@@ -8103,6 +8793,20 @@ await client.coupons.createCoupons({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Create a new payment request for a Brevo contact. The request requires a reference (displayed on the payment page), a contact ID, and a cart with currency and amount in cents. You can optionally configure a custom success redirect URL and enable email notifications with reminders. Returns the payment request ID and its public payment URL. A `403` error is returned if Brevo Payments is not activated or the account is not validated.
+
+
+
+
+
#### 🔌 Usage
@@ -8159,6 +8863,20 @@ await client.payments.createPaymentRequest({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve the details of a specific payment request by its ID. The response includes the reference, status (created, sent, reminderSent, or paid), cart details, notification configuration, contact ID, and the number of reminders sent. Returns a `404` error if no payment request matches the provided ID.
+
+
+
+
+
#### 🔌 Usage
@@ -8210,6 +8928,20 @@ await client.payments.getPaymentRequest({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Delete a payment request by its UUID. Once deleted, the payment request can no longer be accessed or paid. Returns a `404` error if no payment request matches the provided ID, and a `403` error if Brevo Payments is not activated or the account is not validated.
+
+
+
+
+
#### 🔌 Usage
@@ -8418,10 +9150,12 @@ Create multiple events to track contacts' interactions in a single request.
-
```typescript
-await client.event.createBatchEvents([{
- event_name: "order_created",
- identifiers: {}
- }]);
+await client.event.createBatchEvents({
+ events: [{
+ event_name: "order_created",
+ identifiers: {}
+ }]
+});
```
@@ -8437,7 +9171,7 @@ await client.event.createBatchEvents([{
-
-**request:** `Brevo.CreateBatchEventsRequestItem[]`
+**request:** `Brevo.CreateBatchEventsRequest`
@@ -8470,7 +9204,7 @@ await client.event.createBatchEvents([{
-
-This endpoint will show the list of all the events for the received emails.
+This endpoint will show the list of all the events for the received emails. When no date range is provided, the last 30 days of events are returned by default.
@@ -8652,7 +9386,7 @@ await client.inboundParsing.getInboundEmailAttachment({
## Balance
-client.balance.getActiveBalancesApi({ ...params }) -> Brevo.BalanceLimit
+client.balance.getActiveBalancesApi({ ...params }) -> Brevo.GetLoyaltyBalanceProgramsPidActiveBalanceResponse
-
@@ -8681,8 +9415,8 @@ Returns Active Balances
```typescript
await client.balance.getActiveBalancesApi({
pid: "pid",
- contact_id: 1,
- balance_definition_id: "balance_definition_id"
+ contactId: 1000000,
+ balanceDefinitionId: "balanceDefinitionId"
});
```
@@ -9340,7 +10074,7 @@ await client.balance.deleteBalanceLimit({
-
-Returns balance list
+Returns contact balances for a given balance definition across all subscriptions.
@@ -9356,7 +10090,8 @@ Returns balance list
```typescript
await client.balance.getContactBalances({
- pid: "pid"
+ pid: "pid",
+ balanceDefinitionId: "balanceDefinitionId"
});
```
@@ -9426,7 +10161,7 @@ await client.balance.createBalanceOrder({
balanceDefinitionId: "balanceDefinitionId",
contactId: 1,
dueAt: "dueAt",
- source: "source"
+ source: "engine"
});
```
@@ -9625,7 +10360,7 @@ Returns transaction history
```typescript
await client.balance.getTransactionHistoryApi({
pid: "pid",
- contactId: 1,
+ contactId: 1000000,
balanceDefinitionId: "balanceDefinitionId"
});
@@ -10609,7 +11344,7 @@ Subscribes to a loyalty program
```typescript
await client.program.subscribeToLoyaltyProgram({
pid: "pid",
- contactId: 1
+ contactId: 1000000
});
```
@@ -11986,7 +12721,7 @@ await client.tier.deleteTier({
-
The response payload for this endpoint has changed
-You now need to specify which type of statistics you would like to retrieve. For more information visit [this page](https://developers.brevo.com/changelog/get-all-marketing-campaigns).
+You now need to specify which type of statistics you would like to retrieve. For more information visit [this page](https://developers.brevo.com/changelog/2023/2/7).
@@ -12041,6 +12776,20 @@ await client.emailCampaigns.getEmailCampaigns();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Create a new email campaign. The campaign requires at minimum a name and sender details, and is created in draft status by default. You must provide email content via one of three mutually exclusive options: htmlContent (inline HTML), htmlUrl (remote URL), or templateId (existing template); additionally, A/B testing can be enabled by setting abTesting to true with subjectA and subjectB, but this is incompatible with sendAtBestTime.
+
+
+
+
+
#### 🔌 Usage
@@ -12093,6 +12842,20 @@ await client.emailCampaigns.createEmailCampaign({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Upload an image to your account''s image gallery by providing an absolute URL to the image. The maximum allowed image size is 2MB and supported formats are jpeg, jpg, png, bmp, and gif; local file uploads are not supported.
+
+
+
+
+
#### 🔌 Usage
@@ -12144,6 +12907,20 @@ await client.emailCampaigns.uploadImageToGallery({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve detailed information about a specific email campaign by its ID, including recipients, statistics, and HTML content. Use the statistics query parameter to select which statistics to include (globalStats, linksStats, statsByDomain, statsByDevice, or statsByBrowser); statsByDevice and statsByBrowser are only available on this single-campaign endpoint. You can exclude HTML content from the response by setting excludeHtmlContent to true.
+
+
+
+
+
#### 🔌 Usage
@@ -12195,6 +12972,20 @@ await client.emailCampaigns.getEmailCampaign({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Update an existing email campaign''s properties such as name, subject, content, sender, recipients, schedule, and A/B testing configuration. The campaign must exist and the request body must contain at least one valid field to update. Only draft or scheduled campaigns can be modified; if sendAtBestTime is enabled, IP warmup will be automatically disabled.
+
+
+
+
+
#### 🔌 Usage
@@ -12246,6 +13037,20 @@ await client.emailCampaigns.updateEmailCampaign({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Delete an email campaign by its campaign ID. Only campaigns that have not been scheduled can be deleted; attempting to delete a campaign that has already been scheduled will return a 403 permission denied error. Related data in templates, newsletter builder, and schedule collections is also cleaned up.
+
+
+
+
+
#### 🔌 Usage
@@ -12362,6 +13167,20 @@ await client.emailCampaigns.getAbTestCampaignResult({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Export the recipients of a sent email campaign as an asynchronous process, filtered by recipient type (e.g. openers, clickers, hardBounces). The recipientsType field is required and determines which subset of recipients to export. An optional notifyURL webhook will be called once the export is complete, and the response returns a processId to track the export status.
+
+
+
+
+
#### 🔌 Usage
@@ -12414,6 +13233,20 @@ await client.emailCampaigns.emailExportRecipients({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Send an existing email campaign immediately by scheduling it for the current time. The campaign must have valid recipients and content configured before sending. The system verifies your account''s send limit and credit balance before dispatching; if credits are insufficient, a 402 error is returned.
+
+
+
+
+
#### 🔌 Usage
@@ -12536,7 +13369,7 @@ await client.emailCampaigns.sendReport({
-
-#### 🔌 Usage
+#### 📝 Description
-
@@ -12544,19 +13377,33 @@ await client.emailCampaigns.sendReport({
-
-```typescript
-await client.emailCampaigns.sendTestEmail({
- campaignId: 1000000,
- body: {}
-});
-
-```
+Send a test version of an email campaign to specified email addresses or your entire test list. If the emailTo array is left empty, the test mail will be sent to all addresses in your test list. You can send a maximum of 50 test emails per day.
-#### ⚙️ Parameters
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.emailCampaigns.sendTestEmail({
+ campaignId: 1000000,
+ body: {}
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
-
@@ -12653,6 +13500,20 @@ await client.emailCampaigns.getSharedTemplateUrl({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Update the status of an email campaign, such as suspending, archiving, or replicating it. Available status values include suspended, archive, darchive, sent, queued, replicate, replicateTemplate, cancel, and draft. Note that the replicateTemplate status is only available for template type campaigns.
+
+
+
+
+
#### 🔌 Usage
@@ -12706,6 +13567,20 @@ await client.emailCampaigns.updateCampaignStatus({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve a paginated list of all your SMS campaigns with their statistics and recipient information. Results can be filtered by status and date range, with a default limit of 500 and maximum of 1000 per page. The sort order defaults to descending by creation date; date filters are only available when status is not passed or is set to sent.
+
+
+
+
+
#### 🔌 Usage
@@ -12755,6 +13630,20 @@ await client.smsCampaigns.getSmsCampaigns();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Create a new SMS campaign with the required name, sender, and content fields. The sender name is limited to 11 alphanumeric characters or 15 numeric characters, and the content should stay within 160 characters per SMS segment. If a scheduledAt date is provided, listIds in recipients become mandatory; accounts under validation are limited to 4 total campaigns and campaigns with more than 10 recipients will be saved as draft.
+
+
+
+
+
#### 🔌 Usage
@@ -12808,6 +13697,20 @@ await client.smsCampaigns.createSmsCampaign({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve detailed information about a specific SMS campaign by its ID, including campaign content, sender, recipients with list names, statistics (delivered, sent, bounces, unsubscriptions, answered), and tags. Unlike the list endpoint, recipients are returned as objects with id and name fields rather than plain IDs.
+
+
+
+
+
#### 🔌 Usage
@@ -12859,6 +13762,20 @@ await client.smsCampaigns.getSmsCampaign({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Update an existing SMS campaign''s properties such as name, sender, content, recipients, scheduled date, organisation prefix, and unsubscribe instructions. The request body must contain at least one valid field to update. The campaign must exist and must be of type SMS; if a scheduledAt is provided, valid recipients must be present either in the request or already configured on the campaign.
+
+
+
+
+
#### 🔌 Usage
@@ -12910,6 +13827,20 @@ await client.smsCampaigns.updateSmsCampaign({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Delete an SMS campaign by its campaign ID. Only campaigns that have not been scheduled or sent can be deleted; attempting to delete a campaign that is queued, in process, or has been sent with recipients will return a 403 permission denied error.
+
+
+
+
+
#### 🔌 Usage
@@ -13027,6 +13958,20 @@ await client.smsCampaigns.requestSmsRecipientExport({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Send an existing SMS campaign immediately by scheduling it for the current time. The system verifies your account''s SMS credit balance before dispatching; if credits are insufficient or the remaining credit is less than the number of recipients, a 402 error is returned. The campaign must have valid recipients and content already configured.
+
+
+
+
+
#### 🔌 Usage
@@ -13149,6 +14094,20 @@ await client.smsCampaigns.sendSmsReport({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Send a test SMS to a specified phone number to preview the campaign before sending it to all recipients. The phone number must belong to one of your existing contacts in your Brevo account and must not be blacklisted. The number should include the country code (e.g. 33689965433).
+
+
+
+
+
#### 🔌 Usage
@@ -13200,6 +14159,20 @@ await client.smsCampaigns.sendTestSms({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Update the status of an SMS campaign, such as suspending, archiving, or replicating it. Available status values include suspended, archive, darchive, sent, queued, replicate, replicateTemplate, cancel, and draft. Note that the replicateTemplate status is only available for template type campaigns.
+
+
+
+
+
#### 🔌 Usage
@@ -13253,6 +14226,20 @@ await client.smsCampaigns.updateSmsCampaignStatus({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve a paginated list of all your WhatsApp campaigns with their statistics and metadata. Results can be filtered by creation date range using startDate and endDate, with a default limit of 50 and maximum of 100 per page. The sort order defaults to descending by modification date.
+
+
+
+
+
#### 🔌 Usage
@@ -13499,6 +14486,20 @@ await client.whatsAppCampaigns.createWhatsAppTemplate({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve a paginated list of all your WhatsApp templates with their status, category, language, and metadata. Results can be filtered by creation date range and optionally by source (Automation or Conversations), with a default limit of 50 and maximum of 100 per page. The sort order defaults to descending by modification date.
+
+
+
+
+
#### 🔌 Usage
@@ -13752,6 +14753,20 @@ await client.whatsAppCampaigns.updateWhatsAppCampaign({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Delete a WhatsApp campaign by its campaign ID. The campaign must exist; if the campaign ID is not found, a 404 error is returned. This action is permanent and cannot be undone.
+
+
+
+
+
#### 🔌 Usage
@@ -13804,6 +14819,20 @@ await client.whatsAppCampaigns.deleteWhatsAppCampaign({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve a paginated list of companies with optional filtering, sorting, and search capabilities. Results are sorted by creation date in descending order by default, and can be filtered by attributes, linked contacts, linked deals, or modification/creation timestamps.
+
+
+
+
+
#### 🔌 Usage
@@ -13853,6 +14882,20 @@ await client.companies.getAllCompanies();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Create a new CRM company with the specified name, attributes, and optional associations to contacts and deals. The company name is required, and you can optionally provide a country code when a phone number attribute is included.
+
+
+
+
+
#### 🔌 Usage
@@ -13967,6 +15010,20 @@ await client.companies.importCompaniesCreationAndUpdation({});
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Link or unlink contacts and deals with a specific company in a single request. You can simultaneously link new contacts/deals and unlink existing ones by providing the respective ID arrays in the request body.
+
+
+
+
+
#### 🔌 Usage
@@ -14018,6 +15075,20 @@ await client.companies.linkAndUnlinkCompanyWithContactAndDeal({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve the full details of a single company by its identifier, including its attributes, linked contacts, and linked deals. Returns a 404 error if the company does not exist, or a 403 error if the user lacks permission to view the company.
+
+
+
+
+
#### 🔌 Usage
@@ -14069,6 +15140,20 @@ await client.companies.getACompany({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Permanently delete a company by its identifier. The requesting user must be the company owner or have manage permission on companies; otherwise, a 403 Forbidden error is returned.
+
+
+
+
+
#### 🔌 Usage
@@ -14120,6 +15205,20 @@ await client.companies.deleteACompany({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Update an existing company''s attributes, name, linked contacts, or linked deals. Note that passing `linkedContactsIds` or `linkedDealsIds` replaces the entire list of associations, so omitted IDs will be removed. The company name cannot be set to an empty string.
+
+
+
+
+
#### 🔌 Usage
@@ -14171,7 +15270,21 @@ await client.companies.updateACompany({
-
-#### 🔌 Usage
+#### 📝 Description
+
+
+-
+
+
+-
+
+Create a new custom attribute for companies or deals. The attribute label must be unique within the object type, cannot exceed 50 characters, and cannot use reserved names. For `single-select` or `multi-choice` attribute types, you must also provide the `optionsLabels` array.
+
+
+
+
+
+#### 🔌 Usage
-
@@ -14224,6 +15337,20 @@ await client.companies.createACompanyDealAttribute({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Delete an existing custom attribute by its identifier. This permanently removes the attribute definition and cleans up all references to it across companies or deals. System-default and non-editable attributes cannot be deleted.
+
+
+
+
+
#### 🔌 Usage
@@ -14275,6 +15402,20 @@ await client.companies.deleteAnAttribute({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Update an existing custom attribute''s label or options. You can rename the attribute label or modify the available options for `single-select` and `multi-choice` attribute types. System-default attributes cannot be modified except for specific editable fields.
+
+
+
+
+
#### 🔌 Usage
@@ -14326,6 +15467,20 @@ await client.companies.updateAnAttribute({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve the list of all attributes defined for companies, including both system-default and custom attributes. Each attribute includes its label, internal name, type, required status, and available options for select-type attributes.
+
+
+
+
+
#### 🔌 Usage
@@ -14368,6 +15523,20 @@ await client.companies.getCompanyAttributes();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve the list of all attributes defined for deals, including both system-default and custom attributes. Each attribute includes its label, internal name, type, required status, and available options for select-type attributes.
+
+
+
+
+
#### 🔌 Usage
@@ -14409,6 +15578,20 @@ await client.deals.getDealAttributes();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve a paginated list of deals with optional filtering, sorting, and search capabilities. Results can be filtered by attributes such as deal name or owner, linked companies, linked contacts, or modification/creation timestamps. Default sort order is descending by creation date.
+
+
+
+
+
#### 🔌 Usage
@@ -14458,6 +15641,20 @@ await client.deals.getAllDeals();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Create a new deal in the CRM with the specified name, attributes, and optional associations to contacts and companies. You can assign the deal to a specific pipeline and stage by providing `pipeline` and `deal_stage` attribute IDs, which can be retrieved from the pipeline details endpoint.
+
+
+
+
+
#### 🔌 Usage
@@ -14572,6 +15769,20 @@ await client.deals.importDealsCreationAndUpdation({});
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Link or unlink contacts and companies with a specific deal in a single request. You can simultaneously link new contacts/companies and unlink existing ones by providing the respective ID arrays in the request body.
+
+
+
+
+
#### 🔌 Usage
@@ -14623,6 +15834,20 @@ await client.deals.linkAndUnlinkADealWithContactsAndCompanies({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve the full details of a single deal by its identifier, including its attributes, pipeline stage, linked contacts, and linked companies. Returns a 404 error if the deal does not exist.
+
+
+
+
+
#### 🔌 Usage
@@ -14674,6 +15899,20 @@ await client.deals.getADeal({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Permanently delete a deal by its identifier. The requesting user must be the deal owner or have manage permission on deals; otherwise, a 403 Forbidden error is returned.
+
+
+
+
+
#### 🔌 Usage
@@ -14725,6 +15964,20 @@ await client.deals.deleteADeal({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Update an existing deal''s attributes, name, linked contacts, or linked companies. Note that passing `linkedContactsIds` or `linkedCompaniesIds` replaces the entire list of associations, so omitted IDs will be removed. To move a deal to a different pipeline or stage, provide both the `pipeline` and `deal_stage` attribute IDs.
+
+
+
+
+
#### 🔌 Usage
@@ -14831,6 +16084,20 @@ await client.deals.getPipelineStages();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve the list of all deal pipelines configured for your account, including each pipeline''s stages and settings. If no pipelines have been configured yet, a default pipeline is automatically created and returned.
+
+
+
+
+
#### 🔌 Usage
@@ -14872,6 +16139,20 @@ await client.deals.getAllPipelines();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve the details of a specific deal pipeline by its identifier, including its stages, stage ordering, and configuration. Use this endpoint to obtain the pipeline and stage IDs needed when creating or updating deals.
+
+
+
+
+
#### 🔌 Usage
@@ -14924,6 +16205,20 @@ await client.deals.getAPipeline({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve a paginated list of CRM files with optional filtering by entity type, entity IDs, and date range. Results are sorted by creation date in descending order by default, with a default limit of 50 files per page.
+
+
+
+
+
#### 🔌 Usage
@@ -14973,6 +16268,20 @@ await client.files.getAllFiles();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Upload a file and associate it with a contact, company, or deal. The file must be sent as multipart form data with a maximum size of 10 MB. You can optionally link the file to a specific entity by providing the corresponding entity ID.
+
+
+
+
+
#### 🔌 Usage
@@ -15024,6 +16333,20 @@ await client.files.uploadAFile({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Get a temporary download URL for a CRM file by its identifier. The returned URL is valid for 5 minutes only and provides direct access to the file content.
+
+
+
+
+
#### 🔌 Usage
@@ -15075,6 +16398,20 @@ await client.files.downloadAFile({
-
+#### 📝 Description
+
+
+-
+
+