Files
sim/apps/sim/tools/memory/delete_memory.ts
Emir Karabeg 0af7fb2a7a feat(memory): added memory block and tool (#372)
* feat(memory): added memory block and service

* feat(memory): ran migrations

* improvement(memory): appending memories; console messages

* feat(memory): added agent raw message history input UI

* feat(agent-messages): added agent message history

* improvement: added tests
2025-05-19 02:57:06 -07:00

83 lines
2.2 KiB
TypeScript

import { ToolConfig } from '../types'
import { MemoryResponse } from './types'
// Delete Memory Tool
export const memoryDeleteTool: ToolConfig<any, MemoryResponse> = {
id: 'memory_delete',
name: 'Delete Memory',
description: 'Delete a specific memory by its ID',
version: '1.0.0',
params: {
id: {
type: 'string',
required: true,
description: 'Identifier for the memory to delete',
}
},
request: {
url: (params): any => {
// Get workflowId from context (set by workflow execution)
const workflowId = params._context?.workflowId
if (!workflowId) {
return {
_errorResponse: {
status: 400,
data: {
success: false,
error: {
message: 'workflowId is required and must be provided in execution context'
}
}
}
}
}
// Append workflowId as query parameter
return `/api/memory/${encodeURIComponent(params.id)}?workflowId=${encodeURIComponent(workflowId)}`
},
method: 'DELETE',
headers: () => ({
'Content-Type': 'application/json',
}),
isInternalRoute: true,
},
transformResponse: async (response): Promise<MemoryResponse> => {
try {
const result = await response.json()
if (!response.ok) {
const errorMessage = result.error?.message || 'Failed to delete memory'
throw new Error(errorMessage)
}
return {
success: true,
output: {
memory: undefined,
message: `Deleted memory.`
},
}
} catch (error: any) {
return {
success: false,
output: {
memory: undefined,
message: `Failed to delete memory: ${error.message || 'Unknown error'}`
},
error: `Failed to delete memory: ${error.message || 'Unknown error'}`
}
}
},
transformError: async (error): Promise<MemoryResponse> => {
const errorMessage = `Memory deletion failed: ${error.message || 'Unknown error'}`
return {
success: false,
output: {
memory: undefined,
message: errorMessage
},
error: errorMessage
}
},
}