Version 1.12.11 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: [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. The name "ellama" is derived from "Emacs Large LAnguage Model Assistant". Previous sentence was written by Ellama itself. <file:imgs/reasoning-models.gif> ## Recent NEWS: 1 Version 1.12.11 ═════════════════ • Fix duplicate system message handling in chat prompts. This change removes the redundant `llm-chat-prompt-append-response' call that was appending the system message on each interaction, ensuring the system message is included only once in the initial prompt context setup. • Fix bad src block replacement nil match crash that occurred when handling certain source code blocks. • Warn LLM when reading binary content to prevent potential parsing errors and improve robustness of tool integration. • Generalize docstring verb-form rule to apply consistently across documentation and code. • Implement automatic retry for tool call errors. This feature adds retry logic to handle transient failures during tool usage by appending error messages to the prompt and re-invoking requests, improving overall request reliability. 2 Version 1.12.10 ═════════════════ • Fix stack overflow in markdown code fence conversion in `ellama--translate-markdown-to-org-filter' by replacing expensive regular expressions with linear line parsing for inline fences. • Add regression test `test-ellama-md-to-org-inline-fence-long-line' to cover long lines with inline code fences and prevent this failure from returning. 3 Version 1.12.9 ════════════════ • Fix result delivery for already approved async tools. Ensure results are delivered via callback function for both interactive and pre‑approved tools. • Guard against nil project root tool result. Wrap `ellama-tools-project-root-tool' result in an and expression to prevent errors when the tool returns nil, protecting file-name-directory and expand-file-name calls. 4 Version 1.12.8 ════════════════ • Add fallback for AGENTS.md search when `ellama-tools-project-root-tool' returns nil. This ensures reliable detection of the AGENTS.md file by falling back to the current directory. 5 Version 1.12.7 ════════════════ • Fix bug when only single tool was available. This change fixes a duplicate checking issue in the tool list by using `llm-tool-name' instead of `plist-get' for proper duplicate detection. • Make `shell_command' tool async. The tool now executes commands asynchronously using a callback function for better performance. • Trim shell command output and return nil for async tools. This ensures proper return value handling for async commands to maintain compatibility with the llm library. • Add –no-pager flag to git commands in changelog generation. This prevents output paging and ensures clean command output. 6 Version 1.12.6 ════════════════ • Simplify file writing in `ellama-tools-write-file-tool'. Replaced temp buffer-based file writing with write-region to simplify implementation and avoid temporary buffer overhead. • Refactor file tool parameters. Renamed `path' parameter to `file_name' across all file operation tools to follow GNU coding convention. Updated function signatures, docstrings, and tool definitions accordingly. 7 Version 1.12.5 ════════════════ • Prevent duplicate tools in ellama-tools. Added a test function to add-to-list to check if a tool with the same name already exists before adding it to ellama-tools-available. This prevents duplicate tools from being registered when enabling tools by name. • Update changelog skill quoting style. Changed the changelog generation skill to use org-mode quoting (`text') instead of markdown backticks (`text`). Also use "MUST" instead of "must" to pay LLM's attention to the newline requirement. 8 Version 1.12.4 ════════════════ • Normalize file path in write-file function. Added expand-file-name to properly handle both absolute and relative paths when writing files, preventing potential issues with file path resolution. • Filter function objects from function call arguments. This prevents display of uncallable function objects in the confirmation prompt. • Make task tool unaccessible for general subagents. This change improves security and control over tool access. • Fix file write tool. Corrected the order of operations in ellama-tools-write-file-tool by setting the buffer file name before inserting … …
