Explore removing @jupyter/chat
by merging it into other packages
#173
Labels
maintenance
Packaging, tests
@jupyter/chat
by merging it into other packages
#173
Problem
I believe this repo can be simplified to just 2 NPM packages:
jupyterlab-chat
should provide all the tokens, andjupyterlab-chat-extension
should provide all the implementations. This would follow the provider-consumer pattern everywhere else in JupyterLab.The original motivation behind a 3rd package was that developers may use
@jupyter/chat
to build their own extensions. However, I think this needs to be reconsidered for the reasons below.@jupyter/chat
is confusing for developers: It includes some tokens & some implementations, but not all of them. It's not clear when source code should be defined in@jupyter/chat
v.s. the other packages.@jupyter/chat
may bring no benefit: If@jupyter/chat
were merged into the other packages, developers could installjupyterlab-chat-extension
from NPM to use our frontend components. They would still be able to develop their own chat labextension with our components without installingjupyterlab-chat
from PyPI.@jupyter/chat
conflicts with the goal of Jupyter Chat as a whole: Jupyter Chat is being built to provide a modular chat extension that can be modified & extended by other extensions like Jupyter AI. I'm not sure we should recommend other developers use@jupyter/chat
to build their own chat applications. IMO, we should mention that it's possible, but recommend that users extend / contribute to Jupyter Chat instead.Proposed Solution
@jupyter/chat
intojupyterlab-chat
.@jupyter/chat
intojupyterlab-chat-extension
.@jupyter/chat
and deprecate it on NPM.Additional context
Original discussion occurred in #161.
The text was updated successfully, but these errors were encountered: