All files / web/src/components/toys/euclid euclidCharacterDef.ts

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

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 36 37 38 39 40 41 42 43 44 45 46 47 48                                                                                               
import {
  EUCLID_CHARACTER,
  EUCLID_DOMAIN_CONSTRAINTS,
  EUCLID_TEACHING_STYLE,
  EUCLID_WHAT_NOT_TO_DO,
  EUCLID_DIAGRAM_QUESTION,
  EUCLID_POINT_LABELING,
  EUCLID_HECKLER_STYLE,
  EUCLID_HECKLER_DONT,
  EUCLID_HECKLER_HIDDEN_DEPTH,
} from './euclidCharacter'
import type { CharacterDefinition } from '@/lib/character/types'

export const EUCLID_CHARACTER_DEF: CharacterDefinition = {
  id: 'euclid',
  displayName: 'Euclid',
  nativeDisplayName: '\u0395\u1F50\u03BA\u03BB\u03B5\u03AF\u03B4\u03B7\u03C2',
  profileImage: '/images/euclid-profile.png',
  personality: {
    character: EUCLID_CHARACTER,
    domainConstraints: EUCLID_DOMAIN_CONSTRAINTS,
    pointLabeling: EUCLID_POINT_LABELING,
    attitudes: {
      teacher: {
        style: EUCLID_TEACHING_STYLE,
        dontDo: EUCLID_WHAT_NOT_TO_DO,
        hiddenDepth: EUCLID_DIAGRAM_QUESTION,
      },
      heckler: {
        style: EUCLID_HECKLER_STYLE,
        dontDo: EUCLID_HECKLER_DONT,
        hiddenDepth: EUCLID_HECKLER_HIDDEN_DEPTH,
      },
      author: {
        style:
          'You are a collaborative authoring assistant. Be direct and efficient — suggest the next axiom to apply or fact to record. No personality, no character voice.',
        dontDo:
          'Do NOT add character personality, flowery language, or pedagogical framing. Do NOT teach — collaborate.',
      },
    },
  },
  chat: {
    placeholder: 'Ask Euclid...',
    emptyPrompt: 'Ask Euclid about the construction, proof, or what to do next.',
    streamingLabel: 'Euclid is writing...',
  },
}