fix(free-tier): setup.ready carries the failure block flat, the shape setup.status already spreads

`SetupRecord.as_payload()` serialised the record verbatim, so the broadcast
nested `failure: {...}` while `setup.status` spread the same four keys flat.
A client keyed on `error_code` saw it on one surface and not the other. Flatten
it in `as_payload`, declare the three optional keys on `SetupReadyPayload`, and
regenerate the TS/OpenRPC contract.
This commit is contained in:
kshitijk4poor
2026-09-15 15:04:32 +00:00
committed by kshitij
parent 8f391f7d48
commit 658f319147
4 changed files with 48 additions and 1 deletions
@@ -3838,6 +3838,9 @@ export interface SetupReadyPayload {
has_identity: boolean
other_providers: boolean
error?: string
error_code?: string | null
retryable?: boolean | null
retry_after?: number | null
finished_at: number
[key: string]: unknown
}
@@ -27293,6 +27293,42 @@
"title": "Error",
"type": "string"
},
"error_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Error Code"
},
"retryable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Retryable"
},
"retry_after": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Retry After"
},
"finished_at": {
"title": "Finished At",
"type": "number"