From a9d7ec493ccf2277768a7b16dafa6bb02719a2a1 Mon Sep 17 00:00:00 2001 From: seekskyworld Date: Fri, 4 Sep 2026 11:19:03 +0800 Subject: [PATCH] refactor(git-read): use shared search seams Signed-off-by: seekskyworld --- extensions/git-read/index.ts | 2 +- extensions/git-read/src/process.ts | 4 ++-- extensions/shared/search-output.ts | 11 +++++++++++ extensions/shared/search-process.ts | 5 +++++ 4 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 extensions/shared/search-output.ts create mode 100644 extensions/shared/search-process.ts diff --git a/extensions/git-read/index.ts b/extensions/git-read/index.ts index fe02239e..58c27c14 100644 --- a/extensions/git-read/index.ts +++ b/extensions/git-read/index.ts @@ -20,7 +20,7 @@ import type { import { Text } from "@earendil-works/pi-tui"; import { Cause, Effect, Exit } from "effect"; import { Type } from "typebox"; -import { formatCapturedOutput } from "../file-search/src/output.ts"; +import { formatCapturedOutput } from "../shared/search-output.ts"; import { sanitizeTerminalText } from "../shared/terminal-text.ts"; import { OPENPI_TOOL_SURFACE, diff --git a/extensions/git-read/src/process.ts b/extensions/git-read/src/process.ts index ae0c5960..e8eebef1 100644 --- a/extensions/git-read/src/process.ts +++ b/extensions/git-read/src/process.ts @@ -9,11 +9,11 @@ import * as NodeServices from "@effect/platform-node/NodeServices"; import { Data, Effect } from "effect"; -import type { CapturedOutput } from "../../file-search/src/output.ts"; +import type { CapturedOutput } from "../../shared/search-output.ts"; import { discardCapturedOutput, executeSearchProcess, -} from "../../file-search/src/process.ts"; +} from "../../shared/search-process.ts"; import { GIT_TIMEOUT_MS } from "./args.ts"; export const GIT_CAPTURE_MAX_BYTES = 10 * 1024 * 1024; diff --git a/extensions/shared/search-output.ts b/extensions/shared/search-output.ts new file mode 100644 index 00000000..5572fe15 --- /dev/null +++ b/extensions/shared/search-output.ts @@ -0,0 +1,11 @@ +/** Public shared seam for bounded search output projection. */ +export { + COMPLETE_OUTPUT_MAX_BYTES, + formatCapturedOutput, + formatOutput, +} from "../file-search/src/output.ts"; +export type { + CapturedOutput, + FormattedOutput, + FormatOutputOptions, +} from "../file-search/src/output.ts"; diff --git a/extensions/shared/search-process.ts b/extensions/shared/search-process.ts new file mode 100644 index 00000000..8e523f3a --- /dev/null +++ b/extensions/shared/search-process.ts @@ -0,0 +1,5 @@ +/** Public shared seam for bounded search process execution. */ +export { + discardCapturedOutput, + executeSearchProcess, +} from "../file-search/src/process.ts";