From 67dfbcbcfd0e40564298450d7cc9d30be10c38b7 Mon Sep 17 00:00:00 2001
From: LukeParkerDev <10430890+Hona@users.noreply.github.com>
Date: Mon, 30 Mar 2026 20:12:36 +1000
Subject: [PATCH] fix: use dynamic imports for tree-sitter and shell-aware
metadata tags
---
packages/opencode/src/tool/shell/parser.ts | 3 ++-
packages/opencode/src/tool/shell/runner.ts | 4 ++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/packages/opencode/src/tool/shell/parser.ts b/packages/opencode/src/tool/shell/parser.ts
index c1507553eb..6260ac6042 100644
--- a/packages/opencode/src/tool/shell/parser.ts
+++ b/packages/opencode/src/tool/shell/parser.ts
@@ -1,4 +1,4 @@
-import { Language, Parser, type Node } from "web-tree-sitter"
+import type { Node } from "web-tree-sitter"
import { lazy } from "@/util/lazy"
import { resolveWasm, resolvePath, unquote, home, expand, type Scan, type Part } from "./util"
import { Instance } from "@/project/instance"
@@ -141,6 +141,7 @@ export namespace ShellParser {
const { default: psWasm } = await import("tree-sitter-powershell/tree-sitter-powershell.wasm" as string, {
with: { type: "wasm" },
})
+ const { Language } = await import("web-tree-sitter")
const bashPath = resolveWasm(bashWasm)
const psPath = resolveWasm(psWasm)
const bashLanguage = await Language.load(bashPath)
diff --git a/packages/opencode/src/tool/shell/runner.ts b/packages/opencode/src/tool/shell/runner.ts
index 0576040764..9bdfbb66f9 100644
--- a/packages/opencode/src/tool/shell/runner.ts
+++ b/packages/opencode/src/tool/shell/runner.ts
@@ -121,10 +121,10 @@ export namespace ShellRunner {
})
const metadata: string[] = []
- if (expired) metadata.push(`bash tool terminated command after exceeding timeout ${input.timeout} ms`)
+ if (expired) metadata.push(`${input.name} tool terminated command after exceeding timeout ${input.timeout} ms`)
if (aborted) metadata.push("User aborted the command")
if (metadata.length > 0) {
- output += "\n\n\n" + metadata.join("\n") + "\n"
+ output += "\n\n\n" + metadata.join("\n") + "\n"
}
return {