lea_code 0.1.0
lea_code: ^0.1.0 copied to clipboard
lea_code is a Dart command-line coding assistant powered by Genkit.
0.1.0 #
- New terminal UI modeled on Claude Code: a welcome box, a bordered input box with history, multi-line input, collapsed pastes and slash-command completion, a spinner with elapsed time, Markdown-styled streaming responses,
⏺ Tool(argument)blocks with short result summaries, a checkbox task list, and arrow-key menus for command approval andask_user_question. Piped input falls back to plain lines. - Added
/clear,/tasks,/model, and/help. Esc now interrupts a request, and approving a command can allow it for the rest of the session; declining it stops the request so you can redirect Lea. - Cancelling a request now reports the interruption and leaves the conversation unchanged; before, Genkit's aborted result was taken as a normal reply.
- Added the
anthropicprovider viagenkit_anthropic, withclaude-sonnet-5-5as its default model and a 32000-token output limit (the plugin's default of 4096 is too small for whole-file writes). --modelnow defaults per provider;openaidefaults togpt-6-lunainstead of the Gemini model name.- Provider errors such as an invalid API key are now shown instead of producing an empty response.
- Replaced the analysis, execute, and verify agents with a single
CodingAgentloop modeled on Claude Code. The full conversation, tool calls included, now carries across requests instead of only the verifier's messages. - Added a built-in system prompt focused on code quality and verification. It is now sent as a real system message; the previous
outputInstructionsroute did not reach the model as a system prompt. - Added session context to the prompt (working directory, platform, date, model, git snapshot) and loading of
LEA.md,CLAUDE.md, andAGENTS.mdproject instructions plus~/.lea/LEA.md. - Rewrote every tool description with usage rules for the model.
editnow takes a singleold_string/new_string, rejects ambiguous matches unlessreplace_allis set, and returns a snippet of the result.readdefaults to 2000 lines, truncates very long lines, reports remaining lines, and rejects directories and binary files.globnow usesrg --files, so**patterns work, results respect.gitignore, and they are sorted newest first.grepgainedtype, context lines,multiline, and a defaulthead_limit.bashuses the user's shell, defaults to a 2 minute timeout, truncates long output, and no longer asks for approval on compound commands made only of read-only parts. Redirection into files,find -delete/-exec, and command substitution now require approval.- Workspace checks now normalize
.., so paths can no longer escape the workspace. - Tool errors are returned to the model as
Error: ...instead of aborting the request, and failures are shown in the terminal. - Responses stream to the terminal, and Ctrl-C cancels the running request.
powershellis only exposed on Windows, and the MCP tools only when an adapter is configured.- Upgraded to
genkit1.0,genkit_google_genai1.0,genkit_openai1.0, andschemantic1.0, and addedpath.
0.0.9 #
- Replaced the single
GeneralAgentimplementation with a staged agent workflow made up ofAnalysisAgent,ExecuteAgent, andVerifyAgent. - Added
BaseAgentplus shared read-only and full-access tool mixins so each stage can expose only the tools it needs. - Updated
LeaCodeto orchestrate analysis, execution, and verification passes for each request, including retrying execution up to three times when verification fails. - Added verification prompt/status handling so verifier responses start with
STATUS: PASSorSTATUS: FAILand only the final user-facing result is shown in the terminal. - Turned
lib/agents/general_agent.dartinto a compatibility export for the staged agent classes. - Bumped the package version from
0.0.7to0.0.8.
0.0.7 #
- Replaced the older file and web tool set with a larger runtime-managed tool suite:
read,write,edit,glob,grep,sleep,powershell,ask_user_question,task_create,task_update,task_list,list_mcp_resources, andread_mcp_resource. - Added
ToolRuntimeto track workspace state, remembered file reads, the current working directory, session tasks, approval requests, and interactive multiple-choice questions. - Updated
bashso it runs in the workspace, supportsworkdirandtimeout_ms, formats structured command output, and requests approval for mutating, networked, or otherwise non-read-only commands. - Replaced generated schema-backed tool input models with lightweight JSON schema helpers and removed the old generated files from
lib/models/. - Added tests for command safety rules and runtime file/task behavior.
- Bumped the package version from
0.0.6to0.0.7.
0.0.6 #
- Added OpenAI provider support via
genkit_openai. - Added
--provider/-pto choose betweengoogle(default) andopenai. - Added
--api_key/-kand--base_url/-bfor provider configuration. - Added
--help/-hand--version/-v. - Made
--system_promptoptional and routed it through the agent as output instructions. - Bumped the package version from
0.0.5to0.0.6.
0.0.5 #
- Refactored the CLI around new
LeaCodeandGeneralAgentclasses, replacingLeaCodeEngine. - Added a new
file_edittool backed bysedfor in-place file edits. - Added tool status messaging so tool start and completion updates are shown in the terminal.
- Added a
--max_turns/-tCLI option to control the maximum number of model turns per request. - Changed the installed executable from
lea_codetolea. - Bumped the package version from
0.0.3to0.0.5.
0.0.3 #
- Added a new
web_fetchtool so the assistant can fetch web pages as text. - Registered
web_fetchinLeaCodeEngineso it is available during model generation. - Bumped the package version from
0.0.2to0.0.3.
0.0.2 #
- Bumped the package version from
0.0.1to0.0.2.
0.0.1 #
- Added the initial
lea_codeinteractive CLI entrypoint. - Added Gemini-powered response generation through Genkit and
genkit_google_genai. - Added support for selecting a model with
--model. - Added support for passing a custom system prompt with
--system_prompt. - Added conversation management commands for resetting and exiting the session.
- Added local assistant tools for shell execution, file reads, file writes, string search, and file discovery.
- Added typed tool input models and generated schema files for tool registration.