fix(l1): replace any casts with structural error types (eslint)
Some checks failed
Mirror to GitHub / mirror (push) Successful in 5s
CI / e2e (pull_request) Failing after 6m33s
CI / frontend (pull_request) Successful in 6m57s
CI / backend (pull_request) Successful in 12m1s

Frontend CI failed on @typescript-eslint/no-explicit-any in three L1
post-review fix sites. Replace `(err as any).response...` with the
codebase's established structural cast
`(err as { response?: { data?: { detail?: string } } })`, matching
TicketPickerModal / FolderEditModal / ProceduralEditorPage. The
AccountSettingsPage 402 handler gets the fuller seat-limit detail shape.

tsc clean, eslint clean.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-29 00:48:14 -04:00
parent 4c83cebfca
commit aca1360164
3 changed files with 8 additions and 3 deletions

View File

@@ -42,7 +42,7 @@ export function L1WalkTreeVariant({ session, onSessionUpdate, onDone }: Props) {
const lastError = (err: unknown): string => {
if (typeof err === 'object' && err && 'response' in err) {
const detail = (err as any).response?.data?.detail
const detail = (err as { response?: { data?: { detail?: string } } }).response?.data?.detail
if (typeof detail === 'string') return detail
}
return 'Unexpected error'

View File

@@ -237,7 +237,12 @@ export function AccountSettingsPage() {
const invitesData = await accountsApi.getInvites()
setInvites(invitesData)
} catch (err) {
const resp = (err as any)?.response
const resp = (err as {
response?: {
status?: number
data?: { detail?: { code?: string; role?: string; current?: number; limit?: number } }
}
}).response
if (resp?.status === 402 && resp?.data?.detail?.code === 'seat_limit_exceeded') {
const d = resp.data.detail
const label = d.role === 'l1_tech' ? 'L1' : 'Engineer'

View File

@@ -48,7 +48,7 @@ export default function L1Dashboard() {
})
navigate(`/l1/walk/${response.session_id}`)
} catch (err) {
const detail = (err as any)?.response?.data?.detail
const detail = (err as { response?: { data?: { detail?: string } } }).response?.data?.detail
const msg =
typeof detail === 'string' ? detail : 'Failed to start walk. Try again.'
toast.error(msg)