anomaly / gallagher

The missing toolkit for extending Gallagher Command Centre, featuring a CLI, SQL interface, TUI and a Python idiomatic SDK
https://anomaly.github.io/gallagher/
MIT License
11 stars 2 forks source link

Provide a runnable TUI demo interface via `textual-web` for users to try against the Anomaly license #28

Open devraj opened 7 months ago

devraj commented 7 months ago

For users to be able to try the TUI without having to install anything it would be cool if we can provide a web accessible version. textual-web is designed to this and is currently in beta

Technical consideration

We should first run a demo to see what infrastructure we need to run a tui application (e.g do we need to run a deamon or process of some sort?)

~Ideally we should be able to run this on a service like vercel or railway to minimise any infrastructure management overhead.~

From what I can see that textual-web runs a proxy that is accessible via their web service (pending further investigation)

~/.local/bin/textual-web --run "gallagher.tui:main"

The demo license is provide for Anomaly to use, so we would have to consider some of rate limiting or even a way for the user to limit interaction. This might even involve a mechanism to reset the virtual machine running our command centre to a good known state every 24 hours?

Ensure that the API key is never exposed as part of the demonstration.

Other thoughts

This would definitely be a very good demonstration of the #9 and #27 features without the user having to set anything up.

devraj commented 3 months ago

Got a basic version working in b23177faffc727e9ae18ff637b694ceadab3d702, pending detail of how this is made available via the web for marketing purposes.

Screenshot 2024-05-18 at 11 14 05 AM

I did think that the running demo could be the hero image for @anomaly's demo pages.

(gallagher-py3.11) ➜  gallagher git:(alpha-3) ✗ pipx run textual-web --config serve.toml
⚠️ Found a space in the home path. We heavily discourage this, due to multiple incompatibilities. Please check our docs for more
    information on this, as well as some pointers on how to migrate to a different home path.
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Disclaimer ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                                                                                           ┃
┃  textual-web is currently under active development, and not suitable for production use.  ┃
┃                                                                                           ┃
┃  For support, please join the Discord server                                              ┃
┃                                                                                           ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
[11:13:51] INFO     version='0.7.0'                                                                                               
           INFO     environment='prod'                                                                                            
           INFO     loading config from '/Users/devraj/Work/Lib/gallagher/serve.toml'                                             
           INFO     connecting to Ganglion                                                                                        
[11:13:53] INFO     <ganglion> No API Key provided. Using a temporary account.                                                    
           INFO     <ganglion> Create an account with 'textual-web --signup'!                                                     
[11:13:54] INFO     <ganglion> ---                                                                                                
           INFO     <ganglion> Serving https://textual-web.io/fesy7rywpwyd/gallagher                                              
[11:14:01] INFO     <ganglion> 119.18.1.217 'Gallagher' 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15     
                    (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15'                                                           
[11:16:15] INFO     <ganglion> 119.18.1.217 'Gallagher' 0:02:14                                                                   
[11:25:56] INFO     Exit requested                                                                                                
           INFO     Disconnected from Ganglion      
devraj commented 3 months ago

Also see screenshot of us running a terminal

(gallagher-py3.11) ➜  gallagher git:(alpha-3) pipx run textual-web -t

Could we use this to present an interactive demo of the cli, we would want to make sure that the terminal is chrooted (for lack of a better reference) to the gala binary and nothing else.

Screenshot 2024-05-18 at 1 47 36 PM