├── .env.example ├── .github ├── funding.yml └── workflows │ └── test.yml ├── .gitignore ├── .husky └── pre-commit ├── .npmrc ├── .prettierignore ├── .prettierrc.cjs ├── demos ├── demo-conversation.ts ├── demo-on-progress.ts └── demo.ts ├── docs ├── .nojekyll ├── classes │ └── BingChat.md ├── interfaces │ ├── APIResult.md │ ├── AdaptiveCard.md │ ├── AdaptiveCardBody.md │ ├── Center.md │ ├── ChatMessage.md │ ├── ChatMessageFeedback.md │ ├── ChatMessageFrom.md │ ├── ChatMessageFull.md │ ├── ChatMessagePartial.md │ ├── ChatRequest.md │ ├── ChatRequestArgument.md │ ├── ChatRequestMessage.md │ ├── ChatRequestResult.md │ ├── ChatResponseItem.md │ ├── ChatUpdate.md │ ├── ChatUpdateArgument.md │ ├── ChatUpdateCompleteResponse.md │ ├── ConversationResult.md │ ├── Coords.md │ ├── LocationHint.md │ ├── LocationHintChatRequestMessage.md │ ├── Participant.md │ ├── PreviousMessage.md │ ├── SuggestedResponse.md │ └── Telemetry.md ├── modules.md └── readme.md ├── license ├── media └── demo.gif ├── package.json ├── pnpm-lock.yaml ├── readme.md ├── src ├── bing-chat.ts ├── fetch.ts ├── index.ts └── types.ts ├── tsconfig.json ├── tsup.config.ts └── typedoc.json /.env.example: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------------ 2 | # This is an example .env file. 3 | # 4 | # All of these environment vars must be defined either in your environment or in 5 | # a local .env file in order to run the demo for this project. 6 | # ------------------------------------------------------------------------------ 7 | 8 | BING_COOKIE= 9 | -------------------------------------------------------------------------------- /.github/funding.yml: -------------------------------------------------------------------------------- 1 | github: [transitive-bullshit] 2 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | test: 7 | name: Test Node.js ${{ matrix.node-version }} 8 | runs-on: ubuntu-latest 9 | strategy: 10 | fail-fast: false 11 | matrix: 12 | node-version: 13 | - 19.7 14 | - 18 15 | 16 | steps: 17 | - name: Checkout 18 | uses: actions/checkout@v3 19 | 20 | - name: Install Node.js 21 | uses: actions/setup-node@v3.3.0 22 | with: 23 | node-version: ${{ matrix.node-version }} 24 | 25 | - name: Install pnpm 26 | uses: pnpm/action-setup@v2 27 | id: pnpm-install 28 | with: 29 | version: 7 30 | run_install: false 31 | 32 | - name: Get pnpm store directory 33 | id: pnpm-cache 34 | shell: bash 35 | run: | 36 | echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT 37 | 38 | - uses: actions/cache@v3 39 | name: Setup pnpm cache 40 | with: 41 | path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} 42 | key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} 43 | restore-keys: | 44 | ${{ runner.os }}-pnpm-store- 45 | 46 | - name: Install dependencies 47 | run: pnpm install --frozen-lockfile 48 | 49 | - name: Run test 50 | run: pnpm run test 51 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | *.swp 4 | .idea 5 | 6 | # dependencies 7 | /node_modules 8 | /.pnp 9 | .pnp.js 10 | 11 | # testing 12 | /coverage 13 | 14 | # next.js 15 | /.next/ 16 | /out/ 17 | 18 | # production 19 | /build 20 | 21 | # misc 22 | .DS_Store 23 | *.pem 24 | 25 | # debug 26 | npm-debug.log* 27 | yarn-debug.log* 28 | yarn-error.log* 29 | .pnpm-debug.log* 30 | 31 | # local env files 32 | .env*.local 33 | 34 | # vercel 35 | .vercel 36 | 37 | # typescript 38 | *.tsbuildinfo 39 | next-env.d.ts 40 | 41 | # local env files 42 | .env 43 | .env.local 44 | .env.build 45 | .env.development.local 46 | .env.test.local 47 | .env.production.local 48 | 49 | # data dumps 50 | out/ 51 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npm run pre-commit 5 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | enable-pre-post-scripts=true 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .snapshots/ 2 | build/ 3 | dist/ 4 | node_modules/ 5 | .next/ 6 | .vercel/ 7 | third-party/ -------------------------------------------------------------------------------- /.prettierrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: [require('@trivago/prettier-plugin-sort-imports')], 3 | singleQuote: true, 4 | jsxSingleQuote: true, 5 | semi: false, 6 | useTabs: false, 7 | tabWidth: 2, 8 | bracketSpacing: true, 9 | bracketSameLine: false, 10 | arrowParens: 'always', 11 | trailingComma: 'none', 12 | importOrder: ['^node:.*', '', '^[./]'], 13 | importOrderSeparation: true, 14 | importOrderSortSpecifiers: true, 15 | importOrderGroupNamespaceSpecifiers: true 16 | } 17 | -------------------------------------------------------------------------------- /demos/demo-conversation.ts: -------------------------------------------------------------------------------- 1 | import dotenv from 'dotenv-safe' 2 | import { oraPromise } from 'ora' 3 | 4 | import { BingChat } from '../src' 5 | 6 | dotenv.config() 7 | 8 | /** 9 | * Demo CLI for testing conversation support. 10 | * 11 | * ``` 12 | * npx tsx demos/demo-conversation.ts 13 | * ``` 14 | */ 15 | async function main() { 16 | const api = new BingChat({ cookie: process.env.BING_COOKIE }) 17 | 18 | const prompt = 'Write a poem about cats.' 19 | 20 | let res = await oraPromise(api.sendMessage(prompt), { 21 | text: prompt 22 | }) 23 | 24 | console.log('\n' + res.text + '\n') 25 | 26 | const prompt2 = 'Can you make it cuter and shorter?' 27 | 28 | res = await oraPromise(api.sendMessage(prompt2, res), { 29 | text: prompt2 30 | }) 31 | console.log('\n' + res.text + '\n') 32 | 33 | const prompt3 = 'Now write it in French.' 34 | 35 | res = await oraPromise(api.sendMessage(prompt3, res), { 36 | text: prompt3 37 | }) 38 | console.log('\n' + res.text + '\n') 39 | 40 | const prompt4 = 'What were we talking about again?' 41 | 42 | res = await oraPromise(api.sendMessage(prompt4, res), { 43 | text: prompt4 44 | }) 45 | console.log('\n' + res.text + '\n') 46 | } 47 | 48 | main().catch((err) => { 49 | console.error(err) 50 | process.exit(1) 51 | }) 52 | -------------------------------------------------------------------------------- /demos/demo-on-progress.ts: -------------------------------------------------------------------------------- 1 | import dotenv from 'dotenv-safe' 2 | 3 | import { BingChat } from '../src' 4 | 5 | dotenv.config() 6 | 7 | /** 8 | * Demo CLI for testing the `onProgress` streaming support. 9 | * 10 | * ``` 11 | * npx tsx demos/demo-on-progress.ts 12 | * ``` 13 | */ 14 | async function main() { 15 | const api = new BingChat({ cookie: process.env.BING_COOKIE }) 16 | 17 | const prompt = 'What is the weather in New York?' 18 | 19 | console.log(prompt) 20 | const res = await api.sendMessage(prompt, { 21 | onProgress: (partialResponse) => { 22 | console.log(partialResponse.text) 23 | } 24 | }) 25 | console.log(res.text) 26 | } 27 | 28 | main().catch((err) => { 29 | console.error(err) 30 | process.exit(1) 31 | }) 32 | -------------------------------------------------------------------------------- /demos/demo.ts: -------------------------------------------------------------------------------- 1 | import dotenv from 'dotenv-safe' 2 | import { oraPromise } from 'ora' 3 | 4 | import { BingChat } from '../src' 5 | 6 | dotenv.config() 7 | 8 | /** 9 | * Demo CLI for testing basic functionality. 10 | * 11 | * ``` 12 | * npx tsx demos/demo.ts 13 | * ``` 14 | */ 15 | async function main() { 16 | const api = new BingChat({ cookie: process.env.BING_COOKIE }) 17 | 18 | const prompt = 'What are today’s top stories in the United States?' 19 | 20 | const res = await oraPromise(api.sendMessage(prompt), { 21 | text: prompt 22 | }) 23 | console.log(res.text) 24 | } 25 | 26 | main().catch((err) => { 27 | console.error(err) 28 | process.exit(1) 29 | }) 30 | -------------------------------------------------------------------------------- /docs/.nojekyll: -------------------------------------------------------------------------------- 1 | TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. -------------------------------------------------------------------------------- /docs/classes/BingChat.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / BingChat 2 | 3 | # Class: BingChat 4 | 5 | ## Table of contents 6 | 7 | ### Constructors 8 | 9 | - [constructor](BingChat.md#constructor) 10 | 11 | ### Methods 12 | 13 | - [createConversation](BingChat.md#createconversation) 14 | - [sendMessage](BingChat.md#sendmessage) 15 | 16 | ## Constructors 17 | 18 | ### constructor 19 | 20 | • **new BingChat**(`opts`) 21 | 22 | #### Parameters 23 | 24 | | Name | Type | Description | 25 | | :------ | :------ | :------ | 26 | | `opts` | `Object` | - | 27 | | `opts.cookie` | `string` | - | 28 | | `opts.debug?` | `boolean` | **`Default Value`** `false` * | 29 | 30 | #### Defined in 31 | 32 | bing-chat.ts:15 33 | 34 | ## Methods 35 | 36 | ### createConversation 37 | 38 | ▸ **createConversation**(): `Promise`<[`ConversationResult`](../interfaces/ConversationResult.md)\> 39 | 40 | #### Returns 41 | 42 | `Promise`<[`ConversationResult`](../interfaces/ConversationResult.md)\> 43 | 44 | #### Defined in 45 | 46 | bing-chat.ts:260 47 | 48 | ___ 49 | 50 | ### sendMessage 51 | 52 | ▸ **sendMessage**(`text`, `opts?`): `Promise`<[`ChatMessage`](../interfaces/ChatMessage.md)\> 53 | 54 | Sends a message to Bing Chat, waits for the response to resolve, and returns 55 | the response. 56 | 57 | If you want to receive a stream of partial responses, use `opts.onProgress`. 58 | 59 | #### Parameters 60 | 61 | | Name | Type | 62 | | :------ | :------ | 63 | | `text` | `string` | 64 | | `opts` | [`SendMessageOptions`](../modules.md#sendmessageoptions) | 65 | 66 | #### Returns 67 | 68 | `Promise`<[`ChatMessage`](../interfaces/ChatMessage.md)\> 69 | 70 | The response from Bing Chat 71 | 72 | #### Defined in 73 | 74 | bing-chat.ts:43 75 | -------------------------------------------------------------------------------- /docs/interfaces/APIResult.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / APIResult 2 | 3 | # Interface: APIResult 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [message](APIResult.md#message) 10 | - [value](APIResult.md#value) 11 | 12 | ## Properties 13 | 14 | ### message 15 | 16 | • **message**: ``null`` 17 | 18 | #### Defined in 19 | 20 | types.ts:43 21 | 22 | ___ 23 | 24 | ### value 25 | 26 | • **value**: `string` 27 | 28 | #### Defined in 29 | 30 | types.ts:42 31 | -------------------------------------------------------------------------------- /docs/interfaces/AdaptiveCard.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / AdaptiveCard 2 | 3 | # Interface: AdaptiveCard 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [body](AdaptiveCard.md#body) 10 | - [type](AdaptiveCard.md#type) 11 | - [version](AdaptiveCard.md#version) 12 | 13 | ## Properties 14 | 15 | ### body 16 | 17 | • **body**: [`AdaptiveCardBody`](AdaptiveCardBody.md)[] 18 | 19 | #### Defined in 20 | 21 | types.ts:76 22 | 23 | ___ 24 | 25 | ### type 26 | 27 | • **type**: `string` 28 | 29 | #### Defined in 30 | 31 | types.ts:74 32 | 33 | ___ 34 | 35 | ### version 36 | 37 | • **version**: `string` 38 | 39 | #### Defined in 40 | 41 | types.ts:75 42 | -------------------------------------------------------------------------------- /docs/interfaces/AdaptiveCardBody.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / AdaptiveCardBody 2 | 3 | # Interface: AdaptiveCardBody 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [text](AdaptiveCardBody.md#text) 10 | - [type](AdaptiveCardBody.md#type) 11 | - [wrap](AdaptiveCardBody.md#wrap) 12 | 13 | ## Properties 14 | 15 | ### text 16 | 17 | • **text**: `string` 18 | 19 | #### Defined in 20 | 21 | types.ts:81 22 | 23 | ___ 24 | 25 | ### type 26 | 27 | • **type**: `string` 28 | 29 | #### Defined in 30 | 31 | types.ts:80 32 | 33 | ___ 34 | 35 | ### wrap 36 | 37 | • **wrap**: `boolean` 38 | 39 | #### Defined in 40 | 41 | types.ts:82 42 | -------------------------------------------------------------------------------- /docs/interfaces/Center.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / Center 2 | 3 | # Interface: Center 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [Latitude](Center.md#latitude) 10 | - [Longitude](Center.md#longitude) 11 | 12 | ## Properties 13 | 14 | ### Latitude 15 | 16 | • **Latitude**: `number` 17 | 18 | #### Defined in 19 | 20 | types.ts:229 21 | 22 | ___ 23 | 24 | ### Longitude 25 | 26 | • **Longitude**: `number` 27 | 28 | #### Defined in 29 | 30 | types.ts:230 31 | -------------------------------------------------------------------------------- /docs/interfaces/ChatMessage.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / ChatMessage 2 | 3 | # Interface: ChatMessage 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [author](ChatMessage.md#author) 10 | - [clientId](ChatMessage.md#clientid) 11 | - [conversationExpiryTime](ChatMessage.md#conversationexpirytime) 12 | - [conversationId](ChatMessage.md#conversationid) 13 | - [conversationSignature](ChatMessage.md#conversationsignature) 14 | - [detail](ChatMessage.md#detail) 15 | - [id](ChatMessage.md#id) 16 | - [invocationId](ChatMessage.md#invocationid) 17 | - [text](ChatMessage.md#text) 18 | 19 | ## Properties 20 | 21 | ### author 22 | 23 | • **author**: [`Author`](../modules.md#author) 24 | 25 | #### Defined in 26 | 27 | types.ts:23 28 | 29 | ___ 30 | 31 | ### clientId 32 | 33 | • **clientId**: `string` 34 | 35 | #### Defined in 36 | 37 | types.ts:26 38 | 39 | ___ 40 | 41 | ### conversationExpiryTime 42 | 43 | • `Optional` **conversationExpiryTime**: `string` 44 | 45 | #### Defined in 46 | 47 | types.ts:28 48 | 49 | ___ 50 | 51 | ### conversationId 52 | 53 | • **conversationId**: `string` 54 | 55 | #### Defined in 56 | 57 | types.ts:25 58 | 59 | ___ 60 | 61 | ### conversationSignature 62 | 63 | • **conversationSignature**: `string` 64 | 65 | #### Defined in 66 | 67 | types.ts:27 68 | 69 | ___ 70 | 71 | ### detail 72 | 73 | • `Optional` **detail**: [`ChatMessageFull`](ChatMessageFull.md) \| [`ChatMessagePartial`](ChatMessagePartial.md) 74 | 75 | #### Defined in 76 | 77 | types.ts:31 78 | 79 | ___ 80 | 81 | ### id 82 | 83 | • **id**: `string` 84 | 85 | #### Defined in 86 | 87 | types.ts:21 88 | 89 | ___ 90 | 91 | ### invocationId 92 | 93 | • `Optional` **invocationId**: `string` 94 | 95 | #### Defined in 96 | 97 | types.ts:29 98 | 99 | ___ 100 | 101 | ### text 102 | 103 | • **text**: `string` 104 | 105 | #### Defined in 106 | 107 | types.ts:22 108 | -------------------------------------------------------------------------------- /docs/interfaces/ChatMessageFeedback.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / ChatMessageFeedback 2 | 3 | # Interface: ChatMessageFeedback 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [tag](ChatMessageFeedback.md#tag) 10 | - [type](ChatMessageFeedback.md#type) 11 | - [updatedOn](ChatMessageFeedback.md#updatedon) 12 | 13 | ## Properties 14 | 15 | ### tag 16 | 17 | • **tag**: ``null`` 18 | 19 | #### Defined in 20 | 21 | types.ts:86 22 | 23 | ___ 24 | 25 | ### type 26 | 27 | • **type**: `string` 28 | 29 | #### Defined in 30 | 31 | types.ts:88 32 | 33 | ___ 34 | 35 | ### updatedOn 36 | 37 | • **updatedOn**: ``null`` 38 | 39 | #### Defined in 40 | 41 | types.ts:87 42 | -------------------------------------------------------------------------------- /docs/interfaces/ChatMessageFrom.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / ChatMessageFrom 2 | 3 | # Interface: ChatMessageFrom 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [id](ChatMessageFrom.md#id) 10 | - [name](ChatMessageFrom.md#name) 11 | 12 | ## Properties 13 | 14 | ### id 15 | 16 | • **id**: `string` 17 | 18 | #### Defined in 19 | 20 | types.ts:133 21 | 22 | ___ 23 | 24 | ### name 25 | 26 | • **name**: ``null`` 27 | 28 | #### Defined in 29 | 30 | types.ts:134 31 | -------------------------------------------------------------------------------- /docs/interfaces/ChatMessageFull.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / ChatMessageFull 2 | 3 | # Interface: ChatMessageFull 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [adaptiveCards](ChatMessageFull.md#adaptivecards) 10 | - [author](ChatMessageFull.md#author) 11 | - [contentOrigin](ChatMessageFull.md#contentorigin) 12 | - [createdAt](ChatMessageFull.md#createdat) 13 | - [feedback](ChatMessageFull.md#feedback) 14 | - [from](ChatMessageFull.md#from) 15 | - [inputMethod](ChatMessageFull.md#inputmethod) 16 | - [locale](ChatMessageFull.md#locale) 17 | - [location](ChatMessageFull.md#location) 18 | - [locationHints](ChatMessageFull.md#locationhints) 19 | - [market](ChatMessageFull.md#market) 20 | - [messageId](ChatMessageFull.md#messageid) 21 | - [messageType](ChatMessageFull.md#messagetype) 22 | - [offense](ChatMessageFull.md#offense) 23 | - [privacy](ChatMessageFull.md#privacy) 24 | - [region](ChatMessageFull.md#region) 25 | - [requestId](ChatMessageFull.md#requestid) 26 | - [sourceAttributions](ChatMessageFull.md#sourceattributions) 27 | - [suggestedResponses](ChatMessageFull.md#suggestedresponses) 28 | - [text](ChatMessageFull.md#text) 29 | - [timestamp](ChatMessageFull.md#timestamp) 30 | 31 | ## Properties 32 | 33 | ### adaptiveCards 34 | 35 | • `Optional` **adaptiveCards**: [`AdaptiveCard`](AdaptiveCard.md)[] 36 | 37 | #### Defined in 38 | 39 | types.ts:126 40 | 41 | ___ 42 | 43 | ### author 44 | 45 | • **author**: [`Author`](../modules.md#author) 46 | 47 | #### Defined in 48 | 49 | types.ts:110 50 | 51 | ___ 52 | 53 | ### contentOrigin 54 | 55 | • **contentOrigin**: `string` 56 | 57 | #### Defined in 58 | 59 | types.ts:123 60 | 61 | ___ 62 | 63 | ### createdAt 64 | 65 | • **createdAt**: `string` 66 | 67 | #### Defined in 68 | 69 | types.ts:112 70 | 71 | ___ 72 | 73 | ### feedback 74 | 75 | • **feedback**: [`ChatMessageFeedback`](ChatMessageFeedback.md) 76 | 77 | #### Defined in 78 | 79 | types.ts:122 80 | 81 | ___ 82 | 83 | ### from 84 | 85 | • `Optional` **from**: [`ChatMessageFrom`](ChatMessageFrom.md) 86 | 87 | #### Defined in 88 | 89 | types.ts:111 90 | 91 | ___ 92 | 93 | ### inputMethod 94 | 95 | • `Optional` **inputMethod**: `string` 96 | 97 | #### Defined in 98 | 99 | types.ts:125 100 | 101 | ___ 102 | 103 | ### locale 104 | 105 | • `Optional` **locale**: `string` 106 | 107 | #### Defined in 108 | 109 | types.ts:114 110 | 111 | ___ 112 | 113 | ### location 114 | 115 | • `Optional` **location**: `string` 116 | 117 | #### Defined in 118 | 119 | types.ts:117 120 | 121 | ___ 122 | 123 | ### locationHints 124 | 125 | • `Optional` **locationHints**: [`LocationHint`](LocationHint.md)[] 126 | 127 | #### Defined in 128 | 129 | types.ts:118 130 | 131 | ___ 132 | 133 | ### market 134 | 135 | • `Optional` **market**: `string` 136 | 137 | #### Defined in 138 | 139 | types.ts:115 140 | 141 | ___ 142 | 143 | ### messageId 144 | 145 | • **messageId**: `string` 146 | 147 | #### Defined in 148 | 149 | types.ts:119 150 | 151 | ___ 152 | 153 | ### messageType 154 | 155 | • `Optional` **messageType**: `string` 156 | 157 | #### Defined in 158 | 159 | types.ts:129 160 | 161 | ___ 162 | 163 | ### offense 164 | 165 | • **offense**: `string` 166 | 167 | #### Defined in 168 | 169 | types.ts:121 170 | 171 | ___ 172 | 173 | ### privacy 174 | 175 | • `Optional` **privacy**: ``null`` 176 | 177 | #### Defined in 178 | 179 | types.ts:124 180 | 181 | ___ 182 | 183 | ### region 184 | 185 | • `Optional` **region**: `string` 186 | 187 | #### Defined in 188 | 189 | types.ts:116 190 | 191 | ___ 192 | 193 | ### requestId 194 | 195 | • **requestId**: `string` 196 | 197 | #### Defined in 198 | 199 | types.ts:120 200 | 201 | ___ 202 | 203 | ### sourceAttributions 204 | 205 | • `Optional` **sourceAttributions**: `any`[] 206 | 207 | #### Defined in 208 | 209 | types.ts:127 210 | 211 | ___ 212 | 213 | ### suggestedResponses 214 | 215 | • `Optional` **suggestedResponses**: [`SuggestedResponse`](SuggestedResponse.md)[] 216 | 217 | #### Defined in 218 | 219 | types.ts:128 220 | 221 | ___ 222 | 223 | ### text 224 | 225 | • **text**: `string` 226 | 227 | #### Defined in 228 | 229 | types.ts:109 230 | 231 | ___ 232 | 233 | ### timestamp 234 | 235 | • **timestamp**: `string` 236 | 237 | #### Defined in 238 | 239 | types.ts:113 240 | -------------------------------------------------------------------------------- /docs/interfaces/ChatMessagePartial.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / ChatMessagePartial 2 | 3 | # Interface: ChatMessagePartial 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [adaptiveCards](ChatMessagePartial.md#adaptivecards) 10 | - [author](ChatMessagePartial.md#author) 11 | - [contentOrigin](ChatMessagePartial.md#contentorigin) 12 | - [createdAt](ChatMessagePartial.md#createdat) 13 | - [feedback](ChatMessagePartial.md#feedback) 14 | - [messageId](ChatMessagePartial.md#messageid) 15 | - [messageType](ChatMessagePartial.md#messagetype) 16 | - [offense](ChatMessagePartial.md#offense) 17 | - [privacy](ChatMessagePartial.md#privacy) 18 | - [sourceAttributions](ChatMessagePartial.md#sourceattributions) 19 | - [text](ChatMessagePartial.md#text) 20 | - [timestamp](ChatMessagePartial.md#timestamp) 21 | 22 | ## Properties 23 | 24 | ### adaptiveCards 25 | 26 | • **adaptiveCards**: [`AdaptiveCard`](AdaptiveCard.md)[] 27 | 28 | #### Defined in 29 | 30 | types.ts:65 31 | 32 | ___ 33 | 34 | ### author 35 | 36 | • **author**: [`Author`](../modules.md#author) 37 | 38 | #### Defined in 39 | 40 | types.ts:60 41 | 42 | ___ 43 | 44 | ### contentOrigin 45 | 46 | • **contentOrigin**: `string` 47 | 48 | #### Defined in 49 | 50 | types.ts:68 51 | 52 | ___ 53 | 54 | ### createdAt 55 | 56 | • **createdAt**: `string` 57 | 58 | #### Defined in 59 | 60 | types.ts:61 61 | 62 | ___ 63 | 64 | ### feedback 65 | 66 | • **feedback**: [`ChatMessageFeedback`](ChatMessageFeedback.md) 67 | 68 | #### Defined in 69 | 70 | types.ts:67 71 | 72 | ___ 73 | 74 | ### messageId 75 | 76 | • **messageId**: `string` 77 | 78 | #### Defined in 79 | 80 | types.ts:63 81 | 82 | ___ 83 | 84 | ### messageType 85 | 86 | • `Optional` **messageType**: `string` 87 | 88 | #### Defined in 89 | 90 | types.ts:70 91 | 92 | ___ 93 | 94 | ### offense 95 | 96 | • **offense**: `string` 97 | 98 | #### Defined in 99 | 100 | types.ts:64 101 | 102 | ___ 103 | 104 | ### privacy 105 | 106 | • `Optional` **privacy**: ``null`` 107 | 108 | #### Defined in 109 | 110 | types.ts:69 111 | 112 | ___ 113 | 114 | ### sourceAttributions 115 | 116 | • **sourceAttributions**: `any`[] 117 | 118 | #### Defined in 119 | 120 | types.ts:66 121 | 122 | ___ 123 | 124 | ### text 125 | 126 | • **text**: `string` 127 | 128 | #### Defined in 129 | 130 | types.ts:59 131 | 132 | ___ 133 | 134 | ### timestamp 135 | 136 | • **timestamp**: `string` 137 | 138 | #### Defined in 139 | 140 | types.ts:62 141 | -------------------------------------------------------------------------------- /docs/interfaces/ChatRequest.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / ChatRequest 2 | 3 | # Interface: ChatRequest 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [arguments](ChatRequest.md#arguments) 10 | - [invocationId](ChatRequest.md#invocationid) 11 | - [target](ChatRequest.md#target) 12 | - [type](ChatRequest.md#type) 13 | 14 | ## Properties 15 | 16 | ### arguments 17 | 18 | • **arguments**: [`ChatRequestArgument`](ChatRequestArgument.md)[] 19 | 20 | #### Defined in 21 | 22 | types.ts:181 23 | 24 | ___ 25 | 26 | ### invocationId 27 | 28 | • **invocationId**: `string` 29 | 30 | #### Defined in 31 | 32 | types.ts:182 33 | 34 | ___ 35 | 36 | ### target 37 | 38 | • **target**: `string` 39 | 40 | #### Defined in 41 | 42 | types.ts:183 43 | 44 | ___ 45 | 46 | ### type 47 | 48 | • **type**: `number` 49 | 50 | #### Defined in 51 | 52 | types.ts:184 53 | -------------------------------------------------------------------------------- /docs/interfaces/ChatRequestArgument.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / ChatRequestArgument 2 | 3 | # Interface: ChatRequestArgument 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [allowedMessageTypes](ChatRequestArgument.md#allowedmessagetypes) 10 | - [conversationId](ChatRequestArgument.md#conversationid) 11 | - [conversationSignature](ChatRequestArgument.md#conversationsignature) 12 | - [isStartOfSession](ChatRequestArgument.md#isstartofsession) 13 | - [message](ChatRequestArgument.md#message) 14 | - [optionsSets](ChatRequestArgument.md#optionssets) 15 | - [participant](ChatRequestArgument.md#participant) 16 | - [previousMessages](ChatRequestArgument.md#previousmessages) 17 | - [sliceIds](ChatRequestArgument.md#sliceids) 18 | - [source](ChatRequestArgument.md#source) 19 | - [traceId](ChatRequestArgument.md#traceid) 20 | 21 | ## Properties 22 | 23 | ### allowedMessageTypes 24 | 25 | • **allowedMessageTypes**: `string`[] 26 | 27 | #### Defined in 28 | 29 | types.ts:190 30 | 31 | ___ 32 | 33 | ### conversationId 34 | 35 | • **conversationId**: `string` 36 | 37 | #### Defined in 38 | 39 | types.ts:197 40 | 41 | ___ 42 | 43 | ### conversationSignature 44 | 45 | • **conversationSignature**: `string` 46 | 47 | #### Defined in 48 | 49 | types.ts:195 50 | 51 | ___ 52 | 53 | ### isStartOfSession 54 | 55 | • **isStartOfSession**: `boolean` 56 | 57 | #### Defined in 58 | 59 | types.ts:193 60 | 61 | ___ 62 | 63 | ### message 64 | 65 | • **message**: [`ChatRequestMessage`](ChatRequestMessage.md) 66 | 67 | #### Defined in 68 | 69 | types.ts:194 70 | 71 | ___ 72 | 73 | ### optionsSets 74 | 75 | • **optionsSets**: `string`[] 76 | 77 | #### Defined in 78 | 79 | types.ts:189 80 | 81 | ___ 82 | 83 | ### participant 84 | 85 | • **participant**: [`Participant`](Participant.md) 86 | 87 | #### Defined in 88 | 89 | types.ts:196 90 | 91 | ___ 92 | 93 | ### previousMessages 94 | 95 | • **previousMessages**: [`PreviousMessage`](PreviousMessage.md)[] 96 | 97 | #### Defined in 98 | 99 | types.ts:198 100 | 101 | ___ 102 | 103 | ### sliceIds 104 | 105 | • **sliceIds**: `any`[] 106 | 107 | #### Defined in 108 | 109 | types.ts:191 110 | 111 | ___ 112 | 113 | ### source 114 | 115 | • **source**: `string` 116 | 117 | #### Defined in 118 | 119 | types.ts:188 120 | 121 | ___ 122 | 123 | ### traceId 124 | 125 | • **traceId**: `string` 126 | 127 | #### Defined in 128 | 129 | types.ts:192 130 | -------------------------------------------------------------------------------- /docs/interfaces/ChatRequestMessage.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / ChatRequestMessage 2 | 3 | # Interface: ChatRequestMessage 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [author](ChatRequestMessage.md#author) 10 | - [inputMethod](ChatRequestMessage.md#inputmethod) 11 | - [locale](ChatRequestMessage.md#locale) 12 | - [location](ChatRequestMessage.md#location) 13 | - [locationHints](ChatRequestMessage.md#locationhints) 14 | - [market](ChatRequestMessage.md#market) 15 | - [messageType](ChatRequestMessage.md#messagetype) 16 | - [region](ChatRequestMessage.md#region) 17 | - [text](ChatRequestMessage.md#text) 18 | - [timestamp](ChatRequestMessage.md#timestamp) 19 | 20 | ## Properties 21 | 22 | ### author 23 | 24 | • **author**: [`Author`](../modules.md#author) 25 | 26 | #### Defined in 27 | 28 | types.ts:208 29 | 30 | ___ 31 | 32 | ### inputMethod 33 | 34 | • **inputMethod**: `string` 35 | 36 | #### Defined in 37 | 38 | types.ts:209 39 | 40 | ___ 41 | 42 | ### locale 43 | 44 | • **locale**: `string` 45 | 46 | #### Defined in 47 | 48 | types.ts:202 49 | 50 | ___ 51 | 52 | ### location 53 | 54 | • `Optional` **location**: `string` 55 | 56 | #### Defined in 57 | 58 | types.ts:205 59 | 60 | ___ 61 | 62 | ### locationHints 63 | 64 | • `Optional` **locationHints**: [`LocationHintChatRequestMessage`](LocationHintChatRequestMessage.md)[] 65 | 66 | #### Defined in 67 | 68 | types.ts:206 69 | 70 | ___ 71 | 72 | ### market 73 | 74 | • **market**: `string` 75 | 76 | #### Defined in 77 | 78 | types.ts:203 79 | 80 | ___ 81 | 82 | ### messageType 83 | 84 | • **messageType**: `string` 85 | 86 | #### Defined in 87 | 88 | types.ts:211 89 | 90 | ___ 91 | 92 | ### region 93 | 94 | • `Optional` **region**: `string` 95 | 96 | #### Defined in 97 | 98 | types.ts:204 99 | 100 | ___ 101 | 102 | ### text 103 | 104 | • **text**: `string` 105 | 106 | #### Defined in 107 | 108 | types.ts:210 109 | 110 | ___ 111 | 112 | ### timestamp 113 | 114 | • **timestamp**: `string` 115 | 116 | #### Defined in 117 | 118 | types.ts:207 119 | -------------------------------------------------------------------------------- /docs/interfaces/ChatRequestResult.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / ChatRequestResult 2 | 3 | # Interface: ChatRequestResult 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [serviceVersion](ChatRequestResult.md#serviceversion) 10 | - [value](ChatRequestResult.md#value) 11 | 12 | ## Properties 13 | 14 | ### serviceVersion 15 | 16 | • **serviceVersion**: `string` 17 | 18 | #### Defined in 19 | 20 | types.ts:172 21 | 22 | ___ 23 | 24 | ### value 25 | 26 | • **value**: `string` 27 | 28 | #### Defined in 29 | 30 | types.ts:171 31 | -------------------------------------------------------------------------------- /docs/interfaces/ChatResponseItem.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / ChatResponseItem 2 | 3 | # Interface: ChatResponseItem 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [conversationExpiryTime](ChatResponseItem.md#conversationexpirytime) 10 | - [conversationId](ChatResponseItem.md#conversationid) 11 | - [firstNewMessageIndex](ChatResponseItem.md#firstnewmessageindex) 12 | - [messages](ChatResponseItem.md#messages) 13 | - [requestId](ChatResponseItem.md#requestid) 14 | - [result](ChatResponseItem.md#result) 15 | - [suggestedResponses](ChatResponseItem.md#suggestedresponses) 16 | - [telemetry](ChatResponseItem.md#telemetry) 17 | 18 | ## Properties 19 | 20 | ### conversationExpiryTime 21 | 22 | • **conversationExpiryTime**: `string` 23 | 24 | #### Defined in 25 | 26 | types.ts:103 27 | 28 | ___ 29 | 30 | ### conversationId 31 | 32 | • **conversationId**: `string` 33 | 34 | #### Defined in 35 | 36 | types.ts:101 37 | 38 | ___ 39 | 40 | ### firstNewMessageIndex 41 | 42 | • **firstNewMessageIndex**: `number` 43 | 44 | #### Defined in 45 | 46 | types.ts:99 47 | 48 | ___ 49 | 50 | ### messages 51 | 52 | • **messages**: [`ChatMessageFull`](ChatMessageFull.md)[] 53 | 54 | #### Defined in 55 | 56 | types.ts:98 57 | 58 | ___ 59 | 60 | ### requestId 61 | 62 | • **requestId**: `string` 63 | 64 | #### Defined in 65 | 66 | types.ts:102 67 | 68 | ___ 69 | 70 | ### result 71 | 72 | • **result**: [`ChatRequestResult`](ChatRequestResult.md) 73 | 74 | #### Defined in 75 | 76 | types.ts:105 77 | 78 | ___ 79 | 80 | ### suggestedResponses 81 | 82 | • **suggestedResponses**: ``null`` 83 | 84 | #### Defined in 85 | 86 | types.ts:100 87 | 88 | ___ 89 | 90 | ### telemetry 91 | 92 | • **telemetry**: [`Telemetry`](Telemetry.md) 93 | 94 | #### Defined in 95 | 96 | types.ts:104 97 | -------------------------------------------------------------------------------- /docs/interfaces/ChatUpdate.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / ChatUpdate 2 | 3 | # Interface: ChatUpdate 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [arguments](ChatUpdate.md#arguments) 10 | - [target](ChatUpdate.md#target) 11 | - [type](ChatUpdate.md#type) 12 | 13 | ## Properties 14 | 15 | ### arguments 16 | 17 | • **arguments**: [`ChatUpdateArgument`](ChatUpdateArgument.md)[] 18 | 19 | #### Defined in 20 | 21 | types.ts:49 22 | 23 | ___ 24 | 25 | ### target 26 | 27 | • **target**: `string` 28 | 29 | #### Defined in 30 | 31 | types.ts:48 32 | 33 | ___ 34 | 35 | ### type 36 | 37 | • **type**: ``1`` 38 | 39 | #### Defined in 40 | 41 | types.ts:47 42 | -------------------------------------------------------------------------------- /docs/interfaces/ChatUpdateArgument.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / ChatUpdateArgument 2 | 3 | # Interface: ChatUpdateArgument 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [messages](ChatUpdateArgument.md#messages) 10 | - [requestId](ChatUpdateArgument.md#requestid) 11 | - [result](ChatUpdateArgument.md#result) 12 | 13 | ## Properties 14 | 15 | ### messages 16 | 17 | • **messages**: [`ChatMessagePartial`](ChatMessagePartial.md)[] 18 | 19 | #### Defined in 20 | 21 | types.ts:53 22 | 23 | ___ 24 | 25 | ### requestId 26 | 27 | • **requestId**: `string` 28 | 29 | #### Defined in 30 | 31 | types.ts:54 32 | 33 | ___ 34 | 35 | ### result 36 | 37 | • **result**: ``null`` 38 | 39 | #### Defined in 40 | 41 | types.ts:55 42 | -------------------------------------------------------------------------------- /docs/interfaces/ChatUpdateCompleteResponse.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / ChatUpdateCompleteResponse 2 | 3 | # Interface: ChatUpdateCompleteResponse 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [invocationId](ChatUpdateCompleteResponse.md#invocationid) 10 | - [item](ChatUpdateCompleteResponse.md#item) 11 | - [type](ChatUpdateCompleteResponse.md#type) 12 | 13 | ## Properties 14 | 15 | ### invocationId 16 | 17 | • **invocationId**: `string` 18 | 19 | #### Defined in 20 | 21 | types.ts:93 22 | 23 | ___ 24 | 25 | ### item 26 | 27 | • **item**: [`ChatResponseItem`](ChatResponseItem.md) 28 | 29 | #### Defined in 30 | 31 | types.ts:94 32 | 33 | ___ 34 | 35 | ### type 36 | 37 | • **type**: ``2`` 38 | 39 | #### Defined in 40 | 41 | types.ts:92 42 | -------------------------------------------------------------------------------- /docs/interfaces/ConversationResult.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / ConversationResult 2 | 3 | # Interface: ConversationResult 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [clientId](ConversationResult.md#clientid) 10 | - [conversationId](ConversationResult.md#conversationid) 11 | - [conversationSignature](ConversationResult.md#conversationsignature) 12 | - [result](ConversationResult.md#result) 13 | 14 | ## Properties 15 | 16 | ### clientId 17 | 18 | • **clientId**: `string` 19 | 20 | #### Defined in 21 | 22 | types.ts:36 23 | 24 | ___ 25 | 26 | ### conversationId 27 | 28 | • **conversationId**: `string` 29 | 30 | #### Defined in 31 | 32 | types.ts:35 33 | 34 | ___ 35 | 36 | ### conversationSignature 37 | 38 | • **conversationSignature**: `string` 39 | 40 | #### Defined in 41 | 42 | types.ts:37 43 | 44 | ___ 45 | 46 | ### result 47 | 48 | • **result**: [`APIResult`](APIResult.md) 49 | 50 | #### Defined in 51 | 52 | types.ts:38 53 | -------------------------------------------------------------------------------- /docs/interfaces/Coords.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / Coords 2 | 3 | # Interface: Coords 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [height](Coords.md#height) 10 | - [latitude](Coords.md#latitude) 11 | - [longitude](Coords.md#longitude) 12 | 13 | ## Properties 14 | 15 | ### height 16 | 17 | • **height**: ``null`` 18 | 19 | #### Defined in 20 | 21 | types.ts:154 22 | 23 | ___ 24 | 25 | ### latitude 26 | 27 | • **latitude**: `number` 28 | 29 | #### Defined in 30 | 31 | types.ts:152 32 | 33 | ___ 34 | 35 | ### longitude 36 | 37 | • **longitude**: `number` 38 | 39 | #### Defined in 40 | 41 | types.ts:153 42 | -------------------------------------------------------------------------------- /docs/interfaces/LocationHint.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / LocationHint 2 | 3 | # Interface: LocationHint 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [center](LocationHint.md#center) 10 | - [city](LocationHint.md#city) 11 | - [cityConfidence](LocationHint.md#cityconfidence) 12 | - [country](LocationHint.md#country) 13 | - [countryConfidence](LocationHint.md#countryconfidence) 14 | - [dma](LocationHint.md#dma) 15 | - [regionType](LocationHint.md#regiontype) 16 | - [sourceType](LocationHint.md#sourcetype) 17 | - [state](LocationHint.md#state) 18 | - [timeZoneOffset](LocationHint.md#timezoneoffset) 19 | - [zipCode](LocationHint.md#zipcode) 20 | 21 | ## Properties 22 | 23 | ### center 24 | 25 | • **center**: [`Coords`](Coords.md) 26 | 27 | #### Defined in 28 | 29 | types.ts:147 30 | 31 | ___ 32 | 33 | ### city 34 | 35 | • **city**: `string` 36 | 37 | #### Defined in 38 | 39 | types.ts:141 40 | 41 | ___ 42 | 43 | ### cityConfidence 44 | 45 | • **cityConfidence**: `number` 46 | 47 | #### Defined in 48 | 49 | types.ts:142 50 | 51 | ___ 52 | 53 | ### country 54 | 55 | • **country**: `string` 56 | 57 | #### Defined in 58 | 59 | types.ts:138 60 | 61 | ___ 62 | 63 | ### countryConfidence 64 | 65 | • **countryConfidence**: `number` 66 | 67 | #### Defined in 68 | 69 | types.ts:139 70 | 71 | ___ 72 | 73 | ### dma 74 | 75 | • **dma**: `number` 76 | 77 | #### Defined in 78 | 79 | types.ts:145 80 | 81 | ___ 82 | 83 | ### regionType 84 | 85 | • **regionType**: `number` 86 | 87 | #### Defined in 88 | 89 | types.ts:148 90 | 91 | ___ 92 | 93 | ### sourceType 94 | 95 | • **sourceType**: `number` 96 | 97 | #### Defined in 98 | 99 | types.ts:146 100 | 101 | ___ 102 | 103 | ### state 104 | 105 | • **state**: `string` 106 | 107 | #### Defined in 108 | 109 | types.ts:140 110 | 111 | ___ 112 | 113 | ### timeZoneOffset 114 | 115 | • **timeZoneOffset**: `number` 116 | 117 | #### Defined in 118 | 119 | types.ts:144 120 | 121 | ___ 122 | 123 | ### zipCode 124 | 125 | • **zipCode**: `string` 126 | 127 | #### Defined in 128 | 129 | types.ts:143 130 | -------------------------------------------------------------------------------- /docs/interfaces/LocationHintChatRequestMessage.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / LocationHintChatRequestMessage 2 | 3 | # Interface: LocationHintChatRequestMessage 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [Center](LocationHintChatRequestMessage.md#center) 10 | - [RegionType](LocationHintChatRequestMessage.md#regiontype) 11 | - [SourceType](LocationHintChatRequestMessage.md#sourcetype) 12 | - [city](LocationHintChatRequestMessage.md#city) 13 | - [cityConfidence](LocationHintChatRequestMessage.md#cityconfidence) 14 | - [country](LocationHintChatRequestMessage.md#country) 15 | - [countryConfidence](LocationHintChatRequestMessage.md#countryconfidence) 16 | - [dma](LocationHintChatRequestMessage.md#dma) 17 | - [state](LocationHintChatRequestMessage.md#state) 18 | - [timezoneoffset](LocationHintChatRequestMessage.md#timezoneoffset) 19 | - [zipcode](LocationHintChatRequestMessage.md#zipcode) 20 | 21 | ## Properties 22 | 23 | ### Center 24 | 25 | • **Center**: [`Center`](Center.md) 26 | 27 | #### Defined in 28 | 29 | types.ts:223 30 | 31 | ___ 32 | 33 | ### RegionType 34 | 35 | • **RegionType**: `number` 36 | 37 | #### Defined in 38 | 39 | types.ts:224 40 | 41 | ___ 42 | 43 | ### SourceType 44 | 45 | • **SourceType**: `number` 46 | 47 | #### Defined in 48 | 49 | types.ts:225 50 | 51 | ___ 52 | 53 | ### city 54 | 55 | • **city**: `string` 56 | 57 | #### Defined in 58 | 59 | types.ts:217 60 | 61 | ___ 62 | 63 | ### cityConfidence 64 | 65 | • **cityConfidence**: `number` 66 | 67 | #### Defined in 68 | 69 | types.ts:222 70 | 71 | ___ 72 | 73 | ### country 74 | 75 | • **country**: `string` 76 | 77 | #### Defined in 78 | 79 | types.ts:215 80 | 81 | ___ 82 | 83 | ### countryConfidence 84 | 85 | • **countryConfidence**: `number` 86 | 87 | #### Defined in 88 | 89 | types.ts:221 90 | 91 | ___ 92 | 93 | ### dma 94 | 95 | • **dma**: `number` 96 | 97 | #### Defined in 98 | 99 | types.ts:220 100 | 101 | ___ 102 | 103 | ### state 104 | 105 | • **state**: `string` 106 | 107 | #### Defined in 108 | 109 | types.ts:216 110 | 111 | ___ 112 | 113 | ### timezoneoffset 114 | 115 | • **timezoneoffset**: `number` 116 | 117 | #### Defined in 118 | 119 | types.ts:219 120 | 121 | ___ 122 | 123 | ### zipcode 124 | 125 | • **zipcode**: `string` 126 | 127 | #### Defined in 128 | 129 | types.ts:218 130 | -------------------------------------------------------------------------------- /docs/interfaces/Participant.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / Participant 2 | 3 | # Interface: Participant 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [id](Participant.md#id) 10 | 11 | ## Properties 12 | 13 | ### id 14 | 15 | • **id**: `string` 16 | 17 | #### Defined in 18 | 19 | types.ts:234 20 | -------------------------------------------------------------------------------- /docs/interfaces/PreviousMessage.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / PreviousMessage 2 | 3 | # Interface: PreviousMessage 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [adaptiveCards](PreviousMessage.md#adaptivecards) 10 | - [author](PreviousMessage.md#author) 11 | - [messageId](PreviousMessage.md#messageid) 12 | - [messageType](PreviousMessage.md#messagetype) 13 | - [suggestedResponses](PreviousMessage.md#suggestedresponses) 14 | - [text](PreviousMessage.md#text) 15 | 16 | ## Properties 17 | 18 | ### adaptiveCards 19 | 20 | • **adaptiveCards**: `any`[] 21 | 22 | #### Defined in 23 | 24 | types.ts:240 25 | 26 | ___ 27 | 28 | ### author 29 | 30 | • **author**: [`Author`](../modules.md#author) 31 | 32 | #### Defined in 33 | 34 | types.ts:239 35 | 36 | ___ 37 | 38 | ### messageId 39 | 40 | • **messageId**: `string` 41 | 42 | #### Defined in 43 | 44 | types.ts:242 45 | 46 | ___ 47 | 48 | ### messageType 49 | 50 | • **messageType**: `string` 51 | 52 | #### Defined in 53 | 54 | types.ts:243 55 | 56 | ___ 57 | 58 | ### suggestedResponses 59 | 60 | • **suggestedResponses**: [`SuggestedResponse`](SuggestedResponse.md)[] 61 | 62 | #### Defined in 63 | 64 | types.ts:241 65 | 66 | ___ 67 | 68 | ### text 69 | 70 | • **text**: `string` 71 | 72 | #### Defined in 73 | 74 | types.ts:238 75 | -------------------------------------------------------------------------------- /docs/interfaces/SuggestedResponse.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / SuggestedResponse 2 | 3 | # Interface: SuggestedResponse 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [author](SuggestedResponse.md#author) 10 | - [contentOrigin](SuggestedResponse.md#contentorigin) 11 | - [createdAt](SuggestedResponse.md#createdat) 12 | - [feedback](SuggestedResponse.md#feedback) 13 | - [messageId](SuggestedResponse.md#messageid) 14 | - [messageType](SuggestedResponse.md#messagetype) 15 | - [offense](SuggestedResponse.md#offense) 16 | - [privacy](SuggestedResponse.md#privacy) 17 | - [text](SuggestedResponse.md#text) 18 | - [timestamp](SuggestedResponse.md#timestamp) 19 | 20 | ## Properties 21 | 22 | ### author 23 | 24 | • `Optional` **author**: [`Author`](../modules.md#author) 25 | 26 | #### Defined in 27 | 28 | types.ts:162 29 | 30 | ___ 31 | 32 | ### contentOrigin 33 | 34 | • **contentOrigin**: `string` 35 | 36 | #### Defined in 37 | 38 | types.ts:161 39 | 40 | ___ 41 | 42 | ### createdAt 43 | 44 | • `Optional` **createdAt**: `string` 45 | 46 | #### Defined in 47 | 48 | types.ts:163 49 | 50 | ___ 51 | 52 | ### feedback 53 | 54 | • `Optional` **feedback**: [`ChatMessageFeedback`](ChatMessageFeedback.md) 55 | 56 | #### Defined in 57 | 58 | types.ts:166 59 | 60 | ___ 61 | 62 | ### messageId 63 | 64 | • **messageId**: `string` 65 | 66 | #### Defined in 67 | 68 | types.ts:159 69 | 70 | ___ 71 | 72 | ### messageType 73 | 74 | • **messageType**: `string` 75 | 76 | #### Defined in 77 | 78 | types.ts:160 79 | 80 | ___ 81 | 82 | ### offense 83 | 84 | • `Optional` **offense**: `string` 85 | 86 | #### Defined in 87 | 88 | types.ts:165 89 | 90 | ___ 91 | 92 | ### privacy 93 | 94 | • `Optional` **privacy**: ``null`` 95 | 96 | #### Defined in 97 | 98 | types.ts:167 99 | 100 | ___ 101 | 102 | ### text 103 | 104 | • **text**: `string` 105 | 106 | #### Defined in 107 | 108 | types.ts:158 109 | 110 | ___ 111 | 112 | ### timestamp 113 | 114 | • `Optional` **timestamp**: `string` 115 | 116 | #### Defined in 117 | 118 | types.ts:164 119 | -------------------------------------------------------------------------------- /docs/interfaces/Telemetry.md: -------------------------------------------------------------------------------- 1 | [bing-chat](../readme.md) / [Exports](../modules.md) / Telemetry 2 | 3 | # Interface: Telemetry 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [metrics](Telemetry.md#metrics) 10 | - [startTime](Telemetry.md#starttime) 11 | 12 | ## Properties 13 | 14 | ### metrics 15 | 16 | • `Optional` **metrics**: ``null`` 17 | 18 | #### Defined in 19 | 20 | types.ts:176 21 | 22 | ___ 23 | 24 | ### startTime 25 | 26 | • **startTime**: `string` 27 | 28 | #### Defined in 29 | 30 | types.ts:177 31 | -------------------------------------------------------------------------------- /docs/modules.md: -------------------------------------------------------------------------------- 1 | [bing-chat](readme.md) / Exports 2 | 3 | # bing-chat 4 | 5 | ## Table of contents 6 | 7 | ### Classes 8 | 9 | - [BingChat](classes/BingChat.md) 10 | 11 | ### Interfaces 12 | 13 | - [APIResult](interfaces/APIResult.md) 14 | - [AdaptiveCard](interfaces/AdaptiveCard.md) 15 | - [AdaptiveCardBody](interfaces/AdaptiveCardBody.md) 16 | - [Center](interfaces/Center.md) 17 | - [ChatMessage](interfaces/ChatMessage.md) 18 | - [ChatMessageFeedback](interfaces/ChatMessageFeedback.md) 19 | - [ChatMessageFrom](interfaces/ChatMessageFrom.md) 20 | - [ChatMessageFull](interfaces/ChatMessageFull.md) 21 | - [ChatMessagePartial](interfaces/ChatMessagePartial.md) 22 | - [ChatRequest](interfaces/ChatRequest.md) 23 | - [ChatRequestArgument](interfaces/ChatRequestArgument.md) 24 | - [ChatRequestMessage](interfaces/ChatRequestMessage.md) 25 | - [ChatRequestResult](interfaces/ChatRequestResult.md) 26 | - [ChatResponseItem](interfaces/ChatResponseItem.md) 27 | - [ChatUpdate](interfaces/ChatUpdate.md) 28 | - [ChatUpdateArgument](interfaces/ChatUpdateArgument.md) 29 | - [ChatUpdateCompleteResponse](interfaces/ChatUpdateCompleteResponse.md) 30 | - [ConversationResult](interfaces/ConversationResult.md) 31 | - [Coords](interfaces/Coords.md) 32 | - [LocationHint](interfaces/LocationHint.md) 33 | - [LocationHintChatRequestMessage](interfaces/LocationHintChatRequestMessage.md) 34 | - [Participant](interfaces/Participant.md) 35 | - [PreviousMessage](interfaces/PreviousMessage.md) 36 | - [SuggestedResponse](interfaces/SuggestedResponse.md) 37 | - [Telemetry](interfaces/Telemetry.md) 38 | 39 | ### Type Aliases 40 | 41 | - [Author](modules.md#author) 42 | - [SendMessageOptions](modules.md#sendmessageoptions) 43 | 44 | ## Type Aliases 45 | 46 | ### Author 47 | 48 | Ƭ **Author**: ``"user"`` \| ``"bot"`` 49 | 50 | #### Defined in 51 | 52 | types.ts:1 53 | 54 | ___ 55 | 56 | ### SendMessageOptions 57 | 58 | Ƭ **SendMessageOptions**: `Object` 59 | 60 | #### Type declaration 61 | 62 | | Name | Type | 63 | | :------ | :------ | 64 | | `clientId?` | `string` | 65 | | `conversationId?` | `string` | 66 | | `conversationSignature?` | `string` | 67 | | `invocationId?` | `string` | 68 | | `locale?` | `string` | 69 | | `location?` | { `lat`: `number` \| `string` ; `lng`: `number` \| `string` ; `re?`: `string` } | 70 | | `location.lat` | `number` \| `string` | 71 | | `location.lng` | `number` \| `string` | 72 | | `location.re?` | `string` | 73 | | `market?` | `string` | 74 | | `onProgress?` | (`partialResponse`: [`ChatMessage`](interfaces/ChatMessage.md)) => `void` | 75 | | `region?` | `string` | 76 | 77 | #### Defined in 78 | 79 | types.ts:3 80 | -------------------------------------------------------------------------------- /docs/readme.md: -------------------------------------------------------------------------------- 1 | bing-chat / [Exports](modules.md) 2 | 3 | # Bing Chat API 4 | 5 | > Node.js client for the unofficial Bing Chat API. 6 | 7 | [![NPM](https://img.shields.io/npm/v/bing-chat.svg)](https://www.npmjs.com/package/bing-chat) [![Build Status](https://github.com/transitive-bullshit/bing-chat/actions/workflows/test.yml/badge.svg)](https://github.com/transitive-bullshit/bing-chat/actions/workflows/test.yml) [![MIT License](https://img.shields.io/badge/license-MIT-blue)](https://github.com/transitive-bullshit/bing-chat/blob/main/license) [![Prettier Code Formatting](https://img.shields.io/badge/code_style-prettier-brightgreen.svg)](https://prettier.io) 8 | 9 |

