Added
- ๐ Documentation now available at [chatlab.dev](https://chatlab.dev)
- ๐ Pre-release Documentation now available at [pre.chatlab.dev](https://pre.chatlab.dev)
- ๐๏ธ New option `replace_hallucinated_python` to replace any hallucinated python function with a custom one. This allows you to create notebook cells, run IPython, or even shell out to a regular python interpreter.
- ๐ช Introduced `make_magic` on a `Chat` so that you can use a current chat as a cell magic in IPython and Jupyter notebooks
- โฉ Accept async functions as chat functions
- ๐๐ป You _MUST_ now call `await chat()` instead of just `chat()` now that chat is async
- ๐ New experimental builtin: Noteable. Create notebooks on Noteable like you can via ChatGPT Plugins with even more flexibility.
- ๐งฉ Accept collections of functions to `Chat` and `FunctionRegistry` to register multiple functions at once
- ๐งฉ Enhanced type support in the registry, including handling of `Union`, `List`, `Dict`, `Literal`, and `Enum` types.
- ๐จ Added a decorator for registering functions with a schema, allowing more flexible function registration.
- ๐ Added `registry.get_schema` method to retrieve a function schema by name.
- [Builtins] ๐ Chat File functions:
- `list_files`: List all files in a directory.
- `get_file_size`: Get the size of a file.
- `is_file`: Check if a path points to a file.
- `is_directory`: Check if a path points to a directory.
- `write_file`: Write content to a file.
- `read_file`: Read content from a file.
- [Builtins] ๐ Chat Shell Functions:
- `run_shell_command`: Run a shell command and return the output.
Changed
- ๐ `chatlab.Chat` is now `chatlab.Conversation` to improve readability
- โ ๏ธ Deprecated `chatlab.Conversation`
- ๐ `submit` is now an async function to allow registering functions
- ๐ Improved UI: Scrollbars for function inputs and outputs now only appear on the x-axis when content is too large
- ๐๐ Enhanced error handling: Python interpreter traceback is no longer displayed in the notebook when it is included in the ChatLab output pane.
- ๐ The python builtin's name has been changed to `run_python`
- ๐งน Refactored `generate_function_schema` and `register` methods in the registry to simplify and enhance functionality.
- ๐จ Updated error handling and messages related to type annotations.
Deprecated
- โ ๏ธ Both `chatlab.Session` and `chatlab.Conversation` are now deprecated in favor of `chatlab.Chat`