TUI config panel: full implementation, working through tmux

- Package: passepartout.gateway-tui (uses croatoan, usocket, bordeaux-threads)
- Config panel with 4 sections: Providers, Cascade, Models, View
- Config-render functions for each section with live provider data
- Fixed add-string keyword argument order (was positional)
- Added function-keys-enabled-p for arrow key handling
- Fixed config-render-models balance (missing close paren)
- Fixed config-render balance (missing close paren)
- Added providers-configured-p to core-loop
- First-run welcome messages when no providers configured
- Daemon-side: WELCOME log on empty *probabilistic-backends*
Known: F2 function key needs terminal-level keypad mode; /config typed command works
This commit is contained in:
2026-05-04 11:09:22 -04:00
parent 3bb797ab9e
commit 31e53e675e
3 changed files with 104 additions and 85 deletions

View File

@@ -404,7 +404,10 @@ case "$COMMAND" in
exec sbcl \
--eval '(load (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))' \
--eval '(ql:quickload :passepartout/tui)' \
--eval '(passepartout.gateway-tui:main)'
--eval '(in-package :passepartout)' \
--eval "(load (format nil \"~alisp/system-model-provider.lisp\" (truename \"$PASSEPARTOUT_DATA_DIR/\")))" \
--eval "(load (format nil \"~alisp/system-model-explorer.lisp\" (truename \"$PASSEPARTOUT_DATA_DIR/\")))" \
--eval '(passepartout.gateway-tui:tui-main)'
;;
gateway)
SUBCMD=$1; PLATFORM=$2; TOKEN=$3