docs: explain why type cast is required in error getters

Address review comment asking why the type isn't inferrable. The messages
array is typed as Array<[string, unknown]>, so TypeScript cannot narrow
the second tuple element based on a runtime string check.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Richard Yu
2026-01-12 17:02:56 -08:00
parent 6485f871ba
commit f44c0e3842

View File

@@ -324,6 +324,10 @@ export class TaskItemImpl {
/**
* Extracts the execution error message from status messages.
* Used by error reporting UI components.
*
* Note: The type cast is required because `messages` is typed as
* `Array<[string, unknown]>` - TypeScript cannot narrow the second tuple
* element's type based on a runtime string check for 'execution_error'.
*/
get errorMessage(): string | undefined {
const messages = this.status?.messages
@@ -337,6 +341,10 @@ export class TaskItemImpl {
/**
* Extracts the full execution error from status messages.
* Returns the ExecutionErrorWsMessage for detailed error dialogs.
*
* Note: The type cast is required because `messages` is typed as
* `Array<[string, unknown]>` - TypeScript cannot narrow the second tuple
* element's type based on a runtime string check for 'execution_error'.
*/
get executionError(): ExecutionErrorWsMessage | undefined {
const messages = this.status?.messages