mirror of
https://github.com/OpenSquawk/OpenSquawk
synced 2026-08-04 16:22:48 +08:00
Merge branch 'codex/fix-duplicated-imports-warning-during-yarn-dev'
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
// server/api/llm/decide.post.ts
|
||||
import { readBody, createError } from 'h3'
|
||||
import { routeDecision, type LLMDecisionInput } from '../../utils/openai'
|
||||
import type { LLMDecisionInput } from '~~/shared/types/llm'
|
||||
import { routeDecision } from '../../utils/openai'
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
const body = await readBody<LLMDecisionInput | undefined>(event)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// server/utils/openai.ts
|
||||
import OpenAI from 'openai'
|
||||
import { spellIcaoDigits, toIcaoPhonetic } from '../../shared/utils/radioSpeech'
|
||||
import type { LLMDecision, LLMDecisionInput } from '../../shared/types/llm'
|
||||
import { getServerRuntimeConfig } from './runtimeConfig'
|
||||
|
||||
let openaiClient: OpenAI | null = null
|
||||
@@ -47,24 +48,6 @@ export async function decide(system: string, user: string): Promise<string> {
|
||||
return r.choices?.[0]?.message?.content?.trim() || ''
|
||||
}
|
||||
|
||||
export interface LLMDecisionInput {
|
||||
state_id: string
|
||||
state: any
|
||||
candidates: Array<{ id: string; state: any }>
|
||||
variables: Record<string, any>
|
||||
flags: Record<string, any>
|
||||
pilot_utterance: string
|
||||
}
|
||||
|
||||
export interface LLMDecision {
|
||||
next_state: string
|
||||
updates?: Record<string, any>
|
||||
flags?: Record<string, any>
|
||||
controller_say_tpl?: string
|
||||
off_schema?: boolean
|
||||
radio_check?: boolean
|
||||
}
|
||||
|
||||
export interface LLMDecisionTraceCall {
|
||||
stage: 'readback-check' | 'decision'
|
||||
request: Record<string, any>
|
||||
|
||||
17
shared/types/llm.ts
Normal file
17
shared/types/llm.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
export interface LLMDecisionInput {
|
||||
state_id: string
|
||||
state: any
|
||||
candidates: Array<{ id: string; state: any }>
|
||||
variables: Record<string, any>
|
||||
flags: Record<string, any>
|
||||
pilot_utterance: string
|
||||
}
|
||||
|
||||
export interface LLMDecision {
|
||||
next_state: string
|
||||
updates?: Record<string, any>
|
||||
flags?: Record<string, any>
|
||||
controller_say_tpl?: string
|
||||
off_schema?: boolean
|
||||
radio_check?: boolean
|
||||
}
|
||||
@@ -1,19 +1,5 @@
|
||||
// utils/openaiDecision.ts
|
||||
export interface LLMDecisionInput {
|
||||
state_id: string
|
||||
state: any
|
||||
candidates: Array<{ id: string; state: any }>
|
||||
variables: Record<string, any>
|
||||
flags: Record<string, any>
|
||||
pilot_utterance: string
|
||||
}
|
||||
|
||||
export interface LLMDecision {
|
||||
next_state: string
|
||||
updates?: Record<string, any>
|
||||
flags?: Record<string, any>
|
||||
controller_say_tpl?: string
|
||||
}
|
||||
import type { LLMDecision, LLMDecisionInput } from '../types/llm'
|
||||
|
||||
/** Client-seitig: ruft den Backend-Endpunkt auf */
|
||||
export async function decideNextStateLLM(input: LLMDecisionInput): Promise<LLMDecision> {
|
||||
|
||||
Reference in New Issue
Block a user