Remove unnecessary type assertions across codebase

Add oxlint-tsgolint and configure typescript/no-unnecessary-type-assertion
to flag redundant `!` and `as Foo` casts. Type-aware mode is left off by
default to keep `npm run lint` fast; the rule sits configured for when we
turn type-aware on intentionally. Auto-fix removed ~283 redundant casts;
two manual touch-ups: a real tsgolint false positive in split-container.tsx
and a stale ChildProcess import after a double-cast collapsed.
This commit is contained in:
Mohamed Boudra
2026-05-05 19:56:26 +07:00
parent 78fe3e4df3
commit 4cd9e76bd2
129 changed files with 409 additions and 323 deletions
@@ -1,9 +1,9 @@
import type { FetchAgentHistoryEntry, FetchAgentsEntry } from "@server/client/daemon-client";
import type { FetchAgentsEntry } from "@server/client/daemon-client";
import { type Agent, useSessionStore } from "@/stores/session-store";
import { derivePendingPermissionKey, normalizeAgentSnapshot } from "@/utils/agent-snapshots";
import { resolveProjectPlacement } from "@/utils/project-placement";
type AgentDirectoryFetchEntry = FetchAgentsEntry | FetchAgentHistoryEntry;
type AgentDirectoryFetchEntry = FetchAgentsEntry;
interface PendingPermissionEntry {
key: string;
+1 -2
View File
@@ -1,4 +1,3 @@
import type { AgentLifecycleStatus } from "@server/shared/agent-lifecycle";
import type { AgentSnapshotPayload } from "@server/shared/messages";
import type { AgentPermissionRequest } from "@server/server/agent/agent-sdk-types";
@@ -31,7 +30,7 @@ export function normalizeAgentSnapshot(snapshot: AgentSnapshotPayload, serverId:
serverId,
id: snapshot.id,
provider: snapshot.provider,
status: snapshot.status as AgentLifecycleStatus,
status: snapshot.status,
createdAt,
updatedAt,
lastUserMessageAt,
@@ -148,7 +148,7 @@ describe("sendOsNotification", () => {
clicked.clickListeners[0]?.({} as Event);
expect(dispatchEvent).toHaveBeenCalledTimes(1);
const event = dispatchEvent.mock.calls[0]?.[0] as unknown as {
const event = dispatchEvent.mock.calls[0]?.[0] as {
type?: string;
detail?: { data?: Record<string, unknown> };
};
+1 -1
View File
@@ -132,7 +132,7 @@ function dispatchWebNotificationClick(detail: WebNotificationClickDetail): boole
cancelable: true,
},
);
return dispatch(event) === false;
return !dispatch(event);
}
function fallbackNavigateToNotificationTarget(data: Record<string, unknown> | undefined): void {