fix(ui-agent-preset): read a refusal's cause by its detail, not its code
This commit is contained in:
parent
cd3401a39a
commit
002af9f20b
1 changed files with 7 additions and 4 deletions
|
|
@ -162,11 +162,14 @@ export class AgentPresetSeatController {
|
|||
const { error } = result
|
||||
this.set({
|
||||
busy: false,
|
||||
// A mount failure carries its cause twice: `message` wraps it in the
|
||||
// A refusal carries its cause twice: `message` wraps it in the
|
||||
// roster's own frame, which names the preset the surface reporting
|
||||
// this already names, and `details.reason` holds the same cause
|
||||
// without it.
|
||||
error: error.code === 'agent-preset-invalid' ? error.details.reason : error.message,
|
||||
// this already names, and a `reason` detail holds the same cause
|
||||
// without it. Read by the detail rather than by the code, because
|
||||
// every refusal that has a cause to give names it the same way.
|
||||
error: 'reason' in error.details && typeof error.details.reason === 'string'
|
||||
? error.details.reason
|
||||
: error.message,
|
||||
current: presetOf(session) ?? '',
|
||||
})
|
||||
return
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue