Aicodebot

Latest version: v0.26.3

Safety actively analyzes 682387 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 9

0.8.5

Unknown

* Bump version to 0.8.5 ([`8e51e0b`](https://github.com/TechNickAI/AICodeBot/commit/8e51e0b6019d04ae485652dda9d72c9019efe4cf))

* Enhanced file context generation in prompts

This commit ain&39;t just about adding or removing a few lines of code. It&39;s about giving a damn about the context. We&39;ve added a function to generate a directory structure, and we&39;re using it to provide a more comprehensive context for the sidekick prompt. Now, not only do you get the relevant files, but you also get a nice little map of the directory structure. Ain&39;t that something?

And let&39;s not forget about the files. We&39;ve improved the way we handle them too. If there ain&39;t no files, we don&39;t just leave you hanging. We give you the directory structure and call it a day. But if there are files, oh boy, we give you the whole shebang. We read &39;em, we count &39;em, and we warn you if they&39;re too damn big.

So, in summary, we&39;ve made the file context generation in prompts more informative and more useful. And if you don&39;t appreciate that, well, I don&39;t know what to tell you. ([`17a3daf`](https://github.com/TechNickAI/AICodeBot/commit/17a3dafed60d417508af1d5f5aedbdc2d48536ca))

* Add directory structure generator and refactor tests

Alright, listen up. We&39;ve got some new shit in town. We&39;ve added a badass function to generate a directory structure, and it&39;s got all the bells and whistles. It respects .gitignore, it can ignore patterns, and it&39;s got a pretty print for your viewing pleasure.

We&39;ve also been cleaning up the house. Moved the create_and_write_file function to conftest.py, cause that&39;s where it belongs. It&39;s a utility function, and it&39;s gonna be used in multiple test files.

Speaking of tests, we&39;ve added a whole bunch of them for the new directory structure generator. We&39;re making sure this function is bulletproof.

And lastly, we&39;ve done some minor text changes in prompts.py and conftest.py. Nothing to lose your shit over.

So there you have it. New features, better tests, cleaner code. That&39;s how we roll. ([`0064c80`](https://github.com/TechNickAI/AICodeBot/commit/0064c80a0ada701f77e417edf4ea16d1931ecb90))

* Remove no longer needed agents file ([`76a8044`](https://github.com/TechNickAI/AICodeBot/commit/76a8044edc47642d3954951ae7f4c8a36cfabaab))

* Allow for prompts to work if there is no config file (such as in test) ([`1a495c2`](https://github.com/TechNickAI/AICodeBot/commit/1a495c2b50b98dff157b3d202ec2cc04bd84f2cd))

0.8.4

Unknown

* Bump version to 0.8.4 ([`59fb7d0`](https://github.com/TechNickAI/AICodeBot/commit/59fb7d0af52b4734cb65bad5d29ba29bc568de45))

* Adjust response token size and tweak precise temperature

Alright, listen up. We&39;ve got some changes here. First off, we&39;ve adjusted the response token size in the &39;fun_fact&39; and &39;sidekick&39; functions. This means the AI&39;s response length can now be controlled more precisely. Ain&39;t that some shit?

Next, we&39;ve tweaked the precise temperature from 0 to 0.1. This little change is gonna make the AI&39;s responses a bit more varied, but still on the sensible side.

We&39;ve also made some minor changes to the &39;debug&39; and &39;alignment&39; tests, and added a new test for the &39;sidekick&39; function.

Lastly, we&39;ve cleaned up the &39;DEBUG_TEMPLATE&39; in prompts.py. No big deal, just made it a bit more concise.

So there you have it. Changes made, commit done. Now let&39;s get back to work. ([`8cc6ad8`](https://github.com/TechNickAI/AICodeBot/commit/8cc6ad857a82f8021842ae9fa6b2408e4716bdc9))

0.8.3

Unknown

* Bump version to 0.8.3 ([`6deb2ce`](https://github.com/TechNickAI/AICodeBot/commit/6deb2ce702b0c189b23d5dc8fba6a8fb08d6a1d4))

* Fix up tests for new config set up ([`3e0b5a6`](https://github.com/TechNickAI/AICodeBot/commit/3e0b5a677d27848f062e2ff2b2120c458387cac4))

0.8.2

Unknown

* Bump version to 0.8.2 ([`580a0e8`](https://github.com/TechNickAI/AICodeBot/commit/580a0e8d3068a8e4a6020838f052ae13a8b1e63c))

* Add personality selection to AICodeBot setup

This commit introduces a new feature to the AICodeBot setup process. Now, users can select a personality for their AI assistant from a predefined list. The chosen personality is stored in the configuration file and used to generate the AI&39;s responses. This change also includes a refactoring of the personality prompts, moving them into a dictionary for easier access and management. Ain&39;t no half-steppin&39; here, we&39;re making this bot a real cool cat. ([`6d03446`](https://github.com/TechNickAI/AICodeBot/commit/6d034468e73bb8c2fe56626cd0592d9b5b1c00d9))

* Add keywords to setup.py 🗝️

In this commit, we&39;ve added a `keywords` field to the `setup()` function in `setup.py`. This field contains a string of keywords that describe the project: &34;AI, coding, assistant, pair-programming, automation&34;. This will help improve the discoverability of our project on platforms like PyPI. 🕵️‍♂️🔍 ([`7f0e817`](https://github.com/TechNickAI/AICodeBot/commit/7f0e8178d94276057c1d06e32417cf5cc72ac36f))

* Remove no longer needed template file, we use yaml now ([`8bc8181`](https://github.com/TechNickAI/AICodeBot/commit/8bc81811632c8ba64f014d47309aff5650dcae38))

* Refactor configuration handling, add setup command. Resolves 3

This commit introduces a significant overhaul of the configuration handling in the AICodeBot. The OpenAI API key is no longer fetched directly from the environment variables in the cli.py file. Instead, a new helper function, get_config_file, has been added to helpers.py. This function checks if the AICODEBOT_CONFIG_FILE environment variable is set and uses its value as the path to the configuration file. If the environment variable is not set, it defaults to using a file named .aicodebot.yaml in the user&39;s home directory.

The setup command in cli.py has been updated to use this new function. It now also accepts a new option, --gpt-4-supported, which is a flag indicating whether the user has access to GPT-4. This information is stored in the configuration file along with the OpenAI API key.

The setup_config function in cli.py has been updated to reflect these changes. It now accepts two arguments: the OpenAI API key and a boolean indicating whether GPT-4 is supported. If the OpenAI API key is not provided, the function will attempt to fetch it from the environment variables or prompt the user to enter it. The function then validates the API key and checks if GPT-4 is supported (unless the --gpt-4-supported flag was used). The configuration data is then written to the configuration file.

The read_config function in helpers.py has also been updated to use the new get_config_file function.

Finally, tests have been added to test_cli.py to test the new setup command and the changes to the configuration handling. ([`924b8c6`](https://github.com/TechNickAI/AICodeBot/commit/924b8c68ccd25785e76edcb24939c2eb22a45ff1))

* Bump langchain from 0.0.222 to 0.0.225

Bumps [langchain](https://github.com/hwchase17/langchain) from 0.0.222 to 0.0.225.
- [Release notes](https://github.com/hwchase17/langchain/releases)
- [Commits](https://github.com/hwchase17/langchain/compare/v0.0.222...v0.0.225)

---
updated-dependencies:
- dependency-name: langchain
dependency-type: direct:production
update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <supportgithub.com> ([`c66ce6a`](https://github.com/TechNickAI/AICodeBot/commit/c66ce6a8bc3a30c226565ac420a255dcb0277f08))

* Refactor configuration and dependency management. Resolves 19

In the realm of code, change is the only constant. In this instance, we have embarked on a journey of transformation, a metamorphosis of sorts. The configuration management has been refactored, shifting from environment variables to a more robust YAML-based configuration file. This change brings with it the promise of greater flexibility and ease of use.

In addition, the dependencies have been pruned. The python-dotenv package, once a vital part of our ecosystem, has been replaced by PyYAML, a more versatile and powerful tool for handling configuration data.

The code has been adjusted to accommodate these changes, with the OPENAI_API_KEY now being read from the new configuration file. This key is the bridge between our humble code and the vast knowledge of the OpenAI API, and its handling is of utmost importance.

In the grand tapestry of our codebase, these changes may seem minor, but remember, even the smallest thread can change the pattern of the weave. ([`fce0488`](https://github.com/TechNickAI/AICodeBot/commit/fce04880e1d86e2f6e0cafc9689ae0e17075825a))

* Expand the realm of personalities, refine the prompt generation

In the vast expanse of our code, we have ventured to broaden the spectrum of personalities that our AI can embody. Sherlock, The Dude, and Morpheus have joined the ranks, each bringing their unique essence to the table.

The method of generating prompts has been refined, transitioning from a series of conditional statements to a more efficient mapping. This change not only enhances readability but also simplifies the process of adding new commands in the future.

Furthermore, we have fortified our code against the unknown. In the event of an unrecognized personality or command, our code will now raise a more informative error, guiding us towards the path of resolution.

Remember, developer, the code is a living entity, evolving and growing with each commit. This change is but a step in its journey towards perfection. ([`1b346b8`](https://github.com/TechNickAI/AICodeBot/commit/1b346b8b86af56b8a464f363fff81bd2a3b4901f))

0.8.1

Unknown

* Bump version to 0.8.1 ([`a0670af`](https://github.com/TechNickAI/AICodeBot/commit/a0670afc3852097ab47bbab38165fcae3113db0e))

* Refactor prompt handling and add personality traits

This commit is a major overhaul of the prompt handling system. We&39;ve ditched the old yaml-based prompts and moved everything into a single Python file, `prompts.py`. This makes it easier to manage and modify prompts on the fly.

We&39;ve also added a new feature: personality traits. Now, the bot can have different personalities, like Jules from Pulp Fiction or the AI from Her. This is controlled by an environment variable, so you can switch personalities without changing the code.

The `cli.py` file has been updated to use the new prompt system. The `alignment` command now takes a `response_token_size` option, which lets you control the length of the bot&39;s responses.

Finally, we&39;ve cleaned up the test suite a bit. The `alignment` test now uses the new `response_token_size` option, and we&39;ve added a check to skip certain tests if the OpenAI API key isn&39;t set.

This is a big change, but it&39;s a good one. It makes the bot more flexible and easier to use. So buckle up, because this is just the beginning. ([`109a901`](https://github.com/TechNickAI/AICodeBot/commit/109a90102e52150540ddc731050c7137f10f0473))

* Refactor get_llm_model and add token size checks 🔄🔍

This commit moves the `get_llm_model` function from `cli.py` to `helpers.py` for better code organization. It also introduces token size checks in various functions in `cli.py` to ensure the token size does not exceed the model&39;s capacity. If the token size is too large, an exception is raised with a helpful error message. 🚀📏

In `prompts/sidekick.py`, token length is now logged for each file in the context, providing useful debugging information. 📊🔍

These changes improve the robustness of the code and provide better feedback to the user when the token size is too large. 🛠️👍 ([`48e328d`](https://github.com/TechNickAI/AICodeBot/commit/48e328d53c1266fc9ad81ab928d23fe61f62dad1))

* Enhance logging and add personality selection 🎭🔍

This commit introduces several enhancements to the codebase:

- Added `loguru` for improved logging throughout the application. This will help in better debugging and understanding the flow of the application. 🕵️‍♂️
- Logging levels can now be controlled via the `LOG_LEVEL` environment variable. This allows for flexible control over the verbosity of logs. 🎚️
- Added logging statements in various parts of the code to provide more context during execution. This includes logging the token length of text, the diff for commits, and the execution of commands. 📝
- Introduced the ability to select the AI&39;s personality via the `AICODEBOT_PERSONALITY` environment variable. This adds a fun and customizable aspect to the AI&39;s responses. 🎭
- Updated the requirements to include `loguru`. 📦

These changes aim to improve the overall user experience and maintainability of the code. 🚀 ([`8df4dc4`](https://github.com/TechNickAI/AICodeBot/commit/8df4dc41ed3f7f4c620e0bed927b62e1b3174ff7))

* Expand personality options and fix typo 🎭🔧

In this commit, we&39;ve made some exciting changes to our `personalities.py` file. We&39;ve corrected a small typo in the description of the &39;Her&39; personality, changing &39;fro&39; to &39;from&39; 🕵️‍♂️.

But that&39;s not all! We&39;ve also introduced a new personality, &39;Jules&39; from Pulp Fiction, to our repertoire 🎬. This addition will allow for a more diverse range of interactions and responses.

Lastly, we&39;ve updated the `get_personality_prompt` function to accept a parameter, allowing the user to choose the personality they want to interact with. If no personality is specified, &39;Her&39; will be the default choice.

This is a step forward in making our AI more versatile and engaging. Stay tuned for more updates! 🚀 ([`564fd76`](https://github.com/TechNickAI/AICodeBot/commit/564fd76e436ab72023a61c05dc4b906cf4c1e0f9))

* Enhance user interaction with editor choice and input options 🎛️

In this commit, we&39;ve made some user-friendly enhancements to the CLI interaction. Now, the user&39;s preferred editor, as specified by the `EDITOR` environment variable, is used for editing tasks. If no editor is specified, we default to vim. The prompt message has been updated to reflect this change. 📝

Additionally, we&39;ve introduced a new way to trigger the edit mode. If the user&39;s input ends with `\e`, the input text (excluding `\e`) will be opened in the editor for further modification. This provides a more flexible way for users to edit their input. 🔄

As always, the user can quit the program by entering `q`. These changes aim to make the interaction more intuitive and user-friendly. Happy coding! 🚀 ([`fe95fdc`](https://github.com/TechNickAI/AICodeBot/commit/fe95fdc40b22d176aed67b8212b1d30b38e44d41))

* Update readme with emojis ([`76f595a`](https://github.com/TechNickAI/AICodeBot/commit/76f595aa83e4ac235f591b277c0ba5f6fd904648))

* Update prompt personality - adding the &34;you are from the future&34; thing made it weird. ([`ae9321a`](https://github.com/TechNickAI/AICodeBot/commit/ae9321a745e6deb29429168752c8dfae1ab60a7b))

* &34;🚀 Enhance AI Personality Across Prompts 🤖

In this commit, we&39;ve added a friendly and helpful AI personality, inspired by the movie &39;Her&39;, across various prompts. This includes `alignment.yaml`, `commit_message.yaml`, `debug.yaml`, `fun_fact.yaml`, `review.yaml`, and `sidekick.py`. The AI now comes from the future, ready to guide human developers to a better future with a dash of humor and emojis. 🎉

We&39;ve also introduced a new file `personalities.py` to manage different AI personalities. Currently, it only contains the &39;Her&39; personality, but it&39;s designed for easy expansion in the future. 📚

Lastly, we&39;ve made minor tweaks in `review.yaml` to improve the code review process, including pointing out spelling mistakes in plain text files. 🕵️‍♂️

Let&39;s make our AI more human-like and fun! 🥳&34; ([`6fce135`](https://github.com/TechNickAI/AICodeBot/commit/6fce135a1f791411aba2c47493702659cb904646))

* Update README and CONTRIBUTING with the latest thoughts ([`9409297`](https://github.com/TechNickAI/AICodeBot/commit/94092971107151679b31a59609adaf6ab5bfbe28))

* Break long line up to fix super linter error ([`7a73ccd`](https://github.com/TechNickAI/AICodeBot/commit/7a73ccd0330e4e37e038006d8ab0b08e6e1bf66b))

* Update README with more info on sidekick ([`01ab8c0`](https://github.com/TechNickAI/AICodeBot/commit/01ab8c00027f99bd26132be54d451deeb0d89c2f))

0.8.0

Unknown

* Add AI Sidekick feature description to README.md ([`26dca3b`](https://github.com/TechNickAI/AICodeBot/commit/26dca3b0e20c58afa7a07599f8873397bb416115))

* Bump version to 0.8.0 - introduce sidekick ([`c62896b`](https://github.com/TechNickAI/AICodeBot/commit/c62896b5208a92a1fb092f0788b0d13c9429338c))

* Enhance AI sidekick with file context support 📁

This commit introduces the ability for the AI sidekick to use the contents of specified files as context during its session. This is achieved by adding a new function `generate_files_context` which reads the contents of the provided files and formats them into a string that can be used as context.

The `sidekick` function in `cli.py` has been updated to accept a list of files as arguments, generate the file context, and pass it along with the user&39;s request to the `generate_sidekick_prompt` function. The token size calculations and model selection have also been adjusted to account for the additional context.

The `generate_sidekick_prompt` function now accepts an additional `files` parameter and includes the generated file context in the prompt template. The prompt template itself has been updated to include a placeholder for the file context.

The import statements in `cli.py` and `__init__.py` have been updated to include the new `generate_files_context` function.

This enhancement provides the AI sidekick with more context, potentially improving its ability to assist the user. ([`667240a`](https://github.com/TechNickAI/AICodeBot/commit/667240a5387ab5dc7ae107bf9e9fadfa1869a9d9))

* Refactor and enhance AI sidekick feature in CLI

This commit refactors the AI sidekick feature in the CLI, improving its functionality and user interaction. The changes include:

- Replacing the `task` option with `request` for better clarity.
- Generating the prompt with the appropriate context using the new `generate_sidekick_prompt` function.
- Setting up a continuous loop for multiple questions from the user.
- Adding a new option for the user to edit their question in their editor.
- Improving the live markdown display with the `RichLiveCallbackHandler`.

Additionally, a new module `prompts` has been added to handle prompt generation, starting with the sidekick prompt. ([`da39811`](https://github.com/TechNickAI/AICodeBot/commit/da39811fba8ea22785d7e06b9cc21ed5fbebd217))

* Merge pull request 15 from TechNickAI/dependabot/pip/langchain-0.0.222

Bump langchain from 0.0.207 to 0.0.222 ([`f6266f9`](https://github.com/TechNickAI/AICodeBot/commit/f6266f93575da898996df64972d9b37c096b0613))

* Include the output when the test fails ([`398bc51`](https://github.com/TechNickAI/AICodeBot/commit/398bc51bbac4536feb74163b98082d4b62d2766d))

* Bump langchain from 0.0.207 to 0.0.222

Bumps [langchain](https://github.com/hwchase17/langchain) from 0.0.207 to 0.0.222.
- [Release notes](https://github.com/hwchase17/langchain/releases)
- [Commits](https://github.com/hwchase17/langchain/compare/v0.0.207...v0.0.222)

---
updated-dependencies:
- dependency-name: langchain
dependency-type: direct:production
update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <supportgithub.com> ([`dd4f992`](https://github.com/TechNickAI/AICodeBot/commit/dd4f992cacc18731c0cdd9e3a166f9834c1aff38))

* Refactor test skipping condition for missing API key

This commit refactors the condition used to skip tests when the OPENAI_API_KEY environment variable is not set. The previous condition checked if the value of the variable was `None`, but this has been changed to a more Pythonic way of checking if the variable is not set or empty. This change improves readability and ensures that tests are skipped even when the variable is set to an empty string. ([`f303cd7`](https://github.com/TechNickAI/AICodeBot/commit/f303cd743ebb445f5ab8273d3328d61932feb73a))

Page 5 of 9

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.