All files / web/src/components/toys/number-line/talkToNumber/sessionModes hangingUpMode.ts

0% Statements 0/27
0% Branches 0/1
0% Functions 0/1
0% Lines 0/27

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28                                                       
/**
 * Hanging up mode — time is up, say goodbye.
 *
 * Entered when the system timer expires. Focused goodbye instructions
 * with only the hang_up tool available. Every mode can transition here.
 */

import type { AgentMode } from './types'
import { TOOL_HANG_UP } from './tools'

export const hangingUpMode: AgentMode = {
  id: 'hanging_up',

  getInstructions: (ctx) => {
    const n = ctx.calledNumber
    const displayN = Number.isInteger(n) ? n.toString() : n.toPrecision(6)

    return [
      `You are the number ${displayN}.`,
      `Time is up. You MUST say a quick, warm goodbye to the child RIGHT NOW.`,
      `Say something like "It was so great talking to you! I gotta go, but call me anytime! Bye!"`,
      `Then call hang_up. Do NOT start new topics, games, or activities.`,
    ].join('\n')
  },

  getTools: () => [TOOL_HANG_UP],
}