CarriesCommandRequestId
The caller command key and Server refusal carried by signal and update failures.
The key is chosen before the request is sent, so it is available after a transport failure whose outcome is unknown. Retrying with the same key and intent returns the retained receipt instead of admitting a second command.
Table of Contents
Properties
- $requestId : string|null
Methods
- conflict() : array<int, string>
- The parts of the refused command that differ from the retained one, for a `request_id_conflict`: `name`, `arguments` or `target_or_arguments`. Otherwise empty.
- details() : array<string, mixed>
- The Server response fields, or an empty array when no envelope arrived.
- isRequestIdConflict() : bool
- Whether the Server retained a command with a different intent under the same key.
- reason() : string|null
- The Server refusal reason, or null when no protocol envelope arrived.
- requestId() : string|null
- The `request_id` sent with the command, or null when it was not recorded.
- retainedCommandId() : string|null
- The command id retained under the key, for a `request_id_conflict`. Otherwise null.
Properties
$requestId read-only
private
string|null
$requestId
Methods
conflict()
The parts of the refused command that differ from the retained one, for a `request_id_conflict`: `name`, `arguments` or `target_or_arguments`. Otherwise empty.
public
conflict() : array<int, string>
Return values
array<int, string>details()
The Server response fields, or an empty array when no envelope arrived.
public
details() : array<string, mixed>
A request_id_conflict refusal carries outcome (rejected_request_id_conflict),
retained_command_id, retained_outcome and the mismatched conflict parts. Read
them with conflict() and retainedCommandId().
Return values
array<string, mixed>isRequestIdConflict()
Whether the Server retained a command with a different intent under the same key.
public
isRequestIdConflict() : bool
Nothing was written and the key keeps its original receipt. Don't retry this unchanged: send the original input to recover the receipt, or use a new key for new input.
Return values
boolreason()
The Server refusal reason, or null when no protocol envelope arrived.
public
reason() : string|null
Return values
string|nullrequestId()
The `request_id` sent with the command, or null when it was not recorded.
public
requestId() : string|null
Return values
string|nullretainedCommandId()
The command id retained under the key, for a `request_id_conflict`. Otherwise null.
public
retainedCommandId() : string|null