mirror of
https://github.com/simstudioai/sim.git
synced 2026-01-10 15:38:00 -05:00
* 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
83 lines
2.2 KiB
TypeScript
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
|
|
}
|
|
},
|
|
}
|