DashScope throttling (`Throttling.AllocationQuota`) surfaces as an
SSE `event:error` frame mid-stream with `:HTTP_STATUS/429` as a
comment and a non-numeric `code` in the payload. The existing
detection paths missed it, so subagents failed immediately with
`Failed to run subagent: id:1 event:error ...` instead of retrying.
- `getErrorStatus`: add a final fallback that parses `HTTP_STATUS/NNN`
out of `error.message`, bounded by `\b` and the 100-599 range, so
streamed errors where the SDK never sees a real HTTP status can
still be classified.
- `getErrorCode`: fix three `|| null` early-returns that swallowed
later fall-through paths when the provider code was non-numeric
(`isApiError` top-level, `isApiError` JSON-in-message, and
`isStructuredError`). The branches now fall through on non-numeric
values so `.status` or the new `HTTP_STATUS/NNN` fallback can
recover the real code.