|
2 | 2 |
|
3 | 3 | ## [Unreleased] |
4 | 4 |
|
| 5 | +## [0.1.12-alpha] - 2025-11-06 Prompt CLI Session Persistence |
| 6 | + |
| 7 | +This release adds session persistence and resume functionality to the prompt CLI, making it easier to maintain context across multiple interactions. |
| 8 | + |
| 9 | +### Added |
| 10 | +- **Session Persistence for Prompt CLI**: All prompt-cli sessions are now automatically saved to `.clojure-mcp/prompt-cli-sessions/` as timestamped JSON files |
| 11 | + - Captures full conversation history including user messages, AI responses, and tool executions |
| 12 | + - Stores model metadata with each session |
| 13 | + - Uses LangChain4j's ChatMessageSerializer for proper Java object serialization |
| 14 | +- **Resume Functionality**: New `-r/--resume` flag to continue from the last session |
| 15 | + - Loads previous conversation history into agent memory (up to 100 messages) |
| 16 | + - Displays complete session history when resuming with inline tool execution tracking |
| 17 | + - Can override model when resuming: `--resume -m :openai/gpt-4` |
| 18 | +- **Enhanced Session History Display**: |
| 19 | + - Shows user messages, AI responses, and tool executions in a clear format |
| 20 | + - Tool executions displayed inline with their requests and results |
| 21 | + - Better EDN conversion for message viewing |
| 22 | + |
| 23 | +### Changed |
| 24 | +- **Message Tracking Architecture**: Added message-capturing listener that stores actual Java ChatMessage objects instead of EDN representations |
| 25 | +- **Tool Execution Display**: Split tool execution extraction into two functions |
| 26 | + - `extract-tool-executions`: Gets all tool executions from messages |
| 27 | + - `extract-latest-tool-executions`: Gets only the most recent tool executions for live display |
| 28 | +- **Pretty-print Listener**: Now uses `extract-latest-tool-executions` to show only current tool calls during interaction |
| 29 | + |
| 30 | +### Technical Details |
| 31 | +- Sessions stored as JSON with format: `{:model "..." :created "..." :messages "..."}` |
| 32 | +- Filename format: `yyyy-MM-dd'T'HH-mm-ss.json` |
| 33 | +- Automatic memory persistence enabled with `:memory-size 100` when resuming |
| 34 | +- Imports added: `clojure.data.json`, LangChain4j serializers, `java.time` classes |
| 35 | + |
| 36 | +### Usage Examples |
| 37 | +```bash |
| 38 | +# Start new session |
| 39 | +clojure -M:prompt-cli -p "Create a function" |
| 40 | + |
| 41 | +# Resume latest session |
| 42 | +clojure -M:prompt-cli --resume -p "Continue previous task" |
| 43 | + |
| 44 | +# Resume with different model |
| 45 | +clojure -M:prompt-cli --resume -p "Next step" -m :openai/gpt-4 |
| 46 | +``` |
| 47 | + |
5 | 48 | ## [0.1.11-alpha] - 2025-10-04 Error Handling Changes in ClojureMCP Tool Responses |
6 | 49 |
|
7 | 50 | Recent changes to Claude Desktop and Claude Code prompted me to |
|
0 commit comments