fix: preserve tool details and prevent repeated history growth
Show bounded operation summaries for Continue, DeepSeek Harness and direct-model tools, retaining input details across incremental updates. Use one canonical workspace path for DeepSeek Host startup and ACP sessions so equivalent Windows paths reuse a working Runtime. Compare persisted subagent tool fields by value, release terminal task caches, and avoid rebuilding caches for duplicate remote events. Upgrade to schema 35 to recompact repeated schema-34 tool blocks while preserving events and provenance. Include regression coverage, validation records and temporary-resource test exclusions. Validation: 4155 tests passed, 66 skipped; typecheck and lint passed. Full desktop real-model validation covered all three tool-summary paths and both Windows path spellings. Storage validation evidence includes local and remote tool workloads and real database upgrade checks. Release note: Tool records now show paths, commands and search details across runtimes. Fix DeepSeek Windows workspace failures and repeated subagent history growth; schema 35 reclaims redundant history data while preserving execution records, and older clients cannot reopen the upgraded database.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { createHash, randomBytes } from 'node:crypto'
|
||||
import { toolOperationSummary } from './tool-operation-summary'
|
||||
import { dirname } from 'node:path'
|
||||
import type {
|
||||
ApprovalDecision,
|
||||
@@ -3752,6 +3753,7 @@ export class ModelAgentRuntime implements AgentRuntime {
|
||||
tool?.name !== 'subagent_delegate'
|
||||
const displayName = tool?.displayName ?? call.name.slice(0, 128)
|
||||
const input = boundedToolDetail(call.arguments, 4_000)
|
||||
const summary = toolOperationSummary(call.arguments) ?? `直连模型工具:${displayName}`
|
||||
roundSummary.push(
|
||||
[
|
||||
`TOOL_CALL: ${displayName}`,
|
||||
@@ -3767,7 +3769,7 @@ export class ModelAgentRuntime implements AgentRuntime {
|
||||
callId: call.id,
|
||||
name: displayName,
|
||||
state: 'pending',
|
||||
summary: `直连模型工具:${displayName}`,
|
||||
summary,
|
||||
input
|
||||
}
|
||||
}
|
||||
@@ -3844,7 +3846,7 @@ export class ModelAgentRuntime implements AgentRuntime {
|
||||
callId: call.id,
|
||||
name: displayName,
|
||||
state: 'running',
|
||||
summary: `正在执行直连模型工具:${displayName}`,
|
||||
summary,
|
||||
input
|
||||
}
|
||||
}
|
||||
@@ -3925,7 +3927,7 @@ export class ModelAgentRuntime implements AgentRuntime {
|
||||
callId: call.id,
|
||||
name: displayName,
|
||||
state: 'completed',
|
||||
summary: `直连模型工具已完成:${displayName}`,
|
||||
summary,
|
||||
input,
|
||||
output: getToolResultPreview(result.parts)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user