Commit Graph

53 Commits

Author SHA1 Message Date
Matt Low 9e6d41a3ff tui: fixed Init handling
Don't re-init components on each state change
2024-04-01 17:03:49 +00:00
Matt Low 39cd4227c6 tui: fix wrapping 2024-04-01 16:42:23 +00:00
Matt Low 105ee2e01b tui: update/clean up input handling 2024-04-01 16:42:23 +00:00
Matt Low e1970a315a tui: split model up into chat/conversations 2024-03-31 23:51:45 +00:00
Matt Low 020db40401 tui: renamed stateConversation -> stateChat
stateConversationList -> stateConversations
2024-03-30 20:50:33 -06:00
Matt Low 811ec4b251 tui: split up conversation related code into conversation.go
moved some things to util, re-ordered some functions
2024-03-30 20:50:33 -06:00
Matt Low c68cb14eb9 tui: Initial rough conversation list view 2024-03-30 20:50:33 -06:00
Matt Low cef87a55d8 tui: initial wiring of different "app states" 2024-03-30 20:50:33 -06:00
Matt Low 2e3779ad32 tui: remove temporary edit file 2024-03-29 22:26:28 +00:00
Matt Low 9cd28d28d7 tui: renamed uiCache to views, cleanup 2024-03-29 20:56:39 +00:00
Matt Low 0b991800d6 tui: dynamic input textarea height and styling updates
Maintain a height of 4 up to half of the main content area

Add rounded border
2024-03-29 20:00:28 +00:00
Matt Low 5af857edae tui: truncate title to width 2024-03-29 15:48:50 +00:00
Matt Low 3e24a54d0a tui: add border above input 2024-03-28 06:53:39 +00:00
Matt Low a669313a0b tui: add tool rendering
cleaned up message rendering and changed cache semantics

other smaller tweaks
2024-03-26 08:06:46 +00:00
Matt Low 6310021dca tui: improve footer truncation 2024-03-23 04:08:48 +00:00
Matt Low ef929da68c tui: add uiCache
Clean up/fix how we calculate the height of the content viewport
2024-03-23 03:55:20 +00:00
Matt Low 91c74d9e1e Update CreateChatCompletion behavior
When the last message in the passed messages slice is an assistant
message, treat it as a partial message that is being continued, and
include its content in the newly created reply

Update TUI code to handle new behavior
2024-03-22 20:02:28 +00:00
Matt Low 3185b2d7d6 tui: show the message position when focused 2024-03-17 22:55:02 +00:00
Matt Low 6c64f21d9a tui: support for message retry/continue
Better handling of persistence, and we now ensure the response we
persist is trimmed of whitespace, particularly important when a response
is cancelled mid-stream
2024-03-17 22:55:02 +00:00
Matt Low 6f737ad19c tui: handle text wrapping ourselves, add ctrl+w wrap toggle
Gets rid of those pesky trailing characters
2024-03-17 22:55:02 +00:00
Matt Low a8ffdc156a tui: open input/messages for editing in $EDITOR 2024-03-17 22:55:02 +00:00
Matt Low 7a974d9764 tui: add ability to select a message 2024-03-17 22:55:02 +00:00
Matt Low adb61ffa59 tui: conversation rendering tweaks, remove input character limit 2024-03-17 22:55:02 +00:00
Matt Low 1c7ad75fd5 tui: fixed response cancelling 2024-03-17 22:55:02 +00:00
Matt Low 613aa1a552 tui: ctrl+r to retry previous message 2024-03-17 22:55:02 +00:00
Matt Low 71833b89cd tui: fixed footer styling 2024-03-17 22:55:02 +00:00
Matt Low 2ad93394b1 tui: removed scrollbar 2024-03-17 22:55:02 +00:00
Matt Low f49b772960 tui: minor fixed and cleanup 2024-03-17 22:55:02 +00:00
Matt Low 29d8138dc0 tui: update lodos 2024-03-17 22:55:02 +00:00
Matt Low 3756f6d9e4 tui: add response waiting spinner 2024-03-17 22:55:02 +00:00
Matt Low 41916eb7b3 tui: add LLM response error handling
+ various other small tweaks
2024-03-17 22:55:02 +00:00
Matt Low 3892e68251 tui: add a "scroll bar" and error view 2024-03-17 22:55:02 +00:00
Matt Low 8697284064 tui: generate titles for conversations 2024-03-17 22:55:02 +00:00
Matt Low 383d34f311 tui: persist new conversations as well 2024-03-17 22:55:02 +00:00
Matt Low ac0e380244 tui: add reply persistence 2024-03-17 22:55:02 +00:00
Matt Low c3a3cb0181 tui: improve footer rendering
Made it easier to add segmemts later, better handling of padding
2024-03-17 22:55:02 +00:00
Matt Low 612ea90417 tui: slight function order change 2024-03-17 22:55:02 +00:00
Matt Low 94508b1dbf tui: cache highlighted messages
Syntax highlighting is fairly expensive, and this means we no longer
need to do syntax highlighting on the entire conversaion each time a new
message chunk is received
2024-03-17 22:55:02 +00:00
Matt Low 7e002e5214 tui: adjust message header styling 2024-03-17 22:55:02 +00:00
Matt Low 48e4dea3cf tui: style tweaks 2024-03-17 22:55:02 +00:00
Matt Low 0ab552303d tui: add contentStyle, applied to overall viewport content 2024-03-17 22:55:02 +00:00
Matt Low 6ce42a77f9 tui: update TODO 2024-03-17 22:55:02 +00:00
Matt Low 2cb1a0005d tui: fix conversation loading 2024-03-17 22:55:02 +00:00
Matt Low ea78edf039 tui: use EnabledTools from lmcli.Context 2024-03-17 22:55:02 +00:00
Matt Low 793aaab50e tui: styling tweak 2024-03-17 22:55:02 +00:00
Matt Low 5afc9667c7 tui: add header with title 2024-03-17 22:55:02 +00:00
Matt Low dfafc573e5 tui: handle multi part responses 2024-03-17 22:55:02 +00:00
Matt Low 97f81a0cbb tui: scroll content view with output
clean up msgResponseChunk handling
2024-03-17 22:55:02 +00:00
Matt Low eca120cde6 tui: ability to cancel request in flight 2024-03-17 22:55:02 +00:00
Matt Low 12d4e495d4 tui: add focus switching between input/messages view 2024-03-17 22:55:02 +00:00