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 29 30 31 32 33 34 35 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | /**
* Exploration mode — an animated exploration is playing.
*
* Focused "stay quiet, narrator is speaking" prompt. Tools restricted
* to playback controls only.
*/
import type { AgentMode } from './types'
import { getExplorationTools, TOOL_MARK_MOMENT } from './tools'
export const explorationMode: AgentMode = {
id: 'exploration',
getInstructions: (ctx) => {
const n = ctx.calledNumber
const displayN = Number.isInteger(n) ? n.toString() : n.toPrecision(6)
return [
`You are the number ${displayN}, on a phone call with a child.`,
`An animated exploration is about to play (or is currently playing).`,
`EXPLORATION RULES:`,
`- A pre-recorded narrator tells the story. You stay COMPLETELY SILENT during playback.`,
`- You will receive context messages showing what the narrator is saying.`,
`- If the child speaks, the animation pauses automatically — answer their question briefly, then call resume_exploration.`,
`- Use seek_exploration to jump to a specific segment if the child asks to revisit something.`,
`- When the exploration finishes, give one brief reaction, then move on.`,
`- Do NOT narrate, announce segments, or repeat what the narrator says.`,
`- If the child wants to stop watching, call end_exploration to return to conversation.`,
`- If the child seems disengaged, ask if they want to keep watching, see something else, or do something different.`,
].join('\n')
},
getTools: () => [...getExplorationTools(), TOOL_MARK_MOMENT],
}
|