From cfe43b4cf11aa5fe8270021b6eebcc0debdf6965 Mon Sep 17 00:00:00 2001 From: Mehdi Hadeli Date: Wed, 27 Nov 2024 22:06:24 +0330 Subject: [PATCH] ci: update github action --- .github/workflows/publish.yml | 27 +- .gitignore | 3 +- AIAssistant.sln | 1 + Directory.Build.props | 54 +- README.md | 3 +- scripts/ci_install_tree_sitter.sh | 161 ++ src/AIAssist/AIAssist.csproj | 31 + src/AIAssist/AIAssist.nuspec | 45 + src/AIAssist/DotnetToolSettings.xml | 6 + src/AIAssist/Services/EmbeddingService.cs | 1 + src/AIAssist/build-out/AIAssist.deps.json | 1314 +++++++++++++++++ src/AIAssist/build-out/AIAssist.exe | Bin 0 -> 138752 bytes .../build-out/AIAssist.runtimeconfig.json | 19 + .../build-out/BuildingBlocks.deps.json | 1229 +++++++++++++++ src/AIAssist/build-out/Clients.deps.json | 1280 ++++++++++++++++ .../build-out/TreeSitter.Bindings.deps.json | 1245 ++++++++++++++++ src/Directory.Build.props | 1 + .../TreeSitter.Bindings.csproj | 5 +- version.json | 2 +- 19 files changed, 5381 insertions(+), 46 deletions(-) create mode 100644 scripts/ci_install_tree_sitter.sh create mode 100644 src/AIAssist/AIAssist.nuspec create mode 100644 src/AIAssist/DotnetToolSettings.xml create mode 100644 src/AIAssist/build-out/AIAssist.deps.json create mode 100644 src/AIAssist/build-out/AIAssist.exe create mode 100644 src/AIAssist/build-out/AIAssist.runtimeconfig.json create mode 100644 src/AIAssist/build-out/BuildingBlocks.deps.json create mode 100644 src/AIAssist/build-out/Clients.deps.json create mode 100644 src/AIAssist/build-out/TreeSitter.Bindings.deps.json diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 7a44ddb..26b4b32 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,7 +15,8 @@ env: # FEED_SOURCE: https://api.nuget.org/v3/index.json # FEED_API_KEY: ${{ secrets.FEED_API_KEY }} GHC_API_KEY: ${{ secrets.GHC_TOKEN }} - NuGetDirectory: ${{ github.workspace }}/nuget + NuGetDirectory: nuget + BuildOutput: bin/Release/net8.0/ jobs: @@ -46,16 +47,18 @@ jobs: - name: Build Tree-Sitter binaries on ${{ matrix.os }} run: | if [[ "$(uname)" == "Linux" ]]; then - chmod +x ./scripts/install_tree_sitter.sh + chmod +x ./scripts/ci_install_tree_sitter.sh fi - ./scripts/install_tree_sitter.sh Release net8.0 + ./scripts/ci_install_tree_sitter.sh shell: bash - name: Upload compiled binaries uses: actions/upload-artifact@v4 with: name: tree-sitter-binaries-${{ matrix.os }} - path: tree-sitter/bins/* + path: | + tree-sitter/bins/* + tree-sitter/grammars/bins/* create-nuget: runs-on: ubuntu-latest @@ -82,13 +85,13 @@ jobs: uses: actions/download-artifact@v4 with: name: tree-sitter-binaries-ubuntu-latest - path: ${{ env.NuGetDirectory }} + path: ${{ env.BuildOutput }} - name: Download Windows binaries uses: actions/download-artifact@v4 with: name: tree-sitter-binaries-windows-latest - path: ${{ env.NuGetDirectory }} + path: -o ${{ env.BuildOutput }} # https://github.com/dotnet/Nerdbank.GitVersioning/blob/main/doc/nbgv-cli.md - name: Install Nerdbank.GitVersioning @@ -102,14 +105,19 @@ jobs: echo "::set-output name=nuget_version::$nugetVersion" - name: Restore dependencies - run: dotnet restore AIAssistant.sln + run: dotnet restore src/AIAssist/AIAssist.csproj - name: Build Version - run: dotnet build AIAssistant.sln -c Release --no-restore + run: dotnet build src/AIAssist/AIAssist.csproj -o ${{ env.BuildOutput }} -c Release --no-restore + + - name: List files in BuildOutput + run: | + echo "Listing files in ${{ env.BuildOutput }}:" + ls -la ${{ env.BuildOutput }} # https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-pack - name: Pack NuGet Package Version ${{ steps.get_version.outputs.nuget_version }} - run: dotnet pack --no-restore src/AIAssist/AIAssist.csproj -c Release -o ${{ env.NuGetDirectory }} + run: dotnet pack src/AIAssist/AIAssist.csproj -o ${{ env.NuGetDirectory }} -c Release --no-restore --no-build # Publish the NuGet package as an artifact, so they can be used in the following jobs - uses: actions/upload-artifact@v4 with: @@ -151,6 +159,7 @@ jobs: nugetVersion=$(nbgv get-version | grep "NuGetPackageVersion" | awk -F': ' '{print $2}' | xargs) echo "NuGetPackageVersion: $nugetVersion" echo "::set-output name=nuget_version::$nugetVersion" + # for publish package to github for each commit - name: Publish NuGet Package Version ${{ steps.get_version.outputs.nuget_version }} to GitHub run: dotnet nuget push *.nupkg --skip-duplicate --api-key ${{ env.GHC_API_KEY }} --source ${{ env.GHC_SOURCE }} diff --git a/.gitignore b/.gitignore index b35091e..c531f63 100644 --- a/.gitignore +++ b/.gitignore @@ -389,4 +389,5 @@ env .git/ -temp/ \ No newline at end of file +temp/ +nuget/ \ No newline at end of file diff --git a/AIAssistant.sln b/AIAssistant.sln index 92a0b3b..7dedbff 100644 --- a/AIAssistant.sln +++ b/AIAssistant.sln @@ -36,6 +36,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripts", "scripts", "{0A4F ProjectSection(SolutionItems) = preProject scripts\install_tree_sitter.sh = scripts\install_tree_sitter.sh scripts\generate_tree_sitter_bindings.sh = scripts\generate_tree_sitter_bindings.sh + scripts\ci_install_tree_sitter.sh = scripts\ci_install_tree_sitter.sh EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TreeSitter.Bindings", "TreeSitter.Bindings", "{E295F56D-BF6F-4725-96E5-617DED7E0E21}" diff --git a/Directory.Build.props b/Directory.Build.props index dea3d86..bc66758 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,36 +1,30 @@  - - git - $(AssemblyName) - AIAssist - AIAssist - Mehdi Hadeli - Context aware AI coding assistant inside terminal to help in code development, code explanation, code refactor and review, bug fix and chat with supporting local and online language models. - ai ollama gpt pgt-4o dotnet csharp azure-ai - $(SolutionDir)nugets - readme.md - aiassist.png - LICENSE - Apache-2.0 - https://github.com/mehdihadeli/AIAssist - https://github.com/mehdihadeli/AIAssist - git - main - true - true - Copyright (c) 2024 Mehdi Hadeli - + + git + $(AssemblyName) + AIAssist + AIAssist + Mehdi Hadeli + Context aware AI coding assistant inside terminal to help in code development, code explanation, code refactor and review, bug fix and chat with supporting local and online language models. + ai ollama gpt pgt-4o dotnet csharp azure-ai + $(SolutionDir)nugets + readme.md + aiassist.png + LICENSE + Apache-2.0 + https://github.com/mehdihadeli/AIAssist + https://github.com/mehdihadeli/AIAssist + git + main + true + true + Copyright (c) 2024 Mehdi Hadeli + - - - - - - - - - + + + \ No newline at end of file diff --git a/README.md b/README.md index 61b1be5..82ed1da 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,8 @@ > [!TIP] > You can use ollama and its models that are more compatible with code like [deepseek-v2.5](https://ollama.com/library/deepseek-v2.5) or [qwen2.5-coder](https://ollama.com/library/qwen2.5-coder) locally. To use local models, you will need to run [Ollama](https://github.com/ollama/ollama) process first. For running ollama you can use [ollama docker](https://ollama.com/blog/ollama-is-now-available-as-an-official-docker-image) container. -Note: `vscode` and `jetbrains` plugins are in the plan and I will add them soon. +> [!NOTE] +> Development of `vscode` and `jetbrains` plugins are in the plan and I will add them soon. ## Features diff --git a/scripts/ci_install_tree_sitter.sh b/scripts/ci_install_tree_sitter.sh new file mode 100644 index 0000000..1a37c75 --- /dev/null +++ b/scripts/ci_install_tree_sitter.sh @@ -0,0 +1,161 @@ +#!/bin/bash + +# Create tree-sitter folder structure +mkdir -p tree-sitter/grammars/bins +mkdir -p tree-sitter/bins + +# Get the OS type +OS=$(uname -s) + +# Define paths for the source files and output binary +lib_src="tree-sitter/tree-sitter/lib/src/lib.c" + +# Check for Linux +if [[ "$OS" == "Linux" ]]; then + echo "Detected Linux OS. Compiling for Linux..." + + # Array of output files + linux_tree_sitter_output_files=("${treesitter_bin_output}/tree-sitter.so") + + # Iterate over the arrays + for i in "${!linux_tree_sitter_output_files[@]}"; do + echo "Compiling ${linux_tree_sitter_output_files[$i]}..." + gcc -o "${linux_tree_sitter_output_files[$i]}" -shared "$lib_src" -I./tree-sitter/tree-sitter/lib/src -I./tree-sitter/tree-sitter/lib/include -fPIC + if [ $? -eq 0 ]; then + echo "Successfully compiled tree-sitter.so" + else + echo "Error during compilation of tree-sitter.so" + exit 1 + fi + done +# Check for Windows (MINGW or MSYS environments) +elif [[ "$OS" == "MINGW"* || "$OS" == "MSYS"* ]]; then + echo "Detected Windows OS. Compiling for Windows..." + + # Array of output files + windows_tree_sitter_output_files=("${treesitter_bin_output}/tree-sitter.dll") + + # Iterate over the arrays + for i in "${!windows_tree_sitter_output_files[@]}"; do + echo "Compiling ${windows_tree_sitter_output_files[$i]}..." + gcc -o "${windows_tree_sitter_output_files[$i]}" -shared "$lib_src" -I./tree-sitter/tree-sitter/lib/src -I./tree-sitter/tree-sitter/lib/include + if [ $? -eq 0 ]; then + echo "Successfully compiled tree-sitter.dll" + else + echo "Error during compilation of tree-sitter.dll" + exit 1 + fi + done +# Unsupported OS +else + echo "Unsupported operating system: $OS" + exit 1 +fi + +# File containing the list of URLs +grammar_file="tree-sitter/tree-sitter-grammar.txt" + +# Check if the grammar file exists +if [ ! -f "$grammar_file" ]; then + echo "Error: File $grammar_file not found!" + exit 1 +fi + +# Read the list of URLs from the file into an array, skipping empty lines and stopping at the first empty line +repos=() +while IFS= read -r line; do + # Trim leading/trailing whitespace and check if the line is empty + trimmed_line=$(echo "$line" | xargs) + + if [ -z "$trimmed_line" ]; then + # Stop parsing when an empty line is encountered + break + fi + + # Add the non-empty line to the repos array + repos+=("$trimmed_line") +done < "$grammar_file" + + +# Iterate over each URL in the list and perform operations +for repo in "${repos[@]}"; do + echo "Processing repository: $repo" + + # Get the repository name from the URL by extracting everything after the last / + repo_name=$(basename "$repo") + + # Trim any trailing or leading whitespace (including newlines) from repo_name + repo_name=$(echo "$repo_name" | tr -d '[:space:]') + + echo "Repository name (trimmed): $repo_name" + + # Define paths for the source files and output binary + scanner_src="tree-sitter/grammars/$repo_name/src/scanner.c" + parser_src="tree-sitter/grammars/$repo_name/src/parser.c" + grammar_bin_output="tree-sitter/grammars/bins" + + # Debugging: print paths to ensure correctness + echo "Scanner source path: $scanner_src" + echo "Parser source path: $parser_src" + + # Check if source files exist + if [[ ! -f "$scanner_src" && ! -f "$parser_src" ]]; then + echo "Error: both scanner.c and parser.c files not found for $repo_name!" + continue + fi + + # Check if parser.c exists (it should always exist) + if [ ! -f "$parser_src" ]; then + echo "Error: parser.c not found for $repo_name!" + continue + fi + + # Prepare the GCC command based on available files + if [ -f "$scanner_src" ]; then + inputs="$scanner_src $parser_src" + else + inputs="$parser_src" + fi + + # Run the appropriate gcc command based on the OS + if [[ "$OS" == "Linux" ]]; then + echo "Detected Linux OS. Compiling for Linux..." + + # Array of output files + linux_grammar_output_files=("${grammar_bin_output}/${repo_name}.so") + + # Iterate over the arrays + for i in "${!linux_grammar_output_files[@]}"; do + echo "Compiling ${linux_grammar_output_files[$i]}..." + gcc -o "${linux_grammar_output_files[$i]}" -shared $inputs -fPIC + if [ $? -eq 0 ]; then + echo "Successfully compiled ${repo_name}.so" + else + echo "Error during compilation of ${repo_name}.so" + exit 1 + fi + done + elif [[ "$OS" == "MINGW"* || "$OS" == "MSYS"* ]]; then + echo "Detected Windows OS. Compiling for Windows..." + + # Array of output files + windows_grammar_output_files=("${grammar_bin_output}/${repo_name}.dll") + + # Iterate over the arrays + for i in "${!windows_grammar_output_files[@]}"; do + echo "Compiling ${windows_grammar_output_files[$i]}..." + gcc -o "${windows_grammar_output_files[$i]}" -shared $inputs + if [ $? -eq 0 ]; then + echo "Successfully compiled ${repo_name}.dll" + else + echo "Error during compilation of ${repo_name}.dll" + exit 1 + fi + done + else + echo "Unsupported operating system: $OS" + exit 1 + fi + + echo "Compilation complete for: $repo_name" +done diff --git a/src/AIAssist/AIAssist.csproj b/src/AIAssist/AIAssist.csproj index 9f2ab60..9a50325 100644 --- a/src/AIAssist/AIAssist.csproj +++ b/src/AIAssist/AIAssist.csproj @@ -1,6 +1,12 @@  + + + + + true + aiassist Exe AIAssist @@ -39,4 +45,29 @@ + + + + + + + + + + + + + + + + + true + tools\$(TargetFramework)\any + + + true + tools\$(TargetFramework)\any + + + diff --git a/src/AIAssist/AIAssist.nuspec b/src/AIAssist/AIAssist.nuspec new file mode 100644 index 0000000..6089a18 --- /dev/null +++ b/src/AIAssist/AIAssist.nuspec @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + AIAssist + AIAssist + $version$ + Mehdi Hadeli + Mehdi Hadeli + Apache-2.0 + https://github.com/mehdihadeli/AIAssist + ai gpt ollama azure-ai + + Context aware AI coding assistant inside terminal to help in code development, code explanation, + code refactor and review, bug fix and chat with supporting local and online language models. + + + Context aware AI coding assistant inside terminal to help in code development, code explanation, code + refactor and review, bug fix and chat with supporting local and online language models. + + Copyright © Mehdi Hadeli + + + + + + + + + + + + + + + diff --git a/src/AIAssist/DotnetToolSettings.xml b/src/AIAssist/DotnetToolSettings.xml new file mode 100644 index 0000000..dce492d --- /dev/null +++ b/src/AIAssist/DotnetToolSettings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/AIAssist/Services/EmbeddingService.cs b/src/AIAssist/Services/EmbeddingService.cs index 249a9e8..99a3f65 100644 --- a/src/AIAssist/Services/EmbeddingService.cs +++ b/src/AIAssist/Services/EmbeddingService.cs @@ -32,6 +32,7 @@ ChatSession chatSession { var batchInputs = batch.GetBatchInputs(); var embeddingResult = await llmClientManager.GetEmbeddingAsync(batchInputs, null).ConfigureAwait(false); + await Task.Delay(TimeSpan.FromSeconds(1)).ConfigureAwait(false); int resultIndex = 0; foreach (var fileChunkGroup in batch.Files) diff --git a/src/AIAssist/build-out/AIAssist.deps.json b/src/AIAssist/build-out/AIAssist.deps.json new file mode 100644 index 0000000..8b411b3 --- /dev/null +++ b/src/AIAssist/build-out/AIAssist.deps.json @@ -0,0 +1,1314 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "AIAssist/1.0.0": { + "dependencies": { + "BuildingBlocks": "1.0.0", + "Clients": "1.0.0", + "Meziantou.Analyzer": "1.0.692", + "TreeSitter.Bindings": "1.0.0" + }, + "runtime": { + "AIAssist.dll": {} + } + }, + "AngleSharp/1.1.2": { + "dependencies": { + "System.Text.Encoding.CodePages": "8.0.0" + }, + "runtime": { + "lib/net8.0/AngleSharp.dll": { + "assemblyVersion": "1.1.2.0", + "fileVersion": "1.1.2.0" + } + } + }, + "ColorCode.Core/2.0.15": { + "runtime": { + "lib/netstandard2.0/ColorCode.Core.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.15.59" + } + } + }, + "ColorCode.HTML/2.0.15": { + "dependencies": { + "ColorCode.Core": "2.0.15" + }, + "runtime": { + "lib/netstandard2.0/ColorCode.HTML.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.15.59" + } + } + }, + "Google.Protobuf/3.19.6": { + "runtime": { + "lib/net5.0/Google.Protobuf.dll": { + "assemblyVersion": "3.19.6.0", + "fileVersion": "3.19.6.0" + } + } + }, + "Humanizer.Core/2.14.1": { + "runtime": { + "lib/net6.0/Humanizer.dll": { + "assemblyVersion": "2.14.0.0", + "fileVersion": "2.14.1.48190" + } + } + }, + "Markdig/0.38.0": { + "runtime": { + "lib/net8.0/Markdig.dll": { + "assemblyVersion": "0.38.0.0", + "fileVersion": "0.38.0.0" + } + } + }, + "Meziantou.Analyzer/1.0.692": {}, + "Microsoft.Bcl.AsyncInterfaces/6.0.0": { + "runtime": { + "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.CodeAnalysis.Analyzers/3.3.4": {}, + "Microsoft.CodeAnalysis.Common/4.11.0": { + "dependencies": { + "Microsoft.CodeAnalysis.Analyzers": "3.3.4", + "System.Collections.Immutable": "8.0.0", + "System.Reflection.Metadata": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.CodeAnalysis.dll": { + "assemblyVersion": "4.11.0.0", + "fileVersion": "4.1100.24.37604" + } + }, + "resources": { + "lib/net8.0/cs/Microsoft.CodeAnalysis.resources.dll": { + "locale": "cs" + }, + "lib/net8.0/de/Microsoft.CodeAnalysis.resources.dll": { + "locale": "de" + }, + "lib/net8.0/es/Microsoft.CodeAnalysis.resources.dll": { + "locale": "es" + }, + "lib/net8.0/fr/Microsoft.CodeAnalysis.resources.dll": { + "locale": "fr" + }, + "lib/net8.0/it/Microsoft.CodeAnalysis.resources.dll": { + "locale": "it" + }, + "lib/net8.0/ja/Microsoft.CodeAnalysis.resources.dll": { + "locale": "ja" + }, + "lib/net8.0/ko/Microsoft.CodeAnalysis.resources.dll": { + "locale": "ko" + }, + "lib/net8.0/pl/Microsoft.CodeAnalysis.resources.dll": { + "locale": "pl" + }, + "lib/net8.0/pt-BR/Microsoft.CodeAnalysis.resources.dll": { + "locale": "pt-BR" + }, + "lib/net8.0/ru/Microsoft.CodeAnalysis.resources.dll": { + "locale": "ru" + }, + "lib/net8.0/tr/Microsoft.CodeAnalysis.resources.dll": { + "locale": "tr" + }, + "lib/net8.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll": { + "locale": "zh-Hans" + }, + "lib/net8.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "Microsoft.CodeAnalysis.CSharp/4.11.0": { + "dependencies": { + "Microsoft.CodeAnalysis.Analyzers": "3.3.4", + "Microsoft.CodeAnalysis.Common": "4.11.0", + "System.Collections.Immutable": "8.0.0", + "System.Reflection.Metadata": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.CodeAnalysis.CSharp.dll": { + "assemblyVersion": "4.11.0.0", + "fileVersion": "4.1100.24.37604" + } + }, + "resources": { + "lib/net8.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "cs" + }, + "lib/net8.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "de" + }, + "lib/net8.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "es" + }, + "lib/net8.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "fr" + }, + "lib/net8.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "it" + }, + "lib/net8.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "ja" + }, + "lib/net8.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "ko" + }, + "lib/net8.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "pl" + }, + "lib/net8.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "pt-BR" + }, + "lib/net8.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "ru" + }, + "lib/net8.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "tr" + }, + "lib/net8.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "zh-Hans" + }, + "lib/net8.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "Microsoft.Extensions.Configuration/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.Configuration.Binder/8.0.2": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.724.31311" + } + } + }, + "Microsoft.Extensions.Configuration.CommandLine/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions/8.0.1": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Physical": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.724.31311" + } + } + }, + "Microsoft.Extensions.Configuration.Json/8.0.1": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "8.0.1", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Json.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Configuration.UserSecrets/8.0.1": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.Json": "8.0.1", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Physical": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.UserSecrets.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.DependencyModel/8.0.1": { + "dependencies": { + "System.Text.Encodings.Web": "8.0.0", + "System.Text.Json": "8.0.4" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyModel.dll": { + "assemblyVersion": "8.0.0.1", + "fileVersion": "8.0.724.31311" + } + } + }, + "Microsoft.Extensions.Diagnostics/8.0.1": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.1", + "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Diagnostics.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Diagnostics.Abstractions/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical/8.0.0": { + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.FileSystemGlobbing/8.0.0": {}, + "Microsoft.Extensions.Hosting/8.0.1": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.Binder": "8.0.2", + "Microsoft.Extensions.Configuration.CommandLine": "8.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "8.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "8.0.1", + "Microsoft.Extensions.Configuration.Json": "8.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "8.0.1", + "Microsoft.Extensions.DependencyInjection": "8.0.1", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Diagnostics": "8.0.1", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Physical": "8.0.0", + "Microsoft.Extensions.Hosting.Abstractions": "8.0.1", + "Microsoft.Extensions.Logging": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging.Configuration": "8.0.1", + "Microsoft.Extensions.Logging.Console": "8.0.1", + "Microsoft.Extensions.Logging.Debug": "8.0.1", + "Microsoft.Extensions.Logging.EventLog": "8.0.1", + "Microsoft.Extensions.Logging.EventSource": "8.0.1", + "Microsoft.Extensions.Options": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Hosting.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Hosting.Abstractions/8.0.1": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.1", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Http/8.0.1": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Diagnostics": "8.0.1", + "Microsoft.Extensions.Logging": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Http.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging.Configuration/8.0.1": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.Binder": "8.0.2", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2", + "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging.Console/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging.Configuration": "8.0.1", + "Microsoft.Extensions.Options": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Console.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging.Debug/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Debug.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging.EventLog/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2", + "System.Diagnostics.EventLog": "8.0.1" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.EventLog.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging.EventSource/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.EventSource.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Options/8.0.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.224.6711" + } + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.Binder": "8.0.2", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.Primitives/8.0.0": {}, + "Microsoft.ML.Tokenizers/0.22.0-preview.24378.1": { + "dependencies": { + "Google.Protobuf": "3.19.6", + "System.Text.Json": "8.0.4" + }, + "runtime": { + "lib/net8.0/Microsoft.ML.Tokenizers.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "0.2200.24.37801" + } + } + }, + "Polly/8.4.2": { + "dependencies": { + "Polly.Core": "8.4.2" + }, + "runtime": { + "lib/net6.0/Polly.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.4.2.3950" + } + } + }, + "Polly.Core/8.4.2": { + "runtime": { + "lib/net8.0/Polly.Core.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.4.2.3950" + } + } + }, + "Serilog/4.0.1": { + "runtime": { + "lib/net8.0/Serilog.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.0.0.0" + } + } + }, + "Serilog.AspNetCore/8.0.2": { + "dependencies": { + "Microsoft.Extensions.Logging": "8.0.1", + "Serilog": "4.0.1", + "Serilog.Extensions.Hosting": "8.0.0", + "Serilog.Formatting.Compact": "2.0.0", + "Serilog.Settings.Configuration": "8.0.2", + "Serilog.Sinks.Console": "6.0.0", + "Serilog.Sinks.Debug": "2.0.0", + "Serilog.Sinks.File": "5.0.0" + }, + "runtime": { + "lib/net8.0/Serilog.AspNetCore.dll": { + "assemblyVersion": "8.0.2.0", + "fileVersion": "8.0.2.0" + } + } + }, + "Serilog.Extensions.Hosting/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Hosting.Abstractions": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Serilog": "4.0.1", + "Serilog.Extensions.Logging": "8.0.0" + }, + "runtime": { + "lib/net8.0/Serilog.Extensions.Hosting.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "8.0.0.0" + } + } + }, + "Serilog.Extensions.Logging/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Logging": "8.0.1", + "Serilog": "4.0.1" + }, + "runtime": { + "lib/net8.0/Serilog.Extensions.Logging.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "8.0.0.0" + } + } + }, + "Serilog.Formatting.Compact/2.0.0": { + "dependencies": { + "Serilog": "4.0.1" + }, + "runtime": { + "lib/net7.0/Serilog.Formatting.Compact.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.0.0" + } + } + }, + "Serilog.Settings.Configuration/8.0.2": { + "dependencies": { + "Microsoft.Extensions.Configuration.Binder": "8.0.2", + "Microsoft.Extensions.DependencyModel": "8.0.1", + "Serilog": "4.0.1" + }, + "runtime": { + "lib/net8.0/Serilog.Settings.Configuration.dll": { + "assemblyVersion": "8.0.2.0", + "fileVersion": "8.0.2.0" + } + } + }, + "Serilog.Sinks.Console/6.0.0": { + "dependencies": { + "Serilog": "4.0.1" + }, + "runtime": { + "lib/net8.0/Serilog.Sinks.Console.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.0.0" + } + } + }, + "Serilog.Sinks.Debug/2.0.0": { + "dependencies": { + "Serilog": "4.0.1" + }, + "runtime": { + "lib/netstandard2.1/Serilog.Sinks.Debug.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.0.0" + } + } + }, + "Serilog.Sinks.File/5.0.0": { + "dependencies": { + "Serilog": "4.0.1" + }, + "runtime": { + "lib/net5.0/Serilog.Sinks.File.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "Spectre.Console/0.49.1": { + "runtime": { + "lib/net8.0/Spectre.Console.dll": { + "assemblyVersion": "0.0.0.0", + "fileVersion": "0.49.1.0" + } + } + }, + "Spectre.Console.Cli/0.49.1": { + "dependencies": { + "Spectre.Console": "0.49.1" + }, + "runtime": { + "lib/net8.0/Spectre.Console.Cli.dll": { + "assemblyVersion": "0.0.0.0", + "fileVersion": "0.49.1.0" + } + }, + "resources": { + "lib/net8.0/de/Spectre.Console.Cli.resources.dll": { + "locale": "de" + }, + "lib/net8.0/fr/Spectre.Console.Cli.resources.dll": { + "locale": "fr" + }, + "lib/net8.0/sv/Spectre.Console.Cli.resources.dll": { + "locale": "sv" + } + } + }, + "System.Collections.Immutable/8.0.0": {}, + "System.CommandLine/2.0.0-beta4.22272.1": { + "runtime": { + "lib/net6.0/System.CommandLine.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.22.27201" + } + }, + "resources": { + "lib/net6.0/cs/System.CommandLine.resources.dll": { + "locale": "cs" + }, + "lib/net6.0/de/System.CommandLine.resources.dll": { + "locale": "de" + }, + "lib/net6.0/es/System.CommandLine.resources.dll": { + "locale": "es" + }, + "lib/net6.0/fr/System.CommandLine.resources.dll": { + "locale": "fr" + }, + "lib/net6.0/it/System.CommandLine.resources.dll": { + "locale": "it" + }, + "lib/net6.0/ja/System.CommandLine.resources.dll": { + "locale": "ja" + }, + "lib/net6.0/ko/System.CommandLine.resources.dll": { + "locale": "ko" + }, + "lib/net6.0/pl/System.CommandLine.resources.dll": { + "locale": "pl" + }, + "lib/net6.0/pt-BR/System.CommandLine.resources.dll": { + "locale": "pt-BR" + }, + "lib/net6.0/ru/System.CommandLine.resources.dll": { + "locale": "ru" + }, + "lib/net6.0/tr/System.CommandLine.resources.dll": { + "locale": "tr" + }, + "lib/net6.0/zh-Hans/System.CommandLine.resources.dll": { + "locale": "zh-Hans" + }, + "lib/net6.0/zh-Hant/System.CommandLine.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "System.CommandLine.NamingConventionBinder/2.0.0-beta4.22272.1": { + "dependencies": { + "System.CommandLine": "2.0.0-beta4.22272.1" + }, + "runtime": { + "lib/netstandard2.0/System.CommandLine.NamingConventionBinder.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.22.27201" + } + } + }, + "System.Diagnostics.EventLog/8.0.1": { + "runtime": { + "lib/net8.0/System.Diagnostics.EventLog.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + }, + "runtimeTargets": { + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "System.Linq.Async/6.0.1": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "6.0.0" + }, + "runtime": { + "lib/net6.0/System.Linq.Async.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.1.35981" + } + } + }, + "System.Reflection.Metadata/8.0.0": { + "dependencies": { + "System.Collections.Immutable": "8.0.0" + } + }, + "System.Text.Encoding.CodePages/8.0.0": {}, + "System.Text.Encodings.Web/8.0.0": {}, + "System.Text.Json/8.0.4": { + "dependencies": { + "System.Text.Encodings.Web": "8.0.0" + } + }, + "BuildingBlocks/1.0.0": { + "dependencies": { + "AngleSharp": "1.1.2", + "ColorCode.HTML": "2.0.15", + "Humanizer.Core": "2.14.1", + "Markdig": "0.38.0", + "Microsoft.CodeAnalysis.CSharp": "4.11.0", + "Microsoft.Extensions.DependencyInjection": "8.0.1", + "Microsoft.Extensions.FileSystemGlobbing": "8.0.0", + "Microsoft.Extensions.Hosting": "8.0.1", + "Microsoft.Extensions.Http": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.ML.Tokenizers": "0.22.0-preview.24378.1", + "Serilog": "4.0.1", + "Serilog.AspNetCore": "8.0.2", + "Serilog.Extensions.Hosting": "8.0.0", + "Serilog.Sinks.Console": "6.0.0", + "Spectre.Console": "0.49.1", + "Spectre.Console.Cli": "0.49.1", + "System.CommandLine": "2.0.0-beta4.22272.1", + "System.CommandLine.NamingConventionBinder": "2.0.0-beta4.22272.1", + "System.Linq.Async": "6.0.1" + }, + "runtime": { + "BuildingBlocks.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Clients/1.0.0": { + "dependencies": { + "BuildingBlocks": "1.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Polly": "8.4.2" + }, + "runtime": { + "Clients.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "TreeSitter.Bindings/1.0.0": { + "dependencies": { + "BuildingBlocks": "1.0.0" + }, + "runtime": { + "TreeSitter.Bindings.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "AIAssist/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "AngleSharp/1.1.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aRFpAqixbuj1Vmqy2hsWPF0PJygo1SfjvmpBvVWZv6i+/u+C/L4wDdwFIzyCGUbjqr61NsZdPNPqDE8wlmG2qA==", + "path": "anglesharp/1.1.2", + "hashPath": "anglesharp.1.1.2.nupkg.sha512" + }, + "ColorCode.Core/2.0.15": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hHU8nzyapaQJUjeGp/T2SRDPLWbNCpCS67SDwSvF2pLMbq3Xe1PUGG8MUM63C3bG9tz9WrI7Rdd/VaTfHh/7qQ==", + "path": "colorcode.core/2.0.15", + "hashPath": "colorcode.core.2.0.15.nupkg.sha512" + }, + "ColorCode.HTML/2.0.15": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8dZYz8q6nueMXUoDPvQqShz7mCjBa7vEBOiPKKEpZ7VhnCEb10GGFcy5eAnaI5UgXkGU06yXWJY/OJmxzbQuwQ==", + "path": "colorcode.html/2.0.15", + "hashPath": "colorcode.html.2.0.15.nupkg.sha512" + }, + "Google.Protobuf/3.19.6": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I+gb51P2GrzyXkUD9y60pMzA6ox4d3ByvXCm5OYZsAii2/fs5S5cuKiEIoaseEv26cdIAnKL4W7W5W0QO0Iobw==", + "path": "google.protobuf/3.19.6", + "hashPath": "google.protobuf.3.19.6.nupkg.sha512" + }, + "Humanizer.Core/2.14.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==", + "path": "humanizer.core/2.14.1", + "hashPath": "humanizer.core.2.14.1.nupkg.sha512" + }, + "Markdig/0.38.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zKy3JFjQvr1wbuMtbfcZVjNNCIqHxSCjGMq/CBcyNsY/MPsxqcS3o8M7CZ2kcMGGIw5LI2ZZd8rFUaFeV6SvrQ==", + "path": "markdig/0.38.0", + "hashPath": "markdig.0.38.0.nupkg.sha512" + }, + "Meziantou.Analyzer/1.0.692": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8+i11JYXtLtqc0b5QtGFxw37veie5hi40SYVjNCG9M28DW/vFLkYCNB5ZcpVOd2mSQiPeTfyQcUq5KbnpRSGVA==", + "path": "meziantou.analyzer/1.0.692", + "hashPath": "meziantou.analyzer.1.0.692.nupkg.sha512" + }, + "Microsoft.Bcl.AsyncInterfaces/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==", + "path": "microsoft.bcl.asyncinterfaces/6.0.0", + "hashPath": "microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.Analyzers/3.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g==", + "path": "microsoft.codeanalysis.analyzers/3.3.4", + "hashPath": "microsoft.codeanalysis.analyzers.3.3.4.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.Common/4.11.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-djf8ujmqYImFgB04UGtcsEhHrzVqzHowS+EEl/Yunc5LdrYrZhGBWUTXoCF0NzYXJxtfuD+UVQarWpvrNc94Qg==", + "path": "microsoft.codeanalysis.common/4.11.0", + "hashPath": "microsoft.codeanalysis.common.4.11.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.CSharp/4.11.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6XYi2EusI8JT4y2l/F3VVVS+ISoIX9nqHsZRaG6W5aFeJ5BEuBosHfT/ABb73FN0RZ1Z3cj2j7cL28SToJPXOw==", + "path": "microsoft.codeanalysis.csharp/4.11.0", + "hashPath": "microsoft.codeanalysis.csharp.4.11.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0J/9YNXTMWSZP2p2+nvl8p71zpSwokZXZuJW+VjdErkegAnFdO1XlqtA62SJtgVYHdKu3uPxJHcMR/r35HwFBA==", + "path": "microsoft.extensions.configuration/8.0.0", + "hashPath": "microsoft.extensions.configuration.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "path": "microsoft.extensions.configuration.abstractions/8.0.0", + "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Binder/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7IQhGK+wjyGrNsPBjJcZwWAr+Wf6D4+TwOptUt77bWtgNkiV8tDEbhFS+dDamtQFZ2X7kWG9m71iZQRj2x3zgQ==", + "path": "microsoft.extensions.configuration.binder/8.0.2", + "hashPath": "microsoft.extensions.configuration.binder.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.CommandLine/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NZuZMz3Q8Z780nKX3ifV1fE7lS+6pynDHK71OfU4OZ1ItgvDOhyOC7E6z+JMZrAj63zRpwbdldYFk499t3+1dQ==", + "path": "microsoft.extensions.configuration.commandline/8.0.0", + "hashPath": "microsoft.extensions.configuration.commandline.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-plvZ0ZIpq+97gdPNNvhwvrEZ92kNml9hd1pe3idMA7svR0PztdzVLkoWLcRFgySYXUJc3kSM3Xw3mNFMo/bxRA==", + "path": "microsoft.extensions.configuration.environmentvariables/8.0.0", + "hashPath": "microsoft.extensions.configuration.environmentvariables.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.FileExtensions/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-EJzSNO9oaAXnTdtdNO6npPRsIIeZCBSNmdQ091VDO7fBiOtJAAeEq6dtrVXIi3ZyjC5XRSAtVvF8SzcneRHqKQ==", + "path": "microsoft.extensions.configuration.fileextensions/8.0.1", + "hashPath": "microsoft.extensions.configuration.fileextensions.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Json/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-L89DLNuimOghjV3tLx0ArFDwVEJD6+uGB3BMCMX01kaLzXkaXHb2021xOMl2QOxUxbdePKUZsUY7n2UUkycjRg==", + "path": "microsoft.extensions.configuration.json/8.0.1", + "hashPath": "microsoft.extensions.configuration.json.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.UserSecrets/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7tYqdPPpAK+3jO9d5LTuCK2VxrEdf85Ol4trUr6ds4jclBecadWZ/RyPCbNjfbN5iGTfUnD/h65TOQuqQv2c+A==", + "path": "microsoft.extensions.configuration.usersecrets/8.0.1", + "hashPath": "microsoft.extensions.configuration.usersecrets.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==", + "path": "microsoft.extensions.dependencyinjection/8.0.1", + "hashPath": "microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyModel/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5Ou6varcxLBzQ+Agfm0k0pnH7vrEITYlXMDuE6s7ZHlZHz6/G8XJ3iISZDr5rfwfge6RnXJ1+Wc479mMn52vjA==", + "path": "microsoft.extensions.dependencymodel/8.0.1", + "hashPath": "microsoft.extensions.dependencymodel.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Diagnostics/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-doVPCUUCY7c6LhBsEfiy3W1bvS7Mi6LkfQMS8nlC22jZWNxBv8VO8bdfeyvpYFst6Kxqk7HBC6lytmEoBssvSQ==", + "path": "microsoft.extensions.diagnostics/8.0.1", + "hashPath": "microsoft.extensions.diagnostics.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Diagnostics.Abstractions/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-elH2vmwNmsXuKmUeMQ4YW9ldXiF+gSGDgg1vORksob5POnpaI6caj1Hu8zaYbEuibhqCoWg0YRWDazBY3zjBfg==", + "path": "microsoft.extensions.diagnostics.abstractions/8.0.1", + "hashPath": "microsoft.extensions.diagnostics.abstractions.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==", + "path": "microsoft.extensions.fileproviders.abstractions/8.0.0", + "hashPath": "microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileProviders.Physical/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UboiXxpPUpwulHvIAVE36Knq0VSHaAmfrFkegLyBZeaADuKezJ/AIXYAW8F5GBlGk/VaibN2k/Zn1ca8YAfVdA==", + "path": "microsoft.extensions.fileproviders.physical/8.0.0", + "hashPath": "microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileSystemGlobbing/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OK+670i7esqlQrPjdIKRbsyMCe9g5kSLpRRQGSr4Q58AOYEe/hCnfLZprh7viNisSUUQZmMrbbuDaIrP+V1ebQ==", + "path": "microsoft.extensions.filesystemglobbing/8.0.0", + "hashPath": "microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Hosting/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bP9EEkHBEfjgYiG8nUaXqMk/ujwJrffOkNPP7onpRMO8R+OUSESSP4xHkCAXgYZ1COP2Q9lXlU5gkMFh20gRuw==", + "path": "microsoft.extensions.hosting/8.0.1", + "hashPath": "microsoft.extensions.hosting.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Hosting.Abstractions/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nHwq9aPBdBPYXPti6wYEEfgXddfBrYC+CQLn+qISiwQq5tpfaqDZSKOJNxoe9rfQxGf1c+2wC/qWFe1QYJPYqw==", + "path": "microsoft.extensions.hosting.abstractions/8.0.1", + "hashPath": "microsoft.extensions.hosting.abstractions.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Http/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kDYeKJUzh0qeg/AI+nSr3ffthmXYQTEb0nS9qRC7YhSbbuN4M4NPbaB77AJwtkTnCV9XZ7qYj3dkZaNcyl73EA==", + "path": "microsoft.extensions.http/8.0.1", + "hashPath": "microsoft.extensions.http.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4x+pzsQEbqxhNf1QYRr5TDkLP9UsLT3A6MdRKDDEgrW7h1ljiEPgTNhKYUhNCCAaVpQECVQ+onA91PTPnIp6Lw==", + "path": "microsoft.extensions.logging/8.0.1", + "hashPath": "microsoft.extensions.logging.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nroMDjS7hNBPtkZqVBbSiQaQjWRDxITI8Y7XnDs97rqG3EbzVTNLZQf7bIeUJcaHOV8bca47s1Uxq94+2oGdxA==", + "path": "microsoft.extensions.logging.abstractions/8.0.2", + "hashPath": "microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Configuration/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QWwTrsgOnJMmn+XUslm8D2H1n3PkP/u/v52FODtyBc/k4W9r3i2vcXXeeX/upnzllJYRRbrzVzT0OclfNJtBJA==", + "path": "microsoft.extensions.logging.configuration/8.0.1", + "hashPath": "microsoft.extensions.logging.configuration.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Console/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uzcg/5U2eLyn5LIKlERkdSxw6VPC1yydnOSQiRRWGBGN3kphq3iL4emORzrojScDmxRhv49gp5BI8U3Dz7y4iA==", + "path": "microsoft.extensions.logging.console/8.0.1", + "hashPath": "microsoft.extensions.logging.console.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Debug/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B8hqNuYudC2RB+L/DI33uO4rf5by41fZVdcVL2oZj0UyoAZqnwTwYHp1KafoH4nkl1/23piNeybFFASaV2HkFg==", + "path": "microsoft.extensions.logging.debug/8.0.1", + "hashPath": "microsoft.extensions.logging.debug.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.EventLog/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZD1m4GXoxcZeDJIq8qePKj+QAWeQNO/OG8skvrOG8RQfxLp9MAKRoliTc27xanoNUzeqvX5HhS/I7c0BvwAYUg==", + "path": "microsoft.extensions.logging.eventlog/8.0.1", + "hashPath": "microsoft.extensions.logging.eventlog.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.EventSource/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YMXMAla6B6sEf/SnfZYTty633Ool3AH7KOw2LOaaEqwSo2piK4f7HMtzyc3CNiipDnq1fsUSuG5Oc7ZzpVy8WQ==", + "path": "microsoft.extensions.logging.eventsource/8.0.1", + "hashPath": "microsoft.extensions.logging.eventsource.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Options/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==", + "path": "microsoft.extensions.options/8.0.2", + "hashPath": "microsoft.extensions.options.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0f4DMRqEd50zQh+UyJc+/HiBsZ3vhAQALgdkcQEalSH1L2isdC7Yj54M3cyo5e+BeO5fcBQ7Dxly8XiBBcvRgw==", + "path": "microsoft.extensions.options.configurationextensions/8.0.0", + "hashPath": "microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "path": "microsoft.extensions.primitives/8.0.0", + "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512" + }, + "Microsoft.ML.Tokenizers/0.22.0-preview.24378.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-f+iWRizqQtf5Y1ikhWreKUryHizbciL/mhh5fS2+hbu5ECgth2ZbI7KSi9otQOe3z3PFPp7USgUnyFIVav2Qhg==", + "path": "microsoft.ml.tokenizers/0.22.0-preview.24378.1", + "hashPath": "microsoft.ml.tokenizers.0.22.0-preview.24378.1.nupkg.sha512" + }, + "Polly/8.4.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/qfe/eoHQ9tJOGVmJ/y+fUvK5nHDrS0EZ/DguwYXGN8gnDwlUWdmPqUqoj0PJvg8awELac+9YL7W0GOd1vTORg==", + "path": "polly/8.4.2", + "hashPath": "polly.8.4.2.nupkg.sha512" + }, + "Polly.Core/8.4.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BpE2I6HBYYA5tF0Vn4eoQOGYTYIK1BlF5EXVgkWGn3mqUUjbXAr13J6fZVbp7Q3epRR8yshacBMlsHMhpOiV3g==", + "path": "polly.core/8.4.2", + "hashPath": "polly.core.8.4.2.nupkg.sha512" + }, + "Serilog/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pzeDRXdpSLSsgBHpZcmpIDxqMy845Ab4s+dfnBg0sN9h8q/4Wo3vAoe0QCGPze1Q06EVtEPupS+UvLm8iXQmTQ==", + "path": "serilog/4.0.1", + "hashPath": "serilog.4.0.1.nupkg.sha512" + }, + "Serilog.AspNetCore/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LNUd1bHsik2E7jSoCQFdeMGAWXjH7eUQ6c2pqm5vl+jGqvxdabYXxlrfaqApjtX5+BfAjW9jTA2EKmPwxknpIA==", + "path": "serilog.aspnetcore/8.0.2", + "hashPath": "serilog.aspnetcore.8.0.2.nupkg.sha512" + }, + "Serilog.Extensions.Hosting/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-db0OcbWeSCvYQkHWu6n0v40N4kKaTAXNjlM3BKvcbwvNzYphQFcBR+36eQ/7hMMwOkJvAyLC2a9/jNdUL5NjtQ==", + "path": "serilog.extensions.hosting/8.0.0", + "hashPath": "serilog.extensions.hosting.8.0.0.nupkg.sha512" + }, + "Serilog.Extensions.Logging/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YEAMWu1UnWgf1c1KP85l1SgXGfiVo0Rz6x08pCiPOIBt2Qe18tcZLvdBUuV5o1QHvrs8FAry9wTIhgBRtjIlEg==", + "path": "serilog.extensions.logging/8.0.0", + "hashPath": "serilog.extensions.logging.8.0.0.nupkg.sha512" + }, + "Serilog.Formatting.Compact/2.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ob6z3ikzFM3D1xalhFuBIK1IOWf+XrQq+H4KeH4VqBcPpNcmUgZlRQ2h3Q7wvthpdZBBoY86qZOI2LCXNaLlNA==", + "path": "serilog.formatting.compact/2.0.0", + "hashPath": "serilog.formatting.compact.2.0.0.nupkg.sha512" + }, + "Serilog.Settings.Configuration/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hn8HCAmupon7N0to20EwGeNJ+L3iRzjGzAHIl8+8CCFlEkVedHvS6NMYMb0VPNMsDgDwOj4cPBPV6Fc2hb0/7w==", + "path": "serilog.settings.configuration/8.0.2", + "hashPath": "serilog.settings.configuration.8.0.2.nupkg.sha512" + }, + "Serilog.Sinks.Console/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fQGWqVMClCP2yEyTXPIinSr5c+CBGUvBybPxjAGcf7ctDhadFhrQw03Mv8rJ07/wR5PDfFjewf2LimvXCDzpbA==", + "path": "serilog.sinks.console/6.0.0", + "hashPath": "serilog.sinks.console.6.0.0.nupkg.sha512" + }, + "Serilog.Sinks.Debug/2.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Y6g3OBJ4JzTyyw16fDqtFcQ41qQAydnEvEqmXjhwhgjsnG/FaJ8GUqF5ldsC/bVkK8KYmqrPhDO+tm4dF6xx4A==", + "path": "serilog.sinks.debug/2.0.0", + "hashPath": "serilog.sinks.debug.2.0.0.nupkg.sha512" + }, + "Serilog.Sinks.File/5.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uwV5hdhWPwUH1szhO8PJpFiahqXmzPzJT/sOijH/kFgUx+cyoDTMM8MHD0adw9+Iem6itoibbUXHYslzXsLEAg==", + "path": "serilog.sinks.file/5.0.0", + "hashPath": "serilog.sinks.file.5.0.0.nupkg.sha512" + }, + "Spectre.Console/0.49.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-USV+pdu49OJ3nCjxNuw1K9Zw/c1HCBbwbjXZp0EOn6wM99tFdAtN34KEBZUMyRuJuXlUMDqhd8Yq9obW2MslYA==", + "path": "spectre.console/0.49.1", + "hashPath": "spectre.console.0.49.1.nupkg.sha512" + }, + "Spectre.Console.Cli/0.49.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wBZzyEbKqfPFFUPhV5E7/k4Kwy4UDO42IVzvzk0C4Pkjjw+NSd0EOBkIutYET4vJY4X81pD9ooQO9gfBGXj4+g==", + "path": "spectre.console.cli/0.49.1", + "hashPath": "spectre.console.cli.0.49.1.nupkg.sha512" + }, + "System.Collections.Immutable/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==", + "path": "system.collections.immutable/8.0.0", + "hashPath": "system.collections.immutable.8.0.0.nupkg.sha512" + }, + "System.CommandLine/2.0.0-beta4.22272.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1uqED/q2H0kKoLJ4+hI2iPSBSEdTuhfCYADeJrAqERmiGQ2NNacYKRNEQ+gFbU4glgVyK8rxI+ZOe1onEtr/Pg==", + "path": "system.commandline/2.0.0-beta4.22272.1", + "hashPath": "system.commandline.2.0.0-beta4.22272.1.nupkg.sha512" + }, + "System.CommandLine.NamingConventionBinder/2.0.0-beta4.22272.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ux2eUA/syF+JtlpMDc/Lsd6PBIBuwjH3AvHnestoh5uD0WKT5b+wkQxDWVCqp9qgVjMBTLNhX19ZYFtenunt9A==", + "path": "system.commandline.namingconventionbinder/2.0.0-beta4.22272.1", + "hashPath": "system.commandline.namingconventionbinder.2.0.0-beta4.22272.1.nupkg.sha512" + }, + "System.Diagnostics.EventLog/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-n1ZP7NM2Gkn/MgD8+eOT5MulMj6wfeQMNS2Pizvq5GHCZfjlFMXV2irQlQmJhwA2VABC57M0auudO89Iu2uRLg==", + "path": "system.diagnostics.eventlog/8.0.1", + "hashPath": "system.diagnostics.eventlog.8.0.1.nupkg.sha512" + }, + "System.Linq.Async/6.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", + "path": "system.linq.async/6.0.1", + "hashPath": "system.linq.async.6.0.1.nupkg.sha512" + }, + "System.Reflection.Metadata/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ptvgrFh7PvWI8bcVqG5rsA/weWM09EnthFHR5SCnS6IN+P4mj6rE1lBDC4U8HL9/57htKAqy4KQ3bBj84cfYyQ==", + "path": "system.reflection.metadata/8.0.0", + "hashPath": "system.reflection.metadata.8.0.0.nupkg.sha512" + }, + "System.Text.Encoding.CodePages/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OZIsVplFGaVY90G2SbpgU7EnCoOO5pw1t4ic21dBF3/1omrJFpAGoNAVpPyMVOC90/hvgkGG3VFqR13YgZMQfg==", + "path": "system.text.encoding.codepages/8.0.0", + "hashPath": "system.text.encoding.codepages.8.0.0.nupkg.sha512" + }, + "System.Text.Encodings.Web/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==", + "path": "system.text.encodings.web/8.0.0", + "hashPath": "system.text.encodings.web.8.0.0.nupkg.sha512" + }, + "System.Text.Json/8.0.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bAkhgDJ88XTsqczoxEMliSrpijKZHhbJQldhAmObj/RbrN3sU5dcokuXmWJWsdQAhiMJ9bTayWsL1C9fbbCRhw==", + "path": "system.text.json/8.0.4", + "hashPath": "system.text.json.8.0.4.nupkg.sha512" + }, + "BuildingBlocks/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Clients/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "TreeSitter.Bindings/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/src/AIAssist/build-out/AIAssist.exe b/src/AIAssist/build-out/AIAssist.exe new file mode 100644 index 0000000000000000000000000000000000000000..d6c73b6d167d2582b33d7e39d0231eb935e07562 GIT binary patch literal 138752 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.0 enable enable + x64 diff --git a/src/TreeSitter.Bindings/TreeSitter.Bindings.csproj b/src/TreeSitter.Bindings/TreeSitter.Bindings.csproj index 59e53f4..5aa6f2e 100644 --- a/src/TreeSitter.Bindings/TreeSitter.Bindings.csproj +++ b/src/TreeSitter.Bindings/TreeSitter.Bindings.csproj @@ -4,10 +4,7 @@ true - - - - + diff --git a/version.json b/version.json index c2dd7e8..acdabd7 100644 --- a/version.json +++ b/version.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", - "version": "1.0-preview", + "version": "1.0.0", "gitCommitIdShortAutoMinimum": 7, "nugetPackageVersion": { "semVer": 2