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:
@@ -1603,7 +1603,7 @@ describe('ContinueHostAdapter', () => {
|
||||
expect(existsSync(globalDirectory)).toBe(false)
|
||||
})
|
||||
|
||||
it('uses auto mode and returns audit metadata for agent tools', async () => {
|
||||
it.each(['completed', 'failed'] as const)('uses auto mode and retains streamed audit metadata on %s', async (toolState) => {
|
||||
const distribution = await createDistribution()
|
||||
let launchArgs: string[] = []
|
||||
const permissionBodies: unknown[] = []
|
||||
@@ -1681,7 +1681,7 @@ describe('ContinueHostAdapter', () => {
|
||||
toolCall: {
|
||||
function: { name: 'Bash' }
|
||||
},
|
||||
status: 'done'
|
||||
status: toolState
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1695,7 +1695,7 @@ describe('ContinueHostAdapter', () => {
|
||||
type: 'tool',
|
||||
callId: 'call-1',
|
||||
name: 'Bash',
|
||||
state: 'completed',
|
||||
state: toolState,
|
||||
output:
|
||||
'Tests passed\nAuthorization: Bearer secret-token'
|
||||
},
|
||||
@@ -1737,9 +1737,10 @@ describe('ContinueHostAdapter', () => {
|
||||
{
|
||||
callId: 'call-1',
|
||||
name: 'Bash',
|
||||
state: 'completed',
|
||||
state: toolState,
|
||||
input:
|
||||
'{"command":"npm test","token":"secret-token"}',
|
||||
summary: 'npm test',
|
||||
output:
|
||||
'Tests passed\nAuthorization: Bearer secret-token'
|
||||
}
|
||||
@@ -1754,7 +1755,8 @@ describe('ContinueHostAdapter', () => {
|
||||
name: 'Bash',
|
||||
state: 'running',
|
||||
input:
|
||||
'{"command":"npm test","token":"secret-token"}'
|
||||
'{"command":"npm test","token":"secret-token"}',
|
||||
summary: 'npm test'
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1762,9 +1764,11 @@ describe('ContinueHostAdapter', () => {
|
||||
tool: {
|
||||
callId: 'call-1',
|
||||
name: 'Bash',
|
||||
state: 'completed',
|
||||
state: toolState,
|
||||
output:
|
||||
'Tests passed\nAuthorization: Bearer secret-token'
|
||||
'Tests passed\nAuthorization: Bearer secret-token',
|
||||
input: '{"command":"npm test","token":"secret-token"}',
|
||||
summary: 'npm test'
|
||||
}
|
||||
},
|
||||
{ type: 'text', delta: 'TOOLS_OK' }
|
||||
|
||||
Reference in New Issue
Block a user