feat(workflow): add edge-tool routing and realtime runtime

This commit is contained in:
Xin Wang
2026-08-04 22:29:04 +08:00
parent 1902ffc240
commit 59588ba88d
25 changed files with 1952 additions and 107 deletions
@@ -711,6 +711,13 @@ export function AssistantPage(props: AssistantPageProps) {
? (assistant.graph as WorkflowGraph)
: defaultGraph();
const wfSettings: WorkflowSettings = {
runtimeMode:
graph.settings?.runtimeMode ?? assistant.runtimeMode ?? "pipeline",
llmRoutingMode:
graph.settings?.llmRoutingMode ?? "llm_router",
realtime:
graph.settings?.defaultRealtimeResourceId ||
assistant.modelResourceIds.Realtime,
llm:
graph.settings?.defaultLlmResourceId ||
assistant.modelResourceIds.LLM,
@@ -811,11 +818,15 @@ export function AssistantPage(props: AssistantPageProps) {
baseUpsert({
name: workflowName.trim(),
type: "workflow",
runtimeMode: workflowSettings.runtimeMode,
enableInterrupt: workflowSettings.allowInterrupt,
turnConfig: workflowSettings.turnConfig,
visionEnabled: workflowUsesVision(workflowGraph),
visionModelResourceId: null,
modelResourceIds: {
...(workflowSettings.realtime
? { Realtime: workflowSettings.realtime }
: {}),
...(workflowSettings.llm ? { LLM: workflowSettings.llm } : {}),
...(workflowSettings.asr ? { ASR: workflowSettings.asr } : {}),
...(workflowSettings.tts ? { TTS: workflowSettings.tts } : {}),
@@ -1294,6 +1305,7 @@ export function AssistantPage(props: AssistantPageProps) {
dirty={dirty}
saveError={saveError}
modelOptions={{
realtime: credOptions("Realtime"),
llm: credOptions("LLM"),
asr: credOptions("ASR"),
tts: credOptions("TTS"),