Passing data around across isolation domains means you the types to conform to Sendable.
You need to pass some non-Sendable arguments into a function in a different isolution domain.
func myAsyncFunction(_ nonSendable: NonSendable) async {
}
let nonSendable = NonSendable()
// this produces a warning
await myAsyncFunction(nonSendable)
Assumption: the definition is under your control.
func myAsyncFunction(_ nonSendable: @Sendable () -> NonSendable) async {
}
await myAsyncFunction({ NonSendable() })