diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 1bf4ab94..8ef544e6 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -115,7 +115,8 @@ export default defineConfig({ options: { appId: '8J64VVRP8K', apiKey: '52f578a92b88ad6abde815aae2b0ad7c', - indexName: 'vitepress' + indexName: 'vitepress', + askAi: 'YaVSonfX5bS8' } }, diff --git a/package.json b/package.json index e5e35a3f..0715d36a 100644 --- a/package.json +++ b/package.json @@ -95,8 +95,8 @@ "*": "prettier --experimental-cli --ignore-unknown --write" }, "dependencies": { - "@docsearch/css": "^3.9.0", - "@docsearch/js": "^3.9.0", + "@docsearch/css": "beta", + "@docsearch/js": "beta", "@iconify-json/simple-icons": "^1.2.42", "@shikijs/core": "^3.7.0", "@shikijs/transformers": "^3.7.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5964bb29..470e20e5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,11 +21,11 @@ importers: .: dependencies: '@docsearch/css': - specifier: ^3.9.0 - version: 3.9.0 + specifier: beta + version: 4.0.0-beta.1 '@docsearch/js': - specifier: ^3.9.0 - version: 3.9.0(@algolia/client-search@5.31.0) + specifier: beta + version: 4.0.0-beta.1(@algolia/client-search@5.31.0)(zod@3.25.75) '@iconify-json/simple-icons': specifier: ^1.2.42 version: 1.2.42 @@ -339,22 +339,48 @@ importers: packages: - '@algolia/autocomplete-core@1.17.9': - resolution: {integrity: sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==} + '@ai-sdk/provider-utils@2.2.8': + resolution: {integrity: sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.23.8 + + '@ai-sdk/provider@1.1.3': + resolution: {integrity: sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg==} + engines: {node: '>=18'} + + '@ai-sdk/react@1.2.12': + resolution: {integrity: sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g==} + engines: {node: '>=18'} + peerDependencies: + react: ^18 || ^19 || ^19.0.0-rc + zod: ^3.23.8 + peerDependenciesMeta: + zod: + optional: true + + '@ai-sdk/ui-utils@1.2.11': + resolution: {integrity: sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.23.8 + + '@algolia/autocomplete-core@1.19.2': + resolution: {integrity: sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==} - '@algolia/autocomplete-plugin-algolia-insights@1.17.9': - resolution: {integrity: sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==} + '@algolia/autocomplete-plugin-algolia-insights@1.19.2': + resolution: {integrity: sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==} peerDependencies: search-insights: '>= 1 < 3' - '@algolia/autocomplete-preset-algolia@1.17.9': - resolution: {integrity: sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==} + '@algolia/autocomplete-preset-algolia@1.19.2': + resolution: {integrity: sha512-/Z9tDn84fnyUyjajvWRskOX7p/BDKK5PidEA4Y/aAl0c6VfHu5dMkTDG090CIiskLUgpkHacLbz+A10gMBP++Q==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - '@algolia/autocomplete-shared@1.17.9': - resolution: {integrity: sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ==} + '@algolia/autocomplete-shared@1.19.2': + resolution: {integrity: sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' @@ -459,14 +485,14 @@ packages: conventional-commits-parser: optional: true - '@docsearch/css@3.9.0': - resolution: {integrity: sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA==} + '@docsearch/css@4.0.0-beta.1': + resolution: {integrity: sha512-0gz3zy5ygHT048FRVcmk1i8XQhVye42In04FlknABzjpNOOBjfvlIuewIFJKDYoCh8Aq3+15Jy3akkb6bNBTxA==} - '@docsearch/js@3.9.0': - resolution: {integrity: sha512-4bKHcye6EkLgRE8ze0vcdshmEqxeiJM77M0JXjef7lrYZfSlMunrDOCqyLjiZyo1+c0BhUqA2QpFartIjuHIjw==} + '@docsearch/js@4.0.0-beta.1': + resolution: {integrity: sha512-2nJNLAE5kr/YUNLXVADHcICia2/oQ0k3rDT85ozNeVrbaeIUB/1tA2AV8y27UPufwaK5zMl3UAR3lCueKds+6Q==} - '@docsearch/react@3.9.0': - resolution: {integrity: sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ==} + '@docsearch/react@4.0.0-beta.1': + resolution: {integrity: sha512-XPxHMzfD+FBEAkXPt0g64Mc06Q3plevAuIzQMnW6b5slVbVM8xH3Dmi0eXx9LLVVnV2mji6q2OKm/ET6QWxHVw==} peerDependencies: '@types/react': '>= 16.8.0 < 20.0.0' react: '>= 16.8.0 < 20.0.0' @@ -725,6 +751,9 @@ packages: '@napi-rs/wasm-runtime@0.2.11': resolution: {integrity: sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA==} + '@napi-rs/wasm-runtime@0.2.12': + resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -834,9 +863,16 @@ packages: resolution: {integrity: sha512-UH07DRi7xXqAsJ/sFbJJg0liIXnapB6P5uADXIiF1s6WQjZzcTIkKHca0s522QVxmijPxVX5ijCYxSr7eSq5CQ==} engines: {node: '>=6.9.0'} + '@oxc-project/runtime@0.77.0': + resolution: {integrity: sha512-cMbHs/DaomWSjxeJ79G10GA5hzJW9A7CZ+/cO+KuPZ7Trf3Rr07qSLauC4Ns8ba4DKVDjd8VSC9nVLpw6jpoGQ==} + engines: {node: '>=6.9.0'} + '@oxc-project/types@0.75.1': resolution: {integrity: sha512-7ZJy+51qWpZRvynaQUezeYfjCtaSdiXIWFUZIlOuTSfDXpXqnSl/m1IUPLx6XrOy6s0SFv3CLE14vcZy63bz7g==} + '@oxc-project/types@0.77.0': + resolution: {integrity: sha512-iUQj185VvCPnSba+ltUV5tVDrPX6LeZVtQywnnoGbe4oJ1VKvDKisjGkD/AvVtdm98b/BdsVS35IlJV1m2mBBA==} + '@polka/compression@1.0.0-next.28': resolution: {integrity: sha512-aDmrBhgHJtxE+jy145WfhW9WmTAFmES/dNnn1LAs8UnnkFgBUj4T8I4ScQ9+rOkpDZStvnVP5iqhN3tvt7O1NA==} engines: {node: '>=6'} @@ -844,72 +880,145 @@ packages: '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + '@rolldown/binding-android-arm64@1.0.0-beta.27': + resolution: {integrity: sha512-IJL3efUJmvb5MfTEi7bGK4jq3ZFAzVbSy+vmul0DcdrglUd81Tfyy7Zzq2oM0tUgmACG32d8Jz/ykbpbf+3C5A==} + cpu: [arm64] + os: [android] + '@rolldown/binding-darwin-arm64@1.0.0-beta.24': resolution: {integrity: sha512-gE4HGjIioZaMGZupq2zQQdqhlRV2b2qnjFHHkJEW50zVDmiVNWwdHjwvZDPx9JfW5y4GuHgp/zKDLZZbJlQ1/Q==} cpu: [arm64] os: [darwin] + '@rolldown/binding-darwin-arm64@1.0.0-beta.27': + resolution: {integrity: sha512-TXTiuHbtnHfb0c44vNfWfIyEFJ0BFUf63ip9Z4mj8T2zRcZXQYVger4OuAxnwGNGBgDyHo1VaNBG+Vxn2VrpqQ==} + cpu: [arm64] + os: [darwin] + '@rolldown/binding-darwin-x64@1.0.0-beta.24': resolution: {integrity: sha512-h2HfOtqmjIHIz9WdpKAJ8sBfLNGkrMlwrCfNV2MDDGu0x3YdYBYPE+ozS5PvE53Tp8y6EYn2/thNWJTGWy/N3Q==} cpu: [x64] os: [darwin] + '@rolldown/binding-darwin-x64@1.0.0-beta.27': + resolution: {integrity: sha512-Jpjflgvbolh+fAaaEajPJQCOpZMawYMbNVzuZp3nidX1B7kMAP7NEKp9CWzthoL2Y8RfD7OApN6bx4+vFurTaw==} + cpu: [x64] + os: [darwin] + '@rolldown/binding-freebsd-x64@1.0.0-beta.24': resolution: {integrity: sha512-lx3Q2TU2bbY4yDCZ6e+Wiom3VMLFlZmQswx/1CyjFd+Vv3Q+99SZm6CSfNAIZBaWD246yQRRr1Vx+iIoWCdYzQ==} cpu: [x64] os: [freebsd] + '@rolldown/binding-freebsd-x64@1.0.0-beta.27': + resolution: {integrity: sha512-07ZNlXIunyS1jCTnene7aokkzCZNBUnmnJWu4Nz5X5XQvVHJNjsDhPFJTlNmneSDzA3vGkRNwdECKXiDTH/CqA==} + cpu: [x64] + os: [freebsd] + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.24': resolution: {integrity: sha512-PLtsV6uf3uS1/cNF8Wu/kitTpXT2YpOZbN6VJm7oMi5A8o5oO0vh8STCB71O5k2kwQMVycsmxHWFk2ZyEa6aMw==} cpu: [arm] os: [linux] + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.27': + resolution: {integrity: sha512-z74ah00oyKnTUtaIbg34TaIU1PYM8tGE1bK6aUs8OLZ9sWW4g3Xo5A0nit2zyeanmYFvrAUxnt3Bpk+mTZCtlg==} + cpu: [arm] + os: [linux] + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.24': resolution: {integrity: sha512-UxGukDkWnv7uS5R+BPVeJ4FSuwA+lgC62LRsyPPSJhJhKMNGZ2W9sQPIpEtBRlww8t0qR6QBsiD5TGLW98ktGw==} cpu: [arm64] os: [linux] + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.27': + resolution: {integrity: sha512-b9oKl/M5OIyAcosS73BmjOZOjvcONV97t2SnKpgwfDX/mjQO3dBgTYyvHMFA6hfhIDW1+2XVQR/k5uzBULFhoA==} + cpu: [arm64] + os: [linux] + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.24': resolution: {integrity: sha512-vB99yGYW9FOQe4lk3MNKa13+vRj+7waZFlRE3Ba/IpEy7RFxZ78ASkPLXkz4+kYYbUvMnRaOfk9RKX2fqYZRUg==} cpu: [arm64] os: [linux] + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.27': + resolution: {integrity: sha512-RmaNSkVmAH8u/r5Q+v4O0zL4HY8pLrvlM5wBoBrb/QHDQgksGKBqhecpg1ERER0Q7gMh/GJUz6JiiD55Q+9UOA==} + cpu: [arm64] + os: [linux] + + '@rolldown/binding-linux-arm64-ohos@1.0.0-beta.27': + resolution: {integrity: sha512-gq78fI/g0cp1UKFMk53kP/oZAgYOXbaqdadVMuCJc0CoSkDJcpO2YIasRs/QYlE91QWfcHD5RZl9zbf4ksTS/w==} + cpu: [arm64] + os: [openharmony] + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.24': resolution: {integrity: sha512-fAMZBWutuKWHsyvHVsKjFYRXVgTbzBfNmomzPPpog8UtdkHk5Vnb0qVEeZP4hR4TsXnKfzD2EQ98NRqFej5QYA==} cpu: [x64] os: [linux] + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.27': + resolution: {integrity: sha512-yS/GreJ6BT44dHu1WLigc50S8jZA+pDzzsf8tqRptUTwi5YW7dX3NqcDlc/lXsZqu57aKynLljgClYAm90LEKw==} + cpu: [x64] + os: [linux] + '@rolldown/binding-linux-x64-musl@1.0.0-beta.24': resolution: {integrity: sha512-0UY/Qo8fAlpolcWOg2ZU7SCUrsCJWifdRMliV9GXlZaBKbMoVNFw0pHGDm9cj/3TWhJu/iB0peZK00dm22LlNw==} cpu: [x64] os: [linux] + '@rolldown/binding-linux-x64-musl@1.0.0-beta.27': + resolution: {integrity: sha512-6FV9To1sXewGHY4NaCPeOE5p5o1qfuAjj+m75WVIPw9HEJVsQoC5QiTL5wWVNqSMch4X0eWnQ6WsQolU6sGMIA==} + cpu: [x64] + os: [linux] + '@rolldown/binding-wasm32-wasi@1.0.0-beta.24': resolution: {integrity: sha512-7ubbtKCo6FBuAM4q6LoT5dOea7f/zj9OYXgumbwSmA0fw18mN5h8SrFTUjl7h9MpPkOyhi2uY6ss4pb39KXkcw==} engines: {node: '>=14.21.3'} cpu: [wasm32] + '@rolldown/binding-wasm32-wasi@1.0.0-beta.27': + resolution: {integrity: sha512-VcxdhF0PQda9krFJHw4DqUkdAsHWYs/Uz/Kr/zhU8zMFDzmK6OdUgl9emGj9wTzXAEHYkAMDhk+OJBRJvp424g==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.24': resolution: {integrity: sha512-S5WKIabtRBJyzu31KnJRlbZRR6FMrTMzYRrNTnIY2hWWXfpcB1PNuHqbo+98ODLpH8knul4Vyf5sCL61okLTjA==} cpu: [arm64] os: [win32] + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.27': + resolution: {integrity: sha512-3bXSARqSf8jLHrQ1/tw9pX1GwIR9jA6OEsqTgdC0DdpoZ+34sbJXE9Nse3dQ0foGLKBkh4PqDv/rm2Thu9oVBw==} + cpu: [arm64] + os: [win32] + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.24': resolution: {integrity: sha512-5EW8mzHoukz3zBn/VAaTapK+i+/ZFbSSP9meDmLSuGnk6La8uLAPc7E+6S3gbJnQ6k8lSC6ipIIeXC4SPdttKQ==} cpu: [ia32] os: [win32] + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.27': + resolution: {integrity: sha512-xPGcKb+W8NIWAf5KApsUIrhiKH5NImTarICge5jQ2m0BBxD31crio4OXy/eYVq5CZkqkqszLQz2fWZcWNmbzlQ==} + cpu: [ia32] + os: [win32] + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.24': resolution: {integrity: sha512-KpurHt8+B0yTg9gHroC3H/Tf2c9VfjIBsC/wVHTf7GGAe+xkw1+5iYB3Y5iSy3OaMTGq1U3/YEvTqqBdSbDMUg==} cpu: [x64] os: [win32] + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.27': + resolution: {integrity: sha512-3y1G8ARpXBAcz4RJM5nzMU6isS/gXZl8SuX8lS2piFOnQMiOp6ajeelnciD+EgG4ej793zvNvr+WZtdnao2yrw==} + cpu: [x64] + os: [win32] + '@rolldown/pluginutils@1.0.0-beta.19': resolution: {integrity: sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==} '@rolldown/pluginutils@1.0.0-beta.24': resolution: {integrity: sha512-NMiim/enJlffMP16IanVj1ajFNEg8SaMEYyxyYfJoEyt5EiFT3HUH/T2GRdeStNWp+/kg5U8DiJqnQBgLQ8uCw==} + '@rolldown/pluginutils@1.0.0-beta.27': + resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==} + '@rollup/plugin-alias@5.1.1': resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} engines: {node: '>=14.0.0'} @@ -1107,6 +1216,9 @@ packages: '@tokenizer/token@0.3.0': resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} + '@tybys/wasm-util@0.10.0': + resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==} + '@tybys/wasm-util@0.9.0': resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} @@ -2130,6 +2242,9 @@ packages: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true + json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} @@ -2305,6 +2420,11 @@ packages: resolution: {integrity: sha512-MqIQVVkz+uGEHi3TsHx/czcxxCbRIL7sv5K5DnYw/tI+apY54IbPefV/cmgxp6LoJSEx/TqcHdLs/298afG5QQ==} engines: {node: '>=6'} + marked@15.0.12: + resolution: {integrity: sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==} + engines: {node: '>= 18'} + hasBin: true + math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -2657,9 +2777,6 @@ packages: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} - preact@10.26.9: - resolution: {integrity: sha512-SSjF9vcnF27mJK1XyFMNJzFd5u3pQiATFqoaDy03XuN00u4ziveVVEGt5RKJrDR8MHE/wJo9Nnad56RLzS2RMA==} - prettier@3.6.2: resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} engines: {node: '>=14'} @@ -2810,10 +2927,54 @@ packages: yaml: optional: true + rolldown-vite@7.0.9: + resolution: {integrity: sha512-RxVP6CY9CNCEM9UecdytqeADxOGSjgkfSE/eI986sM7I3/F09lQ9UfQo3y6W10ICBppKsEHe71NbCX/tirYDFg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + esbuild: ^0.25.0 + jiti: '>=1.21.0' + less: ^4.0.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + rolldown@1.0.0-beta.24: resolution: {integrity: sha512-eDyipoOnoHQ5p6INkJ8g31eKGlqPSCAN9PapyOTw5HET4FYIWALZnSgpMZ67mdn+xT3jAsqGidNnBcIM6EAUhA==} hasBin: true + rolldown@1.0.0-beta.27: + resolution: {integrity: sha512-aYiJmzKoUHoaaEZLRegYVfZkXW7gzdgSbq+u5cXQ6iXc/y8tnQ3zGffQo44Pr1lTKeLluw3bDIDUCx/NAzqKeA==} + hasBin: true + rollup-plugin-dts@6.1.1: resolution: {integrity: sha512-aSHRcJ6KG2IHIioYlvAOcEq6U99sVtqDDKVhnwt70rW6tsz3tv5OSjEiWcgzfsHdLyGXZ/3b/7b/+Za3Y6r1XA==} engines: {node: '>=16'} @@ -2858,6 +3019,9 @@ packages: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} + secure-json-parse@2.7.0: + resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + semver@7.7.2: resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} engines: {node: '>=10'} @@ -3012,6 +3176,11 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + swr@2.3.4: + resolution: {integrity: sha512-bYd2lrhc+VarcpkgWclcUi92wYCpOgMws9Sd1hG1ntAu0NEy+14CbotuFjshBU2kt9rYj9TSmDcybpxpeTU1fg==} + peerDependencies: + react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} @@ -3027,6 +3196,10 @@ packages: resolution: {integrity: sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==} engines: {node: '>=14.16'} + throttleit@2.1.0: + resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==} + engines: {node: '>=18'} + tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -3158,6 +3331,11 @@ packages: resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} engines: {node: '>=18.12.0'} + use-sync-external-store@1.5.0: + resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + valid-data-url@3.0.1: resolution: {integrity: sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA==} engines: {node: '>=10'} @@ -3293,6 +3471,11 @@ packages: resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} engines: {node: '>=18'} + zod-to-json-schema@3.24.6: + resolution: {integrity: sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==} + peerDependencies: + zod: ^3.24.1 + zod@3.25.75: resolution: {integrity: sha512-OhpzAmVzabPOL6C3A3gpAifqr9MqihV/Msx3gor2b2kviCgcb+HM9SEOpMWwwNp9MRunWnhtAKUoo0AHhjyPPg==} @@ -3301,29 +3484,56 @@ packages: snapshots: - '@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.31.0)(algoliasearch@5.31.0)': + '@ai-sdk/provider-utils@2.2.8(zod@3.25.75)': + dependencies: + '@ai-sdk/provider': 1.1.3 + nanoid: 3.3.11 + secure-json-parse: 2.7.0 + zod: 3.25.75 + + '@ai-sdk/provider@1.1.3': + dependencies: + json-schema: 0.4.0 + + '@ai-sdk/react@1.2.12(zod@3.25.75)': + dependencies: + '@ai-sdk/provider-utils': 2.2.8(zod@3.25.75) + '@ai-sdk/ui-utils': 1.2.11(zod@3.25.75) + swr: 2.3.4 + throttleit: 2.1.0 + optionalDependencies: + zod: 3.25.75 + + '@ai-sdk/ui-utils@1.2.11(zod@3.25.75)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.31.0)(algoliasearch@5.31.0) - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.31.0)(algoliasearch@5.31.0) + '@ai-sdk/provider': 1.1.3 + '@ai-sdk/provider-utils': 2.2.8(zod@3.25.75) + zod: 3.25.75 + zod-to-json-schema: 3.24.6(zod@3.25.75) + + '@algolia/autocomplete-core@1.19.2(@algolia/client-search@5.31.0)(algoliasearch@5.31.0)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.19.2(@algolia/client-search@5.31.0)(algoliasearch@5.31.0) + '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.31.0)(algoliasearch@5.31.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.31.0)(algoliasearch@5.31.0)': + '@algolia/autocomplete-plugin-algolia-insights@1.19.2(@algolia/client-search@5.31.0)(algoliasearch@5.31.0)': dependencies: - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.31.0)(algoliasearch@5.31.0) + '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.31.0)(algoliasearch@5.31.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - '@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.31.0)(algoliasearch@5.31.0)': + '@algolia/autocomplete-preset-algolia@1.19.2(@algolia/client-search@5.31.0)(algoliasearch@5.31.0)': dependencies: - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.31.0)(algoliasearch@5.31.0) + '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.31.0)(algoliasearch@5.31.0) '@algolia/client-search': 5.31.0 algoliasearch: 5.31.0 - '@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.31.0)(algoliasearch@5.31.0)': + '@algolia/autocomplete-shared@1.19.2(@algolia/client-search@5.31.0)(algoliasearch@5.31.0)': dependencies: '@algolia/client-search': 5.31.0 algoliasearch: 5.31.0 @@ -3455,27 +3665,30 @@ snapshots: conventional-commits-filter: 5.0.0 conventional-commits-parser: 6.2.0 - '@docsearch/css@3.9.0': {} + '@docsearch/css@4.0.0-beta.1': {} - '@docsearch/js@3.9.0(@algolia/client-search@5.31.0)': + '@docsearch/js@4.0.0-beta.1(@algolia/client-search@5.31.0)(zod@3.25.75)': dependencies: - '@docsearch/react': 3.9.0(@algolia/client-search@5.31.0) - preact: 10.26.9 + '@docsearch/react': 4.0.0-beta.1(@algolia/client-search@5.31.0)(zod@3.25.75) transitivePeerDependencies: - '@algolia/client-search' - '@types/react' - react - react-dom - search-insights + - zod - '@docsearch/react@3.9.0(@algolia/client-search@5.31.0)': + '@docsearch/react@4.0.0-beta.1(@algolia/client-search@5.31.0)(zod@3.25.75)': dependencies: - '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.31.0)(algoliasearch@5.31.0) - '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.31.0)(algoliasearch@5.31.0) - '@docsearch/css': 3.9.0 + '@ai-sdk/react': 1.2.12(zod@3.25.75) + '@algolia/autocomplete-core': 1.19.2(@algolia/client-search@5.31.0)(algoliasearch@5.31.0) + '@algolia/autocomplete-preset-algolia': 1.19.2(@algolia/client-search@5.31.0)(algoliasearch@5.31.0) + '@docsearch/css': 4.0.0-beta.1 algoliasearch: 5.31.0 + marked: 15.0.12 transitivePeerDependencies: - '@algolia/client-search' + - zod '@emnapi/core@1.4.4': dependencies: @@ -3700,6 +3913,13 @@ snapshots: '@tybys/wasm-util': 0.9.0 optional: true + '@napi-rs/wasm-runtime@0.2.12': + dependencies: + '@emnapi/core': 1.4.4 + '@emnapi/runtime': 1.4.4 + '@tybys/wasm-util': 0.10.0 + optional: true + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -3763,54 +3983,104 @@ snapshots: '@oxc-project/runtime@0.75.1': {} + '@oxc-project/runtime@0.77.0': {} + '@oxc-project/types@0.75.1': {} + '@oxc-project/types@0.77.0': {} + '@polka/compression@1.0.0-next.28': {} '@polka/url@1.0.0-next.29': {} + '@rolldown/binding-android-arm64@1.0.0-beta.27': + optional: true + '@rolldown/binding-darwin-arm64@1.0.0-beta.24': optional: true + '@rolldown/binding-darwin-arm64@1.0.0-beta.27': + optional: true + '@rolldown/binding-darwin-x64@1.0.0-beta.24': optional: true + '@rolldown/binding-darwin-x64@1.0.0-beta.27': + optional: true + '@rolldown/binding-freebsd-x64@1.0.0-beta.24': optional: true + '@rolldown/binding-freebsd-x64@1.0.0-beta.27': + optional: true + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.24': optional: true + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.27': + optional: true + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.24': optional: true + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.27': + optional: true + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.24': optional: true + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.27': + optional: true + + '@rolldown/binding-linux-arm64-ohos@1.0.0-beta.27': + optional: true + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.24': optional: true + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.27': + optional: true + '@rolldown/binding-linux-x64-musl@1.0.0-beta.24': optional: true + '@rolldown/binding-linux-x64-musl@1.0.0-beta.27': + optional: true + '@rolldown/binding-wasm32-wasi@1.0.0-beta.24': dependencies: '@napi-rs/wasm-runtime': 0.2.11 optional: true + '@rolldown/binding-wasm32-wasi@1.0.0-beta.27': + dependencies: + '@napi-rs/wasm-runtime': 0.2.12 + optional: true + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.24': optional: true + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.27': + optional: true + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.24': optional: true + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.27': + optional: true + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.24': optional: true + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.27': + optional: true + '@rolldown/pluginutils@1.0.0-beta.19': {} '@rolldown/pluginutils@1.0.0-beta.24': {} + '@rolldown/pluginutils@1.0.0-beta.27': {} + '@rollup/plugin-alias@5.1.1(rollup@4.44.2)': optionalDependencies: rollup: 4.44.2 @@ -3970,6 +4240,11 @@ snapshots: '@tokenizer/token@0.3.0': {} + '@tybys/wasm-util@0.10.0': + dependencies: + tslib: 2.8.1 + optional: true + '@tybys/wasm-util@0.9.0': dependencies: tslib: 2.8.1 @@ -5012,6 +5287,8 @@ snapshots: argparse: 1.0.10 esprima: 4.0.1 + json-schema@0.4.0: {} + jsonfile@6.1.0: dependencies: universalify: 2.0.1 @@ -5191,6 +5468,8 @@ snapshots: markdown-title@1.0.2: {} + marked@15.0.12: {} + math-intrinsics@1.1.0: {} mathjax-full@3.2.2: @@ -5638,8 +5917,6 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - preact@10.26.9: {} - prettier@3.6.2: {} pretty-ms@9.2.0: @@ -5778,6 +6055,21 @@ snapshots: jiti: 1.21.7 yaml: 2.8.0 + rolldown-vite@7.0.9(@types/node@24.0.10)(esbuild@0.25.6)(jiti@1.21.7)(yaml@2.8.0): + dependencies: + fdir: 6.4.6(picomatch@4.0.2) + lightningcss: 1.30.1 + picomatch: 4.0.2 + postcss: 8.5.6 + rolldown: 1.0.0-beta.27 + tinyglobby: 0.2.14 + optionalDependencies: + '@types/node': 24.0.10 + esbuild: 0.25.6 + fsevents: 2.3.3 + jiti: 1.21.7 + yaml: 2.8.0 + rolldown@1.0.0-beta.24: dependencies: '@oxc-project/runtime': 0.75.1 @@ -5798,6 +6090,28 @@ snapshots: '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.24 '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.24 + rolldown@1.0.0-beta.27: + dependencies: + '@oxc-project/runtime': 0.77.0 + '@oxc-project/types': 0.77.0 + '@rolldown/pluginutils': 1.0.0-beta.27 + ansis: 4.1.0 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.0.0-beta.27 + '@rolldown/binding-darwin-arm64': 1.0.0-beta.27 + '@rolldown/binding-darwin-x64': 1.0.0-beta.27 + '@rolldown/binding-freebsd-x64': 1.0.0-beta.27 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.27 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.27 + '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.27 + '@rolldown/binding-linux-arm64-ohos': 1.0.0-beta.27 + '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.27 + '@rolldown/binding-linux-x64-musl': 1.0.0-beta.27 + '@rolldown/binding-wasm32-wasi': 1.0.0-beta.27 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.27 + '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.27 + '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.27 + rollup-plugin-dts@6.1.1(rollup@4.44.2)(typescript@5.8.3): dependencies: magic-string: 0.30.17 @@ -5869,6 +6183,8 @@ snapshots: extend-shallow: 2.0.1 kind-of: 6.0.3 + secure-json-parse@2.7.0: {} + semver@7.7.2: {} shebang-command@2.0.0: @@ -6023,6 +6339,11 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + swr@2.3.4: + dependencies: + dequal: 2.0.3 + use-sync-external-store: 1.5.0 + tabbable@6.2.0: {} temp-dir@3.0.0: {} @@ -6038,6 +6359,8 @@ snapshots: type-fest: 2.19.0 unique-string: 3.0.0 + throttleit@2.1.0: {} + tinybench@2.9.0: {} tinyexec@0.3.2: {} @@ -6153,6 +6476,8 @@ snapshots: pathe: 2.0.3 picomatch: 4.0.2 + use-sync-external-store@1.5.0: {} + valid-data-url@3.0.1: {} validate-npm-package-license@3.0.4: @@ -6197,7 +6522,7 @@ snapshots: '@iconify-json/vscode-icons': 1.2.23 '@iconify/utils': 2.3.0 markdown-it: 14.1.0 - vite: rolldown-vite@7.0.5(@types/node@24.0.10)(esbuild@0.25.6)(jiti@1.21.7)(yaml@2.8.0) + vite: rolldown-vite@7.0.9(@types/node@24.0.10)(esbuild@0.25.6)(jiti@1.21.7)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - esbuild @@ -6368,6 +6693,10 @@ snapshots: yoctocolors@2.1.1: {} + zod-to-json-schema@3.24.6(zod@3.25.75): + dependencies: + zod: 3.25.75 + zod@3.25.75: {} zwitch@2.0.4: {} diff --git a/types/docsearch.d.ts b/types/docsearch.d.ts index 76542015..b7e2c71c 100644 --- a/types/docsearch.d.ts +++ b/types/docsearch.d.ts @@ -8,6 +8,8 @@ export interface DocSearchProps { initialQuery?: string insights?: boolean translations?: DocSearchTranslations + askAi?: DocSearchAskAi | string + theme?: 'dark' | 'light' } export interface SearchOptions { @@ -101,25 +103,33 @@ export interface ModalTranslations extends ScreenStateTranslations { export interface ScreenStateTranslations { errorScreen?: ErrorScreenTranslations startScreen?: StartScreenTranslations + resultsScreen?: ResultsScreenTranslations noResultsScreen?: NoResultsScreenTranslations + askAiScreen?: AskAiScreenTranslations } export interface SearchBoxTranslations { - resetButtonTitle?: string - resetButtonAriaLabel?: string - cancelButtonText?: string - cancelButtonAriaLabel?: string + clearButtonTitle?: string + clearButtonAriaLabel?: string + closeButtonText?: string + closeButtonAriaLabel?: string + placeholderText?: string + placeholderTextAskAi?: string + placeholderTextAskAiStreaming?: string + backToKeywordSearchButtonText?: string + backToKeywordSearchButtonAriaLabel?: string } export interface FooterTranslations { selectText?: string + submitQuestionText?: string selectKeyAriaLabel?: string navigateText?: string navigateUpKeyAriaLabel?: string navigateDownKeyAriaLabel?: string closeText?: string closeKeyAriaLabel?: string - searchByText?: string + poweredByText?: string } export interface ErrorScreenTranslations { @@ -134,6 +144,12 @@ export interface StartScreenTranslations { removeRecentSearchButtonTitle?: string favoriteSearchesTitle?: string removeFavoriteSearchButtonTitle?: string + recentConversationsTitle?: string + removeRecentConversationButtonTitle?: string +} + +export interface ResultsScreenTranslations { + askAiPlaceholder?: string } export interface NoResultsScreenTranslations { @@ -142,3 +158,41 @@ export interface NoResultsScreenTranslations { reportMissingResultsText?: string reportMissingResultsLinkText?: string } + +export interface AskAiScreenTranslations { + disclaimerText?: string + relatedSourcesText?: string + thinkingText?: string + copyButtonText?: string + copyButtonCopiedText?: string + copyButtonTitle?: string + likeButtonTitle?: string + dislikeButtonTitle?: string + thanksForFeedbackText?: string + preToolCallText?: string + duringToolCallText?: string + afterToolCallText?: string + aggregatedToolCallText?: string +} + +export type DocSearchAskAi = { + /** + * The index name to use for the ask AI feature. Your assistant will search this index for relevant documents. + * If not provided, the index name will be used. + */ + indexName?: string + /** + * The API key to use for the ask AI feature. Your assistant will use this API key to search the index. + * If not provided, the API key will be used. + */ + apiKey?: string + /** + * The app ID to use for the ask AI feature. Your assistant will use this app ID to search the index. + * If not provided, the app ID will be used. + */ + appId?: string + /** + * The assistant ID to use for the ask AI feature. + */ + assistantId: string | null +}