agent-zero/plugins/_text_editor
Alessandro daf95ec3ab Normalize tool contracts and slim prompt surface
Standardize multi-action tools around tool_args.action while keeping parser compatibility for older tool/args, tool_name:action, and method-shaped requests. This keeps new prompts clean without breaking agents that learned the previous dialect.

Move A0 connector remote execution/file tools into stable standard prompts, make remote targeting independent of the active chat context, and skill-gate beta computer-use remote so it no longer weighs down the always-on tool list.

Align text editor, scheduler, skills, office artifact, memory, notify, and browser prompts/tools around the canonical action contract. Add scheduler update/timezone handling, skills_tool read_file, text editor patch coverage, and fixes for memory_forget, behaviour_adjustment, and code execution progress warnings.

Reduce default prompt pressure by compacting browser and scheduler prompts into skill-backed manifests, shortening skill catalog descriptions, and pruning noisy framework knowledge. Remove obsolete connector prompt stubs and root tool-call knowledge examples.

Tests: conda run -n a0 pytest tests/test_a0_connector_prompt_gating.py tests/test_tool_action_contracts.py tests/test_task_scheduler_timezone.py tests/test_text_editor_context_patch.py tests/test_tool_request_normalization.py tests/test_office_document_store.py::test_odf_is_advertised_and_docx_remains_explicit_compatibility tests/test_office_document_store.py::test_document_artifact_accepts_method_alias_for_ods_create tests/test_skills_runtime.py tests/test_default_prompt_budget.py::test_a0_small_profile_removed_and_prompt_text_generic -q
2026-05-09 21:54:43 +02:00
..
extensions refactor: split system prompt into per-concern extensions with extensibility hooks 2026-03-20 12:12:47 +08:00
helpers Add context-based patch_text support to text_editor 2026-04-21 18:18:59 +02:00
prompts Normalize tool contracts and slim prompt surface 2026-05-09 21:54:43 +02:00
tools Normalize tool contracts and slim prompt surface 2026-05-09 21:54:43 +02:00
webui generated logos for builtin plugins 2026-03-19 17:35:03 +01:00
default_config.yaml refactor - plugin names and builtin plugins 2026-03-10 22:20:53 +01:00
plugin.yaml refactor - plugin names and builtin plugins 2026-03-10 22:20:53 +01:00
README.md refactor: normalize plugin paths, add README viewer to plugin info modal, and update plugin hub filters 2026-03-22 08:05:32 +01:00

Text Editor

Provide an LLM-friendly file editing tool for reading, writing, and patching text files.

What It Does

This plugin exposes a native text editing tool that agents can use to inspect files, write complete contents, and apply validated patch operations while tracking file freshness between reads and edits.

Main Behavior

  • Read
    • Reads whole files or line ranges with token-aware limits.
    • Records file metadata so later patch operations can detect stale edits.
  • Write
    • Writes full file contents and then re-reads the resulting file for confirmation.
  • Patch
    • Validates edit structures before applying them.
    • Rejects edits if the file changed since it was last observed.
    • Reads back the affected patch region after applying changes.
  • Extension hooks
    • Exposes before and after extension points for read, write, and patch operations.

Key Files

  • Tool
    • tools/text_editor.py implements method dispatch, stale-file checks, patching flow, and prompt responses.
  • Helpers
    • helpers/file_ops.py provides file info, read/write helpers, edit validation, and patch application.
  • Configuration
    • default_config.yaml defines read limits and token budgets.
  • Prompts
    • prompts/ contains the agent-facing success and error messages.

Configuration Scope

  • Settings section: agent
  • Per-project config: true
  • Per-agent config: true

Plugin Metadata

  • Name: _text_editor
  • Title: Text Editor
  • Description: Native tool to read, write, and patch text files in an LLM-friendly way.