10 | 11 | (30s conversation demo) 12 |

13 | 14 | - [Intro](#intro) 15 | - [Install](#install) 16 | - [Usage](#usage) 17 | - [Projects](#projects) 18 | - [Compatibility](#compatibility) 19 | - [Related](#related) 20 | - [License](#license) 21 | 22 | ## Intro 23 | 24 | This package is a Node.js wrapper around Bing Chat by Microsoft. TS batteries included. ✨ 25 | 26 | > **Warning** 27 | > This package is a reverse-engineered hack. I do not expect it to continue working long-term, and it is not meant for use in production. I'm building this in public, and you can follow the progress on Twitter [@transitive_bs](https://twitter.com/transitive_bs). 28 | 29 | ## Install 30 | 31 | ```bash 32 | npm install bing-chat 33 | ``` 34 | 35 | Make sure you're using `node >= 18` so `fetch` is available. 36 | 37 | ## Usage 38 | 39 | You need access to Bing Chat OR a valid cookie from someone who has access. The cookie you need is the `_U` cookie (or just all of the cookies concatenated together; both will work). 40 | 41 | ```ts 42 | import { BingChat } from 'bing-chat' 43 | 44 | async function example() { 45 | const api = new BingChat({ 46 | cookie: process.env.BING_COOKIE 47 | }) 48 | 49 | const res = await api.sendMessage('Hello World!') 50 | console.log(res.text) 51 | } 52 | ``` 53 | 54 | You can follow-up messages to continue the conversation. See `demos/demo-conversation.ts` for an example. 55 | 56 | Note that Bing Chat conversations expire after about 20 minutes, so they're not meant to be long-term objects. 57 | 58 | You can add streaming via the `onProgress` handler: 59 | 60 | ```ts 61 | const res = await api.sendMessage('Write a 500 word essay on frogs.', { 62 | // print the partial response as the AI is "typing" 63 | onProgress: (partialResponse) => console.log(partialResponse.text) 64 | }) 65 | 66 | // print the full text at the end 67 | console.log(res.text) 68 | ``` 69 | 70 | See `demos/demo-on-progress.ts` for a full example of streaming support. 71 | 72 | ## Projects 73 | 74 | If you create a cool integration, feel free to open a PR and add it to the list. 75 | 76 | ## Compatibility 77 | 78 | - This package is ESM-only. 79 | - This package supports `node >= 18`. 80 | - This module assumes that `fetch` is installed globally. 81 | - If you want to build a website using `bing-chat`, we recommend using it only from your backend API 82 | 83 | ## Related 84 | 85 | - [chatgpt](https://github.com/transitive-bullshit/chatgpt-api) - Node.js client for the unofficial ChatGPT API. Same author as this package, and a very similar API format. 86 | 87 | ## License 88 | 89 | MIT © [Travis Fischer](https://transitivebullsh.it) 90 | 91 | If you found this project interesting, please consider [sponsoring me](https://github.com/sponsors/transitive-bullshit) or following me on twitter twitter 92 | -------------------------------------------------------------------------------- /license: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Travis Fischer 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /media/demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/transitive-bullshit/bing-chat/d2553b5b8c6019ae0a0b46b7fce2491899a57aa7/media/demo.gif -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bing-chat", 3 | "version": "0.2.3", 4 | "description": "Node.js client for the unofficial Bing Chat API.", 5 | "author": "Travis Fischer ", 6 | "repository": "transitive-bullshit/bing-chat", 7 | "license": "MIT", 8 | "type": "module", 9 | "source": "./src/index.ts", 10 | "types": "./build/index.d.ts", 11 | "exports": { 12 | ".": { 13 | "import": "./build/index.js", 14 | "types": "./build/index.d.ts", 15 | "default": "./build/index.js" 16 | } 17 | }, 18 | "files": [ 19 | "build" 20 | ], 21 | "engines": { 22 | "node": ">=18" 23 | }, 24 | "scripts": { 25 | "build": "tsup", 26 | "dev": "tsup --watch", 27 | "clean": "del build", 28 | "prebuild": "run-s clean", 29 | "predev": "run-s clean", 30 | "pretest": "run-s build", 31 | "docs": "typedoc", 32 | "prepare": "husky install", 33 | "pre-commit": "lint-staged", 34 | "test": "run-p test:*", 35 | "test:prettier": "prettier '**/*.{js,jsx,ts,tsx}' --check" 36 | }, 37 | "dependencies": { 38 | "ws": "^8.13.0" 39 | }, 40 | "devDependencies": { 41 | "@trivago/prettier-plugin-sort-imports": "^4.1.1", 42 | "@types/node": "^18.15.3", 43 | "@types/uuid": "^9.0.1", 44 | "@types/ws": "^8.5.4", 45 | "del-cli": "^5.0.0", 46 | "dotenv-safe": "^8.2.0", 47 | "husky": "^8.0.2", 48 | "lint-staged": "^13.2.0", 49 | "npm-run-all": "^4.1.5", 50 | "ora": "^6.1.2", 51 | "prettier": "^2.8.4", 52 | "tsup": "^6.6.3", 53 | "tsx": "^3.12.5", 54 | "typedoc": "^0.23.26", 55 | "typedoc-plugin-markdown": "^3.13.6", 56 | "typescript": "^4.9.3" 57 | }, 58 | "lint-staged": { 59 | "*.{ts,tsx}": [ 60 | "prettier --write" 61 | ] 62 | }, 63 | "keywords": [ 64 | "openai", 65 | "bing", 66 | "chat", 67 | "search", 68 | "sydney", 69 | "gpt", 70 | "gpt-3", 71 | "gpt3", 72 | "gpt4", 73 | "chatbot", 74 | "machine learning", 75 | "conversation", 76 | "conversational", 77 | "ai", 78 | "ml", 79 | "bot" 80 | ] 81 | } 82 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | '@trivago/prettier-plugin-sort-imports': ^4.1.1 5 | '@types/node': ^18.15.3 6 | '@types/uuid': ^9.0.1 7 | '@types/ws': ^8.5.4 8 | del-cli: ^5.0.0 9 | dotenv-safe: ^8.2.0 10 | husky: ^8.0.2 11 | lint-staged: ^13.2.0 12 | npm-run-all: ^4.1.5 13 | ora: ^6.1.2 14 | prettier: ^2.8.4 15 | tsup: ^6.6.3 16 | tsx: ^3.12.5 17 | typedoc: ^0.23.26 18 | typedoc-plugin-markdown: ^3.13.6 19 | typescript: ^4.9.3 20 | ws: ^8.13.0 21 | 22 | dependencies: 23 | ws: 8.13.0 24 | 25 | devDependencies: 26 | '@trivago/prettier-plugin-sort-imports': 4.1.1_prettier@2.8.4 27 | '@types/node': 18.15.3 28 | '@types/uuid': 9.0.1 29 | '@types/ws': 8.5.4 30 | del-cli: 5.0.0 31 | dotenv-safe: 8.2.0 32 | husky: 8.0.3 33 | lint-staged: 13.2.0 34 | npm-run-all: 4.1.5 35 | ora: 6.1.2 36 | prettier: 2.8.4 37 | tsup: 6.6.3_typescript@4.9.5 38 | tsx: 3.12.5 39 | typedoc: 0.23.26_typescript@4.9.5 40 | typedoc-plugin-markdown: 3.14.0_typedoc@0.23.26 41 | typescript: 4.9.5 42 | 43 | packages: 44 | 45 | /@babel/code-frame/7.18.6: 46 | resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} 47 | engines: {node: '>=6.9.0'} 48 | dependencies: 49 | '@babel/highlight': 7.18.6 50 | dev: true 51 | 52 | /@babel/generator/7.17.7: 53 | resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==} 54 | engines: {node: '>=6.9.0'} 55 | dependencies: 56 | '@babel/types': 7.17.0 57 | jsesc: 2.5.2 58 | source-map: 0.5.7 59 | dev: true 60 | 61 | /@babel/helper-environment-visitor/7.18.9: 62 | resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} 63 | engines: {node: '>=6.9.0'} 64 | dev: true 65 | 66 | /@babel/helper-function-name/7.19.0: 67 | resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} 68 | engines: {node: '>=6.9.0'} 69 | dependencies: 70 | '@babel/template': 7.20.7 71 | '@babel/types': 7.21.3 72 | dev: true 73 | 74 | /@babel/helper-hoist-variables/7.18.6: 75 | resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} 76 | engines: {node: '>=6.9.0'} 77 | dependencies: 78 | '@babel/types': 7.21.3 79 | dev: true 80 | 81 | /@babel/helper-split-export-declaration/7.18.6: 82 | resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} 83 | engines: {node: '>=6.9.0'} 84 | dependencies: 85 | '@babel/types': 7.21.3 86 | dev: true 87 | 88 | /@babel/helper-string-parser/7.19.4: 89 | resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} 90 | engines: {node: '>=6.9.0'} 91 | dev: true 92 | 93 | /@babel/helper-validator-identifier/7.19.1: 94 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} 95 | engines: {node: '>=6.9.0'} 96 | dev: true 97 | 98 | /@babel/highlight/7.18.6: 99 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} 100 | engines: {node: '>=6.9.0'} 101 | dependencies: 102 | '@babel/helper-validator-identifier': 7.19.1 103 | chalk: 2.4.2 104 | js-tokens: 4.0.0 105 | dev: true 106 | 107 | /@babel/parser/7.21.3: 108 | resolution: {integrity: sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==} 109 | engines: {node: '>=6.0.0'} 110 | hasBin: true 111 | dependencies: 112 | '@babel/types': 7.17.0 113 | dev: true 114 | 115 | /@babel/template/7.20.7: 116 | resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} 117 | engines: {node: '>=6.9.0'} 118 | dependencies: 119 | '@babel/code-frame': 7.18.6 120 | '@babel/parser': 7.21.3 121 | '@babel/types': 7.21.3 122 | dev: true 123 | 124 | /@babel/traverse/7.17.3: 125 | resolution: {integrity: sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==} 126 | engines: {node: '>=6.9.0'} 127 | dependencies: 128 | '@babel/code-frame': 7.18.6 129 | '@babel/generator': 7.17.7 130 | '@babel/helper-environment-visitor': 7.18.9 131 | '@babel/helper-function-name': 7.19.0 132 | '@babel/helper-hoist-variables': 7.18.6 133 | '@babel/helper-split-export-declaration': 7.18.6 134 | '@babel/parser': 7.21.3 135 | '@babel/types': 7.17.0 136 | debug: 4.3.4 137 | globals: 11.12.0 138 | transitivePeerDependencies: 139 | - supports-color 140 | dev: true 141 | 142 | /@babel/types/7.17.0: 143 | resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} 144 | engines: {node: '>=6.9.0'} 145 | dependencies: 146 | '@babel/helper-validator-identifier': 7.19.1 147 | to-fast-properties: 2.0.0 148 | dev: true 149 | 150 | /@babel/types/7.21.3: 151 | resolution: {integrity: sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==} 152 | engines: {node: '>=6.9.0'} 153 | dependencies: 154 | '@babel/helper-string-parser': 7.19.4 155 | '@babel/helper-validator-identifier': 7.19.1 156 | to-fast-properties: 2.0.0 157 | dev: true 158 | 159 | /@esbuild-kit/cjs-loader/2.4.2: 160 | resolution: {integrity: sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==} 161 | dependencies: 162 | '@esbuild-kit/core-utils': 3.0.0 163 | get-tsconfig: 4.4.0 164 | dev: true 165 | 166 | /@esbuild-kit/core-utils/3.0.0: 167 | resolution: {integrity: sha512-TXmwH9EFS3DC2sI2YJWJBgHGhlteK0Xyu1VabwetMULfm3oYhbrsWV5yaSr2NTWZIgDGVLHbRf0inxbjXqAcmQ==} 168 | dependencies: 169 | esbuild: 0.15.18 170 | source-map-support: 0.5.21 171 | dev: true 172 | 173 | /@esbuild-kit/esm-loader/2.5.5: 174 | resolution: {integrity: sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==} 175 | dependencies: 176 | '@esbuild-kit/core-utils': 3.0.0 177 | get-tsconfig: 4.4.0 178 | dev: true 179 | 180 | /@esbuild/android-arm/0.15.18: 181 | resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} 182 | engines: {node: '>=12'} 183 | cpu: [arm] 184 | os: [android] 185 | requiresBuild: true 186 | dev: true 187 | optional: true 188 | 189 | /@esbuild/android-arm/0.17.11: 190 | resolution: {integrity: sha512-CdyX6sRVh1NzFCsf5vw3kULwlAhfy9wVt8SZlrhQ7eL2qBjGbFhRBWkkAzuZm9IIEOCKJw4DXA6R85g+qc8RDw==} 191 | engines: {node: '>=12'} 192 | cpu: [arm] 193 | os: [android] 194 | requiresBuild: true 195 | dev: true 196 | optional: true 197 | 198 | /@esbuild/android-arm64/0.17.11: 199 | resolution: {integrity: sha512-QnK4d/zhVTuV4/pRM4HUjcsbl43POALU2zvBynmrrqZt9LPcLA3x1fTZPBg2RRguBQnJcnU059yKr+bydkntjg==} 200 | engines: {node: '>=12'} 201 | cpu: [arm64] 202 | os: [android] 203 | requiresBuild: true 204 | dev: true 205 | optional: true 206 | 207 | /@esbuild/android-x64/0.17.11: 208 | resolution: {integrity: sha512-3PL3HKtsDIXGQcSCKtWD/dy+mgc4p2Tvo2qKgKHj9Yf+eniwFnuoQ0OUhlSfAEpKAFzF9N21Nwgnap6zy3L3MQ==} 209 | engines: {node: '>=12'} 210 | cpu: [x64] 211 | os: [android] 212 | requiresBuild: true 213 | dev: true 214 | optional: true 215 | 216 | /@esbuild/darwin-arm64/0.17.11: 217 | resolution: {integrity: sha512-pJ950bNKgzhkGNO3Z9TeHzIFtEyC2GDQL3wxkMApDEghYx5Qers84UTNc1bAxWbRkuJOgmOha5V0WUeh8G+YGw==} 218 | engines: {node: '>=12'} 219 | cpu: [arm64] 220 | os: [darwin] 221 | requiresBuild: true 222 | dev: true 223 | optional: true 224 | 225 | /@esbuild/darwin-x64/0.17.11: 226 | resolution: {integrity: sha512-iB0dQkIHXyczK3BZtzw1tqegf0F0Ab5texX2TvMQjiJIWXAfM4FQl7D909YfXWnB92OQz4ivBYQ2RlxBJrMJOw==} 227 | engines: {node: '>=12'} 228 | cpu: [x64] 229 | os: [darwin] 230 | requiresBuild: true 231 | dev: true 232 | optional: true 233 | 234 | /@esbuild/freebsd-arm64/0.17.11: 235 | resolution: {integrity: sha512-7EFzUADmI1jCHeDRGKgbnF5sDIceZsQGapoO6dmw7r/ZBEKX7CCDnIz8m9yEclzr7mFsd+DyasHzpjfJnmBB1Q==} 236 | engines: {node: '>=12'} 237 | cpu: [arm64] 238 | os: [freebsd] 239 | requiresBuild: true 240 | dev: true 241 | optional: true 242 | 243 | /@esbuild/freebsd-x64/0.17.11: 244 | resolution: {integrity: sha512-iPgenptC8i8pdvkHQvXJFzc1eVMR7W2lBPrTE6GbhR54sLcF42mk3zBOjKPOodezzuAz/KSu8CPyFSjcBMkE9g==} 245 | engines: {node: '>=12'} 246 | cpu: [x64] 247 | os: [freebsd] 248 | requiresBuild: true 249 | dev: true 250 | optional: true 251 | 252 | /@esbuild/linux-arm/0.17.11: 253 | resolution: {integrity: sha512-M9iK/d4lgZH0U5M1R2p2gqhPV/7JPJcRz+8O8GBKVgqndTzydQ7B2XGDbxtbvFkvIs53uXTobOhv+RyaqhUiMg==} 254 | engines: {node: '>=12'} 255 | cpu: [arm] 256 | os: [linux] 257 | requiresBuild: true 258 | dev: true 259 | optional: true 260 | 261 | /@esbuild/linux-arm64/0.17.11: 262 | resolution: {integrity: sha512-Qxth3gsWWGKz2/qG2d5DsW/57SeA2AmpSMhdg9TSB5Svn2KDob3qxfQSkdnWjSd42kqoxIPy3EJFs+6w1+6Qjg==} 263 | engines: {node: '>=12'} 264 | cpu: [arm64] 265 | os: [linux] 266 | requiresBuild: true 267 | dev: true 268 | optional: true 269 | 270 | /@esbuild/linux-ia32/0.17.11: 271 | resolution: {integrity: sha512-dB1nGaVWtUlb/rRDHmuDQhfqazWE0LMro/AIbT2lWM3CDMHJNpLckH+gCddQyhhcLac2OYw69ikUMO34JLt3wA==} 272 | engines: {node: '>=12'} 273 | cpu: [ia32] 274 | os: [linux] 275 | requiresBuild: true 276 | dev: true 277 | optional: true 278 | 279 | /@esbuild/linux-loong64/0.15.18: 280 | resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} 281 | engines: {node: '>=12'} 282 | cpu: [loong64] 283 | os: [linux] 284 | requiresBuild: true 285 | dev: true 286 | optional: true 287 | 288 | /@esbuild/linux-loong64/0.17.11: 289 | resolution: {integrity: sha512-aCWlq70Q7Nc9WDnormntGS1ar6ZFvUpqr8gXtO+HRejRYPweAFQN615PcgaSJkZjhHp61+MNLhzyVALSF2/Q0g==} 290 | engines: {node: '>=12'} 291 | cpu: [loong64] 292 | os: [linux] 293 | requiresBuild: true 294 | dev: true 295 | optional: true 296 | 297 | /@esbuild/linux-mips64el/0.17.11: 298 | resolution: {integrity: sha512-cGeGNdQxqY8qJwlYH1BP6rjIIiEcrM05H7k3tR7WxOLmD1ZxRMd6/QIOWMb8mD2s2YJFNRuNQ+wjMhgEL2oCEw==} 299 | engines: {node: '>=12'} 300 | cpu: [mips64el] 301 | os: [linux] 302 | requiresBuild: true 303 | dev: true 304 | optional: true 305 | 306 | /@esbuild/linux-ppc64/0.17.11: 307 | resolution: {integrity: sha512-BdlziJQPW/bNe0E8eYsHB40mYOluS+jULPCjlWiHzDgr+ZBRXPtgMV1nkLEGdpjrwgmtkZHEGEPaKdS/8faLDA==} 308 | engines: {node: '>=12'} 309 | cpu: [ppc64] 310 | os: [linux] 311 | requiresBuild: true 312 | dev: true 313 | optional: true 314 | 315 | /@esbuild/linux-riscv64/0.17.11: 316 | resolution: {integrity: sha512-MDLwQbtF+83oJCI1Cixn68Et/ME6gelmhssPebC40RdJaect+IM+l7o/CuG0ZlDs6tZTEIoxUe53H3GmMn8oMA==} 317 | engines: {node: '>=12'} 318 | cpu: [riscv64] 319 | os: [linux] 320 | requiresBuild: true 321 | dev: true 322 | optional: true 323 | 324 | /@esbuild/linux-s390x/0.17.11: 325 | resolution: {integrity: sha512-4N5EMESvws0Ozr2J94VoUD8HIRi7X0uvUv4c0wpTHZyZY9qpaaN7THjosdiW56irQ4qnJ6Lsc+i+5zGWnyqWqQ==} 326 | engines: {node: '>=12'} 327 | cpu: [s390x] 328 | os: [linux] 329 | requiresBuild: true 330 | dev: true 331 | optional: true 332 | 333 | /@esbuild/linux-x64/0.17.11: 334 | resolution: {integrity: sha512-rM/v8UlluxpytFSmVdbCe1yyKQd/e+FmIJE2oPJvbBo+D0XVWi1y/NQ4iTNx+436WmDHQBjVLrbnAQLQ6U7wlw==} 335 | engines: {node: '>=12'} 336 | cpu: [x64] 337 | os: [linux] 338 | requiresBuild: true 339 | dev: true 340 | optional: true 341 | 342 | /@esbuild/netbsd-x64/0.17.11: 343 | resolution: {integrity: sha512-4WaAhuz5f91h3/g43VBGdto1Q+X7VEZfpcWGtOFXnggEuLvjV+cP6DyLRU15IjiU9fKLLk41OoJfBFN5DhPvag==} 344 | engines: {node: '>=12'} 345 | cpu: [x64] 346 | os: [netbsd] 347 | requiresBuild: true 348 | dev: true 349 | optional: true 350 | 351 | /@esbuild/openbsd-x64/0.17.11: 352 | resolution: {integrity: sha512-UBj135Nx4FpnvtE+C8TWGp98oUgBcmNmdYgl5ToKc0mBHxVVqVE7FUS5/ELMImOp205qDAittL6Ezhasc2Ev/w==} 353 | engines: {node: '>=12'} 354 | cpu: [x64] 355 | os: [openbsd] 356 | requiresBuild: true 357 | dev: true 358 | optional: true 359 | 360 | /@esbuild/sunos-x64/0.17.11: 361 | resolution: {integrity: sha512-1/gxTifDC9aXbV2xOfCbOceh5AlIidUrPsMpivgzo8P8zUtczlq1ncFpeN1ZyQJ9lVs2hILy1PG5KPp+w8QPPg==} 362 | engines: {node: '>=12'} 363 | cpu: [x64] 364 | os: [sunos] 365 | requiresBuild: true 366 | dev: true 367 | optional: true 368 | 369 | /@esbuild/win32-arm64/0.17.11: 370 | resolution: {integrity: sha512-vtSfyx5yRdpiOW9yp6Ax0zyNOv9HjOAw8WaZg3dF5djEHKKm3UnoohftVvIJtRh0Ec7Hso0RIdTqZvPXJ7FdvQ==} 371 | engines: {node: '>=12'} 372 | cpu: [arm64] 373 | os: [win32] 374 | requiresBuild: true 375 | dev: true 376 | optional: true 377 | 378 | /@esbuild/win32-ia32/0.17.11: 379 | resolution: {integrity: sha512-GFPSLEGQr4wHFTiIUJQrnJKZhZjjq4Sphf+mM76nQR6WkQn73vm7IsacmBRPkALfpOCHsopSvLgqdd4iUW2mYw==} 380 | engines: {node: '>=12'} 381 | cpu: [ia32] 382 | os: [win32] 383 | requiresBuild: true 384 | dev: true 385 | optional: true 386 | 387 | /@esbuild/win32-x64/0.17.11: 388 | resolution: {integrity: sha512-N9vXqLP3eRL8BqSy8yn4Y98cZI2pZ8fyuHx6lKjiG2WABpT2l01TXdzq5Ma2ZUBzfB7tx5dXVhge8X9u0S70ZQ==} 389 | engines: {node: '>=12'} 390 | cpu: [x64] 391 | os: [win32] 392 | requiresBuild: true 393 | dev: true 394 | optional: true 395 | 396 | /@nodelib/fs.scandir/2.1.5: 397 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 398 | engines: {node: '>= 8'} 399 | dependencies: 400 | '@nodelib/fs.stat': 2.0.5 401 | run-parallel: 1.2.0 402 | dev: true 403 | 404 | /@nodelib/fs.stat/2.0.5: 405 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 406 | engines: {node: '>= 8'} 407 | dev: true 408 | 409 | /@nodelib/fs.walk/1.2.8: 410 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 411 | engines: {node: '>= 8'} 412 | dependencies: 413 | '@nodelib/fs.scandir': 2.1.5 414 | fastq: 1.15.0 415 | dev: true 416 | 417 | /@trivago/prettier-plugin-sort-imports/4.1.1_prettier@2.8.4: 418 | resolution: {integrity: sha512-dQ2r2uzNr1x6pJsuh/8x0IRA3CBUB+pWEW3J/7N98axqt7SQSm+2fy0FLNXvXGg77xEDC7KHxJlHfLYyi7PDcw==} 419 | peerDependencies: 420 | '@vue/compiler-sfc': 3.x 421 | prettier: 2.x 422 | peerDependenciesMeta: 423 | '@vue/compiler-sfc': 424 | optional: true 425 | dependencies: 426 | '@babel/generator': 7.17.7 427 | '@babel/parser': 7.21.3 428 | '@babel/traverse': 7.17.3 429 | '@babel/types': 7.17.0 430 | javascript-natural-sort: 0.7.1 431 | lodash: 4.17.21 432 | prettier: 2.8.4 433 | transitivePeerDependencies: 434 | - supports-color 435 | dev: true 436 | 437 | /@types/minimist/1.2.2: 438 | resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} 439 | dev: true 440 | 441 | /@types/node/18.15.3: 442 | resolution: {integrity: sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==} 443 | dev: true 444 | 445 | /@types/normalize-package-data/2.4.1: 446 | resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} 447 | dev: true 448 | 449 | /@types/uuid/9.0.1: 450 | resolution: {integrity: sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==} 451 | dev: true 452 | 453 | /@types/ws/8.5.4: 454 | resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==} 455 | dependencies: 456 | '@types/node': 18.15.3 457 | dev: true 458 | 459 | /aggregate-error/3.1.0: 460 | resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} 461 | engines: {node: '>=8'} 462 | dependencies: 463 | clean-stack: 2.2.0 464 | indent-string: 4.0.0 465 | dev: true 466 | 467 | /aggregate-error/4.0.1: 468 | resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} 469 | engines: {node: '>=12'} 470 | dependencies: 471 | clean-stack: 4.2.0 472 | indent-string: 5.0.0 473 | dev: true 474 | 475 | /ansi-escapes/4.3.2: 476 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 477 | engines: {node: '>=8'} 478 | dependencies: 479 | type-fest: 0.21.3 480 | dev: true 481 | 482 | /ansi-regex/5.0.1: 483 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 484 | engines: {node: '>=8'} 485 | dev: true 486 | 487 | /ansi-regex/6.0.1: 488 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 489 | engines: {node: '>=12'} 490 | dev: true 491 | 492 | /ansi-sequence-parser/1.1.0: 493 | resolution: {integrity: sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==} 494 | dev: true 495 | 496 | /ansi-styles/3.2.1: 497 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 498 | engines: {node: '>=4'} 499 | dependencies: 500 | color-convert: 1.9.3 501 | dev: true 502 | 503 | /ansi-styles/4.3.0: 504 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 505 | engines: {node: '>=8'} 506 | dependencies: 507 | color-convert: 2.0.1 508 | dev: true 509 | 510 | /ansi-styles/6.2.1: 511 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 512 | engines: {node: '>=12'} 513 | dev: true 514 | 515 | /any-promise/1.3.0: 516 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 517 | dev: true 518 | 519 | /anymatch/3.1.3: 520 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 521 | engines: {node: '>= 8'} 522 | dependencies: 523 | normalize-path: 3.0.0 524 | picomatch: 2.3.1 525 | dev: true 526 | 527 | /array-union/2.1.0: 528 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 529 | engines: {node: '>=8'} 530 | dev: true 531 | 532 | /arrify/1.0.1: 533 | resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} 534 | engines: {node: '>=0.10.0'} 535 | dev: true 536 | 537 | /astral-regex/2.0.0: 538 | resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} 539 | engines: {node: '>=8'} 540 | dev: true 541 | 542 | /available-typed-arrays/1.0.5: 543 | resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} 544 | engines: {node: '>= 0.4'} 545 | dev: true 546 | 547 | /balanced-match/1.0.2: 548 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 549 | dev: true 550 | 551 | /base64-js/1.5.1: 552 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 553 | dev: true 554 | 555 | /binary-extensions/2.2.0: 556 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 557 | engines: {node: '>=8'} 558 | dev: true 559 | 560 | /bl/5.1.0: 561 | resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} 562 | dependencies: 563 | buffer: 6.0.3 564 | inherits: 2.0.4 565 | readable-stream: 3.6.0 566 | dev: true 567 | 568 | /brace-expansion/1.1.11: 569 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 570 | dependencies: 571 | balanced-match: 1.0.2 572 | concat-map: 0.0.1 573 | dev: true 574 | 575 | /brace-expansion/2.0.1: 576 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 577 | dependencies: 578 | balanced-match: 1.0.2 579 | dev: true 580 | 581 | /braces/3.0.2: 582 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 583 | engines: {node: '>=8'} 584 | dependencies: 585 | fill-range: 7.0.1 586 | dev: true 587 | 588 | /buffer-from/1.1.2: 589 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 590 | dev: true 591 | 592 | /buffer/6.0.3: 593 | resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} 594 | dependencies: 595 | base64-js: 1.5.1 596 | ieee754: 1.2.1 597 | dev: true 598 | 599 | /bundle-require/4.0.1_esbuild@0.17.11: 600 | resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==} 601 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 602 | peerDependencies: 603 | esbuild: '>=0.17' 604 | dependencies: 605 | esbuild: 0.17.11 606 | load-tsconfig: 0.2.3 607 | dev: true 608 | 609 | /cac/6.7.14: 610 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 611 | engines: {node: '>=8'} 612 | dev: true 613 | 614 | /call-bind/1.0.2: 615 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 616 | dependencies: 617 | function-bind: 1.1.1 618 | get-intrinsic: 1.2.0 619 | dev: true 620 | 621 | /camelcase-keys/7.0.2: 622 | resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==} 623 | engines: {node: '>=12'} 624 | dependencies: 625 | camelcase: 6.3.0 626 | map-obj: 4.3.0 627 | quick-lru: 5.1.1 628 | type-fest: 1.4.0 629 | dev: true 630 | 631 | /camelcase/6.3.0: 632 | resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} 633 | engines: {node: '>=10'} 634 | dev: true 635 | 636 | /chalk/2.4.2: 637 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 638 | engines: {node: '>=4'} 639 | dependencies: 640 | ansi-styles: 3.2.1 641 | escape-string-regexp: 1.0.5 642 | supports-color: 5.5.0 643 | dev: true 644 | 645 | /chalk/5.2.0: 646 | resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} 647 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 648 | dev: true 649 | 650 | /chokidar/3.5.3: 651 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 652 | engines: {node: '>= 8.10.0'} 653 | dependencies: 654 | anymatch: 3.1.3 655 | braces: 3.0.2 656 | glob-parent: 5.1.2 657 | is-binary-path: 2.1.0 658 | is-glob: 4.0.3 659 | normalize-path: 3.0.0 660 | readdirp: 3.6.0 661 | optionalDependencies: 662 | fsevents: 2.3.2 663 | dev: true 664 | 665 | /clean-stack/2.2.0: 666 | resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} 667 | engines: {node: '>=6'} 668 | dev: true 669 | 670 | /clean-stack/4.2.0: 671 | resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} 672 | engines: {node: '>=12'} 673 | dependencies: 674 | escape-string-regexp: 5.0.0 675 | dev: true 676 | 677 | /cli-cursor/3.1.0: 678 | resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} 679 | engines: {node: '>=8'} 680 | dependencies: 681 | restore-cursor: 3.1.0 682 | dev: true 683 | 684 | /cli-cursor/4.0.0: 685 | resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} 686 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 687 | dependencies: 688 | restore-cursor: 4.0.0 689 | dev: true 690 | 691 | /cli-spinners/2.7.0: 692 | resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} 693 | engines: {node: '>=6'} 694 | dev: true 695 | 696 | /cli-truncate/2.1.0: 697 | resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} 698 | engines: {node: '>=8'} 699 | dependencies: 700 | slice-ansi: 3.0.0 701 | string-width: 4.2.3 702 | dev: true 703 | 704 | /cli-truncate/3.1.0: 705 | resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} 706 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 707 | dependencies: 708 | slice-ansi: 5.0.0 709 | string-width: 5.1.2 710 | dev: true 711 | 712 | /clone/1.0.4: 713 | resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} 714 | engines: {node: '>=0.8'} 715 | dev: true 716 | 717 | /color-convert/1.9.3: 718 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 719 | dependencies: 720 | color-name: 1.1.3 721 | dev: true 722 | 723 | /color-convert/2.0.1: 724 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 725 | engines: {node: '>=7.0.0'} 726 | dependencies: 727 | color-name: 1.1.4 728 | dev: true 729 | 730 | /color-name/1.1.3: 731 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 732 | dev: true 733 | 734 | /color-name/1.1.4: 735 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 736 | dev: true 737 | 738 | /colorette/2.0.19: 739 | resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} 740 | dev: true 741 | 742 | /commander/10.0.0: 743 | resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} 744 | engines: {node: '>=14'} 745 | dev: true 746 | 747 | /commander/4.1.1: 748 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 749 | engines: {node: '>= 6'} 750 | dev: true 751 | 752 | /concat-map/0.0.1: 753 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 754 | dev: true 755 | 756 | /cross-spawn/6.0.5: 757 | resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} 758 | engines: {node: '>=4.8'} 759 | dependencies: 760 | nice-try: 1.0.5 761 | path-key: 2.0.1 762 | semver: 5.7.1 763 | shebang-command: 1.2.0 764 | which: 1.3.1 765 | dev: true 766 | 767 | /cross-spawn/7.0.3: 768 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 769 | engines: {node: '>= 8'} 770 | dependencies: 771 | path-key: 3.1.1 772 | shebang-command: 2.0.0 773 | which: 2.0.2 774 | dev: true 775 | 776 | /debug/4.3.4: 777 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 778 | engines: {node: '>=6.0'} 779 | peerDependencies: 780 | supports-color: '*' 781 | peerDependenciesMeta: 782 | supports-color: 783 | optional: true 784 | dependencies: 785 | ms: 2.1.2 786 | dev: true 787 | 788 | /decamelize-keys/1.1.1: 789 | resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} 790 | engines: {node: '>=0.10.0'} 791 | dependencies: 792 | decamelize: 1.2.0 793 | map-obj: 1.0.1 794 | dev: true 795 | 796 | /decamelize/1.2.0: 797 | resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} 798 | engines: {node: '>=0.10.0'} 799 | dev: true 800 | 801 | /decamelize/5.0.1: 802 | resolution: {integrity: sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==} 803 | engines: {node: '>=10'} 804 | dev: true 805 | 806 | /defaults/1.0.4: 807 | resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} 808 | dependencies: 809 | clone: 1.0.4 810 | dev: true 811 | 812 | /define-properties/1.1.4: 813 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} 814 | engines: {node: '>= 0.4'} 815 | dependencies: 816 | has-property-descriptors: 1.0.0 817 | object-keys: 1.1.1 818 | dev: true 819 | 820 | /del-cli/5.0.0: 821 | resolution: {integrity: sha512-rENFhUaYcjoMODwFhhlON+ogN7DoG+4+GFN+bsA1XeDt4w2OKQnQadFP1thHSAlK9FAtl88qgP66wOV+eFZZiQ==} 822 | engines: {node: '>=14.16'} 823 | hasBin: true 824 | dependencies: 825 | del: 7.0.0 826 | meow: 10.1.5 827 | dev: true 828 | 829 | /del/7.0.0: 830 | resolution: {integrity: sha512-tQbV/4u5WVB8HMJr08pgw0b6nG4RGt/tj+7Numvq+zqcvUFeMaIWWOUFltiU+6go8BSO2/ogsB4EasDaj0y68Q==} 831 | engines: {node: '>=14.16'} 832 | dependencies: 833 | globby: 13.1.3 834 | graceful-fs: 4.2.10 835 | is-glob: 4.0.3 836 | is-path-cwd: 3.0.0 837 | is-path-inside: 4.0.0 838 | p-map: 5.5.0 839 | rimraf: 3.0.2 840 | slash: 4.0.0 841 | dev: true 842 | 843 | /dir-glob/3.0.1: 844 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 845 | engines: {node: '>=8'} 846 | dependencies: 847 | path-type: 4.0.0 848 | dev: true 849 | 850 | /dotenv-safe/8.2.0: 851 | resolution: {integrity: sha512-uWwWWdUQkSs5a3mySDB22UtNwyEYi0JtEQu+vDzIqr9OjbDdC2Ip13PnSpi/fctqlYmzkxCeabiyCAOROuAIaA==} 852 | dependencies: 853 | dotenv: 8.6.0 854 | dev: true 855 | 856 | /dotenv/8.6.0: 857 | resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} 858 | engines: {node: '>=10'} 859 | dev: true 860 | 861 | /eastasianwidth/0.2.0: 862 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 863 | dev: true 864 | 865 | /emoji-regex/8.0.0: 866 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 867 | dev: true 868 | 869 | /emoji-regex/9.2.2: 870 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 871 | dev: true 872 | 873 | /error-ex/1.3.2: 874 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 875 | dependencies: 876 | is-arrayish: 0.2.1 877 | dev: true 878 | 879 | /es-abstract/1.21.1: 880 | resolution: {integrity: sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==} 881 | engines: {node: '>= 0.4'} 882 | dependencies: 883 | available-typed-arrays: 1.0.5 884 | call-bind: 1.0.2 885 | es-set-tostringtag: 2.0.1 886 | es-to-primitive: 1.2.1 887 | function-bind: 1.1.1 888 | function.prototype.name: 1.1.5 889 | get-intrinsic: 1.2.0 890 | get-symbol-description: 1.0.0 891 | globalthis: 1.0.3 892 | gopd: 1.0.1 893 | has: 1.0.3 894 | has-property-descriptors: 1.0.0 895 | has-proto: 1.0.1 896 | has-symbols: 1.0.3 897 | internal-slot: 1.0.4 898 | is-array-buffer: 3.0.1 899 | is-callable: 1.2.7 900 | is-negative-zero: 2.0.2 901 | is-regex: 1.1.4 902 | is-shared-array-buffer: 1.0.2 903 | is-string: 1.0.7 904 | is-typed-array: 1.1.10 905 | is-weakref: 1.0.2 906 | object-inspect: 1.12.3 907 | object-keys: 1.1.1 908 | object.assign: 4.1.4 909 | regexp.prototype.flags: 1.4.3 910 | safe-regex-test: 1.0.0 911 | string.prototype.trimend: 1.0.6 912 | string.prototype.trimstart: 1.0.6 913 | typed-array-length: 1.0.4 914 | unbox-primitive: 1.0.2 915 | which-typed-array: 1.1.9 916 | dev: true 917 | 918 | /es-set-tostringtag/2.0.1: 919 | resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} 920 | engines: {node: '>= 0.4'} 921 | dependencies: 922 | get-intrinsic: 1.2.0 923 | has: 1.0.3 924 | has-tostringtag: 1.0.0 925 | dev: true 926 | 927 | /es-to-primitive/1.2.1: 928 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 929 | engines: {node: '>= 0.4'} 930 | dependencies: 931 | is-callable: 1.2.7 932 | is-date-object: 1.0.5 933 | is-symbol: 1.0.4 934 | dev: true 935 | 936 | /esbuild-android-64/0.15.18: 937 | resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} 938 | engines: {node: '>=12'} 939 | cpu: [x64] 940 | os: [android] 941 | requiresBuild: true 942 | dev: true 943 | optional: true 944 | 945 | /esbuild-android-arm64/0.15.18: 946 | resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} 947 | engines: {node: '>=12'} 948 | cpu: [arm64] 949 | os: [android] 950 | requiresBuild: true 951 | dev: true 952 | optional: true 953 | 954 | /esbuild-darwin-64/0.15.18: 955 | resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} 956 | engines: {node: '>=12'} 957 | cpu: [x64] 958 | os: [darwin] 959 | requiresBuild: true 960 | dev: true 961 | optional: true 962 | 963 | /esbuild-darwin-arm64/0.15.18: 964 | resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} 965 | engines: {node: '>=12'} 966 | cpu: [arm64] 967 | os: [darwin] 968 | requiresBuild: true 969 | dev: true 970 | optional: true 971 | 972 | /esbuild-freebsd-64/0.15.18: 973 | resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} 974 | engines: {node: '>=12'} 975 | cpu: [x64] 976 | os: [freebsd] 977 | requiresBuild: true 978 | dev: true 979 | optional: true 980 | 981 | /esbuild-freebsd-arm64/0.15.18: 982 | resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} 983 | engines: {node: '>=12'} 984 | cpu: [arm64] 985 | os: [freebsd] 986 | requiresBuild: true 987 | dev: true 988 | optional: true 989 | 990 | /esbuild-linux-32/0.15.18: 991 | resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} 992 | engines: {node: '>=12'} 993 | cpu: [ia32] 994 | os: [linux] 995 | requiresBuild: true 996 | dev: true 997 | optional: true 998 | 999 | /esbuild-linux-64/0.15.18: 1000 | resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} 1001 | engines: {node: '>=12'} 1002 | cpu: [x64] 1003 | os: [linux] 1004 | requiresBuild: true 1005 | dev: true 1006 | optional: true 1007 | 1008 | /esbuild-linux-arm/0.15.18: 1009 | resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} 1010 | engines: {node: '>=12'} 1011 | cpu: [arm] 1012 | os: [linux] 1013 | requiresBuild: true 1014 | dev: true 1015 | optional: true 1016 | 1017 | /esbuild-linux-arm64/0.15.18: 1018 | resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} 1019 | engines: {node: '>=12'} 1020 | cpu: [arm64] 1021 | os: [linux] 1022 | requiresBuild: true 1023 | dev: true 1024 | optional: true 1025 | 1026 | /esbuild-linux-mips64le/0.15.18: 1027 | resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} 1028 | engines: {node: '>=12'} 1029 | cpu: [mips64el] 1030 | os: [linux] 1031 | requiresBuild: true 1032 | dev: true 1033 | optional: true 1034 | 1035 | /esbuild-linux-ppc64le/0.15.18: 1036 | resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} 1037 | engines: {node: '>=12'} 1038 | cpu: [ppc64] 1039 | os: [linux] 1040 | requiresBuild: true 1041 | dev: true 1042 | optional: true 1043 | 1044 | /esbuild-linux-riscv64/0.15.18: 1045 | resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} 1046 | engines: {node: '>=12'} 1047 | cpu: [riscv64] 1048 | os: [linux] 1049 | requiresBuild: true 1050 | dev: true 1051 | optional: true 1052 | 1053 | /esbuild-linux-s390x/0.15.18: 1054 | resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} 1055 | engines: {node: '>=12'} 1056 | cpu: [s390x] 1057 | os: [linux] 1058 | requiresBuild: true 1059 | dev: true 1060 | optional: true 1061 | 1062 | /esbuild-netbsd-64/0.15.18: 1063 | resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} 1064 | engines: {node: '>=12'} 1065 | cpu: [x64] 1066 | os: [netbsd] 1067 | requiresBuild: true 1068 | dev: true 1069 | optional: true 1070 | 1071 | /esbuild-openbsd-64/0.15.18: 1072 | resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} 1073 | engines: {node: '>=12'} 1074 | cpu: [x64] 1075 | os: [openbsd] 1076 | requiresBuild: true 1077 | dev: true 1078 | optional: true 1079 | 1080 | /esbuild-sunos-64/0.15.18: 1081 | resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} 1082 | engines: {node: '>=12'} 1083 | cpu: [x64] 1084 | os: [sunos] 1085 | requiresBuild: true 1086 | dev: true 1087 | optional: true 1088 | 1089 | /esbuild-windows-32/0.15.18: 1090 | resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} 1091 | engines: {node: '>=12'} 1092 | cpu: [ia32] 1093 | os: [win32] 1094 | requiresBuild: true 1095 | dev: true 1096 | optional: true 1097 | 1098 | /esbuild-windows-64/0.15.18: 1099 | resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} 1100 | engines: {node: '>=12'} 1101 | cpu: [x64] 1102 | os: [win32] 1103 | requiresBuild: true 1104 | dev: true 1105 | optional: true 1106 | 1107 | /esbuild-windows-arm64/0.15.18: 1108 | resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} 1109 | engines: {node: '>=12'} 1110 | cpu: [arm64] 1111 | os: [win32] 1112 | requiresBuild: true 1113 | dev: true 1114 | optional: true 1115 | 1116 | /esbuild/0.15.18: 1117 | resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} 1118 | engines: {node: '>=12'} 1119 | hasBin: true 1120 | requiresBuild: true 1121 | optionalDependencies: 1122 | '@esbuild/android-arm': 0.15.18 1123 | '@esbuild/linux-loong64': 0.15.18 1124 | esbuild-android-64: 0.15.18 1125 | esbuild-android-arm64: 0.15.18 1126 | esbuild-darwin-64: 0.15.18 1127 | esbuild-darwin-arm64: 0.15.18 1128 | esbuild-freebsd-64: 0.15.18 1129 | esbuild-freebsd-arm64: 0.15.18 1130 | esbuild-linux-32: 0.15.18 1131 | esbuild-linux-64: 0.15.18 1132 | esbuild-linux-arm: 0.15.18 1133 | esbuild-linux-arm64: 0.15.18 1134 | esbuild-linux-mips64le: 0.15.18 1135 | esbuild-linux-ppc64le: 0.15.18 1136 | esbuild-linux-riscv64: 0.15.18 1137 | esbuild-linux-s390x: 0.15.18 1138 | esbuild-netbsd-64: 0.15.18 1139 | esbuild-openbsd-64: 0.15.18 1140 | esbuild-sunos-64: 0.15.18 1141 | esbuild-windows-32: 0.15.18 1142 | esbuild-windows-64: 0.15.18 1143 | esbuild-windows-arm64: 0.15.18 1144 | dev: true 1145 | 1146 | /esbuild/0.17.11: 1147 | resolution: {integrity: sha512-pAMImyokbWDtnA/ufPxjQg0fYo2DDuzAlqwnDvbXqHLphe+m80eF++perYKVm8LeTuj2zUuFXC+xgSVxyoHUdg==} 1148 | engines: {node: '>=12'} 1149 | hasBin: true 1150 | requiresBuild: true 1151 | optionalDependencies: 1152 | '@esbuild/android-arm': 0.17.11 1153 | '@esbuild/android-arm64': 0.17.11 1154 | '@esbuild/android-x64': 0.17.11 1155 | '@esbuild/darwin-arm64': 0.17.11 1156 | '@esbuild/darwin-x64': 0.17.11 1157 | '@esbuild/freebsd-arm64': 0.17.11 1158 | '@esbuild/freebsd-x64': 0.17.11 1159 | '@esbuild/linux-arm': 0.17.11 1160 | '@esbuild/linux-arm64': 0.17.11 1161 | '@esbuild/linux-ia32': 0.17.11 1162 | '@esbuild/linux-loong64': 0.17.11 1163 | '@esbuild/linux-mips64el': 0.17.11 1164 | '@esbuild/linux-ppc64': 0.17.11 1165 | '@esbuild/linux-riscv64': 0.17.11 1166 | '@esbuild/linux-s390x': 0.17.11 1167 | '@esbuild/linux-x64': 0.17.11 1168 | '@esbuild/netbsd-x64': 0.17.11 1169 | '@esbuild/openbsd-x64': 0.17.11 1170 | '@esbuild/sunos-x64': 0.17.11 1171 | '@esbuild/win32-arm64': 0.17.11 1172 | '@esbuild/win32-ia32': 0.17.11 1173 | '@esbuild/win32-x64': 0.17.11 1174 | dev: true 1175 | 1176 | /escape-string-regexp/1.0.5: 1177 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1178 | engines: {node: '>=0.8.0'} 1179 | dev: true 1180 | 1181 | /escape-string-regexp/5.0.0: 1182 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 1183 | engines: {node: '>=12'} 1184 | dev: true 1185 | 1186 | /execa/5.1.1: 1187 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 1188 | engines: {node: '>=10'} 1189 | dependencies: 1190 | cross-spawn: 7.0.3 1191 | get-stream: 6.0.1 1192 | human-signals: 2.1.0 1193 | is-stream: 2.0.1 1194 | merge-stream: 2.0.0 1195 | npm-run-path: 4.0.1 1196 | onetime: 5.1.2 1197 | signal-exit: 3.0.7 1198 | strip-final-newline: 2.0.0 1199 | dev: true 1200 | 1201 | /execa/7.1.1: 1202 | resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==} 1203 | engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} 1204 | dependencies: 1205 | cross-spawn: 7.0.3 1206 | get-stream: 6.0.1 1207 | human-signals: 4.3.0 1208 | is-stream: 3.0.0 1209 | merge-stream: 2.0.0 1210 | npm-run-path: 5.1.0 1211 | onetime: 6.0.0 1212 | signal-exit: 3.0.7 1213 | strip-final-newline: 3.0.0 1214 | dev: true 1215 | 1216 | /fast-glob/3.2.12: 1217 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 1218 | engines: {node: '>=8.6.0'} 1219 | dependencies: 1220 | '@nodelib/fs.stat': 2.0.5 1221 | '@nodelib/fs.walk': 1.2.8 1222 | glob-parent: 5.1.2 1223 | merge2: 1.4.1 1224 | micromatch: 4.0.5 1225 | dev: true 1226 | 1227 | /fastq/1.15.0: 1228 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 1229 | dependencies: 1230 | reusify: 1.0.4 1231 | dev: true 1232 | 1233 | /fill-range/7.0.1: 1234 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1235 | engines: {node: '>=8'} 1236 | dependencies: 1237 | to-regex-range: 5.0.1 1238 | dev: true 1239 | 1240 | /find-up/5.0.0: 1241 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1242 | engines: {node: '>=10'} 1243 | dependencies: 1244 | locate-path: 6.0.0 1245 | path-exists: 4.0.0 1246 | dev: true 1247 | 1248 | /for-each/0.3.3: 1249 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} 1250 | dependencies: 1251 | is-callable: 1.2.7 1252 | dev: true 1253 | 1254 | /fs.realpath/1.0.0: 1255 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1256 | dev: true 1257 | 1258 | /fsevents/2.3.2: 1259 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1260 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1261 | os: [darwin] 1262 | requiresBuild: true 1263 | dev: true 1264 | optional: true 1265 | 1266 | /function-bind/1.1.1: 1267 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1268 | dev: true 1269 | 1270 | /function.prototype.name/1.1.5: 1271 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} 1272 | engines: {node: '>= 0.4'} 1273 | dependencies: 1274 | call-bind: 1.0.2 1275 | define-properties: 1.1.4 1276 | es-abstract: 1.21.1 1277 | functions-have-names: 1.2.3 1278 | dev: true 1279 | 1280 | /functions-have-names/1.2.3: 1281 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1282 | dev: true 1283 | 1284 | /get-intrinsic/1.2.0: 1285 | resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} 1286 | dependencies: 1287 | function-bind: 1.1.1 1288 | has: 1.0.3 1289 | has-symbols: 1.0.3 1290 | dev: true 1291 | 1292 | /get-stream/6.0.1: 1293 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1294 | engines: {node: '>=10'} 1295 | dev: true 1296 | 1297 | /get-symbol-description/1.0.0: 1298 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 1299 | engines: {node: '>= 0.4'} 1300 | dependencies: 1301 | call-bind: 1.0.2 1302 | get-intrinsic: 1.2.0 1303 | dev: true 1304 | 1305 | /get-tsconfig/4.4.0: 1306 | resolution: {integrity: sha512-0Gdjo/9+FzsYhXCEFueo2aY1z1tpXrxWZzP7k8ul9qt1U5o8rYJwTJYmaeHdrVosYIVYkOy2iwCJ9FdpocJhPQ==} 1307 | dev: true 1308 | 1309 | /glob-parent/5.1.2: 1310 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1311 | engines: {node: '>= 6'} 1312 | dependencies: 1313 | is-glob: 4.0.3 1314 | dev: true 1315 | 1316 | /glob/7.1.6: 1317 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} 1318 | dependencies: 1319 | fs.realpath: 1.0.0 1320 | inflight: 1.0.6 1321 | inherits: 2.0.4 1322 | minimatch: 3.1.2 1323 | once: 1.4.0 1324 | path-is-absolute: 1.0.1 1325 | dev: true 1326 | 1327 | /glob/7.2.3: 1328 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1329 | dependencies: 1330 | fs.realpath: 1.0.0 1331 | inflight: 1.0.6 1332 | inherits: 2.0.4 1333 | minimatch: 3.1.2 1334 | once: 1.4.0 1335 | path-is-absolute: 1.0.1 1336 | dev: true 1337 | 1338 | /globals/11.12.0: 1339 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1340 | engines: {node: '>=4'} 1341 | dev: true 1342 | 1343 | /globalthis/1.0.3: 1344 | resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} 1345 | engines: {node: '>= 0.4'} 1346 | dependencies: 1347 | define-properties: 1.1.4 1348 | dev: true 1349 | 1350 | /globby/11.1.0: 1351 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1352 | engines: {node: '>=10'} 1353 | dependencies: 1354 | array-union: 2.1.0 1355 | dir-glob: 3.0.1 1356 | fast-glob: 3.2.12 1357 | ignore: 5.2.4 1358 | merge2: 1.4.1 1359 | slash: 3.0.0 1360 | dev: true 1361 | 1362 | /globby/13.1.3: 1363 | resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} 1364 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1365 | dependencies: 1366 | dir-glob: 3.0.1 1367 | fast-glob: 3.2.12 1368 | ignore: 5.2.4 1369 | merge2: 1.4.1 1370 | slash: 4.0.0 1371 | dev: true 1372 | 1373 | /gopd/1.0.1: 1374 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 1375 | dependencies: 1376 | get-intrinsic: 1.2.0 1377 | dev: true 1378 | 1379 | /graceful-fs/4.2.10: 1380 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 1381 | dev: true 1382 | 1383 | /handlebars/4.7.7: 1384 | resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} 1385 | engines: {node: '>=0.4.7'} 1386 | hasBin: true 1387 | dependencies: 1388 | minimist: 1.2.7 1389 | neo-async: 2.6.2 1390 | source-map: 0.6.1 1391 | wordwrap: 1.0.0 1392 | optionalDependencies: 1393 | uglify-js: 3.17.4 1394 | dev: true 1395 | 1396 | /hard-rejection/2.1.0: 1397 | resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} 1398 | engines: {node: '>=6'} 1399 | dev: true 1400 | 1401 | /has-bigints/1.0.2: 1402 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 1403 | dev: true 1404 | 1405 | /has-flag/3.0.0: 1406 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1407 | engines: {node: '>=4'} 1408 | dev: true 1409 | 1410 | /has-property-descriptors/1.0.0: 1411 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 1412 | dependencies: 1413 | get-intrinsic: 1.2.0 1414 | dev: true 1415 | 1416 | /has-proto/1.0.1: 1417 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} 1418 | engines: {node: '>= 0.4'} 1419 | dev: true 1420 | 1421 | /has-symbols/1.0.3: 1422 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1423 | engines: {node: '>= 0.4'} 1424 | dev: true 1425 | 1426 | /has-tostringtag/1.0.0: 1427 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 1428 | engines: {node: '>= 0.4'} 1429 | dependencies: 1430 | has-symbols: 1.0.3 1431 | dev: true 1432 | 1433 | /has/1.0.3: 1434 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1435 | engines: {node: '>= 0.4.0'} 1436 | dependencies: 1437 | function-bind: 1.1.1 1438 | dev: true 1439 | 1440 | /hosted-git-info/2.8.9: 1441 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} 1442 | dev: true 1443 | 1444 | /hosted-git-info/4.1.0: 1445 | resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} 1446 | engines: {node: '>=10'} 1447 | dependencies: 1448 | lru-cache: 6.0.0 1449 | dev: true 1450 | 1451 | /human-signals/2.1.0: 1452 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 1453 | engines: {node: '>=10.17.0'} 1454 | dev: true 1455 | 1456 | /human-signals/4.3.0: 1457 | resolution: {integrity: sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ==} 1458 | engines: {node: '>=14.18.0'} 1459 | dev: true 1460 | 1461 | /husky/8.0.3: 1462 | resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} 1463 | engines: {node: '>=14'} 1464 | hasBin: true 1465 | dev: true 1466 | 1467 | /ieee754/1.2.1: 1468 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 1469 | dev: true 1470 | 1471 | /ignore/5.2.4: 1472 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} 1473 | engines: {node: '>= 4'} 1474 | dev: true 1475 | 1476 | /indent-string/4.0.0: 1477 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 1478 | engines: {node: '>=8'} 1479 | dev: true 1480 | 1481 | /indent-string/5.0.0: 1482 | resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} 1483 | engines: {node: '>=12'} 1484 | dev: true 1485 | 1486 | /inflight/1.0.6: 1487 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1488 | dependencies: 1489 | once: 1.4.0 1490 | wrappy: 1.0.2 1491 | dev: true 1492 | 1493 | /inherits/2.0.4: 1494 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1495 | dev: true 1496 | 1497 | /internal-slot/1.0.4: 1498 | resolution: {integrity: sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==} 1499 | engines: {node: '>= 0.4'} 1500 | dependencies: 1501 | get-intrinsic: 1.2.0 1502 | has: 1.0.3 1503 | side-channel: 1.0.4 1504 | dev: true 1505 | 1506 | /is-array-buffer/3.0.1: 1507 | resolution: {integrity: sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==} 1508 | dependencies: 1509 | call-bind: 1.0.2 1510 | get-intrinsic: 1.2.0 1511 | is-typed-array: 1.1.10 1512 | dev: true 1513 | 1514 | /is-arrayish/0.2.1: 1515 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1516 | dev: true 1517 | 1518 | /is-bigint/1.0.4: 1519 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 1520 | dependencies: 1521 | has-bigints: 1.0.2 1522 | dev: true 1523 | 1524 | /is-binary-path/2.1.0: 1525 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1526 | engines: {node: '>=8'} 1527 | dependencies: 1528 | binary-extensions: 2.2.0 1529 | dev: true 1530 | 1531 | /is-boolean-object/1.1.2: 1532 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 1533 | engines: {node: '>= 0.4'} 1534 | dependencies: 1535 | call-bind: 1.0.2 1536 | has-tostringtag: 1.0.0 1537 | dev: true 1538 | 1539 | /is-callable/1.2.7: 1540 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 1541 | engines: {node: '>= 0.4'} 1542 | dev: true 1543 | 1544 | /is-core-module/2.11.0: 1545 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} 1546 | dependencies: 1547 | has: 1.0.3 1548 | dev: true 1549 | 1550 | /is-date-object/1.0.5: 1551 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 1552 | engines: {node: '>= 0.4'} 1553 | dependencies: 1554 | has-tostringtag: 1.0.0 1555 | dev: true 1556 | 1557 | /is-extglob/2.1.1: 1558 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1559 | engines: {node: '>=0.10.0'} 1560 | dev: true 1561 | 1562 | /is-fullwidth-code-point/3.0.0: 1563 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1564 | engines: {node: '>=8'} 1565 | dev: true 1566 | 1567 | /is-fullwidth-code-point/4.0.0: 1568 | resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} 1569 | engines: {node: '>=12'} 1570 | dev: true 1571 | 1572 | /is-glob/4.0.3: 1573 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1574 | engines: {node: '>=0.10.0'} 1575 | dependencies: 1576 | is-extglob: 2.1.1 1577 | dev: true 1578 | 1579 | /is-interactive/2.0.0: 1580 | resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} 1581 | engines: {node: '>=12'} 1582 | dev: true 1583 | 1584 | /is-negative-zero/2.0.2: 1585 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 1586 | engines: {node: '>= 0.4'} 1587 | dev: true 1588 | 1589 | /is-number-object/1.0.7: 1590 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 1591 | engines: {node: '>= 0.4'} 1592 | dependencies: 1593 | has-tostringtag: 1.0.0 1594 | dev: true 1595 | 1596 | /is-number/7.0.0: 1597 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1598 | engines: {node: '>=0.12.0'} 1599 | dev: true 1600 | 1601 | /is-path-cwd/3.0.0: 1602 | resolution: {integrity: sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==} 1603 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1604 | dev: true 1605 | 1606 | /is-path-inside/4.0.0: 1607 | resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} 1608 | engines: {node: '>=12'} 1609 | dev: true 1610 | 1611 | /is-plain-obj/1.1.0: 1612 | resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} 1613 | engines: {node: '>=0.10.0'} 1614 | dev: true 1615 | 1616 | /is-regex/1.1.4: 1617 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 1618 | engines: {node: '>= 0.4'} 1619 | dependencies: 1620 | call-bind: 1.0.2 1621 | has-tostringtag: 1.0.0 1622 | dev: true 1623 | 1624 | /is-shared-array-buffer/1.0.2: 1625 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 1626 | dependencies: 1627 | call-bind: 1.0.2 1628 | dev: true 1629 | 1630 | /is-stream/2.0.1: 1631 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 1632 | engines: {node: '>=8'} 1633 | dev: true 1634 | 1635 | /is-stream/3.0.0: 1636 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 1637 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1638 | dev: true 1639 | 1640 | /is-string/1.0.7: 1641 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 1642 | engines: {node: '>= 0.4'} 1643 | dependencies: 1644 | has-tostringtag: 1.0.0 1645 | dev: true 1646 | 1647 | /is-symbol/1.0.4: 1648 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 1649 | engines: {node: '>= 0.4'} 1650 | dependencies: 1651 | has-symbols: 1.0.3 1652 | dev: true 1653 | 1654 | /is-typed-array/1.1.10: 1655 | resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} 1656 | engines: {node: '>= 0.4'} 1657 | dependencies: 1658 | available-typed-arrays: 1.0.5 1659 | call-bind: 1.0.2 1660 | for-each: 0.3.3 1661 | gopd: 1.0.1 1662 | has-tostringtag: 1.0.0 1663 | dev: true 1664 | 1665 | /is-unicode-supported/1.3.0: 1666 | resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} 1667 | engines: {node: '>=12'} 1668 | dev: true 1669 | 1670 | /is-weakref/1.0.2: 1671 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 1672 | dependencies: 1673 | call-bind: 1.0.2 1674 | dev: true 1675 | 1676 | /isexe/2.0.0: 1677 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1678 | dev: true 1679 | 1680 | /javascript-natural-sort/0.7.1: 1681 | resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} 1682 | dev: true 1683 | 1684 | /joycon/3.1.1: 1685 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 1686 | engines: {node: '>=10'} 1687 | dev: true 1688 | 1689 | /js-tokens/4.0.0: 1690 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1691 | dev: true 1692 | 1693 | /jsesc/2.5.2: 1694 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 1695 | engines: {node: '>=4'} 1696 | hasBin: true 1697 | dev: true 1698 | 1699 | /json-parse-better-errors/1.0.2: 1700 | resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} 1701 | dev: true 1702 | 1703 | /json-parse-even-better-errors/2.3.1: 1704 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1705 | dev: true 1706 | 1707 | /jsonc-parser/3.2.0: 1708 | resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} 1709 | dev: true 1710 | 1711 | /kind-of/6.0.3: 1712 | resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} 1713 | engines: {node: '>=0.10.0'} 1714 | dev: true 1715 | 1716 | /lilconfig/2.1.0: 1717 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1718 | engines: {node: '>=10'} 1719 | dev: true 1720 | 1721 | /lines-and-columns/1.2.4: 1722 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1723 | dev: true 1724 | 1725 | /lint-staged/13.2.0: 1726 | resolution: {integrity: sha512-GbyK5iWinax5Dfw5obm2g2ccUiZXNGtAS4mCbJ0Lv4rq6iEtfBSjOYdcbOtAIFtM114t0vdpViDDetjVTSd8Vw==} 1727 | engines: {node: ^14.13.1 || >=16.0.0} 1728 | hasBin: true 1729 | dependencies: 1730 | chalk: 5.2.0 1731 | cli-truncate: 3.1.0 1732 | commander: 10.0.0 1733 | debug: 4.3.4 1734 | execa: 7.1.1 1735 | lilconfig: 2.1.0 1736 | listr2: 5.0.7 1737 | micromatch: 4.0.5 1738 | normalize-path: 3.0.0 1739 | object-inspect: 1.12.3 1740 | pidtree: 0.6.0 1741 | string-argv: 0.3.1 1742 | yaml: 2.2.1 1743 | transitivePeerDependencies: 1744 | - enquirer 1745 | - supports-color 1746 | dev: true 1747 | 1748 | /listr2/5.0.7: 1749 | resolution: {integrity: sha512-MD+qXHPmtivrHIDRwPYdfNkrzqDiuaKU/rfBcec3WMyMF3xylQj3jMq344OtvQxz7zaCFViRAeqlr2AFhPvXHw==} 1750 | engines: {node: ^14.13.1 || >=16.0.0} 1751 | peerDependencies: 1752 | enquirer: '>= 2.3.0 < 3' 1753 | peerDependenciesMeta: 1754 | enquirer: 1755 | optional: true 1756 | dependencies: 1757 | cli-truncate: 2.1.0 1758 | colorette: 2.0.19 1759 | log-update: 4.0.0 1760 | p-map: 4.0.0 1761 | rfdc: 1.3.0 1762 | rxjs: 7.8.0 1763 | through: 2.3.8 1764 | wrap-ansi: 7.0.0 1765 | dev: true 1766 | 1767 | /load-json-file/4.0.0: 1768 | resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} 1769 | engines: {node: '>=4'} 1770 | dependencies: 1771 | graceful-fs: 4.2.10 1772 | parse-json: 4.0.0 1773 | pify: 3.0.0 1774 | strip-bom: 3.0.0 1775 | dev: true 1776 | 1777 | /load-tsconfig/0.2.3: 1778 | resolution: {integrity: sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==} 1779 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1780 | dev: true 1781 | 1782 | /locate-path/6.0.0: 1783 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1784 | engines: {node: '>=10'} 1785 | dependencies: 1786 | p-locate: 5.0.0 1787 | dev: true 1788 | 1789 | /lodash.sortby/4.7.0: 1790 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 1791 | dev: true 1792 | 1793 | /lodash/4.17.21: 1794 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1795 | dev: true 1796 | 1797 | /log-symbols/5.1.0: 1798 | resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} 1799 | engines: {node: '>=12'} 1800 | dependencies: 1801 | chalk: 5.2.0 1802 | is-unicode-supported: 1.3.0 1803 | dev: true 1804 | 1805 | /log-update/4.0.0: 1806 | resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} 1807 | engines: {node: '>=10'} 1808 | dependencies: 1809 | ansi-escapes: 4.3.2 1810 | cli-cursor: 3.1.0 1811 | slice-ansi: 4.0.0 1812 | wrap-ansi: 6.2.0 1813 | dev: true 1814 | 1815 | /lru-cache/6.0.0: 1816 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1817 | engines: {node: '>=10'} 1818 | dependencies: 1819 | yallist: 4.0.0 1820 | dev: true 1821 | 1822 | /lunr/2.3.9: 1823 | resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} 1824 | dev: true 1825 | 1826 | /map-obj/1.0.1: 1827 | resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} 1828 | engines: {node: '>=0.10.0'} 1829 | dev: true 1830 | 1831 | /map-obj/4.3.0: 1832 | resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} 1833 | engines: {node: '>=8'} 1834 | dev: true 1835 | 1836 | /marked/4.2.12: 1837 | resolution: {integrity: sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw==} 1838 | engines: {node: '>= 12'} 1839 | hasBin: true 1840 | dev: true 1841 | 1842 | /memorystream/0.3.1: 1843 | resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} 1844 | engines: {node: '>= 0.10.0'} 1845 | dev: true 1846 | 1847 | /meow/10.1.5: 1848 | resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==} 1849 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1850 | dependencies: 1851 | '@types/minimist': 1.2.2 1852 | camelcase-keys: 7.0.2 1853 | decamelize: 5.0.1 1854 | decamelize-keys: 1.1.1 1855 | hard-rejection: 2.1.0 1856 | minimist-options: 4.1.0 1857 | normalize-package-data: 3.0.3 1858 | read-pkg-up: 8.0.0 1859 | redent: 4.0.0 1860 | trim-newlines: 4.0.2 1861 | type-fest: 1.4.0 1862 | yargs-parser: 20.2.9 1863 | dev: true 1864 | 1865 | /merge-stream/2.0.0: 1866 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1867 | dev: true 1868 | 1869 | /merge2/1.4.1: 1870 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1871 | engines: {node: '>= 8'} 1872 | dev: true 1873 | 1874 | /micromatch/4.0.5: 1875 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1876 | engines: {node: '>=8.6'} 1877 | dependencies: 1878 | braces: 3.0.2 1879 | picomatch: 2.3.1 1880 | dev: true 1881 | 1882 | /mimic-fn/2.1.0: 1883 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 1884 | engines: {node: '>=6'} 1885 | dev: true 1886 | 1887 | /mimic-fn/4.0.0: 1888 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 1889 | engines: {node: '>=12'} 1890 | dev: true 1891 | 1892 | /min-indent/1.0.1: 1893 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 1894 | engines: {node: '>=4'} 1895 | dev: true 1896 | 1897 | /minimatch/3.1.2: 1898 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1899 | dependencies: 1900 | brace-expansion: 1.1.11 1901 | dev: true 1902 | 1903 | /minimatch/7.4.2: 1904 | resolution: {integrity: sha512-xy4q7wou3vUoC9k1xGTXc+awNdGaGVHtFUaey8tiX4H1QRc04DZ/rmDFwNm2EBsuYEhAZ6SgMmYf3InGY6OauA==} 1905 | engines: {node: '>=10'} 1906 | dependencies: 1907 | brace-expansion: 2.0.1 1908 | dev: true 1909 | 1910 | /minimist-options/4.1.0: 1911 | resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} 1912 | engines: {node: '>= 6'} 1913 | dependencies: 1914 | arrify: 1.0.1 1915 | is-plain-obj: 1.1.0 1916 | kind-of: 6.0.3 1917 | dev: true 1918 | 1919 | /minimist/1.2.7: 1920 | resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} 1921 | dev: true 1922 | 1923 | /ms/2.1.2: 1924 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1925 | dev: true 1926 | 1927 | /mz/2.7.0: 1928 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1929 | dependencies: 1930 | any-promise: 1.3.0 1931 | object-assign: 4.1.1 1932 | thenify-all: 1.6.0 1933 | dev: true 1934 | 1935 | /neo-async/2.6.2: 1936 | resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} 1937 | dev: true 1938 | 1939 | /nice-try/1.0.5: 1940 | resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} 1941 | dev: true 1942 | 1943 | /normalize-package-data/2.5.0: 1944 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 1945 | dependencies: 1946 | hosted-git-info: 2.8.9 1947 | resolve: 1.22.1 1948 | semver: 5.7.1 1949 | validate-npm-package-license: 3.0.4 1950 | dev: true 1951 | 1952 | /normalize-package-data/3.0.3: 1953 | resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} 1954 | engines: {node: '>=10'} 1955 | dependencies: 1956 | hosted-git-info: 4.1.0 1957 | is-core-module: 2.11.0 1958 | semver: 7.3.8 1959 | validate-npm-package-license: 3.0.4 1960 | dev: true 1961 | 1962 | /normalize-path/3.0.0: 1963 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1964 | engines: {node: '>=0.10.0'} 1965 | dev: true 1966 | 1967 | /npm-run-all/4.1.5: 1968 | resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} 1969 | engines: {node: '>= 4'} 1970 | hasBin: true 1971 | dependencies: 1972 | ansi-styles: 3.2.1 1973 | chalk: 2.4.2 1974 | cross-spawn: 6.0.5 1975 | memorystream: 0.3.1 1976 | minimatch: 3.1.2 1977 | pidtree: 0.3.1 1978 | read-pkg: 3.0.0 1979 | shell-quote: 1.8.0 1980 | string.prototype.padend: 3.1.4 1981 | dev: true 1982 | 1983 | /npm-run-path/4.0.1: 1984 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 1985 | engines: {node: '>=8'} 1986 | dependencies: 1987 | path-key: 3.1.1 1988 | dev: true 1989 | 1990 | /npm-run-path/5.1.0: 1991 | resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} 1992 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1993 | dependencies: 1994 | path-key: 4.0.0 1995 | dev: true 1996 | 1997 | /object-assign/4.1.1: 1998 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1999 | engines: {node: '>=0.10.0'} 2000 | dev: true 2001 | 2002 | /object-inspect/1.12.3: 2003 | resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} 2004 | dev: true 2005 | 2006 | /object-keys/1.1.1: 2007 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 2008 | engines: {node: '>= 0.4'} 2009 | dev: true 2010 | 2011 | /object.assign/4.1.4: 2012 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} 2013 | engines: {node: '>= 0.4'} 2014 | dependencies: 2015 | call-bind: 1.0.2 2016 | define-properties: 1.1.4 2017 | has-symbols: 1.0.3 2018 | object-keys: 1.1.1 2019 | dev: true 2020 | 2021 | /once/1.4.0: 2022 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2023 | dependencies: 2024 | wrappy: 1.0.2 2025 | dev: true 2026 | 2027 | /onetime/5.1.2: 2028 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 2029 | engines: {node: '>=6'} 2030 | dependencies: 2031 | mimic-fn: 2.1.0 2032 | dev: true 2033 | 2034 | /onetime/6.0.0: 2035 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 2036 | engines: {node: '>=12'} 2037 | dependencies: 2038 | mimic-fn: 4.0.0 2039 | dev: true 2040 | 2041 | /ora/6.1.2: 2042 | resolution: {integrity: sha512-EJQ3NiP5Xo94wJXIzAyOtSb0QEIAUu7m8t6UZ9krbz0vAJqr92JpcK/lEXg91q6B9pEGqrykkd2EQplnifDSBw==} 2043 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2044 | dependencies: 2045 | bl: 5.1.0 2046 | chalk: 5.2.0 2047 | cli-cursor: 4.0.0 2048 | cli-spinners: 2.7.0 2049 | is-interactive: 2.0.0 2050 | is-unicode-supported: 1.3.0 2051 | log-symbols: 5.1.0 2052 | strip-ansi: 7.0.1 2053 | wcwidth: 1.0.1 2054 | dev: true 2055 | 2056 | /p-limit/3.1.0: 2057 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 2058 | engines: {node: '>=10'} 2059 | dependencies: 2060 | yocto-queue: 0.1.0 2061 | dev: true 2062 | 2063 | /p-locate/5.0.0: 2064 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 2065 | engines: {node: '>=10'} 2066 | dependencies: 2067 | p-limit: 3.1.0 2068 | dev: true 2069 | 2070 | /p-map/4.0.0: 2071 | resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} 2072 | engines: {node: '>=10'} 2073 | dependencies: 2074 | aggregate-error: 3.1.0 2075 | dev: true 2076 | 2077 | /p-map/5.5.0: 2078 | resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} 2079 | engines: {node: '>=12'} 2080 | dependencies: 2081 | aggregate-error: 4.0.1 2082 | dev: true 2083 | 2084 | /parse-json/4.0.0: 2085 | resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} 2086 | engines: {node: '>=4'} 2087 | dependencies: 2088 | error-ex: 1.3.2 2089 | json-parse-better-errors: 1.0.2 2090 | dev: true 2091 | 2092 | /parse-json/5.2.0: 2093 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 2094 | engines: {node: '>=8'} 2095 | dependencies: 2096 | '@babel/code-frame': 7.18.6 2097 | error-ex: 1.3.2 2098 | json-parse-even-better-errors: 2.3.1 2099 | lines-and-columns: 1.2.4 2100 | dev: true 2101 | 2102 | /path-exists/4.0.0: 2103 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2104 | engines: {node: '>=8'} 2105 | dev: true 2106 | 2107 | /path-is-absolute/1.0.1: 2108 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2109 | engines: {node: '>=0.10.0'} 2110 | dev: true 2111 | 2112 | /path-key/2.0.1: 2113 | resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} 2114 | engines: {node: '>=4'} 2115 | dev: true 2116 | 2117 | /path-key/3.1.1: 2118 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2119 | engines: {node: '>=8'} 2120 | dev: true 2121 | 2122 | /path-key/4.0.0: 2123 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 2124 | engines: {node: '>=12'} 2125 | dev: true 2126 | 2127 | /path-parse/1.0.7: 2128 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2129 | dev: true 2130 | 2131 | /path-type/3.0.0: 2132 | resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} 2133 | engines: {node: '>=4'} 2134 | dependencies: 2135 | pify: 3.0.0 2136 | dev: true 2137 | 2138 | /path-type/4.0.0: 2139 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2140 | engines: {node: '>=8'} 2141 | dev: true 2142 | 2143 | /picomatch/2.3.1: 2144 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2145 | engines: {node: '>=8.6'} 2146 | dev: true 2147 | 2148 | /pidtree/0.3.1: 2149 | resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} 2150 | engines: {node: '>=0.10'} 2151 | hasBin: true 2152 | dev: true 2153 | 2154 | /pidtree/0.6.0: 2155 | resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} 2156 | engines: {node: '>=0.10'} 2157 | hasBin: true 2158 | dev: true 2159 | 2160 | /pify/3.0.0: 2161 | resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} 2162 | engines: {node: '>=4'} 2163 | dev: true 2164 | 2165 | /pirates/4.0.5: 2166 | resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} 2167 | engines: {node: '>= 6'} 2168 | dev: true 2169 | 2170 | /postcss-load-config/3.1.4: 2171 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} 2172 | engines: {node: '>= 10'} 2173 | peerDependencies: 2174 | postcss: '>=8.0.9' 2175 | ts-node: '>=9.0.0' 2176 | peerDependenciesMeta: 2177 | postcss: 2178 | optional: true 2179 | ts-node: 2180 | optional: true 2181 | dependencies: 2182 | lilconfig: 2.1.0 2183 | yaml: 1.10.2 2184 | dev: true 2185 | 2186 | /prettier/2.8.4: 2187 | resolution: {integrity: sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==} 2188 | engines: {node: '>=10.13.0'} 2189 | hasBin: true 2190 | dev: true 2191 | 2192 | /punycode/2.3.0: 2193 | resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} 2194 | engines: {node: '>=6'} 2195 | dev: true 2196 | 2197 | /queue-microtask/1.2.3: 2198 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2199 | dev: true 2200 | 2201 | /quick-lru/5.1.1: 2202 | resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} 2203 | engines: {node: '>=10'} 2204 | dev: true 2205 | 2206 | /read-pkg-up/8.0.0: 2207 | resolution: {integrity: sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==} 2208 | engines: {node: '>=12'} 2209 | dependencies: 2210 | find-up: 5.0.0 2211 | read-pkg: 6.0.0 2212 | type-fest: 1.4.0 2213 | dev: true 2214 | 2215 | /read-pkg/3.0.0: 2216 | resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} 2217 | engines: {node: '>=4'} 2218 | dependencies: 2219 | load-json-file: 4.0.0 2220 | normalize-package-data: 2.5.0 2221 | path-type: 3.0.0 2222 | dev: true 2223 | 2224 | /read-pkg/6.0.0: 2225 | resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==} 2226 | engines: {node: '>=12'} 2227 | dependencies: 2228 | '@types/normalize-package-data': 2.4.1 2229 | normalize-package-data: 3.0.3 2230 | parse-json: 5.2.0 2231 | type-fest: 1.4.0 2232 | dev: true 2233 | 2234 | /readable-stream/3.6.0: 2235 | resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} 2236 | engines: {node: '>= 6'} 2237 | dependencies: 2238 | inherits: 2.0.4 2239 | string_decoder: 1.3.0 2240 | util-deprecate: 1.0.2 2241 | dev: true 2242 | 2243 | /readdirp/3.6.0: 2244 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2245 | engines: {node: '>=8.10.0'} 2246 | dependencies: 2247 | picomatch: 2.3.1 2248 | dev: true 2249 | 2250 | /redent/4.0.0: 2251 | resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==} 2252 | engines: {node: '>=12'} 2253 | dependencies: 2254 | indent-string: 5.0.0 2255 | strip-indent: 4.0.0 2256 | dev: true 2257 | 2258 | /regexp.prototype.flags/1.4.3: 2259 | resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} 2260 | engines: {node: '>= 0.4'} 2261 | dependencies: 2262 | call-bind: 1.0.2 2263 | define-properties: 1.1.4 2264 | functions-have-names: 1.2.3 2265 | dev: true 2266 | 2267 | /resolve-from/5.0.0: 2268 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 2269 | engines: {node: '>=8'} 2270 | dev: true 2271 | 2272 | /resolve/1.22.1: 2273 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 2274 | hasBin: true 2275 | dependencies: 2276 | is-core-module: 2.11.0 2277 | path-parse: 1.0.7 2278 | supports-preserve-symlinks-flag: 1.0.0 2279 | dev: true 2280 | 2281 | /restore-cursor/3.1.0: 2282 | resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} 2283 | engines: {node: '>=8'} 2284 | dependencies: 2285 | onetime: 5.1.2 2286 | signal-exit: 3.0.7 2287 | dev: true 2288 | 2289 | /restore-cursor/4.0.0: 2290 | resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} 2291 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2292 | dependencies: 2293 | onetime: 5.1.2 2294 | signal-exit: 3.0.7 2295 | dev: true 2296 | 2297 | /reusify/1.0.4: 2298 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2299 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2300 | dev: true 2301 | 2302 | /rfdc/1.3.0: 2303 | resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} 2304 | dev: true 2305 | 2306 | /rimraf/3.0.2: 2307 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2308 | hasBin: true 2309 | dependencies: 2310 | glob: 7.2.3 2311 | dev: true 2312 | 2313 | /rollup/3.12.0: 2314 | resolution: {integrity: sha512-4MZ8kA2HNYahIjz63rzrMMRvDqQDeS9LoriJvMuV0V6zIGysP36e9t4yObUfwdT9h/szXoHQideICftcdZklWg==} 2315 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 2316 | hasBin: true 2317 | optionalDependencies: 2318 | fsevents: 2.3.2 2319 | dev: true 2320 | 2321 | /run-parallel/1.2.0: 2322 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2323 | dependencies: 2324 | queue-microtask: 1.2.3 2325 | dev: true 2326 | 2327 | /rxjs/7.8.0: 2328 | resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} 2329 | dependencies: 2330 | tslib: 2.5.0 2331 | dev: true 2332 | 2333 | /safe-buffer/5.2.1: 2334 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 2335 | dev: true 2336 | 2337 | /safe-regex-test/1.0.0: 2338 | resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} 2339 | dependencies: 2340 | call-bind: 1.0.2 2341 | get-intrinsic: 1.2.0 2342 | is-regex: 1.1.4 2343 | dev: true 2344 | 2345 | /semver/5.7.1: 2346 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 2347 | hasBin: true 2348 | dev: true 2349 | 2350 | /semver/7.3.8: 2351 | resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} 2352 | engines: {node: '>=10'} 2353 | hasBin: true 2354 | dependencies: 2355 | lru-cache: 6.0.0 2356 | dev: true 2357 | 2358 | /shebang-command/1.2.0: 2359 | resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} 2360 | engines: {node: '>=0.10.0'} 2361 | dependencies: 2362 | shebang-regex: 1.0.0 2363 | dev: true 2364 | 2365 | /shebang-command/2.0.0: 2366 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2367 | engines: {node: '>=8'} 2368 | dependencies: 2369 | shebang-regex: 3.0.0 2370 | dev: true 2371 | 2372 | /shebang-regex/1.0.0: 2373 | resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} 2374 | engines: {node: '>=0.10.0'} 2375 | dev: true 2376 | 2377 | /shebang-regex/3.0.0: 2378 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2379 | engines: {node: '>=8'} 2380 | dev: true 2381 | 2382 | /shell-quote/1.8.0: 2383 | resolution: {integrity: sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==} 2384 | dev: true 2385 | 2386 | /shiki/0.14.1: 2387 | resolution: {integrity: sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==} 2388 | dependencies: 2389 | ansi-sequence-parser: 1.1.0 2390 | jsonc-parser: 3.2.0 2391 | vscode-oniguruma: 1.7.0 2392 | vscode-textmate: 8.0.0 2393 | dev: true 2394 | 2395 | /side-channel/1.0.4: 2396 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 2397 | dependencies: 2398 | call-bind: 1.0.2 2399 | get-intrinsic: 1.2.0 2400 | object-inspect: 1.12.3 2401 | dev: true 2402 | 2403 | /signal-exit/3.0.7: 2404 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 2405 | dev: true 2406 | 2407 | /slash/3.0.0: 2408 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2409 | engines: {node: '>=8'} 2410 | dev: true 2411 | 2412 | /slash/4.0.0: 2413 | resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} 2414 | engines: {node: '>=12'} 2415 | dev: true 2416 | 2417 | /slice-ansi/3.0.0: 2418 | resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} 2419 | engines: {node: '>=8'} 2420 | dependencies: 2421 | ansi-styles: 4.3.0 2422 | astral-regex: 2.0.0 2423 | is-fullwidth-code-point: 3.0.0 2424 | dev: true 2425 | 2426 | /slice-ansi/4.0.0: 2427 | resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} 2428 | engines: {node: '>=10'} 2429 | dependencies: 2430 | ansi-styles: 4.3.0 2431 | astral-regex: 2.0.0 2432 | is-fullwidth-code-point: 3.0.0 2433 | dev: true 2434 | 2435 | /slice-ansi/5.0.0: 2436 | resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} 2437 | engines: {node: '>=12'} 2438 | dependencies: 2439 | ansi-styles: 6.2.1 2440 | is-fullwidth-code-point: 4.0.0 2441 | dev: true 2442 | 2443 | /source-map-support/0.5.21: 2444 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 2445 | dependencies: 2446 | buffer-from: 1.1.2 2447 | source-map: 0.6.1 2448 | dev: true 2449 | 2450 | /source-map/0.5.7: 2451 | resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} 2452 | engines: {node: '>=0.10.0'} 2453 | dev: true 2454 | 2455 | /source-map/0.6.1: 2456 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 2457 | engines: {node: '>=0.10.0'} 2458 | dev: true 2459 | 2460 | /source-map/0.8.0-beta.0: 2461 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} 2462 | engines: {node: '>= 8'} 2463 | dependencies: 2464 | whatwg-url: 7.1.0 2465 | dev: true 2466 | 2467 | /spdx-correct/3.1.1: 2468 | resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} 2469 | dependencies: 2470 | spdx-expression-parse: 3.0.1 2471 | spdx-license-ids: 3.0.12 2472 | dev: true 2473 | 2474 | /spdx-exceptions/2.3.0: 2475 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} 2476 | dev: true 2477 | 2478 | /spdx-expression-parse/3.0.1: 2479 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 2480 | dependencies: 2481 | spdx-exceptions: 2.3.0 2482 | spdx-license-ids: 3.0.12 2483 | dev: true 2484 | 2485 | /spdx-license-ids/3.0.12: 2486 | resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==} 2487 | dev: true 2488 | 2489 | /string-argv/0.3.1: 2490 | resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} 2491 | engines: {node: '>=0.6.19'} 2492 | dev: true 2493 | 2494 | /string-width/4.2.3: 2495 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2496 | engines: {node: '>=8'} 2497 | dependencies: 2498 | emoji-regex: 8.0.0 2499 | is-fullwidth-code-point: 3.0.0 2500 | strip-ansi: 6.0.1 2501 | dev: true 2502 | 2503 | /string-width/5.1.2: 2504 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 2505 | engines: {node: '>=12'} 2506 | dependencies: 2507 | eastasianwidth: 0.2.0 2508 | emoji-regex: 9.2.2 2509 | strip-ansi: 7.0.1 2510 | dev: true 2511 | 2512 | /string.prototype.padend/3.1.4: 2513 | resolution: {integrity: sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==} 2514 | engines: {node: '>= 0.4'} 2515 | dependencies: 2516 | call-bind: 1.0.2 2517 | define-properties: 1.1.4 2518 | es-abstract: 1.21.1 2519 | dev: true 2520 | 2521 | /string.prototype.trimend/1.0.6: 2522 | resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} 2523 | dependencies: 2524 | call-bind: 1.0.2 2525 | define-properties: 1.1.4 2526 | es-abstract: 1.21.1 2527 | dev: true 2528 | 2529 | /string.prototype.trimstart/1.0.6: 2530 | resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} 2531 | dependencies: 2532 | call-bind: 1.0.2 2533 | define-properties: 1.1.4 2534 | es-abstract: 1.21.1 2535 | dev: true 2536 | 2537 | /string_decoder/1.3.0: 2538 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 2539 | dependencies: 2540 | safe-buffer: 5.2.1 2541 | dev: true 2542 | 2543 | /strip-ansi/6.0.1: 2544 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2545 | engines: {node: '>=8'} 2546 | dependencies: 2547 | ansi-regex: 5.0.1 2548 | dev: true 2549 | 2550 | /strip-ansi/7.0.1: 2551 | resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} 2552 | engines: {node: '>=12'} 2553 | dependencies: 2554 | ansi-regex: 6.0.1 2555 | dev: true 2556 | 2557 | /strip-bom/3.0.0: 2558 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 2559 | engines: {node: '>=4'} 2560 | dev: true 2561 | 2562 | /strip-final-newline/2.0.0: 2563 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 2564 | engines: {node: '>=6'} 2565 | dev: true 2566 | 2567 | /strip-final-newline/3.0.0: 2568 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 2569 | engines: {node: '>=12'} 2570 | dev: true 2571 | 2572 | /strip-indent/4.0.0: 2573 | resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} 2574 | engines: {node: '>=12'} 2575 | dependencies: 2576 | min-indent: 1.0.1 2577 | dev: true 2578 | 2579 | /sucrase/3.29.0: 2580 | resolution: {integrity: sha512-bZPAuGA5SdFHuzqIhTAqt9fvNEo9rESqXIG3oiKdF8K4UmkQxC4KlNL3lVyAErXp+mPvUqZ5l13qx6TrDIGf3A==} 2581 | engines: {node: '>=8'} 2582 | hasBin: true 2583 | dependencies: 2584 | commander: 4.1.1 2585 | glob: 7.1.6 2586 | lines-and-columns: 1.2.4 2587 | mz: 2.7.0 2588 | pirates: 4.0.5 2589 | ts-interface-checker: 0.1.13 2590 | dev: true 2591 | 2592 | /supports-color/5.5.0: 2593 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 2594 | engines: {node: '>=4'} 2595 | dependencies: 2596 | has-flag: 3.0.0 2597 | dev: true 2598 | 2599 | /supports-preserve-symlinks-flag/1.0.0: 2600 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2601 | engines: {node: '>= 0.4'} 2602 | dev: true 2603 | 2604 | /thenify-all/1.6.0: 2605 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 2606 | engines: {node: '>=0.8'} 2607 | dependencies: 2608 | thenify: 3.3.1 2609 | dev: true 2610 | 2611 | /thenify/3.3.1: 2612 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 2613 | dependencies: 2614 | any-promise: 1.3.0 2615 | dev: true 2616 | 2617 | /through/2.3.8: 2618 | resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 2619 | dev: true 2620 | 2621 | /to-fast-properties/2.0.0: 2622 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 2623 | engines: {node: '>=4'} 2624 | dev: true 2625 | 2626 | /to-regex-range/5.0.1: 2627 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2628 | engines: {node: '>=8.0'} 2629 | dependencies: 2630 | is-number: 7.0.0 2631 | dev: true 2632 | 2633 | /tr46/1.0.1: 2634 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} 2635 | dependencies: 2636 | punycode: 2.3.0 2637 | dev: true 2638 | 2639 | /tree-kill/1.2.2: 2640 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 2641 | hasBin: true 2642 | dev: true 2643 | 2644 | /trim-newlines/4.0.2: 2645 | resolution: {integrity: sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew==} 2646 | engines: {node: '>=12'} 2647 | dev: true 2648 | 2649 | /ts-interface-checker/0.1.13: 2650 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 2651 | dev: true 2652 | 2653 | /tslib/2.5.0: 2654 | resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} 2655 | dev: true 2656 | 2657 | /tsup/6.6.3_typescript@4.9.5: 2658 | resolution: {integrity: sha512-OLx/jFllYlVeZQ7sCHBuRVEQBBa1tFbouoc/gbYakyipjVQdWy/iQOvmExUA/ewap9iQ7tbJf9pW0PgcEFfJcQ==} 2659 | engines: {node: '>=14.18'} 2660 | hasBin: true 2661 | peerDependencies: 2662 | '@swc/core': ^1 2663 | postcss: ^8.4.12 2664 | typescript: ^4.1.0 2665 | peerDependenciesMeta: 2666 | '@swc/core': 2667 | optional: true 2668 | postcss: 2669 | optional: true 2670 | typescript: 2671 | optional: true 2672 | dependencies: 2673 | bundle-require: 4.0.1_esbuild@0.17.11 2674 | cac: 6.7.14 2675 | chokidar: 3.5.3 2676 | debug: 4.3.4 2677 | esbuild: 0.17.11 2678 | execa: 5.1.1 2679 | globby: 11.1.0 2680 | joycon: 3.1.1 2681 | postcss-load-config: 3.1.4 2682 | resolve-from: 5.0.0 2683 | rollup: 3.12.0 2684 | source-map: 0.8.0-beta.0 2685 | sucrase: 3.29.0 2686 | tree-kill: 1.2.2 2687 | typescript: 4.9.5 2688 | transitivePeerDependencies: 2689 | - supports-color 2690 | - ts-node 2691 | dev: true 2692 | 2693 | /tsx/3.12.5: 2694 | resolution: {integrity: sha512-/TLj30xF1zcN9JkoFCyROtIQUi8cRQG+AFchsg5YkWou3+RXxTZS/ffWB3nCxyZPoBqF2+8ohs07N815dNb1wQ==} 2695 | hasBin: true 2696 | dependencies: 2697 | '@esbuild-kit/cjs-loader': 2.4.2 2698 | '@esbuild-kit/core-utils': 3.0.0 2699 | '@esbuild-kit/esm-loader': 2.5.5 2700 | optionalDependencies: 2701 | fsevents: 2.3.2 2702 | dev: true 2703 | 2704 | /type-fest/0.21.3: 2705 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 2706 | engines: {node: '>=10'} 2707 | dev: true 2708 | 2709 | /type-fest/1.4.0: 2710 | resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} 2711 | engines: {node: '>=10'} 2712 | dev: true 2713 | 2714 | /typed-array-length/1.0.4: 2715 | resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} 2716 | dependencies: 2717 | call-bind: 1.0.2 2718 | for-each: 0.3.3 2719 | is-typed-array: 1.1.10 2720 | dev: true 2721 | 2722 | /typedoc-plugin-markdown/3.14.0_typedoc@0.23.26: 2723 | resolution: {integrity: sha512-UyQLkLRkfTFhLdhSf3RRpA3nNInGn+k6sll2vRXjflaMNwQAAiB61SYbisNZTg16t4K1dt1bPQMMGLrxS0GZ0Q==} 2724 | peerDependencies: 2725 | typedoc: '>=0.23.0' 2726 | dependencies: 2727 | handlebars: 4.7.7 2728 | typedoc: 0.23.26_typescript@4.9.5 2729 | dev: true 2730 | 2731 | /typedoc/0.23.26_typescript@4.9.5: 2732 | resolution: {integrity: sha512-5m4KwR5tOLnk0OtMaRn9IdbeRM32uPemN9kur7YK9wFqx8U0CYrvO9aVq6ysdZSV1c824BTm+BuQl2Ze/k1HtA==} 2733 | engines: {node: '>= 14.14'} 2734 | hasBin: true 2735 | peerDependencies: 2736 | typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x 2737 | dependencies: 2738 | lunr: 2.3.9 2739 | marked: 4.2.12 2740 | minimatch: 7.4.2 2741 | shiki: 0.14.1 2742 | typescript: 4.9.5 2743 | dev: true 2744 | 2745 | /typescript/4.9.5: 2746 | resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} 2747 | engines: {node: '>=4.2.0'} 2748 | hasBin: true 2749 | dev: true 2750 | 2751 | /uglify-js/3.17.4: 2752 | resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} 2753 | engines: {node: '>=0.8.0'} 2754 | hasBin: true 2755 | requiresBuild: true 2756 | dev: true 2757 | optional: true 2758 | 2759 | /unbox-primitive/1.0.2: 2760 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 2761 | dependencies: 2762 | call-bind: 1.0.2 2763 | has-bigints: 1.0.2 2764 | has-symbols: 1.0.3 2765 | which-boxed-primitive: 1.0.2 2766 | dev: true 2767 | 2768 | /util-deprecate/1.0.2: 2769 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 2770 | dev: true 2771 | 2772 | /validate-npm-package-license/3.0.4: 2773 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 2774 | dependencies: 2775 | spdx-correct: 3.1.1 2776 | spdx-expression-parse: 3.0.1 2777 | dev: true 2778 | 2779 | /vscode-oniguruma/1.7.0: 2780 | resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} 2781 | dev: true 2782 | 2783 | /vscode-textmate/8.0.0: 2784 | resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} 2785 | dev: true 2786 | 2787 | /wcwidth/1.0.1: 2788 | resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} 2789 | dependencies: 2790 | defaults: 1.0.4 2791 | dev: true 2792 | 2793 | /webidl-conversions/4.0.2: 2794 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} 2795 | dev: true 2796 | 2797 | /whatwg-url/7.1.0: 2798 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} 2799 | dependencies: 2800 | lodash.sortby: 4.7.0 2801 | tr46: 1.0.1 2802 | webidl-conversions: 4.0.2 2803 | dev: true 2804 | 2805 | /which-boxed-primitive/1.0.2: 2806 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 2807 | dependencies: 2808 | is-bigint: 1.0.4 2809 | is-boolean-object: 1.1.2 2810 | is-number-object: 1.0.7 2811 | is-string: 1.0.7 2812 | is-symbol: 1.0.4 2813 | dev: true 2814 | 2815 | /which-typed-array/1.1.9: 2816 | resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} 2817 | engines: {node: '>= 0.4'} 2818 | dependencies: 2819 | available-typed-arrays: 1.0.5 2820 | call-bind: 1.0.2 2821 | for-each: 0.3.3 2822 | gopd: 1.0.1 2823 | has-tostringtag: 1.0.0 2824 | is-typed-array: 1.1.10 2825 | dev: true 2826 | 2827 | /which/1.3.1: 2828 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} 2829 | hasBin: true 2830 | dependencies: 2831 | isexe: 2.0.0 2832 | dev: true 2833 | 2834 | /which/2.0.2: 2835 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2836 | engines: {node: '>= 8'} 2837 | hasBin: true 2838 | dependencies: 2839 | isexe: 2.0.0 2840 | dev: true 2841 | 2842 | /wordwrap/1.0.0: 2843 | resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} 2844 | dev: true 2845 | 2846 | /wrap-ansi/6.2.0: 2847 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 2848 | engines: {node: '>=8'} 2849 | dependencies: 2850 | ansi-styles: 4.3.0 2851 | string-width: 4.2.3 2852 | strip-ansi: 6.0.1 2853 | dev: true 2854 | 2855 | /wrap-ansi/7.0.0: 2856 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 2857 | engines: {node: '>=10'} 2858 | dependencies: 2859 | ansi-styles: 4.3.0 2860 | string-width: 4.2.3 2861 | strip-ansi: 6.0.1 2862 | dev: true 2863 | 2864 | /wrappy/1.0.2: 2865 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2866 | dev: true 2867 | 2868 | /ws/8.13.0: 2869 | resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} 2870 | engines: {node: '>=10.0.0'} 2871 | peerDependencies: 2872 | bufferutil: ^4.0.1 2873 | utf-8-validate: '>=5.0.2' 2874 | peerDependenciesMeta: 2875 | bufferutil: 2876 | optional: true 2877 | utf-8-validate: 2878 | optional: true 2879 | dev: false 2880 | 2881 | /yallist/4.0.0: 2882 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 2883 | dev: true 2884 | 2885 | /yaml/1.10.2: 2886 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 2887 | engines: {node: '>= 6'} 2888 | dev: true 2889 | 2890 | /yaml/2.2.1: 2891 | resolution: {integrity: sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==} 2892 | engines: {node: '>= 14'} 2893 | dev: true 2894 | 2895 | /yargs-parser/20.2.9: 2896 | resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} 2897 | engines: {node: '>=10'} 2898 | dev: true 2899 | 2900 | /yocto-queue/0.1.0: 2901 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2902 | engines: {node: '>=10'} 2903 | dev: true 2904 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Bing Chat API 2 | 3 | > Node.js client for the unofficial Bing Chat API. It's like ChatGPT on steroids 🔥 4 | 5 | [![NPM](https://img.shields.io/npm/v/bing-chat.svg)](https://www.npmjs.com/package/bing-chat) [![Build Status](https://github.com/transitive-bullshit/bing-chat/actions/workflows/test.yml/badge.svg)](https://github.com/transitive-bullshit/bing-chat/actions/workflows/test.yml) [![MIT License](https://img.shields.io/badge/license-MIT-blue)](https://github.com/transitive-bullshit/bing-chat/blob/main/license) [![Prettier Code Formatting](https://img.shields.io/badge/code_style-prettier-brightgreen.svg)](https://prettier.io) 6 | 7 | - [Intro](#intro) 8 | - [Demo](#demo) 9 | - [Install](#install) 10 | - [Usage](#usage) 11 | - [Projects](#projects) 12 | - [Compatibility](#compatibility) 13 | - [Credit](#credit) 14 | - [Related](#related) 15 | - [License](#license) 16 | 17 | ## Intro 18 | 19 | This package is a Node.js wrapper around Bing Chat by Microsoft. TS batteries included. ✨ 20 | 21 | > **Warning** 22 | > This package is a reverse-engineered hack. I do not expect it to continue working long-term, and it is not meant for use in production. I'm building this in public, and you can follow the progress on Twitter [@transitive_bs](https://twitter.com/transitive_bs). 23 | 24 | ## Demo 25 | 26 |

27 | Example conversation 28 | (30s conversation demo) 29 |

30 | 31 | ## Install 32 | 33 | ```bash 34 | npm install bing-chat 35 | ``` 36 | 37 | Make sure you're using `node >= 18` so `fetch` is available. 38 | 39 | ## Usage 40 | 41 | **You need access to Bing Chat OR a valid cookie from someone who has access**. 42 | 43 | The cookie you need from Bing is the `_U` cookie (or just all of the cookies concatenated together; both will work). 44 | 45 | ```ts 46 | import { BingChat } from 'bing-chat' 47 | 48 | async function example() { 49 | const api = new BingChat({ 50 | cookie: process.env.BING_COOKIE 51 | }) 52 | 53 | const res = await api.sendMessage('Hello World!') 54 | console.log(res.text) 55 | } 56 | ``` 57 | 58 | You can follow-up messages to continue the conversation. See `demos/demo-conversation.ts` for an example. 59 | 60 | Note that Bing Chat conversations expire after about 20 minutes, so they're not meant to be long-term objects. 61 | 62 | You can add streaming via the `onProgress` handler: 63 | 64 | ```ts 65 | const res = await api.sendMessage('Write a 500 word essay on frogs.', { 66 | // print the partial response as the AI is "typing" 67 | onProgress: (partialResponse) => console.log(partialResponse.text) 68 | }) 69 | 70 | // print the full text at the end 71 | console.log(res.text) 72 | ``` 73 | 74 | See `demos/demo-on-progress.ts` for a full example of streaming support. 75 | 76 | You can also add the the parameter `variant` to the `sendMessage` function to change the variant of the AI. The default is `Balanced`, but you can also use `Precise` or `Creative`. 77 | 78 | ```ts 79 | const res = await api.sendMessage('Write a 500 word essay on frogs.', { 80 | // change the variant to 'Precise' 81 | variant: 'Creative' 82 | }) 83 | ``` 84 | 85 | ## Projects 86 | 87 | If you create a cool integration, feel free to open a PR and add it to the list. 88 | 89 | ## Compatibility 90 | 91 | - This package is ESM-only. 92 | - This package supports `node >= 18`. 93 | - This module assumes that `fetch` is installed globally. 94 | - If you want to build a website using `bing-chat`, we recommend using it only from your backend API 95 | 96 | ## Credit 97 | 98 | - Thanks to [waylaidwanderer](https://github.com/waylaidwanderer) and [canfam](https://github.com/canfam) for helping to reverse-engineer the API 💪 99 | 100 | ## Related 101 | 102 | - [chatgpt](https://github.com/transitive-bullshit/chatgpt-api) - Node.js client for the unofficial ChatGPT API. Same author as this package. 103 | - [discord](https://discord.gg/v9gERj825w) - Join our discord server for hackers building on top of ChatGPT / Bing / LLMs. 104 | 105 | ## License 106 | 107 | MIT © [Travis Fischer](https://transitivebullsh.it) 108 | 109 | If you found this project interesting, please consider [sponsoring me](https://github.com/sponsors/transitive-bullshit) or following me on twitter twitter 110 | -------------------------------------------------------------------------------- /src/bing-chat.ts: -------------------------------------------------------------------------------- 1 | import crypto from 'node:crypto' 2 | 3 | import WebSocket from 'ws' 4 | 5 | import * as types from './types' 6 | import { fetch } from './fetch' 7 | 8 | const terminalChar = '' 9 | 10 | export class BingChat { 11 | protected _cookie: string 12 | protected _debug: boolean 13 | 14 | constructor(opts: { 15 | cookie: string 16 | 17 | /** @defaultValue `false` **/ 18 | debug?: boolean 19 | }) { 20 | const { cookie, debug = false } = opts 21 | 22 | this._cookie = cookie 23 | this._debug = !!debug 24 | 25 | if (!this._cookie) { 26 | throw new Error('Bing cookie is required') 27 | } 28 | } 29 | 30 | /** 31 | * Sends a message to Bing Chat, waits for the response to resolve, and returns 32 | * the response. 33 | * 34 | * If you want to receive a stream of partial responses, use `opts.onProgress`. 35 | * 36 | * @param message - The prompt message to send 37 | * @param opts.conversationId - Optional ID of a conversation to continue (defaults to a random UUID) 38 | * @param opts.onProgress - Optional callback which will be invoked every time the partial response is updated 39 | * 40 | * @returns The response from Bing Chat 41 | */ 42 | async sendMessage( 43 | text: string, 44 | opts: types.SendMessageOptions = {} 45 | ): Promise { 46 | const { 47 | invocationId = '1', 48 | onProgress, 49 | locale = 'en-US', 50 | market = 'en-US', 51 | region = 'US', 52 | location, 53 | messageType = 'Chat', 54 | variant = 'Balanced' 55 | } = opts 56 | 57 | let { conversationId, clientId, conversationSignature } = opts 58 | const isStartOfSession = !( 59 | conversationId && 60 | clientId && 61 | conversationSignature 62 | ) 63 | 64 | if (isStartOfSession) { 65 | const conversation = await this.createConversation() 66 | conversationId = conversation.conversationId 67 | clientId = conversation.clientId 68 | conversationSignature = conversation.conversationSignature 69 | } 70 | 71 | const result: types.ChatMessage = { 72 | author: 'bot', 73 | id: crypto.randomUUID(), 74 | conversationId, 75 | clientId, 76 | conversationSignature, 77 | invocationId: `${parseInt(invocationId, 10) + 1}`, 78 | text: '' 79 | } 80 | 81 | const responseP = new Promise( 82 | async (resolve, reject) => { 83 | const chatWebsocketUrl = 'wss://sydney.bing.com/sydney/ChatHub' 84 | const ws = new WebSocket(chatWebsocketUrl, { 85 | perMessageDeflate: false, 86 | headers: { 87 | 'accept-language': 'en-US,en;q=0.9', 88 | 'cache-control': 'no-cache', 89 | pragma: 'no-cache' 90 | } 91 | }) 92 | 93 | let isFulfilled = false 94 | 95 | function cleanup() { 96 | ws.close() 97 | ws.removeAllListeners() 98 | } 99 | 100 | ws.on('error', (error) => { 101 | console.warn('WebSocket error:', error) 102 | cleanup() 103 | if (!isFulfilled) { 104 | isFulfilled = true 105 | reject(new Error(`WebSocket error: ${error.toString()}`)) 106 | } 107 | }) 108 | ws.on('close', () => { 109 | // TODO 110 | }) 111 | 112 | ws.on('open', () => { 113 | ws.send(`{"protocol":"json","version":1}${terminalChar}`) 114 | }) 115 | let stage = 0 116 | 117 | ws.on('message', (data) => { 118 | const objects = data.toString().split(terminalChar) 119 | 120 | const messages = objects 121 | .map((object) => { 122 | try { 123 | return JSON.parse(object) 124 | } catch (error) { 125 | return object 126 | } 127 | }) 128 | .filter(Boolean) 129 | 130 | if (!messages.length) { 131 | return 132 | } 133 | 134 | if (stage === 0) { 135 | ws.send(`{"type":6}${terminalChar}`) 136 | 137 | const traceId = crypto.randomBytes(16).toString('hex') 138 | 139 | // example location: 'lat:47.639557;long:-122.128159;re=1000m;' 140 | const locationStr = location 141 | ? `lat:${location.lat};long:${location.lng};re=${ 142 | location.re || '1000m' 143 | };` 144 | : undefined 145 | 146 | // Sets the correct options for the variant of the model 147 | const optionsSets = [ 148 | 'nlu_direct_response_filter', 149 | 'deepleo', 150 | 'enable_debug_commands', 151 | 'disable_emoji_spoken_text', 152 | 'responsible_ai_policy_235', 153 | 'enablemm' 154 | ] 155 | if (variant == 'Balanced') { 156 | optionsSets.push('galileo') 157 | } else { 158 | optionsSets.push('clgalileo') 159 | if (variant == 'Creative') { 160 | optionsSets.push('h3imaginative') 161 | } else if (variant == 'Precise') { 162 | optionsSets.push('h3precise') 163 | } 164 | } 165 | const params = { 166 | arguments: [ 167 | { 168 | source: 'cib', 169 | optionsSets, 170 | allowedMessageTypes: [ 171 | 'Chat', 172 | 'InternalSearchQuery', 173 | 'InternalSearchResult', 174 | 'InternalLoaderMessage', 175 | 'RenderCardRequest', 176 | 'AdsQuery', 177 | 'SemanticSerp' 178 | ], 179 | sliceIds: [], 180 | traceId, 181 | isStartOfSession, 182 | message: { 183 | locale, 184 | market, 185 | region, 186 | location: locationStr, 187 | author: 'user', 188 | inputMethod: 'Keyboard', 189 | messageType, 190 | text 191 | }, 192 | conversationSignature, 193 | participant: { id: clientId }, 194 | conversationId 195 | } 196 | ], 197 | invocationId, 198 | target: 'chat', 199 | type: 4 200 | } 201 | 202 | if (this._debug) { 203 | console.log(chatWebsocketUrl, JSON.stringify(params, null, 2)) 204 | } 205 | 206 | ws.send(`${JSON.stringify(params)}${terminalChar}`) 207 | 208 | ++stage 209 | return 210 | } 211 | 212 | for (const message of messages) { 213 | // console.log(JSON.stringify(message, null, 2)) 214 | 215 | if (message.type === 1) { 216 | const update = message as types.ChatUpdate 217 | const msg = update.arguments[0].messages?.[0] 218 | 219 | if (!msg) continue 220 | 221 | // console.log('RESPONSE0', JSON.stringify(update, null, 2)) 222 | 223 | if (!msg.messageType) { 224 | result.author = msg.author 225 | result.text = msg.text 226 | result.detail = msg 227 | 228 | onProgress?.(result) 229 | } 230 | } else if (message.type === 2) { 231 | const response = message as types.ChatUpdateCompleteResponse 232 | if (this._debug) { 233 | console.log('RESPONSE', JSON.stringify(response, null, 2)) 234 | } 235 | const validMessages = response.item.messages?.filter( 236 | (m) => !m.messageType 237 | ) 238 | const lastMessage = validMessages?.[validMessages?.length - 1] 239 | 240 | if (lastMessage) { 241 | result.conversationId = response.item.conversationId 242 | result.conversationExpiryTime = 243 | response.item.conversationExpiryTime 244 | 245 | result.author = lastMessage.author 246 | result.text = lastMessage.text 247 | result.detail = lastMessage 248 | 249 | if (!isFulfilled) { 250 | isFulfilled = true 251 | resolve(result) 252 | } 253 | } 254 | } else if (message.type === 3) { 255 | if (!isFulfilled) { 256 | isFulfilled = true 257 | resolve(result) 258 | } 259 | 260 | cleanup() 261 | return 262 | } else { 263 | // TODO: handle other message types 264 | // these may be for displaying "adaptive cards" 265 | // console.warn('unexpected message type', message.type, message) 266 | } 267 | } 268 | }) 269 | } 270 | ) 271 | 272 | return responseP 273 | } 274 | 275 | async createConversation(): Promise { 276 | const requestId = crypto.randomUUID() 277 | 278 | const cookie = this._cookie.includes(';') 279 | ? this._cookie 280 | : `_U=${this._cookie}` 281 | 282 | return fetch('https://www.bing.com/turing/conversation/create', { 283 | headers: { 284 | accept: 'application/json', 285 | 'accept-language': 'en-US,en;q=0.9', 286 | 'content-type': 'application/json', 287 | 'sec-ch-ua': 288 | '"Not_A Brand";v="99", "Microsoft Edge";v="109", "Chromium";v="109"', 289 | 'sec-ch-ua-arch': '"x86"', 290 | 'sec-ch-ua-bitness': '"64"', 291 | 'sec-ch-ua-full-version': '"109.0.1518.78"', 292 | 'sec-ch-ua-full-version-list': 293 | '"Not_A Brand";v="99.0.0.0", "Microsoft Edge";v="109.0.1518.78", "Chromium";v="109.0.5414.120"', 294 | 'sec-ch-ua-mobile': '?0', 295 | 'sec-ch-ua-model': '', 296 | 'sec-ch-ua-platform': '"macOS"', 297 | 'sec-ch-ua-platform-version': '"12.6.0"', 298 | 'sec-fetch-dest': 'empty', 299 | 'sec-fetch-mode': 'cors', 300 | 'sec-fetch-site': 'same-origin', 301 | 'x-edge-shopping-flag': '1', 302 | 'x-ms-client-request-id': requestId, 303 | 'x-ms-useragent': 304 | 'azsdk-js-api-client-factory/1.0.0-beta.1 core-rest-pipeline/1.10.0 OS/MacIntel', 305 | cookie 306 | }, 307 | referrer: 'https://www.bing.com/search', 308 | referrerPolicy: 'origin-when-cross-origin', 309 | body: null, 310 | method: 'GET', 311 | mode: 'cors', 312 | credentials: 'include' 313 | }).then((res) => { 314 | if (res.ok) { 315 | return res.json() 316 | } else { 317 | throw new Error( 318 | `unexpected HTTP error createConversation ${res.status}: ${res.statusText}` 319 | ) 320 | } 321 | }) 322 | } 323 | } 324 | -------------------------------------------------------------------------------- /src/fetch.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | const fetch = globalThis.fetch 4 | 5 | if (typeof fetch !== 'function') { 6 | throw new Error('Invalid environment: global fetch not defined') 7 | } 8 | 9 | export { fetch } 10 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './bing-chat' 2 | export * from './types' 3 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | export type Author = 'user' | 'bot' 2 | 3 | export type SendMessageOptions = { 4 | conversationId?: string 5 | clientId?: string 6 | conversationSignature?: string 7 | invocationId?: string 8 | messageType?: string 9 | variant?: string 10 | locale?: string 11 | market?: string 12 | region?: string 13 | location?: { 14 | lat: number | string 15 | lng: number | string 16 | re?: string 17 | } 18 | 19 | onProgress?: (partialResponse: ChatMessage) => void 20 | } 21 | 22 | export interface ChatMessage { 23 | id: string 24 | text: string 25 | author: Author 26 | 27 | conversationId: string 28 | clientId: string 29 | conversationSignature: string 30 | conversationExpiryTime?: string 31 | invocationId?: string 32 | messageType?: string 33 | variant?: string 34 | 35 | detail?: ChatMessageFull | ChatMessagePartial 36 | } 37 | 38 | export interface ConversationResult { 39 | conversationId: string 40 | clientId: string 41 | conversationSignature: string 42 | result: APIResult 43 | } 44 | 45 | export interface APIResult { 46 | value: string 47 | message: null 48 | } 49 | 50 | export interface ChatUpdate { 51 | type: 1 52 | target: string 53 | arguments: ChatUpdateArgument[] 54 | } 55 | 56 | export interface ChatUpdateArgument { 57 | messages: ChatMessagePartial[] 58 | requestId: string 59 | result: null 60 | } 61 | 62 | export interface ChatMessagePartial { 63 | text: string 64 | author: Author 65 | createdAt: string 66 | timestamp: string 67 | messageId: string 68 | offense: string 69 | adaptiveCards: AdaptiveCard[] 70 | sourceAttributions: any[] 71 | feedback: ChatMessageFeedback 72 | contentOrigin: string 73 | privacy?: null 74 | messageType?: string 75 | } 76 | 77 | export interface AdaptiveCard { 78 | type: string 79 | version: string 80 | body: AdaptiveCardBody[] 81 | } 82 | 83 | export interface AdaptiveCardBody { 84 | type: string 85 | text: string 86 | wrap: boolean 87 | } 88 | 89 | export interface ChatMessageFeedback { 90 | tag: null 91 | updatedOn: null 92 | type: string 93 | } 94 | 95 | export interface ChatUpdateCompleteResponse { 96 | type: 2 97 | invocationId: string 98 | item: ChatResponseItem 99 | } 100 | 101 | export interface ChatResponseItem { 102 | messages: ChatMessageFull[] 103 | firstNewMessageIndex: number 104 | suggestedResponses: null 105 | conversationId: string 106 | requestId: string 107 | conversationExpiryTime: string 108 | telemetry: Telemetry 109 | result: ChatRequestResult 110 | } 111 | 112 | export interface ChatMessageFull { 113 | text: string 114 | author: Author 115 | from?: ChatMessageFrom 116 | createdAt: string 117 | timestamp: string 118 | locale?: string 119 | market?: string 120 | region?: string 121 | location?: string 122 | locationHints?: LocationHint[] 123 | messageId: string 124 | requestId: string 125 | offense: string 126 | feedback: ChatMessageFeedback 127 | contentOrigin: string 128 | privacy?: null 129 | inputMethod?: string 130 | adaptiveCards?: AdaptiveCard[] 131 | sourceAttributions?: any[] 132 | suggestedResponses?: SuggestedResponse[] 133 | messageType?: string 134 | } 135 | 136 | export interface ChatMessageFrom { 137 | id: string 138 | name: null 139 | } 140 | 141 | export interface LocationHint { 142 | country: string 143 | countryConfidence: number 144 | state: string 145 | city: string 146 | cityConfidence: number 147 | zipCode: string 148 | timeZoneOffset: number 149 | dma: number 150 | sourceType: number 151 | center: Coords 152 | regionType: number 153 | } 154 | 155 | export interface Coords { 156 | latitude: number 157 | longitude: number 158 | height: null 159 | } 160 | 161 | export interface SuggestedResponse { 162 | text: string 163 | messageId: string 164 | messageType: string 165 | contentOrigin: string 166 | author?: Author 167 | createdAt?: string 168 | timestamp?: string 169 | offense?: string 170 | feedback?: ChatMessageFeedback 171 | privacy?: null 172 | } 173 | 174 | export interface ChatRequestResult { 175 | value: string 176 | serviceVersion: string 177 | } 178 | 179 | export interface Telemetry { 180 | metrics?: null 181 | startTime: string 182 | } 183 | 184 | export interface ChatRequest { 185 | arguments: ChatRequestArgument[] 186 | invocationId: string 187 | target: string 188 | type: number 189 | } 190 | 191 | export interface ChatRequestArgument { 192 | source: string 193 | optionsSets: string[] 194 | allowedMessageTypes: string[] 195 | sliceIds: any[] 196 | traceId: string 197 | isStartOfSession: boolean 198 | message: ChatRequestMessage 199 | conversationSignature: string 200 | participant: Participant 201 | conversationId: string 202 | previousMessages: PreviousMessage[] 203 | } 204 | 205 | export interface ChatRequestMessage { 206 | locale: string 207 | market: string 208 | region?: string 209 | location?: string 210 | locationHints?: LocationHintChatRequestMessage[] 211 | timestamp: string 212 | author: Author 213 | inputMethod: string 214 | text: string 215 | messageType: string 216 | } 217 | 218 | export interface LocationHintChatRequestMessage { 219 | country: string 220 | state: string 221 | city: string 222 | zipcode: string 223 | timezoneoffset: number 224 | dma: number 225 | countryConfidence: number 226 | cityConfidence: number 227 | Center: Center 228 | RegionType: number 229 | SourceType: number 230 | } 231 | 232 | export interface Center { 233 | Latitude: number 234 | Longitude: number 235 | } 236 | 237 | export interface Participant { 238 | id: string 239 | } 240 | 241 | export interface PreviousMessage { 242 | text: string 243 | author: Author 244 | adaptiveCards: any[] 245 | suggestedResponses: SuggestedResponse[] 246 | messageId: string 247 | messageType: string 248 | } 249 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2020", 4 | "lib": ["esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "strict": false, 8 | "forceConsistentCasingInFileNames": true, 9 | "esModuleInterop": true, 10 | "module": "esnext", 11 | "moduleResolution": "node", 12 | "resolveJsonModule": true, 13 | "isolatedModules": true, 14 | "baseUrl": ".", 15 | "outDir": "build", 16 | "noEmit": true 17 | }, 18 | "exclude": ["node_modules", "build"], 19 | "include": ["**/*.ts"] 20 | } 21 | -------------------------------------------------------------------------------- /tsup.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'tsup' 2 | 3 | export default defineConfig([ 4 | { 5 | entry: ['src/index.ts'], 6 | outDir: 'build', 7 | target: 'node16', 8 | platform: 'node', 9 | format: ['esm'], 10 | splitting: false, 11 | sourcemap: true, 12 | minify: false, 13 | shims: true, 14 | dts: true 15 | } 16 | ]) 17 | -------------------------------------------------------------------------------- /typedoc.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://typedoc.org/schema.json", 3 | "entryPoints": ["./src/index.ts"], 4 | "exclude": ["**/*.test.ts"], 5 | "plugin": ["typedoc-plugin-markdown"], 6 | "out": "docs", 7 | "hideBreadcrumbs": false, 8 | "hideInPageTOC": false, 9 | "excludePrivate": true, 10 | "excludeProtected": true, 11 | "excludeExternals": true, 12 | "excludeInternal": true, 13 | "entryDocument": "readme.md" 14 | } 15 | --------------------------------------------------------------------------------