| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 4 days | Report per-turn token usage to client. | Arun Isaac | |
| 4 days | Capture and track per-turn token usage. | Arun Isaac | |
| 4 days | Add add lens. | Arun Isaac | |
| 4 days | Document client-request-id field of <state> record type. | Arun Isaac | |
| 4 days | Use request ID from state rather than from request object. | Arun Isaac | |
| 4 days | Set client request ID in state before serving request. | Arun Isaac | |
| 4 days | Refactor turn ending into separate function. | Arun Isaac | |
| 7 days | Explicitly enable automatic prompt caching. | Arun Isaac | |
| 8 days | Add brainstorming section to README. | Arun Isaac | |
| 8 days | Do not indicate line number range when whole file is being read. | Arun Isaac | |
| 9 days | Move file existence checks out of files-recursively. | Arun Isaac | |
| Move file existence checks out of files-recursively to the calling point where we have greater control over the precise error message. Besides, it is always good practice to keep a function like files-recursively purely functional. | |||
| 9 days | Handle regular files in files-recursively. | Arun Isaac | |
| The LLM often tries to search a single file by passing in a single file to the #:files-root parameter of the search tool. This crashes files-recursively because it is expecting a directory. We now support this in files-recursively. | |||
| 10 days | Remove duplicate tool call status update. | Arun Isaac | |
| 10 days | Support setting the model via session config options. | Arun Isaac | |
| 10 days | Add openai-models. | Arun Isaac | |
| We need to fetch the list of available models so we can advertise to the client. | |||
| 10 days | Add json-get. | Arun Isaac | |
| 10 days | Generalize json-post to json-request. | Arun Isaac | |
| 11 days | Expose run-tea-loop interface from (kaagum tea). | Arun Isaac | |
| This encapsulates (kaagum tea) better. tea-loop and initial-state are really internal implementation details that should not be exposed. | |||
| 11 days | Recognize that OpenRouter and OpenAI have different URI path prefixes. | Arun Isaac | |
| 11 days | Document default values of arguments in --help. | Arun Isaac | |
| 11 days | Attach models to sessions. | Arun Isaac | |
| This will let the user change the model mid-session without having to commit to one from the beginning. | |||
| 11 days | Advertise agent info from config.scm. | Arun Isaac | |
| 11 days | Add project title to config.scm. | Arun Isaac | |
| 11 days | Package emacs-agent-shell-kaagum. | Arun Isaac | |
| 11 days | Add Emacs agent-shell integration. | Arun Isaac | |
| 12 days | Update pronunciation of kaagum. | Arun Isaac | |
| This was a hangover from the old name that wasn't updated when renaming. | |||
| 12 days | Use italics instead of quotation marks. | Arun Isaac | |
| 12 days | Use Unicode left and right quotation marks. | Arun Isaac | |
| 12 days | Rename project to kaagum. | Arun Isaac | |
| kaakaa reminds too many Europeans of shit. 😅 | |||
| 12 days | Raise &tool-call-parse-failure when required arguments are missing. | Arun Isaac | |
| spec->tool-call promises to raise &tool-call-parse-failure, not &tool-call-failure. | |||
| 12 days | Let tool kinds be constants, rather than functions. | Arun Isaac | |
| It makes little sense for a tool kind to be a function of the tool call arguments. | |||
| 12 days | Add search tool. | Arun Isaac | |
| 12 days | Generalize list tool. | Arun Isaac | |
| 12 days | Error out when reading binary files. | Arun Isaac | |
| 12 days | Error out when reading non-existent files. | Arun Isaac | |
| 12 days | Allow the read tool to subset lines. | Arun Isaac | |
| 12 days | Make tool parameters optional by default. | Arun Isaac | |
| It's more likely a tool will have one or two required parameters followed by many optional parameters. | |||
| 12 days | Strip message fields based on role. | Arun Isaac | |
| 13 days | Refactor sending agent requests into separate function. | Arun Isaac | |
| Incidentally, this refactor fixes a bug whereby agent requests would be registered even when tool calls were pre-approved/pre-rejected and no permission requests were sent out. | |||
| 13 days | Make acp-message-json a lens. | Arun Isaac | |
| 2026-04-10 | Add /tools command. | Arun Isaac | |
| 2026-04-10 | Add markdown table builder function. | Arun Isaac | |
| 2026-04-10 | Pass tools to slash commands. | Arun Isaac | |
| This is becoming a hodge-podge of arguments passed in to slash commands. We need a more principled approach in the future. | |||
| 2026-04-10 | Move state/session lenses right after <state>/<session> types. | Arun Isaac | |
| 2026-04-10 | Expose persistent permissions to the user. | Arun Isaac | |
| 2026-04-10 | Implement persistent tool permissions. | Arun Isaac | |
| We store a list of allowed and rejected tools in the session state, and pass it on to spec->tool-call so it can set an appropriate tool call status. Then, request permission from the client only if the tool call hasn't been pre-approved or pre-rejected. | |||
| 2026-04-10 | Refactor, introducing the state-cwd lens. | Arun Isaac | |
| 2026-04-10 | Document pending-approval tool call status. | Arun Isaac | |
| pending-approval was missed out earlier in a documentation bug. | |||
| 2026-04-10 | Refactor permission selection decoding. | Arun Isaac | |
| Refactor permission selection decoding to be less tightly coupled to the JSON from the client. | |||
| 2026-04-09 | Send tool call results to the client as a vector of content. | Arun Isaac | |
| In a tool_call_update, the content field must be a vector of association lists, not just an association list. | |||
