diff --git a/.github/ISSUE_TEMPLATE/sweep-bugfix.yml b/.github/ISSUE_TEMPLATE/sweep-bugfix.yml index 25f43c357f2f5e3d228ab2aefbdfd4b6658feb35..16dae7ec849ee48880a715365d2f8da9ff33f6ac 100644 --- a/.github/ISSUE_TEMPLATE/sweep-bugfix.yml +++ b/.github/ISSUE_TEMPLATE/sweep-bugfix.yml @@ -1,5 +1,5 @@ name: Bugfix -title: 'Sweep: ' +title: "Sweep: " description: Write something like "We notice ... behavior when ... happens instead of ..."" labels: sweep body: @@ -8,4 +8,4 @@ body: attributes: label: Details description: More details about the bug - placeholder: The bug might be in ... file \ No newline at end of file + placeholder: The bug might be in ... file diff --git a/.github/ISSUE_TEMPLATE/sweep-feature.yml b/.github/ISSUE_TEMPLATE/sweep-feature.yml index 6b985bc8cd0d0e712d1ef333947c6aefa1849b35..2c041b3035a030673a04e2e8cf199852f73f49eb 100644 --- a/.github/ISSUE_TEMPLATE/sweep-feature.yml +++ b/.github/ISSUE_TEMPLATE/sweep-feature.yml @@ -1,5 +1,5 @@ name: Feature Request -title: 'Sweep: ' +title: "Sweep: " description: Write something like "Write an api endpoint that does "..." in the "..." file" labels: sweep body: @@ -8,4 +8,4 @@ body: attributes: label: Details description: More details for Sweep - placeholder: The new endpoint should use the ... class from ... file because it contains ... logic \ No newline at end of file + placeholder: The new endpoint should use the ... class from ... file because it contains ... logic diff --git a/.github/ISSUE_TEMPLATE/sweep-refactor.yml b/.github/ISSUE_TEMPLATE/sweep-refactor.yml index ed0f8a666c157b9af83780c2a048d399bb927f17..2fac8ffd314280321228651e7c830fbc3f0575d2 100644 --- a/.github/ISSUE_TEMPLATE/sweep-refactor.yml +++ b/.github/ISSUE_TEMPLATE/sweep-refactor.yml @@ -1,5 +1,5 @@ name: Refactor -title: 'Sweep: ' +title: "Sweep: " description: Write something like "Modify the ... api endpoint to use ... version and ... framework" labels: sweep body: @@ -8,4 +8,4 @@ body: attributes: label: Details description: More details for Sweep - placeholder: We are migrating this function to ... version because ... \ No newline at end of file + placeholder: We are migrating this function to ... version because ... diff --git a/.github/workflows/lint_on_push_or_pull.yml b/.github/workflows/lint_on_push_or_pull.yml index 6a1ac125758905dd69a2643915b5543bdb7fd676..67e3168827b2ae1679afb3305a90243b5838e7ab 100644 --- a/.github/workflows/lint_on_push_or_pull.yml +++ b/.github/workflows/lint_on_push_or_pull.yml @@ -22,4 +22,4 @@ jobs: run: pnpm install - name: Run lint - run: pnpm run lint \ No newline at end of file + run: pnpm run lint diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c468a0ec8a15b427e9fa4990dbb90d83754fa190..868670f1516326c92cdbc4d061c1749234a14170 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,18 +7,18 @@ jobs: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v2 + - name: Checkout code + uses: actions/checkout@v2 - - name: Setup Node.js - uses: actions/setup-node@v2 - with: - node-version: '18' + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: "18" - - name: Install dependencies - run: | - npm i -g pnpm - pnpm install + - name: Install dependencies + run: | + npm i -g pnpm + pnpm install - - name: Run tests - run: pnpm run test \ No newline at end of file + - name: Run tests + run: pnpm run test diff --git a/apps/docs/babel.config.js b/apps/docs/babel.config.js index e00595dae7d69190e2a9d07202616c2ea932e487..bfd75dbdfc72a3ad0d4b11f484dc29b282badf6a 100644 --- a/apps/docs/babel.config.js +++ b/apps/docs/babel.config.js @@ -1,3 +1,3 @@ module.exports = { - presets: [require.resolve('@docusaurus/core/lib/babel/preset')], + presets: [require.resolve("@docusaurus/core/lib/babel/preset")], }; diff --git a/apps/docs/docs/concepts.md b/apps/docs/docs/concepts.md index e4968ab2064d9346142994812c7d7ed1927bd9c5..44996269bb493463175c636b7c8fab7788a5d47e 100644 --- a/apps/docs/docs/concepts.md +++ b/apps/docs/docs/concepts.md @@ -8,40 +8,42 @@ LlamaIndex.TS helps you build LLM-powered applications (e.g. Q&A, chatbot) over In this high-level concepts guide, you will learn: -* how an LLM can answer questions using your own data. -* key concepts and modules in LlamaIndex.TS for composing your own query pipeline. +- how an LLM can answer questions using your own data. +- key concepts and modules in LlamaIndex.TS for composing your own query pipeline. ## Answering Questions Across Your Data LlamaIndex uses a two stage method when using an LLM with your data: -1) **indexing stage**: preparing a knowledge base, and -2) **querying stage**: retrieving relevant context from the knowledge to assist the LLM in responding to a question +1. **indexing stage**: preparing a knowledge base, and +2. **querying stage**: retrieving relevant context from the knowledge to assist the LLM in responding to a question  This process is also known as Retrieval Augmented Generation (RAG). -LlamaIndex.TS provides the essential toolkit for making both steps super easy. +LlamaIndex.TS provides the essential toolkit for making both steps super easy. Let's explore each stage in detail. ### Indexing Stage + LlamaIndex.TS help you prepare the knowledge base with a suite of data connectors and indexes. - + [**Data Loaders**](./modules/high_level/data_loader.md): A data connector (i.e. `Reader`) ingest data from different data sources and data formats into a simple `Document` representation (text and simple metadata). [**Documents / Nodes**](./modules/high_level/documents_and_nodes.md): A `Document` is a generic container around any data source - for instance, a PDF, an API output, or retrieved data from a database. A `Node` is the atomic unit of data in LlamaIndex and represents a "chunk" of a source `Document`. It's a rich representation that includes metadata and relationships (to other nodes) to enable accurate and expressive retrieval operations. -[**Data Indexes**](./modules/high_level/data_index.md): +[**Data Indexes**](./modules/high_level/data_index.md): Once you've ingested your data, LlamaIndex helps you index data into a format that's easy to retrieve. Under the hood, LlamaIndex parses the raw documents into intermediate representations, calculates vector embeddings, and stores your data in-memory or to disk. ### Querying Stage + In the querying stage, the query pipeline retrieves the most relevant context given a user query, and pass that to the LLM (along with the query) to synthesize a response. @@ -57,12 +59,13 @@ These building blocks can be customized to reflect ranking preferences, as well  #### Building Blocks -[**Retrievers**](./modules/low_level/retriever.md): + +[**Retrievers**](./modules/low_level/retriever.md): A retriever defines how to efficiently retrieve relevant context from a knowledge base (i.e. index) when given a query. The specific retrieval logic differs for difference indices, the most popular being dense retrieval against a vector index. [**Response Synthesizers**](./modules/low_level/response_synthesizer.md): -A response synthesizer generates a response from an LLM, using a user query and a given set of retrieved text chunks. +A response synthesizer generates a response from an LLM, using a user query and a given set of retrieved text chunks. #### Pipelines @@ -70,7 +73,6 @@ A response synthesizer generates a response from an LLM, using a user query and A query engine is an end-to-end pipeline that allow you to ask question over your data. It takes in a natural language query, and returns a response, along with reference context retrieved and passed to the LLM. - -[**Chat Engines**](./modules/high_level/chat_engine.md): +[**Chat Engines**](./modules/high_level/chat_engine.md): A chat engine is an end-to-end pipeline for having a conversation with your data (multiple back-and-forth instead of a single question & answer). diff --git a/apps/docs/docs/modules/_category_.yml b/apps/docs/docs/modules/_category_.yml index accf2206f763c537c7d51a4c85adb5a9b126bce7..8b70105f3ce366526dac9feaa5a674461ac5e4dd 100644 --- a/apps/docs/docs/modules/_category_.yml +++ b/apps/docs/docs/modules/_category_.yml @@ -1,3 +1,3 @@ label: "Modules" collapsed: false -position: 5 \ No newline at end of file +position: 5 diff --git a/apps/docs/docs/modules/high_level/_category_.yml b/apps/docs/docs/modules/high_level/_category_.yml index 6308588c931d468c2e7eebf1c6f2d12efcd3992f..57933784bafc5c6ab729a5ee2716d1fe16a843ec 100644 --- a/apps/docs/docs/modules/high_level/_category_.yml +++ b/apps/docs/docs/modules/high_level/_category_.yml @@ -1 +1 @@ -label: High-Level Modules \ No newline at end of file +label: High-Level Modules diff --git a/apps/docs/docs/modules/high_level/documents_and_nodes.md b/apps/docs/docs/modules/high_level/documents_and_nodes.md index bb197ad5ba518d334a0802780a3bdf7846fe9d93..443d1c983c852509b7a473f0ff17f9f55640ff05 100644 --- a/apps/docs/docs/modules/high_level/documents_and_nodes.md +++ b/apps/docs/docs/modules/high_level/documents_and_nodes.md @@ -9,7 +9,7 @@ sidebar_position: 0 ```typescript import { Document } from "llamaindex"; -document = new Document({ text: "text", metadata: { "key": "val" }}); +document = new Document({ text: "text", metadata: { key: "val" } }); ``` ## API Reference diff --git a/apps/docs/docs/modules/low_level/_category_.yml b/apps/docs/docs/modules/low_level/_category_.yml index 904cf6d5b1b492ec94faee554ed3eb9555012bdf..263a37cba6e5593614475f5764ec6762e236d018 100644 --- a/apps/docs/docs/modules/low_level/_category_.yml +++ b/apps/docs/docs/modules/low_level/_category_.yml @@ -1 +1 @@ -label: Low-Level Modules \ No newline at end of file +label: Low-Level Modules diff --git a/apps/docs/docs/modules/low_level/embedding.md b/apps/docs/docs/modules/low_level/embedding.md index 57f672abef2a36cb3bdf49037a5f4f1b76d9d5f7..84224cffaad25f800669f82c301fcd774836dd9b 100644 --- a/apps/docs/docs/modules/low_level/embedding.md +++ b/apps/docs/docs/modules/low_level/embedding.md @@ -4,7 +4,7 @@ sidebar_position: 1 # Embedding -The embedding model in LlamaIndex is responsible for creating numerical representations of text. By default, LlamaIndex will use the `text-embedding-ada-002` model from OpenAI. +The embedding model in LlamaIndex is responsible for creating numerical representations of text. By default, LlamaIndex will use the `text-embedding-ada-002` model from OpenAI. This can be explicitly set in the `ServiceContext` object. diff --git a/apps/docs/docs/modules/low_level/llm.md b/apps/docs/docs/modules/low_level/llm.md index 4f0ba2db5a49e523b317b9aea7d010381309d930..fe53292a4c3209d25a3632809f783d60bc4e5485 100644 --- a/apps/docs/docs/modules/low_level/llm.md +++ b/apps/docs/docs/modules/low_level/llm.md @@ -4,7 +4,7 @@ sidebar_position: 0 # LLM -The LLM is responsible for reading text and generating natural language responses to queries. By default, LlamaIndex.TS uses `gpt-3.5-turbo`. +The LLM is responsible for reading text and generating natural language responses to queries. By default, LlamaIndex.TS uses `gpt-3.5-turbo`. The LLM can be explicitly set in the `ServiceContext` object. @@ -19,4 +19,4 @@ const serviceContext = serviceContextFromDefaults({ llm: openaiLLM }); ## API Reference - [OpenAI](../../api/classes/OpenAI.md) -- [ServiceContext](../../api/interfaces/ServiceContext.md) \ No newline at end of file +- [ServiceContext](../../api/interfaces/ServiceContext.md) diff --git a/apps/docs/docs/modules/low_level/node_parser.md b/apps/docs/docs/modules/low_level/node_parser.md index b199a2ec17b04a6ec798246854e92b43c9e0bb0f..aeaf02d217ec3d77ba4cd8336cc39afd0e49dafb 100644 --- a/apps/docs/docs/modules/low_level/node_parser.md +++ b/apps/docs/docs/modules/low_level/node_parser.md @@ -7,10 +7,7 @@ sidebar_position: 3 The `NodeParser` in LlamaIndex is responbile for splitting `Document` objects into more manageable `Node` objects. When you call `.fromDocuments()`, the `NodeParser` from the `ServiceContext` is used to do this automatically for you. Alternatively, you can use it to split documents ahead of time. ```typescript -import { - Document, - SimpleNodeParser, -} from "llamaindex"; +import { Document, SimpleNodeParser } from "llamaindex"; const nodeParser = new SimpleNodeParser(); const nodes = nodeParser.getNodesFromDocuments([ @@ -25,7 +22,7 @@ The underlying text splitter will split text by sentences. It can also be used a ```typescript import { SentenceSplitter } from "llamaindex"; -const splitter = new SentenceSplitter({ chunkSize: 1, }); +const splitter = new SentenceSplitter({ chunkSize: 1 }); const textSplits = splitter.splitText("Hello World"); ``` diff --git a/apps/docs/docs/modules/low_level/response_synthesizer.md b/apps/docs/docs/modules/low_level/response_synthesizer.md index 413a4c02a722ed019dcee8dbdc2682d1d0d48c36..33a87cfc31df5a1fbcdb9aed048de02b1d7a88a9 100644 --- a/apps/docs/docs/modules/low_level/response_synthesizer.md +++ b/apps/docs/docs/modules/low_level/response_synthesizer.md @@ -6,26 +6,21 @@ sidebar_position: 6 The ResponseSynthesizer is responsible for sending the query, nodes, and prompt templates to the LLM to generate a response. There are a few key modes for generating a response: -- `Refine`: "create and refine" an answer by sequentially going through each retrieved text chunk. - This makes a separate LLM call per Node. Good for more detailed answers. -- `CompactAndRefine` (default): "compact" the prompt during each LLM call by stuffing as - many text chunks that can fit within the maximum prompt size. If there are - too many chunks to stuff in one prompt, "create and refine" an answer by going through - multiple compact prompts. The same as `refine`, but should result in less LLM calls. -- `TreeSummarize`: Given a set of text chunks and the query, recursively construct a tree - and return the root node as the response. Good for summarization purposes. +- `Refine`: "create and refine" an answer by sequentially going through each retrieved text chunk. + This makes a separate LLM call per Node. Good for more detailed answers. +- `CompactAndRefine` (default): "compact" the prompt during each LLM call by stuffing as + many text chunks that can fit within the maximum prompt size. If there are + too many chunks to stuff in one prompt, "create and refine" an answer by going through + multiple compact prompts. The same as `refine`, but should result in less LLM calls. +- `TreeSummarize`: Given a set of text chunks and the query, recursively construct a tree + and return the root node as the response. Good for summarization purposes. - `SimpleResponseBuilder`: Given a set of text chunks and the query, apply the query to each text - chunk while accumulating the responses into an array. Returns a concatenated string of all - responses. Good for when you need to run the same query separately against each text - chunk. + chunk while accumulating the responses into an array. Returns a concatenated string of all + responses. Good for when you need to run the same query separately against each text + chunk. ```typescript -import { - TextNode, - NodeWithScore, - ResponseSynthesizer, - CompactAndRefine -} from "llamaindex"; +import { NodeWithScore, ResponseSynthesizer, TextNode } from "llamaindex"; const responseSynthesizer = new ResponseSynthesizer(); @@ -42,7 +37,7 @@ const nodesWithScore: NodeWithScore[] = [ const response = await responseSynthesizer.synthesize( "What age am I?", - nodesWithScore + nodesWithScore, ); console.log(response.response); ``` diff --git a/apps/docs/docs/modules/low_level/storage.md b/apps/docs/docs/modules/low_level/storage.md index e7f032a57023650c52e620e14b5a929745af2f98..16bdc77fa3f5181d81199fbd949f8d0d4a55c8e5 100644 --- a/apps/docs/docs/modules/low_level/storage.md +++ b/apps/docs/docs/modules/low_level/storage.md @@ -11,10 +11,14 @@ Right now, only saving and loading from disk is supported, with future integrati ```typescript import { Document, VectorStoreIndex, storageContextFromDefaults } from "./src"; -const storageContext = await storageContextFromDefaults({ persistDir: "./storage" }); +const storageContext = await storageContextFromDefaults({ + persistDir: "./storage", +}); const document = new Document({ text: "Test Text" }); -const index = await VectorStoreIndex.fromDocuments([document], { storageContext }); +const index = await VectorStoreIndex.fromDocuments([document], { + storageContext, +}); ``` ## API Reference diff --git a/apps/docs/docs/starter.md b/apps/docs/docs/starter.md index 709d2c30f43ad064a69fc97835a3f6fe7e03e566..be9523927262dffaabd7c49baa7f1567c65c6ef3 100644 --- a/apps/docs/docs/starter.md +++ b/apps/docs/docs/starter.md @@ -25,7 +25,7 @@ async function main() { // Load essay from abramov.txt in Node const essay = await fs.readFile( "node_modules/llamaindex/examples/abramov.txt", - "utf-8" + "utf-8", ); // Create Document object with essay @@ -37,7 +37,7 @@ async function main() { // Query the index const queryEngine = index.asQueryEngine(); const response = await queryEngine.query( - "What did the author do in college?" + "What did the author do in college?", ); // Output response diff --git a/apps/docs/src/components/HomepageFeatures/index.tsx b/apps/docs/src/components/HomepageFeatures/index.tsx index 1eecf8ddaf831c7d467542a9f208e28110c792a0..456436fae9ad49cabcff24dfc3d4582f6d323acd 100644 --- a/apps/docs/src/components/HomepageFeatures/index.tsx +++ b/apps/docs/src/components/HomepageFeatures/index.tsx @@ -1,5 +1,5 @@ -import React from "react"; import clsx from "clsx"; +import React from "react"; import styles from "./styles.module.css"; type FeatureItem = { diff --git a/apps/docs/src/css/custom.css b/apps/docs/src/css/custom.css index 2bc6a4cfdef4e06006b9a2501525889aa5e597c9..38591401e3e38a259b64d918eeb562a76f885adb 100644 --- a/apps/docs/src/css/custom.css +++ b/apps/docs/src/css/custom.css @@ -18,7 +18,7 @@ } /* For readability concerns, you should choose a lighter palette in dark mode. */ -[data-theme='dark'] { +[data-theme="dark"] { --ifm-color-primary: #25c2a0; --ifm-color-primary-dark: #21af90; --ifm-color-primary-darker: #1fa588; diff --git a/apps/simple/README.md b/apps/simple/README.md index b7f57b3dc67949ad8e3b9e89e6cba423fe97a471..f0450707cc7da2873ea62f098d2a035f62e2b7a8 100644 --- a/apps/simple/README.md +++ b/apps/simple/README.md @@ -1,6 +1,7 @@ # Simple Examples Due to packaging, you will need to run these commands to get started. + ```bash pnpm --filter llamaindex build pnpm install diff --git a/apps/simple/lowlevel.ts b/apps/simple/lowlevel.ts index c240aeddb779d5dfaf03ce14aa6f1004a55f4fdd..d904d9f9c07f6fb346e21c58623f64eccd165e18 100644 --- a/apps/simple/lowlevel.ts +++ b/apps/simple/lowlevel.ts @@ -1,9 +1,9 @@ import { Document, - TextNode, NodeWithScore, ResponseSynthesizer, SimpleNodeParser, + TextNode, } from "llamaindex"; (async () => { @@ -29,7 +29,7 @@ import { const response = await responseSynthesizer.synthesize( "What age am I?", - nodesWithScore + nodesWithScore, ); console.log(response.response); })(); diff --git a/examples/lowlevel.ts b/examples/lowlevel.ts index c240aeddb779d5dfaf03ce14aa6f1004a55f4fdd..d904d9f9c07f6fb346e21c58623f64eccd165e18 100644 --- a/examples/lowlevel.ts +++ b/examples/lowlevel.ts @@ -1,9 +1,9 @@ import { Document, - TextNode, NodeWithScore, ResponseSynthesizer, SimpleNodeParser, + TextNode, } from "llamaindex"; (async () => { @@ -29,7 +29,7 @@ import { const response = await responseSynthesizer.synthesize( "What age am I?", - nodesWithScore + nodesWithScore, ); console.log(response.response); })(); diff --git a/package.json b/package.json index 0e0af7058a9e0154720c53fb61f7999f6cce04c2..7b89290a0d33832a704490743c0e47cc4c2fc83a 100644 --- a/package.json +++ b/package.json @@ -16,8 +16,8 @@ "eslint": "^7.32.0", "eslint-config-custom": "workspace:*", "husky": "^8.0.3", - "jest": "^29.6.3", - "prettier": "^3.0.2", + "jest": "^29.6.4", + "prettier": "^3.0.3", "prettier-plugin-organize-imports": "^3.2.3", "ts-jest": "^29.1.1", "turbo": "^1.10.13" diff --git a/packages/core/src/Embedding.ts b/packages/core/src/Embedding.ts index 1df9d0d2b7c0f63a512652d13173a1efadf16792..cc6758c613664dc9d07c7b296e23227858f453ce 100644 --- a/packages/core/src/Embedding.ts +++ b/packages/core/src/Embedding.ts @@ -8,7 +8,7 @@ import { getAzureModel, shouldUseAzure, } from "./llm/azure"; -import { getOpenAISession, OpenAISession } from "./llm/openai"; +import { OpenAISession, getOpenAISession } from "./llm/openai"; import { VectorStoreQueryMode } from "./storage/vectorStore/types"; /** diff --git a/packages/core/src/GlobalsHelper.ts b/packages/core/src/GlobalsHelper.ts index f22abe7da315061f6a929f9ba48d6673defd87e7..4d5dc3aeec5ce3247849bb02490f5e6f8152bc98 100644 --- a/packages/core/src/GlobalsHelper.ts +++ b/packages/core/src/GlobalsHelper.ts @@ -1,5 +1,5 @@ -import { Event, EventTag, EventType } from "./callbacks/CallbackManager"; import { v4 as uuidv4 } from "uuid"; +import { Event, EventTag, EventType } from "./callbacks/CallbackManager"; /** * Helper class singleton diff --git a/packages/core/src/OutputParser.ts b/packages/core/src/OutputParser.ts index 6d9b6600a282d53f5f18109c511608db36a5351a..32a2cdc4a7643c220f927abdba0480345a94fd39 100644 --- a/packages/core/src/OutputParser.ts +++ b/packages/core/src/OutputParser.ts @@ -28,7 +28,7 @@ class OutputParserError extends Error { constructor( message: string, - options: { cause?: Error; output?: string } = {} + options: { cause?: Error; output?: string } = {}, ) { // @ts-ignore super(message, options); // https://github.com/tc39/proposal-error-cause @@ -62,7 +62,7 @@ function parseJsonMarkdown(text: string) { const beginIndex = text.indexOf(beginDelimiter); const endIndex = text.indexOf( endDelimiter, - beginIndex + beginDelimiter.length + beginIndex + beginDelimiter.length, ); if (beginIndex === -1 || endIndex === -1) { throw new OutputParserError("Not a json markdown", { output: text }); diff --git a/packages/core/src/QueryEngine.ts b/packages/core/src/QueryEngine.ts index 39f94177949c95cf151449f32f721f23d99adf47..500f97356d23c09c888bd9019b9753dc4425eb83 100644 --- a/packages/core/src/QueryEngine.ts +++ b/packages/core/src/QueryEngine.ts @@ -1,3 +1,4 @@ +import { v4 as uuidv4 } from "uuid"; import { NodeWithScore, TextNode } from "./Node"; import { BaseQuestionGenerator, @@ -7,10 +8,9 @@ import { import { Response } from "./Response"; import { CompactAndRefine, ResponseSynthesizer } from "./ResponseSynthesizer"; import { BaseRetriever } from "./Retriever"; -import { v4 as uuidv4 } from "uuid"; -import { Event } from "./callbacks/CallbackManager"; import { ServiceContext, serviceContextFromDefaults } from "./ServiceContext"; import { QueryEngineTool, ToolMetadata } from "./Tool"; +import { Event } from "./callbacks/CallbackManager"; /** * A query engine is a question answerer that can use one or more steps. @@ -33,7 +33,7 @@ export class RetrieverQueryEngine implements BaseQueryEngine { constructor( retriever: BaseRetriever, - responseSynthesizer?: ResponseSynthesizer + responseSynthesizer?: ResponseSynthesizer, ) { this.retriever = retriever; const serviceContext: ServiceContext | undefined = @@ -122,7 +122,7 @@ export class SubQuestionQueryEngine implements BaseQueryEngine { }; const subQNodes = await Promise.all( - subQuestions.map((subQ) => this.querySubQ(subQ, subQueryParentEvent)) + subQuestions.map((subQ) => this.querySubQ(subQ, subQueryParentEvent)), ); const nodes = subQNodes @@ -133,7 +133,7 @@ export class SubQuestionQueryEngine implements BaseQueryEngine { private async querySubQ( subQ: SubQuestion, - parentEvent?: Event + parentEvent?: Event, ): Promise<NodeWithScore | null> { try { const question = subQ.subQuestion; diff --git a/packages/core/src/ServiceContext.ts b/packages/core/src/ServiceContext.ts index c6b935a441f1fe5f9cde337488e206907d671550..efefd319b268af54f279b25dde3af2b1ce4980a7 100644 --- a/packages/core/src/ServiceContext.ts +++ b/packages/core/src/ServiceContext.ts @@ -1,8 +1,8 @@ import { BaseEmbedding, OpenAIEmbedding } from "./Embedding"; -import { LLM, OpenAI } from "./llm/LLM"; import { NodeParser, SimpleNodeParser } from "./NodeParser"; import { PromptHelper } from "./PromptHelper"; import { CallbackManager } from "./callbacks/CallbackManager"; +import { LLM, OpenAI } from "./llm/LLM"; /** * The ServiceContext is a collection of components that are used in different parts of the application. @@ -47,7 +47,7 @@ export function serviceContextFromDefaults(options?: ServiceContextOptions) { export function serviceContextFromServiceContext( serviceContext: ServiceContext, - options: ServiceContextOptions + options: ServiceContextOptions, ) { const newServiceContext = { ...serviceContext }; if (options.llm) { diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index f650f8fbb8098dfe9636b1137546361b67f2711d..cce7feed1d925e6538455d516df95b1500177ee7 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,29 +1,29 @@ export * from "./ChatEngine"; -export * from "./constants"; export * from "./Embedding"; export * from "./GlobalsHelper"; -export * from "./llm/LLM"; export * from "./Node"; export * from "./NodeParser"; export * from "./OutputParser"; export * from "./Prompt"; -export * from "./QuestionGenerator"; export * from "./QueryEngine"; +export * from "./QuestionGenerator"; export * from "./Response"; export * from "./ResponseSynthesizer"; export * from "./Retriever"; export * from "./ServiceContext"; export * from "./TextSplitter"; export * from "./Tool"; +export * from "./constants"; +export * from "./llm/LLM"; export * from "./indices"; export * from "./callbacks/CallbackManager"; -export * from "./readers/base"; -export * from "./readers/PDFReader"; export * from "./readers/CSVReader"; export * from "./readers/MarkdownReader"; +export * from "./readers/PDFReader"; export * from "./readers/SimpleDirectoryReader"; +export * from "./readers/base"; export * from "./storage"; diff --git a/packages/core/src/indices/BaseIndex.ts b/packages/core/src/indices/BaseIndex.ts index e1af58656aff087a9ab8a689988d43dd18f735bf..85fa7187200657242460f2b137cd0fff2d43f4b4 100644 --- a/packages/core/src/indices/BaseIndex.ts +++ b/packages/core/src/indices/BaseIndex.ts @@ -4,9 +4,9 @@ import { BaseQueryEngine } from "../QueryEngine"; import { ResponseSynthesizer } from "../ResponseSynthesizer"; import { BaseRetriever } from "../Retriever"; import { ServiceContext } from "../ServiceContext"; +import { StorageContext } from "../storage/StorageContext"; import { BaseDocumentStore } from "../storage/docStore/types"; import { BaseIndexStore } from "../storage/indexStore/types"; -import { StorageContext } from "../storage/StorageContext"; import { VectorStore } from "../storage/vectorStore/types"; /** diff --git a/packages/core/src/indices/summary/utils.ts b/packages/core/src/indices/summary/utils.ts index ec248514b89be7ad1962d7ae8f98005706833e86..61fa1589792fb544b2155b67a385ac8812bacd03 100644 --- a/packages/core/src/indices/summary/utils.ts +++ b/packages/core/src/indices/summary/utils.ts @@ -1,9 +1,9 @@ -import { BaseNode, MetadataMode } from "../../Node"; import _ from "lodash"; +import { BaseNode, MetadataMode } from "../../Node"; export type NodeFormatterFunction = (summaryNodes: BaseNode[]) => string; export const defaultFormatNodeBatchFn: NodeFormatterFunction = ( - summaryNodes: BaseNode[] + summaryNodes: BaseNode[], ): string => { return summaryNodes .map((node, idx) => { @@ -20,13 +20,13 @@ export type ChoiceSelectParseResult = { [docNumber: number]: number }; export type ChoiceSelectParserFunction = ( answer: string, numChoices: number, - raiseErr?: boolean + raiseErr?: boolean, ) => ChoiceSelectParseResult; export const defaultParseChoiceSelectAnswerFn: ChoiceSelectParserFunction = ( answer: string, numChoices: number, - raiseErr: boolean = false + raiseErr: boolean = false, ): ChoiceSelectParseResult => { // split the line into the answer number and relevance score portions const lineTokens: string[][] = answer @@ -36,7 +36,7 @@ export const defaultParseChoiceSelectAnswerFn: ChoiceSelectParserFunction = ( if (lineTokens.length !== 2) { if (raiseErr) { throw new Error( - `Invalid answer line: ${line}. Answer line must be of the form: answer_num: <int>, answer_relevance: <float>` + `Invalid answer line: ${line}. Answer line must be of the form: answer_num: <int>, answer_relevance: <float>`, ); } else { return null; @@ -55,7 +55,7 @@ export const defaultParseChoiceSelectAnswerFn: ChoiceSelectParserFunction = ( if (docNum < 1 || docNum > numChoices) { if (raiseErr) { throw new Error( - `Invalid answer number: ${docNum}. Answer number must be between 1 and ${numChoices}` + `Invalid answer number: ${docNum}. Answer number must be between 1 and ${numChoices}`, ); } } else { @@ -68,6 +68,6 @@ export const defaultParseChoiceSelectAnswerFn: ChoiceSelectParserFunction = ( } return parseResult; }, - {} + {}, ); }; diff --git a/packages/core/src/indices/vectorStore/VectorIndexRetriever.ts b/packages/core/src/indices/vectorStore/VectorIndexRetriever.ts index 920fe4982a51071c30530234174dfd53200d4de3..d2bc4dbb38098e80f5895fc5f270ef3f9bdb3705 100644 --- a/packages/core/src/indices/vectorStore/VectorIndexRetriever.ts +++ b/packages/core/src/indices/vectorStore/VectorIndexRetriever.ts @@ -1,6 +1,6 @@ -import { VectorStoreIndex } from "./VectorStoreIndex"; import { globalsHelper } from "../../GlobalsHelper"; import { NodeWithScore } from "../../Node"; +import { BaseRetriever } from "../../Retriever"; import { ServiceContext } from "../../ServiceContext"; import { Event } from "../../callbacks/CallbackManager"; import { DEFAULT_SIMILARITY_TOP_K } from "../../constants"; @@ -8,7 +8,7 @@ import { VectorStoreQuery, VectorStoreQueryMode, } from "../../storage/vectorStore/types"; -import { BaseRetriever } from "../../Retriever"; +import { VectorStoreIndex } from "./VectorStoreIndex"; /** * VectorIndexRetriever retrieves nodes from a VectorIndex. diff --git a/packages/core/src/indices/vectorStore/index.ts b/packages/core/src/indices/vectorStore/index.ts index 526610b11ef04baed9c1192f3c13ef2ca8d9b142..a296b4f0b52149a04bef67eedf81e42e3552a273 100644 --- a/packages/core/src/indices/vectorStore/index.ts +++ b/packages/core/src/indices/vectorStore/index.ts @@ -1,2 +1,2 @@ -export { VectorStoreIndex } from "./VectorStoreIndex"; export { VectorIndexRetriever } from "./VectorIndexRetriever"; +export { VectorStoreIndex } from "./VectorStoreIndex"; diff --git a/packages/core/src/llm/anthropic.ts b/packages/core/src/llm/anthropic.ts index 846089d10999f23d0f6f64da9632d1c6b717b939..4b8dbf0273462e65a587171a801dc8f301834a12 100644 --- a/packages/core/src/llm/anthropic.ts +++ b/packages/core/src/llm/anthropic.ts @@ -1,6 +1,6 @@ import Anthropic, { - ClientOptions, AI_PROMPT, + ClientOptions, HUMAN_PROMPT, } from "@anthropic-ai/sdk"; import _ from "lodash"; diff --git a/packages/core/src/llm/azure.ts b/packages/core/src/llm/azure.ts index ba9e0f07973d849fdd24bca0f8ed1cb85e8d2c35..dbd9af3f46e249d3c6eee79a7b13631976c85a98 100644 --- a/packages/core/src/llm/azure.ts +++ b/packages/core/src/llm/azure.ts @@ -38,7 +38,7 @@ const DEFAULT_API_VERSION = "2023-05-15"; //^ NOTE: this will change over time, if you want to pin it, use a specific version export function getAzureConfigFromEnv( - init?: Partial<AzureOpenAIConfig> & { model?: string } + init?: Partial<AzureOpenAIConfig> & { model?: string }, ): AzureOpenAIConfig { return { apiKey: @@ -71,7 +71,7 @@ export function getAzureBaseUrl(config: AzureOpenAIConfig): string { export function getAzureModel(openAIModel: string) { for (const [key, value] of Object.entries( - ALL_AZURE_OPENAI_EMBEDDING_MODELS + ALL_AZURE_OPENAI_EMBEDDING_MODELS, )) { if (value.openAIModel === openAIModel) { return key; diff --git a/packages/core/src/llm/openai.ts b/packages/core/src/llm/openai.ts index f89596bc5b3e4c60e622742aa1525b8656ee4ecb..2f1cb2c60da9706bcf95d0c89aae97a6feede08c 100644 --- a/packages/core/src/llm/openai.ts +++ b/packages/core/src/llm/openai.ts @@ -1,5 +1,5 @@ -import OpenAI, { ClientOptions } from "openai"; import _ from "lodash"; +import OpenAI, { ClientOptions } from "openai"; export class AzureOpenAI extends OpenAI { protected override authHeaders() { @@ -42,7 +42,7 @@ let defaultOpenAISession: { session: OpenAISession; options: ClientOptions }[] = * @returns */ export function getOpenAISession( - options: ClientOptions & { azure?: boolean } = {} + options: ClientOptions & { azure?: boolean } = {}, ) { let session = defaultOpenAISession.find((session) => { return _.isEqual(session.options, options); diff --git a/packages/core/src/llm/replicate.ts b/packages/core/src/llm/replicate.ts index 18bb4b6c4bf988cd96f7be05cf43a9c977940463..6716b631f923609fbc6139ff213caca9d5be8da5 100644 --- a/packages/core/src/llm/replicate.ts +++ b/packages/core/src/llm/replicate.ts @@ -11,7 +11,7 @@ export class ReplicateSession { this.replicateKey = process.env.REPLICATE_API_TOKEN; } else { throw new Error( - "Set Replicate token in REPLICATE_API_TOKEN env variable" + "Set Replicate token in REPLICATE_API_TOKEN env variable", ); } diff --git a/packages/core/src/readers/CSVReader.ts b/packages/core/src/readers/CSVReader.ts index 0fb5c572192e40f136744ba471e73ae7e5590143..9d389e3a0ed9db3985b840647c5c92ec6cf39dd4 100644 --- a/packages/core/src/readers/CSVReader.ts +++ b/packages/core/src/readers/CSVReader.ts @@ -1,7 +1,7 @@ -import { DEFAULT_FS, GenericFileSystem } from "../storage/FileSystem"; import Papa, { ParseConfig } from "papaparse"; -import { BaseReader } from "./base"; import { Document } from "../Node"; +import { DEFAULT_FS, GenericFileSystem } from "../storage/FileSystem"; +import { BaseReader } from "./base"; /** * papaparse-based csv parser @@ -24,7 +24,7 @@ export class PapaCSVReader implements BaseReader { concatRows: boolean = true, colJoiner: string = ", ", rowJoiner: string = "\n", - papaConfig?: ParseConfig + papaConfig?: ParseConfig, ) { this.concatRows = concatRows; this.colJoiner = colJoiner; @@ -40,7 +40,7 @@ export class PapaCSVReader implements BaseReader { */ async loadData( file: string, - fs: GenericFileSystem = DEFAULT_FS + fs: GenericFileSystem = DEFAULT_FS, ): Promise<Document[]> { const fileContent: string = await fs.readFile(file, "utf-8"); const result = Papa.parse(fileContent, this.papaConfig); diff --git a/packages/core/src/readers/PDFReader.ts b/packages/core/src/readers/PDFReader.ts index 1ebf1a4f87f9623cbc8e36272a0eef43fc9f416f..b7c3a2e75fef45f206a722f38cf1ee4dcca54bdd 100644 --- a/packages/core/src/readers/PDFReader.ts +++ b/packages/core/src/readers/PDFReader.ts @@ -1,8 +1,8 @@ +import pdfParse from "pdf-parse"; import { Document } from "../Node"; -import { BaseReader } from "./base"; import { GenericFileSystem } from "../storage/FileSystem"; import { DEFAULT_FS } from "../storage/constants"; -import pdfParse from "pdf-parse"; +import { BaseReader } from "./base"; /** * Read the text of a PDF @@ -10,7 +10,7 @@ import pdfParse from "pdf-parse"; export class PDFReader implements BaseReader { async loadData( file: string, - fs: GenericFileSystem = DEFAULT_FS + fs: GenericFileSystem = DEFAULT_FS, ): Promise<Document[]> { const dataBuffer = (await fs.readFile(file)) as any; const data = await pdfParse(dataBuffer); diff --git a/packages/core/src/readers/SimpleDirectoryReader.ts b/packages/core/src/readers/SimpleDirectoryReader.ts index 8fe48a7f8da7c9d072e4c5192b6d535aff40b7d7..828ded5ba4bb02374aa3f22234c1d8084016c137 100644 --- a/packages/core/src/readers/SimpleDirectoryReader.ts +++ b/packages/core/src/readers/SimpleDirectoryReader.ts @@ -1,11 +1,11 @@ import _ from "lodash"; import { Document } from "../Node"; -import { BaseReader } from "./base"; import { CompleteFileSystem, walk } from "../storage/FileSystem"; import { DEFAULT_FS } from "../storage/constants"; -import { PDFReader } from "./PDFReader"; import { PapaCSVReader } from "./CSVReader"; import { MarkdownReader } from "./MarkdownReader"; +import { PDFReader } from "./PDFReader"; +import { BaseReader } from "./base"; /** * Read a .txt file @@ -13,7 +13,7 @@ import { MarkdownReader } from "./MarkdownReader"; export class TextFileReader implements BaseReader { async loadData( file: string, - fs: CompleteFileSystem = DEFAULT_FS as CompleteFileSystem + fs: CompleteFileSystem = DEFAULT_FS as CompleteFileSystem, ): Promise<Document[]> { const dataBuffer = await fs.readFile(file, "utf-8"); return [new Document({ text: dataBuffer, id_: file })]; diff --git a/packages/core/src/storage/FileSystem.ts b/packages/core/src/storage/FileSystem.ts index ce3d632182fcaf5c7854dcc997b6d35c5814d02a..bb4adfc7fe94eab15c159eabcda912c2a011133a 100644 --- a/packages/core/src/storage/FileSystem.ts +++ b/packages/core/src/storage/FileSystem.ts @@ -73,7 +73,7 @@ export const DEFAULT_FS: GenericFileSystem | CompleteFileSystem = */ export async function exists( fs: GenericFileSystem, - path: string + path: string, ): Promise<boolean> { try { await fs.access(path); @@ -90,11 +90,11 @@ export async function exists( */ export async function* walk( fs: WalkableFileSystem, - dirPath: string + dirPath: string, ): AsyncIterable<string> { if (fs instanceof InMemoryFileSystem) { throw new Error( - "The InMemoryFileSystem does not support directory traversal." + "The InMemoryFileSystem does not support directory traversal.", ); } diff --git a/packages/core/src/storage/StorageContext.ts b/packages/core/src/storage/StorageContext.ts index d5c51c8d2abdd30e09baea086bde63d6bbaa3ea0..32a5c8e4d0b542c55293a4a380b9604b8330b4ee 100644 --- a/packages/core/src/storage/StorageContext.ts +++ b/packages/core/src/storage/StorageContext.ts @@ -1,15 +1,11 @@ -import { BaseDocumentStore } from "./docStore/types"; -import { BaseIndexStore } from "./indexStore/types"; -import { VectorStore } from "./vectorStore/types"; +import { GenericFileSystem } from "./FileSystem"; +import { DEFAULT_FS, DEFAULT_NAMESPACE } from "./constants"; import { SimpleDocumentStore } from "./docStore/SimpleDocumentStore"; +import { BaseDocumentStore } from "./docStore/types"; import { SimpleIndexStore } from "./indexStore/SimpleIndexStore"; +import { BaseIndexStore } from "./indexStore/types"; import { SimpleVectorStore } from "./vectorStore/SimpleVectorStore"; -import { GenericFileSystem } from "./FileSystem"; -import { - DEFAULT_PERSIST_DIR, - DEFAULT_FS, - DEFAULT_NAMESPACE, -} from "./constants"; +import { VectorStore } from "./vectorStore/types"; export interface StorageContext { docStore: BaseDocumentStore; @@ -43,7 +39,7 @@ export async function storageContextFromDefaults({ (await SimpleDocumentStore.fromPersistDir( persistDir, DEFAULT_NAMESPACE, - fs + fs, )); indexStore = indexStore || (await SimpleIndexStore.fromPersistDir(persistDir, fs)); diff --git a/packages/core/src/storage/docStore/SimpleDocumentStore.ts b/packages/core/src/storage/docStore/SimpleDocumentStore.ts index f2554a3ee746a9c83c3573a0c11183c5020ee1df..60297928f1b187273f34de28373334dc4ae40879 100644 --- a/packages/core/src/storage/docStore/SimpleDocumentStore.ts +++ b/packages/core/src/storage/docStore/SimpleDocumentStore.ts @@ -1,15 +1,15 @@ -import * as path from "path"; import _ from "lodash"; -import { KVDocumentStore } from "./KVDocumentStore"; -import { SimpleKVStore } from "../kvStore/SimpleKVStore"; -import { BaseInMemoryKVStore } from "../kvStore/types"; +import * as path from "path"; import { GenericFileSystem } from "../FileSystem"; import { - DEFAULT_PERSIST_DIR, - DEFAULT_NAMESPACE, DEFAULT_DOC_STORE_PERSIST_FILENAME, DEFAULT_FS, + DEFAULT_NAMESPACE, + DEFAULT_PERSIST_DIR, } from "../constants"; +import { SimpleKVStore } from "../kvStore/SimpleKVStore"; +import { BaseInMemoryKVStore } from "../kvStore/types"; +import { KVDocumentStore } from "./KVDocumentStore"; type SaveDict = Record<string, any>; @@ -26,23 +26,23 @@ export class SimpleDocumentStore extends KVDocumentStore { static async fromPersistDir( persistDir: string = DEFAULT_PERSIST_DIR, namespace?: string, - fsModule?: GenericFileSystem + fsModule?: GenericFileSystem, ): Promise<SimpleDocumentStore> { const persistPath = path.join( persistDir, - DEFAULT_DOC_STORE_PERSIST_FILENAME + DEFAULT_DOC_STORE_PERSIST_FILENAME, ); return await SimpleDocumentStore.fromPersistPath( persistPath, namespace, - fsModule + fsModule, ); } static async fromPersistPath( persistPath: string, namespace?: string, - fs?: GenericFileSystem + fs?: GenericFileSystem, ): Promise<SimpleDocumentStore> { fs = fs || DEFAULT_FS; const simpleKVStore = await SimpleKVStore.fromPersistPath(persistPath, fs); @@ -52,9 +52,9 @@ export class SimpleDocumentStore extends KVDocumentStore { async persist( persistPath: string = path.join( DEFAULT_PERSIST_DIR, - DEFAULT_DOC_STORE_PERSIST_FILENAME + DEFAULT_DOC_STORE_PERSIST_FILENAME, ), - fs?: GenericFileSystem + fs?: GenericFileSystem, ): Promise<void> { fs = fs || DEFAULT_FS; if ( diff --git a/packages/core/src/storage/docStore/utils.ts b/packages/core/src/storage/docStore/utils.ts index 16df79cc5b8c6c8aae089f1d4fc58c94bfdcc3ff..9e74734b48b8ccbcf446047ae98f01dca290411c 100644 --- a/packages/core/src/storage/docStore/utils.ts +++ b/packages/core/src/storage/docStore/utils.ts @@ -1,4 +1,4 @@ -import { BaseNode, Document, TextNode, ObjectType } from "../../Node"; +import { BaseNode, Document, ObjectType, TextNode } from "../../Node"; const TYPE_KEY = "__type__"; const DATA_KEY = "__data__"; diff --git a/packages/core/src/storage/index.ts b/packages/core/src/storage/index.ts index 5d355550a6917712ba09dbac2378521c6260b993..bfcc507bc3cb4e3b448838abd83530c1e1e767c3 100644 --- a/packages/core/src/storage/index.ts +++ b/packages/core/src/storage/index.ts @@ -1,7 +1,7 @@ -export * from "./constants"; export * from "./FileSystem"; export * from "./StorageContext"; -export * from "./vectorStore/types"; +export * from "./constants"; export { SimpleDocumentStore } from "./docStore/SimpleDocumentStore"; export { SimpleIndexStore } from "./indexStore/SimpleIndexStore"; export { SimpleVectorStore } from "./vectorStore/SimpleVectorStore"; +export * from "./vectorStore/types"; diff --git a/packages/core/src/storage/indexStore/KVIndexStore.ts b/packages/core/src/storage/indexStore/KVIndexStore.ts index d56d9d30548c04f33fafcc1ed9547be1443198cb..c2d057700a15f8a02161b47232b5ac1f69273d61 100644 --- a/packages/core/src/storage/indexStore/KVIndexStore.ts +++ b/packages/core/src/storage/indexStore/KVIndexStore.ts @@ -1,7 +1,7 @@ -import { BaseKVStore } from "../kvStore/types"; -import { IndexStruct, jsonToIndexStruct } from "../../indices/BaseIndex"; import _ from "lodash"; +import { IndexStruct, jsonToIndexStruct } from "../../indices/BaseIndex"; import { DEFAULT_NAMESPACE } from "../constants"; +import { BaseKVStore } from "../kvStore/types"; import { BaseIndexStore } from "./types"; export class KVIndexStore extends BaseIndexStore { diff --git a/packages/core/src/storage/indexStore/SimpleIndexStore.ts b/packages/core/src/storage/indexStore/SimpleIndexStore.ts index 7ca66f72d2404f0ec80c0993b1e0ae96fba081d7..4c261b80ba0b7636ff42b79af9b9c89fb7ab06d8 100644 --- a/packages/core/src/storage/indexStore/SimpleIndexStore.ts +++ b/packages/core/src/storage/indexStore/SimpleIndexStore.ts @@ -1,14 +1,13 @@ import * as path from "path"; -import * as _ from "lodash"; -import { BaseInMemoryKVStore } from "../kvStore/types"; -import { SimpleKVStore, DataType } from "../kvStore/SimpleKVStore"; -import { KVIndexStore } from "./KVIndexStore"; +import { GenericFileSystem } from "../FileSystem"; import { - DEFAULT_PERSIST_DIR, - DEFAULT_INDEX_STORE_PERSIST_FILENAME, DEFAULT_FS, + DEFAULT_INDEX_STORE_PERSIST_FILENAME, + DEFAULT_PERSIST_DIR, } from "../constants"; -import { GenericFileSystem } from "../FileSystem"; +import { DataType, SimpleKVStore } from "../kvStore/SimpleKVStore"; +import { BaseInMemoryKVStore } from "../kvStore/types"; +import { KVIndexStore } from "./KVIndexStore"; export class SimpleIndexStore extends KVIndexStore { private kvStore: BaseInMemoryKVStore; @@ -21,18 +20,18 @@ export class SimpleIndexStore extends KVIndexStore { static async fromPersistDir( persistDir: string = DEFAULT_PERSIST_DIR, - fs: GenericFileSystem = DEFAULT_FS + fs: GenericFileSystem = DEFAULT_FS, ): Promise<SimpleIndexStore> { const persistPath = path.join( persistDir, - DEFAULT_INDEX_STORE_PERSIST_FILENAME + DEFAULT_INDEX_STORE_PERSIST_FILENAME, ); return this.fromPersistPath(persistPath, fs); } static async fromPersistPath( persistPath: string, - fs: GenericFileSystem = DEFAULT_FS + fs: GenericFileSystem = DEFAULT_FS, ): Promise<SimpleIndexStore> { let simpleKVStore = await SimpleKVStore.fromPersistPath(persistPath, fs); return new SimpleIndexStore(simpleKVStore); @@ -40,7 +39,7 @@ export class SimpleIndexStore extends KVIndexStore { async persist( persistPath: string = DEFAULT_PERSIST_DIR, - fs: GenericFileSystem = DEFAULT_FS + fs: GenericFileSystem = DEFAULT_FS, ): Promise<void> { await this.kvStore.persist(persistPath, fs); } diff --git a/packages/core/src/storage/indexStore/types.ts b/packages/core/src/storage/indexStore/types.ts index 5a6b5a7655813ddd89dec57e222db0d5626deec6..00babcdd10c3d9435e0153395c94641db7fc882c 100644 --- a/packages/core/src/storage/indexStore/types.ts +++ b/packages/core/src/storage/indexStore/types.ts @@ -1,8 +1,8 @@ import { IndexStruct } from "../../indices/BaseIndex"; import { GenericFileSystem } from "../FileSystem"; import { - DEFAULT_PERSIST_DIR, DEFAULT_INDEX_STORE_PERSIST_FILENAME, + DEFAULT_PERSIST_DIR, } from "../constants"; const defaultPersistPath = `${DEFAULT_PERSIST_DIR}/${DEFAULT_INDEX_STORE_PERSIST_FILENAME}`; @@ -18,7 +18,7 @@ export abstract class BaseIndexStore { async persist( persistPath: string = defaultPersistPath, - fs?: GenericFileSystem + fs?: GenericFileSystem, ): Promise<void> { // Persist the index store to disk. } diff --git a/packages/core/src/storage/kvStore/SimpleKVStore.ts b/packages/core/src/storage/kvStore/SimpleKVStore.ts index 54c866aa4b8d741c0e2b5e98a256d2ed8d4c5482..208fc52d5d10ff71a9ca3cb1fdf01eef29912bf7 100644 --- a/packages/core/src/storage/kvStore/SimpleKVStore.ts +++ b/packages/core/src/storage/kvStore/SimpleKVStore.ts @@ -1,7 +1,7 @@ +import * as _ from "lodash"; import * as path from "path"; import { GenericFileSystem, exists } from "../FileSystem"; import { DEFAULT_COLLECTION, DEFAULT_FS } from "../constants"; -import * as _ from "lodash"; import { BaseKVStore } from "./types"; export type DataType = Record<string, Record<string, any>>; @@ -19,7 +19,7 @@ export class SimpleKVStore extends BaseKVStore { async put( key: string, val: any, - collection: string = DEFAULT_COLLECTION + collection: string = DEFAULT_COLLECTION, ): Promise<void> { if (!(collection in this.data)) { this.data[collection] = {}; @@ -33,7 +33,7 @@ export class SimpleKVStore extends BaseKVStore { async get( key: string, - collection: string = DEFAULT_COLLECTION + collection: string = DEFAULT_COLLECTION, ): Promise<any> { let collectionData = this.data[collection]; if (_.isNil(collectionData)) { @@ -51,7 +51,7 @@ export class SimpleKVStore extends BaseKVStore { async delete( key: string, - collection: string = DEFAULT_COLLECTION + collection: string = DEFAULT_COLLECTION, ): Promise<boolean> { if (key in this.data[collection]) { delete this.data[collection][key]; @@ -72,7 +72,7 @@ export class SimpleKVStore extends BaseKVStore { static async fromPersistPath( persistPath: string, - fs?: GenericFileSystem + fs?: GenericFileSystem, ): Promise<SimpleKVStore> { fs = fs || DEFAULT_FS; let dirPath = path.dirname(persistPath); @@ -86,7 +86,7 @@ export class SimpleKVStore extends BaseKVStore { data = JSON.parse(fileData.toString()); } catch (e) { console.error( - `No valid data found at path: ${persistPath} starting new store.` + `No valid data found at path: ${persistPath} starting new store.`, ); } diff --git a/packages/core/src/storage/kvStore/types.ts b/packages/core/src/storage/kvStore/types.ts index 0d842bcbde82f5148e8a388a12261a8bc64ee5c8..3ff05a2538c9996cd6612c7ff88344b8ef8c1d1a 100644 --- a/packages/core/src/storage/kvStore/types.ts +++ b/packages/core/src/storage/kvStore/types.ts @@ -7,7 +7,7 @@ export abstract class BaseKVStore { abstract put( key: string, val: Record<string, any>, - collection?: string + collection?: string, ): Promise<void>; abstract get(key: string, collection?: string): Promise<StoredValue>; abstract getAll(collection?: string): Promise<Record<string, StoredValue>>; diff --git a/packages/core/src/storage/vectorStore/SimpleVectorStore.ts b/packages/core/src/storage/vectorStore/SimpleVectorStore.ts index 08ffd8cd2312b9d5ae421e1874237af02696456d..1bccf12ff0579f1985d2ecd873b6e037b4497c80 100644 --- a/packages/core/src/storage/vectorStore/SimpleVectorStore.ts +++ b/packages/core/src/storage/vectorStore/SimpleVectorStore.ts @@ -6,8 +6,8 @@ import { getTopKMMREmbeddings, } from "../../Embedding"; import { BaseNode } from "../../Node"; +import { GenericFileSystem, exists } from "../FileSystem"; import { DEFAULT_FS, DEFAULT_PERSIST_DIR } from "../constants"; -import { exists, GenericFileSystem } from "../FileSystem"; import { VectorStore, VectorStoreQuery, diff --git a/packages/core/src/tests/Embedding.test.ts b/packages/core/src/tests/Embedding.test.ts index ddd9a207810b1eb69bcd60d3a467df6b188da6e4..492a48be1a39877b28af06736f41c0e8a2266128 100644 --- a/packages/core/src/tests/Embedding.test.ts +++ b/packages/core/src/tests/Embedding.test.ts @@ -11,7 +11,7 @@ describe("similarity", () => { const embedding1 = [1, 2, 3]; const embedding2 = [4, 5, 6]; expect(() => - similarity(embedding1, embedding2, "unknown" as SimilarityType) + similarity(embedding1, embedding2, "unknown" as SimilarityType), ).toThrow(); }); @@ -19,7 +19,7 @@ describe("similarity", () => { const embedding1 = [1, 2, 3]; const embedding2 = [4, 5, 6]; expect( - similarity(embedding1, embedding2, SimilarityType.DOT_PRODUCT) + similarity(embedding1, embedding2, SimilarityType.DOT_PRODUCT), ).toEqual(32); }); @@ -27,7 +27,7 @@ describe("similarity", () => { const embedding1 = [1, 0]; const embedding2 = [0, 1]; expect(similarity(embedding1, embedding2, SimilarityType.DEFAULT)).toEqual( - 0.0 + 0.0, ); }); @@ -36,9 +36,9 @@ describe("similarity", () => { const docEmbedding1 = [0, 1]; // farther from query, distance 1.414 const docEmbedding2 = [1, 1]; // closer to query distance 1 expect( - similarity(queryEmbedding, docEmbedding1, SimilarityType.EUCLIDEAN) + similarity(queryEmbedding, docEmbedding1, SimilarityType.EUCLIDEAN), ).toBeLessThan( - similarity(queryEmbedding, docEmbedding2, SimilarityType.EUCLIDEAN) + similarity(queryEmbedding, docEmbedding2, SimilarityType.EUCLIDEAN), ); }); }); diff --git a/packages/core/src/tests/GenericFileSystem.test.ts b/packages/core/src/tests/GenericFileSystem.test.ts index 4ae75633255e6999ccf7453c7219081210675189..b30702de4c2954674626c2ec7e8437f8059e7667 100644 --- a/packages/core/src/tests/GenericFileSystem.test.ts +++ b/packages/core/src/tests/GenericFileSystem.test.ts @@ -1,12 +1,12 @@ +import os from "os"; +import path from "path"; import { GenericFileSystem, - getNodeFS, InMemoryFileSystem, exists, + getNodeFS, walk, } from "../storage/FileSystem"; -import os from "os"; -import path from "path"; type FileSystemUnderTest = { name: string; @@ -61,7 +61,7 @@ describe.each<FileSystemUnderTest>([ it("writes file to memory", async () => { await testFS.writeFile(`${tempDir}/test.txt`, "Hello, world!"); expect(await testFS.readFile(`${tempDir}/test.txt`, "utf-8")).toBe( - "Hello, world!" + "Hello, world!", ); }); @@ -69,7 +69,7 @@ describe.each<FileSystemUnderTest>([ await testFS.writeFile(`${tempDir}/test.txt`, "Hello, world!"); await testFS.writeFile(`${tempDir}/test.txt`, "Hello, again!"); expect(await testFS.readFile(`${tempDir}/test.txt`, "utf-8")).toBe( - "Hello, again!" + "Hello, again!", ); }); }); @@ -77,7 +77,7 @@ describe.each<FileSystemUnderTest>([ describe("readFile", () => { it("throws error for non-existing file", async () => { await expect( - testFS.readFile(`${tempDir}/not_exist.txt`, "utf-8") + testFS.readFile(`${tempDir}/not_exist.txt`, "utf-8"), ).rejects.toThrow(); }); }); diff --git a/packages/core/src/tests/StorageContext.test.ts b/packages/core/src/tests/StorageContext.test.ts index 22ce39eb604fbccb7621ec86e5aabd329f19dcc9..dd16d0dd8794fbb621a50c9fdee16439cedfcd4b 100644 --- a/packages/core/src/tests/StorageContext.test.ts +++ b/packages/core/src/tests/StorageContext.test.ts @@ -1,8 +1,5 @@ import { existsSync, rmSync } from "fs"; -import { - storageContextFromDefaults, - StorageContext, -} from "../storage/StorageContext"; +import { storageContextFromDefaults } from "../storage/StorageContext"; jest.spyOn(console, "error"); diff --git a/packages/core/src/tests/utility/mockOpenAI.ts b/packages/core/src/tests/utility/mockOpenAI.ts index 6198caab700c84f3bab58742a225c2cc3f3d9f6c..04d6cdd40d50d13e377e14a09c65023b602eace0 100644 --- a/packages/core/src/tests/utility/mockOpenAI.ts +++ b/packages/core/src/tests/utility/mockOpenAI.ts @@ -1,7 +1,7 @@ import { OpenAIEmbedding } from "../../Embedding"; import { globalsHelper } from "../../GlobalsHelper"; -import { ChatMessage, OpenAI } from "../../llm/LLM"; import { CallbackManager, Event } from "../../callbacks/CallbackManager"; +import { ChatMessage, OpenAI } from "../../llm/LLM"; export function mockLlmGeneration({ languageModel, @@ -57,7 +57,7 @@ export function mockLlmGeneration({ }, }); }); - } + }, ); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e13e1aa06b1f96bd05d91d7b8a86bd580e9f820e..880b34e546333aa2e0a96ddf6c5a0347897388fd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,17 +31,17 @@ importers: specifier: ^8.0.3 version: 8.0.3 jest: - specifier: ^29.6.3 - version: 29.6.3(@types/node@20.5.7) + specifier: ^29.6.4 + version: 29.6.4(@types/node@20.5.7) prettier: - specifier: ^3.0.2 - version: 3.0.2 + specifier: ^3.0.3 + version: 3.0.3 prettier-plugin-organize-imports: specifier: ^3.2.3 - version: 3.2.3(prettier@3.0.2)(typescript@5.2.2) + version: 3.2.3(prettier@3.0.3)(typescript@5.2.2) ts-jest: specifier: ^29.1.1 - version: 29.1.1(@babel/core@7.22.11)(jest@29.6.3)(typescript@5.2.2) + version: 29.1.1(@babel/core@7.22.11)(jest@29.6.4)(typescript@5.2.2) turbo: specifier: ^1.10.13 version: 1.10.13 @@ -353,13 +353,13 @@ packages: /@babel/code-frame@7.12.11: resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} dependencies: - '@babel/highlight': 7.22.10 + '@babel/highlight': 7.22.13 /@babel/code-frame@7.22.10: resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.22.10 + '@babel/highlight': 7.22.13 chalk: 2.4.2 /@babel/code-frame@7.22.13: @@ -368,7 +368,6 @@ packages: dependencies: '@babel/highlight': 7.22.13 chalk: 2.4.2 - dev: true /@babel/compat-data@7.22.9: resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} @@ -378,14 +377,14 @@ packages: resolution: {integrity: sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.22.13 '@babel/generator': 7.22.10 '@babel/helper-module-transforms': 7.22.9(@babel/core@7.12.9) - '@babel/helpers': 7.22.10 + '@babel/helpers': 7.22.11 '@babel/parser': 7.22.10 '@babel/template': 7.22.5 '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -419,6 +418,7 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: false /@babel/core@7.22.11: resolution: {integrity: sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ==} @@ -577,6 +577,7 @@ packages: '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.5 + dev: false /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.11): resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} @@ -680,6 +681,7 @@ packages: '@babel/types': 7.22.10 transitivePeerDependencies: - supports-color + dev: false /@babel/helpers@7.22.11: resolution: {integrity: sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg==} @@ -690,15 +692,6 @@ packages: '@babel/types': 7.22.11 transitivePeerDependencies: - supports-color - dev: true - - /@babel/highlight@7.22.10: - resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 /@babel/highlight@7.22.13: resolution: {integrity: sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==} @@ -707,7 +700,6 @@ packages: '@babel/helper-validator-identifier': 7.22.5 chalk: 2.4.2 js-tokens: 4.0.0 - dev: true /@babel/parser@7.22.10: resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} @@ -722,7 +714,6 @@ packages: hasBin: true dependencies: '@babel/types': 7.22.11 - dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} @@ -773,13 +764,23 @@ packages: dependencies: '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.11): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-plugin-utils': 7.22.5 + dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.10): + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.11): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.11 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -790,6 +791,16 @@ packages: dependencies: '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.11): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.10): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} @@ -846,6 +857,16 @@ packages: dependencies: '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.11): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} @@ -854,6 +875,16 @@ packages: dependencies: '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.11): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-jsx@7.12.1(@babel/core@7.12.9): resolution: {integrity: sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==} @@ -872,6 +903,17 @@ packages: dependencies: '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.11): + resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.10): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} @@ -880,6 +922,16 @@ packages: dependencies: '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.11): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} @@ -888,6 +940,16 @@ packages: dependencies: '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.11): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.10): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} @@ -896,6 +958,16 @@ packages: dependencies: '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.11): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.12.9): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} @@ -913,6 +985,16 @@ packages: dependencies: '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.11): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} @@ -921,6 +1003,16 @@ packages: dependencies: '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.11): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} @@ -929,6 +1021,16 @@ packages: dependencies: '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.11): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.10): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} @@ -948,6 +1050,17 @@ packages: dependencies: '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.11): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} @@ -957,6 +1070,17 @@ packages: dependencies: '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.11): + resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.10): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} @@ -1737,6 +1861,15 @@ packages: dependencies: core-js-pure: 3.32.1 regenerator-runtime: 0.14.0 + dev: false + + /@babel/runtime-corejs3@7.22.11: + resolution: {integrity: sha512-NhfzUbdWbiE6fCFypbWCPu6AR8xre31EOPF7wwAIJEvGQ2avov04eymayWinCuyXmV1b0+jzoXP/HYzzUYdvwg==} + engines: {node: '>=6.9.0'} + dependencies: + core-js-pure: 3.32.1 + regenerator-runtime: 0.14.0 + dev: true /@babel/runtime@7.21.5: resolution: {integrity: sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==} @@ -1751,6 +1884,13 @@ packages: dependencies: regenerator-runtime: 0.14.0 + /@babel/runtime@7.22.11: + resolution: {integrity: sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.0 + dev: false + /@babel/template@7.22.5: resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} engines: {node: '>=6.9.0'} @@ -1775,6 +1915,7 @@ packages: globals: 11.12.0 transitivePeerDependencies: - supports-color + dev: false /@babel/traverse@7.22.11: resolution: {integrity: sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==} @@ -1792,7 +1933,6 @@ packages: globals: 11.12.0 transitivePeerDependencies: - supports-color - dev: true /@babel/types@7.22.10: resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} @@ -1809,7 +1949,6 @@ packages: '@babel/helper-string-parser': 7.22.5 '@babel/helper-validator-identifier': 7.22.5 to-fast-properties: 2.0.0 - dev: true /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -1818,7 +1957,7 @@ packages: /@changesets/apply-release-plan@6.1.4: resolution: {integrity: sha512-FMpKF1fRlJyCZVYHr3CbinpZZ+6MwvOtWUuO8uo+svcATEoc1zRDcj23pAurJ2TZ/uVz1wFHH6K3NlACy0PLew==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.11 '@changesets/config': 2.3.1 '@changesets/get-version-range-type': 0.3.2 '@changesets/git': 2.0.0 @@ -1836,7 +1975,7 @@ packages: /@changesets/assemble-release-plan@5.2.4: resolution: {integrity: sha512-xJkWX+1/CUaOUWTguXEbCDTyWJFECEhmdtbkjhn5GVBGxdP/JwaHBIU9sW3FR6gD07UwZ7ovpiPclQZs+j+mvg==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.11 '@changesets/errors': 0.1.4 '@changesets/get-dependents-graph': 1.3.6 '@changesets/types': 5.2.1 @@ -1854,7 +1993,7 @@ packages: resolution: {integrity: sha512-dnWrJTmRR8bCHikJHl9b9HW3gXACCehz4OasrXpMp7sx97ECuBGGNjJhjPhdZNCvMy9mn4BWdplI323IbqsRig==} hasBin: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.11 '@changesets/apply-release-plan': 6.1.4 '@changesets/assemble-release-plan': 5.2.4 '@changesets/changelog-git': 0.1.14 @@ -1870,7 +2009,7 @@ packages: '@changesets/write': 0.2.3 '@manypkg/get-packages': 1.1.3 '@types/is-ci': 3.0.0 - '@types/semver': 7.5.0 + '@types/semver': 7.5.1 ansi-colors: 4.1.3 chalk: 2.4.2 enquirer: 2.4.1 @@ -1920,7 +2059,7 @@ packages: /@changesets/get-release-plan@3.0.17: resolution: {integrity: sha512-6IwKTubNEgoOZwDontYc2x2cWXfr6IKxP3IhKeK+WjyD6y3M4Gl/jdQvBw+m/5zWILSOCAaGLu2ZF6Q+WiPniw==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.11 '@changesets/assemble-release-plan': 5.2.4 '@changesets/config': 2.3.1 '@changesets/pre': 1.0.14 @@ -1936,7 +2075,7 @@ packages: /@changesets/git@2.0.0: resolution: {integrity: sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.11 '@changesets/errors': 0.1.4 '@changesets/types': 5.2.1 '@manypkg/get-packages': 1.1.3 @@ -1961,7 +2100,7 @@ packages: /@changesets/pre@1.0.14: resolution: {integrity: sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.11 '@changesets/errors': 0.1.4 '@changesets/types': 5.2.1 '@manypkg/get-packages': 1.1.3 @@ -1971,7 +2110,7 @@ packages: /@changesets/read@0.5.9: resolution: {integrity: sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.11 '@changesets/git': 2.0.0 '@changesets/logger': 0.0.5 '@changesets/parse': 0.3.16 @@ -1992,7 +2131,7 @@ packages: /@changesets/write@0.2.3: resolution: {integrity: sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.11 '@changesets/types': 5.2.1 fs-extra: 7.0.1 human-id: 1.0.2 @@ -3114,8 +3253,8 @@ packages: engines: {node: '>=8'} dev: true - /@jest/console@29.6.3: - resolution: {integrity: sha512-ukZbHAdDH4ktZIOKvWs1juAXhiVAdvCyM8zv4S/7Ii3vJSDvMW5k+wOVGMQmHLHUFw3Ko63ZQNy7NI6PSlsD5w==} + /@jest/console@29.6.4: + resolution: {integrity: sha512-wNK6gC0Ha9QeEPSkeJedQuTQqxZYnDPuDcDhVuVatRvMkL4D0VTvFVZj+Yuh6caG2aOfzkUZ36KtCmLNtR02hw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 @@ -3126,8 +3265,8 @@ packages: slash: 3.0.0 dev: true - /@jest/core@29.6.3: - resolution: {integrity: sha512-skV1XrfNxfagmjRUrk2FyN5/2YwIzdWVVBa/orUfbLvQUANXxERq2pTvY0I+FinWHjDKB2HRmpveUiph4X0TJw==} + /@jest/core@29.6.4: + resolution: {integrity: sha512-U/vq5ccNTSVgYH7mHnodHmCffGWHJnz/E1BEWlLuK5pM4FZmGfBn/nrJGLjUsSmyx3otCeqc1T31F4y08AMDLg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -3135,10 +3274,10 @@ packages: node-notifier: optional: true dependencies: - '@jest/console': 29.6.3 - '@jest/reporters': 29.6.3 - '@jest/test-result': 29.6.3 - '@jest/transform': 29.6.3 + '@jest/console': 29.6.4 + '@jest/reporters': 29.6.4 + '@jest/test-result': 29.6.4 + '@jest/transform': 29.6.4 '@jest/types': 29.6.3 '@types/node': 20.5.7 ansi-escapes: 4.3.2 @@ -3147,18 +3286,18 @@ packages: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.6.3 - jest-config: 29.6.3(@types/node@20.5.7) - jest-haste-map: 29.6.3 + jest-config: 29.6.4(@types/node@20.5.7) + jest-haste-map: 29.6.4 jest-message-util: 29.6.3 jest-regex-util: 29.6.3 - jest-resolve: 29.6.3 - jest-resolve-dependencies: 29.6.3 - jest-runner: 29.6.3 - jest-runtime: 29.6.3 - jest-snapshot: 29.6.3 + jest-resolve: 29.6.4 + jest-resolve-dependencies: 29.6.4 + jest-runner: 29.6.4 + jest-runtime: 29.6.4 + jest-snapshot: 29.6.4 jest-util: 29.6.3 jest-validate: 29.6.3 - jest-watcher: 29.6.3 + jest-watcher: 29.6.4 micromatch: 4.0.5 pretty-format: 29.6.3 slash: 3.0.0 @@ -3169,35 +3308,35 @@ packages: - ts-node dev: true - /@jest/environment@29.6.3: - resolution: {integrity: sha512-u/u3cCztYCfgBiGHsamqP5x+XvucftOGPbf5RJQxfpeC1y4AL8pCjKvPDA3oCmdhZYPgk5AE0VOD/flweR69WA==} + /@jest/environment@29.6.4: + resolution: {integrity: sha512-sQ0SULEjA1XUTHmkBRl7A1dyITM9yb1yb3ZNKPX3KlTd6IG7mWUe3e2yfExtC2Zz1Q+mMckOLHmL/qLiuQJrBQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/fake-timers': 29.6.3 + '@jest/fake-timers': 29.6.4 '@jest/types': 29.6.3 '@types/node': 20.5.7 jest-mock: 29.6.3 dev: true - /@jest/expect-utils@29.6.3: - resolution: {integrity: sha512-nvOEW4YoqRKD9HBJ9OJ6przvIvP9qilp5nAn1462P5ZlL/MM9SgPEZFyjTGPfs7QkocdUsJa6KjHhyRn4ueItA==} + /@jest/expect-utils@29.6.4: + resolution: {integrity: sha512-FEhkJhqtvBwgSpiTrocquJCdXPsyvNKcl/n7A3u7X4pVoF4bswm11c9d4AV+kfq2Gpv/mM8x7E7DsRvH+djkrg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.6.3 dev: true - /@jest/expect@29.6.3: - resolution: {integrity: sha512-Ic08XbI2jlg6rECy+CGwk/8NDa6VE7UmIG6++9OTPAMnQmNGY28hu69Nf629CWv6T7YMODLbONxDFKdmQeI9FA==} + /@jest/expect@29.6.4: + resolution: {integrity: sha512-Warhsa7d23+3X5bLbrbYvaehcgX5TLYhI03JKoedTiI8uJU4IhqYBWF7OSSgUyz4IgLpUYPkK0AehA5/fRclAA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - expect: 29.6.3 - jest-snapshot: 29.6.3 + expect: 29.6.4 + jest-snapshot: 29.6.4 transitivePeerDependencies: - supports-color dev: true - /@jest/fake-timers@29.6.3: - resolution: {integrity: sha512-pa1wmqvbj6eX0nMvOM2VDAWvJOI5A/Mk3l8O7n7EsAh71sMZblaKO9iT4GjIj0LwwK3CP/Jp1ypEV0x3m89RvA==} + /@jest/fake-timers@29.6.4: + resolution: {integrity: sha512-6UkCwzoBK60edXIIWb0/KWkuj7R7Qq91vVInOe3De6DSpaEiqjKcJw4F7XUet24Wupahj9J6PlR09JqJ5ySDHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 @@ -3208,20 +3347,20 @@ packages: jest-util: 29.6.3 dev: true - /@jest/globals@29.6.3: - resolution: {integrity: sha512-RB+uI+CZMHntzlnOPlll5x/jgRff3LEPl/td/jzMXiIgR0iIhKq9qm1HLU+EC52NuoVy/1swit/sDGjVn4bc6A==} + /@jest/globals@29.6.4: + resolution: {integrity: sha512-wVIn5bdtjlChhXAzVXavcY/3PEjf4VqM174BM3eGL5kMxLiZD5CLnbmkEyA1Dwh9q8XjP6E8RwjBsY/iCWrWsA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.3 - '@jest/expect': 29.6.3 + '@jest/environment': 29.6.4 + '@jest/expect': 29.6.4 '@jest/types': 29.6.3 jest-mock: 29.6.3 transitivePeerDependencies: - supports-color dev: true - /@jest/reporters@29.6.3: - resolution: {integrity: sha512-kGz59zMi0GkVjD2CJeYWG9k6cvj7eBqt9aDAqo2rcCLRTYlvQ62Gu/n+tOmJMBHGjzeijjuCENjzTyYBgrtLUw==} + /@jest/reporters@29.6.4: + resolution: {integrity: sha512-sxUjWxm7QdchdrD3NfWKrL8FBsortZeibSJv4XLjESOOjSUOkjQcb0ZHJwfhEGIvBvTluTzfG2yZWZhkrXJu8g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -3230,9 +3369,9 @@ packages: optional: true dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 29.6.3 - '@jest/test-result': 29.6.3 - '@jest/transform': 29.6.3 + '@jest/console': 29.6.4 + '@jest/test-result': 29.6.4 + '@jest/transform': 29.6.4 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.19 '@types/node': 20.5.7 @@ -3248,7 +3387,7 @@ packages: istanbul-reports: 3.1.6 jest-message-util: 29.6.3 jest-util: 29.6.3 - jest-worker: 29.6.3 + jest-worker: 29.6.4 slash: 3.0.0 string-length: 4.0.2 strip-ansi: 6.0.1 @@ -3272,31 +3411,31 @@ packages: graceful-fs: 4.2.11 dev: true - /@jest/test-result@29.6.3: - resolution: {integrity: sha512-k7ZZaNvOSMBHPZYiy0kuiaFoyansR5QnTwDux1EjK3kD5iWpRVyJIJ0RAIV39SThafchuW59vra7F8mdy5Hfgw==} + /@jest/test-result@29.6.4: + resolution: {integrity: sha512-uQ1C0AUEN90/dsyEirgMLlouROgSY+Wc/JanVVk0OiUKa5UFh7sJpMEM3aoUBAz2BRNvUJ8j3d294WFuRxSyOQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 29.6.3 + '@jest/console': 29.6.4 '@jest/types': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 collect-v8-coverage: 1.0.2 dev: true - /@jest/test-sequencer@29.6.3: - resolution: {integrity: sha512-/SmijaAU2TY9ComFGIYa6Z+fmKqQMnqs2Nmwb0P/Z/tROdZ7M0iruES1EaaU9PBf8o9uED5xzaJ3YPFEIcDgAg==} + /@jest/test-sequencer@29.6.4: + resolution: {integrity: sha512-E84M6LbpcRq3fT4ckfKs9ryVanwkaIB0Ws9bw3/yP4seRLg/VaCZ/LgW0MCq5wwk4/iP/qnilD41aj2fsw2RMg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/test-result': 29.6.3 + '@jest/test-result': 29.6.4 graceful-fs: 4.2.11 - jest-haste-map: 29.6.3 + jest-haste-map: 29.6.4 slash: 3.0.0 dev: true - /@jest/transform@29.6.3: - resolution: {integrity: sha512-dPIc3DsvMZ/S8ut4L2ViCj265mKO0owB0wfzBv2oGzL9pQ+iRvJewHqLBmsGb7XFb5UotWIEtvY5A/lnylaIoQ==} + /@jest/transform@29.6.4: + resolution: {integrity: sha512-8thgRSiXUqtr/pPGY/OsyHuMjGyhVnWrFAwoxmIemlBuiMyU1WFs0tXoNxzcr4A4uErs/ABre76SGmrr5ab/AA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.11 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.19 babel-plugin-istanbul: 6.1.1 @@ -3304,7 +3443,7 @@ packages: convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-haste-map: 29.6.3 + jest-haste-map: 29.6.4 jest-regex-util: 29.6.3 jest-util: 29.6.3 micromatch: 4.0.5 @@ -3371,7 +3510,7 @@ packages: /@manypkg/find-root@1.1.0: resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.11 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 @@ -3380,7 +3519,7 @@ packages: /@manypkg/get-packages@1.1.3: resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.11 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -3701,7 +3840,7 @@ packages: resolution: {integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==} engines: {node: '>=10'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 entities: 4.5.0 dev: false @@ -3834,8 +3973,8 @@ packages: /@types/babel__core@7.20.1: resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} dependencies: - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/parser': 7.22.13 + '@babel/types': 7.22.11 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.20.1 @@ -3844,20 +3983,20 @@ packages: /@types/babel__generator@7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 dev: true /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/parser': 7.22.13 + '@babel/types': 7.22.11 dev: true /@types/babel__traverse@7.20.1: resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 dev: true /@types/body-parser@1.19.2: @@ -3984,7 +4123,7 @@ packages: /@types/jest@29.5.4: resolution: {integrity: sha512-PhglGmhWeD46FYOVLt3X7TiWjzwuVGW9wG/4qocPevXMjCmrIc5b6db9WjeGE4QYVpUAWMDv3v0IiBwObY289A==} dependencies: - expect: 29.6.3 + expect: 29.6.4 pretty-format: 29.6.3 dev: true @@ -4139,8 +4278,8 @@ packages: /@types/scheduler@0.16.3: resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} - /@types/semver@7.5.0: - resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} + /@types/semver@7.5.1: + resolution: {integrity: sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==} dev: false /@types/send@0.17.1: @@ -4756,17 +4895,17 @@ packages: deep-equal: 2.2.1 dev: false - /babel-jest@29.6.3(@babel/core@7.22.10): - resolution: {integrity: sha512-1Ne93zZZEy5XmTa4Q+W5+zxBrDpExX8E3iy+xJJ+24ewlfo/T3qHfQJCzi/MMVFmBQDNxtRR/Gfd2dwb/0yrQw==} + /babel-jest@29.6.4(@babel/core@7.22.11): + resolution: {integrity: sha512-meLj23UlSLddj6PC+YTOFRgDAtjnZom8w/ACsrx0gtPtv5cJZk0A5Unk5bV4wixD7XaPCN1fQvpww8czkZURmw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.22.10 - '@jest/transform': 29.6.3 + '@babel/core': 7.22.11 + '@jest/transform': 29.6.4 '@types/babel__core': 7.20.1 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.22.10) + babel-preset-jest: 29.6.3(@babel/core@7.22.11) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -4829,7 +4968,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/template': 7.22.5 - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 '@types/babel__core': 7.20.1 '@types/babel__traverse': 7.20.1 dev: true @@ -4870,35 +5009,35 @@ packages: - supports-color dev: false - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.10): + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.11): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.10) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.10) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.10) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.10) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.10) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.10) - dev: true - - /babel-preset-jest@29.6.3(@babel/core@7.22.10): + '@babel/core': 7.22.11 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.11) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.11) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.11) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.11) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.11) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.11) + dev: true + + /babel-preset-jest@29.6.3(@babel/core@7.22.11): resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.11 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.10) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.11) dev: true /bail@1.0.5: @@ -7184,13 +7323,13 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /expect@29.6.3: - resolution: {integrity: sha512-x1vY4LlEMWUYVZQrFi4ZANXFwqYbJ/JNQspLVvzhW2BNY28aNcXMQH6imBbt+RBf5sVRTodYHXtSP/TLEU0Dxw==} + /expect@29.6.4: + resolution: {integrity: sha512-F2W2UyQ8XYyftHT57dtfg8Ue3X5qLgm2sSug0ivvLRH/VKNRL/pDxg/TH7zVzbQB0tu80clNFy6LU7OS/VSEKA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/expect-utils': 29.6.3 + '@jest/expect-utils': 29.6.4 jest-get-type: 29.6.3 - jest-matcher-utils: 29.6.3 + jest-matcher-utils: 29.6.4 jest-message-util: 29.6.3 jest-util: 29.6.3 dev: true @@ -7344,7 +7483,7 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.0.4 + flat-cache: 3.1.0 /file-loader@6.2.0(webpack@5.88.2): resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} @@ -7420,11 +7559,12 @@ packages: pkg-dir: 4.2.0 dev: false - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + /flat-cache@3.1.0: + resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==} + engines: {node: '>=12.0.0'} dependencies: flatted: 3.2.7 + keyv: 4.5.3 rimraf: 3.0.2 /flatted@3.2.7: @@ -8809,8 +8949,8 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.22.10 - '@babel/parser': 7.22.10 + '@babel/core': 7.22.11 + '@babel/parser': 7.22.13 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.1 @@ -8822,8 +8962,8 @@ packages: resolution: {integrity: sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.22.10 - '@babel/parser': 7.22.10 + '@babel/core': 7.22.11 + '@babel/parser': 7.22.13 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 7.5.4 @@ -8868,13 +9008,13 @@ packages: p-limit: 3.1.0 dev: true - /jest-circus@29.6.3: - resolution: {integrity: sha512-p0R5YqZEMnOpHqHLWRSjm2z/0p6RNsrNE/GRRT3eli8QGOAozj6Ys/3Tv+Ej+IfltJoSPwcQ6/hOCRkNlxLLCw==} + /jest-circus@29.6.4: + resolution: {integrity: sha512-YXNrRyntVUgDfZbjXWBMPslX1mQ8MrSG0oM/Y06j9EYubODIyHWP8hMUbjbZ19M3M+zamqEur7O80HODwACoJw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.3 - '@jest/expect': 29.6.3 - '@jest/test-result': 29.6.3 + '@jest/environment': 29.6.4 + '@jest/expect': 29.6.4 + '@jest/test-result': 29.6.4 '@jest/types': 29.6.3 '@types/node': 20.5.7 chalk: 4.1.2 @@ -8882,10 +9022,10 @@ packages: dedent: 1.5.1 is-generator-fn: 2.1.0 jest-each: 29.6.3 - jest-matcher-utils: 29.6.3 + jest-matcher-utils: 29.6.4 jest-message-util: 29.6.3 - jest-runtime: 29.6.3 - jest-snapshot: 29.6.3 + jest-runtime: 29.6.4 + jest-snapshot: 29.6.4 jest-util: 29.6.3 p-limit: 3.1.0 pretty-format: 29.6.3 @@ -8897,8 +9037,8 @@ packages: - supports-color dev: true - /jest-cli@29.6.3(@types/node@20.5.7): - resolution: {integrity: sha512-KuPdXUPXQIf0t6DvmG8MV4QyhcjR1a6ruKl3YL7aGn/AQ8JkROwFkWzEpDIpt11Qy188dHbRm8WjwMsV/4nmnQ==} + /jest-cli@29.6.4(@types/node@20.5.7): + resolution: {integrity: sha512-+uMCQ7oizMmh8ZwRfZzKIEszFY9ksjjEQnTEMTaL7fYiL3Kw4XhqT9bYh+A4DQKUb67hZn2KbtEnDuHvcgK4pQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: @@ -8907,14 +9047,14 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 29.6.3 - '@jest/test-result': 29.6.3 + '@jest/core': 29.6.4 + '@jest/test-result': 29.6.4 '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 import-local: 3.1.0 - jest-config: 29.6.3(@types/node@20.5.7) + jest-config: 29.6.4(@types/node@20.5.7) jest-util: 29.6.3 jest-validate: 29.6.3 prompts: 2.4.2 @@ -8926,8 +9066,8 @@ packages: - ts-node dev: true - /jest-config@29.6.3(@types/node@20.5.7): - resolution: {integrity: sha512-nb9bOq2aEqogbyL4F9mLkAeQGAgNt7Uz6U59YtQDIxFPiL7Ejgq0YIrp78oyEHD6H4CIV/k7mFrK7eFDzUJ69w==} + /jest-config@29.6.4(@types/node@20.5.7): + resolution: {integrity: sha512-JWohr3i9m2cVpBumQFv2akMEnFEPVOh+9L2xIBJhJ0zOaci2ZXuKJj0tgMKQCBZAKA09H049IR4HVS/43Qb19A==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@types/node': '*' @@ -8938,22 +9078,22 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.22.10 - '@jest/test-sequencer': 29.6.3 + '@babel/core': 7.22.11 + '@jest/test-sequencer': 29.6.4 '@jest/types': 29.6.3 '@types/node': 20.5.7 - babel-jest: 29.6.3(@babel/core@7.22.10) + babel-jest: 29.6.4(@babel/core@7.22.11) chalk: 4.1.2 ci-info: 3.8.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 - jest-circus: 29.6.3 - jest-environment-node: 29.6.3 + jest-circus: 29.6.4 + jest-environment-node: 29.6.4 jest-get-type: 29.6.3 jest-regex-util: 29.6.3 - jest-resolve: 29.6.3 - jest-runner: 29.6.3 + jest-resolve: 29.6.4 + jest-runner: 29.6.4 jest-util: 29.6.3 jest-validate: 29.6.3 micromatch: 4.0.5 @@ -8966,8 +9106,8 @@ packages: - supports-color dev: true - /jest-diff@29.6.3: - resolution: {integrity: sha512-3sw+AdWnwH9sSNohMRKA7JiYUJSRr/WS6+sEFfBuhxU5V5GlEVKfvUn8JuMHE0wqKowemR1C2aHy8VtXbaV8dQ==} + /jest-diff@29.6.4: + resolution: {integrity: sha512-9F48UxR9e4XOEZvoUXEHSWY4qC4zERJaOfrbBg9JpbJOO43R1vN76REt/aMGZoY6GD5g84nnJiBIVlscegefpw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 @@ -8994,12 +9134,12 @@ packages: pretty-format: 29.6.3 dev: true - /jest-environment-node@29.6.3: - resolution: {integrity: sha512-PKl7upfPJXMYbWpD+60o4HP86KvFO2c9dZ+Zr6wUzsG5xcPx/65o3ArNgHW5M0RFvLYdW4/aieR4JSooD0a2ew==} + /jest-environment-node@29.6.4: + resolution: {integrity: sha512-i7SbpH2dEIFGNmxGCpSc2w9cA4qVD+wfvg2ZnfQ7XVrKL0NA5uDVBIiGH8SR4F0dKEv/0qI5r+aDomDf04DpEQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.3 - '@jest/fake-timers': 29.6.3 + '@jest/environment': 29.6.4 + '@jest/fake-timers': 29.6.4 '@jest/types': 29.6.3 '@types/node': 20.5.7 jest-mock: 29.6.3 @@ -9011,8 +9151,8 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-haste-map@29.6.3: - resolution: {integrity: sha512-GecR5YavfjkhOytEFHAeI6aWWG3f/cOKNB1YJvj/B76xAmeVjy4zJUYobGF030cRmKaO1FBw3V8CZZ6KVh9ZSw==} + /jest-haste-map@29.6.4: + resolution: {integrity: sha512-12Ad+VNTDHxKf7k+M65sviyynRoZYuL1/GTuhEVb8RYsNSNln71nANRb/faSyWvx0j+gHcivChXHIoMJrGYjog==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 @@ -9023,7 +9163,7 @@ packages: graceful-fs: 4.2.11 jest-regex-util: 29.6.3 jest-util: 29.6.3 - jest-worker: 29.6.3 + jest-worker: 29.6.4 micromatch: 4.0.5 walker: 1.0.8 optionalDependencies: @@ -9038,12 +9178,12 @@ packages: pretty-format: 29.6.3 dev: true - /jest-matcher-utils@29.6.3: - resolution: {integrity: sha512-6ZrMYINZdwduSt5Xu18/n49O1IgXdjsfG7NEZaQws9k69eTKWKcVbJBw/MZsjOZe2sSyJFmuzh8042XWwl54Zg==} + /jest-matcher-utils@29.6.4: + resolution: {integrity: sha512-KSzwyzGvK4HcfnserYqJHYi7sZVqdREJ9DMPAKVbS98JsIAvumihaNUbjrWw0St7p9IY7A9UskCW5MYlGmBQFQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - jest-diff: 29.6.3 + jest-diff: 29.6.4 jest-get-type: 29.6.3 pretty-format: 29.6.3 dev: true @@ -9052,7 +9192,7 @@ packages: resolution: {integrity: sha512-FtzaEEHzjDpQp51HX4UMkPZjy46ati4T5pEMyM6Ik48ztu4T9LQplZ6OsimHx7EuM9dfEh5HJa6D3trEftu3dA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.22.13 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.1 chalk: 4.1.2 @@ -9072,7 +9212,7 @@ packages: jest-util: 29.6.3 dev: true - /jest-pnp-resolver@1.2.3(jest-resolve@29.6.3): + /jest-pnp-resolver@1.2.3(jest-resolve@29.6.4): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} engines: {node: '>=6'} peerDependencies: @@ -9081,7 +9221,7 @@ packages: jest-resolve: optional: true dependencies: - jest-resolve: 29.6.3 + jest-resolve: 29.6.4 dev: true /jest-regex-util@29.6.3: @@ -9089,24 +9229,24 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-resolve-dependencies@29.6.3: - resolution: {integrity: sha512-iah5nhSPTwtUV7yzpTc9xGg8gP3Ch2VNsuFMsKoCkNCrQSbFtx5KRPemmPJ32AUhTSDqJXB6djPN6zAaUGV53g==} + /jest-resolve-dependencies@29.6.4: + resolution: {integrity: sha512-7+6eAmr1ZBF3vOAJVsfLj1QdqeXG+WYhidfLHBRZqGN24MFRIiKG20ItpLw2qRAsW/D2ZUUmCNf6irUr/v6KHA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-regex-util: 29.6.3 - jest-snapshot: 29.6.3 + jest-snapshot: 29.6.4 transitivePeerDependencies: - supports-color dev: true - /jest-resolve@29.6.3: - resolution: {integrity: sha512-WMXwxhvzDeA/J+9jz1i8ZKGmbw/n+s988EiUvRI4egM+eTn31Hb5v10Re3slG3/qxntkBt2/6GkQVDGu6Bwyhw==} + /jest-resolve@29.6.4: + resolution: {integrity: sha512-fPRq+0vcxsuGlG0O3gyoqGTAxasagOxEuyoxHeyxaZbc9QNek0AmJWSkhjlMG+mTsj+8knc/mWb3fXlRNVih7Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 - jest-haste-map: 29.6.3 - jest-pnp-resolver: 1.2.3(jest-resolve@29.6.3) + jest-haste-map: 29.6.4 + jest-pnp-resolver: 1.2.3(jest-resolve@29.6.4) jest-util: 29.6.3 jest-validate: 29.6.3 resolve: 1.22.4 @@ -9114,45 +9254,45 @@ packages: slash: 3.0.0 dev: true - /jest-runner@29.6.3: - resolution: {integrity: sha512-E4zsMhQnjhirFPhDTJgoLMWUrVCDij/KGzWlbslDHGuO8Hl2pVUfOiygMzVZtZq+BzmlqwEr7LYmW+WFLlmX8w==} + /jest-runner@29.6.4: + resolution: {integrity: sha512-SDaLrMmtVlQYDuG0iSPYLycG8P9jLI+fRm8AF/xPKhYDB2g6xDWjXBrR5M8gEWsK6KVFlebpZ4QsrxdyIX1Jaw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 29.6.3 - '@jest/environment': 29.6.3 - '@jest/test-result': 29.6.3 - '@jest/transform': 29.6.3 + '@jest/console': 29.6.4 + '@jest/environment': 29.6.4 + '@jest/test-result': 29.6.4 + '@jest/transform': 29.6.4 '@jest/types': 29.6.3 '@types/node': 20.5.7 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 jest-docblock: 29.6.3 - jest-environment-node: 29.6.3 - jest-haste-map: 29.6.3 + jest-environment-node: 29.6.4 + jest-haste-map: 29.6.4 jest-leak-detector: 29.6.3 jest-message-util: 29.6.3 - jest-resolve: 29.6.3 - jest-runtime: 29.6.3 + jest-resolve: 29.6.4 + jest-runtime: 29.6.4 jest-util: 29.6.3 - jest-watcher: 29.6.3 - jest-worker: 29.6.3 + jest-watcher: 29.6.4 + jest-worker: 29.6.4 p-limit: 3.1.0 source-map-support: 0.5.13 transitivePeerDependencies: - supports-color dev: true - /jest-runtime@29.6.3: - resolution: {integrity: sha512-VM0Z3a9xaqizGpEKwCOIhImkrINYzxgwk8oQAvrmAiXX8LNrJrRjyva30RkuRY0ETAotHLlUcd2moviCA1hgsQ==} + /jest-runtime@29.6.4: + resolution: {integrity: sha512-s/QxMBLvmwLdchKEjcLfwzP7h+jsHvNEtxGP5P+Fl1FMaJX2jMiIqe4rJw4tFprzCwuSvVUo9bn0uj4gNRXsbA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.3 - '@jest/fake-timers': 29.6.3 - '@jest/globals': 29.6.3 + '@jest/environment': 29.6.4 + '@jest/fake-timers': 29.6.4 + '@jest/globals': 29.6.4 '@jest/source-map': 29.6.3 - '@jest/test-result': 29.6.3 - '@jest/transform': 29.6.3 + '@jest/test-result': 29.6.4 + '@jest/transform': 29.6.4 '@jest/types': 29.6.3 '@types/node': 20.5.7 chalk: 4.1.2 @@ -9160,12 +9300,12 @@ packages: collect-v8-coverage: 1.0.2 glob: 7.2.3 graceful-fs: 4.2.11 - jest-haste-map: 29.6.3 + jest-haste-map: 29.6.4 jest-message-util: 29.6.3 jest-mock: 29.6.3 jest-regex-util: 29.6.3 - jest-resolve: 29.6.3 - jest-snapshot: 29.6.3 + jest-resolve: 29.6.4 + jest-snapshot: 29.6.4 jest-util: 29.6.3 slash: 3.0.0 strip-bom: 4.0.0 @@ -9173,25 +9313,25 @@ packages: - supports-color dev: true - /jest-snapshot@29.6.3: - resolution: {integrity: sha512-66Iu7H1ojiveQMGFnKecHIZPPPBjZwfQEnF6wxqpxGf57sV3YSUtAb5/sTKM5TPa3OndyxZp1wxHFbmgVhc53w==} + /jest-snapshot@29.6.4: + resolution: {integrity: sha512-VC1N8ED7+4uboUKGIDsbvNAZb6LakgIPgAF4RSpF13dN6YaMokfRqO+BaqK4zIh6X3JffgwbzuGqDEjHm/MrvA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.11 '@babel/generator': 7.22.10 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.10) - '@babel/types': 7.22.10 - '@jest/expect-utils': 29.6.3 - '@jest/transform': 29.6.3 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.11) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.11) + '@babel/types': 7.22.11 + '@jest/expect-utils': 29.6.4 + '@jest/transform': 29.6.4 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.10) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.11) chalk: 4.1.2 - expect: 29.6.3 + expect: 29.6.4 graceful-fs: 4.2.11 - jest-diff: 29.6.3 + jest-diff: 29.6.4 jest-get-type: 29.6.3 - jest-matcher-utils: 29.6.3 + jest-matcher-utils: 29.6.4 jest-message-util: 29.6.3 jest-util: 29.6.3 natural-compare: 1.4.0 @@ -9224,11 +9364,11 @@ packages: pretty-format: 29.6.3 dev: true - /jest-watcher@29.6.3: - resolution: {integrity: sha512-NgpFjZ2U2MKusjidbi4Oiu7tfs+nrgdIxIEVROvH1cFmOei9Uj25lwkMsakqLnH/s0nEcvxO1ck77FiRlcnpZg==} + /jest-watcher@29.6.4: + resolution: {integrity: sha512-oqUWvx6+On04ShsT00Ir9T4/FvBeEh2M9PTubgITPxDa739p4hoQweWPRGyYeaojgT0xTpZKF0Y/rSY1UgMxvQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/test-result': 29.6.3 + '@jest/test-result': 29.6.4 '@jest/types': 29.6.3 '@types/node': 20.5.7 ansi-escapes: 4.3.2 @@ -9256,8 +9396,8 @@ packages: supports-color: 8.1.1 dev: false - /jest-worker@29.6.3: - resolution: {integrity: sha512-wacANXecZ/GbQakpf2CClrqrlwsYYDSXFd4fIGdL+dXpM2GWoJ+6bhQ7vR3TKi3+gkSfBkjy1/khH/WrYS4Q6g==} + /jest-worker@29.6.4: + resolution: {integrity: sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@types/node': 20.5.7 @@ -9266,8 +9406,8 @@ packages: supports-color: 8.1.1 dev: true - /jest@29.6.3(@types/node@20.5.7): - resolution: {integrity: sha512-alueLuoPCDNHFcFGmgETR4KpQ+0ff3qVaiJwxQM4B5sC0CvXcgg4PEi7xrDkxuItDmdz/FVc7SSit4KEu8GRvw==} + /jest@29.6.4(@types/node@20.5.7): + resolution: {integrity: sha512-tEFhVQFF/bzoYV1YuGyzLPZ6vlPrdfvDmmAxudA1dLEuiztqg2Rkx20vkKY32xiDROcD2KXlgZ7Cu8RPeEHRKw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: @@ -9276,10 +9416,10 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 29.6.3 + '@jest/core': 29.6.4 '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.6.3(@types/node@20.5.7) + jest-cli: 29.6.4(@types/node@20.5.7) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -9336,6 +9476,9 @@ packages: resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} dev: false + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -9390,6 +9533,11 @@ packages: json-buffer: 3.0.0 dev: false + /keyv@4.5.3: + resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} + dependencies: + json-buffer: 3.0.1 + /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -10022,7 +10170,7 @@ packages: resolution: {integrity: sha512-Cov028YhBZ5aB7MdMWJEmwyBig43aGL5WT4vdoB28Oitau1zZAcHUn8Sgfk9HM33TqhtLJ9PlM/O0Mv+QpV/4Q==} engines: {node: '>=8.9.4'} dependencies: - '@babel/runtime-corejs3': 7.22.10 + '@babel/runtime-corejs3': 7.22.11 '@types/inquirer': 6.5.0 change-case: 3.1.0 del: 5.1.0 @@ -10476,7 +10624,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.22.13 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -11088,7 +11236,7 @@ packages: engines: {node: '>=4'} dev: false - /prettier-plugin-organize-imports@3.2.3(prettier@3.0.2)(typescript@5.2.2): + /prettier-plugin-organize-imports@3.2.3(prettier@3.0.3)(typescript@5.2.2): resolution: {integrity: sha512-KFvk8C/zGyvUaE3RvxN2MhCLwzV6OBbFSkwZ2OamCrs9ZY4i5L77jQ/w4UmUr+lqX8qbaqVq6bZZkApn+IgJSg==} peerDependencies: '@volar/vue-language-plugin-pug': ^1.0.4 @@ -11101,7 +11249,7 @@ packages: '@volar/vue-typescript': optional: true dependencies: - prettier: 3.0.2 + prettier: 3.0.3 typescript: 5.2.2 dev: true @@ -11111,8 +11259,8 @@ packages: hasBin: true dev: false - /prettier@3.0.2: - resolution: {integrity: sha512-o2YR9qtniXvwEZlOKbveKfDQVyqxbEIWn48Z8m3ZJjBjcCmUy3xZGIv+7AkaeuaTr6yPXJjwv07ZWlsWbEy1rQ==} + /prettier@3.0.3: + resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} engines: {node: '>=14'} hasBin: true dev: true @@ -11528,7 +11676,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.11 react: 17.0.2 use-composed-ref: 1.3.0(react@17.0.2) use-latest: 1.2.1(react@17.0.2) @@ -12923,7 +13071,7 @@ packages: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true - /ts-jest@29.1.1(@babel/core@7.22.11)(jest@29.6.3)(typescript@5.2.2): + /ts-jest@29.1.1(@babel/core@7.22.11)(jest@29.6.4)(typescript@5.2.2): resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -12947,7 +13095,7 @@ packages: '@babel/core': 7.22.11 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.6.3(@types/node@20.5.7) + jest: 29.6.4(@types/node@20.5.7) jest-util: 29.6.3 json5: 2.2.3 lodash.memoize: 4.1.2 diff --git a/sweep.yaml b/sweep.yaml index fed4e05ff8b300446ddfb495ebc1d3ae1420a05e..5253299a3d5b28854993299005ca5f578cf16917 100644 --- a/sweep.yaml +++ b/sweep.yaml @@ -2,11 +2,10 @@ # For details on our config file, check out our docs at https://docs.sweep.dev # If you use this be sure to frequently sync your default branch(main, master) to dev. -branch: 'main' +branch: "main" # If you want to enable GitHub Actions for Sweep, set this to true. gha_enabled: False # This is the description of your project. It will be used by sweep when creating PRs. You can tell Sweep what's unique about your project, what frameworks you use, or anything else you want. # Here's an example: sweepai/sweep is a python project. The main api endpoints are in sweepai/api.py. Write code that adheres to PEP8. -description: '' - +description: "" # Default Values: https://github.com/sweepai/sweep/blob/main/sweep.yaml