fix: import getMaxToolUseConcurrency into local scope and add ripgrep fallback (#8)

toolOrchestration.ts used `export { getMaxToolUseConcurrency } from
'./toolConcurrency.js'` (a re-export) but then called the function
directly in runToolsConcurrently(). A re-export does not bring the name
into the module's own scope, causing a ReferenceError at runtime —
visible as "getMaxToolUseConcurrency is not defined" in --print mode.
TypeScript also flagged this as TS2304 on main.

Fix: replace the re-export with an explicit import + a separate export
statement so the name is both locally callable and publicly exported.

ripgrep.ts fell through to the vendor binary path on non-bundled (npm)
installs where the vendor/ directory is not shipped alongside dist/cli.mjs,
producing "spawn .../vendor/ripgrep/x64-linux/rg ENOENT". Fix: check
whether the vendor binary exists before returning the builtin config;
fall back to system rg if it is absent.
This commit is contained in:
Nandana Dileep
2026-04-28 14:57:39 +05:30
Unverified
parent b2088aa9c4
commit 41d1cb6462
2 changed files with 9 additions and 1 deletions

View File

@@ -4,10 +4,11 @@ import { findToolByName, type ToolUseContext } from '../../Tool.js'
import type { AssistantMessage, Message } from '../../types/message.js'
import { all } from '../../utils/generators.js'
import { type MessageUpdateLazy, runToolUse } from './toolExecution.js'
export {
import {
DEFAULT_MAX_TOOL_USE_CONCURRENCY,
getMaxToolUseConcurrency,
} from './toolConcurrency.js'
export { DEFAULT_MAX_TOOL_USE_CONCURRENCY, getMaxToolUseConcurrency }
export type MessageUpdate = {
message?: Message