chore(instances): log empty payloads and add local fallback

This commit is contained in:
Peter Steinberger
2025-12-09 04:29:34 +01:00
parent 6b8011228e
commit 9dee4c158d
6 changed files with 218 additions and 56 deletions

View File

@@ -350,11 +350,13 @@ actor AgentRPC {
return true
}
if parsed.ok {
let payloadData: Data = if let payload = parsed.payload {
(try? JSONEncoder().encode(payload)) ?? Data()
} else {
Data()
}
let payloadData: Data = {
if let payload = parsed.payload {
return (try? JSONEncoder().encode(payload)) ?? Data()
}
// Use an empty JSON array to keep callers happy when payload is missing.
return Data("[]".utf8)
}()
waiter.resume(returning: payloadData)
} else {
waiter.resume(throwing: RpcError(message: parsed.error ?? "control error"))