Version 1.24.1 of package Ellama has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Ellama describes itself as: ============================== Tool for interacting with LLMs ============================== More at https://elpa.gnu.org/packages/ellama.html ## Summary: ━━━━━━━━ ELLAMA ━━━━━━━━ [file:https://img.shields.io/badge/license-GPL_3-green.svg] [file:https://melpa.org/packages/ellama-badge.svg] [file:https://stable.melpa.org/packages/ellama-badge.svg] [file:https://elpa.gnu.org/packages/ellama.svg] Ellama is a tool for interacting with large language models from Emacs. It allows you to ask questions and receive responses from the LLMs. Ellama can perform various tasks such as translation, code review, summarization, enhancing grammar/spelling or wording and more through the Emacs interface. Ellama natively supports streaming output, making it effortless to use with your preferred text editor. ## Recent NEWS: 1 Version 1.24.1 ════════════════ • Added literal string matching support to `ellama-tools-grep-tool' and `ellama-tools-grep-in-file-tool' using `-F' (fixed-strings) and `-e' flags, treating the search string literally rather than as a regular expression. Added helper function `ellama-tools--grep-search-args' and corresponding unit tests. • Fixed `srt' command quoting for shell execution. Added `ellama-tools--shell-quote-command' helper and updated `ellama-tools--command-argv' to properly construct shell command strings when using `srt' sandbox. Commands are now wrapped with `srt -c' using `shell-quote-argument' to safely handle special characters in arguments. 2 Version 1.24.0 ════════════════ • Added plan-and-act agent loop for multi-agent code generation workflows. • Added plan-and-act agent to transient menu for easy access. • Added support for resuming plan-and-act after interruption. • Formatted plan-and-act tool arguments for better reliability. • Fixed plan-and-act test root path for correct test execution. • Documented plan-and-act agent loop functionality. 3 Version 1.23.0 ════════════════ • Add optional `timeout' support to `shell_command' with a default of five seconds. Long-running async shell commands are terminated when the timeout expires and return a timeout message with any collected output. • Add optional `timeout' support to `grep' with the same five-second default. Directory searches now use timeout-aware command execution and return a clear diagnostic when grep exceeds the configured limit. • Add optional `timeout' support to `directory_tree' with the same five-second default. Recursive directory traversal now stops when the timeout expires and returns a clear diagnostic with the partial tree collected so far. • Strengthen project git hook templates for local Elisp validation. Staged Elisp changes now run `make checkdocs' before commit, while pushed Elisp changes run `make check-elisp' and block the push if formatting changes files. 4 Version 1.22.1 ════════════════ • Remove experimental hypothesis profiles (numbered-read, line-edit, numbered-line-edit) and their associated tools including `edit_lines', `ellama-eval-edit-lines-tool', `ellama-eval-monitored-edit-lines-tool', `ellama-eval-numbered-read-file-tool', and `ellama-eval-numbered-lines-range-tool'. Delete corresponding helper functions: `ellama-eval--line-edit-candidate', `ellama-eval--number-text-lines', `ellama-eval--replace-profile-read-specs', and profile classifiers `ellama-eval--profile-numbered-read-p', `ellama-eval--profile-line-edit-p', `ellama-eval--profile-balanced-edit-p'. Net change: -208 lines. • Unify `ellama-eval--profile-tool-names' to unconditionally append `edit_file' to the base tool list for all profiles (baseline and balanced-edit), removing profile-specific matching logic. • Restore profile validation in `ellama-eval--profile-tool-names' to properly reject unknown or misspelled profile names with an error, fixing the unused lexical argument warning reported by CI. • Add policy forbidding direct integration into `main' branch; require feature branches and pull requests instead of direct pushes. • Force `cat' pager for shell commands and shared command helpers, adding tests to verify pager environment across all shell execution paths. 5 Version 1.22.0 ════════════════ • Added read-before-write safety for mutating tools. Session-local read tracking now requires that existing files be read before being overwritten; the first overwrite attempt of an existing file is refused with instructions to read the file first, and the second attempt is allowed for deliberate overwrites. This applies to `write-file', `append-to-file', `prepend-to-file', `move-file', and `edit-file' tools. Also enhances output truncation messages with concrete next tool call suggestions including specific line ranges via `lines_range'. • Added git hooks to prevent commits and pushes to the `main' branch. Created pre-commit and pre-push hooks that block operations when on `main', providing … …
