diff --git a/.gitignore b/.gitignore index 5e8442ca83d1e14009ac473a4a4aaa04f01abade..2012eca47ffc42825f940fb71786d78f65a47d0e 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,6 @@ yarn-error.log* .vercel dist/ + +# vs code +.vscode/launch.json diff --git a/packages/core/package.json b/packages/core/package.json index ae919de87ccfbb9fc618661893c738c860efb6d4..849dc9d234dfd7734cc89b466ab4e976de6ff46d 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -11,7 +11,7 @@ "md-utils-ts": "^2.0.0", "mongodb": "^6.2.0", "notion-md-crawler": "^0.0.2", - "openai": "^4.15.4", + "openai": "^4.16.1", "papaparse": "^5.4.1", "pdf-parse": "^1.1.1", "portkey-ai": "^0.1.16", diff --git a/packages/core/src/ChatEngine.ts b/packages/core/src/ChatEngine.ts index be28e9be8d475998568b7513352384a0080fe3fc..322bfd9b5ce016c8ba62882b6f284354a5f5ede0 100644 --- a/packages/core/src/ChatEngine.ts +++ b/packages/core/src/ChatEngine.ts @@ -1,8 +1,5 @@ import { v4 as uuidv4 } from "uuid"; -import { Event } from "./callbacks/CallbackManager"; import { ChatHistory } from "./ChatHistory"; -import { BaseNodePostprocessor } from "./indices/BaseNodePostprocessor"; -import { ChatMessage, LLM, OpenAI } from "./llm/LLM"; import { NodeWithScore, TextNode } from "./Node"; import { CondenseQuestionPrompt, @@ -15,6 +12,9 @@ import { BaseQueryEngine } from "./QueryEngine"; import { Response } from "./Response"; import { BaseRetriever } from "./Retriever"; import { ServiceContext, serviceContextFromDefaults } from "./ServiceContext"; +import { Event } from "./callbacks/CallbackManager"; +import { BaseNodePostprocessor } from "./indices/BaseNodePostprocessor"; +import { ChatMessage, LLM, OpenAI } from "./llm/LLM"; /** * A ChatEngine is used to handle back and forth chats between the application and the LLM. @@ -347,7 +347,7 @@ export class HistoryChatEngine { async chat< T extends boolean | undefined = undefined, R = T extends true ? AsyncGenerator<string, void, unknown> : Response, - >(message: string, chatHistory: ChatHistory, streaming?: T): Promise<R> { + >(message: any, chatHistory: ChatHistory, streaming?: T): Promise<R> { //Streaming option if (streaming) { return this.streamChat(message, chatHistory) as R; @@ -367,7 +367,7 @@ export class HistoryChatEngine { } protected async *streamChat( - message: string, + message: any, chatHistory: ChatHistory, ): AsyncGenerator<string, void, unknown> { const context = await this.contextGenerator?.generate(message); diff --git a/packages/core/src/callbacks/CallbackManager.ts b/packages/core/src/callbacks/CallbackManager.ts index 266058261ecaa2024cf55ecc792ee5ccce606c33..56219b3205887207356cfbfce302ad3312535330 100644 --- a/packages/core/src/callbacks/CallbackManager.ts +++ b/packages/core/src/callbacks/CallbackManager.ts @@ -30,7 +30,7 @@ export interface DefaultStreamToken { index: number; delta: { content?: string | null; - role?: "user" | "assistant" | "system" | "function"; + role?: "user" | "assistant" | "system" | "function" | "tool"; }; finish_reason: string | null; }[]; diff --git a/packages/core/src/llm/LLM.ts b/packages/core/src/llm/LLM.ts index b2d864bb6e6c4605255b8150374ecbced0fc34d6..6b46b7bc9a6d558455d9b395e84c25d4cf7c6e98 100644 --- a/packages/core/src/llm/LLM.ts +++ b/packages/core/src/llm/LLM.ts @@ -8,12 +8,13 @@ import { StreamCallbackResponse, } from "../callbacks/CallbackManager"; +import { ChatCompletionMessageParam } from "openai/resources"; import { LLMOptions } from "portkey-ai"; import { globalsHelper, Tokenizers } from "../GlobalsHelper"; import { - AnthropicSession, ANTHROPIC_AI_PROMPT, ANTHROPIC_HUMAN_PROMPT, + AnthropicSession, getAnthropicSession, } from "./anthropic"; import { @@ -36,7 +37,7 @@ export type MessageType = | "memory"; export interface ChatMessage { - content: string; + content: any; role: MessageType; } @@ -253,10 +254,13 @@ export class OpenAI implements LLM { model: this.model, temperature: this.temperature, max_tokens: this.maxTokens, - messages: messages.map((message) => ({ - role: this.mapMessageType(message.role), - content: message.content, - })), + messages: messages.map( + (message) => + ({ + role: this.mapMessageType(message.role), + content: message.content, + }) as ChatCompletionMessageParam, + ), top_p: this.topP, ...this.additionalChatOptions, }; @@ -301,10 +305,13 @@ export class OpenAI implements LLM { model: this.model, temperature: this.temperature, max_tokens: this.maxTokens, - messages: messages.map((message) => ({ - role: this.mapMessageType(message.role), - content: message.content, - })), + messages: messages.map( + (message) => + ({ + role: this.mapMessageType(message.role), + content: message.content, + }) as ChatCompletionMessageParam, + ), top_p: this.topP, ...this.additionalChatOptions, }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d80910938839c3560e91be7f5ed5a094df67100c..3b0bcbb70cce50f042f69ad86883fcfc3df43344 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,7 +18,7 @@ importers: devDependencies: '@turbo/gen': specifier: ^1.10.16 - version: 1.10.16(@types/node@20.8.10)(typescript@5.2.2) + version: 1.10.16(@types/node@20.9.0)(typescript@5.2.2) '@types/jest': specifier: ^29.5.6 version: 29.5.6 @@ -33,7 +33,7 @@ importers: version: 8.0.3 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.8.10) + version: 29.7.0(@types/node@20.9.0) prettier: specifier: ^3.0.3 version: 3.0.3 @@ -54,7 +54,7 @@ importers: version: 2.4.3(@docusaurus/types@2.4.3)(eslint@8.52.0)(react-dom@17.0.2)(react@17.0.2)(typescript@4.9.5) '@docusaurus/preset-classic': specifier: 2.4.3 - version: 2.4.3(@algolia/client-search@4.20.0)(eslint@8.52.0)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.9.0)(typescript@4.9.5) + version: 2.4.3(@algolia/client-search@4.20.0)(eslint@8.52.0)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.10.0)(typescript@4.9.5) '@docusaurus/remark-plugin-npm2yarn': specifier: ^2.4.3 version: 2.4.3 @@ -151,8 +151,8 @@ importers: specifier: ^0.0.2 version: 0.0.2 openai: - specifier: ^4.15.4 - version: 4.15.4 + specifier: ^4.16.1 + version: 4.16.1 papaparse: specifier: ^5.4.1 version: 5.4.1 @@ -230,10 +230,10 @@ packages: resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} - /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.9.0): + /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.10.0): resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.9.0) + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.10.0) '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) transitivePeerDependencies: - '@algolia/client-search' @@ -241,13 +241,13 @@ packages: - search-insights dev: false - /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.9.0): + /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.10.0): resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} peerDependencies: search-insights: '>= 1 < 3' dependencies: '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) - search-insights: 2.9.0 + search-insights: 2.10.0 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch @@ -2018,7 +2018,7 @@ packages: resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} dev: false - /@docsearch/react@3.5.2(@algolia/client-search@4.20.0)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.9.0): + /@docsearch/react@3.5.2(@algolia/client-search@4.20.0)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.10.0): resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' @@ -2035,13 +2035,13 @@ packages: search-insights: optional: true dependencies: - '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.9.0) + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.10.0) '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) '@docsearch/css': 3.5.2 algoliasearch: 4.20.0 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) - search-insights: 2.9.0 + search-insights: 2.10.0 transitivePeerDependencies: - '@algolia/client-search' dev: false @@ -2506,7 +2506,7 @@ packages: - webpack-cli dev: false - /@docusaurus/preset-classic@2.4.3(@algolia/client-search@4.20.0)(eslint@8.52.0)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.9.0)(typescript@4.9.5): + /@docusaurus/preset-classic@2.4.3(@algolia/client-search@4.20.0)(eslint@8.52.0)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.10.0)(typescript@4.9.5): resolution: {integrity: sha512-tRyMliepY11Ym6hB1rAFSNGwQDpmszvWYJvlK1E+md4SW8i6ylNHtpZjaYFff9Mdk3i/Pg8ItQq9P0daOJAvQw==} engines: {node: '>=16.14'} peerDependencies: @@ -2524,7 +2524,7 @@ packages: '@docusaurus/plugin-sitemap': 2.4.3(eslint@8.52.0)(react-dom@17.0.2)(react@17.0.2)(typescript@4.9.5) '@docusaurus/theme-classic': 2.4.3(eslint@8.52.0)(react-dom@17.0.2)(react@17.0.2)(typescript@4.9.5) '@docusaurus/theme-common': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.52.0)(react-dom@17.0.2)(react@17.0.2)(typescript@4.9.5) - '@docusaurus/theme-search-algolia': 2.4.3(@algolia/client-search@4.20.0)(@docusaurus/types@2.4.3)(eslint@8.52.0)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.9.0)(typescript@4.9.5) + '@docusaurus/theme-search-algolia': 2.4.3(@algolia/client-search@4.20.0)(@docusaurus/types@2.4.3)(eslint@8.52.0)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.10.0)(typescript@4.9.5) '@docusaurus/types': 2.4.3(react-dom@17.0.2)(react@17.0.2) react: 17.0.2 react-dom: 17.0.2(react@17.0.2) @@ -2664,14 +2664,14 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-search-algolia@2.4.3(@algolia/client-search@4.20.0)(@docusaurus/types@2.4.3)(eslint@8.52.0)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.9.0)(typescript@4.9.5): + /@docusaurus/theme-search-algolia@2.4.3(@algolia/client-search@4.20.0)(@docusaurus/types@2.4.3)(eslint@8.52.0)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.10.0)(typescript@4.9.5): resolution: {integrity: sha512-jziq4f6YVUB5hZOB85ELATwnxBz/RmSLD3ksGQOLDPKVzat4pmI8tddNWtriPpxR04BNT+ZfpPUMFkNFetSW1Q==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docsearch/react': 3.5.2(@algolia/client-search@4.20.0)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.9.0) + '@docsearch/react': 3.5.2(@algolia/client-search@4.20.0)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.10.0) '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.52.0)(react-dom@17.0.2)(react@17.0.2)(typescript@4.9.5) '@docusaurus/logger': 2.4.3 '@docusaurus/plugin-content-docs': 2.4.3(eslint@8.52.0)(react-dom@17.0.2)(react@17.0.2)(typescript@4.9.5) @@ -3837,7 +3837,7 @@ packages: resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: true - /@turbo/gen@1.10.16(@types/node@20.8.10)(typescript@5.2.2): + /@turbo/gen@1.10.16(@types/node@20.9.0)(typescript@5.2.2): resolution: {integrity: sha512-PzyluADjVuy5OcIi+/aRcD70OElQpRVRDdfZ9fH8G5Fv75lQcNrjd1bBGKmhjSw+g+eTEkXMGnY7s6gsCYjYTQ==} hasBin: true dependencies: @@ -3849,7 +3849,7 @@ packages: minimatch: 9.0.3 node-plop: 0.26.3 proxy-agent: 6.3.1 - ts-node: 10.9.1(@types/node@20.8.10)(typescript@5.2.2) + ts-node: 10.9.1(@types/node@20.9.0)(typescript@5.2.2) update-check: 1.5.4 validate-npm-package-name: 5.0.0 transitivePeerDependencies: @@ -3911,26 +3911,26 @@ packages: resolution: {integrity: sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==} dependencies: '@types/connect': 3.4.36 - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: false /@types/bonjour@3.5.11: resolution: {integrity: sha512-isGhjmBtLIxdHBDl2xGwUzEM8AOyOvWsADWq7rqirdi/ZQoHnLWErHvsThcEzTX8juDRiZtzp2Qkv5bgNh6mAg==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: false /@types/connect-history-api-fallback@1.5.1: resolution: {integrity: sha512-iaQslNbARe8fctL5Lk+DsmgWOM83lM+7FzP0eQUJs1jd3kBE8NWqBTIT2S8SqQOJjxvt2eyIjpOuYeRXq2AdMw==} dependencies: '@types/express-serve-static-core': 4.17.37 - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: false /@types/connect@3.4.36: resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: false /@types/eslint-scope@3.7.5: @@ -3939,11 +3939,11 @@ packages: '@types/eslint': 8.44.3 '@types/estree': 1.0.2 - /@types/eslint-scope@3.7.6: - resolution: {integrity: sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==} + /@types/eslint-scope@3.7.7: + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: - '@types/eslint': 8.44.6 - '@types/estree': 1.0.4 + '@types/eslint': 8.44.7 + '@types/estree': 1.0.5 dev: false /@types/eslint@8.44.3: @@ -3952,24 +3952,24 @@ packages: '@types/estree': 1.0.2 '@types/json-schema': 7.0.13 - /@types/eslint@8.44.6: - resolution: {integrity: sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==} + /@types/eslint@8.44.7: + resolution: {integrity: sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==} dependencies: - '@types/estree': 1.0.4 - '@types/json-schema': 7.0.14 + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 dev: false /@types/estree@1.0.2: resolution: {integrity: sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==} - /@types/estree@1.0.4: - resolution: {integrity: sha512-2JwWnHK9H+wUZNorf2Zr6ves96WHoWDJIftkcxPKsS7Djta6Zu519LarhRNljPXkpsZR2ZMwNCPeW7omW07BJw==} + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: false /@types/express-serve-static-core@4.17.37: resolution: {integrity: sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.0 '@types/qs': 6.9.8 '@types/range-parser': 1.2.5 '@types/send': 0.17.2 @@ -3988,7 +3988,7 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: true /@types/graceful-fs@4.1.7: @@ -4017,7 +4017,7 @@ packages: /@types/http-proxy@1.17.12: resolution: {integrity: sha512-kQtujO08dVtQ2wXAuSFfk9ASy3sug4+ogFR8Kd8UgP8PEuc1/G/8yjYRmp//PcDNJEUKOza/MrQu15bouEUCiw==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: false /@types/inquirer@6.5.0: @@ -4056,8 +4056,8 @@ packages: /@types/json-schema@7.0.13: resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==} - /@types/json-schema@7.0.14: - resolution: {integrity: sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: false /@types/json5@0.0.29: @@ -4067,7 +4067,7 @@ packages: /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: false /@types/lodash-es@4.17.10: @@ -4115,6 +4115,13 @@ packages: form-data: 4.0.0 dev: false + /@types/node-fetch@2.6.9: + resolution: {integrity: sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA==} + dependencies: + '@types/node': 18.18.8 + form-data: 4.0.0 + dev: false + /@types/node@12.20.55: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: false @@ -4138,6 +4145,11 @@ packages: dependencies: undici-types: 5.26.5 + /@types/node@20.9.0: + resolution: {integrity: sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==} + dependencies: + undici-types: 5.26.5 + /@types/normalize-package-data@2.4.2: resolution: {integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==} dev: false @@ -4201,7 +4213,7 @@ packages: /@types/responselike@1.0.1: resolution: {integrity: sha512-TiGnitEDxj2X0j+98Eqk5lv/Cij8oHd32bU4D/Yw6AOq7vvTk0gSD2GPj0G/HkvhMoVsdlhYF4yqqlyPBTM6Sg==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: false /@types/retry@0.12.0: @@ -4225,7 +4237,7 @@ packages: resolution: {integrity: sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==} dependencies: '@types/mime': 1.3.3 - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: false /@types/serve-index@1.9.2: @@ -4239,13 +4251,13 @@ packages: dependencies: '@types/http-errors': 2.0.2 '@types/mime': 3.0.2 - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: false /@types/sockjs@0.3.34: resolution: {integrity: sha512-R+n7qBFnm/6jinlteC9DBL5dGiDGjWAvjo4viUanpnc/dG1y7uDoacXPIQ/PQEg1fI912SMHIa014ZjRpvDw4g==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: false /@types/stack-utils@2.0.1: @@ -4255,7 +4267,7 @@ packages: /@types/through@0.0.31: resolution: {integrity: sha512-LpKpmb7FGevYgXnBXYs6HWnmiFyVG07Pt1cnbgM1IhEacITTiUaBXXvOR3Y50ksaJWGSfhbEvQFivQEFGCC55w==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: true /@types/tinycolor2@1.4.4: @@ -4284,7 +4296,7 @@ packages: /@types/ws@8.5.6: resolution: {integrity: sha512-8B5EO9jLVCy+B58PLHvLDuOD8DRVMgQzq8d55SjLCOn9kqGyqOvy27exVaTio1q1nX5zLu8/6N0n2ThSxOM6tg==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: false /@types/yargs-parser@21.0.1: @@ -5952,7 +5964,7 @@ packages: sha.js: 2.4.11 dev: true - /create-jest@29.7.0(@types/node@20.8.10): + /create-jest@29.7.0(@types/node@20.9.0): resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -5961,7 +5973,7 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.8.10) + jest-config: 29.7.0(@types/node@20.9.0) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -7371,7 +7383,7 @@ packages: resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} engines: {node: '>= 0.8'} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.0 require-like: 0.1.2 dev: false @@ -9218,7 +9230,7 @@ packages: - supports-color dev: true - /jest-cli@29.7.0(@types/node@20.8.10): + /jest-cli@29.7.0(@types/node@20.9.0): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -9232,10 +9244,10 @@ packages: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.8.10) + create-jest: 29.7.0(@types/node@20.9.0) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.8.10) + jest-config: 29.7.0(@types/node@20.9.0) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -9286,6 +9298,46 @@ packages: - supports-color dev: true + /jest-config@29.7.0(@types/node@20.9.0): + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + dependencies: + '@babel/core': 7.23.0 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.9.0 + babel-jest: 29.7.0(@babel/core@7.23.0) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + dev: true + /jest-diff@29.7.0: resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -9562,7 +9614,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -9570,12 +9622,12 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.0 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - /jest@29.7.0(@types/node@20.8.10): + /jest@29.7.0(@types/node@20.9.0): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -9588,7 +9640,7 @@ packages: '@jest/core': 29.7.0 '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.8.10) + jest-cli: 29.7.0(@types/node@20.9.0) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -10688,12 +10740,12 @@ packages: is-wsl: 2.2.0 dev: false - /openai@4.15.4: - resolution: {integrity: sha512-EnlSl1p8n7Q/HnBf4+VOEcYloBKKe23sKOFfH/WJcw+XVyWav4lwDK4wCmsUY1wS4RFOdbA2EwBUB2p5WEPmoQ==} + /openai@4.16.1: + resolution: {integrity: sha512-Gr+uqUN1ICSk6VhrX64E+zL7skjI1TgPr/XUN+ZQuNLLOvx15+XZulx/lSW4wFEAQzgjBDlMBbBeikguGIjiMg==} hasBin: true dependencies: '@types/node': 18.18.8 - '@types/node-fetch': 2.6.8 + '@types/node-fetch': 2.6.9 abort-controller: 3.0.0 agentkeepalive: 4.5.0 digest-fetch: 1.3.0 @@ -12554,8 +12606,8 @@ packages: ajv-keywords: 5.1.0(ajv@8.12.0) dev: false - /search-insights@2.9.0: - resolution: {integrity: sha512-bkWW9nIHOFkLwjQ1xqVaMbjjO5vhP26ERsH9Y3pKr8imthofEFIxlnOabkmGcw6ksRj9jWidcI65vvjJH/nTGg==} + /search-insights@2.10.0: + resolution: {integrity: sha512-pQGrOE56QuTRmq4NzliRZe9rv914hBMBjOviuDliDHoIhmBGoyZRlFsPd4RprGGNC4PKdD2Jz54YN4Cmkb44mA==} dev: false /section-matter@1.0.0: @@ -13574,7 +13626,7 @@ packages: '@babel/core': 7.23.2 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.8.10) + jest: 29.7.0(@types/node@20.9.0) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -13615,7 +13667,7 @@ packages: yn: 3.1.1 dev: true - /ts-node@10.9.1(@types/node@20.8.10)(typescript@5.2.2): + /ts-node@10.9.1(@types/node@20.9.0)(typescript@5.2.2): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -13634,7 +13686,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.8.10 + '@types/node': 20.9.0 acorn: 8.10.0 acorn-walk: 8.2.0 arg: 4.1.3 @@ -14525,8 +14577,8 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.6 - '@types/estree': 1.0.4 + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/wasm-edit': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6