import apiClient from './apiClient' export interface VirtualEntityResponse { id: string name: string email: string jobTitle: string personality: string | null scheduleCron: string | null contextWindowDays: number active: boolean createdAt: string } export interface VirtualEntityCreateDto { name: string email: string jobTitle: string personality?: string scheduleCron?: string contextWindowDays: number } export type VirtualEntityUpdateDto = Partial /** GET /api/v1/virtual-entities — list all virtual entities. */ export async function getEntities(): Promise { const response = await apiClient.get('/v1/virtual-entities') return response.data } /** GET /api/v1/virtual-entities/:id — get one entity by id. */ export async function getEntity(id: string): Promise { const response = await apiClient.get(`/v1/virtual-entities/${id}`) return response.data } /** POST /api/v1/virtual-entities — create a new entity. */ export async function createEntity(data: VirtualEntityCreateDto): Promise { const response = await apiClient.post('/v1/virtual-entities', data) return response.data } /** PUT /api/v1/virtual-entities/:id — update an entity. */ export async function updateEntity(id: string, data: VirtualEntityUpdateDto): Promise { const response = await apiClient.put(`/v1/virtual-entities/${id}`, data) return response.data } /** DELETE /api/v1/virtual-entities/:id — soft-delete (deactivate) an entity. */ export async function deleteEntity(id: string): Promise { await apiClient.delete(`/v1/virtual-entities/${id}`) } /** POST /api/v1/virtual-entities/:id/trigger — manually trigger the entity pipeline. */ export async function triggerEntity(id: string): Promise { await apiClient.post(`/v1/virtual-entities/${id}/trigger`) }