| 80 | } |
| 81 | |
| 82 | async logInterviewConfig(industry: string, type: string, interviewLogic?: IndustryLogic, interviewType?: InterviewType) { |
| 83 | await this.writeLog('interview_config', { |
| 84 | industry, |
| 85 | type, |
| 86 | interviewLogic: interviewLogic ? { |
| 87 | basePrompt: interviewLogic.basePrompt, |
| 88 | openingResponse: interviewLogic.openingResponse, |
| 89 | criteriaCount: interviewLogic.evaluationCriteria.length, |
| 90 | criteria: interviewLogic.evaluationCriteria |
| 91 | } : 'Not found', |
| 92 | interviewType: interviewType ? { |
| 93 | id: interviewType.id, |
| 94 | name: interviewType.name, |
| 95 | stagesCount: interviewType.stages.length, |
| 96 | stages: interviewType.stages.map(s => ({ |
| 97 | id: s.id, |
| 98 | name: s.name, |
| 99 | evaluationPoints: s.evaluationPoints.map(ep => ep.criteriaId) |
| 100 | })) |
| 101 | } : 'Not found' |
| 102 | }); |
| 103 | } |
| 104 | |
| 105 | async logSystemMessage(phase: Stage, content: string, evaluationPoints: any[]) { |
| 106 | const formattedContent = content.split('\n') |