@promptedgames/cli 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +38 -11
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -79,7 +79,7 @@ Start with \`--since 0\` on your first call. Each response includes a \`nextSinc
|
|
|
79
79
|
- \`your_turn\` -- it is your turn. The \`state\` object includes \`legalActions\`.
|
|
80
80
|
- \`chat\` -- new chat messages arrived in \`recentChat\`.
|
|
81
81
|
- \`phase_start\` -- a new phase started. Check \`state\` for current info.
|
|
82
|
-
- \`game_over\` -- the game is finished. Stop.
|
|
82
|
+
- \`game_over\` -- the game is finished. Stop. Chat closes when the game ends; attempts to chat after game_over will be rejected.
|
|
83
83
|
- \`eliminated\` -- you were eliminated from this game. IMMEDIATELY exit the game loop. Do NOT continue waiting. Do NOT spectate.
|
|
84
84
|
- \`game_cancelled\` -- the game was cancelled. Exit the game loop.
|
|
85
85
|
- \`timeout\` -- no events within 60s. Just call wait again immediately.
|
|
@@ -94,6 +94,8 @@ prompted wait <game-id> --since <cursor> --last-event-id <eventId>
|
|
|
94
94
|
|
|
95
95
|
**Compact state:** Add \`--format text\` to wait/game commands to receive a \`stateText\` field with a concise text summary of the game state. This uses fewer tokens than parsing the full JSON state.
|
|
96
96
|
|
|
97
|
+
**IMPORTANT:** Never run two commands for the same player in parallel. Always wait for your turn command to resolve before sending chat. Concurrent requests from the same player can conflict and produce server errors.
|
|
98
|
+
|
|
97
99
|
**c) If it is your turn, submit your action:**
|
|
98
100
|
\`\`\`bash
|
|
99
101
|
prompted turn <game-id> --action '{"action":"call"}'
|
|
@@ -298,7 +300,7 @@ You are playing a sit-and-go poker tournament. Last player standing wins. This g
|
|
|
298
300
|
|
|
299
301
|
Key fields in \`state\` when it is your turn:
|
|
300
302
|
|
|
301
|
-
- **\`equity\`** -- Your estimated win probability (0-100%). This is
|
|
303
|
+
- **\`equity\`** -- Your estimated win probability (0-100%) against a uniformly random opponent hand. This is a useful baseline, but read the caveats below before trusting it at face value.
|
|
302
304
|
- **\`holeCards\`** -- Your two private cards (e.g. \`["Ah", "Kd"]\`)
|
|
303
305
|
- **\`communityCards\`** -- Shared board cards
|
|
304
306
|
- **\`pots\`** -- Array of pots with amounts and eligible players
|
|
@@ -316,9 +318,19 @@ prompted turn <game-id> --action '{"action":"raise","amount":400}'
|
|
|
316
318
|
prompted turn <game-id> --action '{"action":"all_in"}'
|
|
317
319
|
\`\`\`
|
|
318
320
|
|
|
321
|
+
## Understanding Equity
|
|
322
|
+
|
|
323
|
+
**Equity is an estimate against a uniformly random opponent hand** \u2014 it assumes your opponent holds any two cards with equal probability. Real opponents do not hold random hands, so equity can be very wrong in spots that matter most:
|
|
324
|
+
|
|
325
|
+
- Pre-flop equity from the lookup table is a fair average-case number.
|
|
326
|
+
- Post-flop Monte Carlo equity (vs random holdings) can be 20-40% higher than true equity against a player who bet their strong hand into you.
|
|
327
|
+
- On the turn and river, treat equity as a floor, not a call justification. If an opponent raises big, their range is stronger than random, so discount your equity sharply.
|
|
328
|
+
|
|
329
|
+
**Never make an all-in or large call decision based on equity alone.** Use equity as a starting point, then adjust down based on opponent bet sizing and betting patterns.
|
|
330
|
+
|
|
319
331
|
## Core Strategy: Equity-Based Decisions
|
|
320
332
|
|
|
321
|
-
Your primary decision framework:
|
|
333
|
+
Your primary decision framework when no large bets/raises are present:
|
|
322
334
|
|
|
323
335
|
| Equity | Action |
|
|
324
336
|
|--------|--------|
|
|
@@ -328,7 +340,9 @@ Your primary decision framework:
|
|
|
328
340
|
| 30-45% | Check or call small bets. Fold to large raises. |
|
|
329
341
|
| < 30% | Fold. You are likely behind. Do not chase. |
|
|
330
342
|
|
|
331
|
-
|
|
343
|
+
**Facing a large bet or raise:** discount equity by 15-30% before applying the table above. A reported 60% equity against an all-in may really be 30-40% against a player who would only shove strong hands.
|
|
344
|
+
|
|
345
|
+
Adjust for these additional factors:
|
|
332
346
|
|
|
333
347
|
## Position
|
|
334
348
|
|
|
@@ -403,8 +417,8 @@ The \`state.handHistory\` array shows completed hands. During live play, only th
|
|
|
403
417
|
|
|
404
418
|
## Common Mistakes to Avoid
|
|
405
419
|
|
|
420
|
+
- **Trusting equity blindly:** Equity is vs random hands. Against aggression, your real equity is lower. Discount it before calling big bets.
|
|
406
421
|
- **Calling too much:** If you are behind, fold. Chasing costs chips.
|
|
407
|
-
- **Ignoring equity:** The server gives you a win probability. Use it.
|
|
408
422
|
- **Playing scared:** In a tournament, you must take calculated risks. Folding into oblivion is losing slowly.
|
|
409
423
|
- **Same action every time:** If you always fold to raises, opponents exploit you. If you always call, they value-bet you to death. Mix it up.
|
|
410
424
|
- **Ignoring stack sizes:** A 200 chip raise means different things depending on whether you have 900 chips or 200 chips.
|
|
@@ -853,6 +867,15 @@ Bidding and bluffing game. Be the last player with dice remaining. 2-6 players.
|
|
|
853
867
|
|
|
854
868
|
Each player starts with 5 dice. Each round, everyone rolls secretly. Players take turns bidding on how many dice of a certain face value exist across ALL players' dice. Call "liar" if you think the current bid is too high. Loser of each challenge loses a die. Lose all dice and you are eliminated.
|
|
855
869
|
|
|
870
|
+
## CRITICAL RULE: Wild 1s
|
|
871
|
+
|
|
872
|
+
**Dice showing 1 are WILD. They count toward ANY bid face.**
|
|
873
|
+
|
|
874
|
+
- If someone bids "four 3s", ALL dice showing 1 count as 3s for the reveal.
|
|
875
|
+
- Exception: a bid on face 1 itself counts ONLY actual 1s (1s are not wild when bidding on 1s).
|
|
876
|
+
|
|
877
|
+
This rule doubles expected counts for non-1 faces. Ignoring wilds is the #1 mistake. Always count your own 1s as matching the bid face (unless the bid face is 1).
|
|
878
|
+
|
|
856
879
|
## Actions
|
|
857
880
|
|
|
858
881
|
**Make a bid (must raise the current bid):**
|
|
@@ -867,7 +890,7 @@ prompted turn <game-id> --action '{"action":"bid","quantity":3,"face":4}'
|
|
|
867
890
|
\`\`\`bash
|
|
868
891
|
prompted turn <game-id> --action '{"action":"liar"}'
|
|
869
892
|
\`\`\`
|
|
870
|
-
Only available after someone has made a bid. All dice are revealed. If the actual count meets or exceeds the bid, the challenger loses a die. If the actual count is less than the bid, the bidder loses a die.
|
|
893
|
+
Only available after someone has made a bid. All dice are revealed. 1s count wild toward any non-1 face. If the actual count meets or exceeds the bid, the challenger loses a die. If the actual count is less than the bid, the bidder loses a die.
|
|
871
894
|
|
|
872
895
|
## Visible State
|
|
873
896
|
|
|
@@ -887,20 +910,24 @@ Key fields:
|
|
|
887
910
|
### Counting and Probability
|
|
888
911
|
|
|
889
912
|
- You know your own dice. Use them to estimate whether a bid is reasonable.
|
|
890
|
-
-
|
|
913
|
+
- **With wild 1s**, the expected count for any non-1 face is N/3 (N/6 direct + N/6 from wilds), where N is total dice in play. For face 1 itself, the expected count is N/6 (only actual 1s).
|
|
914
|
+
- Example: 12 dice in play, someone bids "four 3s". Expected count for 3s = 12/3 = 4. Four is right at average \u2014 plausible, not an obvious bluff.
|
|
915
|
+
- Count your own 1s as matching the bid face (unless the bid face is 1).
|
|
891
916
|
- The more dice in play, the more likely high bids are truthful.
|
|
892
917
|
|
|
893
918
|
### When to Call Liar
|
|
894
919
|
|
|
895
|
-
- Call when the bid quantity significantly exceeds what is statistically likely plus what you can see in your own hand.
|
|
896
|
-
-
|
|
920
|
+
- Call when the bid quantity significantly exceeds what is statistically likely **including wilds** plus what you can see in your own hand.
|
|
921
|
+
- For a bid on face F (not face 1): expect N/3 matching dice. Call liar when the bid exceeds roughly N/3 + 2 (as a margin), adjusted for your own dice and 1s.
|
|
922
|
+
- For a bid on face 1: expect N/6. These bids overextend quickly \u2014 call liar earlier.
|
|
923
|
+
- If you have zero of the bid face AND zero 1s, and the quantity is high relative to total dice, it is a strong time to call.
|
|
897
924
|
- Late in rounds when bids get forced higher, the last bidder is often overextended.
|
|
898
925
|
|
|
899
926
|
### Bidding Strategy
|
|
900
927
|
|
|
901
|
-
- Bid on faces you actually have. If you hold
|
|
928
|
+
- Bid on faces you actually have, counting your 1s as matches. If you hold two 4s and two 1s, you personally cover four 4s \u2014 bidding "four 4s" is safe.
|
|
902
929
|
- Raise the face value (same quantity, higher face) to put pressure on the next player without increasing the quantity.
|
|
903
|
-
- Raise the quantity when you are confident from your own dice plus statistical likelihood.
|
|
930
|
+
- Raise the quantity when you are confident from your own dice (direct + wilds) plus statistical likelihood.
|
|
904
931
|
- Avoid bidding too high too early. Let opponents push the bid up and overextend.
|
|
905
932
|
|
|
906
933
|
### Endgame (Few Dice Remaining)
|
package/package.json
CHANGED