diff --git a/.changes/header.tpl.md b/.changes/header.tpl.md new file mode 100644 index 000000000000..df8faa7b2d5a --- /dev/null +++ b/.changes/header.tpl.md @@ -0,0 +1,6 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html), +and is generated by [Changie](https://github.com/miniscruff/changie). diff --git a/.changes/unreleased/.gitkeep b/.changes/unreleased/.gitkeep new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/.changes/v0.11.0.md b/.changes/v0.11.0.md new file mode 100644 index 000000000000..9a88a0712935 --- /dev/null +++ b/.changes/v0.11.0.md @@ -0,0 +1,195 @@ +## v0.11.0 (05/10/2024) + +### Notice + +* The `--webserver` flag is now enabled by default in `tabby serve`. To turn off the webserver and only use OSS features, use the `--no-webserver` flag. +* The `/v1beta/chat/completions` endpoint has been moved to `/v1/chat/completions`, while the old endpoint is still available for backward compatibility. + +### Features +* Upgraded [llama.cpp](https://github.com/ggerganov/llama.cpp) to version [b2715](https://github.com/ggerganov/llama.cpp/releases/tag/b2715). +* Added support for integrating repositories from GitHub and GitLab using personal access tokens. +* Introduced a new **Activities** page to view user activities. +* Implemented incremental indexing for faster repository context updates. +* Added storage usage statistics in the **System** page. +* Included an `Ask Tabby` feature in the source code browser to provide in-context help from AI. + +### Fixes and Improvements +* Changed the default model filename from `q8_0.v2.gguf` to `model.gguf` in MODEL_SPEC.md. +* Excluded activities from deactivated users in reports. + +## v0.10.0 (04/22/2024) + +### Features +* Introduced the `--chat-device` flag to specify the device used to run the chat model. +* Added a "Reports" tab in the web interface, which provides team-wise statistics for Tabby IDE and Extensions usage (e.g., completions, acceptances). +* Enabled the use of segmented models with the `tabby download` command. +* Implemented the "Go to file" functionality in the Code Browser. + +### Fixes and Improvements +* Fix worker unregisteration misfunctioning caused by unmatched address. +* Accurate repository context filtering using fuzzy matching on `git_url` field. +* Support the use of client-side context, including function/class declarations from LSP, and relevant snippets from local changed files. + +## v0.9.1 (03/19/2024) + +### Fixes and Improvements +* Fix worker registration check against enterprise licenses. +* Fix default value of `disable_client_side_telemetry` when `--webserver` is not used. + +## v0.9.0 (03/06/2024) + +### Features + +* Support for SMTP configuration in the user management system. +* Support for SSO and team management as features in the Enterprise tier. +* Fully managed repository indexing using `--webserver`, with job history logging available in the web interface. + +## v0.8.3 (02/06/2024) + +### Fixes and Improvements + +* Ensure `~/.tabby/repositories` exists for tabby scheduler jobs: https://github.com/TabbyML/tabby/pull/1375 +* Add cpu only binary `tabby-cpu` to docker distribution. + +## v0.8.0 (02/02/2024) + +### Notice + +* Due to format changes, re-executing `tabby scheduler --now` is required to ensure that `Code Browser` functions properly. + +### Features + +* Introducing a preview release of the `Source Code Browser`, featuring visualization of code snippets utilized for code completion in RAG. +* Added a Windows CPU binary distribution. +* Added a Linux ROCm (AMD GPU) binary distribution. + +### Fixes and Improvements + +* Fixed an issue with cached permanent redirection in certain browsers (e.g., Chrome) when the `--webserver` flag is disabled. +* Introduced the `TABBY_MODEL_CACHE_ROOT` environment variable to individually override the model cache directory. +* The `/v1beta/chat/completions` API endpoint is now compatible with OpenAI's chat completion API. +* Models from our official registry can now be referred to without the TabbyML prefix. Therefore, for the model TabbyML/CodeLlama-7B, you can simply refer to it as CodeLlama-7B everywhere. + +## v0.7.0 (12/15/2023) + +### Features + +* Tabby now includes built-in user management and secure access, ensuring that it is only accessible to your team. +* The `--webserver` flag is a new addition to `tabby serve` that enables secure access to the tabby server. When this flag is on, IDE extensions will need to provide an authorization token to access the instance. + - Some functionalities that are bound to the webserver (e.g. playground) will also require the `--webserver` flag. + + +### Fixes and Improvements + +* Fix https://github.com/TabbyML/tabby/issues/1036, events log should be written to dated json files. + +## v0.6.0 (11/27/2023) + +### Features + +* Add distribution support (running completion / chat model on different process / machine). +* Add conversation history in chat playground. +* Add `/metrics` endpoint for prometheus metrics collection. + +### Fixes and Improvements + +* Fix the slow repository indexing due to constraint memory arena in tantivy index writer. +* Make `--model` optional, so users can create a chat only instance. +* Add `--parallelism` to control the throughput and VRAM usage: https://github.com/TabbyML/tabby/pull/727 + +## v0.5.5 (11/09/2023) + +### Fixes and Improvements + +### Notice + +* llama.cpp backend (CPU, Metal) now requires a redownload of gguf model due to upstream format changes: https://github.com/TabbyML/tabby/pull/645 https://github.com/ggerganov/llama.cpp/pull/3252 +* Due to indexing format changes, the `~/.tabby/index` needs to be manually removed before any further runs of `tabby scheduler`. +* `TABBY_REGISTRY` is replaced with `TABBY_DOWNLOAD_HOST` for the github based registry implementation. + +### Features + +* Improved dashboard UI. + +### Fixes and Improvements + +* Cpu backend is switched to llama.cpp: https://github.com/TabbyML/tabby/pull/638 +* add `server.completion_timeout` to control the code completion interface timeout: https://github.com/TabbyML/tabby/pull/637 +* Cuda backend is switched to llama.cpp: https://github.com/TabbyML/tabby/pull/656 +* Tokenizer implementation is switched to llama.cpp, so tabby no longer need to download additional tokenizer file: https://github.com/TabbyML/tabby/pull/683 +* Fix deadlock issue reported in https://github.com/TabbyML/tabby/issues/718 + +## v0.4.0 (10/24/2023) + +### Features + +* Supports golang: https://github.com/TabbyML/tabby/issues/553 +* Supports ruby: https://github.com/TabbyML/tabby/pull/597 +* Supports using local directory for `Repository.git_url`: use `file:///path/to/repo` to specify a local directory. +* A new UI design for webserver. + +### Fixes and Improvements + +* Improve snippets retrieval by dedup candidates to existing content + snippets: https://github.com/TabbyML/tabby/pull/582 + +## v0.3.1 (10/21/2023) +### Fixes and improvements + +* Fix GPU OOM issue caused the parallelism: https://github.com/TabbyML/tabby/issues/541, https://github.com/TabbyML/tabby/issues/587 +* Fix git safe directory check in docker: https://github.com/TabbyML/tabby/issues/569 + +## v0.3.0 (10/13/2023) + +### Features +#### Retrieval-Augmented Code Completion Enabled by Default + +The currently supported languages are: + +* Rust +* Python +* JavaScript / JSX +* TypeScript / TSX + +A blog series detailing the technical aspects of Retrieval-Augmented Code Completion will be published soon. Stay tuned! + +### Fixes and Improvements + +* Fix [Issue #511](https://github.com/TabbyML/tabby/issues/511) by marking ggml models as optional. +* Improve stop words handling by combining RegexSet into Regex for efficiency. + +## v0.2.2 (10/09/2023) +### Fixes and improvements + +* Fix a critical issue that might cause request dead locking in ctranslate2 backend (when loading is heavy) + +## v0.2.1 (10/03/2023) +### Features +#### Chat Model & Web Interface + +We have introduced a new argument, `--chat-model`, which allows you to specify the model for the chat playground located at http://localhost:8080/playground + +To utilize this feature, use the following command in the terminal: + +```bash +tabby serve --device metal --model TabbyML/StarCoder-1B --chat-model TabbyML/Mistral-7B +``` + +#### ModelScope Model Registry + +Mainland Chinese users have been facing challenges accessing Hugging Face due to various reasons. The Tabby team is actively working to address this issue by mirroring models to a hosting provider in mainland China called modelscope.cn. + +```bash +## Download from the Modelscope registry +TABBY_REGISTRY=modelscope tabby download --model TabbyML/WizardCoder-1B +``` + +### Fixes and improvements + +* Implemented more accurate UTF-8 incremental decoding in the [GitHub pull request](https://github.com/TabbyML/tabby/pull/491). +* Fixed the stop words implementation by utilizing RegexSet to isolate the stop word group. +* Improved model downloading logic; now Tabby will attempt to fetch the latest model version if there's a remote change, and the local cache key becomes stale. +* set default num_replicas_per_device for ctranslate2 backend to increase parallelism. + + + +No releases yet, this file will be updated when generating your first release. \ No newline at end of file diff --git a/.changes/v0.11.1.md b/.changes/v0.11.1.md new file mode 100644 index 000000000000..659ee944b55f --- /dev/null +++ b/.changes/v0.11.1.md @@ -0,0 +1,6 @@ +## v0.11.1 (2024-05-14) + +### Fixed and Improvements + +* Fixed display of files where the path contains special characters. ([#2081](https://github.com/TabbyML/tabby/issues/2081)) +* Fixed non-admin users not being able to see the repository in Code Browser. ([#2110](https://github.com/TabbyML/tabby/discussions/2110)) diff --git a/.changes/v0.12.0.md b/.changes/v0.12.0.md new file mode 100644 index 000000000000..e950d91c39f9 --- /dev/null +++ b/.changes/v0.12.0.md @@ -0,0 +1,16 @@ +## v0.12.0 (2024-05-31) + +### Features + +* Support Gitlab SSO +* Support connect with Self-Hosted Github / Gitlab +* Repository Context is now utilizied in "Code Browser" as well + +### Fixed and Improvements + +* llama-server from llama.cpp is now distributed as an individual binary, allowing for more flexible configuration +* HTTP API is out of experimental - you can connect tabby to models through HTTP API. Right now following APIs are supported: + - llama.cpp + - ollama + - mistral / codestral + - openai diff --git a/.changes/v0.13.0.md b/.changes/v0.13.0.md new file mode 100644 index 000000000000..df0c3d9b7e16 --- /dev/null +++ b/.changes/v0.13.0.md @@ -0,0 +1,17 @@ +## v0.13.0 (2024-06-28) + +### Features + +* Introduced a new Home page featuring the Answer Engine, which activates when the chat model is loaded. +* Enhanced the Answer Engine's context by indexing issues and pull requests. +* Supports web page crawling to further enrich the Answer Engine's context. +* Enabled navigation through various git trees in the git browser. + +### Fixed and Improvements + +* Turn on sha256 checksum verification for model downloading. +* Added an environment variable `TABBY_HUGGINGFACE_HOST_OVERRIDE` to override `huggingface.co` with compatible mirrors (e.g., `hf-mirror.com`) for model downloading. +* Bumped `llama.cpp` version to [b3166](https://github.com/ggerganov/llama.cpp/releases/tag/3166). +* Improved logging for the `llama.cpp` backend. +* Added support for triggering background jobs in the admin UI. +* Enhanced logging for backend jobs in the admin UI. diff --git a/.changes/v0.13.1.md b/.changes/v0.13.1.md new file mode 100644 index 000000000000..c13b7ad7160a --- /dev/null +++ b/.changes/v0.13.1.md @@ -0,0 +1,7 @@ +## v0.13.1 (2024-07-10) + +### Fixed and Improvements + +* Bump llama.cpp version to b3334, supporting Deepseek V2 series models. +* Turn on fast attention for Qwen2-1.5B model to fix the quantization error. +* Properly set number of GPU layers (to zero) when device is CPU. \ No newline at end of file diff --git a/.changes/v0.14.0.md b/.changes/v0.14.0.md new file mode 100644 index 000000000000..7a4ac55c9fce --- /dev/null +++ b/.changes/v0.14.0.md @@ -0,0 +1,11 @@ +## v0.14.0 (2024-07-23) + +### Features +* Code search functionality is now available in the `Code Browser` tab. Users can search for code using regex patterns and filter by language, repository, and branch. +* Initial experimental support for natural language to codebase conversation in `Answer Engine`. + +### Fixed and Improvements + +* Incremental issues / PRs indexing by checking `updated_at`. +* Canonicalize `git_url` before performing a relevant code search. Previously, for git_urls with credentials, the canonicalized git_url was used in the index, but the query still used the raw git_url. +* bump llama.cpp to b3370 - which fixes Qwen2 model series inference diff --git a/.changes/v0.15.0.md b/.changes/v0.15.0.md new file mode 100644 index 000000000000..2269def8c10a --- /dev/null +++ b/.changes/v0.15.0.md @@ -0,0 +1,13 @@ +## v0.15.0 (2024-08-08) + +### Features + +* The search bar in the Code Browser has been reworked and integrated with file navigation functionality. +* GraphQL syntax highlighting support in Code Browser. + +### Fixed and Improvements + +* For linked GitHub repositories, issues and PRs are now only returned when the repository is selected. +* Fixed GitLab issues/MRs indexing - no longer panics if the description field is null. +* When connecting to localhost model servers, proxy settings are now skipped. +* Allow set code completion's `max_input_length` and `max_output_tokens` in config.toml diff --git a/.changes/v0.16.1.md b/.changes/v0.16.1.md new file mode 100644 index 000000000000..2dc7926ebbac --- /dev/null +++ b/.changes/v0.16.1.md @@ -0,0 +1,13 @@ +## v0.16.1 (2024-08-27) + +### Notice +* Starting from this version, we are utilizing websockets for features that require streaming (e.g., Answer Engine and Chat Side Panel). If you are deploying tabby behind a reverse proxy, you may need to configure the proxy to support websockets. + +### Features + +* Discussion threads in the Answer Engine are now persisted, allowing users to share threads with others. + +### Fixed and Improvements + +* Fixed an issue where the llama-server subprocess was not being reused when reusing a model for Chat / Completion together (e.g., Codestral-22B) with the local model backend. +* Updated llama.cpp to version b3571 to support the jina series embedding models. diff --git a/.changes/v0.17.0.md b/.changes/v0.17.0.md new file mode 100644 index 000000000000..4f282ecd2771 --- /dev/null +++ b/.changes/v0.17.0.md @@ -0,0 +1,13 @@ +## v0.17.0 (2024-09-10) + +### Notice + +* We've reworked the `Web` (a beta feature) context provider into the `Developer Docs` context provider. Previously added context in the `Web` tab has been cleared and needs to be manually migrated to `Developer Docs`. + +### Features + +* Extensive rework has been done in the answer engine search box. + - Developer Docs / Web search is now triggered by `@`. + - Repository Context is now selected using `#`. + +* Supports OCaml diff --git a/.changes/v0.18.0.md b/.changes/v0.18.0.md new file mode 100644 index 000000000000..a0d6c2e63817 --- /dev/null +++ b/.changes/v0.18.0.md @@ -0,0 +1,11 @@ +## v0.18.0 (2024-10-08) + +### Notice + +* The Chat Side Panel implementation has been redesigned in version 0.18, necessitating an extension version bump for compatibility with 0.18.0. + - VSCode: >= 1.12.0 + - IntelliJ: >= 1.8.0 + +### Features + +* User Groups Access Control: Server Administrators can now assign user groups to specific context providers to precisely control which contexts can be accessed by which user groups. diff --git a/.changes/v0.19.0.md b/.changes/v0.19.0.md new file mode 100644 index 000000000000..57c439ccd89b --- /dev/null +++ b/.changes/v0.19.0.md @@ -0,0 +1,12 @@ +## v0.19.0 (2024-10-30) + +### Features + +* For Answer Engine, when the file content is reasonably short (e.g., less than 200 lines of code), include the entire file content directly instead of only the chunk ([#3096](https://github.com/TabbyML/tabby/issues/3096)). +* Allowed adding additional languages through the `config.toml` file. +* Allowed customizing the `system_prompt` for Answer Engine. + +### Fixes and Improvements + +* Redesigned homepage to make team activities (e.g., threads discussed in Answer Engine) discoverable. +* Supported downloading models with multiple partitions (e.g., Qwen-2.5 series). diff --git a/.changes/v0.20.0.md b/.changes/v0.20.0.md new file mode 100644 index 000000000000..6e5655817043 --- /dev/null +++ b/.changes/v0.20.0.md @@ -0,0 +1,12 @@ +## v0.20.0 (2024-11-08) + +### Features + +* Search results can now be edited directly. +* Allow switching backend chat models in Answer Engine. +* Added a connection test button in the `System` tab to test the connection to the backend LLM server. + +### Fixes and Improvements + +* Optimized CR-LF inference in code completion. ([#3279](https://github.com/TabbyML/tabby/issues/3279)) +* Bumped `llama.cpp` version to `b3995`. diff --git a/.changes/v0.21.0.md b/.changes/v0.21.0.md new file mode 100644 index 000000000000..901f4d03e334 --- /dev/null +++ b/.changes/v0.21.0.md @@ -0,0 +1,19 @@ +## v0.21.0 (2024-12-02) + +### Notice + +* Due to changes in the indexing format, the `~/.tabby/index` directory will be automatically removed before any further indexing jobs are run. It is expected that the indexing jobs will be re-run (instead of incrementally) after the upgrade. + +### Features + +* Support connecting to llamafile model backend. +* Display **Open** / **Closed** state for issues / pull requests in Answer Engine context card. +* Support deleting the entire thread in Answer Engine. +* Add rate limiter options for HTTP-powered model backends. + +### Fixed and Improvements + +* Fixed a panic that occurred when specifying a local model ([#3464](https://github.com/TabbyML/tabby/issues/3464)) +* Add pagination to Answer Engine threads. +* Fix Vulkan binary distributions. +* Improve the retry logic for chunk embedding computation in indexing job. diff --git a/.changes/v0.21.1.md b/.changes/v0.21.1.md new file mode 100644 index 000000000000..db20dff0f3a4 --- /dev/null +++ b/.changes/v0.21.1.md @@ -0,0 +1,9 @@ +## v0.21.1 (2024-12-09) + +### Notice + +* This is a patch release, please also check [the full release note](https://github.com/TabbyML/tabby/releases/tag/v0.21.0) for 0.21. + +### Fixed and Improvements + +* Fixed Gitlab Context Provider. \ No newline at end of file diff --git a/.changes/v0.21.2.md b/.changes/v0.21.2.md new file mode 100644 index 000000000000..438a97508086 --- /dev/null +++ b/.changes/v0.21.2.md @@ -0,0 +1,11 @@ +## v0.21.2 (2024-12-18) + +### Notice + +* This is a patch release, please also check [the full release note](https://github.com/TabbyML/tabby/releases/tag/v0.21.1) for 0.21.1. + +### Fixed and Improvements + +* Adapt extension side changes in new versions. + - VSCode: 1.16.0 + - IntelliJ Platform: 1.9.1 diff --git a/.changes/v0.22.0.md b/.changes/v0.22.0.md new file mode 100644 index 000000000000..c71565a317d6 --- /dev/null +++ b/.changes/v0.22.0.md @@ -0,0 +1,15 @@ +## v0.22.0 (2024-12-23) + +### Features + +* Introduce notification inbox on homepage and license expiration check. ([#3541](https://github.com/TabbyML/tabby/pull/3541)) ([#3566](https://github.com/TabbyML/tabby/pull/3566)) +* Display author information for issues / pull requests in Answer Engine context card ([#3513](https://github.com/TabbyML/tabby/pull/3513)) + +### Fixed and Improvements + +* Refactors the pull request indexing process to enhance the speed of incremental indexing for pull docs. ([#3538](https://github.com/TabbyML/tabby/pull/3538)) +* Optimize the rate limiter on the HTTP-powered model backend to reduce errors. ([#3567](https://github.com/TabbyML/tabby/pull/3567)) +* Introduce rate limiting at 60 requests per minute in the tabby-webserver. ([#3484](https://github.com/TabbyML/tabby/pull/3484)) +* Validate model capability prior to download. ([#3565](https://github.com/TabbyML/tabby/pull/3565)) +* Fix broken tree view on Windows in CodeBrowser. ([#3528](https://github.com/TabbyML/tabby/pull/3528)) +* Upgrade all Tabby Linux base images to manylinux_2_28. ([#3536](https://github.com/TabbyML/tabby/pull/3536)) diff --git a/.changes/v0.23.0.md b/.changes/v0.23.0.md new file mode 100644 index 000000000000..2ab81dc3096c --- /dev/null +++ b/.changes/v0.23.0.md @@ -0,0 +1,11 @@ +## v0.23.0 (2025-01-09) + +### Features + +* Add commit hash to code attachments, allowing redirection to the specific commit in code browser. ([#3627](https://github.com/TabbyML/tabby/pull/3627)) ([#3577](https://github.com/TabbyML/tabby/pull/3577)) +* Display the connection status of the gitUrl repository in the chat side panel. ([#3550](https://github.com/TabbyML/tabby/pull/3550)) + +### Fixed and Improvements + +* Perform database backups only when there are pending schema migrations. ([#3620](https://github.com/TabbyML/tabby/pull/3620)) +* Add repository selection and remove '#' mentions in the Answer Engine. ([#3619](https://github.com/TabbyML/tabby/pull/3619)) diff --git a/.changes/v0.23.1.md b/.changes/v0.23.1.md new file mode 100644 index 000000000000..a3a351c176de --- /dev/null +++ b/.changes/v0.23.1.md @@ -0,0 +1,5 @@ +## v0.23.1 (2025-01-31) + +### Fixed and Improvements + +* Fix the issue of being unable to download remote models due to changes in HuggingFace API. ([#3772](https://github.com/TabbyML/tabby/pull/3772)) diff --git a/.changes/v0.24.0.md b/.changes/v0.24.0.md new file mode 100644 index 000000000000..7d3db808530c --- /dev/null +++ b/.changes/v0.24.0.md @@ -0,0 +1,16 @@ +## v0.24.0 (2025-01-23) + +### Features + +* Implement LDAP Authentication Integration. ([#3650](https://github.com/TabbyML/tabby/pull/3650)) ([#3625](https://github.com/TabbyML/tabby/pull/3625)) +* Add Notifications for unsuccessful background jobs. ([#3713](https://github.com/TabbyML/tabby/pull/3713)) + +### Fixed and Improvements + +* Fixed a bug that prevented the client code context in historical messages from being added to the prompt. ([#3673](https://github.com/TabbyML/tabby/pull/3673)) +* Retain the job run and user event history only for the past three months. ([#3640](https://github.com/TabbyML/tabby/pull/3640)) +* Resolved an issue that caused integration errors with recent versions of Jan AI. ([#3649](https://github.com/TabbyML/tabby/pull/3649)) +* Resolved an issue where repositories specified in config.toml were not synchronizing correctly. ([#3703](https://github.com/TabbyML/tabby/pull/3703)) +* Set the active text tab as default context in Code Browser chat. ([#3729](https://github.com/TabbyML/tabby/pull/3729)) +* Resolved an issue that caused models download failures due to changes in HuggingFace API. ([#3772](https://github.com/TabbyML/tabby/pull/3772)) +* Omit indexing of GitHub Pull Request diffs that exceed 300 files. ([#3779](https://github.com/TabbyML/tabby/pull/3779)) diff --git a/.changes/v0.25.0.md b/.changes/v0.25.0.md new file mode 100644 index 000000000000..576100473ce4 --- /dev/null +++ b/.changes/v0.25.0.md @@ -0,0 +1,23 @@ +## v0.25.0 (2025-02-17) + +### Notice + +Significant changes have been implemented in this release; please consider adjusting them to fit your specific use case. + +* The default parallelism has been increased from 1 to 4, which might increase VRAM usage. ([#3832](https://github.com/TabbyML/tabby/pull/3832)) +* Introduce a new embedding kind `llama.cpp/before_b4356_embedding` for llamafile or other embedding services utilizing the legacy llama.cpp embedding API. ([#3828](https://github.com/TabbyML/tabby/pull/3828)) + +### Features + +* Expose thinking process of Answer Engine to the answers in thread message. ([#3785](https://github.com/TabbyML/tabby/pull/3785)) ([#3672](https://github.com/TabbyML/tabby/pull/3672)) +* Enable the Answer Engine to access the repository's directory file list as needed. ([#3796](https://github.com/TabbyML/tabby/pull/3796)) +* Enable the use of `@` to mention a symbol in Chat Sidebar. ([#3778](https://github.com/TabbyML/tabby/pull/3778)) +* Provide default question recommendations that are repository-aware on Answer Engine. ([#3815](https://github.com/TabbyML/tabby/pull/3815)) + +### Fixed and Improvements + +* Provide a configuration to truncate text content prior to dispatching it to embedding service.. ([#3816](https://github.com/TabbyML/tabby/pull/3816)) +* Bump llama.cpp version to b4651. ([#3798](https://github.com/TabbyML/tabby/pull/3798)) +* Automatically retry embedding when the service occasionally fails due to issues with llama.cpp. ([#3805](https://github.com/TabbyML/tabby/pull/3805)) +* Enhance the user interface experience for Answer Engine. ([#3845](https://github.com/TabbyML/tabby/pull/3845)) ([#3794](https://github.com/TabbyML/tabby/pull/3794)) +* Resolve the deserialization issue related to `finish_reason` in chat response from LiteLLM Proxy Server.([#3882](https://github.com/TabbyML/tabby/pull/3882)) diff --git a/.changes/v0.25.1.md b/.changes/v0.25.1.md new file mode 100644 index 000000000000..8ba71a452096 --- /dev/null +++ b/.changes/v0.25.1.md @@ -0,0 +1,9 @@ +## v0.25.1 (2025-02-25) + +### Notice + +* This is a patch release, please also check [the full release note](https://github.com/TabbyML/tabby/releases/tag/v0.25.0) for 0.25. + +### Fixed and Improvements + +* Refine the UI details in Answer Engine. ([#3888](https://github.com/TabbyML/tabby/pull/3888)) ([#3889](https://github.com/TabbyML/tabby/pull/3889)) ([#3891](https://github.com/TabbyML/tabby/pull/3891)) diff --git a/.changes/v0.25.2.md b/.changes/v0.25.2.md new file mode 100644 index 000000000000..916dc98925ee --- /dev/null +++ b/.changes/v0.25.2.md @@ -0,0 +1,9 @@ +## v0.25.2 (2025-02-28) + +### Notice + +* This is a patch release, please also check [the historical release note](https://github.com/TabbyML/tabby/releases/tag/v0.25.1) for 0.25.1. + +### Fixed and Improvements + +* Alter the LDAP login mechanism to query users across the Organizational Unit subtree rather than a single level. An LDAP directory is structured hierarchically as a tree of nodes. This modification empowers all users beneath the LDAP Organizational Unit (OU) subtree to authenticate, rather than restricting access to users within a specific OU. diff --git a/.changes/v0.26.0.md b/.changes/v0.26.0.md new file mode 100644 index 000000000000..d896b659d979 --- /dev/null +++ b/.changes/v0.26.0.md @@ -0,0 +1,14 @@ +## v0.26.0 (2025-03-16) + +### Notice + +* Bump minimum katana version to 1.1.2 + +### Features + +* Enable the Answer Engine to access the repository's commit history as needed. ([#3916](https://github.com/TabbyML/tabby/pull/3916)) +* Support the display of user chat history on Homepage and Chat Side Panel. ([#3897](https://github.com/TabbyML/tabby/pull/3897)) + +### Fixed and Improvements + +* Facilitate the crawling of developer documentation from llms-full.txt when available. ([#3880](https://github.com/TabbyML/tabby/pull/3880)) diff --git a/.changes/v0.27.0.md b/.changes/v0.27.0.md new file mode 100644 index 000000000000..3024920282c7 --- /dev/null +++ b/.changes/v0.27.0.md @@ -0,0 +1,17 @@ +## v0.27.0 (2025-03-29) + +### Notice + +* Prepare for the 1.0 release. Starting with this release, extensions version upgrades will maintain backward compatibility with the Tabby server. + +### Features + +* Add support for the ability to execute shell commands within Chat Panel. ([#3979](https://github.com/TabbyML/tabby/pull/3979)) +* Add support for `@changes` within Chat Panel to include uncommitted changes as contexts. ([#3988](https://github.com/TabbyML/tabby/pull/3988)) +* Add security option to hide password login in frontend. When enabled, the password login can be revealed by appending the URL search parameter `passwordSignIn=true`. ([#3996](https://github.com/TabbyML/tabby/pull/3996)) ([#4015](https://github.com/TabbyML/tabby/pull/4015)) + +### Fixed and Improvements + +* Store background job logs on disk to prevent disruptions during processing of large repositories. ([#3994](https://github.com/TabbyML/tabby/pull/3994)) +* Track chat usage frequency and display it in Reports page. ([#4025](https://github.com/TabbyML/tabby/pull/4025)) ([#4042](https://github.com/TabbyML/tabby/pull/4042)) +* Resolve the chat functionality issue involving OpenAI reasoning models such as `o3-mini` and `o1-mini`. ([#4049](https://github.com/TabbyML/tabby/pull/4049)) diff --git a/.changes/v0.27.1.md b/.changes/v0.27.1.md new file mode 100644 index 000000000000..4f77ea876c6f --- /dev/null +++ b/.changes/v0.27.1.md @@ -0,0 +1,11 @@ +## v0.27.1 (2025-04-07) + +### Notice + +* This is a patch release, please also check [the full release note](https://github.com/TabbyML/tabby/releases/tag/v0.27.0) for 0.27. + +### Fixed and Improvements + +* Resolved an issue where certain escaped characters could cause plugin crashes on Windows systems. ([#4114](https://github.com/TabbyML/tabby/pull/4114)) +* Resolved an issue where the Tabby server could hang while waiting for the registry file to download in offline environments. ([#4120](https://github.com/TabbyML/tabby/pull/4120)) +* Improved handling of file mentions from different sources in the Chat Panel. ([#4116](https://github.com/TabbyML/tabby/pull/4116)) diff --git a/.changes/v0.28.0.md b/.changes/v0.28.0.md new file mode 100644 index 000000000000..7c575225c146 --- /dev/null +++ b/.changes/v0.28.0.md @@ -0,0 +1,11 @@ +## v0.28.0 (2025-04-28) + +### Features + +* Add support to convert Answer Engine messages into Pages. ([#4194](https://github.com/TabbyML/tabby/pull/4194)) +* Add support for Doc Query in Chat Panel, allowing Dev Docs to be included as context. ([#4095](https://github.com/TabbyML/tabby/pull/4095)) + +### Fixed and Improvements + +* Enhance background task logging to boost performance and enrich user experience. ([#4066](https://github.com/TabbyML/tabby/pull/4066)) ([#4145](https://github.com/TabbyML/tabby/pull/4145)) +* Enhance the display of thinking processes in Answer Engine and Chat Panel. ([#4091](https://github.com/TabbyML/tabby/pull/4091)) diff --git a/.changes/v0.29.0.md b/.changes/v0.29.0.md new file mode 100644 index 000000000000..748c236d8a2e --- /dev/null +++ b/.changes/v0.29.0.md @@ -0,0 +1,11 @@ +## v0.29.0 (2025-05-19) + +### Features + +* Add RESTful APIs for ingesting custom documents and facilitating their removal. ([#4171](https://github.com/TabbyML/tabby/pull/4171)) ([#4203](https://github.com/TabbyML/tabby/pull/4203)) ([#4196](https://github.com/TabbyML/tabby/pull/4196)) + +### Fixed and Improvements + +* Enhance error details in Notification Inbox. ([#4184](https://github.com/TabbyML/tabby/pull/4184)) +* Add support for Automatic Jobs status polling. ([#4172](https://github.com/TabbyML/tabby/pull/4172)) +* Bump llama.cpp to b2500. ([#4200](https://github.com/TabbyML/tabby/pull/4200)) diff --git a/.changes/v0.30.0.md b/.changes/v0.30.0.md new file mode 100644 index 000000000000..b668b7828ca1 --- /dev/null +++ b/.changes/v0.30.0.md @@ -0,0 +1,14 @@ +## v0.30.0 (2025-07-02) + +### Features + +* Support indexing GitLab Merge Request as Context. [#4227](https://github.com/TabbyML/tabby/pull/4227) + +### Fixed and Improvements + +* Use CUDA 12 image as base image by default. [#4235](https://github.com/TabbyML/tabby/pull/4235) +* Leverage the Answer Engine logic to enrich the context when generating new pages, improving page quality. [#4237](https://github.com/TabbyML/tabby/pull/4237) +* Improve the model configuration details on the System page. [#4236](https://github.com/TabbyML/tabby/pull/4236) +* Resolve the flickering of buttons within code snippets in a chat response during answer generation. [#4233](https://github.com/TabbyML/tabby/pull/4233) +* Set the member filter bar always fixed at the top of the Reports page.[#4232](https://github.com/TabbyML/tabby/pull/4232) +* Resolve the issue when loading a multi-part model from local.[#4302](https://github.com/TabbyML/tabby/pull/4302) diff --git a/.changes/v0.30.1.md b/.changes/v0.30.1.md new file mode 100644 index 000000000000..d8497f3de34e --- /dev/null +++ b/.changes/v0.30.1.md @@ -0,0 +1,9 @@ +## v0.30.1 (2025-07-16) + +### Notice + +* This is a patch release, please also check [the full release note](https://github.com/TabbyML/tabby/releases/tag/v0.30.0) for 0.30. + +### Fixed and Improvements + +* Downgrade CUDA base image to version 12.4.1 to enhance compatibility. [#4314](https://github.com/TabbyML/tabby/pull/4314) diff --git a/.changes/v0.30.2.md b/.changes/v0.30.2.md new file mode 100644 index 000000000000..97ac94b1987c --- /dev/null +++ b/.changes/v0.30.2.md @@ -0,0 +1,11 @@ +## v0.30.2 (2025-07-31) + +### Notice + +* This is a patch release, please also check [the full release note](https://github.com/TabbyML/tabby/releases/tag/v0.30.0) for 0.30. + +### Fixed and Improvements + +* Use 0.7.3 sqlx to avoid database pool timeout. [#4328](https://github.com/TabbyML/tabby/pull/4328) +* Bump llama.cpp to b6047. [#4330](https://github.com/TabbyML/tabby/pull/4330) +* Expose the Flash Attention LLAMA flag as an environment variable. [#4323](https://github.com/TabbyML/tabby/pull/4323) diff --git a/.changes/v0.31.0.md b/.changes/v0.31.0.md new file mode 100644 index 000000000000..00702c687267 --- /dev/null +++ b/.changes/v0.31.0.md @@ -0,0 +1,5 @@ +## v0.31.0 (2025-08-19) + +### Features + +* Add support for custom branding with name and logo (Available Exclusively with an Enterprise License). [#4334](https://github.com/TabbyML/tabby/pull/4334) diff --git a/.changes/v0.31.2.md b/.changes/v0.31.2.md new file mode 100644 index 000000000000..9e873a6d1ed0 --- /dev/null +++ b/.changes/v0.31.2.md @@ -0,0 +1,9 @@ +## v0.31.2 (2025-09-25) + +### Notice + +* This is a patch release, please also check [the full release note](https://github.com/TabbyML/tabby/releases/tag/v0.31.0) for 0.31. + +### Fixed and Improvements + +* Added environment variable `TABBY_INDEX_REPO_IN_SHARD` to enable hourly sharded indexing when repository count exceeds 20. [#4366](https://github.com/TabbyML/tabby/pull/4366) diff --git a/.changie.yaml b/.changie.yaml new file mode 100644 index 000000000000..9679ab87c90a --- /dev/null +++ b/.changie.yaml @@ -0,0 +1,22 @@ +changesDir: .changes +unreleasedDir: unreleased +headerPath: header.tpl.md +changelogPath: CHANGELOG.md +versionExt: md +versionFormat: '## {{.Version}} ({{.Time.Format "2006-01-02"}})' +kindFormat: '### {{.Kind}}' +changeFormat: '* {{.Body}}' +kinds: +- label: Notice + auto: minor +- label: Features + auto: minor +- label: Fixed and Improvements + auto: patch +newlines: + afterChangelogHeader: 1 + afterKind: 1 + afterChangelogVersion: 1 + beforeKind: 1 + endOfVersion: 1 +envPrefix: CHANGIE_ \ No newline at end of file diff --git a/.github/workflows/ast-grep-lint.yml b/.github/workflows/ast-grep-lint.yml new file mode 100644 index 000000000000..638d03890944 --- /dev/null +++ b/.github/workflows/ast-grep-lint.yml @@ -0,0 +1,15 @@ +name: ast-grep lint +on: [push] + +jobs: + sg-lint: + runs-on: ubuntu-latest + name: ast-grep-lint + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: ast-grep lint step + uses: ast-grep/action@v1.4 + with: + version: 0.20.1 \ No newline at end of file diff --git a/.github/workflows/autofix-pnpm.yml b/.github/workflows/autofix-pnpm.yml new file mode 100644 index 000000000000..bdc11d3ea9da --- /dev/null +++ b/.github/workflows/autofix-pnpm.yml @@ -0,0 +1,57 @@ +name: autofix.ci + +on: + pull_request: + branches: ["main" ] + paths: + - '.github/workflows/autofix-pnpm.yml' + - 'clients/**' + - 'ee/tabby-ui/**' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow_ref }}-${{ github.head_ref || github.ref_name }} + + # If this is enabled it will cancel current running and start latest + cancel-in-progress: true + +jobs: + autofix: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version: 18 + + - uses: pnpm/action-setup@v4 + name: Install pnpm + with: + version: 9 + run_install: false + + - name: Get pnpm store directory + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - uses: actions/cache@v4 + name: Setup pnpm cache + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Install dependencies + run: pnpm install + + - name: Fix lint + run: pnpm lint:fix + + - uses: autofix-ci/action@551dded8c6cc8a1054039c8bc0b8b48c51dfc6ef diff --git a/.github/workflows/autofix-python.yml b/.github/workflows/autofix-python.yml index 62a77de5dada..73afce03fc7a 100644 --- a/.github/workflows/autofix-python.yml +++ b/.github/workflows/autofix-python.yml @@ -29,4 +29,4 @@ jobs: src: "./python" args: --fix - - uses: autofix-ci/action@d3e591514b99d0fca6779455ff8338516663f7cc + - uses: autofix-ci/action@551dded8c6cc8a1054039c8bc0b8b48c51dfc6ef diff --git a/.github/workflows/autofix-rust.yml b/.github/workflows/autofix-rust.yml index 76299bff2601..917580316ed2 100644 --- a/.github/workflows/autofix-rust.yml +++ b/.github/workflows/autofix-rust.yml @@ -10,18 +10,24 @@ on: - 'crates/**' - 'ee/**' - '!ee/tabby-ui/**' + - '!ee/tabby-email/**' permissions: contents: read concurrency: - group: ${{ github.workflow_ref }}-${{ github.head_ref || github.ref_name }} - + group: ${{ github.workflow_ref }}-${{ github.head_ref || github.ref_name }} + # If this is enabled it will cancel current running and start latest cancel-in-progress: true jobs: autofix: + env: + CARGO_TERM_COLOR: always + SCCACHE_GHA_ENABLED: true + RUSTC_WRAPPER: sccache + CARGO_INCREMENTAL: 0 runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -34,30 +40,30 @@ jobs: toolchain: nightly components: rustfmt, clippy + - name: Sccache cache + uses: mozilla-actions/sccache-action@v0.0.9 + - name: Install cargo-machete uses: actions-rs/cargo@v1 with: command: install - args: cargo-machete - - - name: Sccache cache - uses: mozilla-actions/sccache-action@v0.0.3 - with: - version: "v0.4.0" + args: --version 0.7.0 cargo-machete - name: Cargo registry cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: - key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.toml') }}-${{ github.sha }} + key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-${{ github.sha }} restore-keys: | - cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.toml') }}- + cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}- cargo-${{ runner.os }}- path: | ~/.cargo/registry ~/.cargo/git - - run: bash ./ci/prepare_build_environment.sh + - run: sudo bash ./ci/prepare_build_environment.sh - run: make fix - - uses: autofix-ci/action@d3e591514b99d0fca6779455ff8338516663f7cc + - run: make update-graphql-schema + + - uses: autofix-ci/action@551dded8c6cc8a1054039c8bc0b8b48c51dfc6ef diff --git a/.github/workflows/autofix-tabby-ui.yml b/.github/workflows/autofix-tabby-ui.yml deleted file mode 100644 index 227187540e5c..000000000000 --- a/.github/workflows/autofix-tabby-ui.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: autofix.ci - -on: - pull_request: - branches: ["main" ] - paths: - - '.github/workflows/autofix-tabby-ui.yml' - - 'ee/tabby-ui/**' - -permissions: - contents: read - -concurrency: - group: ${{ github.workflow_ref }}-${{ github.head_ref || github.ref_name }} - - # If this is enabled it will cancel current running and start latest - cancel-in-progress: true - -jobs: - autofix: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: '18.x' - cache: yarn - cache-dependency-path: 'yarn.lock' - - - name: Install dependencies - working-directory: ./ee/tabby-ui - run: yarn install - - - name: Lint - working-directory: ./ee/tabby-ui - run: yarn lint:fix - - - name: Format - working-directory: ./ee/tabby-ui - run: yarn format:write - - - uses: autofix-ci/action@d3e591514b99d0fca6779455ff8338516663f7cc diff --git a/.github/workflows/bloat.yml b/.github/workflows/bloat.yml new file mode 100644 index 000000000000..9f20bbdbf5a6 --- /dev/null +++ b/.github/workflows/bloat.yml @@ -0,0 +1,65 @@ +on: # rebuild any PRs and main branch changes + pull_request: + branches: ["main"] + paths: + - '.github/workflows/bloat.yml' + - 'Cargo.toml' + - 'Cargo.lock' + - 'crates/**' + - 'ee/**' + - '!ee/tabby-ui/**' + push: + branches: + - main + +name: bloat + +permissions: write-all + +concurrency: + group: ${{ github.workflow_ref }}-${{ github.head_ref || github.ref_name }} + + # If this is enabled it will cancel current running and start latest + cancel-in-progress: true + +jobs: + cargo_bloat: + env: + CARGO_TERM_COLOR: always + SCCACHE_GHA_ENABLED: true + RUSTC_WRAPPER: sccache + CARGO_INCREMENTAL: 0 + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + + - name: Sccache cache + uses: mozilla-actions/sccache-action@v0.0.9 + + - name: Cargo registry cache + uses: actions/cache@v4 + with: + key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-${{ github.sha }} + restore-keys: | + cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}- + cargo-${{ runner.os }}- + path: | + ~/.cargo/registry + ~/.cargo/git + + - run: sudo bash ./ci/prepare_build_environment.sh + + - name: Run cargo bloat + uses: wsxiaoys/cargo-bloat-action@master + with: + token: ${{ secrets.GITHUB_TOKEN }} + include_packages: tabby \ No newline at end of file diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 1e7482119d18..f2af4232d353 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -3,23 +3,27 @@ name: Create and publish docker image on: workflow_dispatch: schedule: - - cron: '0 20 */1 * *' + - cron: "0 20 */1 * *" push: tags: - - 'v*' + - "v*" + - "!*-dev.*" + - "!vscode@*" + - '!vim@*' concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }} - + group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }} + # If this is enabled it will cancel current running and start latest cancel-in-progress: true env: - RUST_TOOLCHAIN: 1.73.0 + RUST_TOOLCHAIN: 1.82.0 + CUDA_VERSION: 12.4.1 jobs: release-docker: - runs-on: ubuntu-latest + runs-on: buildjet-2vcpu-ubuntu-2204 permissions: contents: read packages: write @@ -27,6 +31,13 @@ jobs: # with sigstore/fulcio when running outside of PRs. id-token: write + strategy: + matrix: + device-type: [cuda] + include: + - device-type: cuda + image-suffix: "" + steps: - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@main @@ -44,32 +55,34 @@ jobs: swap-storage: true - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive # Workaround: https://github.com/docker/build-push-action/issues/461 - name: Setup Docker buildx - uses: docker/setup-buildx-action@v2.0.0 + uses: docker/setup-buildx-action@v3 # Login against a Docker registry except on PR # https://github.com/docker/login-action - name: Log into GitHub Container registry - uses: docker/login-action@v2.0.0 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Log into Docker Hub - uses: docker/login-action@v2.0.0 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Generate image name + env: + IMAGE_SUFFIX: ${{ matrix.image-suffix }} run: | - echo "IMAGE_NAME=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} + echo "IMAGE_NAME=${GITHUB_REPOSITORY,,}${IMAGE_SUFFIX}" >>${GITHUB_ENV} - uses: int128/docker-build-cache-config-action@v1 id: cache @@ -78,7 +91,7 @@ jobs: - name: Docker meta id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: # list of Docker images to use as base name for tags images: | @@ -95,21 +108,56 @@ jobs: # https://github.com/docker/build-push-action - name: Build and push Docker image id: build-and-push - uses: docker/build-push-action@v3.1.1 + uses: docker/build-push-action@v5 with: - file: Dockerfile + file: docker/Dockerfile.${{ matrix.device-type }} push: true context: . tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: ${{ steps.cache.outputs.cache-from }} cache-to: ${{ steps.cache.outputs.cache-to }} - build-args: RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }} + build-args: | + RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }} + CUDA_VERSION=${{ env.CUDA_VERSION }} + + - name: Docker meta for CUDA 11 + if: startsWith(github.ref, 'refs/tags/v') + id: meta-cuda11 + uses: docker/metadata-action@v5 + with: + images: | + ghcr.io/${{ env.IMAGE_NAME }} + ${{ env.IMAGE_NAME }} + # do not generate tags for latest since cuda12 is the latest + flavor: | + latest=false + suffix=-cuda11 + tags: | + type=semver,pattern={{version}} + + # Build and push Docker image with Buildx + # Only built on release tags for compatibility with previous versions + - name: Build and push Docker image for CUDA 11 + if: startsWith(github.ref, 'refs/tags/v') + id: build-and-push-cuda11 + uses: docker/build-push-action@v5 + with: + file: docker/Dockerfile.${{ matrix.device-type }} + push: true + context: . + tags: ${{ steps.meta-cuda11.outputs.tags }} + labels: ${{ steps.meta-cuda11.outputs.labels }} + cache-from: ${{ steps.cache.outputs.cache-from }} + cache-to: ${{ steps.cache.outputs.cache-to }} + build-args: | + RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }} + CUDA_VERSION=11.7.1 + - name: Docker Hub Description - uses: peter-evans/dockerhub-description@v3 + uses: peter-evans/dockerhub-description@v4 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} repository: tabbyml/tabby - diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index 9b8ff2b97efc..6ed16cd0efba 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -7,7 +7,7 @@ on: paths: - '.github/workflows/gh-pages.yml' - 'website/**' - + # Allows you to run this workflow manually from the Actions tab workflow_dispatch: @@ -42,7 +42,7 @@ jobs: - name: Set up Node.js uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 18.x cache: yarn cache-dependency-path: website/yarn.lock - name: Install dependencies @@ -52,11 +52,11 @@ jobs: working-directory: website run: yarn build - name: Setup Pages - uses: actions/configure-pages@v1 + uses: actions/configure-pages@v5 - name: Upload artifact - uses: actions/upload-pages-artifact@v1 + uses: actions/upload-pages-artifact@v3 with: path: website/build - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v1 + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/gpt-translate.yml b/.github/workflows/gpt-translate.yml new file mode 100644 index 000000000000..f692d5d16d23 --- /dev/null +++ b/.github/workflows/gpt-translate.yml @@ -0,0 +1,25 @@ +name: GPT Translate + +on: + issue_comment: + types: [ created ] + +permissions: + pull-requests: write + issues: write + contents: write + +jobs: + gpt_translate: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Run GPT Translate + if: | + contains(github.event.comment.body, '/gpt-translate') || + contains(github.event.comment.body, '/gt') + uses: 3ru/gpt-translate@master + with: + apikey: ${{ secrets.OPENAI_API_KEY }} diff --git a/.github/workflows/release-intellij.yml b/.github/workflows/release-intellij.yml new file mode 100644 index 000000000000..754129025a3f --- /dev/null +++ b/.github/workflows/release-intellij.yml @@ -0,0 +1,150 @@ +name: Release Tabby Plugin for IntelliJ Platform + +on: + workflow_dispatch: + push: + tags: + - "intellij@*" + +concurrency: + group: ${{ github.workflow_ref }}-${{ github.head_ref || github.ref_name }} + + # If this is enabled it will cancel current running and start latest + cancel-in-progress: true + +jobs: + release-marketplace: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + lfs: true + + - name: Setup JDK + uses: actions/setup-java@v3 + with: + distribution: zulu + java-version: 17 + + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version: 18 + + - name: Install pnpm + uses: pnpm/action-setup@v4 + with: + version: 9 + run_install: false + + - name: Get pnpm store directory + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - name: Setup pnpm cache + uses: actions/cache@v4 + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Install dependencies + run: pnpm install + + - name: Determine Publish Channel + run: | + if [[ ${{ github.ref_name }} =~ ^intellij@[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + echo "PUBLISH_CHANNEL=stable" >> $GITHUB_ENV + else + echo "PUBLISH_CHANNEL=alpha" >> $GITHUB_ENV + fi + + - name: Check Publish Channel + run: echo "Publish Channel is ${{ env.PUBLISH_CHANNEL }}" + + - name: Publish Plugin to Marketplace + env: + CERTIFICATE_CHAIN: ${{ secrets.INTELLIJ_PLUGIN_CERTIFICATE_CHAIN }} + PRIVATE_KEY: ${{ secrets.INTELLIJ_PLUGIN_PRIVATE_KEY }} + PUBLISH_TOKEN: ${{ secrets.INTELLIJ_PLUGIN_PUBLISH_TOKEN }} + PUBLISH_CHANNEL: ${{ env.PUBLISH_CHANNEL }} + uses: gradle/gradle-build-action@v2.4.2 + with: + arguments: publishPlugin + build-root-directory: clients/intellij + + release-github: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + lfs: true + + - name: Setup JDK + uses: actions/setup-java@v3 + with: + distribution: zulu + java-version: 17 + + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version: 18 + + - name: Install pnpm + uses: pnpm/action-setup@v4 + with: + version: 9 + run_install: false + + - name: Get pnpm store directory + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - name: Setup pnpm cache + uses: actions/cache@v4 + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Install dependencies + run: pnpm install + + - name: Build Signed Plugin + env: + CERTIFICATE_CHAIN: ${{ secrets.INTELLIJ_PLUGIN_CERTIFICATE_CHAIN }} + PRIVATE_KEY: ${{ secrets.INTELLIJ_PLUGIN_PRIVATE_KEY }} + uses: gradle/gradle-build-action@v2.4.2 + with: + arguments: signPlugin + build-root-directory: clients/intellij + + - name: Determine is stable release + run: | + if [[ ${{ github.ref_name }} =~ ^intellij@[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + echo "STABLE_RELEASE=true" >> $GITHUB_ENV + else + echo "STABLE_RELEASE=false" >> $GITHUB_ENV + fi + + - name: Check if stable release + run: echo "Stable Release is ${{ env.STABLE_RELEASE }}" + + - name: Create GitHub Release + uses: ncipollo/release-action@v1 + with: + allowUpdates: true + prerelease: ${{ env.STABLE_RELEASE == 'false' }} + makeLatest: false + tag: ${{ github.ref_name }} + removeArtifacts: true + artifacts: "clients/intellij/build/distributions/intellij-tabby-signed.zip" diff --git a/.github/workflows/release-vim.yml b/.github/workflows/release-vim.yml index 9671139ef01b..35933a0a0cbd 100644 --- a/.github/workflows/release-vim.yml +++ b/.github/workflows/release-vim.yml @@ -2,6 +2,9 @@ name: Release Vim Plugin on: workflow_dispatch: + push: + tags: + - 'vim@*' jobs: release: @@ -21,13 +24,13 @@ jobs: path: vim-tabby - name: Copy files run: | + find vim-tabby/ -mindepth 1 ! -regex '^vim-tabby/\.git\(/.*\)?' -delete + cp -r tabby/clients/vim/.gitignore vim-tabby/ cp -r tabby/clients/vim/* vim-tabby/ - rm vim-tabby/package.json - name: Get version id: get_version run: | - cd vim-tabby/autoload/tabby/ - version=$(cat globals.vim | grep "let g:tabby_version" | sed -e 's/.*"\(.*\)".*/\1/') + version=$(cat vim-tabby/autoload/tabby.vim | grep "let g:tabby_version" | sed -e 's/.*"\(.*\)".*/\1/') echo "::set-output name=version::$version" - name: Commit files run: | diff --git a/.github/workflows/release-vscode.yml b/.github/workflows/release-vscode.yml new file mode 100644 index 000000000000..248ed0ddac10 --- /dev/null +++ b/.github/workflows/release-vscode.yml @@ -0,0 +1,55 @@ +name: Release vscode extension + +on: + workflow_dispatch: + push: + tags: + - 'vscode@*' + +concurrency: + group: ${{ github.workflow_ref }}-${{ github.head_ref || github.ref_name }} + + # If this is enabled it will cancel current running and start latest + cancel-in-progress: true + +jobs: + publish-vscode: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + lfs: true + + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version: 18 + + - uses: pnpm/action-setup@v4 + name: Install pnpm + with: + version: 9 + run_install: false + + - name: Get pnpm store directory + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - uses: actions/cache@v4 + name: Setup pnpm cache + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Install dependencies + run: pnpm install + + - name: Publish + run: cd clients/vscode && pnpm run $(node scripts/publish.cjs) + env: + VSCE_PAT: ${{ secrets.VSCE_PAT }} + OVSX_PAT: ${{ secrets.OVSX_PAT }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0fa9ce6b1cd8..a388783d12ed 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,72 +6,54 @@ on: tags: - 'v*' - 'nightly' + - "!*-dev.*" + - '!vscode@*' + - '!vim@*' pull_request: branches: [ "main" ] paths: - '.github/workflows/release.yml' concurrency: - group: ${{ github.workflow_ref }}-${{ github.head_ref || github.ref_name }} - + group: ${{ github.workflow_ref }}-${{ github.head_ref || github.ref_name }} + # If this is enabled it will cancel current running and start latest cancel-in-progress: true env: - RUST_TOOLCHAIN: 1.73.0 + RUST_TOOLCHAIN: 1.82.0 jobs: - release-binary: + release-llama-server-binary: runs-on: ${{ matrix.os }} container: ${{ matrix.container }} strategy: matrix: - binary: [aarch64-apple-darwin, x86_64-manylinux2014, x86_64-windows-msvc, x86_64-manylinux2014-cuda117, x86_64-manylinux2014-cuda122, x86_64-windows-msvc-cuda117, x86_64-windows-msvc-cuda122, x86_64-manylinux2014-rocm57] + binary: + - aarch64-apple-darwin + - x86_64-manylinux_2_28 + - x86_64-manylinux_2_28-cuda123 include: - os: macos-latest target: aarch64-apple-darwin binary: aarch64-apple-darwin - - os: ubuntu-latest + build_args: --features binary + - os: buildjet-2vcpu-ubuntu-2204 target: x86_64-unknown-linux-gnu - binary: x86_64-manylinux2014 - container: quay.io/pypa/manylinux2014_x86_64 - build_args: --features static-ssl,prod-db - - os: ubuntu-latest + binary: x86_64-manylinux_2_28 + container: quay.io/pypa/manylinux_2_28_x86_64 + build_args: --features binary + - os: buildjet-2vcpu-ubuntu-2204 target: x86_64-unknown-linux-gnu - binary: x86_64-manylinux2014-cuda117 - container: sameli/manylinux2014_x86_64_cuda_11.7 - build_args: --features static-ssl --features cuda,prod-db - - os: ubuntu-latest - target: x86_64-unknown-linux-gnu - binary: x86_64-manylinux2014-cuda122 - container: sameli/manylinux2014_x86_64_cuda_12.2 - build_args: --features static-ssl --features cuda,prod-db - - os: windows-latest - target: x86_64-pc-windows-msvc - binary: x86_64-windows-msvc - ext: .exe - - os: windows-latest - target: x86_64-pc-windows-msvc - binary: x86_64-windows-msvc-cuda117 - ext: .exe - build_args: --features cuda,prod-db - windows_cuda: '11.7.1' - - os: windows-latest - target: x86_64-pc-windows-msvc - binary: x86_64-windows-msvc-cuda122 - ext: .exe - build_args: --features cuda,prod-db - windows_cuda: '12.2.0' - - os: ubuntu-latest - target: x86_64-unknown-linux-gnu - binary: x86_64-manylinux2014-rocm57 - container: ghcr.io/cromefire/hipblas-manylinux/2014/5.7:latest - build_args: --features static-ssl,rocm,prod-db + binary: x86_64-manylinux_2_28-cuda123 + container: sameli/manylinux_2_28_x86_64_cuda_12.3@sha256:e12416bf249ab312f9dcfdebd7939b968dd6f1b6f810abbede818df875e86a7c + build_args: --features binary,cuda env: SCCACHE_GHA_ENABLED: true RUSTC_WRAPPER: sccache CARGO_INCREMENTAL: 0 + ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true steps: - name: Checkout @@ -80,26 +62,32 @@ jobs: submodules: recursive - name: Install Rust + if: runner.os != 'Windows' uses: actions-rs/toolchain@v1 with: toolchain: ${{ env.RUST_TOOLCHAIN }} target: ${{ matrix.target }} components: clippy + - name: Install Rust for Windows + if: runner.os == 'Windows' + run: | + rustup update --no-self-update ${{ env.RUST_TOOLCHAIN }} + rustup target add ${{ matrix.target }} + rustup component add clippy --toolchain ${{ env.RUST_TOOLCHAIN }} + - name: Set default rust version run: rustup default ${{ env.RUST_TOOLCHAIN }} - name: Sccache cache - uses: mozilla-actions/sccache-action@v0.0.3 - with: - version: "v0.4.0" + uses: mozilla-actions/sccache-action@v0.0.9 - name: Cargo registry cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: - key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.toml') }}-${{ github.sha }} + key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-${{ github.sha }} restore-keys: | - cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.toml') }}- + cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}- cargo-${{ runner.os }}- path: | ~/.cargo/registry @@ -122,32 +110,226 @@ jobs: if: runner.os == 'Windows' && matrix.windows_cuda != '' - name: Bulid release binary + run: cargo build ${{ matrix.build_args }} --release --target ${{ matrix.target }} --package llama-cpp-server + + - name: Rename release binary + run: mv target/${{ matrix.target }}/release/llama-server${{ matrix.ext }} llama-server_${{ matrix.binary }}${{ matrix.ext }} + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + retention-days: 3 + name: llama-server_${{ matrix.binary }}${{ matrix.ext }} + path: llama-server_${{ matrix.binary }}${{ matrix.ext }} + + release-binary: + runs-on: ${{ matrix.os }} + container: ${{ matrix.container }} + strategy: + matrix: + binary: + - aarch64-apple-darwin + - x86_64-manylinux_2_28 + - x86_64-windows-msvc + include: + - os: macos-latest + target: aarch64-apple-darwin + binary: aarch64-apple-darwin + build_args: --no-default-features --features prod + - os: buildjet-2vcpu-ubuntu-2204 + target: x86_64-unknown-linux-gnu + binary: x86_64-manylinux_2_28 + container: quay.io/pypa/manylinux_2_28_x86_64 + build_args: --no-default-features --features static-ssl,prod + - os: windows-latest + target: x86_64-pc-windows-msvc + binary: x86_64-windows-msvc + build_args: --no-default-features --features prod + ext: .exe + + env: + SCCACHE_GHA_ENABLED: true + RUSTC_WRAPPER: sccache + CARGO_INCREMENTAL: 0 + ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true + + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Install Rust + if: runner.os != 'Windows' + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ env.RUST_TOOLCHAIN }} + target: ${{ matrix.target }} + components: clippy + + - name: Install Rust for Windows + if: runner.os == 'Windows' + run: | + rustup update --no-self-update ${{ env.RUST_TOOLCHAIN }} + rustup target add ${{ matrix.target }} + rustup component add clippy --toolchain ${{ env.RUST_TOOLCHAIN }} + + - name: Set default rust version + run: rustup default ${{ env.RUST_TOOLCHAIN }} + + - name: Sccache cache + uses: mozilla-actions/sccache-action@v0.0.9 + + - name: Cargo registry cache + uses: actions/cache@v4 + with: + key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-${{ github.sha }} + restore-keys: | + cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}- + cargo-${{ runner.os }}- + path: | + ~/.cargo/registry + ~/.cargo/git + + - name: Prepare build environment for macOS & Linux + run: bash ./ci/prepare_build_environment.sh + if: runner.os != 'Windows' + + - name: Prepare build environment for Windows + run: ./ci/prepare_build_environment.ps1 + if: runner.os == 'Windows' + + - name: Build release binary run: cargo build ${{ matrix.build_args }} --release --target ${{ matrix.target }} --package tabby - name: Rename release binary run: mv target/${{ matrix.target }}/release/tabby${{ matrix.ext }} tabby_${{ matrix.binary }}${{ matrix.ext }} - name: Upload artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: retention-days: 3 name: tabby_${{ matrix.binary }}${{ matrix.ext }} path: tabby_${{ matrix.binary }}${{ matrix.ext }} + package-from-upstream: + runs-on: ubuntu-latest + needs: [release-binary] + permissions: + contents: write + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Download all artifacts + uses: actions/download-artifact@v4 + + - name: Display structure of downloaded files + run: ls -R + + - name: Package CPU for Windows + run: > + LLAMA_CPP_PLATFORM=win-cpu-x64 OUTPUT_NAME=tabby_x86_64-windows-msvc-cpu ./ci/package-from-upstream.sh + + - name: Package CUDA 12.4 for Windows + run: > + LLAMA_CPP_PLATFORM=win-cuda-12.4-x64 OUTPUT_NAME=tabby_x86_64-windows-msvc-cuda124 ./ci/package-from-upstream.sh + + - name: Package Vulkan for Windows + run: > + LLAMA_CPP_PLATFORM=win-vulkan-x64 OUTPUT_NAME=tabby_x86_64-windows-msvc-vulkan ./ci/package-from-upstream.sh + + - name: Package Vulkan for Linux + run: > + LLAMA_CPP_PLATFORM=ubuntu-vulkan-x64 OUTPUT_NAME=tabby_x86_64-manylinux_2_28-vulkan ./ci/package-from-upstream.sh + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + retention-days: 3 + name: dist + path: dist/ + + pre-release: - if: github.event_name == 'push' - needs: release-binary + needs: [release-llama-server-binary, release-binary, package-from-upstream] runs-on: ubuntu-latest permissions: contents: write steps: - name: Download all artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 + + - name: Display structure of downloaded files + run: ls -R + + - name: Creating distribution bundles + run: | + get_file_extension() { + local filename="$1" + # Check if the file has an extension + if [[ "$filename" == *.* && ! "$filename" == .* ]]; then + echo ".${filename##*.}" + else + echo "" + fi + } + + dist_dir=$(pwd)/dist + mkdir -p $dist_dir + + for llama_server in llama-server_*/llama-server_*; do + for tabby in tabby_*/tabby_*; do + llamab=$(basename $llama_server) + tabbyb=$(basename $tabby) + extname=$(get_file_extension $tabbyb) + + llaman=${llamab%.*} + tabbyn=${tabbyb%.*} + + llamav=${llaman#llama-server_} + tabbyv=${tabbyn#tabby_} + + if [[ $llamav == *"$tabbyv"* ]]; then + echo "Creating bundle for $llamav" + + # the downloaded files may have the same folder name with release_dir + # put the release files in a new folder + build_dir=build + release_name=tabby_${llamav} + release_dir=$build_dir/$release_name + mkdir -p $release_dir + cp $llama_server $release_dir/llama-server${extname} + cp $tabby $release_dir/tabby${extname} + + pushd $build_dir + # Release zip for Windows, tar.gz for macOS and Linux + # use `extname` to determine the platform + if [[ "$extname" == ".exe" ]]; then + zip -r $release_name.zip $release_name + mv $release_name.zip $dist_dir/ + else + chmod +x $release_name/llama-server${extname} $release_name/tabby${extname} + tar zcvf $release_name.tar.gz $release_name + mv $release_name.tar.gz $dist_dir/ + fi + rm -rf "$release_name" + popd + fi + done + done + + - name: Display structure of created files + run: ls -R dist - uses: ncipollo/release-action@v1 + if: github.event_name == 'push' with: - allowUpdates: true + allowUpdates: true prerelease: true - artifacts: "tabby_*/tabby_*" + makeLatest: false + artifacts: "dist/tabby_*.zip,dist/tabby_*.tar.gz" tag: ${{ github.ref_name }} removeArtifacts: true diff --git a/.github/workflows/test-intellij.yml b/.github/workflows/test-intellij.yml index 1ede1ed5c218..2257f9a0869c 100644 --- a/.github/workflows/test-intellij.yml +++ b/.github/workflows/test-intellij.yml @@ -5,6 +5,7 @@ on: branches: [ main ] paths: - '.github/workflows/test-intellij.yml' + - 'clients/tabby-agent/**' - 'clients/intellij/**' concurrency: @@ -14,19 +15,48 @@ concurrency: cancel-in-progress: true jobs: - tests: + build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 with: lfs: true + - name: Setup JDK uses: actions/setup-java@v3 with: distribution: zulu java-version: 17 - - name: Test Build + + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version: 18 + + - name: Install pnpm + uses: pnpm/action-setup@v4 + with: + version: 9 + run_install: false + + - name: Get pnpm store directory + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - name: Setup pnpm cache + uses: actions/cache@v4 + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Install dependencies + run: pnpm install + + - name: Build Plugin uses: gradle/gradle-build-action@v2.4.2 with: arguments: buildPlugin diff --git a/.github/workflows/test-pnpm.yml b/.github/workflows/test-pnpm.yml new file mode 100644 index 000000000000..258d9a81ab81 --- /dev/null +++ b/.github/workflows/test-pnpm.yml @@ -0,0 +1,61 @@ +name: Test Pnpm + +on: + pull_request: + branches: ["main" ] + paths: + - '.github/workflows/autofix-pnpm.yml' + - 'clients/**' + - 'ee/tabby-ui/**' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow_ref }}-${{ github.head_ref || github.ref_name }} + + # If this is enabled it will cancel current running and start latest + cancel-in-progress: true + +jobs: + tests: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version: 18 + + - uses: pnpm/action-setup@v4 + name: Install pnpm + with: + version: 9 + run_install: false + + - name: Get pnpm store directory + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - uses: actions/cache@v4 + name: Setup pnpm cache + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Install dependencies + run: pnpm install + + - name: Lint + run: pnpm lint + + - name: Test + run: pnpm test + + - name: Build + run: pnpm build \ No newline at end of file diff --git a/.github/workflows/test-rust.yml b/.github/workflows/test-rust.yml index 4b322c0ce2ef..d95a37c581e2 100644 --- a/.github/workflows/test-rust.yml +++ b/.github/workflows/test-rust.yml @@ -1,6 +1,16 @@ name: Test Rust on: + push: + branches: [ "main" ] + paths: + - 'Cargo.toml' + - 'Cargo.lock' + - 'crates/**' + - 'ee/**' + - '!ee/tabby-ui/**' + - '.github/workflows/test-rust.yml' + pull_request: branches: [ "main" ] paths: @@ -12,18 +22,20 @@ on: - '.github/workflows/test-rust.yml' concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }} - + group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }} + # If this is enabled it will cancel current running and start latest cancel-in-progress: true env: - RUST_TOOLCHAIN: 1.73.0 + RUST_TOOLCHAIN: 1.82.0 jobs: tests: + if: ${{ github.event_name == 'pull_request' }} runs-on: ubuntu-latest env: + CARGO_TERM_COLOR: always SCCACHE_GHA_ENABLED: true RUSTC_WRAPPER: sccache CARGO_INCREMENTAL: 0 @@ -38,22 +50,75 @@ jobs: toolchain: ${{ env.RUST_TOOLCHAIN }} - name: Sccache cache - uses: mozilla-actions/sccache-action@v0.0.3 - with: - version: "v0.4.0" + uses: mozilla-actions/sccache-action@v0.0.9 - name: Cargo registry cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: - key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.toml') }}-${{ github.sha }} + key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-${{ github.sha }} restore-keys: | - cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.toml') }}- + cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}- cargo-${{ runner.os }}- path: | ~/.cargo/registry ~/.cargo/git - - run: bash ./ci/prepare_build_environment.sh + - run: sudo bash ./ci/prepare_build_environment.sh + + - name: Run doc tests + run: cargo test --doc + + - name: Run unit tests on community build + run: cargo test --bin tabby --no-default-features - name: Run unit tests run: cargo test --bin tabby --lib + + coverage: + runs-on: ubuntu-latest + env: + CARGO_TERM_COLOR: always + SCCACHE_GHA_ENABLED: true + RUSTC_WRAPPER: sccache + CARGO_INCREMENTAL: 0 + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ env.RUST_TOOLCHAIN }} + + - name: Install cargo-llvm-cov + uses: taiki-e/install-action@cargo-llvm-cov + + - name: Sccache cache + uses: mozilla-actions/sccache-action@v0.0.9 + + - name: Cargo registry cache + uses: actions/cache@v4 + with: + key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-${{ github.sha }} + restore-keys: | + cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}- + cargo-${{ runner.os }}- + path: | + ~/.cargo/registry + ~/.cargo/git + + - run: sudo bash ./ci/prepare_build_environment.sh + + - name: Generate code coverage + env: + CI_COVERAGE: 1 + run: cargo llvm-cov --bin tabby --lib --lcov --output-path lcov.info + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v3 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + with: + files: lcov.info + fail_ci_if_error: true \ No newline at end of file diff --git a/.github/workflows/test-tabby-agent.yml b/.github/workflows/test-tabby-agent.yml deleted file mode 100644 index 98573743e49d..000000000000 --- a/.github/workflows/test-tabby-agent.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: Test Tabby Agent - -on: - pull_request: - branches: [ main ] - paths: - - '.github/workflows/test-tabby-agent.yml' - - 'package.json' - - 'yarn.lock' - - 'clients/tabby-agent/**' - -concurrency: - group: ${{ github.workflow_ref }}-${{ github.head_ref || github.ref_name }} - - # If this is enabled it will cancel current running and start latest - cancel-in-progress: true - -jobs: - tests: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - lfs: true - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: '18.x' - cache: yarn - cache-dependency-path: 'yarn.lock' - - name: Install dependencies - working-directory: ./clients/tabby-agent - run: yarn install - - name: Lint - working-directory: ./clients/tabby-agent - run: yarn lint:check - - name: Run tests - working-directory: ./clients/tabby-agent - run: yarn test - - name: Test build - working-directory: ./clients/tabby-agent - run: yarn build - \ No newline at end of file diff --git a/.github/workflows/test-tabby-ui.yml b/.github/workflows/test-tabby-ui.yml deleted file mode 100644 index 75a34fc72c90..000000000000 --- a/.github/workflows/test-tabby-ui.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Test Tabby UI - -on: - pull_request: - branches: [ main ] - paths: - - '.github/workflows/test-tabby-ui.yml' - - 'ee/tabby-ui/**' - -concurrency: - group: ${{ github.workflow_ref }}-${{ github.head_ref || github.ref_name }} - - # If this is enabled it will cancel current running and start latest - cancel-in-progress: true - -jobs: - tests: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: '18.x' - cache: yarn - cache-dependency-path: 'yarn.lock' - - name: Install dependencies - working-directory: ./ee/tabby-ui - run: yarn install - - name: Format - working-directory: ./ee/tabby-ui - run: yarn format:check - - name: Lint - working-directory: ./ee/tabby-ui - run: yarn lint - - name: Test build - working-directory: ./ee/tabby-ui - run: yarn build - \ No newline at end of file diff --git a/.github/workflows/test-vscode.yml b/.github/workflows/test-vscode.yml deleted file mode 100644 index 6068253dfd5f..000000000000 --- a/.github/workflows/test-vscode.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Test VSCode Extension - -on: - pull_request: - branches: [ main ] - paths: - - '.github/workflows/test-vscode.yml' - - 'package.json' - - 'yarn.lock' - - 'clients/tabby-agent/**' - - 'clients/vscode/**' - -concurrency: - group: ${{ github.workflow_ref }}-${{ github.head_ref || github.ref_name }} - - # If this is enabled it will cancel current running and start latest - cancel-in-progress: true - -jobs: - tests: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - lfs: true - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: '18.x' - cache: yarn - cache-dependency-path: 'yarn.lock' - - name: Install dependencies - working-directory: ./clients/vscode - run: yarn install - - name: Lint - working-directory: ./clients/vscode - run: yarn lint:check - - name: Test build - working-directory: ./clients/vscode - run: yarn build - \ No newline at end of file diff --git a/.gitignore b/.gitignore index dcdc169416ac..595435d9d637 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,10 @@ node_modules .idea/ .DS_Store .vscode/ +local/ __pycache__ +.turbo + +# ignore cargo flamegraph temp files +flamegraph.svg +cargo-flamegraph.stacks diff --git a/.gitmodules b/.gitmodules index e150ac4796c6..29cc0b2944ba 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ -[submodule "crates/llama-cpp-bindings/llama.cpp"] - path = crates/llama-cpp-bindings/llama.cpp - url = https://github.com/TabbyML/llama.cpp +[submodule "crates/llama-cpp-server/llama.cpp"] + path = crates/llama-cpp-server/llama.cpp + url = https://github.com/ggml-org/llama.cpp.git diff --git a/.tmuxinator/tabby.yml b/.tmuxinator/tabby.yml new file mode 100644 index 000000000000..6def6f2689d3 --- /dev/null +++ b/.tmuxinator/tabby.yml @@ -0,0 +1,12 @@ +name: tabby +root: ./ + +windows: + - caddy: + panes: + - caddy run --watch --config ee/tabby-webserver/development/Caddyfile + - server: + layout: even-horizontal + panes: + - cargo run serve --port 8081 + - cd ee/tabby-ui && pnpm dev diff --git a/CHANGELOG.md b/CHANGELOG.md index f024ea8bf33f..de27a23ceb33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,72 +1,523 @@ -# v0.9.0 [Unreleased] +# Changelog +All notable changes to this project will be documented in this file. -## Features +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html), +and is generated by [Changie](https://github.com/miniscruff/changie). -## Fixes and Improvements +## v0.31.2 (2025-09-25) -* The `user` field in the `~/tabby/events` log is now populated for users who authenticate via the `--webserver` feature. +### Notice -# v0.8.0 +* This is a patch release, please also check [the full release note](https://github.com/TabbyML/tabby/releases/tag/v0.31.0) for 0.31. -## Notice +### Fixed and Improvements + +* Added environment variable `TABBY_INDEX_REPO_IN_SHARD` to enable hourly sharded indexing when repository count exceeds 20. [#4366](https://github.com/TabbyML/tabby/pull/4366) + +## v0.31.0 (2025-08-19) + +### Features + +* Add support for custom branding with name and logo (Available Exclusively with an Enterprise License). [#4334](https://github.com/TabbyML/tabby/pull/4334) + +## v0.30.2 (2025-07-31) + +### Notice + +* This is a patch release, please also check [the full release note](https://github.com/TabbyML/tabby/releases/tag/v0.30.0) for 0.30. + +### Fixed and Improvements + +* Use 0.7.3 sqlx to avoid database pool timeout. [#4328](https://github.com/TabbyML/tabby/pull/4328) +* Bump llama.cpp to b6047. [#4330](https://github.com/TabbyML/tabby/pull/4330) +* Expose the Flash Attention LLAMA flag as an environment variable. [#4323](https://github.com/TabbyML/tabby/pull/4323) + +## v0.30.1 (2025-07-16) + +### Notice + +* This is a patch release, please also check [the full release note](https://github.com/TabbyML/tabby/releases/tag/v0.30.0) for 0.30. + +### Fixed and Improvements + +* Downgrade CUDA base image to version 12.4.1 to enhance compatibility. [#4314](https://github.com/TabbyML/tabby/pull/4314) + +## v0.30.0 (2025-07-02) + +### Features + +* Support indexing GitLab Merge Request as Context. [#4227](https://github.com/TabbyML/tabby/pull/4227) + +### Fixed and Improvements + +* Use CUDA 12 image as base image by default. [#4235](https://github.com/TabbyML/tabby/pull/4235) +* Leverage the Answer Engine logic to enrich the context when generating new pages, improving page quality. [#4237](https://github.com/TabbyML/tabby/pull/4237) +* Improve the model configuration details on the System page. [#4236](https://github.com/TabbyML/tabby/pull/4236) +* Resolve the flickering of buttons within code snippets in a chat response during answer generation. [#4233](https://github.com/TabbyML/tabby/pull/4233) +* Set the member filter bar always fixed at the top of the Reports page.[#4232](https://github.com/TabbyML/tabby/pull/4232) +* Resolve the issue when loading a multi-part model from local.[#4302](https://github.com/TabbyML/tabby/pull/4302) + +## v0.29.0 (2025-05-19) + +### Features + +* Add RESTful APIs for ingesting custom documents and facilitating their removal. ([#4171](https://github.com/TabbyML/tabby/pull/4171)) ([#4203](https://github.com/TabbyML/tabby/pull/4203)) ([#4196](https://github.com/TabbyML/tabby/pull/4196)) + +### Fixed and Improvements + +* Enhance error details in Notification Inbox. ([#4184](https://github.com/TabbyML/tabby/pull/4184)) +* Add support for Automatic Jobs status polling. ([#4172](https://github.com/TabbyML/tabby/pull/4172)) +* Bump llama.cpp to b2500. ([#4200](https://github.com/TabbyML/tabby/pull/4200)) + +## v0.28.0 (2025-04-28) + +### Features + +* Add support to convert Answer Engine messages into Pages. ([#4194](https://github.com/TabbyML/tabby/pull/4194)) +* Add support for Doc Query in Chat Panel, allowing Dev Docs to be included as context. ([#4095](https://github.com/TabbyML/tabby/pull/4095)) + +### Fixed and Improvements + +* Enhance background task logging to boost performance and enrich user experience. ([#4066](https://github.com/TabbyML/tabby/pull/4066)) ([#4145](https://github.com/TabbyML/tabby/pull/4145)) +* Enhance the display of thinking processes in Answer Engine and Chat Panel. ([#4091](https://github.com/TabbyML/tabby/pull/4091)) + +## v0.27.1 (2025-04-07) + +### Notice + +* This is a patch release, please also check [the full release note](https://github.com/TabbyML/tabby/releases/tag/v0.27.0) for 0.27. + +### Fixed and Improvements + +* Resolved an issue where certain escaped characters could cause plugin crashes on Windows systems. ([#4114](https://github.com/TabbyML/tabby/pull/4114)) +* Resolved an issue where the Tabby server could hang while waiting for the registry file to download in offline environments. ([#4120](https://github.com/TabbyML/tabby/pull/4120)) +* Improved handling of file mentions from different sources in the Chat Panel. ([#4116](https://github.com/TabbyML/tabby/pull/4116)) + +## v0.27.0 (2025-03-29) + +### Notice + +* Prepare for the 1.0 release. Starting with this release, extensions version upgrades will maintain backward compatibility with the Tabby server. + +### Features + +* Add support for the ability to execute shell commands within Chat Panel. ([#3979](https://github.com/TabbyML/tabby/pull/3979)) +* Add support for `@changes` within Chat Panel to include uncommitted changes as contexts. ([#3988](https://github.com/TabbyML/tabby/pull/3988)) +* Add security option to hide password login in frontend. When enabled, the password login can be revealed by appending the URL search parameter `passwordSignIn=true`. ([#3996](https://github.com/TabbyML/tabby/pull/3996)) ([#4015](https://github.com/TabbyML/tabby/pull/4015)) + +### Fixed and Improvements + +* Store background job logs on disk to prevent disruptions during processing of large repositories. ([#3994](https://github.com/TabbyML/tabby/pull/3994)) +* Track chat usage frequency and display it in Reports page. ([#4025](https://github.com/TabbyML/tabby/pull/4025)) ([#4042](https://github.com/TabbyML/tabby/pull/4042)) +* Resolve the chat functionality issue involving OpenAI reasoning models such as `o3-mini` and `o1-mini`. ([#4049](https://github.com/TabbyML/tabby/pull/4049)) + +## v0.26.0 (2025-03-16) + +### Notice + +* Bump minimum katana version to 1.1.2 + +### Features + +* Enable the Answer Engine to access the repository's commit history as needed. ([#3916](https://github.com/TabbyML/tabby/pull/3916)) +* Support the display of user chat history on Homepage and Chat Side Panel. ([#3897](https://github.com/TabbyML/tabby/pull/3897)) + +### Fixed and Improvements + +* Facilitate the crawling of developer documentation from llms-full.txt when available. ([#3880](https://github.com/TabbyML/tabby/pull/3880)) + +## v0.25.2 (2025-02-28) + +### Notice + +* This is a patch release, please also check [the historical release note](https://github.com/TabbyML/tabby/releases/tag/v0.25.1) for 0.25.1. + +### Fixed and Improvements + +* Alter the LDAP login mechanism to query users across the Organizational Unit subtree rather than a single level. An LDAP directory is structured hierarchically as a tree of nodes. This modification empowers all users beneath the LDAP Organizational Unit (OU) subtree to authenticate, rather than restricting access to users within a specific OU. + +## v0.25.1 (2025-02-25) + +### Notice + +* This is a patch release, please also check [the full release note](https://github.com/TabbyML/tabby/releases/tag/v0.25.0) for 0.25. + +### Fixed and Improvements + +* Refine the UI details in Answer Engine. ([#3888](https://github.com/TabbyML/tabby/pull/3888)) ([#3889](https://github.com/TabbyML/tabby/pull/3889)) ([#3891](https://github.com/TabbyML/tabby/pull/3891)) + +## v0.25.0 (2025-02-17) + +### Notice + +Significant changes have been implemented in this release; please consider adjusting them to fit your specific use case. + +* The default parallelism has been increased from 1 to 4, which might increase VRAM usage. ([#3832](https://github.com/TabbyML/tabby/pull/3832)) +* Introduce a new embedding kind `llama.cpp/before_b4356_embedding` for llamafile or other embedding services utilizing the legacy llama.cpp embedding API. ([#3828](https://github.com/TabbyML/tabby/pull/3828)) + +### Features + +* Expose thinking process of Answer Engine to the answers in thread message. ([#3785](https://github.com/TabbyML/tabby/pull/3785)) ([#3672](https://github.com/TabbyML/tabby/pull/3672)) +* Enable the Answer Engine to access the repository's directory file list as needed. ([#3796](https://github.com/TabbyML/tabby/pull/3796)) +* Enable the use of `@` to mention a symbol in Chat Sidebar. ([#3778](https://github.com/TabbyML/tabby/pull/3778)) +* Provide default question recommendations that are repository-aware on Answer Engine. ([#3815](https://github.com/TabbyML/tabby/pull/3815)) + +### Fixed and Improvements + +* Provide a configuration to truncate text content prior to dispatching it to embedding service.. ([#3816](https://github.com/TabbyML/tabby/pull/3816)) +* Bump llama.cpp version to b4651. ([#3798](https://github.com/TabbyML/tabby/pull/3798)) +* Automatically retry embedding when the service occasionally fails due to issues with llama.cpp. ([#3805](https://github.com/TabbyML/tabby/pull/3805)) +* Enhance the user interface experience for Answer Engine. ([#3845](https://github.com/TabbyML/tabby/pull/3845)) ([#3794](https://github.com/TabbyML/tabby/pull/3794)) +* Resolve the deserialization issue related to `finish_reason` in chat response from LiteLLM Proxy Server.([#3882](https://github.com/TabbyML/tabby/pull/3882)) + +## v0.24.0 (2025-01-23) + +### Features + +* Implement LDAP Authentication Integration. ([#3650](https://github.com/TabbyML/tabby/pull/3650)) ([#3625](https://github.com/TabbyML/tabby/pull/3625)) +* Add Notifications for unsuccessful background jobs. ([#3713](https://github.com/TabbyML/tabby/pull/3713)) + +### Fixed and Improvements + +* Fixed a bug that prevented the client code context in historical messages from being added to the prompt. ([#3673](https://github.com/TabbyML/tabby/pull/3673)) +* Retain the job run and user event history only for the past three months. ([#3640](https://github.com/TabbyML/tabby/pull/3640)) +* Resolved an issue that caused integration errors with recent versions of Jan AI. ([#3649](https://github.com/TabbyML/tabby/pull/3649)) +* Resolved an issue where repositories specified in config.toml were not synchronizing correctly. ([#3703](https://github.com/TabbyML/tabby/pull/3703)) +* Set the active text tab as default context in Code Browser chat. ([#3729](https://github.com/TabbyML/tabby/pull/3729)) +* Resolved an issue that caused models download failures due to changes in HuggingFace API. ([#3772](https://github.com/TabbyML/tabby/pull/3772)) +* Omit indexing of GitHub Pull Request diffs that exceed 300 files. ([#3779](https://github.com/TabbyML/tabby/pull/3779)) + +## v0.23.1 (2025-01-31) + +### Fixed and Improvements + +* Fix the issue of being unable to download remote models due to changes in HuggingFace API. ([#3772](https://github.com/TabbyML/tabby/pull/3772)) + +## v0.23.0 (2025-01-09) + +### Features + +* Add commit hash to code attachments, allowing redirection to the specific commit in code browser. ([#3627](https://github.com/TabbyML/tabby/pull/3627)) ([#3577](https://github.com/TabbyML/tabby/pull/3577)) +* Display the connection status of the gitUrl repository in the chat side panel. ([#3550](https://github.com/TabbyML/tabby/pull/3550)) + +### Fixed and Improvements + +* Perform database backups only when there are pending schema migrations. ([#3620](https://github.com/TabbyML/tabby/pull/3620)) +* Add repository selection and remove '#' mentions in the Answer Engine. ([#3619](https://github.com/TabbyML/tabby/pull/3619)) + +## v0.22.0 (2024-12-23) + +### Features + +* Introduce notification inbox on homepage and license expiration check. ([#3541](https://github.com/TabbyML/tabby/pull/3541)) ([#3566](https://github.com/TabbyML/tabby/pull/3566)) +* Display author information for issues / pull requests in Answer Engine context card ([#3513](https://github.com/TabbyML/tabby/pull/3513)) + +### Fixed and Improvements + +* Refactors the pull request indexing process to enhance the speed of incremental indexing for pull docs. ([#3538](https://github.com/TabbyML/tabby/pull/3538)) +* Optimize the rate limiter on the HTTP-powered model backend to reduce errors. ([#3567](https://github.com/TabbyML/tabby/pull/3567)) +* Introduce rate limiting at 60 requests per minute in the tabby-webserver. ([#3484](https://github.com/TabbyML/tabby/pull/3484)) +* Validate model capability prior to download. ([#3565](https://github.com/TabbyML/tabby/pull/3565)) +* Fix broken tree view on Windows in CodeBrowser. ([#3528](https://github.com/TabbyML/tabby/pull/3528)) +* Upgrade all Tabby Linux base images to manylinux_2_28. ([#3536](https://github.com/TabbyML/tabby/pull/3536)) + +## v0.21.2 (2024-12-18) + +### Notice + +* This is a patch release, please also check [the full release note](https://github.com/TabbyML/tabby/releases/tag/v0.21.1) for 0.21.1. + +### Fixed and Improvements + +* Adapt extension side changes in new versions. + - VSCode: 1.16.0 + - IntelliJ Platform: 1.9.1 + +## v0.21.1 (2024-12-09) + +### Notice + +* This is a patch release, please also check [the full release note](https://github.com/TabbyML/tabby/releases/tag/v0.21.0) for 0.21. + +### Fixed and Improvements + +* Fixed Gitlab Context Provider. +## v0.21.0 (2024-12-02) + +### Notice + +* Due to changes in the indexing format, the `~/.tabby/index` directory will be automatically removed before any further indexing jobs are run. It is expected that the indexing jobs will be re-run (instead of incrementally) after the upgrade. + +### Features + +* Support connecting to llamafile model backend. +* Display **Open** / **Closed** state for issues / pull requests in Answer Engine context card. +* Support deleting the entire thread in Answer Engine. +* Add rate limiter options for HTTP-powered model backends. + +### Fixed and Improvements + +* Fixed a panic that occurred when specifying a local model ([#3464](https://github.com/TabbyML/tabby/issues/3464)) +* Add pagination to Answer Engine threads. +* Fix Vulkan binary distributions. +* Improve the retry logic for chunk embedding computation in indexing job. + +## v0.20.0 (2024-11-08) + +### Features + +* Search results can now be edited directly. +* Allow switching backend chat models in Answer Engine. +* Added a connection test button in the `System` tab to test the connection to the backend LLM server. + +### Fixes and Improvements + +* Optimized CR-LF inference in code completion. ([#3279](https://github.com/TabbyML/tabby/issues/3279)) +* Bumped `llama.cpp` version to `b3995`. + +## v0.19.0 (2024-10-30) + +### Features + +* For Answer Engine, when the file content is reasonably short (e.g., less than 200 lines of code), include the entire file content directly instead of only the chunk ([#3096](https://github.com/TabbyML/tabby/issues/3096)). +* Allowed adding additional languages through the `config.toml` file. +* Allowed customizing the `system_prompt` for Answer Engine. + +### Fixes and Improvements + +* Redesigned homepage to make team activities (e.g., threads discussed in Answer Engine) discoverable. +* Supported downloading models with multiple partitions (e.g., Qwen-2.5 series). + +## v0.18.0 (2024-10-08) + +### Notice + +* The Chat Side Panel implementation has been redesigned in version 0.18, necessitating an extension version bump for compatibility with 0.18.0. + - VSCode: >= 1.12.0 + - IntelliJ: >= 1.8.0 + +### Features + +* User Groups Access Control: Server Administrators can now assign user groups to specific context providers to precisely control which contexts can be accessed by which user groups. + +## v0.17.0 (2024-09-10) + +### Notice + +* We've reworked the `Web` (a beta feature) context provider into the `Developer Docs` context provider. Previously added context in the `Web` tab has been cleared and needs to be manually migrated to `Developer Docs`. + +### Features + +* Extensive rework has been done in the answer engine search box. + - Developer Docs / Web search is now triggered by `@`. + - Repository Context is now selected using `#`. + +* Supports OCaml + +## v0.16.1 (2024-08-27) + +### Notice +* Starting from this version, we are utilizing websockets for features that require streaming (e.g., Answer Engine and Chat Side Panel). If you are deploying tabby behind a reverse proxy, you may need to configure the proxy to support websockets. + +### Features + +* Discussion threads in the Answer Engine are now persisted, allowing users to share threads with others. + +### Fixed and Improvements + +* Fixed an issue where the llama-server subprocess was not being reused when reusing a model for Chat / Completion together (e.g., Codestral-22B) with the local model backend. +* Updated llama.cpp to version b3571 to support the jina series embedding models. + +## v0.15.0 (2024-08-08) + +### Features + +* The search bar in the Code Browser has been reworked and integrated with file navigation functionality. +* GraphQL syntax highlighting support in Code Browser. + +### Fixed and Improvements + +* For linked GitHub repositories, issues and PRs are now only returned when the repository is selected. +* Fixed GitLab issues/MRs indexing - no longer panics if the description field is null. +* When connecting to localhost model servers, proxy settings are now skipped. +* Allow set code completion's `max_input_length` and `max_output_tokens` in config.toml + +## v0.14.0 (2024-07-23) + +### Features +* Code search functionality is now available in the `Code Browser` tab. Users can search for code using regex patterns and filter by language, repository, and branch. +* Initial experimental support for natural language to codebase conversation in `Answer Engine`. + +### Fixed and Improvements + +* Incremental issues / PRs indexing by checking `updated_at`. +* Canonicalize `git_url` before performing a relevant code search. Previously, for git_urls with credentials, the canonicalized git_url was used in the index, but the query still used the raw git_url. +* bump llama.cpp to b3370 - which fixes Qwen2 model series inference + +## v0.13.1 (2024-07-10) + +### Fixed and Improvements + +* Bump llama.cpp version to b3334, supporting Deepseek V2 series models. +* Turn on fast attention for Qwen2-1.5B model to fix the quantization error. +* Properly set number of GPU layers (to zero) when device is CPU. +## v0.13.0 (2024-06-28) + +### Features + +* Introduced a new Home page featuring the Answer Engine, which activates when the chat model is loaded. +* Enhanced the Answer Engine's context by indexing issues and pull requests. +* Supports web page crawling to further enrich the Answer Engine's context. +* Enabled navigation through various git trees in the git browser. + +### Fixed and Improvements + +* Turn on sha256 checksum verification for model downloading. +* Added an environment variable `TABBY_HUGGINGFACE_HOST_OVERRIDE` to override `huggingface.co` with compatible mirrors (e.g., `hf-mirror.com`) for model downloading. +* Bumped `llama.cpp` version to [b3166](https://github.com/ggerganov/llama.cpp/releases/tag/3166). +* Improved logging for the `llama.cpp` backend. +* Added support for triggering background jobs in the admin UI. +* Enhanced logging for backend jobs in the admin UI. + +## v0.12.0 (2024-05-31) + +### Features + +* Support Gitlab SSO +* Support connect with Self-Hosted Github / Gitlab +* Repository Context is now utilizied in "Code Browser" as well + +### Fixed and Improvements + +* llama-server from llama.cpp is now distributed as an individual binary, allowing for more flexible configuration +* HTTP API is out of experimental - you can connect tabby to models through HTTP API. Right now following APIs are supported: + - llama.cpp + - ollama + - mistral / codestral + - openai + +## v0.11.1 (2024-05-14) + +### Fixed and Improvements + +* Fixed display of files where the path contains special characters. ([#2081](https://github.com/TabbyML/tabby/issues/2081)) +* Fixed non-admin users not being able to see the repository in Code Browser. ([#2110](https://github.com/TabbyML/tabby/discussions/2110)) + +## v0.11.0 (05/10/2024) + +### Notice + +* The `--webserver` flag is now enabled by default in `tabby serve`. To turn off the webserver and only use OSS features, use the `--no-webserver` flag. +* The `/v1beta/chat/completions` endpoint has been moved to `/v1/chat/completions`, while the old endpoint is still available for backward compatibility. + +### Features +* Upgraded [llama.cpp](https://github.com/ggerganov/llama.cpp) to version [b2715](https://github.com/ggerganov/llama.cpp/releases/tag/b2715). +* Added support for integrating repositories from GitHub and GitLab using personal access tokens. +* Introduced a new **Activities** page to view user activities. +* Implemented incremental indexing for faster repository context updates. +* Added storage usage statistics in the **System** page. +* Included an `Ask Tabby` feature in the source code browser to provide in-context help from AI. + +### Fixes and Improvements +* Changed the default model filename from `q8_0.v2.gguf` to `model.gguf` in MODEL_SPEC.md. +* Excluded activities from deactivated users in reports. + +## v0.10.0 (04/22/2024) + +### Features +* Introduced the `--chat-device` flag to specify the device used to run the chat model. +* Added a "Reports" tab in the web interface, which provides team-wise statistics for Tabby IDE and Extensions usage (e.g., completions, acceptances). +* Enabled the use of segmented models with the `tabby download` command. +* Implemented the "Go to file" functionality in the Code Browser. + +### Fixes and Improvements +* Fix worker unregisteration misfunctioning caused by unmatched address. +* Accurate repository context filtering using fuzzy matching on `git_url` field. +* Support the use of client-side context, including function/class declarations from LSP, and relevant snippets from local changed files. + +## v0.9.1 (03/19/2024) + +### Fixes and Improvements +* Fix worker registration check against enterprise licenses. +* Fix default value of `disable_client_side_telemetry` when `--webserver` is not used. + +## v0.9.0 (03/06/2024) + +### Features + +* Support for SMTP configuration in the user management system. +* Support for SSO and team management as features in the Enterprise tier. +* Fully managed repository indexing using `--webserver`, with job history logging available in the web interface. + +## v0.8.3 (02/06/2024) + +### Fixes and Improvements + +* Ensure `~/.tabby/repositories` exists for tabby scheduler jobs: https://github.com/TabbyML/tabby/pull/1375 +* Add cpu only binary `tabby-cpu` to docker distribution. + +## v0.8.0 (02/02/2024) + +### Notice * Due to format changes, re-executing `tabby scheduler --now` is required to ensure that `Code Browser` functions properly. -## Features +### Features * Introducing a preview release of the `Source Code Browser`, featuring visualization of code snippets utilized for code completion in RAG. * Added a Windows CPU binary distribution. * Added a Linux ROCm (AMD GPU) binary distribution. -## Fixes and Improvements +### Fixes and Improvements * Fixed an issue with cached permanent redirection in certain browsers (e.g., Chrome) when the `--webserver` flag is disabled. * Introduced the `TABBY_MODEL_CACHE_ROOT` environment variable to individually override the model cache directory. * The `/v1beta/chat/completions` API endpoint is now compatible with OpenAI's chat completion API. * Models from our official registry can now be referred to without the TabbyML prefix. Therefore, for the model TabbyML/CodeLlama-7B, you can simply refer to it as CodeLlama-7B everywhere. -# v0.7.0 (12/15/2023) +## v0.7.0 (12/15/2023) -## Features +### Features * Tabby now includes built-in user management and secure access, ensuring that it is only accessible to your team. * The `--webserver` flag is a new addition to `tabby serve` that enables secure access to the tabby server. When this flag is on, IDE extensions will need to provide an authorization token to access the instance. - Some functionalities that are bound to the webserver (e.g. playground) will also require the `--webserver` flag. -## Fixes and Improvements +### Fixes and Improvements * Fix https://github.com/TabbyML/tabby/issues/1036, events log should be written to dated json files. -# v0.6.0 (11/27/2023) +## v0.6.0 (11/27/2023) -## Features +### Features * Add distribution support (running completion / chat model on different process / machine). * Add conversation history in chat playground. * Add `/metrics` endpoint for prometheus metrics collection. -## Fixes and Improvements +### Fixes and Improvements * Fix the slow repository indexing due to constraint memory arena in tantivy index writer. * Make `--model` optional, so users can create a chat only instance. * Add `--parallelism` to control the throughput and VRAM usage: https://github.com/TabbyML/tabby/pull/727 -# v0.5.5 (11/09/2023) +## v0.5.5 (11/09/2023) -## Fixes and Improvements +### Fixes and Improvements -## Notice +### Notice * llama.cpp backend (CPU, Metal) now requires a redownload of gguf model due to upstream format changes: https://github.com/TabbyML/tabby/pull/645 https://github.com/ggerganov/llama.cpp/pull/3252 * Due to indexing format changes, the `~/.tabby/index` needs to be manually removed before any further runs of `tabby scheduler`. * `TABBY_REGISTRY` is replaced with `TABBY_DOWNLOAD_HOST` for the github based registry implementation. -## Features +### Features * Improved dashboard UI. -## Fixes and Improvements +### Fixes and Improvements * Cpu backend is switched to llama.cpp: https://github.com/TabbyML/tabby/pull/638 * add `server.completion_timeout` to control the code completion interface timeout: https://github.com/TabbyML/tabby/pull/637 @@ -74,29 +525,29 @@ * Tokenizer implementation is switched to llama.cpp, so tabby no longer need to download additional tokenizer file: https://github.com/TabbyML/tabby/pull/683 * Fix deadlock issue reported in https://github.com/TabbyML/tabby/issues/718 -# v0.4.0 (10/24/2023) +## v0.4.0 (10/24/2023) -## Features +### Features * Supports golang: https://github.com/TabbyML/tabby/issues/553 * Supports ruby: https://github.com/TabbyML/tabby/pull/597 * Supports using local directory for `Repository.git_url`: use `file:///path/to/repo` to specify a local directory. * A new UI design for webserver. -## Fixes and Improvements +### Fixes and Improvements * Improve snippets retrieval by dedup candidates to existing content + snippets: https://github.com/TabbyML/tabby/pull/582 -# v0.3.1 (10/21/2023) -## Fixes and improvements +## v0.3.1 (10/21/2023) +### Fixes and improvements * Fix GPU OOM issue caused the parallelism: https://github.com/TabbyML/tabby/issues/541, https://github.com/TabbyML/tabby/issues/587 * Fix git safe directory check in docker: https://github.com/TabbyML/tabby/issues/569 -# v0.3.0 (10/13/2023) +## v0.3.0 (10/13/2023) -## Features -### Retrieval-Augmented Code Completion Enabled by Default +### Features +#### Retrieval-Augmented Code Completion Enabled by Default The currently supported languages are: @@ -107,19 +558,19 @@ The currently supported languages are: A blog series detailing the technical aspects of Retrieval-Augmented Code Completion will be published soon. Stay tuned! -## Fixes and Improvements +### Fixes and Improvements * Fix [Issue #511](https://github.com/TabbyML/tabby/issues/511) by marking ggml models as optional. * Improve stop words handling by combining RegexSet into Regex for efficiency. -# v0.2.2 (10/09/2023) -## Fixes and improvements +## v0.2.2 (10/09/2023) +### Fixes and improvements * Fix a critical issue that might cause request dead locking in ctranslate2 backend (when loading is heavy) -# v0.2.1 (10/03/2023) -## Features -### Chat Model & Web Interface +## v0.2.1 (10/03/2023) +### Features +#### Chat Model & Web Interface We have introduced a new argument, `--chat-model`, which allows you to specify the model for the chat playground located at http://localhost:8080/playground @@ -129,18 +580,22 @@ To utilize this feature, use the following command in the terminal: tabby serve --device metal --model TabbyML/StarCoder-1B --chat-model TabbyML/Mistral-7B ``` -### ModelScope Model Registry +#### ModelScope Model Registry Mainland Chinese users have been facing challenges accessing Hugging Face due to various reasons. The Tabby team is actively working to address this issue by mirroring models to a hosting provider in mainland China called modelscope.cn. ```bash -# Download from the Modelscope registry +## Download from the Modelscope registry TABBY_REGISTRY=modelscope tabby download --model TabbyML/WizardCoder-1B ``` -## Fixes and improvements +### Fixes and improvements * Implemented more accurate UTF-8 incremental decoding in the [GitHub pull request](https://github.com/TabbyML/tabby/pull/491). * Fixed the stop words implementation by utilizing RegexSet to isolate the stop word group. * Improved model downloading logic; now Tabby will attempt to fetch the latest model version if there's a remote change, and the local cache key becomes stale. * set default num_replicas_per_device for ctranslate2 backend to increase parallelism. + + + +No releases yet, this file will be updated when generating your first release. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 854b5c451806..21f51553f3bc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -29,16 +29,23 @@ apt-get install protobuf-compiler libopenblas-dev choco install protoc ``` +Some of the tests require mailpit SMTP server which you can install following this [instruction](https://github.com/axllent/mailpit?tab=readme-ov-file#installation) + Before proceeding, ensure that all tests are passing locally: ``` cargo test -- --skip golden ``` -Golden tests should be skipped on all platforms except Apple silicon (M1/M2), because they have not been created for other platforms yet. - This will help ensure everything is working correctly and avoid surprises with local breakages. +Golden tests, which run models and check their outputs against previous "golden snapshots", should be skipped for most development purposes, as they take a very long time to run (especially the tests running the models on CPU). You may still want to run them if your changes relate to the functioning of or integration with the generative models, but skipping them is recommended otherwise. + +Optionally, to use a GPU make sure you have the correct drivers and libraries installed for your device: + +> **CUDA for Nvidia** - [Linux](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html), [Windows](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html) +> **ROCm for AMD** - [Linux](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/tutorial/quick-start.html), [Windows](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/) + ## Building and Running Tabby can be run through `cargo` in much the same manner as docker: @@ -47,7 +54,7 @@ Tabby can be run through `cargo` in much the same manner as docker: cargo run serve --model TabbyML/StarCoder-1B ``` -This will run Tabby locally on CPU, which is not optimal for performance. Depending on your GPU and its compatibility, you may be able to run Tabby with GPU acceleration. Please make sure you have CUDA or ROCm installed, for Nvidia or AMD graphics cards respectively. No extra library installation is necessary for Apple silicon (M1/M2) using Metal. +This will run Tabby locally on CPU, which is not optimal for performance. Depending on your GPU and its compatibilities, you may be able to run Tabby with GPU acceleration. First insure you have the dependencies for your Nvidia or AMD GPU installed. No extra library installation is necessary for Apple silicon (M1/M2) using Metal. To run Tabby locally with CUDA (NVIDIA): @@ -61,6 +68,12 @@ To run Tabby locally with ROCm (AMD): cargo run --features rocm serve --model TabbyML/StarCoder-1B --device rocm ``` +To run Tabby locally with Vulkan: + +``` +cargo run --features vulkan serve --model TabbyML/StarCoder-1B --device vulkan +``` + To run Tabby locally with Metal (Apple M1/M2): ``` @@ -78,13 +91,14 @@ By default, Tabby will start on `localhost:8080` and serve requests. Tabby is broken up into several crates, each responsible for a different part of the functionality. These crates fall into two categories: Fully open source features, and enterprise features. All open-source feature crates are located in the `/crates` folder in the repository root, and all enterprise feature crates are located in `/ee`. ### Crates + - `crates/tabby` - The core tabby application, this is the main binary crate defining CLI behavior and driving the API - `crates/tabby-common` - Interfaces and type definitions shared across most other tabby crates, especially types used for serialization - `crates/tabby-download` - Very small crate, responsible for downloading models at runtime - `crates/tabby-scheduler` - Defines jobs that need to run periodically for syncing and indexing code - `crates/tabby-inference` - Defines interfaces for interacting with text generation models - `crates/llama-cpp-bindings` - Raw bindings to talk with the actual models in C++ from Rust -- `ee/tabby-webserver` - The webserver for Tabby with privilege management and a chatbot playground. Also includes GraphQL API implementation. Must use `--webserver` on CLI to enable +- `ee/tabby-webserver` - The webserver for Tabby with privilege management and a chatbot playground. Also includes GraphQL API implementation. - `ee/tabby-db` - The database backing the webserver - `ee/tabby-ui` - Frontend for the Tabby webserver @@ -100,3 +114,17 @@ Most issues will have a link to the related location in the code, and if they do You can feel free to open PRs that aren't quite ready yet, to work on them. If you do this, please make sure to [mark the pull request as a draft](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request). Once your PR is ready, please request review from one of the [Tabby team members](https://github.com/orgs/TabbyML/people), and watch for replies asking for any changes. Once approved, you can merge your code into Tabby! + +# Changelog + +Tabby used [changie](https://changie.dev/) to track unreleased features, it's preferred the changelog is added as part of implementation pr. To create an unreleased feature, use `changie new` command. + +# Contributing to Docs + +To begin contributing to Tabby's docs website, make sure you installed node lts and yarn: + +``` +cd website +yarn install +yarn start +``` \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 97fd4a5cf0d2..5b04a299fe51 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,12 +1,12 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "addr2line" -version = "0.19.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ "gimli", ] @@ -19,12 +19,12 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "ahash" -version = "0.8.7" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom 0.2.11", + "getrandom 0.2.15", "once_cell", "version_check", "zerocopy", @@ -32,16 +32,16 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] [[package]] name = "aim-downloader" -version = "0.8.0" +version = "0.33.0-dev.0" dependencies = [ "async-stream", "clap", @@ -63,9 +63,9 @@ dependencies = [ [[package]] name = "allocator-api2" -version = "0.2.16" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "android-tzdata" @@ -82,80 +82,81 @@ dependencies = [ "libc", ] -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - [[package]] name = "anstream" -version = "0.6.4" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.0" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" [[package]] name = "anstyle-parse" -version = "0.2.0" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.1" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" dependencies = [ "anstyle", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "anyhow" -version = "1.0.71" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" + +[[package]] +name = "arbitrary" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" +dependencies = [ + "derive_arbitrary", +] [[package]] name = "arc-swap" -version = "1.6.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" [[package]] name = "argon2" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ba4cac0a46bc1d2912652a751c47f2a9f3a7fe89bcae2275d418f5270402f9" +checksum = "3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072" dependencies = [ "base64ct", "blake2", @@ -185,6 +186,41 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" +[[package]] +name = "async-convert" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d416feee97712e43152cd42874de162b8f9b77295b1c85e5d92725cc8310bae" +dependencies = [ + "async-trait", +] + +[[package]] +name = "async-openai-alt" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ec478b16393f68acab53c252f3de7d8e7047c4ef63e8f17315f4e6afc08d9c" +dependencies = [ + "async-convert", + "backoff", + "base64 0.22.1", + "bytes", + "derive_builder", + "eventsource-stream", + "futures", + "rand 0.8.5", + "reqwest", + "reqwest-eventsource", + "secrecy 0.8.0", + "serde", + "serde_json", + "thiserror 1.0.61", + "tokio", + "tokio-stream", + "tokio-util", + "tracing", +] + [[package]] name = "async-stream" version = "0.3.5" @@ -204,18 +240,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.100", ] [[package]] name = "async-trait" -version = "0.1.74" +version = "0.1.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.100", ] [[package]] @@ -227,40 +263,92 @@ dependencies = [ "num-traits", ] +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "atomic-write-file" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edcdbedc2236483ab103a53415653d6b4442ea6141baf1ffa85df29635e88436" +checksum = "cbf54d4588732bdfc5ebc3eb9f74f20e027112fc31de412fc7ff0cd1c6896dae" dependencies = [ "nix", "rand 0.8.5", ] +[[package]] +name = "auto_enums" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1899bfcfd9340ceea3533ea157360ba8fa864354eccbceab58e1006ecab35393" +dependencies = [ + "derive_utils", + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "autocfg" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "axum" -version = "0.6.20" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" +checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" dependencies = [ "async-trait", - "axum-core", - "base64 0.21.5", - "bitflags 1.3.2", + "axum-core 0.4.3", "bytes", "futures-util", - "headers", - "http", - "http-body", - "hyper", - "itoa", - "matchit", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "hyper 1.3.1", + "hyper-util", + "itoa 1.0.11", + "matchit 0.7.3", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sync_wrapper 1.0.1", + "tokio", + "tower 0.4.13", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de45108900e1f9b9242f7f2e254aa3e2c029c921c258fe9e6b4217eeebd54288" +dependencies = [ + "axum-core 0.5.2", + "base64 0.22.1", + "bytes", + "form_urlencoded", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "hyper 1.3.1", + "hyper-util", + "itoa 1.0.11", + "matchit 0.8.4", "memchr", "mime", "percent-encoding", @@ -271,96 +359,147 @@ dependencies = [ "serde_path_to_error", "serde_urlencoded", "sha1", - "sync_wrapper", + "sync_wrapper 1.0.1", "tokio", - "tokio-tungstenite", - "tower", + "tokio-tungstenite 0.26.2", + "tower 0.5.2", "tower-layer", "tower-service", + "tracing", ] [[package]] name = "axum-core" -version = "0.3.4" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" dependencies = [ "async-trait", "bytes", "futures-util", - "http", - "http-body", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "mime", + "pin-project-lite", + "rustversion", + "sync_wrapper 0.1.2", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-core" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68464cd0412f486726fb3373129ef5d2993f90c34bc2bc1c1e9943b2f4fc7ca6" +dependencies = [ + "bytes", + "futures-core", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "mime", + "pin-project-lite", + "rustversion", + "sync_wrapper 1.0.1", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-extra" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45bf463831f5131b7d3c756525b305d40f1185b688565648a92e1392ca35713d" +dependencies = [ + "axum 0.8.3", + "axum-core 0.5.2", + "bytes", + "futures-util", + "headers", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", "mime", + "pin-project-lite", "rustversion", + "serde", + "tower 0.5.2", "tower-layer", "tower-service", ] [[package]] name = "axum-prometheus" -version = "0.4.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97def327c5481791abb57ac295bfc70f2e1a0727675b7dbf74bd1b27a72b6fd8" +checksum = "b683cbc43010e9a3d72c2f31ca464155ff4f95819e88a32924b0f47a43898978" dependencies = [ - "axum", - "axum-core", + "axum 0.7.5", "bytes", "futures", "futures-core", - "http", - "http-body", - "matchit", + "http 1.1.0", + "http-body 1.0.0", + "matchit 0.7.3", "metrics", "metrics-exporter-prometheus", "once_cell", "pin-project", "tokio", - "tower", - "tower-http 0.4.0", + "tower 0.4.13", + "tower-http 0.5.2", ] [[package]] -name = "axum-tracing-opentelemetry" -version = "0.10.0" +name = "backoff" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "164b95427e83b79583c7699a72b4a6b485a12bbdef5b5c054ee5ff2296d82f52" +checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" dependencies = [ - "axum", - "futures", - "http", - "opentelemetry", - "tower", - "tower-http 0.3.5", - "tracing", - "tracing-opentelemetry", + "futures-core", + "getrandom 0.2.15", + "instant", + "pin-project-lite", + "rand 0.8.5", + "tokio", ] [[package]] name = "backtrace" -version = "0.3.67" +version = "0.3.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" dependencies = [ "addr2line", "cc", "cfg-if", "libc", - "miniz_oxide 0.6.2", + "miniz_oxide", "object", "rustc-demangle", ] +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + [[package]] name = "base64" -version = "0.13.1" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64" -version = "0.21.5" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" @@ -385,18 +524,18 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" dependencies = [ "serde", ] [[package]] name = "bitpacking" -version = "0.8.4" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8c7d2ac73c167c06af4a5f37e6e59d84148d57ccbe4480b76f0273eefea82d7" +checksum = "4c1d3e2bfd8d06048a179f7b17afc3188effa10385e7b00dc65af6aae732ea92" dependencies = [ "crunchy", ] @@ -420,78 +559,92 @@ dependencies = [ ] [[package]] -name = "bson" -version = "1.2.4" +name = "bstr" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de0aa578035b938855a710ba58d43cfb4d435f3619f99236fb35922a574d6cb1" +checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" dependencies = [ - "base64 0.13.1", - "chrono", - "hex", - "lazy_static", - "linked-hash-map", - "rand 0.7.3", + "memchr", + "regex-automata 0.4.6", "serde", - "serde_json", - "uuid 0.8.2", ] [[package]] -name = "bstr" -version = "1.7.0" +name = "build-target" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c79ad7fb2dd38f3dabd76b09c6a5a20c038fc0213ef1e9afd30eb777f120f019" -dependencies = [ - "memchr", - "serde", -] +checksum = "832133bbabbbaa9fbdba793456a2827627a7d2b8fb96032fa1e7666d7895832b" [[package]] name = "bumpalo" -version = "3.13.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.5.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" [[package]] -name = "cargo-lock" -version = "9.0.0" +name = "cached" +version = "0.49.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e11c675378efb449ed3ce8de78d75d0d80542fc98487c26aba28eb3b82feac72" +checksum = "8e8e463fceca5674287f32d252fb1d94083758b8709c160efae66d263e5f4eba" dependencies = [ - "petgraph", - "semver", - "serde", - "toml", - "url", + "ahash", + "async-trait", + "cached_proc_macro", + "cached_proc_macro_types", + "futures", + "hashbrown 0.14.5", + "instant", + "once_cell", + "thiserror 1.0.61", + "tokio", +] + +[[package]] +name = "cached_proc_macro" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad9f16c0d84de31a2ab7fdf5f7783c14631f7075cf464eb3bb43119f61c9cb2a" +dependencies = [ + "darling 0.14.4", + "proc-macro2", + "quote", + "syn 1.0.109", ] +[[package]] +name = "cached_proc_macro_types" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade8366b8bd5ba243f0a58f036cc0ca8a2f069cff1a2351ef1cac6b083e16fc0" + [[package]] name = "cc" -version = "1.0.83" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" dependencies = [ "jobserver", "libc", + "once_cell", ] [[package]] name = "census" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fafee10a5dd1cffcb5cc560e0d0df8803d7355a2b12272e3557dee57314cb6e" +checksum = "4f4c707c6a209cbe82d10abd08e1ea8995e9ea937d2550646e02798948992be0" [[package]] name = "cfg-if" @@ -499,11 +652,17 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + [[package]] name = "chrono" -version = "0.4.31" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", @@ -511,7 +670,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.48.0", + "windows-targets 0.52.5", ] [[package]] @@ -520,15 +679,15 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8eebd66744a15ded14960ab4ccdbfb51ad3b81f51f3f04a80adac98c985396c9" dependencies = [ - "hashbrown 0.14.3", + "hashbrown 0.14.5", "stacker", ] [[package]] name = "clap" -version = "4.4.11" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2" +checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" dependencies = [ "clap_builder", "clap_derive", @@ -536,33 +695,44 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.11" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim 0.10.0", + "strsim 0.11.1", ] [[package]] name = "clap_derive" -version = "4.4.7" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" +checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.100", ] [[package]] name = "clap_lex" -version = "0.6.0" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" + +[[package]] +name = "clocksource" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" +checksum = "129026dd5a8a9592d96916258f3a5379589e513ea5e86aeb0bd2530286e44e9e" +dependencies = [ + "libc", + "time", + "winapi", +] [[package]] name = "cmake" @@ -574,20 +744,37 @@ dependencies = [ ] [[package]] -name = "codespan-reporting" -version = "0.11.1" +name = "color-eyre" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5" dependencies = [ - "termcolor", - "unicode-width", + "backtrace", + "color-spantrace", + "eyre", + "indenter", + "once_cell", + "owo-colors", + "tracing-error", +] + +[[package]] +name = "color-spantrace" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" +dependencies = [ + "once_cell", + "owo-colors", + "tracing-core", + "tracing-error", ] [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" [[package]] name = "combine" @@ -604,15 +791,15 @@ dependencies = [ [[package]] name = "console" -version = "0.15.7" +version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" dependencies = [ "encode_unicode", "lazy_static", "libc", "unicode-width", - "windows-sys 0.45.0", + "windows-sys 0.52.0", ] [[package]] @@ -621,11 +808,27 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" dependencies = [ "core-foundation-sys", "libc", @@ -633,24 +836,24 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] [[package]] name = "crc" -version = "3.0.1" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe" +checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" dependencies = [ "crc-catalog", ] @@ -663,67 +866,50 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" -version = "1.3.2" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] [[package]] name = "cron" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab00a636277f7ea5d8dd92ac7a5099fc9a46e5327bba84d3640b41ae127eada9" -dependencies = [ - "chrono", - "error-chain", - "nom 4.1.1", -] - -[[package]] -name = "cron" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ff76b51e4c068c52bfd2866e1567bee7c567ae8f24ada09fd4307019e25eab7" +checksum = "6f8c3e73077b4b4a6ab1ea5047c37c57aee77657bc8ecd6f29b0af082d0b0c07" dependencies = [ "chrono", - "nom 7.1.3", + "nom", "once_cell", ] [[package]] name = "crossbeam-channel" -version = "0.5.8" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ - "cfg-if", "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.14" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "autocfg", - "cfg-if", "crossbeam-utils", - "memoffset", - "scopeguard", ] [[package]] @@ -737,9 +923,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" @@ -747,6 +933,18 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + [[package]] name = "crypto-common" version = "0.1.6" @@ -758,64 +956,64 @@ dependencies = [ ] [[package]] -name = "custom_error" -version = "1.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f8a51dd197fa6ba5b4dc98a990a43cc13693c23eb0089ebb0fcc1f04152bca6" - -[[package]] -name = "cxx" -version = "1.0.95" +name = "cssparser" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109308c20e8445959c2792e81871054c6a17e6976489a93d2769641a2ba5839c" +checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", + "cssparser-macros", + "dtoa-short", + "itoa 0.4.8", + "matches", + "phf 0.8.0", + "proc-macro2", + "quote", + "smallvec", + "syn 1.0.109", ] [[package]] -name = "cxx-build" -version = "1.0.95" +name = "cssparser-macros" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daf4c6755cdf10798b97510e0e2b3edb9573032bd9379de8fffa59d68165494f" +checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", "quote", - "scratch", - "syn 2.0.32", + "syn 2.0.100", ] [[package]] -name = "cxxbridge-flags" -version = "1.0.95" +name = "curve25519-dalek" +version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "882074421238e84fe3b4c65d0081de34e5b323bf64555d3e61991f76eb64a7bb" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" +dependencies = [ + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "digest", + "fiat-crypto", + "rustc_version", + "subtle", + "zeroize", +] [[package]] -name = "cxxbridge-macro" -version = "1.0.95" +name = "curve25519-dalek-derive" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a076022ece33e7686fb76513518e219cca4fce5750a8ae6d1ce6c0f48fd1af9" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.100", ] [[package]] -name = "darling" -version = "0.10.2" +name = "custom_error" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858" -dependencies = [ - "darling_core 0.10.2", - "darling_macro 0.10.2", -] +checksum = "4f8a51dd197fa6ba5b4dc98a990a43cc13693c23eb0089ebb0fcc1f04152bca6" [[package]] name = "darling" @@ -828,17 +1026,13 @@ dependencies = [ ] [[package]] -name = "darling_core" -version = "0.10.2" +name = "darling" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b" +checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.9.3", - "syn 1.0.109", + "darling_core 0.20.9", + "darling_macro 0.20.9", ] [[package]] @@ -856,14 +1050,17 @@ dependencies = [ ] [[package]] -name = "darling_macro" -version = "0.10.2" +name = "darling_core" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72" +checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" dependencies = [ - "darling_core 0.10.2", + "fnv", + "ident_case", + "proc-macro2", "quote", - "syn 1.0.109", + "strsim 0.11.1", + "syn 2.0.100", ] [[package]] @@ -877,6 +1074,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "darling_macro" +version = "0.20.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" +dependencies = [ + "darling_core 0.20.9", + "quote", + "syn 2.0.100", +] + [[package]] name = "dashmap" version = "5.5.3" @@ -884,7 +1092,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "lock_api", "once_cell", "parking_lot_core", @@ -892,15 +1100,15 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.4.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "der" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", "pem-rfc7468", @@ -909,53 +1117,78 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.8" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ + "powerfmt", "serde", ] +[[package]] +name = "derive_arbitrary" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "derive_builder" -version = "0.12.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8" +checksum = "0350b5cb0331628a5916d6c5c0b72e97393b8b6b03b47a9284f4e7f5a405ffd7" dependencies = [ "derive_builder_macro", ] [[package]] name = "derive_builder_core" -version = "0.12.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f" +checksum = "d48cda787f839151732d396ac69e3473923d54312c070ee21e9effcaa8ca0b1d" dependencies = [ - "darling 0.14.4", + "darling 0.20.9", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.100", ] [[package]] name = "derive_builder_macro" -version = "0.12.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e" +checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b" dependencies = [ "derive_builder_core", + "syn 2.0.100", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", "syn 1.0.109", ] [[package]] name = "derive_utils" -version = "0.11.2" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "532b4c15dccee12c7044f1fcad956e98410860b22231e44a3b827464797ca7bf" +checksum = "61bb5a1014ce6dfc2a378578509abe775a5aa06bff584a547555d9efdb81b926" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.100", ] [[package]] @@ -971,53 +1204,113 @@ dependencies = [ ] [[package]] -name = "dirs" -version = "4.0.0" +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + +[[package]] +name = "downcast-rs" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" + +[[package]] +name = "dtoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" + +[[package]] +name = "dtoa-short" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" +checksum = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74" dependencies = [ - "dirs-sys", + "dtoa", ] [[package]] -name = "dirs-sys" -version = "0.3.7" +name = "dyn-clone" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" + +[[package]] +name = "ecdsa" +version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ - "libc", - "redox_users", - "winapi", + "der", + "digest", + "elliptic-curve", + "rfc6979", + "signature", + "spki", ] [[package]] -name = "dotenvy" -version = "0.15.7" +name = "ed25519" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +dependencies = [ + "pkcs8", + "signature", +] [[package]] -name = "downcast-rs" -version = "1.2.0" +name = "ed25519-dalek" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" +checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" +dependencies = [ + "curve25519-dalek", + "ed25519", + "serde", + "sha2", + "subtle", + "zeroize", +] [[package]] name = "either" -version = "1.8.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" dependencies = [ "serde", ] +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest", + "ff", + "generic-array", + "group", + "hkdf", + "pem-rfc7468", + "pkcs8", + "rand_core 0.6.4", + "sec1", + "subtle", + "zeroize", +] + [[package]] name = "email-encoding" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbfb21b9878cf7a348dcb8559109aabc0ec40d69924bd706fa5149846c4fef75" +checksum = "60d1d33cdaede7e24091f039632eb5d3c7469fe5b066a985281a34fc70fa317f" dependencies = [ - "base64 0.21.5", + "base64 0.22.1", "memchr", ] @@ -1034,48 +1327,55 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" [[package]] -name = "encoding_rs" -version = "0.8.32" +name = "encoder" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +checksum = "03f6928ad5c6efcdae42eb068dff8a555ef2f057c92bbd491ddf5610f6444987" dependencies = [ - "cfg-if", + "encoder-ryu", + "indexmap 2.2.6", + "serde_json", + "simd-json", ] [[package]] -name = "equivalent" -version = "1.0.1" +name = "encoder-ryu" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "5e27addc39f5f73c85604bfe21b59fe93717f9765194015d92bde1db11e8ccef" [[package]] -name = "errno" -version = "0.3.1" +name = "encoding_rs" +version = "0.8.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" dependencies = [ - "errno-dragonfly", - "libc", - "windows-sys 0.48.0", + "cfg-if", ] [[package]] -name = "errno-dragonfly" -version = "0.1.2" +name = "encoding_rs_io" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +checksum = "1cc3c5651fb62ab8aa3103998dade57efdd028544bd300516baa31840c252a83" dependencies = [ - "cc", - "libc", + "encoding_rs", ] [[package]] -name = "error-chain" -version = "0.10.0" +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ - "backtrace", + "libc", + "windows-sys 0.52.0", ] [[package]] @@ -1096,65 +1396,80 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] -name = "fastdivide" -version = "0.4.0" +name = "eventsource-stream" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25c7df09945d65ea8d70b3321547ed414bbc540aad5bac6883d021b970f35b04" +checksum = "74fef4569247a5f429d9156b9d0a2599914385dd189c539334c625d8099d90ab" +dependencies = [ + "futures-core", + "nom", + "pin-project-lite", +] [[package]] -name = "fastrand" -version = "1.9.0" +name = "eyre" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" dependencies = [ - "instant", + "indenter", + "once_cell", ] [[package]] -name = "fastrand" -version = "2.0.1" +name = "fastdivide" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +checksum = "59668941c55e5c186b8b58c391629af56774ec768f73c08bbcd56f09348eb00b" [[package]] -name = "file-rotate" -version = "0.7.5" +name = "fastrand" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddf221ceec4517f3cb764dae3541b2bd87666fc8832e51322fbb97250b468c71" -dependencies = [ - "chrono", - "flate2", -] +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] -name = "filenamify" -version = "0.1.0" +name = "ff" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b781e8974b2cc71ac3c587c881c11ee5fe9a379f43503674e1e1052647593b4c" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" dependencies = [ - "regex", + "rand_core 0.6.4", + "subtle", ] [[package]] -name = "finl_unicode" -version = "1.2.0" +name = "fiat-crypto" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] -name = "fixedbitset" -version = "0.4.2" +name = "fid-rs" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +checksum = "6c28658c0c3420305705adde833a0d2d614207507d013a5f25707553fb2ae2cd" +dependencies = [ + "rayon", +] [[package]] name = "flate2" -version = "1.0.26" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" dependencies = [ "crc32fast", - "miniz_oxide 0.7.1", + "miniz_oxide", +] + +[[package]] +name = "float-cmp" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" +dependencies = [ + "num-traits", ] [[package]] @@ -1200,19 +1515,45 @@ dependencies = [ [[package]] name = "fs4" -version = "0.6.6" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eeb4ed9e12f43b7fa0baae3f9cdda28352770132ef2e09a23760c29cae8bd47" +checksum = "73969b81e8bc90a3828d913dd3973d80771bfb9d7fbe1a78a79122aad456af15" dependencies = [ - "rustix 0.38.17", - "windows-sys 0.48.0", + "rustix", + "windows-sys 0.52.0", +] + +[[package]] +name = "fs_extra" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" + +[[package]] +name = "fslock" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04412b8935272e3a9bae6f48c7bfff74c2911f60525404edfdd28e49884c3bfb" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "futf" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" +dependencies = [ + "mac", + "new_debug_unreachable", ] [[package]] name = "futures" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" dependencies = [ "futures-channel", "futures-core", @@ -1225,9 +1566,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", "futures-sink", @@ -1235,26 +1576,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" - -[[package]] -name = "futures-enum" -version = "0.1.17" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3422d14de7903a52e9dbc10ae05a7e14445ec61890100e098754e120b2bd7b1e" -dependencies = [ - "derive_utils", - "quote", - "syn 1.0.109", -] +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -1274,38 +1604,44 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-macro" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.100", ] [[package]] name = "futures-sink" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] -name = "futures-util" -version = "0.3.29" +name = "futures-timer" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-channel", "futures-core", @@ -1319,17 +1655,26 @@ dependencies = [ "slab", ] +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + [[package]] name = "generator" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3e123d9ae7c02966b4d892e550bdc32164f05853cd40ab570650ad600596a8a" +checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e" dependencies = [ "cc", "libc", "log", "rustversion", - "windows", + "windows 0.48.0", ] [[package]] @@ -1340,6 +1685,7 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", + "zeroize", ] [[package]] @@ -1355,20 +1701,75 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.11" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", ] [[package]] name = "gimli" -version = "0.27.2" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + +[[package]] +name = "git2" +version = "0.18.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "232e6a7bfe35766bf715e55a88b39a700596c0ccfd88cd3680b4cdb40d66ef70" +dependencies = [ + "bitflags 2.6.0", + "libc", + "libgit2-sys", + "log", + "openssl-probe", + "openssl-sys", + "url", +] + +[[package]] +name = "gitlab" +version = "0.1700.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65f36adc608cffeec1cc08ecf1977c038cbb1af9184b2174ca006ebeb817991c" +dependencies = [ + "async-trait", + "base64 0.22.1", + "bytes", + "chrono", + "cron", + "derive_builder", + "futures-util", + "graphql_client", + "http 1.1.0", + "itertools 0.12.1", + "log", + "percent-encoding", + "reqwest", + "serde", + "serde_json", + "serde_urlencoded", + "thiserror 1.0.61", + "url", +] [[package]] name = "glob" @@ -1378,50 +1779,178 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "globset" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d" +checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" dependencies = [ "aho-corasick", "bstr", - "fnv", "log", - "regex", + "regex-automata 0.4.6", + "regex-syntax 0.8.3", ] [[package]] -name = "globwalk" -version = "0.7.3" +name = "graphql-introspection-query" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9db17aec586697a93219b19726b5b68307eba92898c34b170857343fe67c99d" +checksum = "7f2a4732cf5140bd6c082434494f785a19cfb566ab07d1382c3671f5812fed6d" dependencies = [ - "ignore", - "walkdir", + "serde", ] [[package]] name = "graphql-parser" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1abd4ce5247dfc04a03ccde70f87a048458c9356c7e41d21ad8c407b3dde6f2" +checksum = "d2ebc8013b4426d5b81a4364c419a95ed0b404af2b82e2457de52d9348f0e474" dependencies = [ "combine", - "thiserror", + "thiserror 1.0.61", +] + +[[package]] +name = "graphql_client" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a50cfdc7f34b7f01909d55c2dcb71d4c13cbcbb4a1605d6c8bd760d654c1144b" +dependencies = [ + "graphql_query_derive", + "serde", + "serde_json", +] + +[[package]] +name = "graphql_client_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e27ed0c2cf0c0cc52c6bcf3b45c907f433015e580879d14005386251842fb0a" +dependencies = [ + "graphql-introspection-query", + "graphql-parser", + "heck 0.4.1", + "lazy_static", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn 1.0.109", +] + +[[package]] +name = "graphql_query_derive" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83febfa838f898cfa73dfaa7a8eb69ff3409021ac06ee94cfb3d622f6eeb1a97" +dependencies = [ + "graphql_client_codegen", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "grep" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2b024ec1e686cb64d78beb852030b0e632af93817f1ed25be0173af0e94939" +dependencies = [ + "grep-cli", + "grep-matcher", + "grep-printer", + "grep-regex", + "grep-searcher", +] + +[[package]] +name = "grep-cli" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea40788c059ab8b622c4d074732750bfb3bd2912e2dd58eabc11798a4d5ad725" +dependencies = [ + "bstr", + "globset", + "libc", + "log", + "termcolor", + "winapi-util", +] + +[[package]] +name = "grep-matcher" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47a3141a10a43acfedc7c98a60a834d7ba00dfe7bec9071cbfc19b55b292ac02" +dependencies = [ + "memchr", +] + +[[package]] +name = "grep-printer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "743c12a03c8aee38b6e5bd0168d8ebb09345751323df4a01c56e792b1f38ceb2" +dependencies = [ + "bstr", + "grep-matcher", + "grep-searcher", + "log", + "serde", + "serde_json", + "termcolor", +] + +[[package]] +name = "grep-regex" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f748bb135ca835da5cbc67ca0e6955f968db9c5df74ca4f56b18e1ddbc68230d" +dependencies = [ + "bstr", + "grep-matcher", + "log", + "regex-automata 0.4.6", + "regex-syntax 0.8.3", +] + +[[package]] +name = "grep-searcher" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba536ae4f69bec62d8839584dd3153d3028ef31bb229f04e09fb5a9e5a193c54" +dependencies = [ + "bstr", + "encoding_rs", + "encoding_rs_io", + "grep-matcher", + "log", + "memchr", + "memmap2", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core 0.6.4", + "subtle", ] [[package]] name = "h2" -version = "0.3.19" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782" +checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" dependencies = [ + "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "futures-util", - "http", - "indexmap 1.9.3", + "http 1.1.0", + "indexmap 2.2.6", "slab", "tokio", "tokio-util", @@ -1429,25 +1958,30 @@ dependencies = [ ] [[package]] -name = "hashbrown" -version = "0.12.3" +name = "halfbrown" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "8588661a8607108a5ca69cab034063441a0413a0b041c13618a7dd348021ef6f" +dependencies = [ + "hashbrown 0.14.5", + "serde", +] + +[[package]] +name = "hash-ids" +version = "0.33.0-dev.0" [[package]] name = "hashbrown" -version = "0.13.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ff8ae62cd3a9102e5637afc8452c55acf3844001bd5374e0b0bd7b6616c038" -dependencies = [ - "ahash", -] +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", "allocator-api2", @@ -1459,20 +1993,19 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" dependencies = [ - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] name = "headers" -version = "0.3.8" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584" +checksum = "322106e6bd0cba2d5ead589ddb8150a13d7c4217cf80d7c4f682ca994ccc6aa9" dependencies = [ - "base64 0.13.1", - "bitflags 1.3.2", + "base64 0.21.7", "bytes", "headers-core", - "http", + "http 1.1.0", "httpdate", "mime", "sha1", @@ -1480,11 +2013,11 @@ dependencies = [ [[package]] name = "headers-core" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" +checksum = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4" dependencies = [ - "http", + "http 1.1.0", ] [[package]] @@ -1497,19 +2030,16 @@ dependencies = [ ] [[package]] -name = "hermit-abi" -version = "0.2.6" +name = "heck" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.3.1" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "hex" @@ -1537,22 +2067,60 @@ dependencies = [ [[package]] name = "home" -version = "0.5.5" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "hostname" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +checksum = "f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba" dependencies = [ + "cfg-if", "libc", - "match_cfg", - "winapi", + "windows 0.52.0", +] + +[[package]] +name = "htmd" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fff09744b11deed5946dd1b61c806bb9a94ded93cf28da819935599b69b987" +dependencies = [ + "html5ever 0.27.0", + "markup5ever_rcdom", +] + +[[package]] +name = "html5ever" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148" +dependencies = [ + "log", + "mac", + "markup5ever 0.10.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "html5ever" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c13771afe0e6e846f1e67d038d4cb29998a6779f93c809212e4e9c32efd244d4" +dependencies = [ + "log", + "mac", + "markup5ever 0.12.1", + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] @@ -1563,46 +2131,87 @@ checksum = "e9025058dae765dee5070ec375f591e2ba14638c63feff74f13805a72e523163" [[package]] name = "http" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ "bytes", "fnv", - "itoa", + "itoa 1.0.11", +] + +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa 1.0.11", ] [[package]] name = "http-api-bindings" -version = "0.8.0" +version = "0.33.0-dev.0" dependencies = [ "anyhow", + "async-openai-alt", + "async-stream", "async-trait", "futures", + "leaky-bucket", + "ollama-api-bindings", "reqwest", + "reqwest-eventsource", "serde", "serde_json", + "tabby-common", "tabby-inference", "tokio", + "tokio-retry", "tracing", ] [[package]] name = "http-body" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", - "http", + "http 0.2.12", + "pin-project-lite", +] + +[[package]] +name = "http-body" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +dependencies = [ + "bytes", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" +dependencies = [ + "bytes", + "futures-core", + "http 1.1.0", + "http-body 1.0.0", "pin-project-lite", ] [[package]] name = "http-range-header" -version = "0.3.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" +checksum = "9171a2ea8a68358193d15dd5d70c1c10a2afc3e7e4c5bc92bc9f025cebd7359c" [[package]] name = "httparse" @@ -1612,77 +2221,157 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" [[package]] name = "hyper" -version = "0.14.27" +version = "0.14.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" dependencies = [ "bytes", "futures-channel", "futures-core", "futures-util", - "h2", - "http", - "http-body", + "http 0.2.12", + "http-body 0.4.6", "httparse", "httpdate", - "itoa", + "itoa 1.0.11", "pin-project-lite", - "socket2 0.4.9", + "socket2", "tokio", "tower-service", "tracing", "want", ] +[[package]] +name = "hyper" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2", + "http 1.1.0", + "http-body 1.0.0", + "httparse", + "httpdate", + "itoa 1.0.11", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c" +dependencies = [ + "futures-util", + "http 1.1.0", + "hyper 1.3.1", + "hyper-util", + "rustls 0.22.4", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.25.0", + "tower-service", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +dependencies = [ + "futures-util", + "http 1.1.0", + "hyper 1.3.1", + "hyper-util", + "log", + "rustls 0.23.20", + "rustls-native-certs 0.8.1", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.26.1", + "tower-service", +] + [[package]] name = "hyper-timeout" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" +checksum = "3203a961e5c83b6f5498933e78b6b263e208c197b63e9c6c53cc82ffd3f63793" dependencies = [ - "hyper", + "hyper 1.3.1", + "hyper-util", "pin-project-lite", "tokio", - "tokio-io-timeout", + "tower-service", ] [[package]] name = "hyper-tls" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", - "hyper", + "http-body-util", + "hyper 1.3.1", + "hyper-util", "native-tls", "tokio", "tokio-native-tls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "hyper 1.3.1", + "pin-project-lite", + "socket2", + "tokio", + "tower 0.4.13", + "tower-service", + "tracing", ] [[package]] name = "iana-time-zone" -version = "0.1.57" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows", + "windows-core 0.52.0", ] [[package]] @@ -1700,16 +2389,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" -[[package]] -name = "idna" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "idna" version = "0.5.0" @@ -1720,29 +2399,28 @@ dependencies = [ "unicode-normalization", ] -[[package]] -name = "if_chain" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" - [[package]] name = "ignore" -version = "0.4.20" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492" +checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" dependencies = [ + "crossbeam-deque", "globset", - "lazy_static", "log", "memchr", - "regex", + "regex-automata 0.4.6", "same-file", - "thread_local", "walkdir", "winapi-util", ] +[[package]] +name = "indenter" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" + [[package]] name = "indexmap" version = "1.9.3" @@ -1756,19 +2434,20 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.0.1" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad227c3af19d4914570ad36d30409928b75967c298feb9ea1969db3a610bb14e" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.5", + "serde", ] [[package]] name = "indicatif" -version = "0.17.7" +version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25" +checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" dependencies = [ "console", "instant", @@ -1779,9 +2458,9 @@ dependencies = [ [[package]] name = "insta" -version = "1.34.0" +version = "1.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d64600be34b2fcfc267740a243fa7744441bb4947a619ac4e5bb6507f35fbfc" +checksum = "810ae6042d48e2c9e9215043563a58a80b877bc863228a74cf10c49d4620a6f5" dependencies = [ "console", "lazy_static", @@ -1790,14 +2469,13 @@ dependencies = [ "pest_derive", "serde", "similar", - "yaml-rust", ] [[package]] name = "instant" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", "js-sys", @@ -1806,21 +2484,26 @@ dependencies = [ ] [[package]] -name = "io-lifetimes" -version = "1.0.11" +name = "ipnet" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" + +[[package]] +name = "iri-string" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +checksum = "7f5f6c2df22c009ac44f6f1499308e7a3ac7ba42cd2378475cc691510e1eef1b" dependencies = [ - "hermit-abi 0.3.1", - "libc", - "windows-sys 0.48.0", + "memchr", + "serde", ] [[package]] -name = "ipnet" -version = "2.7.2" +name = "is_terminal_polyfill" +version = "1.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" [[package]] name = "itertools" @@ -1833,66 +2516,62 @@ dependencies = [ [[package]] name = "itertools" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" dependencies = [ "either", ] [[package]] name = "itertools" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" dependencies = [ "either", ] [[package]] name = "itoa" -version = "1.0.6" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] -name = "job_scheduler" -version = "1.2.1" +name = "itoa" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51f368c9c76dde2282714ae32dc274b79c27527a0c06c816f6dda048904d0d7c" -dependencies = [ - "chrono", - "cron 0.6.1", - "uuid 0.8.2", -] +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jobserver" -version = "0.1.26" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] [[package]] name = "jsonwebtoken" -version = "9.1.0" +version = "9.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "155c4d7e39ad04c172c5e3a99c434ea3b4a7ba7960b38ecd562b270b097cce09" +checksum = "b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f" dependencies = [ - "base64 0.21.5", + "base64 0.21.7", + "js-sys", "pem", - "ring", + "ring 0.17.8", "serde", "serde_json", "simple_asn1", @@ -1900,31 +2579,33 @@ dependencies = [ [[package]] name = "juniper" -version = "0.15.11" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52adf17d43d0b526eed31fac15d9312941c5c2558ffbfb105811690b96d6e2f1" +checksum = "943306315b1a7a03d27af9dfb0c288d9f4da8830c17df4bceb7d50a47da0982c" dependencies = [ "async-trait", - "bson", + "auto_enums", "chrono", "fnv", "futures", - "futures-enum", "graphql-parser", - "indexmap 1.9.3", + "indexmap 2.2.6", "juniper_codegen", "serde", "smartstring", "static_assertions", - "url", - "uuid 0.8.2", + "void", ] [[package]] -name = "juniper-axum" -version = "0.8.0" +name = "juniper_axum" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f63fb283e7f51b7f8ed9c012f3b4c4d4c8c9423e277d06162ceb1c3bc9628aa8" dependencies = [ - "axum", + "axum 0.8.3", + "bytes", + "futures", "juniper", "juniper_graphql_ws", "serde", @@ -1933,21 +2614,21 @@ dependencies = [ [[package]] name = "juniper_codegen" -version = "0.15.9" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aee97671061ad50301ba077d054d295e01d31a1868fbd07902db651f987e71db" +checksum = "760dbe46660494d469023d661e8d268f413b2cb68c999975dcc237407096a693" dependencies = [ - "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.100", + "url", ] [[package]] name = "juniper_graphql_ws" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed5526c2f2a9c40f08841dc559971641fdd71c008a265745d18bb0c8b7e105b3" +checksum = "709eb11c716072f5c9fcbfa705dd684bd3c070943102f9fc56ccb812a36ba017" dependencies = [ "juniper", "juniper_subscriptions", @@ -1957,22 +2638,24 @@ dependencies = [ [[package]] name = "juniper_subscriptions" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2983b26a1e12b691c17432aee3881d8bec4a94d6c64bc933c0eaf6d9e3429f13" +checksum = "e6208a839bd4ca2131924a238311d088d6604ea267c0917903392bad7b70a92c" dependencies = [ "futures", "juniper", ] [[package]] -name = "kdam" -version = "0.5.0" +name = "kuchiki" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e352f4e1acc6a3d0919eaeb014ca63e5da9450a12ef7106fe2936a07a1648d44" +checksum = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358" dependencies = [ - "terminal_size", - "windows-sys 0.48.0", + "cssparser", + "html5ever 0.25.2", + "matches", + "selectors", ] [[package]] @@ -1984,27 +2667,76 @@ dependencies = [ "spin 0.5.2", ] +[[package]] +name = "lber" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2df7f9fd9f64cf8f59e1a4a0753fe7d575a5b38d3d7ac5758dcee9357d83ef0a" +dependencies = [ + "bytes", + "nom", +] + +[[package]] +name = "ldap3" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "166199a8207874a275144c8a94ff6eed5fcbf5c52303e4d9b4d53a0c7ac76554" +dependencies = [ + "async-trait", + "bytes", + "futures", + "futures-util", + "lazy_static", + "lber", + "log", + "native-tls", + "nom", + "percent-encoding", + "thiserror 1.0.61", + "tokio", + "tokio-native-tls", + "tokio-stream", + "tokio-util", + "url", +] + +[[package]] +name = "leaky-bucket" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a396bb213c2d09ed6c5495fd082c991b6ab39c9daf4fff59e6727f85c73e4c5" +dependencies = [ + "parking_lot", + "pin-project-lite", + "tokio", +] + [[package]] name = "lettre" -version = "0.11.3" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5aaf628956b6b0852e12ac3505d20d7a12ecc1e32d5ea921f002af4a74036a5" +checksum = "1a62049a808f1c4e2356a2a380bd5f2aca3b011b0b482cf3b914ba1731426969" dependencies = [ - "base64 0.21.5", + "async-trait", + "base64 0.22.1", "chumsky", "email-encoding", "email_address", - "fastrand 2.0.1", + "fastrand", + "futures-io", "futures-util", "hostname", "httpdate", - "idna 0.5.0", + "idna", "mime", "native-tls", - "nom 7.1.3", + "nom", + "percent-encoding", "quoted_printable", - "socket2 0.5.5", + "socket2", "tokio", + "tokio-native-tls", "url", ] @@ -2014,11 +2746,89 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c2cdeb66e45e9f36bfad5bbdb4d2384e70936afbee843c6f6543f0c551ebb25" +[[package]] +name = "lexical-core" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f" +dependencies = [ + "lexical-parse-integer", + "lexical-util", + "static_assertions", +] + +[[package]] +name = "lexical-parse-integer" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9" +dependencies = [ + "lexical-util", + "static_assertions", +] + +[[package]] +name = "lexical-util" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc" +dependencies = [ + "static_assertions", +] + +[[package]] +name = "lexical-write-float" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862" +dependencies = [ + "lexical-util", + "lexical-write-integer", + "static_assertions", +] + +[[package]] +name = "lexical-write-integer" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446" +dependencies = [ + "lexical-util", + "static_assertions", +] + [[package]] name = "libc" -version = "0.2.149" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" + +[[package]] +name = "libgit2-sys" +version = "0.16.2+1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee4126d8b4ee5c9d9ea891dd875cfdc1e9d0950437179104b183d7d8a74d24e8" +dependencies = [ + "cc", + "libc", + "libssh2-sys", + "libz-sys", + "openssl-sys", + "pkg-config", +] [[package]] name = "libloading" @@ -2048,12 +2858,29 @@ dependencies = [ ] [[package]] -name = "link-cplusplus" -version = "1.0.8" +name = "libssh2-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dc8a030b787e2119a731f1951d6a773e2280c660f8ec4b0f5e1505a386e71ee" +dependencies = [ + "cc", + "libc", + "libz-sys", + "openssl-sys", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "libz-sys" +version = "1.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" +checksum = "c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e" dependencies = [ "cc", + "libc", + "pkg-config", + "vcpkg", ] [[package]] @@ -2064,37 +2891,36 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.3.8" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] -name = "linux-raw-sys" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" - -[[package]] -name = "llama-cpp-bindings" -version = "0.8.0" +name = "llama-cpp-server" +version = "0.33.0-dev.0" dependencies = [ - "async-stream", + "anyhow", + "async-openai-alt", "async-trait", "cmake", - "cxx", - "cxx-build", - "derive_builder", "futures", + "http-api-bindings", + "omnicopy_to_output", + "reqwest", + "serde", + "serdeconv", + "tabby-common", "tabby-inference", "tokio", "tracing", + "which", ] [[package]] name = "lock_api" -version = "0.4.10" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -2102,9 +2928,20 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" + +[[package]] +name = "logkit" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "b517d00135d2ea552dc1f6cbc5da9d8953f895c91db680c288d53c50ca309767" +dependencies = [ + "backtrace", + "chrono", + "encoder", +] [[package]] name = "loom" @@ -2117,46 +2954,83 @@ dependencies = [ "pin-utils", "scoped-tls", "tracing", - "tracing-subscriber 0.3.17", + "tracing-subscriber", +] + +[[package]] +name = "louds-rs" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e16a91fb20f74b6d9a758a0103a2884af525a2fa34fbfe19f4b3c5482a4a54e9" +dependencies = [ + "fid-rs", ] [[package]] name = "lru" -version = "0.11.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a83fb7698b3643a0e34f9ae6f2e8f0178c0fd42f8b59d493aa271ff3a5bf21" +checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" dependencies = [ - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] name = "lz4_flex" -version = "0.11.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ea9b256699eda7b0387ffbc776dd625e28bde3918446381781245b7a50349d8" +checksum = "75761162ae2b0e580d7e7c390558127e5f01b4194debd6221fd8c207fc80e3f5" [[package]] -name = "mach2" -version = "0.4.1" +name = "mac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" + +[[package]] +name = "maplit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" + +[[package]] +name = "markup5ever" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8" +checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd" dependencies = [ - "libc", + "log", + "phf 0.8.0", + "phf_codegen 0.8.0", + "string_cache", + "string_cache_codegen", + "tendril", ] [[package]] -name = "match_cfg" -version = "0.1.0" +name = "markup5ever" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" +checksum = "16ce3abbeba692c8b8441d036ef91aea6df8da2c6b6e21c7e14d3c18e526be45" +dependencies = [ + "log", + "phf 0.11.2", + "phf_codegen 0.11.2", + "string_cache", + "string_cache_codegen", + "tendril", +] [[package]] -name = "matchers" -version = "0.0.1" +name = "markup5ever_rcdom" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" +checksum = "edaa21ab3701bfee5099ade5f7e1f84553fd19228cf332f13cd6e964bf59be18" dependencies = [ - "regex-automata 0.1.10", + "html5ever 0.27.0", + "markup5ever 0.12.1", + "tendril", + "xml5ever", ] [[package]] @@ -2168,11 +3042,23 @@ dependencies = [ "regex-automata 0.1.10", ] +[[package]] +name = "matches" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" + [[package]] name = "matchit" -version = "0.7.0" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + +[[package]] +name = "matchit" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" [[package]] name = "md-5" @@ -2186,9 +3072,9 @@ dependencies = [ [[package]] name = "measure_time" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56220900f1a0923789ecd6bf25fbae8af3b2f1ff3e9e297fc9b6b8674dd4d852" +checksum = "dbefd235b0aadd181626f281e1d684e116972988c14c264e42069d5e8a5775cc" dependencies = [ "instant", "log", @@ -2196,83 +3082,55 @@ dependencies = [ [[package]] name = "memchr" -version = "2.6.2" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5486aed0026218e61b8a01d5fbd5a0a134649abb71a0e53b7bc088529dced86e" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "memmap2" -version = "0.7.1" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6" +checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" dependencies = [ "libc", ] -[[package]] -name = "memo-map" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374c335b2df19e62d4cb323103473cbc6510980253119180de862d89184f6a83" - -[[package]] -name = "memoffset" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" -dependencies = [ - "autocfg", -] - [[package]] name = "metrics" -version = "0.21.1" +version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fde3af1a009ed76a778cb84fdef9e7dbbdf5775ae3e4cc1f434a6a307f6f76c5" +checksum = "2be3cbd384d4e955b231c895ce10685e3d8260c5ccffae898c96c723b0772835" dependencies = [ "ahash", - "metrics-macros", "portable-atomic", ] [[package]] name = "metrics-exporter-prometheus" -version = "0.12.1" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a4964177ddfdab1e3a2b37aec7cf320e14169abb0ed73999f558136409178d5" +checksum = "9bf4e7146e30ad172c42c39b3246864bd2d3c6396780711a1baf749cfe423e21" dependencies = [ - "base64 0.21.5", - "hyper", - "indexmap 1.9.3", + "base64 0.21.7", + "hyper 0.14.28", + "indexmap 2.2.6", "ipnet", "metrics", "metrics-util", "quanta", - "thiserror", + "thiserror 1.0.61", "tokio", - "tracing", -] - -[[package]] -name = "metrics-macros" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddece26afd34c31585c74a4db0630c376df271c285d682d1e55012197830b6df" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.32", ] [[package]] name = "metrics-util" -version = "0.15.1" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4de2ed6e491ed114b40b732e4d1659a9d53992ebd87490c44a6ffe23739d973e" +checksum = "8b07a5eb561b8cbc16be2d216faf7757f9baf3bfb94dbb0fae3df8387a5bb47f" dependencies = [ "crossbeam-epoch", "crossbeam-utils", - "hashbrown 0.13.1", + "hashbrown 0.14.5", "metrics", "num_cpus", "quanta", @@ -2295,17 +3153,6 @@ dependencies = [ "unicase", ] -[[package]] -name = "minijinja" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80084fa3099f58b7afab51e5f92e24c2c2c68dcad26e96ad104bd6011570461d" -dependencies = [ - "memo-map", - "self_cell", - "serde", -] - [[package]] name = "minimal-lexical" version = "0.2.1" @@ -2314,59 +3161,43 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" -dependencies = [ - "adler", -] - -[[package]] -name = "miniz_oxide" -version = "0.7.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" dependencies = [ "adler", ] [[package]] name = "mio" -version = "0.8.10" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] -[[package]] -name = "multimap" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" - [[package]] name = "murmurhash32" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9380db4c04d219ac5c51d14996bbf2c2e9a15229771b53f8671eb6c83cf44df" +checksum = "2195bf6aa996a481483b29d62a7663eed3fe39600c460e323f8ff41e90bdd89b" [[package]] name = "native-tls" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" dependencies = [ - "lazy_static", "libc", "log", "openssl", "openssl-probe", "openssl-sys", "schannel", - "security-framework", + "security-framework 2.11.0", "security-framework-sys", "tempfile", ] @@ -2377,25 +3208,29 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9a91b326434fca226707ed8ec1fd22d4e1c96801abdf10c412afdc7d97116e0" +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + [[package]] name = "nix" -version = "0.27.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.6.0", "cfg-if", + "cfg_aliases", "libc", ] [[package]] -name = "nom" -version = "4.1.1" +name = "nodrop" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c349f68f25f596b9f44cf0e7c69752a5c633b0550c3ff849518bfba0233774a" -dependencies = [ - "memchr", -] +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" [[package]] name = "nom" @@ -2426,13 +3261,33 @@ dependencies = [ "winapi", ] +[[package]] +name = "nucleo" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5262af4c94921c2646c5ac6ff7900c2af9cbb08dc26a797e18130a7019c039d4" +dependencies = [ + "nucleo-matcher", + "parking_lot", + "rayon", +] + +[[package]] +name = "nucleo-matcher" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf33f538733d1a5a3494b836ba913207f14d9d4a1d3cd67030c5061bdd2cac85" +dependencies = [ + "memchr", + "unicode-segmentation", +] + [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ - "autocfg", "num-integer", "num-traits", ] @@ -2455,31 +3310,25 @@ dependencies = [ ] [[package]] -name = "num-derive" -version = "0.3.3" +name = "num-conv" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", "num-traits", ] [[package]] name = "num-iter" -version = "0.1.43" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", @@ -2488,9 +3337,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.17" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", "libm", @@ -2498,19 +3347,19 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi", "libc", ] [[package]] name = "num_threads" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" dependencies = [ "libc", ] @@ -2531,7 +3380,7 @@ dependencies = [ "libloading", "nvml-wrapper-sys", "static_assertions", - "thiserror", + "thiserror 1.0.61", "wrapcenum-derive", ] @@ -2544,37 +3393,166 @@ dependencies = [ "libloading", ] +[[package]] +name = "oauth2" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51e219e79014df21a225b1860a479e2dcd7cbd9130f4defd4bd0e191ea31d67d" +dependencies = [ + "base64 0.22.1", + "chrono", + "getrandom 0.2.15", + "http 1.1.0", + "rand 0.8.5", + "reqwest", + "serde", + "serde_json", + "serde_path_to_error", + "sha2", + "thiserror 1.0.61", + "url", +] + [[package]] name = "object" -version = "0.30.3" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "memchr", ] +[[package]] +name = "octocrab" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b97f949a7cb04608441c2ddb28e15a377e8b5142c2d1835ad2686d434de8558" +dependencies = [ + "arc-swap", + "async-trait", + "base64 0.22.1", + "bytes", + "cfg-if", + "chrono", + "either", + "futures", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "hyper 1.3.1", + "hyper-rustls 0.27.3", + "hyper-timeout", + "hyper-util", + "jsonwebtoken", + "once_cell", + "percent-encoding", + "pin-project", + "secrecy 0.10.3", + "serde", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "snafu", + "tokio", + "tower 0.5.2", + "tower-http 0.6.2", + "tracing", + "url", + "web-time", +] + +[[package]] +name = "ollama-api-bindings" +version = "0.33.0-dev.0" +dependencies = [ + "anyhow", + "async-stream", + "async-trait", + "futures", + "ollama-rs", + "tabby-common", + "tabby-inference", + "tracing", +] + +[[package]] +name = "ollama-rs" +version = "0.1.9" +source = "git+https://github.com/pepperoni21/ollama-rs.git?rev=56e8157d98d4185bc171fe9468d3d09bc56e9dd3#56e8157d98d4185bc171fe9468d3d09bc56e9dd3" +dependencies = [ + "reqwest", + "serde", + "serde_json", + "tokio", + "tokio-stream", + "url", +] + +[[package]] +name = "omnicopy_to_output" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10aff4d07c3656c416a997301d51ed83be62cbb256b421f86b014931217f2393" +dependencies = [ + "anyhow", + "build-target", + "fs_extra", + "project-root", +] + [[package]] name = "once_cell" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "oneshot" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc22d22931513428ea6cc089e942d38600e3d00976eef8c86de6b8a3aadec6eb" +version = "0.1.6" +source = "git+https://github.com/fulmicoton/oneshot.git?rev=b208f49#b208f493e505f5f37e180b5cdec4c22b6f99abaa" dependencies = [ "loom", ] +[[package]] +name = "openidconnect" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c6709ba2ea764bbed26bce1adf3c10517113ddea6f2d4196e4851757ef2b2" +dependencies = [ + "base64 0.21.7", + "chrono", + "dyn-clone", + "ed25519-dalek", + "hmac", + "http 1.1.0", + "itertools 0.10.5", + "log", + "oauth2", + "p256", + "p384", + "rand 0.8.5", + "rsa", + "serde", + "serde-value", + "serde_json", + "serde_path_to_error", + "serde_plain", + "serde_with", + "sha2", + "subtle", + "thiserror 1.0.61", + "url", +] + [[package]] name = "openssl" -version = "0.10.61" +version = "0.10.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b8419dc8cc6d866deb801274bba2e6f8f6108c1bb7fcc10ee5ab864931dbb45" +checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.6.0", "cfg-if", "foreign-types", "libc", @@ -2591,7 +3569,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.100", ] [[package]] @@ -2602,18 +3580,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "300.2.1+3.2.0" +version = "300.3.0+3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fe476c29791a5ca0d1273c697e96085bbabbbea2ef7afd5617e78a4b40332d3" +checksum = "eba8804a1c5765b18c4b3f907e6897ebabeedebc9830e1a0046c4a4cf44663e1" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.97" +version = "0.9.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3eaad34cdd97d81de97964fc7f29e2d104f483840d906ef56daa1912338460b" +checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" dependencies = [ "cc", "libc", @@ -2629,55 +3607,73 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69d6c3d7288a106c0a363e4b0e8d308058d56902adefb16f4936f417ffef086e" dependencies = [ "opentelemetry_api", - "opentelemetry_sdk", + "opentelemetry_sdk 0.18.0", +] + +[[package]] +name = "opentelemetry" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab70038c28ed37b97d8ed414b6429d343a8bbf44c9f79ec854f3a643029ba6d7" +dependencies = [ + "futures-core", + "futures-sink", + "js-sys", + "pin-project-lite", + "thiserror 1.0.61", + "tracing", ] [[package]] name = "opentelemetry-otlp" -version = "0.11.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1c928609d087790fc936a1067bdc310ae702bdf3b090c3f281b713622c8bbde" +checksum = "91cf61a1868dacc576bf2b2a1c3e9ab150af7272909e80085c3173384fe11f76" dependencies = [ "async-trait", - "futures", - "futures-util", - "http", - "opentelemetry", + "futures-core", + "http 1.1.0", + "opentelemetry 0.27.1", "opentelemetry-proto", + "opentelemetry_sdk 0.27.1", "prost", - "thiserror", + "thiserror 1.0.61", "tokio", "tonic", + "tracing", ] [[package]] name = "opentelemetry-proto" -version = "0.1.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61a2f56df5574508dd86aaca016c917489e589ece4141df1b5e349af8d66c28" +checksum = "a6e05acbfada5ec79023c85368af14abd0b307c015e9064d249b2a950ef459a6" dependencies = [ - "futures", - "futures-util", - "opentelemetry", + "opentelemetry 0.27.1", + "opentelemetry_sdk 0.27.1", "prost", "tonic", - "tonic-build", ] +[[package]] +name = "opentelemetry-semantic-conventions" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc1b6902ff63b32ef6c489e8048c5e253e2e4a803ea3ea7e783914536eb15c52" + [[package]] name = "opentelemetry_api" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c24f96e21e7acc813c7a8394ee94978929db2bcc46cf6b5014fc612bf7760c22" dependencies = [ - "fnv", "futures-channel", "futures-util", "indexmap 1.9.3", "js-sys", "once_cell", "pin-project-lite", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -2688,8 +3684,6 @@ checksum = "1ca41c4933371b61c2a2f214bf16931499af4ec90543604ec828f7a625c09113" dependencies = [ "async-trait", "crossbeam-channel", - "dashmap", - "fnv", "futures-channel", "futures-executor", "futures-util", @@ -2697,11 +3691,38 @@ dependencies = [ "opentelemetry_api", "percent-encoding", "rand 0.8.5", - "thiserror", + "thiserror 1.0.61", +] + +[[package]] +name = "opentelemetry_sdk" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "231e9d6ceef9b0b2546ddf52335785ce41252bc7474ee8ba05bfad277be13ab8" +dependencies = [ + "async-trait", + "futures-channel", + "futures-executor", + "futures-util", + "glob", + "opentelemetry 0.27.1", + "percent-encoding", + "rand 0.8.5", + "serde_json", + "thiserror 1.0.61", "tokio", "tokio-stream", ] +[[package]] +name = "ordered-float" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" +dependencies = [ + "num-traits", +] + [[package]] name = "overload" version = "0.1.1" @@ -2710,18 +3731,47 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "ownedbytes" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e8a72b918ae8198abb3a18c190288123e1d442b6b9a7d709305fd194688b4b7" +version = "0.7.0" +source = "git+https://github.com/quickwit-oss/tantivy?rev=4143d31#4143d31865cbae9a9a7a286b0420a95814408ec7" dependencies = [ "stable_deref_trait", ] +[[package]] +name = "owo-colors" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" + +[[package]] +name = "p256" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" +dependencies = [ + "ecdsa", + "elliptic-curve", + "primeorder", + "sha2", +] + +[[package]] +name = "p384" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6" +dependencies = [ + "ecdsa", + "elliptic-curve", + "primeorder", + "sha2", +] + [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", "parking_lot_core", @@ -2729,15 +3779,25 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.8" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.3.5", + "redox_syscall 0.5.1", "smallvec", - "windows-targets 0.48.0", + "windows-targets 0.52.5", +] + +[[package]] +name = "parse-git-url" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cd626725d3855a68fdede6483fae43429129bf246f42d8db598911c8036cf47" +dependencies = [ + "tracing", + "url", ] [[package]] @@ -2753,17 +3813,17 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.12" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pem" -version = "3.0.2" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3163d2912b7c3b52d651a055f2c7eec9ba5cd22d26ef75b8dd3a59980b185923" +checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" dependencies = [ - "base64 0.21.5", + "base64 0.22.1", "serde", ] @@ -2784,20 +3844,20 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.5" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" +checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" dependencies = [ "memchr", - "thiserror", + "thiserror 1.0.61", "ucd-trie", ] [[package]] name = "pest_derive" -version = "2.7.5" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2" +checksum = "26293c9193fbca7b1a3bf9b79dc1e388e927e6cacaa78b4a3ab705a1d3d41459" dependencies = [ "pest", "pest_generator", @@ -2805,22 +3865,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.5" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227" +checksum = "3ec22af7d3fb470a85dd2ca96b7c577a1eb4ef6f1683a9fe9a8c16e136c04687" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.100", ] [[package]] name = "pest_meta" -version = "2.7.5" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6" +checksum = "d7a240022f37c361ec1878d646fc5b7d7c4d28d5946e1a80ad5a7a4f4ca0bdcd" dependencies = [ "once_cell", "pest", @@ -2828,40 +3888,141 @@ dependencies = [ ] [[package]] -name = "petgraph" -version = "0.6.3" +name = "phf" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" +checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" dependencies = [ - "fixedbitset", - "indexmap 1.9.3", + "phf_macros", + "phf_shared 0.8.0", + "proc-macro-hack", +] + +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_shared 0.11.2", +] + +[[package]] +name = "phf_codegen" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", +] + +[[package]] +name = "phf_codegen" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" +dependencies = [ + "phf_generator 0.11.2", + "phf_shared 0.11.2", +] + +[[package]] +name = "phf_generator" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" +dependencies = [ + "phf_shared 0.8.0", + "rand 0.7.3", +] + +[[package]] +name = "phf_generator" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" +dependencies = [ + "phf_shared 0.10.0", + "rand 0.8.5", +] + +[[package]] +name = "phf_generator" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared 0.11.2", + "rand 0.8.5", +] + +[[package]] +name = "phf_macros" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "phf_shared" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" +dependencies = [ + "siphasher", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + +[[package]] +name = "phf_shared" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher", ] [[package]] name = "pin-project" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.100", ] [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pin-utils" @@ -2892,15 +4053,21 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.27" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "portable-atomic" -version = "1.3.2" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" + +[[package]] +name = "powerfmt" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc59d1bcc64fc5d021d67521f818db868368028108d37f0e98d74e33f68297b5" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" @@ -2909,13 +4076,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] -name = "prettyplease" -version = "0.1.25" +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "primeorder" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" dependencies = [ - "proc-macro2", - "syn 1.0.109", + "elliptic-curve", ] [[package]] @@ -2942,67 +4114,48 @@ dependencies = [ "version_check", ] +[[package]] +name = "proc-macro-hack" +version = "0.5.20+deprecated" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" + [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] [[package]] -name = "prost" -version = "0.11.9" +name = "project-root" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" -dependencies = [ - "bytes", - "prost-derive", -] +checksum = "8bccbff07d5ed689c4087d20d7307a52ab6141edeedf487c3876a55b86cf63df" [[package]] -name = "prost-build" -version = "0.11.9" +name = "prost" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" +checksum = "2c0fef6c4230e4ccf618a35c59d7ede15dea37de8427500f50aff708806e42ec" dependencies = [ "bytes", - "heck", - "itertools 0.10.5", - "lazy_static", - "log", - "multimap", - "petgraph", - "prettyplease", - "prost", - "prost-types", - "regex", - "syn 1.0.109", - "tempfile", - "which", + "prost-derive", ] [[package]] name = "prost-derive" -version = "0.11.9" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +checksum = "157c5a9d7ea5c2ed2d9fb8f495b64759f7816c7eaea54ba3978f0d63000162e3" dependencies = [ "anyhow", - "itertools 0.10.5", + "itertools 0.13.0", "proc-macro2", "quote", - "syn 1.0.109", -] - -[[package]] -name = "prost-types" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" -dependencies = [ - "prost", + "syn 2.0.100", ] [[package]] @@ -3016,13 +4169,12 @@ dependencies = [ [[package]] name = "quanta" -version = "0.11.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17e662a7a8291a865152364c20c7abc5e60486ab2001e8ec10b24862de0b9ab" +checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5" dependencies = [ "crossbeam-utils", "libc", - "mach2", "once_cell", "raw-cpuid", "wasi 0.11.0+wasi-snapshot-preview1", @@ -3038,9 +4190,9 @@ checksum = "9318ead08c799aad12a55a3e78b82e0b6167271ffd1f627b758891282f739187" [[package]] name = "quote" -version = "1.0.32" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -3051,6 +4203,12 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79ec282e887b434b68c18fe5c121d38e72a5cf35119b59e54ec5b992ea9c8eb0" +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "rand" version = "0.7.3" @@ -3062,6 +4220,7 @@ dependencies = [ "rand_chacha 0.2.2", "rand_core 0.5.1", "rand_hc", + "rand_pcg", ] [[package]] @@ -3075,6 +4234,16 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rand" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", +] + [[package]] name = "rand_chacha" version = "0.2.2" @@ -3095,6 +4264,16 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", +] + [[package]] name = "rand_core" version = "0.5.1" @@ -3110,7 +4289,26 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.15", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.2", +] + +[[package]] +name = "rand_distr" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" +dependencies = [ + "num-traits", + "rand 0.8.5", ] [[package]] @@ -3122,20 +4320,40 @@ dependencies = [ "rand_core 0.5.1", ] +[[package]] +name = "rand_pcg" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "ratelimit" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36ea961700fd7260e7fa3701c8287d901b2172c51f9c1421fa0f21d7f7e184b7" +dependencies = [ + "clocksource", + "parking_lot", + "thiserror 1.0.61", +] + [[package]] name = "raw-cpuid" -version = "10.7.0" +version = "11.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332" +checksum = "e29830cbb1290e404f24c73af91c5d8d631ce7e128691e9477556b540cd01ecd" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", ] [[package]] name = "rayon" -version = "1.7.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ "either", "rayon-core", @@ -3143,55 +4361,76 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.11.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", +] + +[[package]] +name = "readable-readability" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17015928a25bff296b0471dfa7a784e406664e1d091781db66e885b18708a8d" +dependencies = [ + "html5ever 0.25.2", + "kuchiki", + "lazy_static", + "log", + "regex", + "url", ] [[package]] name = "redox_syscall" -version = "0.2.16" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ "bitflags 1.3.2", ] [[package]] name = "redox_syscall" -version = "0.3.5" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", ] [[package]] -name = "redox_users" -version = "0.4.3" +name = "ref-cast" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ - "getrandom 0.2.11", - "redox_syscall 0.2.16", - "thiserror", + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] name = "regex" -version = "1.10.2" +version = "1.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.3", - "regex-syntax 0.8.2", + "regex-automata 0.4.6", + "regex-syntax 0.8.3", ] [[package]] @@ -3205,13 +4444,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.2", + "regex-syntax 0.8.3", ] [[package]] @@ -3222,53 +4461,51 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" - -[[package]] -name = "requirements" -version = "0.3.0" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2643e903f79d8e6bc310ee0def974d12a33561d14e0728511b6ba5e8be0791c3" -dependencies = [ - "globwalk", - "pest", - "pest_derive", - "regex", - "walkdir", -] +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" [[package]] name = "reqwest" -version = "0.11.22" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" +checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" dependencies = [ - "base64 0.21.5", + "base64 0.22.1", "bytes", "encoding_rs", + "futures-channel", "futures-core", "futures-util", "h2", - "http", - "http-body", - "hyper", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "hyper 1.3.1", + "hyper-rustls 0.26.0", "hyper-tls", + "hyper-util", "ipnet", "js-sys", "log", "mime", + "mime_guess", "native-tls", "once_cell", "percent-encoding", "pin-project-lite", + "rustls 0.22.4", + "rustls-native-certs 0.7.0", + "rustls-pemfile", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", + "sync_wrapper 0.1.2", "system-configuration", "tokio", "tokio-native-tls", + "tokio-rustls 0.25.0", "tokio-util", "tower-service", "url", @@ -3276,28 +4513,71 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", + "webpki-roots", "winreg", ] +[[package]] +name = "reqwest-eventsource" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "632c55746dbb44275691640e7b40c907c16a2dc1a5842aa98aaec90da6ec6bde" +dependencies = [ + "eventsource-stream", + "futures-core", + "futures-timer", + "mime", + "nom", + "pin-project-lite", + "reqwest", + "thiserror 1.0.61", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin 0.5.2", + "untrusted 0.7.1", + "web-sys", + "winapi", +] + [[package]] name = "ring" -version = "0.17.5" +version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", - "getrandom 0.2.11", + "cfg-if", + "getrandom 0.2.15", "libc", "spin 0.9.8", - "untrusted", - "windows-sys 0.48.0", + "untrusted 0.9.0", + "windows-sys 0.52.0", ] [[package]] name = "rmp" -version = "0.8.11" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44519172358fd6d58656c86ab8e7fbc9e1490c3e8f14d35ed78ca0dd07403c9f" +checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" dependencies = [ "byteorder", "num-traits", @@ -3306,9 +4586,9 @@ dependencies = [ [[package]] name = "rmp-serde" -version = "1.1.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5b13be192e0220b8afb7222aa5813cb62cc269ebb5cac346ca6487681d2913e" +checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db" dependencies = [ "byteorder", "rmp", @@ -3337,68 +4617,33 @@ dependencies = [ [[package]] name = "rust-embed" -version = "6.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b68543d5527e158213414a92832d2aab11a84d2571a5eb021ebe22c43aab066" -dependencies = [ - "rust-embed-impl 6.5.0", - "rust-embed-utils 7.5.0", - "walkdir", -] - -[[package]] -name = "rust-embed" -version = "8.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e7d90385b59f0a6bf3d3b757f3ca4ece2048265d70db20a2016043d4509a40" -dependencies = [ - "rust-embed-impl 8.0.0", - "rust-embed-utils 8.0.0", - "walkdir", -] - -[[package]] -name = "rust-embed-impl" -version = "6.5.0" +version = "8.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4e0f0ced47ded9a68374ac145edd65a6c1fa13a96447b873660b2a568a0fd7" +checksum = "19549741604902eb99a7ed0ee177a0663ee1eda51a29f71401f166e47e77806a" dependencies = [ - "proc-macro2", - "quote", - "rust-embed-utils 7.5.0", - "shellexpand", - "syn 1.0.109", + "rust-embed-impl", + "rust-embed-utils", "walkdir", ] [[package]] name = "rust-embed-impl" -version = "8.0.0" +version = "8.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3d8c6fd84090ae348e63a84336b112b5c3918b3bf0493a581f7bd8ee623c29" +checksum = "cb9f96e283ec64401f30d3df8ee2aaeb2561f34c824381efa24a35f79bf40ee4" dependencies = [ "proc-macro2", "quote", - "rust-embed-utils 8.0.0", - "syn 2.0.32", - "walkdir", -] - -[[package]] -name = "rust-embed-utils" -version = "7.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512b0ab6853f7e14e3c8754acb43d6f748bb9ced66aa5915a6553ac8213f7731" -dependencies = [ - "sha2", + "rust-embed-utils", + "syn 2.0.100", "walkdir", ] [[package]] name = "rust-embed-utils" -version = "8.0.0" +version = "8.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "873feff8cb7bf86fdf0a71bb21c95159f4e4a37dd7a4bd1855a940909b583ada" +checksum = "38c74a686185620830701348de757fd36bef4aa9680fd23c49fc539ddcc1af32" dependencies = [ "sha2", "walkdir", @@ -3416,9 +4661,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" @@ -3427,43 +4672,131 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] -name = "rustix" -version = "0.37.19" +name = "rustc_version" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys 0.3.8", - "windows-sys 0.48.0", + "semver", ] [[package]] name = "rustix" -version = "0.38.17" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f25469e9ae0f3d0047ca8b93fc56843f38e6774f0914a107ff8b41be8be8e0b7" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.6.0", "errno", "libc", - "linux-raw-sys 0.4.10", - "windows-sys 0.48.0", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls" +version = "0.20.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99" +dependencies = [ + "log", + "ring 0.16.20", + "sct", + "webpki", +] + +[[package]] +name = "rustls" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +dependencies = [ + "log", + "ring 0.17.8", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls" +version = "0.23.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5065c3f250cbd332cd894be57c40fa52387247659b14a2d6041d121547903b1b" +dependencies = [ + "log", + "once_cell", + "ring 0.17.8", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-native-certs" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792" +dependencies = [ + "openssl-probe", + "rustls-pemfile", + "rustls-pki-types", + "schannel", + "security-framework 2.11.0", +] + +[[package]] +name = "rustls-native-certs" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" +dependencies = [ + "openssl-probe", + "rustls-pki-types", + "schannel", + "security-framework 3.0.1", +] + +[[package]] +name = "rustls-pemfile" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +dependencies = [ + "base64 0.22.1", + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" + +[[package]] +name = "rustls-webpki" +version = "0.102.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +dependencies = [ + "ring 0.17.8", + "rustls-pki-types", + "untrusted 0.9.0", ] [[package]] name = "rustversion" -version = "1.0.14" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "ryu" -version = "1.0.13" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "same-file" @@ -3474,13 +4807,46 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "scc" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ad2bbb0ae5100a07b7a6f2ed7ab5fd0045551a4c507989b7a620046ea3efdc" +dependencies = [ + "sdd", +] + [[package]] name = "schannel" -version = "0.1.21" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" dependencies = [ - "windows-sys 0.42.0", + "dyn-clone", + "ref-cast", + "serde", + "serde_json", ] [[package]] @@ -3491,134 +4857,243 @@ checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] -name = "scratch" -version = "1.0.5" +name = "sct" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring 0.17.8", + "untrusted 0.9.0", +] + +[[package]] +name = "sdd" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b84345e4c9bd703274a082fb80caaa99b7612be48dfaa1dd9266577ec412309d" + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", +] + +[[package]] +name = "secrecy" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e" +dependencies = [ + "serde", + "zeroize", +] + +[[package]] +name = "secrecy" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" +checksum = "e891af845473308773346dc847b2c23ee78fe442e0472ac50e22a18a93d3ae5a" +dependencies = [ + "zeroize", +] [[package]] name = "security-framework" -version = "2.9.2" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 1.3.2", - "core-foundation", + "bitflags 2.6.0", + "core-foundation 0.9.4", "core-foundation-sys", "libc", "security-framework-sys", ] [[package]] -name = "security-framework-sys" -version = "2.9.1" +name = "security-framework" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +checksum = "e1415a607e92bec364ea2cf9264646dcce0f91e6d65281bd6f2819cca3bf39c8" dependencies = [ + "bitflags 2.6.0", + "core-foundation 0.10.0", "core-foundation-sys", "libc", + "security-framework-sys", ] [[package]] -name = "self_cell" -version = "1.0.1" +name = "security-framework-sys" +version = "2.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c309e515543e67811222dbc9e3dd7e1056279b782e1dacffe4242b718734fb6" +checksum = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2" +dependencies = [ + "core-foundation-sys", + "libc", +] [[package]] -name = "semver" -version = "1.0.20" +name = "selectors" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" +checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" dependencies = [ - "serde", + "bitflags 1.3.2", + "cssparser", + "derive_more", + "fxhash", + "log", + "matches", + "phf 0.8.0", + "phf_codegen 0.8.0", + "precomputed-hash", + "servo_arc", + "smallvec", + "thin-slice", ] +[[package]] +name = "semver" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" + [[package]] name = "serde" -version = "1.0.171" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" dependencies = [ "serde_derive", ] [[package]] name = "serde-jsonlines" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4684abdec99c1de7e507a3516c82385ff74d54c385973846b079bfd9f5920d35" +checksum = "e228faf5f94badfe42723177b62cfb9b187351994cb4e852cd4a6a4c96dbeea8" dependencies = [ "serde", "serde_json", ] [[package]] -name = "serde-jsonlines" -version = "0.5.0" +name = "serde-value" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e228faf5f94badfe42723177b62cfb9b187351994cb4e852cd4a6a4c96dbeea8" +checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" dependencies = [ + "ordered-float", "serde", - "serde_json", ] [[package]] name = "serde_derive" -version = "1.0.171" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.100", ] [[package]] name = "serde_json" -version = "1.0.107" +version = "1.0.142" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" +checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7" dependencies = [ - "indexmap 2.0.1", - "itoa", + "itoa 1.0.11", + "memchr", "ryu", "serde", ] [[package]] name = "serde_path_to_error" -version = "0.1.11" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +dependencies = [ + "itoa 1.0.11", + "serde", +] + +[[package]] +name = "serde_plain" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7f05c1d5476066defcdfacce1f52fc3cae3af1d3089727100c02ae92e5abbe0" +checksum = "9ce1fc6db65a611022b23a0dec6975d63fb80a302cb3388835ff02c097258d50" dependencies = [ "serde", ] [[package]] name = "serde_spanned" -version = "0.6.2" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa 1.0.11", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93107647184f6027e3b7dcb2e11034cf95ffa1e3a682c67951963ac69c1c007d" +checksum = "f2c45cd61fefa9db6f254525d46e392b852e0e61d9a1fd36e5bd183450a556d5" dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.2.6", + "schemars 0.9.0", + "schemars 1.0.4", "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", ] [[package]] -name = "serde_urlencoded" -version = "0.7.1" +name = "serde_with_macros" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +checksum = "de90945e6565ce0d9a25098082ed4ee4002e047cb59892c318d66821e14bb30f" dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", + "darling 0.20.9", + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] @@ -3650,16 +5125,17 @@ dependencies = [ [[package]] name = "serial_test" -version = "3.0.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ad9342b3aaca7cb43c45c097dd008d4907070394bd0751a0aa8817e5a018d" +checksum = "4b4b487fe2acf240a021cf57c6b2b4903b1e78ca0ecd862a71b71d2a51fed77d" dependencies = [ - "dashmap", + "fslock", "futures", - "lazy_static", "log", + "once_cell", "parking_lot", - "serial_test_derive 3.0.0", + "scc", + "serial_test_derive 3.1.1", ] [[package]] @@ -3670,18 +5146,28 @@ checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.100", ] [[package]] name = "serial_test_derive" -version = "3.0.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b93fb4adc70021ac1b47f7d45e8cc4169baaa7ea58483bc5b721d19a26202212" +checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.100", +] + +[[package]] +name = "servo_arc" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" +dependencies = [ + "nodrop", + "stable_deref_trait", ] [[package]] @@ -3706,42 +5192,20 @@ dependencies = [ "digest", ] -[[package]] -name = "sha256" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7895c8ae88588ccead14ff438b939b0c569cd619116f14b4d13fdff7b8333386" -dependencies = [ - "async-trait", - "bytes", - "hex", - "sha2", - "tokio", -] - [[package]] name = "sharded-slab" -version = "0.1.4" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ "lazy_static", ] -[[package]] -name = "shellexpand" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ccc8076840c4da029af4f87e4e8daeb0fca6b87bbb02e10cb60b791450e11e4" -dependencies = [ - "dirs", -] - [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] @@ -3756,11 +5220,39 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + +[[package]] +name = "simd-json" +version = "0.13.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "570c430b3d902ea083097e853263ae782dfe40857d93db019a12356c8e8143fa" +dependencies = [ + "getrandom 0.2.15", + "halfbrown", + "lexical-core", + "ref-cast", + "serde", + "serde_json", + "simdutf8", + "value-trait", +] + +[[package]] +name = "simdutf8" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" + [[package]] name = "similar" -version = "2.3.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597" +checksum = "fa42c91313f1d05da9b26f267f931cf178d4aba455b4c4622dd7355eb80c6640" [[package]] name = "simple_asn1" @@ -3770,33 +5262,39 @@ checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" dependencies = [ "num-bigint", "num-traits", - "thiserror", + "thiserror 1.0.61", "time", ] +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + [[package]] name = "sketches-ddsketch" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a406c1882ed7f29cd5e248c9848a80e7cb6ae0fea82346d2746f2f941c07e1" +checksum = "85636c14b73d81f541e525f585c0a2109e6744e1565b5c1668e31c70c10ed65c" dependencies = [ "serde", ] [[package]] name = "slab" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ "autocfg", ] [[package]] name = "smallvec" -version = "1.10.0" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "smartstring" @@ -3810,23 +5308,34 @@ dependencies = [ ] [[package]] -name = "socket2" -version = "0.4.9" +name = "snafu" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +checksum = "418b8136fec49956eba89be7da2847ec1909df92a9ae4178b5ff0ff092c8d95e" dependencies = [ - "libc", - "winapi", + "snafu-derive", +] + +[[package]] +name = "snafu-derive" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a4812a669da00d17d8266a0439eddcacbc88b17f732f927e52eeb9d196f7fb5" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] name = "socket2" -version = "0.5.5" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -3844,6 +5353,17 @@ dependencies = [ "lock_api", ] +[[package]] +name = "spinners" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0ef947f358b9c238923f764c72a4a9d42f2d637c46e059dbd319d6e7cfb4f82" +dependencies = [ + "lazy_static", + "maplit", + "strum 0.24.1", +] + [[package]] name = "spki" version = "0.7.3" @@ -3854,22 +5374,27 @@ dependencies = [ "der", ] +[[package]] +name = "sql_query_builder" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a85dbaf3c8d08abe8a95a51860550236a07bd6fc097e2bff054ad8c2bf9a0df5" + [[package]] name = "sqlformat" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c" dependencies = [ - "itertools 0.12.0", - "nom 7.1.3", + "itertools 0.12.1", + "nom", "unicode_categories", ] [[package]] name = "sqlx" version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dba03c279da73694ef99763320dea58b51095dfe87d001b1d4b5fe78ba8763cf" +source = "git+https://github.com/wsxiaoys/sqlx?rev=77eb94d#77eb94dd672531bf1fec190aadf2f742cfb5a8db" dependencies = [ "sqlx-core", "sqlx-macros", @@ -3881,8 +5406,7 @@ dependencies = [ [[package]] name = "sqlx-core" version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d84b0a3c3739e220d94b3239fd69fb1f74bc36e16643423bd99de3b43c21bfbd" +source = "git+https://github.com/wsxiaoys/sqlx?rev=77eb94d#77eb94dd672531bf1fec190aadf2f742cfb5a8db" dependencies = [ "ahash", "atoi", @@ -3901,7 +5425,7 @@ dependencies = [ "futures-util", "hashlink", "hex", - "indexmap 2.0.1", + "indexmap 2.2.6", "log", "memchr", "once_cell", @@ -3912,7 +5436,7 @@ dependencies = [ "sha2", "smallvec", "sqlformat", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tracing", @@ -3922,8 +5446,7 @@ dependencies = [ [[package]] name = "sqlx-macros" version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89961c00dc4d7dffb7aee214964b065072bff69e36ddb9e2c107541f75e4f2a5" +source = "git+https://github.com/wsxiaoys/sqlx?rev=77eb94d#77eb94dd672531bf1fec190aadf2f742cfb5a8db" dependencies = [ "proc-macro2", "quote", @@ -3935,13 +5458,12 @@ dependencies = [ [[package]] name = "sqlx-macros-core" version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0bd4519486723648186a08785143599760f7cc81c52334a55d6a83ea1e20841" +source = "git+https://github.com/wsxiaoys/sqlx?rev=77eb94d#77eb94dd672531bf1fec190aadf2f742cfb5a8db" dependencies = [ "atomic-write-file", "dotenvy", "either", - "heck", + "heck 0.4.1", "hex", "once_cell", "proc-macro2", @@ -3959,15 +5481,26 @@ dependencies = [ "url", ] +[[package]] +name = "sqlx-migrate-validate" +version = "0.33.0-dev.0" +dependencies = [ + "anyhow", + "async-trait", + "sqlx", + "sqlx-rt", + "thiserror 1.0.61", + "tokio", +] + [[package]] name = "sqlx-mysql" version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e37195395df71fd068f6e2082247891bc11e3289624bbc776a0cdfa1ca7f1ea4" +source = "git+https://github.com/wsxiaoys/sqlx?rev=77eb94d#77eb94dd672531bf1fec190aadf2f742cfb5a8db" dependencies = [ "atoi", - "base64 0.21.5", - "bitflags 2.4.0", + "base64 0.21.7", + "bitflags 2.6.0", "byteorder", "bytes", "chrono", @@ -3983,7 +5516,7 @@ dependencies = [ "hex", "hkdf", "hmac", - "itoa", + "itoa 1.0.11", "log", "md-5", "memchr", @@ -3997,7 +5530,7 @@ dependencies = [ "smallvec", "sqlx-core", "stringprep", - "thiserror", + "thiserror 1.0.61", "tracing", "whoami", ] @@ -4005,12 +5538,11 @@ dependencies = [ [[package]] name = "sqlx-postgres" version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6ac0ac3b7ccd10cc96c7ab29791a7dd236bd94021f31eec7ba3d46a74aa1c24" +source = "git+https://github.com/wsxiaoys/sqlx?rev=77eb94d#77eb94dd672531bf1fec190aadf2f742cfb5a8db" dependencies = [ "atoi", - "base64 0.21.5", - "bitflags 2.4.0", + "base64 0.21.7", + "bitflags 2.6.0", "byteorder", "chrono", "crc", @@ -4024,7 +5556,7 @@ dependencies = [ "hkdf", "hmac", "home", - "itoa", + "itoa 1.0.11", "log", "md-5", "memchr", @@ -4037,16 +5569,26 @@ dependencies = [ "smallvec", "sqlx-core", "stringprep", - "thiserror", + "thiserror 1.0.61", "tracing", "whoami", ] +[[package]] +name = "sqlx-rt" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "804d3f245f894e61b1e6263c84b23ca675d96753b5abfd5cc8597d86806e8024" +dependencies = [ + "once_cell", + "tokio", + "tokio-rustls 0.23.4", +] + [[package]] name = "sqlx-sqlite" version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "210976b7d948c7ba9fced8ca835b11cbb2d677c59c79de41ac0d397e14547490" +source = "git+https://github.com/wsxiaoys/sqlx?rev=77eb94d#77eb94dd672531bf1fec190aadf2f742cfb5a8db" dependencies = [ "atoi", "chrono", @@ -4097,28 +5639,54 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a8348af2d9fc3258c8733b8d9d8db2e56f54b2363a4b5b81585c7875ed65e65" +[[package]] +name = "string_cache" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot", + "phf_shared 0.10.0", + "precomputed-hash", + "serde", +] + +[[package]] +name = "string_cache_codegen" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", + "proc-macro2", + "quote", +] + [[package]] name = "stringprep" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb41d74e231a107a1b4ee36bd1214b11285b77768d2e3824aedafa988fd36ee6" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" dependencies = [ - "finl_unicode", "unicode-bidi", "unicode-normalization", + "unicode-properties", ] [[package]] name = "strsim" -version = "0.9.3" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "strsim" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "strum" @@ -4126,7 +5694,16 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" dependencies = [ - "strum_macros", + "strum_macros 0.24.3", +] + +[[package]] +name = "strum" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" +dependencies = [ + "strum_macros 0.26.2", ] [[package]] @@ -4135,13 +5712,26 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro2", "quote", "rustversion", "syn 1.0.109", ] +[[package]] +name = "strum_macros" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.100", +] + [[package]] name = "subtle" version = "2.5.0" @@ -4161,9 +5751,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.32" +version = "2.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2" +checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" dependencies = [ "proc-macro2", "quote", @@ -4176,19 +5766,24 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" + [[package]] name = "sysinfo" -version = "0.29.8" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d10ed79c22663a35a255d289a7fdcb43559fc77ff15df5ce6c341809e7867528" +checksum = "948512566b1895f93b1592c7574baeb2de842f224f2aab158799ecadb8ebbb46" dependencies = [ - "cfg-if", "core-foundation-sys", "libc", + "memchr", "ntapi", - "once_cell", "rayon", - "winapi", + "windows 0.57.0", ] [[package]] @@ -4198,7 +5793,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", - "core-foundation", + "core-foundation 0.9.4", "system-configuration-sys", ] @@ -4214,202 +5809,348 @@ dependencies = [ [[package]] name = "tabby" -version = "0.8.0" +version = "0.33.0-dev.0" dependencies = [ "anyhow", "assert-json-diff", + "async-openai-alt", "async-stream", "async-trait", - "axum", + "axum 0.8.3", + "axum-extra", "axum-prometheus", - "axum-tracing-opentelemetry", "chrono", "clap", + "color-eyre", "futures", "http-api-bindings", - "hyper", + "hyper 1.3.1", "insta", "lazy_static", - "llama-cpp-bindings", - "minijinja", + "llama-cpp-server", "nvml-wrapper", "openssl", - "opentelemetry", + "opentelemetry 0.27.1", "opentelemetry-otlp", + "opentelemetry-semantic-conventions", + "opentelemetry_sdk 0.27.1", "regex", "reqwest", + "reqwest-eventsource", "serde", - "serde-jsonlines 0.5.0", + "serde-jsonlines", "serde_json", "serdeconv", - "serial_test 3.0.0", + "serial_test 3.1.1", + "spinners", "strfmt", - "strum", + "strum 0.24.1", "sysinfo", "tabby-common", "tabby-download", "tabby-inference", - "tabby-scheduler", "tabby-webserver", "tantivy", - "textdistance", - "thiserror", + "thiserror 1.0.61", "tokio", - "tower-http 0.4.0", + "tower-http 0.5.2", "tracing", - "tracing-opentelemetry", - "tracing-subscriber 0.3.17", + "tracing-opentelemetry 0.28.0", + "tracing-subscriber", "utoipa", "utoipa-swagger-ui", - "uuid 1.6.1", + "uuid", "vergen", ] [[package]] name = "tabby-common" -version = "0.8.0" +version = "0.33.0-dev.0" dependencies = [ "anyhow", "async-trait", - "filenamify", - "glob", + "axum 0.8.3", + "axum-extra", + "chrono", + "derive_builder", + "hash-ids", "home", + "humantime", "lazy_static", - "regex", + "parse-git-url", "reqwest", "serde", - "serde-jsonlines 0.4.0", "serde_json", "serdeconv", "tantivy", - "thiserror", + "temp_testdir", + "thiserror 1.0.61", + "tokio", + "tracing", + "url", "utoipa", - "uuid 1.6.1", + "uuid", + "validator", +] + +[[package]] +name = "tabby-crawler" +version = "0.33.0-dev.0" +dependencies = [ + "anyhow", + "async-stream", + "futures", + "htmd", + "logkit", + "percent-encoding", + "readable-readability", + "regex", + "reqwest", + "serde", + "serde_json", + "tokio", + "tracing", + "tracing-test", + "url", ] [[package]] name = "tabby-db" -version = "0.8.0" +version = "0.33.0-dev.0" dependencies = [ "anyhow", "assert_matches", + "cached", "chrono", + "hash-ids", + "lazy_static", + "serde", + "serde_json", + "sql_query_builder", "sqlx", + "sqlx-migrate-validate", + "tabby-db-macros", + "tokio", + "uuid", +] + +[[package]] +name = "tabby-db-macros" +version = "0.33.0-dev.0" +dependencies = [ + "quote", + "syn 2.0.100", +] + +[[package]] +name = "tabby-download" +version = "0.33.0-dev.0" +dependencies = [ + "aim-downloader", + "anyhow", + "serial_test 3.1.1", + "tabby-common", + "tokio-retry", + "tracing", +] + +[[package]] +name = "tabby-git" +version = "0.33.0-dev.0" +dependencies = [ + "anyhow", + "assert_matches", + "async-stream", + "axum 0.8.3", + "chrono", + "futures", + "git2", + "grep", + "ignore", + "mime_guess", + "nucleo", + "serde", + "serde_json", + "temp_testdir", + "tokio", + "tracing", +] + +[[package]] +name = "tabby-index" +version = "0.33.0-dev.0" +dependencies = [ + "anyhow", + "async-stream", + "async-trait", + "chrono", + "futures", + "git2", + "ignore", + "insta", + "lazy_static", + "logkit", + "serde", + "serde_json", + "serial_test 3.1.1", "tabby-common", + "tabby-git", + "tabby-inference", + "tantivy", + "temp_testdir", + "text-splitter", "tokio", - "uuid 1.6.1", + "tracing", + "tracing-subscriber", + "tracing-test", + "tree-sitter-c", + "tree-sitter-c-sharp", + "tree-sitter-cpp", + "tree-sitter-elixir", + "tree-sitter-gdscript", + "tree-sitter-go", + "tree-sitter-java", + "tree-sitter-kotlin", + "tree-sitter-lua", + "tree-sitter-python", + "tree-sitter-ruby", + "tree-sitter-rust", + "tree-sitter-scala", + "tree-sitter-solidity", + "tree-sitter-tags", + "tree-sitter-typescript", ] [[package]] -name = "tabby-download" -version = "0.8.0" +name = "tabby-index-cli" +version = "0.33.0-dev.0" dependencies = [ - "aim-downloader", "anyhow", - "sha256", + "clap", + "serde", + "serde_json", "tabby-common", - "tokio-retry", - "tracing", + "tantivy", ] [[package]] name = "tabby-inference" -version = "0.8.0" +version = "0.33.0-dev.0" dependencies = [ + "anyhow", + "async-openai-alt", "async-stream", "async-trait", "dashmap", "derive_builder", "futures", - "regex", + "reqwest", + "secrecy 0.8.0", "tabby-common", + "tracing", + "trie-rs", ] [[package]] -name = "tabby-scheduler" -version = "0.8.0" +name = "tabby-schema" +version = "0.33.0-dev.0" dependencies = [ "anyhow", - "cargo-lock", - "file-rotate", - "ignore", - "job_scheduler", - "kdam", + "async-openai-alt", + "async-trait", + "axum 0.8.3", + "base64 0.22.1", + "chrono", + "futures", + "hash-ids", + "juniper", "lazy_static", - "requirements", - "serde-jsonlines 0.4.0", - "serde_json", - "serdeconv", + "ldap3", + "regex", + "serde", + "strum 0.24.1", "tabby-common", - "tantivy", - "temp_testdir", + "tabby-db", + "tabby-inference", + "thiserror 1.0.61", "tokio", "tracing", - "tracing-test", - "tree-sitter-c", - "tree-sitter-c-sharp", - "tree-sitter-cpp", - "tree-sitter-go", - "tree-sitter-java", - "tree-sitter-kotlin", - "tree-sitter-python", - "tree-sitter-ruby", - "tree-sitter-rust", - "tree-sitter-tags", - "tree-sitter-typescript", + "url", + "validator", ] [[package]] name = "tabby-webserver" -version = "0.8.0" +version = "0.33.0-dev.0" dependencies = [ "anyhow", "argon2", "assert_matches", + "async-openai-alt", + "async-stream", "async-trait", - "axum", + "axum 0.8.3", + "axum-extra", "bincode", + "cached", "chrono", + "cron", + "fs_extra", "futures", - "hyper", + "gitlab", + "humantime", + "hyper 1.3.1", + "insta", "jsonwebtoken", "juniper", - "juniper-axum", + "juniper_axum", + "juniper_graphql_ws", "lazy_static", + "ldap3", "lettre", + "logkit", "mime_guess", + "octocrab", + "openidconnect", "pin-project", "querystring", + "ratelimit", "reqwest", - "rust-embed 8.0.0", + "rust-embed", "serde", "serde_json", + "serial_test 3.1.1", + "strum 0.24.1", "tabby-common", + "tabby-crawler", "tabby-db", + "tabby-git", + "tabby-index", + "tabby-inference", + "tabby-schema", "tarpc", - "thiserror", + "temp_testdir", + "thiserror 1.0.61", "tokio", - "tokio-cron-scheduler", - "tokio-tungstenite", - "tower", - "tower-http 0.4.0", + "tokio-tungstenite 0.21.0", + "tower 0.5.2", + "tower-http 0.5.2", "tracing", - "unicase", + "url", "urlencoding", - "uuid 1.6.1", + "utoipa", + "uuid", "validator", ] [[package]] name = "tantivy" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1d4675fed6fe2218ce11445374e181e864a8ffd0f28e7e0591ccfc38cd000ae" +version = "0.23.0" +source = "git+https://github.com/quickwit-oss/tantivy?rev=4143d31#4143d31865cbae9a9a7a286b0420a95814408ec7" dependencies = [ "aho-corasick", "arc-swap", - "async-trait", - "base64 0.21.5", + "base64 0.22.1", "bitpacking", "byteorder", "census", @@ -4417,17 +6158,16 @@ dependencies = [ "crossbeam-channel", "downcast-rs", "fastdivide", + "fnv", "fs4", "htmlescape", - "itertools 0.11.0", + "itertools 0.13.0", "levenshtein_automata", "log", "lru", "lz4_flex", "measure_time", "memmap2", - "murmurhash32", - "num_cpus", "once_cell", "oneshot", "rayon", @@ -4446,30 +6186,28 @@ dependencies = [ "tantivy-stacker", "tantivy-tokenizer-api", "tempfile", - "thiserror", + "thiserror 1.0.61", "time", - "uuid 1.6.1", + "uuid", "winapi", ] [[package]] name = "tantivy-bitpacker" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cecb164321482301f514dd582264fa67f70da2d7eb01872ccd71e35e0d96655a" +version = "0.6.0" +source = "git+https://github.com/quickwit-oss/tantivy?rev=4143d31#4143d31865cbae9a9a7a286b0420a95814408ec7" dependencies = [ "bitpacking", ] [[package]] name = "tantivy-columnar" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d85f8019af9a78b3118c11298b36ffd21c2314bd76bbcd9d12e00124cbb7e70" +version = "0.3.0" +source = "git+https://github.com/quickwit-oss/tantivy?rev=4143d31#4143d31865cbae9a9a7a286b0420a95814408ec7" dependencies = [ + "downcast-rs", "fastdivide", - "fnv", - "itertools 0.11.0", + "itertools 0.13.0", "serde", "tantivy-bitpacker", "tantivy-common", @@ -4479,9 +6217,8 @@ dependencies = [ [[package]] name = "tantivy-common" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af4a3a975e604a2aba6b1106a04505e1e7a025e6def477fab6e410b4126471e1" +version = "0.7.0" +source = "git+https://github.com/quickwit-oss/tantivy?rev=4143d31#4143d31865cbae9a9a7a286b0420a95814408ec7" dependencies = [ "async-trait", "byteorder", @@ -4492,30 +6229,29 @@ dependencies = [ [[package]] name = "tantivy-fst" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc3c506b1a8443a3a65352df6382a1fb6a7afe1a02e871cee0d25e2c3d5f3944" +checksum = "d60769b80ad7953d8a7b2c70cdfe722bbcdcac6bccc8ac934c40c034d866fc18" dependencies = [ "byteorder", - "regex-syntax 0.6.29", + "regex-syntax 0.8.3", "utf8-ranges", ] [[package]] name = "tantivy-query-grammar" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d39c5a03100ac10c96e0c8b07538e2ab8b17da56434ab348309b31f23fada77" +version = "0.22.0" +source = "git+https://github.com/quickwit-oss/tantivy?rev=4143d31#4143d31865cbae9a9a7a286b0420a95814408ec7" dependencies = [ - "nom 7.1.3", + "nom", ] [[package]] name = "tantivy-sstable" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0c1bb43e5e8b8e05eb8009610344dbf285f06066c844032fbb3e546b3c71df" +version = "0.3.0" +source = "git+https://github.com/quickwit-oss/tantivy?rev=4143d31#4143d31865cbae9a9a7a286b0420a95814408ec7" dependencies = [ + "tantivy-bitpacker", "tantivy-common", "tantivy-fst", "zstd", @@ -4523,19 +6259,18 @@ dependencies = [ [[package]] name = "tantivy-stacker" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2c078595413f13f218cf6f97b23dcfd48936838f1d3d13a1016e05acd64ed6c" +version = "0.3.0" +source = "git+https://github.com/quickwit-oss/tantivy?rev=4143d31#4143d31865cbae9a9a7a286b0420a95814408ec7" dependencies = [ "murmurhash32", + "rand_distr", "tantivy-common", ] [[package]] name = "tantivy-tokenizer-api" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "347b6fb212b26d3505d224f438e3c4b827ab8bd847fe9953ad5ac6b8f9443b66" +version = "0.3.0" +source = "git+https://github.com/quickwit-oss/tantivy?rev=4143d31#4143d31865cbae9a9a7a286b0420a95814408ec7" dependencies = [ "serde", ] @@ -4550,18 +6285,18 @@ dependencies = [ "fnv", "futures", "humantime", - "opentelemetry", + "opentelemetry 0.18.0", "pin-project", "rand 0.8.5", "serde", "static_assertions", "tarpc-plugins", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-serde", "tokio-util", "tracing", - "tracing-opentelemetry", + "tracing-opentelemetry 0.18.0", ] [[package]] @@ -4583,67 +6318,105 @@ checksum = "921f1e9c427802414907a48b21a6504ff6b3a15a1a3cf37e699590949ad9befc" [[package]] name = "tempfile" -version = "3.5.0" +version = "3.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", - "fastrand 1.9.0", - "redox_syscall 0.3.5", - "rustix 0.37.19", - "windows-sys 0.45.0", + "fastrand", + "rustix", + "windows-sys 0.52.0", +] + +[[package]] +name = "tendril" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" +dependencies = [ + "futf", + "mac", + "utf-8", ] [[package]] name = "termcolor" -version = "1.2.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] [[package]] -name = "terminal_size" -version = "0.3.0" +name = "text-splitter" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" +checksum = "2ab9dc04b7cf08eb01c07c272bf699fa55679a326ddf7dd075e14094efc80fb9" dependencies = [ - "rustix 0.38.17", - "windows-sys 0.48.0", + "ahash", + "auto_enums", + "either", + "itertools 0.13.0", + "once_cell", + "regex", + "strum 0.26.2", + "thiserror 1.0.61", + "tree-sitter", + "unicode-segmentation", ] [[package]] -name = "textdistance" -version = "1.0.2" +name = "thin-slice" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" + +[[package]] +name = "thiserror" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d321c8576c2b47e43953e9cce236550d4cd6af0a6ce518fe084340082ca6037b" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +dependencies = [ + "thiserror-impl 1.0.61", +] [[package]] name = "thiserror" -version = "1.0.49" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ - "thiserror-impl", + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] name = "thiserror-impl" -version = "1.0.49" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.100", ] [[package]] name = "thread_local" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ "cfg-if", "once_cell", @@ -4651,14 +6424,16 @@ dependencies = [ [[package]] name = "time" -version = "0.3.26" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a79d09ac6b08c1ab3906a2f7cc2e81a0e27c7ae89c63812df75e52bef0751e07" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", - "itoa", + "itoa 1.0.11", "libc", + "num-conv", "num_threads", + "powerfmt", "serde", "time-core", "time-macros", @@ -4666,16 +6441,17 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.12" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75c65469ed6b3a4809d987a41eb1dc918e9bc1d92211cbad7ae82931846f7451" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ + "num-conv", "time-core", ] @@ -4696,57 +6472,31 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.35.0" +version = "1.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" dependencies = [ "backtrace", "bytes", "libc", "mio", - "num_cpus", "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.5", + "socket2", "tokio-macros", - "windows-sys 0.48.0", -] - -[[package]] -name = "tokio-cron-scheduler" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de2c1fd54a857b29c6cd1846f31903d0ae8e28175615c14a277aed45c58d8e27" -dependencies = [ - "chrono", - "cron 0.12.0", - "num-derive", - "num-traits", - "tokio", - "tracing", - "uuid 1.6.1", -] - -[[package]] -name = "tokio-io-timeout" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" -dependencies = [ - "pin-project-lite", - "tokio", + "windows-sys 0.52.0", ] [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.100", ] [[package]] @@ -4770,6 +6520,38 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-rustls" +version = "0.23.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +dependencies = [ + "rustls 0.20.9", + "tokio", + "webpki", +] + +[[package]] +name = "tokio-rustls" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" +dependencies = [ + "rustls 0.22.4", + "rustls-pki-types", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" +dependencies = [ + "rustls 0.23.20", + "tokio", +] + [[package]] name = "tokio-serde" version = "0.8.0" @@ -4784,9 +6566,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.14" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", "pin-project-lite", @@ -4795,39 +6577,50 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.20.1" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38" +dependencies = [ + "futures-util", + "log", + "tokio", + "tungstenite 0.21.0", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084" dependencies = [ "futures-util", "log", "tokio", - "tungstenite", + "tungstenite 0.26.2", ] [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", "futures-io", "futures-sink", "futures-util", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "pin-project-lite", "slab", "tokio", - "tracing", ] [[package]] name = "toml" -version = "0.7.4" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6135d499e69981f9ff0ef2167955a5333c35e36f6937d382974566b3d5b94ec" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" dependencies = [ "serde", "serde_spanned", @@ -4837,20 +6630,20 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.2" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.19.10" +version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 1.9.3", + "indexmap 2.2.6", "serde", "serde_spanned", "toml_datetime", @@ -4859,47 +6652,32 @@ dependencies = [ [[package]] name = "tonic" -version = "0.8.3" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f219fad3b929bef19b1f86fbc0358d35daed8f2cac972037ac0dc10bbb8d5fb" +checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" dependencies = [ "async-stream", "async-trait", - "axum", - "base64 0.13.1", + "axum 0.7.5", + "base64 0.22.1", "bytes", - "futures-core", - "futures-util", "h2", - "http", - "http-body", - "hyper", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "hyper 1.3.1", "hyper-timeout", + "hyper-util", "percent-encoding", "pin-project", "prost", - "prost-derive", + "socket2", "tokio", "tokio-stream", - "tokio-util", - "tower", + "tower 0.4.13", "tower-layer", "tower-service", "tracing", - "tracing-futures", -] - -[[package]] -name = "tonic-build" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf5e9b9c0f7e0a7c027dcfaba7b2c60816c7049171f679d99ee2ff65d0de8c4" -dependencies = [ - "prettyplease", - "proc-macro2", - "prost-build", - "quote", - "syn 1.0.109", ] [[package]] @@ -4923,19 +6701,17 @@ dependencies = [ ] [[package]] -name = "tower-http" -version = "0.3.5" +name = "tower" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ - "bitflags 1.3.2", - "bytes", "futures-core", "futures-util", - "http", - "http-body", - "http-range-header", "pin-project-lite", + "sync_wrapper 1.0.1", + "tokio", + "tokio-util", "tower-layer", "tower-service", "tracing", @@ -4943,16 +6719,16 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.4.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d1d42a9b3f3ec46ba828e8d376aec14592ea199f70a06a548587ecd1c4ab658" +checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "bytes", - "futures-core", "futures-util", - "http", - "http-body", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", "http-range-header", "httpdate", "mime", @@ -4966,25 +6742,43 @@ dependencies = [ "tracing", ] +[[package]] +name = "tower-http" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697" +dependencies = [ + "bitflags 2.6.0", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "iri-string", + "pin-project-lite", + "tower 0.5.2", + "tower-layer", + "tower-service", + "tracing", +] + [[package]] name = "tower-layer" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if", "log", "pin-project-lite", "tracing-attributes", @@ -4993,43 +6787,43 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.24" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.100", ] [[package]] name = "tracing-core" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", "valuable", ] [[package]] -name = "tracing-futures" -version = "0.2.5" +name = "tracing-error" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" dependencies = [ - "pin-project", "tracing", + "tracing-subscriber", ] [[package]] name = "tracing-log" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ - "lazy_static", "log", + "once_cell", "tracing-core", ] @@ -5040,52 +6834,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21ebb87a95ea13271332df069020513ab70bdb5637ca42d6e492dc3bbbad48de" dependencies = [ "once_cell", - "opentelemetry", + "opentelemetry 0.18.0", "tracing", "tracing-core", - "tracing-log", - "tracing-subscriber 0.3.17", -] - -[[package]] -name = "tracing-serde" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" -dependencies = [ - "serde", - "tracing-core", + "tracing-subscriber", ] [[package]] -name = "tracing-subscriber" -version = "0.2.25" +name = "tracing-opentelemetry" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" +checksum = "97a971f6058498b5c0f1affa23e7ea202057a7301dbff68e968b2d578bcbd053" dependencies = [ - "ansi_term", - "chrono", - "lazy_static", - "matchers 0.0.1", - "regex", - "serde", - "serde_json", - "sharded-slab", + "js-sys", + "once_cell", + "opentelemetry 0.27.1", + "opentelemetry_sdk 0.27.1", "smallvec", - "thread_local", "tracing", "tracing-core", "tracing-log", - "tracing-serde", + "tracing-subscriber", + "web-time", ] [[package]] name = "tracing-subscriber" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ - "matchers 0.1.0", + "matchers", "nu-ansi-term", "once_cell", "regex", @@ -5099,21 +6878,21 @@ dependencies = [ [[package]] name = "tracing-test" -version = "0.1.0" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3b48778c2d401c6a7fcf38a0e3c55dc8e8e753cbd381044a8cdb6fd69a29f53" +checksum = "3a2c0ff408fe918a94c428a3f2ad04e4afd5c95bbc08fcf868eff750c15728a4" dependencies = [ "lazy_static", "tracing-core", - "tracing-subscriber 0.2.25", + "tracing-subscriber", "tracing-test-macro", ] [[package]] name = "tracing-test-macro" -version = "0.1.0" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c49adbab879d2e0dd7f75edace5f0ac2156939ecb7e6a1e8fa14e53728328c48" +checksum = "258bc1c4f8e2e73a977812ab339d503e6feeb92700f6d07a6de4d321522d5c08" dependencies = [ "lazy_static", "quote", @@ -5141,9 +6920,9 @@ dependencies = [ [[package]] name = "tree-sitter" -version = "0.20.10" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e747b1f9b7b931ed39a548c1fae149101497de3c1fc8d9e18c62c1a66c683d3d" +checksum = "df7cc499ceadd4dcdf7ec6d4cbc34ece92c3fa07821e287aedecd4416c516dca" dependencies = [ "cc", "regex", @@ -5151,8 +6930,8 @@ dependencies = [ [[package]] name = "tree-sitter-c" -version = "0.20.6" -source = "git+https://github.com/tree-sitter/tree-sitter-c/?rev=212a80f#212a80f86452bb1316324fa0db730cf52f29e05a" +version = "0.21.3" +source = "git+https://github.com/tree-sitter/tree-sitter-c/?rev=00ed08f#00ed08f1a6c18141bfd7a81638e4d239a0bb55cc" dependencies = [ "cc", "tree-sitter", @@ -5160,9 +6939,9 @@ dependencies = [ [[package]] name = "tree-sitter-c-sharp" -version = "0.20.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ab3dc608f34924fa9e10533a95f62dbc14b6de0ddd7107722eba66fe19ae31" +checksum = "ff899037068a1ffbb891891b7e94db1400ddf12c3d934b85b8c9e30be5cd18da" dependencies = [ "cc", "tree-sitter", @@ -5170,8 +6949,27 @@ dependencies = [ [[package]] name = "tree-sitter-cpp" -version = "0.20.3" -source = "git+https://github.com/tree-sitter/tree-sitter-cpp?rev=a714740#a71474021410973b29bfe99440d57bcd750246b1" +version = "0.22.1" +source = "git+https://github.com/tree-sitter/tree-sitter-cpp?rev=d29fbff#d29fbff09a8c9ff4f3074de2595dfca12cb33da9" +dependencies = [ + "cc", + "tree-sitter", +] + +[[package]] +name = "tree-sitter-elixir" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df94bf7f057768b1cab2ee1f14812ed4ae33f9e04d09254043eeaa797db4ef70" +dependencies = [ + "cc", + "tree-sitter", +] + +[[package]] +name = "tree-sitter-gdscript" +version = "0.0.1" +source = "git+https://github.com/faceCutWall/tree-sitter-gdscript?rev=8a8c067899d734840e8ce86fdeeeadbe8088446b#8a8c067899d734840e8ce86fdeeeadbe8088446b" dependencies = [ "cc", "tree-sitter", @@ -5179,9 +6977,9 @@ dependencies = [ [[package]] name = "tree-sitter-go" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad6d11f19441b961af2fda7f12f5d0dac325f6d6de83836a1d3750018cc5114" +checksum = "55cb318be5ccf75f44e054acf6898a5c95d59b53443eed578e16be0cd7ec037f" dependencies = [ "cc", "tree-sitter", @@ -5189,9 +6987,9 @@ dependencies = [ [[package]] name = "tree-sitter-java" -version = "0.20.2" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2adc5696bf5abf761081d7457d2bb82d0e3b28964f4214f63fd7e720ef462653" +checksum = "33bc21adf831a773c075d9d00107ab43965e6a6ea7607b47fd9ec6f3db4b481b" dependencies = [ "cc", "tree-sitter", @@ -5199,9 +6997,19 @@ dependencies = [ [[package]] name = "tree-sitter-kotlin" -version = "0.3.1" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c88dfbb22333118a5d5c5c10b19f93d115a6fa3c8a69dd0e6a260a64f9f5a79b" +dependencies = [ + "cc", + "tree-sitter", +] + +[[package]] +name = "tree-sitter-lua" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5f367466210220a194a2d8831fc12d15aa13305e7bcdf2dba47714aa328e86" +checksum = "3b9fe6fc87bd480e1943fc1fcb02453fb2da050e4e8ce0daa67d801544046856" dependencies = [ "cc", "tree-sitter", @@ -5209,9 +7017,9 @@ dependencies = [ [[package]] name = "tree-sitter-python" -version = "0.20.2" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dda114f58048f5059dcf158aff691dffb8e113e6d2b50d94263fd68711975287" +checksum = "b4066c6cf678f962f8c2c4561f205945c84834cce73d981e71392624fdc390a9" dependencies = [ "cc", "tree-sitter", @@ -5219,9 +7027,9 @@ dependencies = [ [[package]] name = "tree-sitter-ruby" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ac30cbb1560363ae76e1ccde543d6d99087421e228cc47afcec004b86bb711a" +checksum = "c0031f687c0772f2dad7b77104c43428611099a1804c81244ada21560f41f0b1" dependencies = [ "cc", "tree-sitter", @@ -5229,9 +7037,28 @@ dependencies = [ [[package]] name = "tree-sitter-rust" -version = "0.20.3" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "277690f420bf90741dea984f3da038ace46c4fe6047cba57a66822226cde1c93" +dependencies = [ + "cc", + "tree-sitter", +] + +[[package]] +name = "tree-sitter-scala" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "797842733e252dc11ae5d403a18060bf337b822fc2ae5ddfaa6ff4d9cc20bda6" +checksum = "a464d8e2e1837cf20b34204c51c369da3483e55c3ea013c6db81a04439e17895" +dependencies = [ + "cc", + "tree-sitter", +] + +[[package]] +name = "tree-sitter-solidity" +version = "1.2.6" +source = "git+https://github.com/JoranHonig/tree-sitter-solidity?rev=0e86ae647bda22c9bee00ec59752df7b3d3b000b#0e86ae647bda22c9bee00ec59752df7b3d3b000b" dependencies = [ "cc", "tree-sitter", @@ -5239,56 +7066,82 @@ dependencies = [ [[package]] name = "tree-sitter-tags" -version = "0.20.2" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb3f1376219530a37a809751ecf65aa35fd8b9c1c4ab6d4faf5f6a9eeda2c05" +checksum = "34380416097ab36d1b4cd83f887d9e150ea4feaeb6ee9a5ecfe53d26839acc69" dependencies = [ "memchr", "regex", - "thiserror", + "thiserror 1.0.61", "tree-sitter", ] [[package]] name = "tree-sitter-typescript" -version = "0.20.3" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75049f0aafabb2aac205d7bb24da162b53dcd0cfb326785f25a2f32efa8071a" +checksum = "f07523e51e3b88529360a89038c0cca7ee877db40a40141514eece8b4cddcbb4" dependencies = [ "cc", "tree-sitter", ] +[[package]] +name = "trie-rs" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5096c019d49566aff57593a06e401c7f588da84e9a575d0ed2ac0913f51928c0" +dependencies = [ + "louds-rs", +] + [[package]] name = "try-lock" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tungstenite" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" dependencies = [ "byteorder", "bytes", "data-encoding", - "http", + "http 1.1.0", "httparse", "log", "rand 0.8.5", "sha1", - "thiserror", + "thiserror 1.0.61", "url", "utf-8", ] +[[package]] +name = "tungstenite" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13" +dependencies = [ + "bytes", + "data-encoding", + "http 1.1.0", + "httparse", + "log", + "rand 0.9.1", + "sha1", + "thiserror 2.0.12", + "utf-8", +] + [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "ucd-trie" @@ -5307,36 +7160,42 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.13" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-properties" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291" + [[package]] name = "unicode-segmentation" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode-width" -version = "0.1.10" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" [[package]] name = "unicode_categories" @@ -5353,6 +7212,12 @@ dependencies = [ "void", ] +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + [[package]] name = "untrusted" version = "0.9.0" @@ -5366,15 +7231,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", - "idna 0.5.0", + "idna", "percent-encoding", + "serde", ] [[package]] name = "url-parse" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d375da66174ba9b3697f36468fb6b9a981074537569a87ad2dc43de2a598063" +checksum = "865ece61c15cae30f180636ae551daa25c318c181938da07f3ab3ed06750bdd2" dependencies = [ "regex", ] @@ -5405,11 +7271,11 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "utoipa" -version = "3.3.0" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ae74ef183fae36d650f063ae7bde1cacbe1cd7e72b617cbe1e985551878b98" +checksum = "435c6f69ef38c9017b4b4eea965dfb91e71e53d869e896db40d1cf2441dd75c0" dependencies = [ - "indexmap 1.9.3", + "indexmap 2.2.6", "serde", "serde_json", "utoipa-gen", @@ -5417,48 +7283,41 @@ dependencies = [ [[package]] name = "utoipa-gen" -version = "3.3.0" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ea8ac818da7e746a63285594cce8a96f5e00ee31994e655bd827569cb8b137b" +checksum = "a77d306bc75294fd52f3e99b13ece67c02c1a2789190a6f31d32f736624326f7" dependencies = [ - "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.32", + "regex", + "syn 2.0.100", ] [[package]] name = "utoipa-swagger-ui" -version = "3.1.3" +version = "9.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "062bba5a3568e126ac72049a63254f4cb1da2eb713db0c1ab2a4c76be191db8c" +checksum = "d29519b3c485df6b13f4478ac909a491387e9ef70204487c3b64b53749aec0be" dependencies = [ - "axum", + "axum 0.8.3", + "base64 0.22.1", "mime_guess", "regex", - "rust-embed 6.6.1", + "rust-embed", "serde", "serde_json", + "url", "utoipa", "zip", ] [[package]] name = "uuid" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" -dependencies = [ - "getrandom 0.2.11", -] - -[[package]] -name = "uuid" -version = "1.6.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" +checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.15", "rand 0.8.5", "serde", "uuid-macro-internal", @@ -5466,23 +7325,23 @@ dependencies = [ [[package]] name = "uuid-macro-internal" -version = "1.6.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f49e7f3f3db8040a100710a11932239fd30697115e2ba4107080d8252939845e" +checksum = "9881bea7cbe687e36c9ab3b778c36cd0487402e270304e8b1296d5085303c1a2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.100", ] [[package]] name = "validator" -version = "0.16.1" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b92f40481c04ff1f4f61f304d61793c7b56ff76ac1469f1beb199b1445b253bd" +checksum = "db79c75af171630a3148bd3e6d7c4f42b6a9a014c2945bc5ed0020cbb8d9478e" dependencies = [ - "idna 0.4.0", - "lazy_static", + "idna", + "once_cell", "regex", "serde", "serde_derive", @@ -5493,28 +7352,16 @@ dependencies = [ [[package]] name = "validator_derive" -version = "0.16.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc44ca3088bb3ba384d9aecf40c6a23a676ce23e09bdaca2073d99c207f864af" +checksum = "55591299b7007f551ed1eb79a684af7672c19c3193fb9e0a31936987bb2438ec" dependencies = [ - "if_chain", - "lazy_static", + "darling 0.20.9", + "once_cell", "proc-macro-error", "proc-macro2", "quote", - "regex", - "syn 1.0.109", - "validator_types", -] - -[[package]] -name = "validator_types" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "111abfe30072511849c5910134e8baf8dc05de4c0e5903d681cbd5c9c4d611e3" -dependencies = [ - "proc-macro2", - "syn 1.0.109", + "syn 2.0.100", ] [[package]] @@ -5523,6 +7370,18 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +[[package]] +name = "value-trait" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dad8db98c1e677797df21ba03fca7d3bf9bec3ca38db930954e4fe6e1ea27eb4" +dependencies = [ + "float-cmp", + "halfbrown", + "itoa 1.0.11", + "ryu", +] + [[package]] name = "vcpkg" version = "0.2.15" @@ -5531,11 +7390,12 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "vergen" -version = "8.2.4" +version = "8.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbc5ad0d9d26b2c49a5ab7da76c3e79d3ee37e7821799f8223fcb8f2f391a2e7" +checksum = "e27d6bdd219887a9eadd19e1c34f32e47fa332301184935c6d9bca26f3cca525" dependencies = [ "anyhow", + "cfg-if", "rustversion", "time", ] @@ -5554,9 +7414,9 @@ checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" [[package]] name = "walkdir" -version = "2.3.3" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", "winapi-util", @@ -5564,11 +7424,10 @@ dependencies = [ [[package]] name = "want" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" dependencies = [ - "log", "try-lock", ] @@ -5584,11 +7443,26 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + +[[package]] +name = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" + [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -5596,24 +7470,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.100", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.37" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -5623,9 +7497,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5633,28 +7507,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.100", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasm-streams" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7" +checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" dependencies = [ "futures-util", "js-sys", @@ -5665,30 +7539,65 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.64" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ "js-sys", + "serde", "wasm-bindgen", ] +[[package]] +name = "webpki" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53" +dependencies = [ + "ring 0.17.8", + "untrusted 0.9.0", +] + +[[package]] +name = "webpki-roots" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "which" -version = "4.4.0" +version = "6.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" +checksum = "8211e4f58a2b2805adfbefbc07bab82958fc91e3836339b1ab7ae32465dce0d7" dependencies = [ "either", - "libc", - "once_cell", + "home", + "rustix", + "winsafe", ] [[package]] name = "whoami" -version = "1.4.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50" +checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9" +dependencies = [ + "redox_syscall 0.4.1", + "wasite", +] [[package]] name = "winapi" @@ -5708,11 +7617,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" dependencies = [ - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -5727,31 +7636,79 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ - "windows-targets 0.48.0", + "windows-targets 0.48.5", ] [[package]] -name = "windows-sys" -version = "0.42.0" +name = "windows" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", + "windows-core 0.52.0", + "windows-targets 0.52.5", ] [[package]] -name = "windows-sys" -version = "0.45.0" +name = "windows" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +dependencies = [ + "windows-core 0.57.0", + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-core" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-result", + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-implement" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "windows-interface" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "windows-result" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" dependencies = [ - "windows-targets 0.42.2", + "windows-targets 0.52.5", ] [[package]] @@ -5760,227 +7717,273 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets 0.48.0", + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.5", ] [[package]] name = "windows-targets" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", ] [[package]] name = "windows-targets" -version = "0.48.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" dependencies = [ - "windows_aarch64_gnullvm 0.48.0", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm 0.48.0", - "windows_x86_64_msvc 0.48.0", + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" [[package]] name = "windows_aarch64_msvc" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.48.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" [[package]] name = "windows_i686_gnu" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.48.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" [[package]] name = "windows_i686_msvc" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.48.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" [[package]] name = "windows_x86_64_gnu" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.48.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" [[package]] name = "windows_x86_64_msvc" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.48.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "winnow" -version = "0.4.6" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" dependencies = [ "memchr", ] [[package]] name = "winreg" -version = "0.50.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" dependencies = [ "cfg-if", "windows-sys 0.48.0", ] +[[package]] +name = "winsafe" +version = "0.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" + +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.6.0", +] + [[package]] name = "wrapcenum-derive" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bcc065c85ad2c3bd12aa4118bf164835712e25080c392557801a13292c60aec" +checksum = "a76ff259533532054cfbaefb115c613203c73707017459206380f03b3b3f266e" dependencies = [ - "darling 0.10.2", + "darling 0.20.9", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.100", ] [[package]] -name = "yaml-rust" -version = "0.4.5" +name = "xml5ever" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" +checksum = "7c376f76ed09df711203e20c3ef5ce556f0166fa03d39590016c0fd625437fad" dependencies = [ - "linked-hash-map", + "log", + "mac", + "markup5ever 0.12.1", ] [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.100", ] [[package]] name = "zeroize" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" [[package]] name = "zip" -version = "0.6.6" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +checksum = "1dcb24d0152526ae49b9b96c1dcf71850ca1e0b882e4e28ed898a93c41334744" dependencies = [ - "byteorder", + "arbitrary", "crc32fast", "crossbeam-utils", "flate2", + "indexmap 2.2.6", + "memchr", + "zopfli", +] + +[[package]] +name = "zopfli" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edfc5ee405f504cd4984ecc6f14d02d55cfda60fa4b689434ef4102aae150cd7" +dependencies = [ + "bumpalo", + "crc32fast", + "log", + "simd-adler32", ] [[package]] name = "zstd" -version = "0.12.4" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" +checksum = "2d789b1514203a1120ad2429eae43a7bd32b90976a7bb8a05f7ec02fa88cc23a" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "6.0.6" +version = "7.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" +checksum = "1cd99b45c6bc03a018c8b8a86025678c87e55526064e38f9df301989dce7ec0a" dependencies = [ - "libc", "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.8+zstd.1.5.5" +version = "2.0.10+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" dependencies = [ "cc", - "libc", "pkg-config", ] diff --git a/Cargo.toml b/Cargo.toml index a618d5a59696..77e784e2a6b4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,46 +3,94 @@ resolver = "1" members = [ "crates/tabby", "crates/tabby-common", - "crates/tabby-scheduler", "crates/tabby-download", + "crates/tabby-git", "crates/tabby-inference", - "crates/llama-cpp-bindings", - "crates/http-api-bindings", + "crates/tabby-index", + "crates/tabby-crawler", + "crates/aim-downloader", - "crates/juniper-axum", + "crates/http-api-bindings", + "crates/llama-cpp-server", + "crates/ollama-api-bindings", + "crates/tabby-index-cli", + "crates/hash-ids", + "crates/sqlx-migrate-validate", + "ee/tabby-webserver", "ee/tabby-db", + "ee/tabby-db-macros", + "ee/tabby-schema", ] [workspace.package] -version = "0.8.0" +version = "0.33.0-dev.0" edition = "2021" -authors = ["Meng Zhang"] +authors = ["TabbyML Team"] homepage = "https://github.com/TabbyML/tabby" [workspace.dependencies] +cached = "0.49.3" lazy_static = "1.4.0" serde = { version = "1.0", features = ["derive"] } serde_json = "1" serdeconv = "0.4.1" tokio = "1.28" +tokio-retry = "0.3.0" +tokio-util = { version = "0.7.10", features = ["full"] } tracing = "0.1" +tokio-cron-scheduler = "0.9.4" tracing-subscriber = "0.3" anyhow = "1.0.71" -serde-jsonlines = "0.4.0" -tantivy = "0.21.0" +tantivy = { git = "https://github.com/quickwit-oss/tantivy", rev = "4143d31" } async-trait = "0.1.72" -reqwest = { version = "0.11.18" } -derive_builder = "0.12.0" -futures = "0.3.28" +reqwest = { version = "0.12" } +derive_builder = "0.20" +futures = "0.3.30" async-stream = "0.3.5" regex = "1.10.0" +strum = { version = "0.24", features = ["derive"] } thiserror = "1.0.49" -utoipa = "3.3" -axum = "0.6" -hyper = "0.14" -juniper = "0.15" +utoipa = "5.3" +axum = "0.8" +axum-extra = "0.10" +hyper = "1.1" +humantime = "2.2.0" +juniper = "0.16" chrono = "0.4" +reqwest-eventsource = "0.6" +serial_test = { version = "3.0.0", features = ["file_locks"] } +hash-ids = { path = "./crates/hash-ids" } +ignore = "0.4.20" +nucleo = "0.5.0" +url = "2.5.0" +temp_testdir = "0.2" +git2 = "0.18.3" +tower-http = "0.5" +tower = { version = "0.5", features = ["util"] } +mime_guess = "2.0.4" +assert_matches = "1.5" +insta = "1.34.0" +logkit = "0.3" +ldap3 = "0.11.0" +async-openai-alt = "0.26.2" +tracing-test = "0.2" +clap = "4.3.0" +ratelimit = "0.10" +tracing-opentelemetry = "0.28.0" +opentelemetry = { version = "0.27.0", features = ["trace", "metrics"] } +opentelemetry_sdk = { version = "0.27.0", default-features = false, features = [ + "trace", + "rt-tokio", +] } +opentelemetry-otlp = { version = "0.27.0" } +opentelemetry-semantic-conventions = { version = "0.27.0", features = [ + "semconv_experimental", +] } +# https://github.com/launchbadge/sqlx/issues/3241#issuecomment-2260797292 +# https://github.com/wsxiaoys/sqlx/tree/fix-0-7-3-remove-date-time-encoding +sqlx = { git = "https://github.com/wsxiaoys/sqlx", rev = "77eb94d" } +validator = { version = "0.18.1", features = ["derive"] } [workspace.dependencies.uuid] version = "1.3.3" diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 9ca69a1fab67..000000000000 --- a/Dockerfile +++ /dev/null @@ -1,76 +0,0 @@ -ARG UBUNTU_VERSION=22.04 -# This needs to generally match the container host's environment. -ARG CUDA_VERSION=11.7.1 -# Target the CUDA build image -ARG BASE_CUDA_DEV_CONTAINER=nvidia/cuda:${CUDA_VERSION}-devel-ubuntu${UBUNTU_VERSION} -# Target the CUDA runtime image -ARG BASE_CUDA_RUN_CONTAINER=nvidia/cuda:${CUDA_VERSION}-runtime-ubuntu${UBUNTU_VERSION} - -FROM ${BASE_CUDA_DEV_CONTAINER} as build - -# Rust toolchain version -ARG RUST_TOOLCHAIN=stable - -ENV DEBIAN_FRONTEND=noninteractive -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - curl \ - pkg-config \ - libssl-dev \ - protobuf-compiler \ - git \ - cmake \ - && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -# setup rust. -RUN curl https://sh.rustup.rs -sSf | bash -s -- --default-toolchain ${RUST_TOOLCHAIN} -y -ENV PATH="/root/.cargo/bin:${PATH}" - -WORKDIR /root/workspace - -RUN mkdir -p /opt/tabby/bin -RUN mkdir -p /opt/tabby/lib -RUN mkdir -p target - -COPY . . - -RUN --mount=type=cache,target=/usr/local/cargo/registry \ - --mount=type=cache,target=/root/workspace/target \ - cargo build --features cuda,prod-db --release --package tabby && \ - cp target/release/tabby /opt/tabby/bin/ - -FROM ${BASE_CUDA_RUN_CONTAINER} as runtime - -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - git \ - openssh-client \ - ca-certificates \ - && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -# Disable safe directory in docker -# Context: https://github.com/git/git/commit/8959555cee7ec045958f9b6dd62e541affb7e7d9 -RUN git config --system --add safe.directory "*" - -# Automatic platform ARGs in the global scope -# https://docs.docker.com/engine/reference/builder/#automatic-platform-args-in-the-global-scope -ARG TARGETARCH - -# AMD64 only: -# Make link to libnvidia-ml.so (NVML) library -# so that we could get GPU stats. -RUN if [ "$TARGETARCH" = "amd64" ]; then \ - ln -s /usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1 \ - /usr/lib/x86_64-linux-gnu/libnvidia-ml.so; \ - fi - -COPY --from=build /opt/tabby /opt/tabby - -ENV PATH="$PATH:/opt/tabby/bin" -ENV TABBY_ROOT=/data - -ENTRYPOINT ["/opt/tabby/bin/tabby"] diff --git a/LICENSE b/LICENSE index dc1f4fa76943..fe1321487adb 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2024 TabbyML, Inc. +Copyright (c) 2025 TabbyML, Inc. Portions of this software are licensed as follows: diff --git a/MODEL_SPEC.md b/MODEL_SPEC.md index d214d61e2365..60cec8794b80 100644 --- a/MODEL_SPEC.md +++ b/MODEL_SPEC.md @@ -1,12 +1,12 @@ -# Tabby Model Specification (Unstable) +# Tabby Model Specification -Tabby organizes the model within a directory. This document provides an explanation of the necessary contents for supporting model serving. An example model directory can be found at https://huggingface.co/TabbyML/StarCoder-1B - -The minimal Tabby model directory should include the following contents: +Tabby organizes the models within a directory. +This document provides an explanation of the necessary contents for supporting model serving. +A minimal Tabby model directory should include the following contents: ``` -ggml/ tabby.json +ggml/model-00001-of-00001.gguf ``` ### tabby.json @@ -28,6 +28,11 @@ The **chat_template** field is optional. When it is present, it is assumed that ### ggml/ -This directory contains binary files used by the [llama.cpp](https://github.com/ggerganov/llama.cpp) inference engine. Tabby utilizes ggml for inference on `cpu`, `cuda` and `metal` devices. +This directory contains binary files used by the [llama.cpp](https://github.com/ggml-org/llama.cpp) inference engine. +Tabby utilizes GGML for inference on `cpu`, `cuda` and `metal` devices. + +Tabby saves GGUF model files in the format `model-{index}-of-{count}.gguf`, following the llama.cpp naming convention. +Please note that the index is 1-based, +by default, Tabby names a single file model as `model-00001-of-00001.gguf`. -Currently, only `q8_0.v2.gguf` in this directory is in use. You can refer to the instructions in llama.cpp to learn how to acquire it. +For more details about GGUF models, please refer to the instructions in llama.cpp. diff --git a/Makefile b/Makefile index b8e207ac2bc3..aa80b518900b 100644 --- a/Makefile +++ b/Makefile @@ -1,33 +1,45 @@ fix: cargo machete --fix || true cargo +nightly fmt - cargo +nightly clippy --fix --allow-dirty --allow-staged + cargo clippy --fix --allow-dirty --allow-staged fix-ui: - cd ee/tabby-ui && yarn format:write && yarn lint:fix + pnpm lint:fix update-ui: - cd ee/tabby-ui && yarn build + pnpm build rm -rf ee/tabby-webserver/ui && cp -R ee/tabby-ui/out ee/tabby-webserver/ui + rm -rf ee/tabby-webserver/email_templates && cp -R ee/tabby-email/out ee/tabby-webserver/email_templates +update-db-schema: + sqlite3 ee/tabby-db/schema.sqlite ".schema --indent" > ee/tabby-db/schema/schema.sql + sqlite3 ee/tabby-db/schema.sqlite -init ee/tabby-db/schema/sqlite-schema-visualize.sql "" > schema.dot + dot -Tsvg schema.dot > ee/tabby-db/schema/schema.svg + rm schema.dot + +dev: + tmuxinator start -p .tmuxinator/tabby.yml + bump-version: - cargo ws version --no-git-tag --force "*" + cargo ws version --force "*" --no-individual-tags --allow-branch "main" bump-release-version: cargo ws version --allow-branch "r*" --no-individual-tags --force "*" update-openapi-doc: - curl http://localhost:8080/api-docs/openapi.json | jq ' \ - delpaths([ \ - ["paths", "/v1beta/chat/completions"], \ - ["paths", "/v1beta/search"], \ - ["components", "schemas", "CompletionRequest", "properties", "prompt"], \ - ["components", "schemas", "CompletionRequest", "properties", "debug_options"], \ - ["components", "schemas", "CompletionResponse", "properties", "debug_data"], \ - ["components", "schemas", "DebugData"], \ - ["components", "schemas", "DebugOptions"] \ - ])' | jq '.servers[0] |= { url: "https://playground.app.tabbyml.com", description: "Playground server" }' \ + curl http://localhost:8080/api-docs/openapi.json | jq ' \ + delpaths([ \ + ["paths", "/v1beta/chat/completions"], \ + ["paths", "/v1beta/search"], \ + ["paths", "/v1beta/server_setting"], \ + ["components", "schemas", "CompletionRequest", "properties", "prompt"], \ + ["components", "schemas", "CompletionRequest", "properties", "debug_options"], \ + ["components", "schemas", "CompletionResponse", "properties", "debug_data"], \ + ["components", "schemas", "DebugData"], \ + ["components", "schemas", "DebugOptions"], \ + ["components", "schemas", "ServerSetting"] \ + ])' | jq '.servers[0] |= { url: "https://playground.app.tabbyml.com", description: "Playground server" }' \ > website/static/openapi.json update-graphql-schema: - cargo run --package tabby-webserver --example update-schema + cargo run --package tabby-schema --example update-schema --features=schema-language diff --git a/README-ja.md b/README-ja.md new file mode 100644 index 000000000000..232ba464bc1c --- /dev/null +++ b/README-ja.md @@ -0,0 +1,134 @@ +
+
+
+
+
@@ -25,19 +29,41 @@ Tabby is a self-hosted AI coding assistant, offering an open-source and on-premi
## 🔥 What's New - -* **12/23/2023** Seamlessly [deploy Tabby on any cloud](https://tabby.tabbyml.com/docs/installation/skypilot/) with [SkyServe](https://skypilot.readthedocs.io/en/latest/serving/sky-serve.html) 🛫 from SkyPilot. -* **12/15/2023** [v0.7.0](https://github.com/TabbyML/tabby/releases/tag/v0.7.0) released with team management and secured access! -* **10/24/2023** ⛳️ Major updates for Tabby IDE plugins across [VSCode/Vim/IntelliJ](https://tabby.tabbyml.com/docs/extensions)! - +* **12/12/2025** Get your GitHub issues implemented by connecting them to [Pochi](https://github.com/TabbyML/pochi) tasks and create PRs directly from the sidebar with a breakdown of CI/Lint/Test results [vscode@0.20.0](https://github.com/TabbyML/pochi/releases/tag/vscode%400.20.0). +* **07/02/2025** [v0.30](https://github.com/TabbyML/tabby/releases/tag/v0.30.0) supports indexing GitLab Merge Request as Context! +* **05/25/2025** 💡Interested in joining [Agent](https://links.tabbyml.com/pochi-github-readme) private preview? DM in [X](https://x.com/getpochi) for early waitlist approval!🎫 +* **05/20/2025** Enhance Tabby with your own documentation📃 through REST APIs in [v0.29](https://github.com/TabbyML/tabby/releases/tag/v0.29.0)! 🎉 +* **05/01/2025** [v0.28](https://github.com/TabbyML/tabby/releases/tag/v0.28.0) transforming Answer Engine messages into persistent, shareable Pages +* **03/31/2025** [v0.27](https://github.com/TabbyML/tabby/releases/tag/v0.27.0) released with a richer `@` menu in the chat side panel.