Refine pilot monitoring communication flow

This commit is contained in:
Remi
2025-09-16 15:48:00 +02:00
parent 329bb5dec5
commit d69c01e97a
3 changed files with 400 additions and 167 deletions

View File

@@ -20,12 +20,13 @@ interface PTTRequest {
moduleId: string;
lessonId: string;
format?: 'wav' | 'mp3' | 'ogg' | 'webm';
autoDecide?: boolean;
}
interface PTTResponse {
success: boolean;
transcription: string;
decision: {
decision?: {
next_state: string;
controller_say_tpl?: string;
off_schema?: boolean;
@@ -99,13 +100,19 @@ export default defineEventHandler(async (event) => {
});
}
// 4. Direkt LLM Decision aufrufen mit transkribiertem Text
const decisionInput = {
...body.context,
pilot_utterance: transcribedText
};
const shouldAutoDecide = body.autoDecide !== false;
const decision = await routeDecision(decisionInput);
let decision: PTTResponse['decision'];
if (shouldAutoDecide) {
// 4. Direkt LLM Decision aufrufen mit transkribiertem Text
const decisionInput = {
...body.context,
pilot_utterance: transcribedText
};
decision = await routeDecision(decisionInput);
}
// 5. Cleanup
await rm(tmpAudioInput).catch(() => {});
@@ -115,10 +122,13 @@ export default defineEventHandler(async (event) => {
const result: PTTResponse = {
success: true,
transcription: transcribedText,
decision
transcription: transcribedText
};
if (decision) {
result.decision = decision;
}
return result;
} catch (error: any) {