Fix seven type errors that broke next build

`npm run build` failed on a clean checkout, so nothing on master could be
built for production. `npm run dev` does not hard-fail on type errors, which
is why it went unnoticed.

- state route returned client.perContractFees, which has never existed on
  TradovateClient on any branch; nothing consumed it
- mapFirmConfig omitted bannedSymbols. Type gap only: the trade path calls
  isSymbolBanned() against the DB directly, so bans were always enforced
- initClient's sync callback was sync where the constructor wants
  () => Promise<void>
- accessInfo and ws are assigned during async connect/auth, never in the
  constructor, so they take definite-assignment assertions
- the socket payload's inline entityType union had drifted five members
  behind the indirect-callback union above it, making the 'position' and
  'cashBalance' branches unreachable to the compiler. Both now share a
  TradovateEntityType alias. Type-only: those handlers ran fine at runtime

Behaviour is unchanged throughout.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Brandon Li
2026-08-30 16:16:06 -05:00
co-authored by Claude Opus 5
parent 3cc7ddcc5c
commit fc08a41c4b
4 changed files with 25 additions and 20 deletions
+1 -1
View File
@@ -98,7 +98,7 @@ export async function GET() {
fundTransactions: displayFundTxns,
};
});
return { firm: f.name, connected: true, accounts, perContractFees: client.perContractFees };
return { firm: f.name, connected: true, accounts };
});
return NextResponse.json(state);