From b77dd2fcdfd35b8ce9c74996b5ec7c873df0a5bb Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Mon, 8 Dec 2025 13:35:02 +0900 Subject: [PATCH] refactor(tools): rename safe-grep to grep with override capability --- README.ko.md | 9 ++++----- README.md | 9 ++++----- src/tools/{safe-grep => grep}/cli.ts | 0 src/tools/{safe-grep => grep}/constants.ts | 0 src/tools/grep/index.ts | 3 +++ src/tools/{safe-grep => grep}/tools.ts | 2 +- src/tools/{safe-grep => grep}/types.ts | 0 src/tools/{safe-grep => grep}/utils.ts | 0 src/tools/index.ts | 4 ++-- src/tools/safe-grep/index.ts | 3 --- 10 files changed, 14 insertions(+), 16 deletions(-) rename src/tools/{safe-grep => grep}/cli.ts (100%) rename src/tools/{safe-grep => grep}/constants.ts (100%) create mode 100644 src/tools/grep/index.ts rename src/tools/{safe-grep => grep}/tools.ts (97%) rename src/tools/{safe-grep => grep}/types.ts (100%) rename src/tools/{safe-grep => grep}/utils.ts (100%) delete mode 100644 src/tools/safe-grep/index.ts diff --git a/README.ko.md b/README.ko.md index d25828e..5b88acf 100644 --- a/README.ko.md +++ b/README.ko.md @@ -13,7 +13,7 @@ - [Tools](#tools) - [내장 LSP Tools](#내장-lsp-tools) - [내장 AST-Grep Tools](#내장-ast-grep-tools) - - [Safe Grep](#safe-grep) + - [Grep](#grep) - [내장 MCPs](#내장-mcps) - [기타 편의 기능](#기타-편의-기능) - [설정](#설정) @@ -185,11 +185,10 @@ OpenCode 는 아주 확장가능하고 아주 커스터마이저블합니다. - **ast_grep_search**: AST 인식 코드 패턴 검색 (25개 언어) - **ast_grep_replace**: AST 인식 코드 교체 -#### Safe Grep -- **safe_grep**: 안전 제한이 있는 콘텐츠 검색 (5분 타임아웃, 10MB 출력 제한). +#### Grep +- **grep**: 안전 제한이 있는 콘텐츠 검색 (5분 타임아웃, 10MB 출력 제한). OpenCode의 내장 `grep` 도구를 대체합니다. - 기본 grep 도구는 시간제한이 걸려있지 않습니다. 대형 코드베이스에서 광범위한 패턴을 검색하면 CPU가 폭발하고 무한히 멈출 수 있습니다. - - safe_grep 은 timeout 과 더 엄격한 출력 제한을 적용합니다. - - **주의**: 기본 grep 도구는 Agent 를 햇갈리게 하지 않기 위해 비활성화됩니다. 그러나 SafeGrep 은 Grep 이 제공하는 모든 기능을 제공합니다. + - 이 도구는 엄격한 제한을 적용하며, 내장 `grep`을 완전히 대체합니다. #### 내장 MCPs diff --git a/README.md b/README.md index 11a3912..eaaea71 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ English | [한국어](README.ko.md) - [Tools](#tools) - [Built-in LSP Tools](#built-in-lsp-tools) - [Built-in AST-Grep Tools](#built-in-ast-grep-tools) - - [Safe Grep](#safe-grep) + - [Grep](#grep) - [Built-in MCPs](#built-in-mcps) - [Other Features](#other-features) - [Configuration](#configuration) @@ -181,12 +181,11 @@ The features you use in your editor—other agents cannot access them. Oh My Ope - **ast_grep_search**: AST-aware code pattern search (25 languages) - **ast_grep_replace**: AST-aware code replacement -#### Safe Grep +#### Grep -- **safe_grep**: Content search with safety limits (5min timeout, 10MB output). +- **grep**: Content search with safety limits (5min timeout, 10MB output). Overrides OpenCode's built-in `grep` tool. - The default `grep` lacks safeguards. On a large codebase, a broad pattern can cause CPU overload and indefinite hanging. - - `safe_grep` enforces strict limits. - - **Note**: Default `grep` is disabled to prevent Agent confusion. `safe_grep` delivers full `grep` functionality with safety assurance. + - This tool enforces strict limits and completely replaces the built-in `grep`. #### Built-in MCPs diff --git a/src/tools/safe-grep/cli.ts b/src/tools/grep/cli.ts similarity index 100% rename from src/tools/safe-grep/cli.ts rename to src/tools/grep/cli.ts diff --git a/src/tools/safe-grep/constants.ts b/src/tools/grep/constants.ts similarity index 100% rename from src/tools/safe-grep/constants.ts rename to src/tools/grep/constants.ts diff --git a/src/tools/grep/index.ts b/src/tools/grep/index.ts new file mode 100644 index 0000000..a457fea --- /dev/null +++ b/src/tools/grep/index.ts @@ -0,0 +1,3 @@ +import { grep } from "./tools" + +export { grep } diff --git a/src/tools/safe-grep/tools.ts b/src/tools/grep/tools.ts similarity index 97% rename from src/tools/safe-grep/tools.ts rename to src/tools/grep/tools.ts index a0cf2da..78bea5d 100644 --- a/src/tools/safe-grep/tools.ts +++ b/src/tools/grep/tools.ts @@ -2,7 +2,7 @@ import { tool } from "@opencode-ai/plugin/tool" import { runRg } from "./cli" import { formatGrepResult } from "./utils" -export const safe_grep = tool({ +export const grep = tool({ description: "Fast content search tool with safety limits (60s timeout, 10MB output). " + "Searches file contents using regular expressions. " + diff --git a/src/tools/safe-grep/types.ts b/src/tools/grep/types.ts similarity index 100% rename from src/tools/safe-grep/types.ts rename to src/tools/grep/types.ts diff --git a/src/tools/safe-grep/utils.ts b/src/tools/grep/utils.ts similarity index 100% rename from src/tools/safe-grep/utils.ts rename to src/tools/grep/utils.ts diff --git a/src/tools/index.ts b/src/tools/index.ts index 96e0413..dfe1437 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -17,7 +17,7 @@ import { ast_grep_replace, } from "./ast-grep" -import { safe_grep } from "./safe-grep" +import { grep } from "./grep" export const builtinTools = { lsp_hover, @@ -33,5 +33,5 @@ export const builtinTools = { lsp_code_action_resolve, ast_grep_search, ast_grep_replace, - safe_grep, + grep, } diff --git a/src/tools/safe-grep/index.ts b/src/tools/safe-grep/index.ts deleted file mode 100644 index 72b0373..0000000 --- a/src/tools/safe-grep/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { safe_grep } from "./tools" - -export { safe_grep }