Submit a background OpenAI response and return its responseId +
submit-time statuswithout polling or streaming to completion.
This is the submit-only half of the existing backgroundMode
(runBackground): it POSTs { background: true, store: true }, parses
the submit envelope, and returns immediately — the caller drives the
response to completion later via retrieveResponse (typically
after a durable suspend keyed on the returned responseId). It is the
provider capability the pipeline's launchStage needs.
Terminal-on-submit fast-path: a small/cached request can come back
already terminal (completed/failed/incomplete/cancelled) on the
submit POST. This function still returns { responseId, status } for
that case (no throw, no poll); the caller proceeds to
retrieveResponse(responseId), which sees the terminal state
immediately.
No-tools precondition: background mode does not support function
tools here — a tool-bearing request throws NonRetryableLlmError,
matching respond's background guard.
Submit a background OpenAI response and return its
responseId+ submit-timestatuswithout polling or streaming to completion.This is the submit-only half of the existing
backgroundMode(runBackground): it POSTs{ background: true, store: true }, parses the submit envelope, and returns immediately — the caller drives the response to completion later via retrieveResponse (typically after a durable suspend keyed on the returnedresponseId). It is the provider capability the pipeline'slaunchStageneeds.Terminal-on-submit fast-path: a small/cached request can come back already terminal (
completed/failed/incomplete/cancelled) on the submit POST. This function still returns{ responseId, status }for that case (no throw, no poll); the caller proceeds toretrieveResponse(responseId), which sees the terminal state immediately.No-tools precondition: background mode does not support function tools here — a tool-bearing request throws NonRetryableLlmError, matching
respond's background guard.