fix: preserve native ripgrep capabilities for direct models
Replace the restricted workspace_rg parameter mapping with native args and optional cwd. Preserve rg output and exit codes, and reuse process cancellation and output_read pagination so large search results remain accessible. Ask remains read-only within the workspace; Execute uses current-account permissions. Validation: focused regression 169 passed, 1 skipped; typecheck and lint passed. Real DeepSeek Ask and Execute pagination scenarios passed with six counted requests in the successful run; an earlier failed fixture run has no retained request count. Full-suite validation is not green: the recorded run had unrelated failures and the latest run timed out without a summary. The remote Agent does not use this local execution path. Release note: 直连模型可使用 ripgrep 原生参数搜索文件并保留原生结果,大输出可通过 output_read 完整续读。Ask 保持工作区只读,Execute 使用当前账号权限。
This commit is contained in:
@@ -2234,7 +2234,7 @@ describe('ModelAgentRuntime', () => {
|
||||
const reference = previous.stdoutReference!
|
||||
expect(reference).toBeDefined()
|
||||
const calls = [
|
||||
{ name: 'workspace_rg', arguments: { pattern: 'readonly-marker', glob: ['README.md'] } },
|
||||
{ name: 'workspace_rg', arguments: { args: ['-g', 'README.md', 'readonly-marker'] } },
|
||||
{ name: 'workspace_read_text', arguments: { path: 'README.md' } },
|
||||
{ name: 'output_read', arguments: { handle: reference.handle, cursor: reference.nextCursor } }
|
||||
]
|
||||
@@ -2261,7 +2261,7 @@ describe('ModelAgentRuntime', () => {
|
||||
(message: { role: string }) => message.role === 'tool'
|
||||
)
|
||||
expect(results).toHaveLength(3)
|
||||
expect(results[0].content).toContain('README.md:1:1:readonly-marker')
|
||||
expect(results[0].content).toContain('README.md:1:readonly-marker')
|
||||
expect(results[1].content).toContain('readonly-marker')
|
||||
expect(JSON.parse(results[2].content)).toMatchObject({
|
||||
content: expect.stringContaining('retained-tail'), eof: true
|
||||
|
||||
Reference in New Issue
Block a user