When a run has status “requires_action”, I can successfully retrieve the run and parse the JSON function arguments.
What I am confused is…
Do I need to submit the retrieved tool outputs again to Assistant? Why, if I already got the function arguments?
My Swift code bellow does this:
case .requires_action:
print("Run requires action")
await fetchAndSaveArguments() //this works as expected
let callID = self.run.requiredAction?.submitToolOutputs?.toolCalls?.first?.id
submitToolOutputs(for: threadId, runId: run.id ?? "", callID: callID ?? "") //this prints status "Queued",
But then submitToolOutputs status is “Queued”. So I am not sure if I need to get something back from submitToolOutputs?