diff --git a/agent/src/agent.ts b/agent/src/agent.ts index 9f1082f4..a6d875d9 100644 --- a/agent/src/agent.ts +++ b/agent/src/agent.ts @@ -12,7 +12,13 @@ export const createAgent = ({ brave, language = 'Same as the user input', allowedActions = allActions, - identity, + identity = { + botId: '', + sessionId: '', + containerId: '', + contactId: '', + contactName: '', + }, platforms = [], currentPlatform = 'Unknown Platform', }: AgentParams, fetch: AuthFetcher) => { diff --git a/agent/src/modules/chat.ts b/agent/src/modules/chat.ts index bba620d2..d807c925 100644 --- a/agent/src/modules/chat.ts +++ b/agent/src/modules/chat.ts @@ -4,7 +4,7 @@ import { createAgent } from '../agent' import { createAuthFetcher } from '../index' import { ModelConfig } from '../types' import { bearerMiddleware } from '../middlewares/bearer' -import { AllowedActionModel, IdentityContextModel, ModelConfigModel } from '../models' +import { AllowedActionModel, IdentityContextModel, ModelConfigModel, ScheduleModel } from '../models' import { allActions } from '../types' const AgentModel = z.object({ @@ -61,4 +61,21 @@ export const chatModule = new Elysia({ prefix: '/chat' }) }, { body: AgentModel, }) - \ No newline at end of file + .post('/trigger-schedule', async ({ body, bearer }) => { + const authFetcher = createAuthFetcher(bearer) + const { triggerSchedule } = createAgent({ + model: body.model as ModelConfig, + activeContextTime: body.activeContextTime, + platforms: body.platforms, + currentPlatform: body.currentPlatform, + allowedActions: body.allowedActions, + }, authFetcher) + return triggerSchedule({ + schedule: body.schedule, + messages: body.messages, + }) + }, { + body: AgentModel.extend({ + schedule: ScheduleModel, + }), + }) \ No newline at end of file diff --git a/agent/src/types/agent.ts b/agent/src/types/agent.ts index fd7def9b..20b69541 100644 --- a/agent/src/types/agent.ts +++ b/agent/src/types/agent.ts @@ -40,7 +40,7 @@ export interface AgentParams { activeContextTime?: number allowedActions?: AgentAction[] brave?: BraveConfig - identity: IdentityContext + identity?: IdentityContext platforms?: string[] currentPlatform?: string }