From 8afc8297064a44fa49464528b287904666cadd11 Mon Sep 17 00:00:00 2001 From: Jason Weill <93281816+JasonWeill@users.noreply.github.com> Date: Thu, 7 Dec 2023 09:59:12 -0800 Subject: [PATCH] Base chat handler refactor for custom slash commands (#398) * Adds attributes, starts adding to subclasses * Consistent syntax * Help for all handlers * Fix slash ID error * Iterate through entry points * Fix typo in call to select() * Moves config to magics, modifies extensions to attempt to load classes * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Moves config to proper location, improves error logging * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * WIP: Updates per feedback, adds custom handler * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Removes redundant code, style fixes * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Removes unnecessary custom message * Instantiates class * Validates slash ID * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Consistent arguments to chat handlers * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Refactors to avoid intentionally unused params * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Updates docs, removes custom handler from source and config * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Renames process_message to match base class * Adds needed parameter that had been deleted * Joins lines in contributor doc * Removes natural language routing type, which is not yet used * Update docs/source/developers/index.md Co-authored-by: Piyush Jain * Update docs/source/developers/index.md Co-authored-by: Piyush Jain * Update docs/source/developers/index.md Co-authored-by: Piyush Jain * Revises per @3coins, avoids Latinism * Removes Configurable, since we do not yet have configurable traits * Uses Literal for validation * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Piyush Jain (cherry picked from commit 64e6daf42b34f6906749de4ec3bafeca42b77210) --- packages/jupyter-ai/jupyter_ai/chat_handlers/base.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/jupyter-ai/jupyter_ai/chat_handlers/base.py b/packages/jupyter-ai/jupyter_ai/chat_handlers/base.py index bcbba00ba..8fde45e4e 100644 --- a/packages/jupyter-ai/jupyter_ai/chat_handlers/base.py +++ b/packages/jupyter-ai/jupyter_ai/chat_handlers/base.py @@ -20,6 +20,9 @@ from jupyter_ai_magics.providers import BaseProvider from langchain.pydantic_v1 import BaseModel +# necessary to prevent circular import +from pydantic import BaseModel + if TYPE_CHECKING: from jupyter_ai.handlers import RootChatHandler