import { z } from 'zod'
import { getMetaApi, META_SERVICE } from '@opentiny/tiny-engine-meta-register'
const inputSchema = z.object({
id: z.string().describe('要删除的全局变量 id')
})
export const deleteGlobalState = {
name: 'delete_global_state',
title: '删除全局变量',
description: 'Delete a global state item by id.',
inputSchema: inputSchema.shape,
callback: async (args: z.infer<typeof inputSchema>) => {
const { id } = args
const apis = getMetaApi(META_SERVICE.GlobalStateService)
if (!apis) {
return {
content: [
{
isError: true,
type: 'text',
text: JSON.stringify({
status: 'error',
error: 'SERVICE_UNAVAILABLE',
message: 'GlobalStateService not registered'
})
}
]
}
}
const { getGlobalStateById, deleteGlobalState: removeGlobalState } = apis
try {
const item = getGlobalStateById(id)
if (!item) {
return {
content: [
{
isError: true,
type: 'text',
text: JSON.stringify({
status: 'error',
message: `Unknown id: ${id}`,
error: 'GLOBAL_STATE_NOT_FOUND',
next_action: [
{
type: 'tool_call',
name: 'get_global_state',
args: {}
}
]
})
}
]
}
}
await removeGlobalState(id)
return {
content: [
{
type: 'text',
text: JSON.stringify({
status: 'success',
message: 'Global state deleted successfully',
data: item
})
}
]
}
} catch (error) {
return {
content: [
{
isError: true,
type: 'text',
text: JSON.stringify({
status: 'error',
message: 'Failed to delete global state',
error: error instanceof Error ? error.message : 'Unknown error occurred'
})
}
]
}
}
}
}