From 8c60d3cb5a7d55081c86a8f47071e540ed4b5b09 Mon Sep 17 00:00:00 2001 From: Nadeesha Cabral Date: Sat, 2 Nov 2024 15:41:03 +1100 Subject: [PATCH 01/36] fix: Allow inline structs in function registration (#30) * fix: Enhance error handling in function registration * fix: Add gofmt check * fix: Fix the gofmt errors --- .github/workflows/build.yml | 7 + sdk-go/inferable.go | 2 +- sdk-go/internal/client/client.go | 6 +- sdk-go/internal/util/test_util.go | 5 +- sdk-go/internal/util/util.go | 2 +- sdk-go/main_test.go | 147 +++++++++--------- sdk-go/service.go | 44 +++--- sdk-go/service_test.go | 38 +++++ workflows/.github/workflows/build.yml | 36 ----- workflows/.github/workflows/publish.yml | 57 ------- workflows/dotnet/.github/workflows/build.yaml | 34 ---- .../dotnet/.github/workflows/publish.yaml | 75 --------- workflows/go/.github/workflows/build.yml | 36 ----- workflows/go/.github/workflows/publish.yml | 57 ------- workflows/node/.github/workflows/build.yml | 42 ----- workflows/node/.github/workflows/publish.yml | 45 ------ 16 files changed, 154 insertions(+), 479 deletions(-) delete mode 100644 workflows/.github/workflows/build.yml delete mode 100644 workflows/.github/workflows/publish.yml delete mode 100644 workflows/dotnet/.github/workflows/build.yaml delete mode 100644 workflows/dotnet/.github/workflows/publish.yaml delete mode 100644 workflows/go/.github/workflows/build.yml delete mode 100644 workflows/go/.github/workflows/publish.yml delete mode 100644 workflows/node/.github/workflows/build.yml delete mode 100644 workflows/node/.github/workflows/publish.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cd193ff2..aaa378ca 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -151,6 +151,13 @@ jobs: uses: actions/setup-go@v4 with: go-version: "1.22" + - name: Check formatting + run: | + if [ "$(gofmt -l . | wc -l)" -gt 0 ]; then + echo "The following files are not formatted correctly:" + gofmt -l . + exit 1 + fi - name: Get dependencies run: go mod download - name: Build diff --git a/sdk-go/inferable.go b/sdk-go/inferable.go index d40ffdde..febb5aee 100644 --- a/sdk-go/inferable.go +++ b/sdk-go/inferable.go @@ -187,7 +187,7 @@ func (i *Inferable) RegisterService(serviceName string) (*service, error) { func (i *Inferable) getRun(runID string) (*runResult, error) { if i.clusterID == "" { - return nil, fmt.Errorf("Cluster ID must be provided to manage runs") + return nil, fmt.Errorf("cluster ID must be provided to manage runs") } // Prepare headers diff --git a/sdk-go/internal/client/client.go b/sdk-go/internal/client/client.go index f096a5bf..2752ac62 100644 --- a/sdk-go/internal/client/client.go +++ b/sdk-go/internal/client/client.go @@ -73,9 +73,9 @@ func (c *Client) FetchData(options FetchDataOptions) (string, http.Header, error resp, err := c.httpClient.Do(req) if err != nil { - if resp == nil { - return "", nil, fmt.Errorf("error making request: %v", err), -1 - } + if resp == nil { + return "", nil, fmt.Errorf("error making request: %v", err), -1 + } return "", nil, fmt.Errorf("error making request: %v", err), resp.StatusCode } defer resp.Body.Close() diff --git a/sdk-go/internal/util/test_util.go b/sdk-go/internal/util/test_util.go index ac3bf5d2..74717e5b 100644 --- a/sdk-go/internal/util/test_util.go +++ b/sdk-go/internal/util/test_util.go @@ -1,8 +1,9 @@ package util import ( - "github.com/joho/godotenv" "os" + + "github.com/joho/godotenv" ) func GetTestVars() (string, string, string, string) { @@ -17,7 +18,7 @@ func GetTestVars() (string, string, string, string) { apiEndpoint := os.Getenv("INFERABLE_TEST_API_ENDPOINT") if apiEndpoint == "" { - panic("INFERABLE_TEST_API_ENDPOINT is not available") + panic("INFERABLE_TEST_API_ENDPOINT is not available") } if machineSecret == "" { panic("INFERABLE_TEST_API_SECRET is not available") diff --git a/sdk-go/internal/util/util.go b/sdk-go/internal/util/util.go index 67b4500c..2c87da9f 100644 --- a/sdk-go/internal/util/util.go +++ b/sdk-go/internal/util/util.go @@ -11,7 +11,7 @@ import ( ) const ( - MachineIDFile = "inferable_machine_id.json" + MachineIDFile = "inferable_machine_id.json" ) func GetMachineID() string { diff --git a/sdk-go/main_test.go b/sdk-go/main_test.go index 6e5cafb7..66ddf7ba 100644 --- a/sdk-go/main_test.go +++ b/sdk-go/main_test.go @@ -12,7 +12,6 @@ type EchoInput struct { Input string } - func echo(input EchoInput) string { return input.Input } @@ -150,73 +149,81 @@ func TestInferableFunctions(t *testing.T) { // This should match the example in the readme func TestInferableE2E(t *testing.T) { - machineSecret, _, clusterID, apiEndpoint := util.GetTestVars() - - client, err := New(InferableOptions{ - APIEndpoint: apiEndpoint, - APISecret: machineSecret, - ClusterID: clusterID, - }) - - if err != nil { - t.Fatalf("Error creating Inferable instance: %v", err) - } - - didCallSayHello := false - didCallResultHandler := false - - sayHello, err := client.Default.RegisterFunc(Function{ - Func: func(input EchoInput) string { - didCallSayHello = true - return "Hello " + input.Input - }, - Name: "SayHello", - Description: "A simple greeting function", - }) - - resultHandler, err := client.Default.RegisterFunc(Function{ - Func: func(input OnStatusChangeInput) string { - didCallResultHandler = true - fmt.Println("OnStatusChange: ", input) - return "" - }, - Name: "ResultHandler", - }) - - client.Default.Start() - - run, err := client.CreateRun(CreateRunInput{ - Message: "Say hello to John Smith", - AttachedFunctions: []*FunctionReference{ - sayHello, - }, - OnStatusChange: &OnStatusChange{ - Function: resultHandler, - }, - }) - - if err != nil { - panic(err) - } - - fmt.Println("Run started: ", run.ID) - result, err := run.Poll(nil) - if err != nil { - panic(err) - } - fmt.Println("Run Result: ", result) - - time.Sleep(1000 * time.Millisecond) - - if result == nil { - t.Error("Result is nil") - } - - if !didCallSayHello { - t.Error("SayHello function was not called") - } - - if !didCallResultHandler { - t.Error("OnStatusChange function was not called") - } + machineSecret, _, clusterID, apiEndpoint := util.GetTestVars() + + client, err := New(InferableOptions{ + APIEndpoint: apiEndpoint, + APISecret: machineSecret, + ClusterID: clusterID, + }) + + if err != nil { + t.Fatalf("Error creating Inferable instance: %v", err) + } + + didCallSayHello := false + didCallResultHandler := false + + sayHello, err := client.Default.RegisterFunc(Function{ + Func: func(input EchoInput) string { + didCallSayHello = true + return "Hello " + input.Input + }, + Name: "SayHello", + Description: "A simple greeting function", + }) + + if err != nil { + t.Fatalf("Error registering SayHello function: %v", err) + } + + resultHandler, err := client.Default.RegisterFunc(Function{ + Func: func(input OnStatusChangeInput) string { + didCallResultHandler = true + fmt.Println("OnStatusChange: ", input) + return "" + }, + Name: "ResultHandler", + }) + + if err != nil { + t.Fatalf("Error registering ResultHandler function: %v", err) + } + + client.Default.Start() + + run, err := client.CreateRun(CreateRunInput{ + Message: "Say hello to John Smith", + AttachedFunctions: []*FunctionReference{ + sayHello, + }, + OnStatusChange: &OnStatusChange{ + Function: resultHandler, + }, + }) + + if err != nil { + panic(err) + } + + fmt.Println("Run started: ", run.ID) + result, err := run.Poll(nil) + if err != nil { + panic(err) + } + fmt.Println("Run Result: ", result) + + time.Sleep(1000 * time.Millisecond) + + if result == nil { + t.Error("Result is nil") + } + + if !didCallSayHello { + t.Error("SayHello function was not called") + } + + if !didCallResultHandler { + t.Error("OnStatusChange function was not called") + } } diff --git a/sdk-go/service.go b/sdk-go/service.go index 6c002f10..82144f9b 100644 --- a/sdk-go/service.go +++ b/sdk-go/service.go @@ -69,31 +69,31 @@ type FunctionReference struct { // // Example: // -// // Create a new Inferable instance with an API secret -// client := inferable.New(InferableOptions{ -// ApiSecret: "API_SECRET", -// }) +// // Create a new Inferable instance with an API secret +// client := inferable.New(InferableOptions{ +// ApiSecret: "API_SECRET", +// }) // -// // Define and register the service -// service := client.Service("MyService") +// // Define and register the service +// service := client.Service("MyService") // -// sayHello, err := service.RegisterFunc(Function{ -// Func: func(input EchoInput) string { -// didCallSayHello = true -// return "Hello " + input.Input -// }, -// Name: "SayHello", -// Description: "A simple greeting function", -// }) +// sayHello, err := service.RegisterFunc(Function{ +// Func: func(input EchoInput) string { +// didCallSayHello = true +// return "Hello " + input.Input +// }, +// Name: "SayHello", +// Description: "A simple greeting function", +// }) // -// // Start the service -// service.Start() +// // Start the service +// service.Start() // -// // Stop the service on shutdown -// defer service.Stop() +// // Stop the service on shutdown +// defer service.Stop() func (s *service) RegisterFunc(fn Function) (*FunctionReference, error) { if s.isPolling() { - return nil, fmt.Errorf("functions must be registered before starting the service.") + return nil, fmt.Errorf("functions must be registered before starting the service") } if _, exists := s.Functions[fn.Name]; exists { @@ -120,8 +120,12 @@ func (s *service) RegisterFunc(fn Function) (*FunctionReference, error) { // Extract the relevant part of the schema defs, ok := schema.Definitions[argType.Name()] + + // If the definition is not found, use the whole schema. + // This tends to happen for inline structs. + // For example: func(input struct { A int `json:"a"` }) int if !ok { - return nil, fmt.Errorf("failed to find schema definition for %s", argType.Name()) + defs = schema } defsString, err := json.Marshal(defs) diff --git a/sdk-go/service_test.go b/sdk-go/service_test.go index ed2126ac..77e3e9a3 100644 --- a/sdk-go/service_test.go +++ b/sdk-go/service_test.go @@ -52,6 +52,44 @@ func TestRegisterFunc(t *testing.T) { assert.Error(t, err) } +func TestRegisterFuncWithInlineStruct(t *testing.T) { + _, _, _, apiEndpoint := util.GetTestVars() + + i, _ := New(InferableOptions{ + APIEndpoint: apiEndpoint, + APISecret: "test-secret", + }) + service, _ := i.RegisterService("TestService1") + + testFunc := func(input struct { + A int `json:"a"` + B int `json:"b"` + }) int { + return input.A + input.B + } + _, err := service.RegisterFunc(Function{ + Func: testFunc, + Name: "TestFunc", + Description: "Test function", + }) + require.NoError(t, err) + + // Try to register the same function again + _, err = service.RegisterFunc(Function{ + Func: testFunc, + Name: "TestFunc", + }) + assert.Error(t, err) + + // Try to register a function with invalid input + invalidFunc := func(a, b int) int { return a + b } + _, err = service.RegisterFunc(Function{ + Func: invalidFunc, + Name: "InvalidFunc", + }) + assert.Error(t, err) +} + func TestRegistrationAndConfig(t *testing.T) { machineSecret, _, _, apiEndpoint := util.GetTestVars() diff --git a/workflows/.github/workflows/build.yml b/workflows/.github/workflows/build.yml deleted file mode 100644 index f7b4bcef..00000000 --- a/workflows/.github/workflows/build.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: Go Build and Test - -on: - push: - branches: [main] - pull_request: - branches: [main] - -jobs: - build: - name: Build and Test - runs-on: ubuntu-latest - - env: - INFERABLE_API_ENDPOINT: 'https://api.inferable.ai' - INFERABLE_CLUSTER_ID: ${{ vars.INFERABLE_CLUSTER_ID }} - INFERABLE_MACHINE_SECRET: ${{ secrets.INFERABLE_MACHINE_SECRET }} - INFERABLE_CONSUME_SECRET: ${{ secrets.INFERABLE_CONSUME_SECRET }} - - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: "1.22" # Use the Go version specified in your go.mod file - - - name: Get dependencies - run: go mod download - - - name: Build - run: go build -v ./... - - - name: Test - run: go test -v ./... diff --git a/workflows/.github/workflows/publish.yml b/workflows/.github/workflows/publish.yml deleted file mode 100644 index 93ad0cf2..00000000 --- a/workflows/.github/workflows/publish.yml +++ /dev/null @@ -1,57 +0,0 @@ -name: Publish Go Package - -on: - push: - branches: [main] - -jobs: - publish: - name: Publish - runs-on: ubuntu-latest - permissions: - contents: write - steps: - - name: Check out code - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: "1.22" - - - name: Get current version - id: get_version - run: | - VERSION=$(grep -oP 'const Version = "\K[^"]+' inferable.go) - echo "Current version: $VERSION" - echo "current_version=$VERSION" >> $GITHUB_OUTPUT - - - name: Increment patch version - id: increment_version - run: | - IFS='.' read -ra VERSION_PARTS <<< "${{ steps.get_version.outputs.current_version }}" - MAJOR=${VERSION_PARTS[0]} - MINOR=${VERSION_PARTS[1]} - PATCH=$((VERSION_PARTS[2] + 1)) - NEW_VERSION="$MAJOR.$MINOR.$PATCH" - echo "New version: $NEW_VERSION" - echo "new_version=$NEW_VERSION" >> $GITHUB_OUTPUT - - - name: Update version in code - run: | - sed -i 's/const Version = "[^"]*"/const Version = "${{ steps.increment_version.outputs.new_version }}"/' inferable.go - - - name: Commit and push changes - run: | - git config --local user.email "github-actions[bot]@users.noreply.github.com" - git config --local user.name "github-actions[bot]" - git add inferable.go - git commit -m "Bump version to ${{ steps.increment_version.outputs.new_version }}" - git push - - - name: Create Git tag - run: | - git tag v${{ steps.increment_version.outputs.new_version }} - git push origin v${{ steps.increment_version.outputs.new_version }} diff --git a/workflows/dotnet/.github/workflows/build.yaml b/workflows/dotnet/.github/workflows/build.yaml deleted file mode 100644 index 299e3db6..00000000 --- a/workflows/dotnet/.github/workflows/build.yaml +++ /dev/null @@ -1,34 +0,0 @@ -name: Build and Test .NET Project - -on: - pull_request: - branches: - - main - -jobs: - build: - runs-on: windows-latest - - env: - INFERABLE_API_ENDPOINT: 'https://api.inferable.ai' - INFERABLE_CLUSTER_ID: ${{ vars.INFERABLE_CLUSTER_ID }} - INFERABLE_MACHINE_SECRET: ${{ secrets.INFERABLE_MACHINE_SECRET }} - INFERABLE_CONSUME_SECRET: ${{ secrets.INFERABLE_CONSUME_SECRET }} - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Setup .NET - uses: actions/setup-dotnet@v2 - with: - dotnet-version: '8.0' - - - name: Restore dependencies - run: dotnet restore - - - name: Build - run: dotnet build --configuration Release --no-restore - - - name: Test - run: dotnet test --no-restore diff --git a/workflows/dotnet/.github/workflows/publish.yaml b/workflows/dotnet/.github/workflows/publish.yaml deleted file mode 100644 index 2518ab97..00000000 --- a/workflows/dotnet/.github/workflows/publish.yaml +++ /dev/null @@ -1,75 +0,0 @@ -name: Build and Publish .NET Project - -on: - push: - branches: - - main - -jobs: - publish: - runs-on: windows-latest - - env: - INFERABLE_API_ENDPOINT: 'https://api.inferable.ai' - INFERABLE_CLUSTER_ID: ${{ vars.INFERABLE_CLUSTER_ID }} - INFERABLE_MACHINE_SECRET: ${{ secrets.INFERABLE_MACHINE_SECRET }} - INFERABLE_CONSUME_SECRET: ${{ secrets.INFERABLE_CONSUME_SECRET }} - - permissions: - contents: write - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Setup .NET - uses: actions/setup-dotnet@v2 - with: - dotnet-version: '8.0' - - - name: Restore dependencies - run: dotnet restore - - - name: Build - run: dotnet build --configuration Release --no-restore - - - name: Test - run: dotnet test --no-restore - - - name: Pack - run: dotnet pack --configuration Release --no-restore --output ./output - - - name: Setup NuGet - uses: nuget/setup-nuget@v1 - with: - nuget-api-key: ${{ secrets.NUGET_API_KEY }} - nuget-version: latest - - - name: Publish - if: github.ref == 'refs/heads/main' - run: | - dotnet nuget push output\*.nupkg -s https://api.nuget.org/v3/index.json - - - name: Extract version from NuGet package - id: extract_version - shell: pwsh - run: | - # Get the first .nupkg file in the output directory - $nupkg = Get-ChildItem -Path ./output -Filter *.nupkg | Select-Object -First 1 - - # Extract the version from the filename - if ($nupkg) { - $version = $nupkg.Name -replace '^[a-zA-Z0-9.-]+\.([0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9]+)?)\.nupkg$', '$1' - Write-Host "Extracted version: $version" - echo "::set-output name=version::$version" - } else { - Write-Error "No .nupkg file found." - } - - - name: Create release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ steps.extract_version.outputs.version }} - release_name: ${{ steps.extract_version.outputs.version }} diff --git a/workflows/go/.github/workflows/build.yml b/workflows/go/.github/workflows/build.yml deleted file mode 100644 index f7b4bcef..00000000 --- a/workflows/go/.github/workflows/build.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: Go Build and Test - -on: - push: - branches: [main] - pull_request: - branches: [main] - -jobs: - build: - name: Build and Test - runs-on: ubuntu-latest - - env: - INFERABLE_API_ENDPOINT: 'https://api.inferable.ai' - INFERABLE_CLUSTER_ID: ${{ vars.INFERABLE_CLUSTER_ID }} - INFERABLE_MACHINE_SECRET: ${{ secrets.INFERABLE_MACHINE_SECRET }} - INFERABLE_CONSUME_SECRET: ${{ secrets.INFERABLE_CONSUME_SECRET }} - - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: "1.22" # Use the Go version specified in your go.mod file - - - name: Get dependencies - run: go mod download - - - name: Build - run: go build -v ./... - - - name: Test - run: go test -v ./... diff --git a/workflows/go/.github/workflows/publish.yml b/workflows/go/.github/workflows/publish.yml deleted file mode 100644 index 93ad0cf2..00000000 --- a/workflows/go/.github/workflows/publish.yml +++ /dev/null @@ -1,57 +0,0 @@ -name: Publish Go Package - -on: - push: - branches: [main] - -jobs: - publish: - name: Publish - runs-on: ubuntu-latest - permissions: - contents: write - steps: - - name: Check out code - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: "1.22" - - - name: Get current version - id: get_version - run: | - VERSION=$(grep -oP 'const Version = "\K[^"]+' inferable.go) - echo "Current version: $VERSION" - echo "current_version=$VERSION" >> $GITHUB_OUTPUT - - - name: Increment patch version - id: increment_version - run: | - IFS='.' read -ra VERSION_PARTS <<< "${{ steps.get_version.outputs.current_version }}" - MAJOR=${VERSION_PARTS[0]} - MINOR=${VERSION_PARTS[1]} - PATCH=$((VERSION_PARTS[2] + 1)) - NEW_VERSION="$MAJOR.$MINOR.$PATCH" - echo "New version: $NEW_VERSION" - echo "new_version=$NEW_VERSION" >> $GITHUB_OUTPUT - - - name: Update version in code - run: | - sed -i 's/const Version = "[^"]*"/const Version = "${{ steps.increment_version.outputs.new_version }}"/' inferable.go - - - name: Commit and push changes - run: | - git config --local user.email "github-actions[bot]@users.noreply.github.com" - git config --local user.name "github-actions[bot]" - git add inferable.go - git commit -m "Bump version to ${{ steps.increment_version.outputs.new_version }}" - git push - - - name: Create Git tag - run: | - git tag v${{ steps.increment_version.outputs.new_version }} - git push origin v${{ steps.increment_version.outputs.new_version }} diff --git a/workflows/node/.github/workflows/build.yml b/workflows/node/.github/workflows/build.yml deleted file mode 100644 index d2dc56eb..00000000 --- a/workflows/node/.github/workflows/build.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Build and Test - -on: - push: - branches: - - main - pull_request: - branches: - - main - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build-and-test: - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Set up Node.js - uses: actions/setup-node@v2 - with: - node-version: 20 - cache: 'npm' - - - name: Install dependencies - run: npm ci - - - name: Build packages - run: npm run build - - - name: Run tests - run: npm run test - env: - INFERABLE_API_ENDPOINT: 'https://api.inferable.ai' - INFERABLE_CLUSTER_ID: ${{ vars.INFERABLE_CLUSTER_ID }} - INFERABLE_MACHINE_SECRET: ${{ secrets.INFERABLE_MACHINE_SECRET }} - INFERABLE_CONSUME_SECRET: ${{ secrets.INFERABLE_CONSUME_SECRET }} - diff --git a/workflows/node/.github/workflows/publish.yml b/workflows/node/.github/workflows/publish.yml deleted file mode 100644 index 8d4135e0..00000000 --- a/workflows/node/.github/workflows/publish.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Publish - -on: - workflow_run: - workflows: - - Build and Test - types: - - completed - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build-and-publish: - if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.head_branch == 'main' }} - runs-on: ubuntu-latest - - permissions: - contents: write - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Install dependencies on root - run: npm ci - - - name: Build packages - run: npm run build - - - name: Configure Git User - run: | - git config --global user.name "Inferable CI" - git config --global user.email "ci@inferable.ai" - - - name: Release It - run: | - npm config set //registry.npmjs.org/:_authToken $NPM_TOKEN - npx release-it --npm.skipChecks - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} From 2379fcb52b9c05ad6605e9a0a93db6304fbfad81 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 2 Nov 2024 04:42:43 +0000 Subject: [PATCH 02/36] Bump sdk-go version to 0.1.23 --- sdk-go/inferable.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk-go/inferable.go b/sdk-go/inferable.go index febb5aee..23da9d17 100644 --- a/sdk-go/inferable.go +++ b/sdk-go/inferable.go @@ -13,7 +13,7 @@ import ( ) // Version of the inferable package -const Version = "0.1.22" +const Version = "0.1.23" const ( DefaultAPIEndpoint = "https://api.inferable.ai" From 9352d9e5983339b986ecd06dfdff42a2d0b3baf2 Mon Sep 17 00:00:00 2001 From: Nadeesha Cabral Date: Sat, 2 Nov 2024 19:15:57 +1100 Subject: [PATCH 03/36] feat: Add reasoning traces and call summarization options (#31) --- sdk-go/inferable.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sdk-go/inferable.go b/sdk-go/inferable.go index 23da9d17..d9d62e39 100644 --- a/sdk-go/inferable.go +++ b/sdk-go/inferable.go @@ -93,6 +93,8 @@ type CreateRunInput struct { ResultSchema interface{} `json:"resultSchema,omitempty"` Metadata map[string]string `json:"metadata,omitempty"` Template *RunTemplate `json:"template,omitempty"` + ReasoningTraces bool `json:"reasoningTraces,omitempty"` + CallSummarization bool `json:"callSummarization,omitempty"` } type PollOptions struct { From 3714a779ebd6f7f311380ba4f12bfba197261d4d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 2 Nov 2024 08:17:39 +0000 Subject: [PATCH 04/36] Bump sdk-go version to 0.1.24 --- sdk-go/inferable.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk-go/inferable.go b/sdk-go/inferable.go index d9d62e39..05bbf990 100644 --- a/sdk-go/inferable.go +++ b/sdk-go/inferable.go @@ -13,7 +13,7 @@ import ( ) // Version of the inferable package -const Version = "0.1.23" +const Version = "0.1.24" const ( DefaultAPIEndpoint = "https://api.inferable.ai" From 5ad865bd77f5cec42e5bc54bd610f5f22d7a2647 Mon Sep 17 00:00:00 2001 From: Nadeesha Cabral Date: Sat, 2 Nov 2024 19:55:06 +1100 Subject: [PATCH 05/36] chore: Remove omitempty' from boolean fields in CreateRunInput (#32) --- sdk-go/inferable.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk-go/inferable.go b/sdk-go/inferable.go index 05bbf990..f9b142fd 100644 --- a/sdk-go/inferable.go +++ b/sdk-go/inferable.go @@ -93,8 +93,8 @@ type CreateRunInput struct { ResultSchema interface{} `json:"resultSchema,omitempty"` Metadata map[string]string `json:"metadata,omitempty"` Template *RunTemplate `json:"template,omitempty"` - ReasoningTraces bool `json:"reasoningTraces,omitempty"` - CallSummarization bool `json:"callSummarization,omitempty"` + ReasoningTraces bool `json:"reasoningTraces"` + CallSummarization bool `json:"callSummarization"` } type PollOptions struct { From 8b85ed8647d05d335c048ddae8e798d22233d7ed Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 2 Nov 2024 08:56:43 +0000 Subject: [PATCH 06/36] Bump sdk-go version to 0.1.25 --- sdk-go/inferable.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk-go/inferable.go b/sdk-go/inferable.go index f9b142fd..37edf99b 100644 --- a/sdk-go/inferable.go +++ b/sdk-go/inferable.go @@ -13,7 +13,7 @@ import ( ) // Version of the inferable package -const Version = "0.1.24" +const Version = "0.1.25" const ( DefaultAPIEndpoint = "https://api.inferable.ai" From a654f9704927bf7798da56ca9239d7111fbd5ace Mon Sep 17 00:00:00 2001 From: Nadeesha Cabral Date: Sun, 3 Nov 2024 12:51:53 +1100 Subject: [PATCH 07/36] fix: Add reasoning traces and call summarization properties (#33) * feat: Add reasoning traces and call summarization properties * update * update --- sdk-dotnet/src/API/Models.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sdk-dotnet/src/API/Models.cs b/sdk-dotnet/src/API/Models.cs index 87db3bf8..ede8b47c 100644 --- a/sdk-dotnet/src/API/Models.cs +++ b/sdk-dotnet/src/API/Models.cs @@ -156,6 +156,18 @@ public struct CreateRunInput JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull) ] public OnStatusChange? OnStatusChange { get; set; } + + [ + JsonPropertyName("reasoningTraces"), + JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull) + ] + public bool? ReasoningTraces { get; set; } + + [ + JsonPropertyName("callSummarization"), + JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull) + ] + public bool? CallSummarization { get; set; } } public struct OnStatusChange From 1998d9e151d4e55ceb2998095e97af1991ef62fb Mon Sep 17 00:00:00 2001 From: John Smith Date: Mon, 4 Nov 2024 08:32:21 +1030 Subject: [PATCH 08/36] chore(sdk-node): Evaluate clusterId lazily (#36) --- sdk-go/inferable.go | 114 +++++++++++++++++++++++++++++++++++++++----- sdk-go/main_test.go | 3 +- sdk-go/service.go | 97 ++++++------------------------------- 3 files changed, 118 insertions(+), 96 deletions(-) diff --git a/sdk-go/inferable.go b/sdk-go/inferable.go index 37edf99b..307f8385 100644 --- a/sdk-go/inferable.go +++ b/sdk-go/inferable.go @@ -63,7 +63,6 @@ type InferableOptions struct { APIEndpoint string APISecret string MachineID string - ClusterID string } // Struct type that will be returned to a Run's OnStatusChange Function @@ -128,7 +127,6 @@ func New(options InferableOptions) (*Inferable, error) { client: client, apiEndpoint: options.APIEndpoint, apiSecret: options.APISecret, - clusterID: options.ClusterID, functionRegistry: functionRegistry{services: make(map[string]*service)}, machineID: machineID, } @@ -178,6 +176,7 @@ func (i *Inferable) RegisterService(serviceName string) (*service, error) { if _, exists := i.functionRegistry.services[serviceName]; exists { return nil, fmt.Errorf("service with name '%s' already registered", serviceName) } + service := &service{ Name: serviceName, Functions: make(map[string]Function), @@ -188,10 +187,6 @@ func (i *Inferable) RegisterService(serviceName string) (*service, error) { } func (i *Inferable) getRun(runID string) (*runResult, error) { - if i.clusterID == "" { - return nil, fmt.Errorf("cluster ID must be provided to manage runs") - } - // Prepare headers headers := map[string]string{ "Authorization": "Bearer " + i.apiSecret, @@ -200,8 +195,13 @@ func (i *Inferable) getRun(runID string) (*runResult, error) { "X-Machine-SDK-Language": "go", } + clusterId, err := i.getClusterId() + if err != nil { + return nil, fmt.Errorf("failed to get cluster id: %v", err) + } + options := client.FetchDataOptions{ - Path: fmt.Sprintf("/clusters/%s/runs/%s", i.clusterID, runID), + Path: fmt.Sprintf("/clusters/%s/runs/%s", clusterId, runID), Method: "GET", Headers: headers, } @@ -250,8 +250,9 @@ func (i *Inferable) getRun(runID string) (*runResult, error) { // // fmt.Println("Run result:", result) func (i *Inferable) CreateRun(input CreateRunInput) (*runReference, error) { - if i.clusterID == "" { - return nil, fmt.Errorf("cluster ID must be provided to manage runs") + clusterId, err := i.getClusterId() + if err != nil { + return nil, fmt.Errorf("failed to get cluster id: %v", err) } // Marshal the payload to JSON @@ -268,9 +269,8 @@ func (i *Inferable) CreateRun(input CreateRunInput) (*runReference, error) { "X-Machine-SDK-Language": "go", } - // Call the registerMachine endpoint options := client.FetchDataOptions{ - Path: fmt.Sprintf("/clusters/%s/runs", i.clusterID), + Path: fmt.Sprintf("/clusters/%s/runs", clusterId), Method: "POST", Headers: headers, Body: string(jsonPayload), @@ -420,3 +420,95 @@ func (i *Inferable) serverOk() error { return nil } + +func (i *Inferable) getClusterId() (string, error) { + if i.clusterID == "" { + clusterId, err := i.registerMachine(nil) + if err != nil { + return "", fmt.Errorf("failed to register machine: %v", err) + } + + i.clusterID = clusterId + } + + return i.clusterID, nil +} + +func (i *Inferable) registerMachine(s *service) (string, error) { + + // Prepare the payload for registration + payload := struct { + Service string `json:"service,omitempty"` + Functions []struct { + Name string `json:"name"` + Description string `json:"description,omitempty"` + Schema string `json:"schema,omitempty"` + } `json:"functions,omitempty"` + }{} + + if s != nil { + payload.Service = s.Name + + // Check if there are any registered functions + if len(s.Functions) == 0 { + return "", fmt.Errorf("cannot register service '%s': no functions registered", s.Name) + } + + // Add registered functions to the payload + for _, fn := range s.Functions { + schemaJSON, err := json.Marshal(fn.schema) + if err != nil { + return "", fmt.Errorf("failed to marshal schema for function '%s': %v", fn.Name, err) + } + + payload.Functions = append(payload.Functions, struct { + Name string `json:"name"` + Description string `json:"description,omitempty"` + Schema string `json:"schema,omitempty"` + }{ + Name: fn.Name, + Description: fn.Description, + Schema: string(schemaJSON), + }) + } + } + + // Marshal the payload to JSON + jsonPayload, err := json.Marshal(payload) + if err != nil { + return "", fmt.Errorf("failed to marshal payload: %v", err) + } + + // Prepare headers + headers := map[string]string{ + "Authorization": "Bearer " + i.apiSecret, + "X-Machine-ID": i.machineID, + "X-Machine-SDK-Version": Version, + "X-Machine-SDK-Language": "go", + } + + // Call the registerMachine endpoint + options := client.FetchDataOptions{ + Path: "/machines", + Method: "POST", + Headers: headers, + Body: string(jsonPayload), + } + + responseData, _, err, _ := i.fetchData(options) + if err != nil { + return "", fmt.Errorf("failed to register machine: %v", err) + } + + // Parse the response + var response struct { + ClusterId string `json:"clusterId"` + } + + err = json.Unmarshal(responseData, &response) + if err != nil { + return "", fmt.Errorf("failed to parse registration response: %v", err) + } + + return response.ClusterId, nil +} diff --git a/sdk-go/main_test.go b/sdk-go/main_test.go index 66ddf7ba..f8a05b7c 100644 --- a/sdk-go/main_test.go +++ b/sdk-go/main_test.go @@ -149,12 +149,11 @@ func TestInferableFunctions(t *testing.T) { // This should match the example in the readme func TestInferableE2E(t *testing.T) { - machineSecret, _, clusterID, apiEndpoint := util.GetTestVars() + machineSecret, _, _, apiEndpoint := util.GetTestVars() client, err := New(InferableOptions{ APIEndpoint: apiEndpoint, APISecret: machineSecret, - ClusterID: clusterID, }) if err != nil { diff --git a/sdk-go/service.go b/sdk-go/service.go index 82144f9b..545a5bfb 100644 --- a/sdk-go/service.go +++ b/sdk-go/service.go @@ -32,7 +32,6 @@ type service struct { Name string Functions map[string]Function inferable *Inferable - clusterId string ctx context.Context cancel context.CancelFunc retryAfter int @@ -144,87 +143,9 @@ func (s *service) RegisterFunc(fn Function) (*FunctionReference, error) { return &FunctionReference{Service: s.Name, Function: fn.Name}, nil } -func (s *service) registerMachine() error { - // Check if there are any registered functions - if len(s.Functions) == 0 { - return fmt.Errorf("cannot register service '%s': no functions registered", s.Name) - } - - // Prepare the payload for registration - payload := struct { - Service string `json:"service"` - Functions []struct { - Name string `json:"name"` - Description string `json:"description,omitempty"` - Schema string `json:"schema,omitempty"` - } `json:"functions,omitempty"` - }{ - Service: s.Name, - } - - // Add registered functions to the payload - for _, fn := range s.Functions { - schemaJSON, err := json.Marshal(fn.schema) - if err != nil { - return fmt.Errorf("failed to marshal schema for function '%s': %v", fn.Name, err) - } - - payload.Functions = append(payload.Functions, struct { - Name string `json:"name"` - Description string `json:"description,omitempty"` - Schema string `json:"schema,omitempty"` - }{ - Name: fn.Name, - Description: fn.Description, - Schema: string(schemaJSON), - }) - } - - // Marshal the payload to JSON - jsonPayload, err := json.Marshal(payload) - if err != nil { - return fmt.Errorf("failed to marshal payload: %v", err) - } - - // Prepare headers - headers := map[string]string{ - "Authorization": "Bearer " + s.inferable.apiSecret, - "X-Machine-ID": s.inferable.machineID, - "X-Machine-SDK-Version": Version, - "X-Machine-SDK-Language": "go", - } - - // Call the registerMachine endpoint - options := client.FetchDataOptions{ - Path: "/machines", - Method: "POST", - Headers: headers, - Body: string(jsonPayload), - } - - responseData, _, err, _ := s.inferable.fetchData(options) - if err != nil { - return fmt.Errorf("failed to register machine: %v", err) - } - - // Parse the response - var response struct { - ClusterId string `json:"clusterId"` - } - - err = json.Unmarshal(responseData, &response) - if err != nil { - return fmt.Errorf("failed to parse registration response: %v", err) - } - - s.clusterId = response.ClusterId - - return nil -} - // Start initializes the service, registers the machine, and starts polling for messages func (s *service) Start() error { - err := s.registerMachine() + _, err := s.inferable.registerMachine(s) if err != nil { return fmt.Errorf("failed to register machine: %v", err) } @@ -277,8 +198,13 @@ func (s *service) poll() error { "X-Machine-SDK-Language": "go", } + clusterId, err := s.inferable.getClusterId() + if err != nil { + return fmt.Errorf("failed to get cluster id: %v", err) + } + options := client.FetchDataOptions{ - Path: fmt.Sprintf("/clusters/%s/calls?acknowledge=true&service=%s&status=pending&limit=10", s.clusterId, s.Name), + Path: fmt.Sprintf("/clusters/%s/calls?acknowledge=true&service=%s&status=pending&limit=10", clusterId, s.Name), Method: "GET", Headers: headers, } @@ -286,7 +212,7 @@ func (s *service) poll() error { result, respHeaders, err, status := s.inferable.fetchData(options) if status == 410 { - s.registerMachine() + s.inferable.registerMachine(s) } if err != nil { @@ -394,8 +320,13 @@ func (s *service) persistJobResult(jobID string, result callResult) error { "X-Machine-SDK-Language": "go", } + clusterId, err := s.inferable.getClusterId() + if err != nil { + return fmt.Errorf("failed to get cluster id: %v", err) + } + options := client.FetchDataOptions{ - Path: fmt.Sprintf("/clusters/%s/calls/%s/result", s.clusterId, jobID), + Path: fmt.Sprintf("/clusters/%s/calls/%s/result", clusterId, jobID), Method: "POST", Headers: headers, Body: string(payloadJSON), From 0a4a0c27fdcffa30dc277b257d291ba68d9787ad Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 3 Nov 2024 22:03:47 +0000 Subject: [PATCH 09/36] Bump sdk-go version to 0.1.26 --- sdk-go/inferable.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk-go/inferable.go b/sdk-go/inferable.go index 307f8385..01cb03a2 100644 --- a/sdk-go/inferable.go +++ b/sdk-go/inferable.go @@ -13,7 +13,7 @@ import ( ) // Version of the inferable package -const Version = "0.1.25" +const Version = "0.1.26" const ( DefaultAPIEndpoint = "https://api.inferable.ai" From 111750069a4f9a10d8887c032e943ea4a135ed92 Mon Sep 17 00:00:00 2001 From: John Smith Date: Mon, 4 Nov 2024 09:04:33 +1030 Subject: [PATCH 10/36] chore(sdk-dotnet): Evaluate clusterId lazily (#37) --- sdk-dotnet/src/API/Models.cs | 14 +++++++--- sdk-dotnet/src/Inferable.cs | 27 ++++++++++--------- sdk-dotnet/src/Service.cs | 11 ++++---- .../tests/Inferable.Tests/InferableTest.cs | 1 - 4 files changed, 30 insertions(+), 23 deletions(-) diff --git a/sdk-dotnet/src/API/Models.cs b/sdk-dotnet/src/API/Models.cs index ede8b47c..009483a0 100644 --- a/sdk-dotnet/src/API/Models.cs +++ b/sdk-dotnet/src/API/Models.cs @@ -19,10 +19,16 @@ public override void Write(Utf8JsonWriter writer, JsonSchema value, JsonSerializ public struct CreateMachineInput { - [JsonPropertyName("service")] - public required string Service { get; set; } - [JsonPropertyName("functions")] - public required List Functions { get; set; } + [ + JsonPropertyName("service"), + JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull) + ] + public string Service { get; set; } + [ + JsonPropertyName("functions"), + JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull) + ] + public List Functions { get; set; } } public struct CreateMachineResult diff --git a/sdk-dotnet/src/Inferable.cs b/sdk-dotnet/src/Inferable.cs index cc9a4869..9949d0b1 100644 --- a/sdk-dotnet/src/Inferable.cs +++ b/sdk-dotnet/src/Inferable.cs @@ -37,7 +37,6 @@ public class InferableOptions public string? BaseUrl { get; set; } public string? ApiSecret { get; set; } public string? MachineId { get; set; } - public string? ClusterId { get; set; } } public struct PollRunOptions @@ -68,7 +67,7 @@ public class InferableClient private readonly ApiClient _client; private readonly ILogger _logger; - private readonly string? _clusterId; + private string? _clusterId; // Dictionary of service name to list of functions private Dictionary> _functionRegistry = new Dictionary>(); @@ -128,7 +127,6 @@ public InferableClient(InferableOptions? options = null, ILogger async public Task CreateRunAsync(CreateRunInput input) { - if (this._clusterId == null) { - throw new ArgumentException("Cluster ID must be provided to manage runs"); - } - - var result = await this._client.CreateRunAsync(this._clusterId, input); + var clusterId = await this.GetClusterId(); + var result = await this._client.CreateRunAsync(clusterId, input); return new RunReference { ID = result.ID, @@ -217,7 +212,7 @@ async public Task CreateRunAsync(CreateRunInput input) var start = DateTime.Now; var end = start + MaxWaitTime; while (DateTime.Now < end) { - var pollResult = await this._client.GetRun(this._clusterId, result.ID); + var pollResult = await this._client.GetRun(clusterId, result.ID); var transientStates = new List { "paused", "pending", "running" }; if (transientStates.Contains(pollResult.Status)) { @@ -295,7 +290,7 @@ internal async Task StartServiceAsync(string name) { var functions = this._functionRegistry[name]; - var service = new Service(name, this._client, this._logger, functions); + var service = new Service(name, await this.GetClusterId(), this._client, this._logger, functions); this._services.Add(service); await service.Start(); @@ -308,6 +303,16 @@ internal async Task StopServiceAsync(string name) { } await existing.Stop(); } + + internal async Task GetClusterId() { + if (this._clusterId == null) { + // Call register machine without any services to test API key and get clusterId + var registerResult = await _client.CreateMachine(new CreateMachineInput {}); + this._clusterId = registerResult.ClusterId; + } + + return this._clusterId; + } } public struct RegisteredService @@ -357,6 +362,4 @@ async public Task StopAsync() { await this._inferable.StopServiceAsync(this._name); } } - - } diff --git a/sdk-dotnet/src/Service.cs b/sdk-dotnet/src/Service.cs index 9c8cbcbd..fb6c89c3 100644 --- a/sdk-dotnet/src/Service.cs +++ b/sdk-dotnet/src/Service.cs @@ -13,7 +13,7 @@ internal class Service static int DEFAULT_RETRY_AFTER_SECONDS = 10; private string _name; - private string? _clusterId; + private string _clusterId; private bool _polling = false; private int _retryAfter = DEFAULT_RETRY_AFTER_SECONDS; @@ -23,10 +23,11 @@ internal class Service private List _functions = new List(); - internal Service(string name, ApiClient client, ILogger? logger, List functions) + internal Service(string name, string clusterId, ApiClient client, ILogger? logger, List functions) { this._name = name; this._functions = functions; + this._clusterId = clusterId; this._client = client; this._logger = logger ?? NullLogger.Instance; @@ -51,7 +52,7 @@ internal bool Polling async internal Task Start() { this._logger.LogDebug("Starting service '{name}'", this._name); - this._clusterId = await RegisterMachine(); + await RegisterMachine(); // Purposely not awaiting _ = this.runLoop(); @@ -131,7 +132,7 @@ async private Task pollIteration() _logger.LogDebug($"Polling service {this._name}"); } - async private Task RegisterMachine() + async private Task RegisterMachine() { this._logger.LogDebug("Registering machine"); var functions = new List(); @@ -152,8 +153,6 @@ async private Task RegisterMachine() Service = this._name, Functions = functions }); - - return registerResult.ClusterId; } } } diff --git a/sdk-dotnet/tests/Inferable.Tests/InferableTest.cs b/sdk-dotnet/tests/Inferable.Tests/InferableTest.cs index 81cdae5e..f4d64e49 100644 --- a/sdk-dotnet/tests/Inferable.Tests/InferableTest.cs +++ b/sdk-dotnet/tests/Inferable.Tests/InferableTest.cs @@ -35,7 +35,6 @@ static InferableClient CreateInferableClient() return new InferableClient(new InferableOptions { ApiSecret = System.Environment.GetEnvironmentVariable("INFERABLE_TEST_API_SECRET")!, BaseUrl = System.Environment.GetEnvironmentVariable("INFERABLE_TEST_API_ENDPOINT")!, - ClusterId = System.Environment.GetEnvironmentVariable("INFERABLE_TEST_CLUSTER_ID")!, }, logger); } From e2618bae84b8677a3379f42a46cfa492febe040e Mon Sep 17 00:00:00 2001 From: John Smith Date: Mon, 4 Nov 2024 09:09:35 +1030 Subject: [PATCH 11/36] chore: Add dependabot config (#38) --- .github/dependabot.yml | 43 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..53411f0f --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,43 @@ +version: 2 +updates: + - package-ecosystem: "nuget" + directory: "/bootstrap-dotnet" + schedule: + interval: "weekly" + open-pull-requests-limit: 10 + + - package-ecosystem: "nuget" + directory: "/sdk-dotnet" + schedule: + interval: "weekly" + open-pull-requests-limit: 10 + + - package-ecosystem: "gomod" + directory: "/bootstrap-go" + schedule: + interval: "weekly" + open-pull-requests-limit: 10 + + - package-ecosystem: "gomod" + directory: "/sdk-go" + schedule: + interval: "weekly" + open-pull-requests-limit: 10 + + - package-ecosystem: "npm" + directory: "/bootstrap-node" + schedule: + interval: "weekly" + open-pull-requests-limit: 10 + + - package-ecosystem: "npm" + directory: "/sdk-node" + schedule: + interval: "weekly" + open-pull-requests-limit: 10 + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 10 From 54d3abc07df83b26285c12e47decbdf94ca51220 Mon Sep 17 00:00:00 2001 From: John Smith Date: Mon, 4 Nov 2024 09:10:21 +1030 Subject: [PATCH 12/36] chore(sdk-node): Evaluate clusterId lazily (#35) * chore(sdk-node): Evaluate clusterId lazily chore: Format sdk-go * chore(sdk-node): retry e2e test --- sdk-node/src/Inferable.test.ts | 1 + sdk-node/src/Inferable.ts | 23 +++++--- sdk-node/src/contract.ts | 3 +- sdk-node/src/service.ts | 100 +++++++++++++++++---------------- sdk-node/src/tests/utils.ts | 1 - 5 files changed, 69 insertions(+), 59 deletions(-) diff --git a/sdk-node/src/Inferable.test.ts b/sdk-node/src/Inferable.test.ts index f26a6e7e..9df2e0ef 100644 --- a/sdk-node/src/Inferable.test.ts +++ b/sdk-node/src/Inferable.test.ts @@ -240,6 +240,7 @@ describe("Functions", () => { // This should match the example in the readme describe("Inferable SDK End to End Test", () => { + jest.retryTimes(3); it("should trigger a run, call a function, and call a status change function", async () => { const client = inferableInstance(); diff --git a/sdk-node/src/Inferable.ts b/sdk-node/src/Inferable.ts index 497f6ec6..1704460b 100644 --- a/sdk-node/src/Inferable.ts +++ b/sdk-node/src/Inferable.ts @@ -6,7 +6,7 @@ import { createApiClient } from "./create-client"; import { InferableError } from "./errors"; import * as links from "./links"; import { machineId } from "./machine-id"; -import { Service } from "./service"; +import { Service, registerMachine } from "./service"; import { FunctionConfig, FunctionInput, @@ -112,7 +112,6 @@ export class Inferable { constructor(options?: { apiSecret?: string; endpoint?: string; - clusterId?: string; }) { if (options?.apiSecret && process.env.INFERABLE_API_SECRET) { log( @@ -120,8 +119,6 @@ export class Inferable { ); } - this.clusterId = options?.clusterId || process.env.INFERABLE_CLUSTER_ID; - const apiSecret = options?.apiSecret || process.env.INFERABLE_API_SECRET; if (!apiSecret) { @@ -219,9 +216,6 @@ export class Inferable { * ``` */ public async run(input: RunInput) { - if (!this.clusterId) { - throw new InferableError("Cluster ID must be provided to manage runs"); - } let resultSchema: JsonSchemaInput | undefined; @@ -235,7 +229,7 @@ export class Inferable { if (input.id) { runResult = await this.client.getRun({ params: { - clusterId: this.clusterId, + clusterId: await this.getClusterId(), runId: input.id, }, }); @@ -249,7 +243,7 @@ export class Inferable { } else { runResult = await this.client.createRun({ params: { - clusterId: this.clusterId, + clusterId: await this.getClusterId(), }, body: { ...input, @@ -392,6 +386,7 @@ export class Inferable { machineId: this.machineId, apiSecret: this.apiSecret, service: input.name, + clusterId: await this.getClusterId(), functions: Object.values(this.functionRegistry).filter( (f) => f.serviceName == input.name, ), @@ -505,4 +500,14 @@ export class Inferable { this.functionRegistry[registration.name] = registration; } + + private async getClusterId() { + if (!this.clusterId) { + // Call register machine without any services to test API key and get clusterId + const registerResult = await registerMachine(this.client); + this.clusterId = registerResult.clusterId; + } + + return this.clusterId! + } } diff --git a/sdk-node/src/contract.ts b/sdk-node/src/contract.ts index 765bbfcb..51f4340d 100644 --- a/sdk-node/src/contract.ts +++ b/sdk-node/src/contract.ts @@ -131,7 +131,7 @@ export const definition = { ...machineHeaders, }), body: z.object({ - service: z.string(), + service: z.string().optional(), functions: z .array( z.object({ @@ -564,7 +564,6 @@ export const definition = { status: z .enum(["pending", "running", "paused", "done", "failed"]) .nullable(), - parentWorkflowId: z.string().nullable(), test: z.boolean(), promptTemplateId: z.string().nullable(), promptTemplateVersion: z.number().nullable(), diff --git a/sdk-node/src/service.ts b/sdk-node/src/service.ts index b32dcac9..48386244 100644 --- a/sdk-node/src/service.ts +++ b/sdk-node/src/service.ts @@ -20,7 +20,7 @@ type CallMessage = { export class Service { public name: string; - public clusterId: string | null = null; + public clusterId: string; public polling = false; private functions: FunctionRegistration[] = []; @@ -34,6 +34,7 @@ export class Service { machineId: string; apiSecret: string; service: string; + clusterId: string; functions: FunctionRegistration[]; }) { this.name = options.service; @@ -45,20 +46,19 @@ export class Service { }); this.functions = options.functions; + + this.clusterId = options.clusterId; } - public async start(): Promise<{ clusterId: string }> { + public async start() { log("Starting polling service", { service: this.name }); - const { clusterId } = await this.registerMachine(); - - this.clusterId = clusterId; + await registerMachine(this.client, { + name: this.name, + functions: this.functions, + }); // Purposefully not awaited this.runLoop(); - - return { - clusterId, - }; } public async stop(): Promise { @@ -66,43 +66,6 @@ export class Service { this.polling = false; } - private async registerMachine(): Promise<{ - clusterId: string; - }> { - log("registering machine", { - service: this.name, - functions: this.functions.map((f) => f.name), - }); - - const registerResult = await this.client.createMachine({ - headers: { - "x-sentinel-no-mask": "1", - }, - body: { - service: this.name, - functions: this.functions.map((func) => ({ - name: func.name, - description: func.description, - schema: func.schema.inputJson, - config: func.config, - })), - }, - }); - - if (registerResult?.status !== 200) { - log("Failed to register machine", registerResult); - - throw new InferableError("Failed to register machine", { - status: registerResult.status, - body: registerResult.body, - }); - } - - return { - clusterId: registerResult.body.clusterId, - }; - } - private async runLoop() { this.polling = true; @@ -151,7 +114,10 @@ export class Service { } if (pollResult?.status === 410) { - await this.registerMachine(); + await registerMachine(this.client, { + name: this.name, + functions: this.functions, + }); } if (pollResult?.status !== 200) { @@ -309,3 +275,43 @@ export class Service { await onComplete(result); } } + +export const registerMachine = async (client: ReturnType, + service?: { + name: string; + functions: FunctionRegistration[]; + }) => { + log("registering machine", { + service: service?.name, + functions: service?.functions.map((f) => f.name), + }); + + const registerResult = await client.createMachine({ + headers: { + "x-sentinel-no-mask": "1", + }, + body: { + service: service?.name, + functions: service?.functions.map((func) => ({ + name: func.name, + description: func.description, + schema: func.schema.inputJson, + config: func.config, + })), + }, + }); + + if (registerResult?.status !== 200) { + log("Failed to register machine", registerResult); + + throw new InferableError("Failed to register machine", { + status: registerResult.status, + body: registerResult.body, + }); + } + + return { + clusterId: registerResult.body.clusterId, + }; +} + diff --git a/sdk-node/src/tests/utils.ts b/sdk-node/src/tests/utils.ts index 9828492c..9a9f3293 100644 --- a/sdk-node/src/tests/utils.ts +++ b/sdk-node/src/tests/utils.ts @@ -30,5 +30,4 @@ export const inferableInstance = () => new Inferable({ apiSecret: TEST_API_SECRET, endpoint: TEST_ENDPOINT, - clusterId: TEST_CLUSTER_ID, }); From f032f947935a166b2a8def1fdcbb4c36317c3fec Mon Sep 17 00:00:00 2001 From: John Smith Date: Mon, 4 Nov 2024 09:19:37 +1030 Subject: [PATCH 13/36] chore(sdk-dotnet): Bump package version (#65) --- sdk-dotnet/src/Inferable.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk-dotnet/src/Inferable.csproj b/sdk-dotnet/src/Inferable.csproj index 5a95882a..47cdaa64 100644 --- a/sdk-dotnet/src/Inferable.csproj +++ b/sdk-dotnet/src/Inferable.csproj @@ -6,7 +6,7 @@ enable Inferable - 0.0.13 + 0.0.14 Inferable Inferable Client library for interacting with the Inferable API From c0050ba9d0505bc812a2803172501c9f40896e90 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 09:20:11 +1030 Subject: [PATCH 14/36] chore(deps): Bump github.com/inferablehq/inferable/sdk-go from 0.1.20 to 0.1.26 in /bootstrap-go (#46) * chore(deps): Bump github.com/inferablehq/inferable/sdk-go Bumps [github.com/inferablehq/inferable/sdk-go](https://github.com/inferablehq/inferable) from 0.1.20 to 0.1.26. - [Commits](https://github.com/inferablehq/inferable/compare/sdk-go/v0.1.20...sdk-go/v0.1.26) --- updated-dependencies: - dependency-name: github.com/inferablehq/inferable/sdk-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * [skip ci] Update bootstrap project archives --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> --- archives/bootstrap-dotnet.zip | Bin 4922 -> 4922 bytes archives/bootstrap-go.zip | Bin 5996093 -> 5996096 bytes archives/bootstrap-node.zip | Bin 6963 -> 6963 bytes bootstrap-go/go.mod | 2 +- bootstrap-go/go.sum | 4 ++-- 5 files changed, 3 insertions(+), 3 deletions(-) diff --git a/archives/bootstrap-dotnet.zip b/archives/bootstrap-dotnet.zip index 5cdd2845c8add71a2b6a0fe5b133301332b24452..6db17867d4106b05ad8eef91fa1f7f15a64a4ab2 100644 GIT binary patch delta 348 zcmdm`wo8pSz?+$civa{=wkA*HRcHVHTRk0!Ct6D}gG3?>VImtR=re+ZCLdzdgNbea z&UlL%EO>?04lXFk236_J?hF&0Je55ctdNz%97)V{as@{SSo}PP5lkFv_heO0SD4V| zLe3J1?Jv0CF50ZXUBv>{JeS{;8R+QAc0w{>{uh3G6n?0H4GMp=fDZ~^Q7{mNKSj_L d$`|8=htA~Rf(|IEVugZH_?Ltrwu%U=0RScdg#Q2l delta 348 zcmdm`wo8pSz?+$civa{eI1?xGsinpaY7kSfOAP{v{!Zts=r|0EqBgdH?_b diff --git a/archives/bootstrap-go.zip b/archives/bootstrap-go.zip index 2d14f5beb66e9dc5111b428f1491f9b50cbaca92..0c2d4899848ffe0192691fb08658d9a719a28bf3 100644 GIT binary patch delta 2180 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 diff --git a/archives/bootstrap-node.zip b/archives/bootstrap-node.zip index 88816a14dd1cc25aa820a7fe3f49233817800150..0d15e1729fb1ecac971c5b4add9b0532f322e61c 100644 GIT binary patch delta 273 zcmdmNw%Lp~z?+$civa{=wkA*HRb~JFTRk0!CnpF>F@uD{3}HeO`yPNqCKod5!-O_3 zXG~`V3kouu!3F)8@AHBM4Fok|f-v(Y*9scI#5QjcbYKQ6{4N5wWwX9$DnxL)gfTP7 wC3=!FU`1~v>{0l>lC~)PHIgn+z8ELmOOu79%u!TjOWC3DPfI~e<&{ Date: Mon, 4 Nov 2024 09:27:45 +1030 Subject: [PATCH 15/36] chore(sdk-node): update sdk-node version --- sdk-node/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk-node/package.json b/sdk-node/package.json index 6c78e903..252713c8 100644 --- a/sdk-node/package.json +++ b/sdk-node/package.json @@ -1,6 +1,6 @@ { "name": "inferable", - "version": "0.30.34", + "version": "0.30.35", "description": "Javascript SDK for inferable.ai", "main": "bin/index.js", "scripts": { @@ -54,4 +54,4 @@ "email": "hi@inferable.ai", "url": "https://github.com/inferablehq/inferable/issues" } -} \ No newline at end of file +} From 4e52595d2356fd9d88943a8f312b102815519531 Mon Sep 17 00:00:00 2001 From: Inferable CI Date: Sun, 3 Nov 2024 23:06:00 +0000 Subject: [PATCH 16/36] Release 0.30.36 --- sdk-node/package-lock.json | 6 +++--- sdk-node/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk-node/package-lock.json b/sdk-node/package-lock.json index 0f585b82..9c67a105 100644 --- a/sdk-node/package-lock.json +++ b/sdk-node/package-lock.json @@ -1,12 +1,12 @@ { "name": "inferable", - "version": "0.30.34", + "version": "0.30.36", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "inferable", - "version": "0.30.34", + "version": "0.30.36", "license": "MIT", "dependencies": { "@ts-rest/core": "^3.28.0", @@ -16294,4 +16294,4 @@ } } } -} \ No newline at end of file +} diff --git a/sdk-node/package.json b/sdk-node/package.json index 252713c8..9ab9a625 100644 --- a/sdk-node/package.json +++ b/sdk-node/package.json @@ -1,6 +1,6 @@ { "name": "inferable", - "version": "0.30.35", + "version": "0.30.36", "description": "Javascript SDK for inferable.ai", "main": "bin/index.js", "scripts": { From 66de0654de4f48919aca09a2b901f535628661c5 Mon Sep 17 00:00:00 2001 From: John Smith Date: Mon, 4 Nov 2024 09:54:52 +1030 Subject: [PATCH 17/36] chore(sdk-node): Skip github release --- .github/workflows/create-release.yml | 49 ---------------------------- .github/workflows/publish.yml | 2 +- 2 files changed, 1 insertion(+), 50 deletions(-) delete mode 100644 .github/workflows/create-release.yml diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml deleted file mode 100644 index 331799b8..00000000 --- a/.github/workflows/create-release.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: Create GitHub Release - -on: - workflow_run: - workflows: - - "Publish Go SDK" - - "Publish Node.js SDK" - - "Publish .NET SDK" - types: - - completed - -jobs: - create-release: - runs-on: ubuntu-latest - if: ${{ github.event.workflow_run.conclusion == 'success' }} - permissions: - contents: write - steps: - - name: Checkout code - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Get latest tag - id: get_latest_tag - run: | - LATEST_TAG=$(git describe --tags --abbrev=0) - echo "latest_tag=$LATEST_TAG" >> $GITHUB_OUTPUT - - - name: Generate release notes - id: generate_notes - run: | - PREVIOUS_TAG=$(git describe --tags --abbrev=0 ${{ steps.get_latest_tag.outputs.latest_tag }}^) - RELEASE_NOTES=$(git log --pretty=format:"- %s" $PREVIOUS_TAG..${{ steps.get_latest_tag.outputs.latest_tag }}) - echo "release_notes<> $GITHUB_OUTPUT - echo "$RELEASE_NOTES" >> $GITHUB_OUTPUT - echo "EOF" >> $GITHUB_OUTPUT - - - name: Create GitHub Release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ steps.get_latest_tag.outputs.latest_tag }} - release_name: Release ${{ steps.get_latest_tag.outputs.latest_tag }} - body: | - ${{ steps.generate_notes.outputs.release_notes }} - draft: false - prerelease: false diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a74315c7..182c51b1 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -69,7 +69,7 @@ jobs: run: | npm config set //registry.npmjs.org/:_authToken $NPM_TOKEN version=$(npx release-it --release-version) - npx release-it --npm.skipChecks --git.tagName=sdk-node/${version} --github.release=false + npx release-it --npm.skipChecks --git.tagName=sdk-node/${version} --no-github.release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} From 80170d7182a9811b26b88823291057069caa8dc5 Mon Sep 17 00:00:00 2001 From: John Smith Date: Mon, 4 Nov 2024 10:14:39 +1030 Subject: [PATCH 18/36] chore(sdk-dotnet): Auto version release (#66) --- .github/workflows/publish.yml | 37 +++++++++++++++++++++++++++++++-- sdk-dotnet/src/Inferable.csproj | 2 +- 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 182c51b1..fe9e1739 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -69,7 +69,7 @@ jobs: run: | npm config set //registry.npmjs.org/:_authToken $NPM_TOKEN version=$(npx release-it --release-version) - npx release-it --npm.skipChecks --git.tagName=sdk-node/${version} --no-github.release + npx release-it --npm.skipChecks --git.tagName=sdk-node/${version} --no-github.release --git.commitMessage="Bump sdk-node version to ${version}" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} @@ -92,11 +92,33 @@ jobs: dotnet-version: "8.0.x" - name: Restore dependencies run: dotnet restore + - name: Get and Increment Version + id: increment_version + shell: pwsh + run: | + $xmlPath = ".\*.csproj" + $xml = [xml](Get-Content $xmlPath) + $currentVersion = $xml.Project.PropertyGroup.Version + + if (-not $currentVersion) { + throw "Version element not found in project file" + } + + # Parse version components + $major, $minor, $patch = $currentVersion.Split('.') + $newPatch = [int]$patch + 1 + $newVersion = "$major.$minor.$newPatch" + + # Update project file + $xml.Project.PropertyGroup.Version = $newVersion + $xml.Save($xmlPath) + + # Set output for later steps + echo "new_version=$newVersion" >> $GITHUB_OUTPUT - name: Build run: dotnet build --configuration Release --no-restore - name: Pack run: dotnet pack --configuration Release --no-restore --output ./output - # TODO: Auto version bump - name: Setup NuGet uses: nuget/setup-nuget@v1 with: @@ -104,6 +126,17 @@ jobs: nuget-version: latest - name: Publish run: dotnet nuget push output\*.nupkg -s https://api.nuget.org/v3/index.json + - name: Commit and push changes + run: | + git config --local user.email "github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot]" + git add inferable.go + git commit -m "Bump sdk-dotnet version to ${{ steps.increment_version.outputs.new_version }}" + git push + - name: Create Git tag + run: | + git tag sdk-dotnet/v${{ steps.increment_version.outputs.new_version }} + git push origin sdk-dotnet/v${{ steps.increment_version.outputs.new_version }} publish-go: needs: check_changes diff --git a/sdk-dotnet/src/Inferable.csproj b/sdk-dotnet/src/Inferable.csproj index 47cdaa64..93ca1c08 100644 --- a/sdk-dotnet/src/Inferable.csproj +++ b/sdk-dotnet/src/Inferable.csproj @@ -6,7 +6,7 @@ enable Inferable - 0.0.14 + 0.0.15 Inferable Inferable Client library for interacting with the Inferable API From 1d26e299a9956ecf779ba9f422f564f21f21ff3b Mon Sep 17 00:00:00 2001 From: John Smith Date: Mon, 4 Nov 2024 10:30:52 +1030 Subject: [PATCH 19/36] chore(sdk-dotnet): Update dotnet version bump logic --- .github/workflows/publish.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index fe9e1739..5e15bf23 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -96,8 +96,12 @@ jobs: id: increment_version shell: pwsh run: | - $xmlPath = ".\*.csproj" - $xml = [xml](Get-Content $xmlPath) + $projectFile = Get-ChildItem -Path . -Filter *.csproj | Select-Object -First 1 + if (-not $projectFile) { + throw "No .csproj file found in current directory" + } + + $xml = [xml](Get-Content $projectFile.FullName) $currentVersion = $xml.Project.PropertyGroup.Version if (-not $currentVersion) { From b6c29576daf971d3f23383947239d786e0afea83 Mon Sep 17 00:00:00 2001 From: John Smith Date: Mon, 4 Nov 2024 10:33:20 +1030 Subject: [PATCH 20/36] chore(sdk-dotnet): Build package version --- sdk-dotnet/src/Inferable.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk-dotnet/src/Inferable.csproj b/sdk-dotnet/src/Inferable.csproj index 93ca1c08..47cdaa64 100644 --- a/sdk-dotnet/src/Inferable.csproj +++ b/sdk-dotnet/src/Inferable.csproj @@ -6,7 +6,7 @@ enable Inferable - 0.0.15 + 0.0.14 Inferable Inferable Client library for interacting with the Inferable API From 926b9a5b48cf4936019af4cfd731b1bc4f29a1e8 Mon Sep 17 00:00:00 2001 From: John Smith Date: Mon, 4 Nov 2024 10:44:59 +1030 Subject: [PATCH 21/36] fix(sdk-dotnet): Correct project path --- .github/workflows/publish.yml | 4 ++-- sdk-dotnet/README.md | 6 +++--- sdk-dotnet/tests/Inferable.Tests/InferableTest.cs | 1 - 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 5e15bf23..822dbb78 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -96,7 +96,7 @@ jobs: id: increment_version shell: pwsh run: | - $projectFile = Get-ChildItem -Path . -Filter *.csproj | Select-Object -First 1 + $projectFile = Get-ChildItem -Path ./src -Filter *.csproj | Select-Object -First 1 if (-not $projectFile) { throw "No .csproj file found in current directory" } @@ -115,7 +115,7 @@ jobs: # Update project file $xml.Project.PropertyGroup.Version = $newVersion - $xml.Save($xmlPath) + $xml.Save($projectFile.FullName) # Set output for later steps echo "new_version=$newVersion" >> $GITHUB_OUTPUT diff --git a/sdk-dotnet/README.md b/sdk-dotnet/README.md index 4ffabd5e..1d20c73b 100644 --- a/sdk-dotnet/README.md +++ b/sdk-dotnet/README.md @@ -24,7 +24,7 @@ dotnet add package Inferable To create a new Inferable client, use the `InferableClient` class: -```csharp +```cs using Inferable; var options = new InferableOptions @@ -45,7 +45,7 @@ If you don't provide an API key or base URL, it will attempt to read them from t Register a "sayHello" [function](https://docs.inferable.ai/pages/functions). This file will register the function with the [control-plane](https://docs.inferable.ai/pages/control-plane). -```csharp +```cs public class MyInput { public string Message { get; set; } @@ -112,7 +112,7 @@ The following code will create an [Inferable run](https://docs.inferable.ai/page > - in the [playground UI](https://app.inferable.ai/) via `inf app` > - in the [CLI](https://www.npmjs.com/package/@inferable/cli) via `inf runs list` -```csharp +```cs var run = await inferable.CreateRunAsync(new CreateRunInput { Message = "Say hello to John", diff --git a/sdk-dotnet/tests/Inferable.Tests/InferableTest.cs b/sdk-dotnet/tests/Inferable.Tests/InferableTest.cs index f4d64e49..f6e75107 100644 --- a/sdk-dotnet/tests/Inferable.Tests/InferableTest.cs +++ b/sdk-dotnet/tests/Inferable.Tests/InferableTest.cs @@ -289,7 +289,6 @@ async public void Inferable_Run_E2E() } } } - //TODO: Test transient /call failures //TODO: TEST /machines failures } From aea1d66ac3d0240debe4258db74f9e6a4e5f99ca Mon Sep 17 00:00:00 2001 From: John Smith Date: Mon, 4 Nov 2024 11:09:17 +1030 Subject: [PATCH 22/36] fix(sdk-dotnet): Fix Version update logic --- .github/workflows/publish.yml | 8 +++----- sdk-dotnet/src/Inferable.csproj | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 822dbb78..3293944d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -118,7 +118,7 @@ jobs: $xml.Save($projectFile.FullName) # Set output for later steps - echo "new_version=$newVersion" >> $GITHUB_OUTPUT + echo "new_version=$newVersion" >> $env:GITHUB_OUTPUT - name: Build run: dotnet build --configuration Release --no-restore - name: Pack @@ -134,8 +134,7 @@ jobs: run: | git config --local user.email "github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" - git add inferable.go - git commit -m "Bump sdk-dotnet version to ${{ steps.increment_version.outputs.new_version }}" + git commit -am "Bump sdk-dotnet version to ${{ steps.increment_version.outputs.new_version }}" git push - name: Create Git tag run: | @@ -183,8 +182,7 @@ jobs: run: | git config --local user.email "github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" - git add inferable.go - git commit -m "Bump sdk-go version to ${{ steps.increment_version.outputs.new_version }}" + git commit -am "Bump sdk-go version to ${{ steps.increment_version.outputs.new_version }}" git push - name: Create Git tag run: | diff --git a/sdk-dotnet/src/Inferable.csproj b/sdk-dotnet/src/Inferable.csproj index 47cdaa64..93ca1c08 100644 --- a/sdk-dotnet/src/Inferable.csproj +++ b/sdk-dotnet/src/Inferable.csproj @@ -6,7 +6,7 @@ enable Inferable - 0.0.14 + 0.0.15 Inferable Inferable Client library for interacting with the Inferable API From ee4eec0b91bd2ba771db90f08682e131091d9951 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 4 Nov 2024 00:46:18 +0000 Subject: [PATCH 23/36] Bump sdk-dotnet version to 0.0.16 --- sdk-dotnet/src/Inferable.csproj | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/sdk-dotnet/src/Inferable.csproj b/sdk-dotnet/src/Inferable.csproj index 93ca1c08..19dcfcdf 100644 --- a/sdk-dotnet/src/Inferable.csproj +++ b/sdk-dotnet/src/Inferable.csproj @@ -1,12 +1,10 @@ - net8.0 enable enable - Inferable - 0.0.15 + 0.0.16 Inferable Inferable Client library for interacting with the Inferable API @@ -14,9 +12,8 @@ https://inferable.ai https://github.com/inferablehq/inferable/sdk-dotnet - - + \ No newline at end of file From 9f45a818bd6197448660efda1674985c11ca457a Mon Sep 17 00:00:00 2001 From: John Smith Date: Mon, 4 Nov 2024 11:17:26 +1030 Subject: [PATCH 24/36] chore(sdk-node): Update git tag format --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3293944d..1482c350 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -69,7 +69,7 @@ jobs: run: | npm config set //registry.npmjs.org/:_authToken $NPM_TOKEN version=$(npx release-it --release-version) - npx release-it --npm.skipChecks --git.tagName=sdk-node/${version} --no-github.release --git.commitMessage="Bump sdk-node version to ${version}" + npx release-it --npm.skipChecks --git.tagName=sdk-node/v${version} --no-github.release --git.commitMessage="Bump sdk-node version to ${version}" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} From 3829f2bf51fc3889d9558e7b34569e943436a766 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 11:17:53 +1030 Subject: [PATCH 25/36] chore(deps): Bump nuget/setup-nuget from 1 to 2 (#39) Bumps [nuget/setup-nuget](https://github.com/nuget/setup-nuget) from 1 to 2. - [Release notes](https://github.com/nuget/setup-nuget/releases) - [Commits](https://github.com/nuget/setup-nuget/compare/v1...v2) --- updated-dependencies: - dependency-name: nuget/setup-nuget dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 1482c350..2a7ce842 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -124,7 +124,7 @@ jobs: - name: Pack run: dotnet pack --configuration Release --no-restore --output ./output - name: Setup NuGet - uses: nuget/setup-nuget@v1 + uses: nuget/setup-nuget@v2 with: nuget-api-key: ${{ secrets.NUGET_API_KEY }} nuget-version: latest From 34ccada19ae33d98dac027929d4d0ac99bdd3e12 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 11:18:00 +1030 Subject: [PATCH 26/36] chore(deps): Bump actions/setup-dotnet from 3 to 4 (#40) Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 3 to 4. - [Release notes](https://github.com/actions/setup-dotnet/releases) - [Commits](https://github.com/actions/setup-dotnet/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/setup-dotnet dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 4 ++-- .github/workflows/publish.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index aaa378ca..c6fc7e4b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -102,7 +102,7 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - name: Set up .NET - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: dotnet-version: "8.0.x" - name: Restore dependencies @@ -123,7 +123,7 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - name: Set up .NET - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: dotnet-version: "8.0.x" - name: Restore dependencies diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 2a7ce842..45d38655 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -87,7 +87,7 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - name: Setup .NET - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: dotnet-version: "8.0.x" - name: Restore dependencies From 1d3777132fe3735c506dc3280dc23a4fa64d3d8c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 11:18:09 +1030 Subject: [PATCH 27/36] chore(deps): Bump dorny/paths-filter from 2 to 3 (#41) Bumps [dorny/paths-filter](https://github.com/dorny/paths-filter) from 2 to 3. - [Release notes](https://github.com/dorny/paths-filter/releases) - [Changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md) - [Commits](https://github.com/dorny/paths-filter/compare/v2...v3) --- updated-dependencies: - dependency-name: dorny/paths-filter dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 2 +- .github/workflows/create-archives.yml | 2 +- .github/workflows/publish.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c6fc7e4b..775f27c5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,7 +28,7 @@ jobs: with: fetch-depth: 0 - name: Filter changed files - uses: dorny/paths-filter@v2 + uses: dorny/paths-filter@v3 id: filter with: filters: | diff --git a/.github/workflows/create-archives.yml b/.github/workflows/create-archives.yml index e43487e1..75a43091 100644 --- a/.github/workflows/create-archives.yml +++ b/.github/workflows/create-archives.yml @@ -23,7 +23,7 @@ jobs: with: fetch-depth: 0 - name: Filter changed files - uses: dorny/paths-filter@v2 + uses: dorny/paths-filter@v3 id: filter with: filters: | diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 45d38655..68b4c1fa 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -24,7 +24,7 @@ jobs: with: fetch-depth: 0 - name: Filter changed files - uses: dorny/paths-filter@v2 + uses: dorny/paths-filter@v3 id: filter with: filters: | From 22ca837d79945e04807f3335dd41f8b5c08269e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 11:18:32 +1030 Subject: [PATCH 28/36] chore(deps): Bump actions/setup-go from 4 to 5 (#42) Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4 to 5. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-go dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 4 ++-- .github/workflows/publish.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 775f27c5..45af99dc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -148,7 +148,7 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - name: Set up Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: "1.22" - name: Check formatting @@ -176,7 +176,7 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - name: Set up Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: "1.22" - name: Get dependencies diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 68b4c1fa..e8400fd7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -158,7 +158,7 @@ jobs: fetch-depth: 0 token: ${{ secrets.GITHUB_TOKEN }} - name: Set up Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: "1.22" - name: Get current version From 8efd68493c59cdb070cda8c9bb5469b98aee53d1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 11:18:43 +1030 Subject: [PATCH 29/36] chore(deps): Bump actions/setup-node from 3 to 4 (#43) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 4 ++-- .github/workflows/publish.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 45af99dc..5befa2df 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -52,7 +52,7 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - name: Set up Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 20 cache: "npm" @@ -75,7 +75,7 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - name: Set up Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: "npm" diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e8400fd7..a426c770 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -52,7 +52,7 @@ jobs: fetch-depth: 0 token: ${{ secrets.GITHUB_TOKEN }} - name: Set up Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 20 cache: "npm" From 46ab79ecf85e56b61f3cee14f913c3dcd744dd7c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 11:18:53 +1030 Subject: [PATCH 30/36] chore(deps): Bump actions/checkout from 3 to 4 (#45) Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 14 +++++++------- .github/workflows/create-archives.yml | 2 +- .github/workflows/publish.yml | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5befa2df..93a7a127 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,7 +24,7 @@ jobs: sdk_go: ${{ steps.filter.outputs.sdk_go }} steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Filter changed files @@ -50,7 +50,7 @@ jobs: working-directory: sdk-node steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v4 with: @@ -73,7 +73,7 @@ jobs: working-directory: sdk-node steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: @@ -100,7 +100,7 @@ jobs: working-directory: sdk-dotnet steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up .NET uses: actions/setup-dotnet@v4 with: @@ -121,7 +121,7 @@ jobs: working-directory: sdk-dotnet steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up .NET uses: actions/setup-dotnet@v4 with: @@ -146,7 +146,7 @@ jobs: working-directory: sdk-go steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v5 with: @@ -174,7 +174,7 @@ jobs: working-directory: sdk-go steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v5 with: diff --git a/.github/workflows/create-archives.yml b/.github/workflows/create-archives.yml index 75a43091..9db9e608 100644 --- a/.github/workflows/create-archives.yml +++ b/.github/workflows/create-archives.yml @@ -19,7 +19,7 @@ jobs: bootstrap: ${{ steps.filter.outputs.bootstrap }} steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Filter changed files diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a426c770..3914551f 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -20,7 +20,7 @@ jobs: sdk_go: ${{ steps.filter.outputs.sdk_go }} steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Filter changed files @@ -47,7 +47,7 @@ jobs: working-directory: sdk-node steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 token: ${{ secrets.GITHUB_TOKEN }} @@ -85,7 +85,7 @@ jobs: working-directory: sdk-dotnet steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup .NET uses: actions/setup-dotnet@v4 with: @@ -153,7 +153,7 @@ jobs: working-directory: sdk-go steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 token: ${{ secrets.GITHUB_TOKEN }} From 0cff380fa4042ac3a9d7e718342cfbc74b54c7f0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 11:19:22 +1030 Subject: [PATCH 31/36] chore(deps): Bump inferable from 0.30.34 to 0.30.36 in /bootstrap-node (#67) * chore(deps): Bump inferable from 0.30.34 to 0.30.36 in /bootstrap-node Bumps [inferable](https://github.com/inferablehq/inferable) from 0.30.34 to 0.30.36. - [Commits](https://github.com/inferablehq/inferable/commits/sdk-node/0.30.36) --- updated-dependencies: - dependency-name: inferable dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * [skip ci] Update bootstrap project archives --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> --- archives/bootstrap-dotnet.zip | Bin 4922 -> 4922 bytes archives/bootstrap-go.zip | Bin 5996096 -> 5996096 bytes archives/bootstrap-node.zip | Bin 6963 -> 6966 bytes bootstrap-node/package-lock.json | 9 ++++----- bootstrap-node/package.json | 2 +- 5 files changed, 5 insertions(+), 6 deletions(-) diff --git a/archives/bootstrap-dotnet.zip b/archives/bootstrap-dotnet.zip index 6db17867d4106b05ad8eef91fa1f7f15a64a4ab2..e7b0de6bc9a75087e9156b3569abe3ad0abc01f6 100644 GIT binary patch delta 330 zcmdm`wo8pCz?+$civa{u_e|u`U|+|fkq*QYt)-ZN0^vq5fsGUN8G#~`4>Ib*gf@R? zyu}O>yUc127n5XzsPkfXfr(9?%AN~S#=>ENBxE|df+GYZe2&8yCJeE4vI?ggOk{H* zX9?Ke=Ui~7Y*yf|Vgc!#!*9k6bn9e0AsG<&Grt2eH$=b|nY&5A7n!Rd7=+B7Ea(R1 bigCb#WAZOSM`SfILLtc9i$W0VM1<7A7s>r32pw) zc#9b%cA3>4E+)waQRl_(0u!4&l|2`vjD^DjNyv0^1xE--_#B5ZOc-M8WED;~n8@Zr z&JwV_&$-}E*{r}_#RAefhu@4D=+?=0LNXxkXMP7{Zis*_GIx`JFEUp_FbJ7DSu|aghG(H7lk0!i3qC!0MO%o_W%F@ diff --git a/archives/bootstrap-go.zip b/archives/bootstrap-go.zip index 0c2d4899848ffe0192691fb08658d9a719a28bf3..ea3d77c4187f5745d02692323f3c12e0a7c3d5cf 100644 GIT binary patch delta 576 zcmZ9JxlfdF5J30%loeL-KvYCTKwLo)5fzj}Q1QTH74KgSCb9(~ftaxCQM~4LR$KcI z*cmJ+F!t7V))ba@7VbwtT_>4L^5)GHGpoOTq*g1L%}=JI+C&`FEAO%$?H@9^=W#B) ztV<-LwR9p8y{CRumuleD;~i%Y{w2fik)~2b9fxPup3X{N$kN>*o&vJ56@sf zp2c%`9tUs`FW^NS!eJc2QM`m>IF6U`3SPwtyoT5D2HwO;yoI;%4&KE)-oyJig%9u{ zKElWN1fSxwkA^odQqwEt>}=@TJW_dhHvEiXe<5^l!sVGlh@zMl=0eXO`hG4fC1ct$ z|BsuW4>RlTr^UZ(m)91h30s;u^2|Gz(O$$RDrL>Fjxh0r7%4Yy+r*5VGV!+OkM12$q4?!;!?g}bo@ z_h2jT#eKLR+wcHp@gTP2Av}yn@F;d*CmzEt?8Y8Ej=k82C-5Zp<0%}#(>RD{a0t)h zIXsWUID!}OB97u1j^ib~j92g~PT)1XjyLco-oo2>2Pbg~@8UhYk2!pR4{;hF;bVM) zPw^Q(#}{S8yH}}fxs;g=y<0~rjm?H1F&xT=zAd;slMhi8)BIfM|3g2{g{5Rn+vopr zbMs+l!~L}QckS}pV)(j2SC_(Iy7H0I=VHjl!>xrdUIi8kVYmu>DTI+K&{GVfRe<7u N#<$|;jo<%6?Wq6& diff --git a/archives/bootstrap-node.zip b/archives/bootstrap-node.zip index 0d15e1729fb1ecac971c5b4add9b0532f322e61c..985def5c8505ffaf510357c05ec60cc2708c3eca 100644 GIT binary patch delta 4066 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 F{R^{luFU`d delta 4125 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

-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 MikXcl?w@Y|0xx%_ssI20 diff --git a/bootstrap-node/package-lock.json b/bootstrap-node/package-lock.json index ff0d78cd..037177e0 100644 --- a/bootstrap-node/package-lock.json +++ b/bootstrap-node/package-lock.json @@ -7,7 +7,7 @@ "name": "@inferable/node-bootstrap", "dependencies": { "dotenv": "^16.4.5", - "inferable": "^0.30.34", + "inferable": "^0.30.36", "tsx": "^4.16.2", "zod": "^3.23.8" }, @@ -223,10 +223,9 @@ } }, "node_modules/inferable": { - "version": "0.30.34", - "resolved": "https://registry.npmjs.org/inferable/-/inferable-0.30.34.tgz", - "integrity": "sha512-vCoju67bxrSXbEYyWocwvxbo1O3At019dL7t8mBcW8MtQAoffOfYTBvLJ1Cfgp5oXV577hgojlINFU2YlR0nNQ==", - "license": "MIT", + "version": "0.30.36", + "resolved": "https://registry.npmjs.org/inferable/-/inferable-0.30.36.tgz", + "integrity": "sha512-kRQGNuL3rRDHEd+gDbrFIWDdw5u5AnPHn2b+ic7RgRNQHflFGhBWEZHEnCUJOxJkNO8zSk64CS2q5igK2ckiOA==", "dependencies": { "@ts-rest/core": "^3.28.0", "@types/debug": "^4.1.8", diff --git a/bootstrap-node/package.json b/bootstrap-node/package.json index e9e9b590..7a0684b1 100644 --- a/bootstrap-node/package.json +++ b/bootstrap-node/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "dotenv": "^16.4.5", - "inferable": "^0.30.34", + "inferable": "^0.30.36", "tsx": "^4.16.2", "zod": "^3.23.8" }, From d6ddafa4b7e7d344210f9a84988006eb0c91371e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 11:26:40 +1030 Subject: [PATCH 32/36] chore(deps-dev): Bump @types/jest from 29.5.13 to 29.5.14 in /sdk-node (#50) Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 29.5.13 to 29.5.14. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest) --- updated-dependencies: - dependency-name: "@types/jest" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- sdk-node/package-lock.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sdk-node/package-lock.json b/sdk-node/package-lock.json index 9c67a105..98ae559d 100644 --- a/sdk-node/package-lock.json +++ b/sdk-node/package-lock.json @@ -5556,11 +5556,10 @@ } }, "node_modules/@types/jest": { - "version": "29.5.13", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.13.tgz", - "integrity": "sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==", + "version": "29.5.14", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", + "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", "dev": true, - "license": "MIT", "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" From 3ceac355c177e5a55841f306f30896548fa7a961 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 11:26:55 +1030 Subject: [PATCH 33/36] chore(deps-dev): Bump @typescript-eslint/eslint-plugin in /sdk-node (#56) Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 7.18.0 to 8.12.2. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.12.2/packages/eslint-plugin) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- sdk-node/package-lock.json | 258 ++++++++++++++++++++++++++++++++----- sdk-node/package.json | 2 +- 2 files changed, 229 insertions(+), 31 deletions(-) diff --git a/sdk-node/package-lock.json b/sdk-node/package-lock.json index 98ae559d..d0c735bb 100644 --- a/sdk-node/package-lock.json +++ b/sdk-node/package-lock.json @@ -25,7 +25,7 @@ "@babel/preset-typescript": "^7.22.11", "@types/jest": "^29.5.4", "@types/node-os-utils": "^1.3.4", - "@typescript-eslint/eslint-plugin": "^7.16.0", + "@typescript-eslint/eslint-plugin": "^8.12.2", "@typescript-eslint/parser": "^7.16.0", "dotenv": "^16.3.1", "husky": "^9.1.6", @@ -5692,32 +5692,31 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", - "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", + "version": "8.12.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.12.2.tgz", + "integrity": "sha512-gQxbxM8mcxBwaEmWdtLCIGLfixBMHhQjBqR8sVWNTPpcj45WlYL2IObS/DNMLH1DBP0n8qz+aiiLTGfopPEebw==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/type-utils": "7.18.0", - "@typescript-eslint/utils": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", + "@typescript-eslint/scope-manager": "8.12.2", + "@typescript-eslint/type-utils": "8.12.2", + "@typescript-eslint/utils": "8.12.2", + "@typescript-eslint/visitor-keys": "8.12.2", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -5725,6 +5724,53 @@ } } }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { + "version": "8.12.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.12.2.tgz", + "integrity": "sha512-gPLpLtrj9aMHOvxJkSbDBmbRuYdtiEbnvO25bCMza3DhMjTQw0u7Y1M+YR5JPbMsXXnSPuCf5hfq0nEkQDL/JQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.12.2", + "@typescript-eslint/visitor-keys": "8.12.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { + "version": "8.12.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.12.2.tgz", + "integrity": "sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.12.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.12.2.tgz", + "integrity": "sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.12.2", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/@typescript-eslint/parser": { "version": "7.18.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", @@ -5773,26 +5819,63 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", - "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", + "version": "8.12.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.12.2.tgz", + "integrity": "sha512-bwuU4TAogPI+1q/IJSKuD4shBLc/d2vGcRT588q+jzayQyjVK2X6v/fbR4InY2U2sgf8MEvVCqEWUzYzgBNcGQ==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "7.18.0", - "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/typescript-estree": "8.12.2", + "@typescript-eslint/utils": "8.12.2", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependencies": { - "eslint": "^8.56.0" + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { + "version": "8.12.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.12.2.tgz", + "integrity": "sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.12.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.12.2.tgz", + "integrity": "sha512-mME5MDwGe30Pq9zKPvyduyU86PH7aixwqYR2grTglAdB+AN8xXQ1vFGpYaUSJ5o5P/5znsSBeNcs5g5/2aQwow==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.12.2", + "@typescript-eslint/visitor-keys": "8.12.2", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependenciesMeta": { "typescript": { @@ -5800,6 +5883,35 @@ } } }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.12.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.12.2.tgz", + "integrity": "sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.12.2", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@typescript-eslint/types": { "version": "7.18.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", @@ -5857,26 +5969,112 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", - "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", + "version": "8.12.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.12.2.tgz", + "integrity": "sha512-UTTuDIX3fkfAz6iSVa5rTuSfWIYZ6ATtEocQ/umkRSyC9O919lbZ8dcH7mysshrCdrAM03skJOEYaBugxN+M6A==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0" + "@typescript-eslint/scope-manager": "8.12.2", + "@typescript-eslint/types": "8.12.2", + "@typescript-eslint/typescript-estree": "8.12.2" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.56.0" + "eslint": "^8.57.0 || ^9.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { + "version": "8.12.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.12.2.tgz", + "integrity": "sha512-gPLpLtrj9aMHOvxJkSbDBmbRuYdtiEbnvO25bCMza3DhMjTQw0u7Y1M+YR5JPbMsXXnSPuCf5hfq0nEkQDL/JQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.12.2", + "@typescript-eslint/visitor-keys": "8.12.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { + "version": "8.12.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.12.2.tgz", + "integrity": "sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.12.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.12.2.tgz", + "integrity": "sha512-mME5MDwGe30Pq9zKPvyduyU86PH7aixwqYR2grTglAdB+AN8xXQ1vFGpYaUSJ5o5P/5znsSBeNcs5g5/2aQwow==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.12.2", + "@typescript-eslint/visitor-keys": "8.12.2", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.12.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.12.2.tgz", + "integrity": "sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.12.2", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/@typescript-eslint/visitor-keys": { diff --git a/sdk-node/package.json b/sdk-node/package.json index 9ab9a625..a813609a 100644 --- a/sdk-node/package.json +++ b/sdk-node/package.json @@ -29,7 +29,7 @@ "@babel/preset-typescript": "^7.22.11", "@types/jest": "^29.5.4", "@types/node-os-utils": "^1.3.4", - "@typescript-eslint/eslint-plugin": "^7.16.0", + "@typescript-eslint/eslint-plugin": "^8.12.2", "@typescript-eslint/parser": "^7.16.0", "dotenv": "^16.3.1", "husky": "^9.1.6", From 39b28116a670abb13866daca15736d02a46f0dc8 Mon Sep 17 00:00:00 2001 From: John Smith Date: Mon, 4 Nov 2024 12:15:01 +1030 Subject: [PATCH 34/36] chore(sdk-node): bump deps (#68) --- sdk-node/package-lock.json | 1601 +++++++++++++++--------------------- sdk-node/package.json | 12 +- 2 files changed, 654 insertions(+), 959 deletions(-) diff --git a/sdk-node/package-lock.json b/sdk-node/package-lock.json index d0c735bb..53236e7a 100644 --- a/sdk-node/package-lock.json +++ b/sdk-node/package-lock.json @@ -18,22 +18,22 @@ "node-machine-id": "^1.1.12", "prettier": "^3.3.3", "zod": "^3.23.5", - "zod-to-json-schema": "^3.23.0" + "zod-to-json-schema": "^3.23.5" }, "devDependencies": { - "@babel/preset-env": "^7.22.10", + "@babel/preset-env": "^7.26.0", "@babel/preset-typescript": "^7.22.11", "@types/jest": "^29.5.4", "@types/node-os-utils": "^1.3.4", "@typescript-eslint/eslint-plugin": "^8.12.2", - "@typescript-eslint/parser": "^7.16.0", + "@typescript-eslint/parser": "^8.12.2", "dotenv": "^16.3.1", "husky": "^9.1.6", "jest": "^29.6.4", "lint-staged": "^15.2.10", - "msw": "^2.4.8", - "promptfoo": "^0.81.4", - "typescript": "^5.2.2" + "msw": "^2.6.0", + "promptfoo": "^0.81.5", + "typescript": "^5.6.3" } }, "node_modules/@ai-zen/node-fetch-event-source": { @@ -1151,13 +1151,14 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", - "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/highlight": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", "picocolors": "^1.0.0" }, "engines": { @@ -1165,9 +1166,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.7.tgz", - "integrity": "sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", + "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", "dev": true, "license": "MIT", "engines": { @@ -1206,13 +1207,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz", - "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7", + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -1222,41 +1224,41 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz", - "integrity": "sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.7.tgz", - "integrity": "sha512-12xfNeKNH7jubQNm7PAkzlLwEmCs1tfuX3UjIw6vP6QXi+leKh6+LyC/+Ed4EIQermwd58wsyh070yjDHFlNGg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz", + "integrity": "sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz", - "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.7", - "@babel/helper-validator-option": "^7.25.7", + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -1266,18 +1268,18 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.7.tgz", - "integrity": "sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", + "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-member-expression-to-functions": "^7.25.7", - "@babel/helper-optimise-call-expression": "^7.25.7", - "@babel/helper-replace-supers": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", - "@babel/traverse": "^7.25.7", + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.25.9", "semver": "^6.3.1" }, "engines": { @@ -1288,13 +1290,13 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.7.tgz", - "integrity": "sha512-byHhumTj/X47wJ6C6eLpK7wW/WBEcnUeb7D0FNc/jFQnQVw7DOso3Zz5u9x/zLrFVkHa89ZGDbkAa1D54NdrCQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz", + "integrity": "sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-annotate-as-pure": "^7.25.9", "regexpu-core": "^6.1.1", "semver": "^6.3.1" }, @@ -1323,44 +1325,43 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.7.tgz", - "integrity": "sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz", - "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz", - "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-simple-access": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1370,22 +1371,22 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.7.tgz", - "integrity": "sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", - "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", "dev": true, "license": "MIT", "engines": { @@ -1393,15 +1394,15 @@ } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.7.tgz", - "integrity": "sha512-kRGE89hLnPfcz6fTrlNU+uhgcwv0mBE4Gv3P9Ke9kLVJYpi4AMVVEElXvB5CabrPZW4nCM8P8UyyjrzCM0O2sw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-wrap-function": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1411,15 +1412,15 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.7.tgz", - "integrity": "sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz", + "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.25.7", - "@babel/helper-optimise-call-expression": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1429,37 +1430,37 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz", - "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz", + "integrity": "sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.7.tgz", - "integrity": "sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", - "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", "dev": true, "license": "MIT", "engines": { @@ -1467,9 +1468,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", - "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true, "license": "MIT", "engines": { @@ -1477,9 +1478,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz", - "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", "dev": true, "license": "MIT", "engines": { @@ -1487,15 +1488,15 @@ } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.7.tgz", - "integrity": "sha512-MA0roW3JF2bD1ptAaJnvcabsVlNQShUaThyJbCDD4bCp8NEgiFvpoqRI2YS22hHlc2thjO/fTg2ShLMC3jygAg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.25.7", - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1515,30 +1516,14 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/highlight": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", - "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/parser": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.7.tgz", - "integrity": "sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7" + "@babel/types": "^7.26.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -1548,14 +1533,14 @@ } }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.7.tgz", - "integrity": "sha512-UV9Lg53zyebzD1DwQoT9mzkEKa922LNUp5YkTJ6Uta0RbyXaQNUgcvSt7qIu1PpPzVb6rd10OVNTzkyBGeVmxQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1565,13 +1550,13 @@ } }, "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.7.tgz", - "integrity": "sha512-GDDWeVLNxRIkQTnJn2pDOM1pkCgYdSqPeT1a9vh9yIqu2uzzgw1zcqEb+IJOhy+dTBMlNdThrDIksr2o09qrrQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1581,13 +1566,13 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.7.tgz", - "integrity": "sha512-wxyWg2RYaSUYgmd9MR0FyRGyeOMQE/Uzr1wzd/g5cf5bwi9A4v6HFdDm7y1MgDtod/fLOSTZY6jDgV0xU9d5bA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1597,15 +1582,15 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.7.tgz", - "integrity": "sha512-Xwg6tZpLxc4iQjorYsyGMyfJE7nP5MV8t/Ka58BgiA7Jw0fRqQNcANlLfdJ/yvBt9z9LD2We+BEkT7vLqZRWng==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", - "@babel/plugin-transform-optional-chaining": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1615,14 +1600,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.7.tgz", - "integrity": "sha512-UVATLMidXrnH+GMUIuxq55nejlj02HP7F5ETyBONzP6G87fPBogG4CH6kxrSrdIuAjdwNO9VzyaYsrZPscWUrw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1699,40 +1684,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.7.tgz", - "integrity": "sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1742,13 +1701,13 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz", - "integrity": "sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1943,13 +1902,13 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.7.tgz", - "integrity": "sha512-EJN2mKxDwfOUCPxMO6MUI58RN3ganiRAG/MS/S3HfB6QFNjroAMelQo/gybyYq97WerCBAZoyrAoW8Tzdq2jWg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1959,16 +1918,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.7.tgz", - "integrity": "sha512-4B6OhTrwYKHYYgcwErvZjbmH9X5TxQBsaBHdzEIB4l71gR5jh/tuHGlb9in47udL2+wVUcOz5XXhhfhVJwEpEg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz", + "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-remap-async-to-generator": "^7.25.7", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/traverse": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1978,15 +1936,15 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.7.tgz", - "integrity": "sha512-ZUCjAavsh5CESCmi/xCpX1qcCaAglzs/7tmuvoFnJgA1dM7gQplsguljoTg+Ru8WENpX89cQyAtWoaE0I3X3Pg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-remap-async-to-generator": "^7.25.7" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1996,13 +1954,13 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.7.tgz", - "integrity": "sha512-xHttvIM9fvqW+0a3tZlYcZYSBpSWzGBFIt/sYG3tcdSzBB8ZeVgz2gBP7Df+sM0N1850jrviYSSeUuc+135dmQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz", + "integrity": "sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2012,13 +1970,13 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.7.tgz", - "integrity": "sha512-ZEPJSkVZaeTFG/m2PARwLZQ+OG0vFIhPlKHK/JdIMy8DbRJ/htz6LRrTFtdzxi9EHmcwbNPAKDnadpNSIW+Aow==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2028,14 +1986,14 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.7.tgz", - "integrity": "sha512-mhyfEW4gufjIqYFo9krXHJ3ElbFLIze5IDp+wQTxoPd+mwFb1NxatNAwmv8Q8Iuxv7Zc+q8EkiMQwc9IhyGf4g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2045,15 +2003,14 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.7.tgz", - "integrity": "sha512-rvUUtoVlkDWtDWxGAiiQj0aNktTPn3eFynBcMC2IhsXweehwgdI9ODe+XjWw515kEmv22sSOTp/rxIRuTiB7zg==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2063,17 +2020,17 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.7.tgz", - "integrity": "sha512-9j9rnl+YCQY0IGoeipXvnk3niWicIB6kCsWRGLwX241qSXpbA4MKxtp/EdvFxsc4zI5vqfLxzOd0twIJ7I99zg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-replace-supers": "^7.25.7", - "@babel/traverse": "^7.25.7", + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", "globals": "^11.1.0" }, "engines": { @@ -2084,14 +2041,14 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.7.tgz", - "integrity": "sha512-QIv+imtM+EtNxg/XBKL3hiWjgdLjMOmZ+XzQwSgmBfKbfxUjBzGgVPklUuE55eq5/uVoh8gg3dqlrwR/jw3ZeA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/template": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2101,13 +2058,13 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.7.tgz", - "integrity": "sha512-xKcfLTlJYUczdaM1+epcdh1UGewJqr9zATgrNHcLBcV2QmfvPPEixo/sK/syql9cEmbr7ulu5HMFG5vbbt/sEA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2117,14 +2074,14 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.7.tgz", - "integrity": "sha512-kXzXMMRzAtJdDEgQBLF4oaiT6ZCU3oWHgpARnTKDAqPkDJ+bs3NrZb310YYevR5QlRo3Kn7dzzIdHbZm1VzJdQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2134,13 +2091,13 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.7.tgz", - "integrity": "sha512-by+v2CjoL3aMnWDOyCIg+yxU9KXSRa9tN6MbqggH5xvymmr9p4AMjYkNlQy4brMceBnUyHZ9G8RnpvT8wP7Cfg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2150,14 +2107,14 @@ } }, "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.7.tgz", - "integrity": "sha512-HvS6JF66xSS5rNKXLqkk7L9c/jZ/cdIVIcoPVrnl8IsVpLggTjXs8OWekbLHs/VtYDDh5WXnQyeE3PPUGm22MA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2167,14 +2124,13 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.7.tgz", - "integrity": "sha512-UvcLuual4h7/GfylKm2IAA3aph9rwvAM2XBA0uPKU3lca+Maai4jBjjEVUS568ld6kJcgbouuumCBhMd/Yz17w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2184,14 +2140,14 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.7.tgz", - "integrity": "sha512-yjqtpstPfZ0h/y40fAXRv2snciYr0OAoMXY/0ClC7tm4C/nG5NJKmIItlaYlLbIVAWNfrYuy9dq1bE0SbX0PEg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz", + "integrity": "sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2201,14 +2157,13 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.7.tgz", - "integrity": "sha512-h3MDAP5l34NQkkNulsTNyjdaR+OiB0Im67VU//sFupouP8Q6m9Spy7l66DcaAQxtmCqGdanPByLsnwFttxKISQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2218,14 +2173,14 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.7.tgz", - "integrity": "sha512-n/TaiBGJxYFWvpJDfsxSj9lEEE44BFM1EPGz4KEiTipTgkoFVVcCmzAL3qA7fdQU96dpo4gGf5HBx/KnDvqiHw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", + "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2235,15 +2190,15 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.7.tgz", - "integrity": "sha512-5MCTNcjCMxQ63Tdu9rxyN6cAWurqfrDZ76qvVPrGYdBxIj+EawuuxTu/+dgJlhK5eRz3v1gLwp6XwS8XaX2NiQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2253,14 +2208,13 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.7.tgz", - "integrity": "sha512-Ot43PrL9TEAiCe8C/2erAjXMeVSnE/BLEx6eyrKLNFCCw5jvhTHKyHxdI1pA0kz5njZRYAnMO2KObGqOCRDYSA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2270,13 +2224,13 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.7.tgz", - "integrity": "sha512-fwzkLrSu2fESR/cm4t6vqd7ebNIopz2QHGtjoU+dswQo/P6lwAG04Q98lliE3jkz/XqnbGFLnUcE0q0CVUf92w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2286,14 +2240,13 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.7.tgz", - "integrity": "sha512-iImzbA55BjiovLyG2bggWS+V+OLkaBorNvc/yJoeeDQGztknRnDdYfp2d/UPmunZYEnZi6Lg8QcTmNMHOB0lGA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2303,13 +2256,13 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.7.tgz", - "integrity": "sha512-Std3kXwpXfRV0QtQy5JJcRpkqP8/wG4XL7hSKZmGlxPlDqmpXtEPRmhF7ztnlTCtUN3eXRUJp+sBEZjaIBVYaw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2319,14 +2272,14 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.7.tgz", - "integrity": "sha512-CgselSGCGzjQvKzghCvDTxKHP3iooenLpJDO842ehn5D2G5fJB222ptnDwQho0WjEvg7zyoxb9P+wiYxiJX5yA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2336,15 +2289,15 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.7.tgz", - "integrity": "sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz", + "integrity": "sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-simple-access": "^7.25.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-simple-access": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2354,16 +2307,16 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.7.tgz", - "integrity": "sha512-t9jZIvBmOXJsiuyOwhrIGs8dVcD6jDyg2icw1VL4A/g+FnWyJKwUfSSU2nwJuMV2Zqui856El9u+ElB+j9fV1g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2373,14 +2326,14 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.7.tgz", - "integrity": "sha512-p88Jg6QqsaPh+EB7I9GJrIqi1Zt4ZBHUQtjw3z1bzEXcLh6GfPqzZJ6G+G1HBGKUNukT58MnKG7EN7zXQBCODw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2390,14 +2343,14 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.7.tgz", - "integrity": "sha512-BtAT9LzCISKG3Dsdw5uso4oV1+v2NlVXIIomKJgQybotJY3OwCwJmkongjHgwGKoZXd0qG5UZ12JUlDQ07W6Ow==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2407,13 +2360,13 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.7.tgz", - "integrity": "sha512-CfCS2jDsbcZaVYxRFo2qtavW8SpdzmBXC2LOI4oO0rP+JSRDxxF3inF4GcPsLgfb5FjkhXG5/yR/lxuRs2pySA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2423,14 +2376,13 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.7.tgz", - "integrity": "sha512-FbuJ63/4LEL32mIxrxwYaqjJxpbzxPVQj5a+Ebrc8JICV6YX8nE53jY+K0RZT3um56GoNWgkS2BQ/uLGTjtwfw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz", + "integrity": "sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2440,14 +2392,13 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.7.tgz", - "integrity": "sha512-8CbutzSSh4hmD+jJHIA8vdTNk15kAzOnFLVVgBSMGr28rt85ouT01/rezMecks9pkU939wDInImwCKv4ahU4IA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2457,16 +2408,15 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.7.tgz", - "integrity": "sha512-1JdVKPhD7Y5PvgfFy0Mv2brdrolzpzSoUq2pr6xsR+m+3viGGeHEokFKsCgOkbeFOQxfB1Vt2F0cPJLRpFI4Zg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.25.7" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2476,14 +2426,14 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.7.tgz", - "integrity": "sha512-pWT6UXCEW3u1t2tcAGtE15ornCBvopHj9Bps9D2DsH15APgNVOTwwczGckX+WkAvBmuoYKRCFa4DK+jM8vh5AA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-replace-supers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2493,14 +2443,13 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.7.tgz", - "integrity": "sha512-m9obYBA39mDPN7lJzD5WkGGb0GO54PPLXsbcnj1Hyeu8mSRz7Gb4b1A6zxNX32ZuUySDK4G6it8SDFWD1nCnqg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2510,15 +2459,14 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.7.tgz", - "integrity": "sha512-h39agClImgPWg4H8mYVAbD1qP9vClFbEjqoJmt87Zen8pjqK8FTPUwrOXAvqu5soytwxrLMd2fx2KSCp2CHcNg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2528,13 +2476,13 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.7.tgz", - "integrity": "sha512-FYiTvku63me9+1Nz7TOx4YMtW3tWXzfANZtrzHhUZrz4d47EEtMQhzFoZWESfXuAMMT5mwzD4+y1N8ONAX6lMQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2544,14 +2492,14 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.7.tgz", - "integrity": "sha512-KY0hh2FluNxMLwOCHbxVOKfdB5sjWG4M183885FmaqWWiGMhRZq4DQRKH6mHdEucbJnyDyYiZNwNG424RymJjA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2561,16 +2509,15 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.7.tgz", - "integrity": "sha512-LzA5ESzBy7tqj00Yjey9yWfs3FKy4EmJyKOSWld144OxkTji81WWnUT8nkLUn+imN/zHL8ZQlOu/MTUAhHaX3g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2580,13 +2527,13 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.7.tgz", - "integrity": "sha512-lQEeetGKfFi0wHbt8ClQrUSUMfEeI3MMm74Z73T9/kuz990yYVtfofjf3NuA42Jy3auFOpbjDyCSiIkTs1VIYw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2596,13 +2543,13 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.7.tgz", - "integrity": "sha512-mgDoQCRjrY3XK95UuV60tZlFCQGXEtMg8H+IsW72ldw1ih1jZhzYXbJvghmAEpg5UVhhnCeia1CkGttUvCkiMQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.9", "regenerator-transform": "^0.15.2" }, "engines": { @@ -2612,14 +2559,31 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.7.tgz", - "integrity": "sha512-3OfyfRRqiGeOvIWSagcwUTVk2hXBsr/ww7bLn6TRTuXnexA+Udov2icFOxFX9abaj4l96ooYkcNN1qi2Zvqwng==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2629,13 +2593,13 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.7.tgz", - "integrity": "sha512-uBbxNwimHi5Bv3hUccmOFlUy3ATO6WagTApenHz9KzoIdn0XeACdB12ZJ4cjhuB2WSi80Ez2FWzJnarccriJeA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2645,14 +2609,14 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.7.tgz", - "integrity": "sha512-Mm6aeymI0PBh44xNIv/qvo8nmbkpZze1KvR8MkEqbIREDxoiWTi18Zr2jryfRMwDfVZF9foKh060fWgni44luw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2662,13 +2626,13 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.7.tgz", - "integrity": "sha512-ZFAeNkpGuLnAQ/NCsXJ6xik7Id+tHuS+NT+ue/2+rn/31zcdnupCdmunOizEaP0JsUmTFSTOPoQY7PkK2pttXw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2678,13 +2642,13 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.7.tgz", - "integrity": "sha512-SI274k0nUsFFmyQupiO7+wKATAmMFf8iFgq2O+vVFXZ0SV9lNfT1NGzBEhjquFmD8I9sqHLguH+gZVN3vww2AA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz", + "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2694,13 +2658,13 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.7.tgz", - "integrity": "sha512-OmWmQtTHnO8RSUbL0NTdtpbZHeNTnm68Gj5pA4Y2blFNh+V4iZR68V1qL9cI37J21ZN7AaCnkfdHtLExQPf2uA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz", + "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2730,13 +2694,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.7.tgz", - "integrity": "sha512-BN87D7KpbdiABA+t3HbVqHzKWUDN3dymLaTnPFAMyc8lV+KN3+YzNhVRNdinaCPA4AUqx7ubXbQ9shRjYBl3SQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2746,14 +2710,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.7.tgz", - "integrity": "sha512-IWfR89zcEPQGB/iB408uGtSPlQd3Jpq11Im86vUgcmSTcoWAiQMCTOa2K2yNNqFJEBVICKhayctee65Ka8OB0w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2763,14 +2727,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.7.tgz", - "integrity": "sha512-8JKfg/hiuA3qXnlLx8qtv5HWRbgyFx2hMMtpDDuU2rTckpKkGu4ycK5yYHwuEa16/quXfoxHBIApEsNyMWnt0g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2780,14 +2744,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.7.tgz", - "integrity": "sha512-YRW8o9vzImwmh4Q3Rffd09bH5/hvY0pxg+1H1i0f7APoUeg12G7+HhLj9ZFNIrYkgBXhIijPJ+IXypN0hLTIbw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2797,89 +2761,75 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.7.tgz", - "integrity": "sha512-Gibz4OUdyNqqLj+7OAvBZxOD7CklCtMA5/j0JgUEwOnaRULsPDXmic2iKxL2DX2vQduPR5wH2hjZas/Vr/Oc0g==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.0.tgz", + "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.7", - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-validator-option": "^7.25.7", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.7", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.7", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.7", + "@babel/compat-data": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.25.7", - "@babel/plugin-syntax-import-attributes": "^7.25.7", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.25.7", - "@babel/plugin-transform-async-generator-functions": "^7.25.7", - "@babel/plugin-transform-async-to-generator": "^7.25.7", - "@babel/plugin-transform-block-scoped-functions": "^7.25.7", - "@babel/plugin-transform-block-scoping": "^7.25.7", - "@babel/plugin-transform-class-properties": "^7.25.7", - "@babel/plugin-transform-class-static-block": "^7.25.7", - "@babel/plugin-transform-classes": "^7.25.7", - "@babel/plugin-transform-computed-properties": "^7.25.7", - "@babel/plugin-transform-destructuring": "^7.25.7", - "@babel/plugin-transform-dotall-regex": "^7.25.7", - "@babel/plugin-transform-duplicate-keys": "^7.25.7", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.7", - "@babel/plugin-transform-dynamic-import": "^7.25.7", - "@babel/plugin-transform-exponentiation-operator": "^7.25.7", - "@babel/plugin-transform-export-namespace-from": "^7.25.7", - "@babel/plugin-transform-for-of": "^7.25.7", - "@babel/plugin-transform-function-name": "^7.25.7", - "@babel/plugin-transform-json-strings": "^7.25.7", - "@babel/plugin-transform-literals": "^7.25.7", - "@babel/plugin-transform-logical-assignment-operators": "^7.25.7", - "@babel/plugin-transform-member-expression-literals": "^7.25.7", - "@babel/plugin-transform-modules-amd": "^7.25.7", - "@babel/plugin-transform-modules-commonjs": "^7.25.7", - "@babel/plugin-transform-modules-systemjs": "^7.25.7", - "@babel/plugin-transform-modules-umd": "^7.25.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.7", - "@babel/plugin-transform-new-target": "^7.25.7", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.7", - "@babel/plugin-transform-numeric-separator": "^7.25.7", - "@babel/plugin-transform-object-rest-spread": "^7.25.7", - "@babel/plugin-transform-object-super": "^7.25.7", - "@babel/plugin-transform-optional-catch-binding": "^7.25.7", - "@babel/plugin-transform-optional-chaining": "^7.25.7", - "@babel/plugin-transform-parameters": "^7.25.7", - "@babel/plugin-transform-private-methods": "^7.25.7", - "@babel/plugin-transform-private-property-in-object": "^7.25.7", - "@babel/plugin-transform-property-literals": "^7.25.7", - "@babel/plugin-transform-regenerator": "^7.25.7", - "@babel/plugin-transform-reserved-words": "^7.25.7", - "@babel/plugin-transform-shorthand-properties": "^7.25.7", - "@babel/plugin-transform-spread": "^7.25.7", - "@babel/plugin-transform-sticky-regex": "^7.25.7", - "@babel/plugin-transform-template-literals": "^7.25.7", - "@babel/plugin-transform-typeof-symbol": "^7.25.7", - "@babel/plugin-transform-unicode-escapes": "^7.25.7", - "@babel/plugin-transform-unicode-property-regex": "^7.25.7", - "@babel/plugin-transform-unicode-regex": "^7.25.7", - "@babel/plugin-transform-unicode-sets-regex": "^7.25.7", + "@babel/plugin-transform-arrow-functions": "^7.25.9", + "@babel/plugin-transform-async-generator-functions": "^7.25.9", + "@babel/plugin-transform-async-to-generator": "^7.25.9", + "@babel/plugin-transform-block-scoped-functions": "^7.25.9", + "@babel/plugin-transform-block-scoping": "^7.25.9", + "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", + "@babel/plugin-transform-classes": "^7.25.9", + "@babel/plugin-transform-computed-properties": "^7.25.9", + "@babel/plugin-transform-destructuring": "^7.25.9", + "@babel/plugin-transform-dotall-regex": "^7.25.9", + "@babel/plugin-transform-duplicate-keys": "^7.25.9", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-dynamic-import": "^7.25.9", + "@babel/plugin-transform-exponentiation-operator": "^7.25.9", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.25.9", + "@babel/plugin-transform-function-name": "^7.25.9", + "@babel/plugin-transform-json-strings": "^7.25.9", + "@babel/plugin-transform-literals": "^7.25.9", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", + "@babel/plugin-transform-member-expression-literals": "^7.25.9", + "@babel/plugin-transform-modules-amd": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-modules-systemjs": "^7.25.9", + "@babel/plugin-transform-modules-umd": "^7.25.9", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-new-target": "^7.25.9", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.9", + "@babel/plugin-transform-numeric-separator": "^7.25.9", + "@babel/plugin-transform-object-rest-spread": "^7.25.9", + "@babel/plugin-transform-object-super": "^7.25.9", + "@babel/plugin-transform-optional-catch-binding": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9", + "@babel/plugin-transform-private-methods": "^7.25.9", + "@babel/plugin-transform-private-property-in-object": "^7.25.9", + "@babel/plugin-transform-property-literals": "^7.25.9", + "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", + "@babel/plugin-transform-reserved-words": "^7.25.9", + "@babel/plugin-transform-shorthand-properties": "^7.25.9", + "@babel/plugin-transform-spread": "^7.25.9", + "@babel/plugin-transform-sticky-regex": "^7.25.9", + "@babel/plugin-transform-template-literals": "^7.25.9", + "@babel/plugin-transform-typeof-symbol": "^7.25.9", + "@babel/plugin-transform-unicode-escapes": "^7.25.9", + "@babel/plugin-transform-unicode-property-regex": "^7.25.9", + "@babel/plugin-transform-unicode-regex": "^7.25.9", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", "babel-plugin-polyfill-corejs3": "^0.10.6", @@ -2943,32 +2893,32 @@ } }, "node_modules/@babel/template": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz", - "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.7", - "@babel/parser": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz", - "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.7", - "@babel/generator": "^7.25.7", - "@babel/parser": "^7.25.7", - "@babel/template": "^7.25.7", - "@babel/types": "^7.25.7", + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -2977,15 +2927,14 @@ } }, "node_modules/@babel/types": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.7.tgz", - "integrity": "sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -4574,9 +4523,9 @@ } }, "node_modules/@mswjs/interceptors": { - "version": "0.35.9", - "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.35.9.tgz", - "integrity": "sha512-SSnyl/4ni/2ViHKkiZb8eajA/eN1DNFaHjhGiLUdZvDz6PKF4COSf/17xqSz64nOo2Ia29SA6B2KNCsyCbVmaQ==", + "version": "0.36.9", + "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.36.9.tgz", + "integrity": "sha512-mMRDUBwSNeCgjSMEWfjoh4Rm9fbyZ7xQ9SBq8eGHiiyRn1ieTip3pNEt0wxWVPPxR4i1Rv9bTkeEbkX7M4c15A==", "dev": true, "license": "MIT", "dependencies": { @@ -5693,291 +5642,49 @@ }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.12.2.tgz", - "integrity": "sha512-gQxbxM8mcxBwaEmWdtLCIGLfixBMHhQjBqR8sVWNTPpcj45WlYL2IObS/DNMLH1DBP0n8qz+aiiLTGfopPEebw==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.12.2", - "@typescript-eslint/type-utils": "8.12.2", - "@typescript-eslint/utils": "8.12.2", - "@typescript-eslint/visitor-keys": "8.12.2", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.12.2.tgz", - "integrity": "sha512-gPLpLtrj9aMHOvxJkSbDBmbRuYdtiEbnvO25bCMza3DhMjTQw0u7Y1M+YR5JPbMsXXnSPuCf5hfq0nEkQDL/JQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.12.2", - "@typescript-eslint/visitor-keys": "8.12.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.12.2.tgz", - "integrity": "sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.12.2.tgz", - "integrity": "sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.12.2", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", - "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", - "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.12.2.tgz", - "integrity": "sha512-bwuU4TAogPI+1q/IJSKuD4shBLc/d2vGcRT588q+jzayQyjVK2X6v/fbR4InY2U2sgf8MEvVCqEWUzYzgBNcGQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "8.12.2", - "@typescript-eslint/utils": "8.12.2", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.12.2.tgz", - "integrity": "sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.12.2.tgz", - "integrity": "sha512-mME5MDwGe30Pq9zKPvyduyU86PH7aixwqYR2grTglAdB+AN8xXQ1vFGpYaUSJ5o5P/5znsSBeNcs5g5/2aQwow==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.12.2", - "@typescript-eslint/visitor-keys": "8.12.2", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.12.2.tgz", - "integrity": "sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.12.2", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", - "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", - "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.12.2.tgz", + "integrity": "sha512-gQxbxM8mcxBwaEmWdtLCIGLfixBMHhQjBqR8sVWNTPpcj45WlYL2IObS/DNMLH1DBP0n8qz+aiiLTGfopPEebw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.12.2", + "@typescript-eslint/type-utils": "8.12.2", + "@typescript-eslint/utils": "8.12.2", + "@typescript-eslint/visitor-keys": "8.12.2", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0" + }, "peerDependenciesMeta": { "typescript": { "optional": true } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils": { + "node_modules/@typescript-eslint/parser": { "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.12.2.tgz", - "integrity": "sha512-UTTuDIX3fkfAz6iSVa5rTuSfWIYZ6ATtEocQ/umkRSyC9O919lbZ8dcH7mysshrCdrAM03skJOEYaBugxN+M6A==", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.12.2.tgz", + "integrity": "sha512-MrvlXNfGPLH3Z+r7Tk+Z5moZAc0dzdVjTgUgwsdGweH7lydysQsnSww3nAmsq8blFuRD5VRlAr9YdEFw3e6PBw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "8.12.2", "@typescript-eslint/types": "8.12.2", - "@typescript-eslint/typescript-estree": "8.12.2" + "@typescript-eslint/typescript-estree": "8.12.2", + "@typescript-eslint/visitor-keys": "8.12.2", + "debug": "^4.3.4" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5988,13 +5695,19 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { + "node_modules/@typescript-eslint/scope-manager": { "version": "8.12.2", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.12.2.tgz", "integrity": "sha512-gPLpLtrj9aMHOvxJkSbDBmbRuYdtiEbnvO25bCMza3DhMjTQw0u7Y1M+YR5JPbMsXXnSPuCf5hfq0nEkQDL/JQ==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "8.12.2", "@typescript-eslint/visitor-keys": "8.12.2" @@ -6007,11 +5720,36 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { + "node_modules/@typescript-eslint/type-utils": { + "version": "8.12.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.12.2.tgz", + "integrity": "sha512-bwuU4TAogPI+1q/IJSKuD4shBLc/d2vGcRT588q+jzayQyjVK2X6v/fbR4InY2U2sgf8MEvVCqEWUzYzgBNcGQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "8.12.2", + "@typescript-eslint/utils": "8.12.2", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { "version": "8.12.2", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.12.2.tgz", "integrity": "sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA==", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -6020,11 +5758,12 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { + "node_modules/@typescript-eslint/typescript-estree": { "version": "8.12.2", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.12.2.tgz", "integrity": "sha512-mME5MDwGe30Pq9zKPvyduyU86PH7aixwqYR2grTglAdB+AN8xXQ1vFGpYaUSJ5o5P/5znsSBeNcs5g5/2aQwow==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "8.12.2", "@typescript-eslint/visitor-keys": "8.12.2", @@ -6048,14 +5787,29 @@ } } }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.12.2.tgz", - "integrity": "sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.12.2.tgz", + "integrity": "sha512-UTTuDIX3fkfAz6iSVa5rTuSfWIYZ6ATtEocQ/umkRSyC9O919lbZ8dcH7mysshrCdrAM03skJOEYaBugxN+M6A==", "dev": true, "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.12.2", "@typescript-eslint/types": "8.12.2", - "eslint-visitor-keys": "^3.4.3" + "@typescript-eslint/typescript-estree": "8.12.2" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6063,32 +5817,23 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", - "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", + "version": "8.12.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.12.2.tgz", + "integrity": "sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/types": "8.12.2", "eslint-visitor-keys": "^3.4.3" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -6288,16 +6033,6 @@ "dev": true, "license": "MIT" }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", @@ -7003,34 +6738,6 @@ ], "license": "CC-BY-4.0" }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/char-regex": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", @@ -7930,19 +7637,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -8289,16 +7983,6 @@ "dev": true, "license": "MIT" }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/escodegen": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", @@ -9471,27 +9155,6 @@ "node": ">=4" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/google-auth-library": { "version": "9.14.1", "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-9.14.1.tgz", @@ -9626,16 +9289,6 @@ "node": ">=14.0.0" } }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/has-property-descriptors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", @@ -13122,9 +12775,9 @@ "license": "MIT" }, "node_modules/msw": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/msw/-/msw-2.4.9.tgz", - "integrity": "sha512-1m8xccT6ipN4PTqLinPwmzhxQREuxaEJYdx4nIbggxP8aM7r1e71vE7RtOUSQoAm1LydjGfZKy7370XD/tsuYg==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/msw/-/msw-2.6.0.tgz", + "integrity": "sha512-n3tx2w0MZ3H4pxY0ozrQ4sNPzK/dGtlr2cIIyuEsgq2Bhy4wvcW6ZH2w/gXM9+MEUY6HC1fWhqtcXDxVZr5Jxw==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -13132,8 +12785,9 @@ "@bundled-es-modules/cookie": "^2.0.0", "@bundled-es-modules/statuses": "^1.0.1", "@bundled-es-modules/tough-cookie": "^0.1.6", - "@inquirer/confirm": "^3.0.0", - "@mswjs/interceptors": "^0.35.8", + "@inquirer/confirm": "^5.0.0", + "@mswjs/interceptors": "^0.36.5", + "@open-draft/deferred-promise": "^2.2.0", "@open-draft/until": "^2.1.0", "@types/cookie": "^0.6.0", "@types/statuses": "^2.0.4", @@ -13141,10 +12795,10 @@ "graphql": "^16.8.1", "headers-polyfill": "^4.0.2", "is-node-process": "^1.2.0", - "outvariant": "^1.4.2", + "outvariant": "^1.4.3", "path-to-regexp": "^6.3.0", "strict-event-emitter": "^0.5.1", - "type-fest": "^4.9.0", + "type-fest": "^4.26.1", "yargs": "^17.7.2" }, "bin": { @@ -13165,6 +12819,57 @@ } } }, + "node_modules/msw/node_modules/@inquirer/confirm": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.0.1.tgz", + "integrity": "sha512-6ycMm7k7NUApiMGfVc32yIPp28iPKxhGRMqoNDiUjq2RyTAkbs5Fx0TdzBqhabcKvniDdAAvHCmsRjnNfTsogw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.0.1", + "@inquirer/type": "^3.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + } + }, + "node_modules/msw/node_modules/@inquirer/core": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.0.1.tgz", + "integrity": "sha512-KKTgjViBQUi3AAssqjUFMnMO3CM3qwCHvePV9EW+zTKGKafFGFF01sc1yOIYjLJ7QU52G/FbzKc+c01WLzXmVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/figures": "^1.0.7", + "@inquirer/type": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/msw/node_modules/@inquirer/type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.0.tgz", + "integrity": "sha512-YYykfbw/lefC7yKj7nanzQXILM7r3suIvyFlCcMskc99axmsSewXWkAfXKwMbgxL76iAFVmRwmYdwNZNc8gjog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + } + }, "node_modules/msw/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -13228,6 +12933,29 @@ "node": ">=8" } }, + "node_modules/msw/node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/msw/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/msw/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -13967,16 +13695,6 @@ "dev": true, "license": "MIT" }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/picocolors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", @@ -15583,19 +15301,6 @@ "dev": true, "license": "MIT" }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -15742,16 +15447,6 @@ "dev": true, "license": "BSD-3-Clause" }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -15913,9 +15608,9 @@ } }, "node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -16482,9 +16177,9 @@ } }, "node_modules/zod-to-json-schema": { - "version": "3.23.3", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.23.3.tgz", - "integrity": "sha512-TYWChTxKQbRJp5ST22o/Irt9KC5nj7CdBKYB/AosCRdj/wxEMvv4NNaj9XVUHDOIp53ZxArGhnw5HMZziPFjog==", + "version": "3.23.5", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.23.5.tgz", + "integrity": "sha512-5wlSS0bXfF/BrL4jPAbz9da5hDlDptdEppYfe+x4eIJ7jioqKG9uUxOwPzqof09u/XeVdrgFu29lZi+8XNDJtA==", "license": "ISC", "peerDependencies": { "zod": "^3.23.3" diff --git a/sdk-node/package.json b/sdk-node/package.json index a813609a..0ef73a5a 100644 --- a/sdk-node/package.json +++ b/sdk-node/package.json @@ -22,22 +22,22 @@ "node-machine-id": "^1.1.12", "prettier": "^3.3.3", "zod": "^3.23.5", - "zod-to-json-schema": "^3.23.0" + "zod-to-json-schema": "^3.23.5" }, "devDependencies": { - "@babel/preset-env": "^7.22.10", + "@babel/preset-env": "^7.26.0", "@babel/preset-typescript": "^7.22.11", "@types/jest": "^29.5.4", "@types/node-os-utils": "^1.3.4", "@typescript-eslint/eslint-plugin": "^8.12.2", - "@typescript-eslint/parser": "^7.16.0", + "@typescript-eslint/parser": "^8.12.2", "dotenv": "^16.3.1", "husky": "^9.1.6", "jest": "^29.6.4", "lint-staged": "^15.2.10", - "msw": "^2.4.8", - "promptfoo": "^0.81.4", - "typescript": "^5.2.2" + "msw": "^2.6.0", + "promptfoo": "^0.81.5", + "typescript": "^5.6.3" }, "lint-staged": { "*.{js,css,md,ts,tsx}": "prettier --write" From 76fd3243c2575ca4568cdba9e22de320769a863b Mon Sep 17 00:00:00 2001 From: Inferable CI Date: Mon, 4 Nov 2024 01:48:03 +0000 Subject: [PATCH 35/36] Bump sdk-node version to 0.30.37 --- sdk-node/package-lock.json | 4 ++-- sdk-node/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sdk-node/package-lock.json b/sdk-node/package-lock.json index 53236e7a..4732e49a 100644 --- a/sdk-node/package-lock.json +++ b/sdk-node/package-lock.json @@ -1,12 +1,12 @@ { "name": "inferable", - "version": "0.30.36", + "version": "0.30.37", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "inferable", - "version": "0.30.36", + "version": "0.30.37", "license": "MIT", "dependencies": { "@ts-rest/core": "^3.28.0", diff --git a/sdk-node/package.json b/sdk-node/package.json index 0ef73a5a..55276c18 100644 --- a/sdk-node/package.json +++ b/sdk-node/package.json @@ -1,6 +1,6 @@ { "name": "inferable", - "version": "0.30.36", + "version": "0.30.37", "description": "Javascript SDK for inferable.ai", "main": "bin/index.js", "scripts": { From 7534f50ca72b95d19e8cd8ae327d4f462397aa5d Mon Sep 17 00:00:00 2001 From: John Smith Date: Mon, 4 Nov 2024 14:26:34 +1030 Subject: [PATCH 36/36] chore: Readme doc links (#69) --- README.md | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 6611abfd..5b0ada4e 100644 --- a/README.md +++ b/README.md @@ -12,21 +12,19 @@ # Introduction -Inferable is the developer platform for building agentic automations from your existing code. You bring the code, we bring the automation engine. +Inferable is a developer platform that makes it easy to build and deploy reliable, secure LLM-based applications. ## Key Features -Here's a concise key features section with 5 points highlighting Inferable's main benefits: +🚀 **[2-Minute Setup](https://docs.inferable.ai/pages/quick-start)**: Get started in minutes with our [managed platform](https://app.inferable.ai) - wrap your existing functions, REST APIs and GraphQL endpoints as tools. -🚀 **2-Minute Setup**: Get started in minutes with our [managed platform](https://app.inferable.ai) - wrap your existing functions, REST APIs, GraphQL endpoints, and more. +🤖 **[Managed Agent Runtime](https://docs.inferable.ai/pages/runs)**: Managed [ReAct](https://www.promptingguide.ai/techniques/react)-like agent runtime powered by your own functions. -🔄 **Rapid Iteration**: Built for developers to quickly prototype, test and refine AI automations with instant feedback. If you can write a function, you can build an agent. +⚡️ **[Durable Tool Calling](https://docs.inferable.ai/pages/functions)**: Our durable execution engine helps you agents recover from tool-calling failures, load balance across your compute, and caches results for fast re-runs. -⚡️ **Distributed Durable Execution**: Our durable execution engine helps you agents recover from partial failures, load balance across your compute, and caches results for fast re-runs. +🛡️ **[Zero Network Config](https://docs.inferable.ai/pages/no-incoming-connections)**: No inbound connections or networking config required - your compute runs securely behind your firewall, and polls Inferable for instructions. -🛡️ **Zero Network Config**: No inbound connections or networking config required - your compute runs securely behind your firewall, and polls for instructions. - -💻 **Your Infrastructure, Your Control**: Keep sensitive data and compute on-premise while leveraging our cloud orchestration. Inferable can't see or access any runtime information or environment variables. +💻 **[Your Infrastructure](https://docs.inferable.ai/pages/on-premise)**: All functions run on your Infrastructure - Keep sensitive data and compute on-premise while leveraging our agent runtime. Inferable can't see or access any runtime information or environment variables. 🔌 **Multiple Language Support**: Native SDKs for TypeScript, Go, .NET and more coming soon - integrate with your existing codebase in minutes. @@ -57,14 +55,14 @@ For language-specific quick start guides, please refer to the README in each SDK ### Advanced Features -| Feature | Node.js | Go | .NET | -| --------------------------------------------------------------------- | :-----: | :-: | :--: | -| Create [Blob](https://docs.inferable.ai/pages/functions#blob) results | ✅ | ❌ | ❌ | -| [Mask](https://docs.inferable.ai/pages/functions#masked) results | ✅ | ❌ | ❌ | -| Caching configuration | ✅ | ❌ | ❌ | -| Timeout configuration | ✅ | ❌ | ❌ | -| Retry configuration | ✅ | ❌ | ❌ | -| Approval (Human in the loop) configuration | ✅ | ❌ | ❌ | +| Feature | Node.js | Go | .NET | +| -------------------------------------------------------------------------------------------------------- | :-----: | :-: | :--: | +| [Blob](https://docs.inferable.ai/pages/functions#blob) results | ✅ | ❌ | ❌ | +| [Mask](https://docs.inferable.ai/pages/functions#masked) results | ✅ | ❌ | ❌ | +| [Cached](https://docs.inferable.ai/pages/functions#config-cache) results | ✅ | ❌ | ❌ | +| Call [Timeouts](https://docs.inferable.ai/pages/functions#config-timeoutseconds) | ✅ | ❌ | ❌ | +| Call [Retries](https://docs.inferable.ai/pages/functions#config-retrycountonstall) | ✅ | ❌ | ❌ | +| Call [Approval](https://docs.inferable.ai/pages/functions#config-requiresapproval) (Human in the loop) | ✅ | ❌ | ❌ | ## Documentation