decideAction
Rule-based action using MC equity (or strength fallback when sim count is 0), pot odds, call EV; see decideAction contract.
decideAction(state: NativePokerState | PokerStateBytes, config: NativeBotConfig, opponentModel?: NativeOpponentModel | null, heroSeat?: number): DecisionResult
PokerStateBytes is a PKST packed snapshot from encodePokerState. See Packed poker state.
Import
const poker = require('poker-calculations');
ESM (Node):
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const poker = require('poker-calculations');
When to use
Wire a rule-based villain or research bot in your own engine—automated opponents in simulators, not live assistance on third-party sites. Pass a complete NativePokerState snapshot each decision.
How to use
const poker = require('poker-calculations');
const state = {
players: [
{ holeCards: ['Ah', 'Kh'], stack: 200, seat: 0, committedThisStreet: 0 },
{ holeCards: ['7c', '7d'], stack: 180, seat: 1, folded: false },
],
communityCards: ['Qh', 'Jh', '2c'],
phase: 'flop',
pot: 30,
currentBet: 10,
smallBlind: 1,
bigBlind: 2,
actedThisStreet: [false, true],
};
const decision = poker.decideAction(
state,
{ monteCarloSimulations: 2000, rngSeed: 1, aggressionThreshold: 0.55 },
null,
0,
);
console.log(decision.action, decision.raiseBy);