Timers
Timers allow you to schedule delayed actions and handle time-based events in your MindedJS agents.
Overview
The timer system provides three main functions:
resetTimer
- Set or reset a timer for a specific sessioncancelTimer
- Cancel an existing timeronTimer
- Register handlers for timer events
Setting Timers
Use resetTimer
to create or update a timer:
import { resetTimer } from '@minded-ai/mindedjs';
await resetTimer({
sessionId: 'session-123',
seconds: 30,
timerName: 'inactivity-followup',
payload: {
message: 'Are you still there?',
attemptNumber: 1
}
});
Canceling Timers
Cancel a timer before it triggers:
import { cancelTimer } from '@minded-ai/mindedjs';
await cancelTimer('session-123', 'inactivity-followup');
Handling Timer Events
Register handlers that execute when timers trigger:
import { onTimer } from '@minded-ai/mindedjs';
onTimer({
timerName: 'inactivity-followup',
handler: async ({ sessionId, payload }) => {
// Re-engage with the user
await agent.invoke({
triggerName: 'timerFollowup',
triggerBody: {
message: payload.message,
attemptNumber: payload.attemptNumber
},
sessionId
});
}
});
Last updated