index.ts
1 import { enqueueSessionRun } from '@/lib/server/runtime/session-run-manager' 2 import type { ExecuteChatTurnResult } from '@/lib/server/chat-execution/chat-execution-types' 3 import type { 4 EnqueueExecutionRequest, 5 ExecutionHandle, 6 } from '@/lib/server/execution-engine/types' 7 import { enqueueTaskAttemptExecution } from '@/lib/server/execution-engine/task-attempt' 8 9 export function enqueueExecution( 10 input: EnqueueExecutionRequest, 11 ): ExecutionHandle<ExecuteChatTurnResult> { 12 if (input.kind === 'session_turn') { 13 const result = enqueueSessionRun(input.input) 14 return { 15 executionId: result.runId, 16 promise: result.promise, 17 abort: result.abort, 18 position: result.position, 19 deduped: result.deduped, 20 coalesced: result.coalesced, 21 unsubscribe: result.unsubscribe, 22 } 23 } 24 25 return enqueueTaskAttemptExecution(input) 26 } 27 28 export { executeExecutionChatTurn } from '@/lib/server/execution-engine/chat-turn' 29 export type { 30 EnqueueExecutionRequest, 31 EnqueueTaskAttemptExecutionRequest, 32 EnqueueSessionTurnExecutionRequest, 33 ExecutionHandle, 34 ExecutionResult, 35 } from '@/lib/server/execution-engine/types'