pokertools-arena 0.8.0 → 0.13.0
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/.env.example +1 -1
- package/README.md +6 -3
- package/bin/pokertools-arena.mjs +1 -1
- package/dist/app.js +438 -131
- package/dist/index.html +54 -37
- package/dist/pokertools-arena.html +1146 -3145
- package/dist/styles.css +688 -3011
- package/docs/diagnostics/SUMMARY.md +1 -2
- package/docs/diagnostics/summary.json +1 -1
- package/docs/releases/RELEASE_NOTES.md +123 -1
- package/package.json +1 -1
- package/src/app.js +345 -142
- package/src/assets/board-cards.mp3 +0 -0
- package/src/assets/winner-bell.mp3 +0 -0
- package/src/config/arena-config.js +96 -0
- package/src/index.html +54 -37
- package/src/lib/decision-core.js +2 -2
- package/src/styles.css +688 -3011
package/.env.example
CHANGED
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
| **Package** | `npx pokertools-arena` |
|
|
18
18
|
| **Runtime** | Node.js ≥ 24 for tooling; any modern browser for the app |
|
|
19
19
|
|
|
20
|
-
> **Current release: 0.
|
|
20
|
+
> **Current release: 0.13.0.** Recordings now keep table event audio and the winner pot payout visible, with a two-second winner-review hold between hands.
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
@@ -107,6 +107,8 @@ The table **is** the player editor. A fresh launch shows empty seats around the
|
|
|
107
107
|
3. Configure **Settings → Connections** (base URLs and keys) and **Settings → Tournament** (stack, blinds, clock, benchmark mode, architecture, representation).
|
|
108
108
|
4. Press **Start**. Only configured seats enter the tournament, and seat editing locks while it runs.
|
|
109
109
|
|
|
110
|
+
Defaults and validation limits live in [`src/config/arena-config.js`](./src/config/arena-config.js). A host page may override any value before loading `app.js` by assigning a partial object to `window.__POKERTOOLS_ARENA_CONFIG__`; the arena deep-merges it with the documented defaults.
|
|
111
|
+
|
|
110
112
|
## `.env` bootstrap
|
|
111
113
|
|
|
112
114
|
The launcher reads `.env` from the current working directory (falling back to the package root) and injects only supported fields into page memory. Disable with `--no-env`. A real user `.env` is never moved, printed or archived.
|
|
@@ -117,7 +119,7 @@ OPENAI_API_KEY="sk-or-v1-..."
|
|
|
117
119
|
OPENAI_PLAYER1=google/gemma-4-26b-a4b-it
|
|
118
120
|
OPENAI_PLAYER2=qwen/qwen3.8-flash
|
|
119
121
|
OPENAI_PLAYER3=typesafe/jev-1.13
|
|
120
|
-
OPENAI_STARTING_STACK=
|
|
122
|
+
OPENAI_STARTING_STACK=3000
|
|
121
123
|
```
|
|
122
124
|
|
|
123
125
|
| Variable | Notes |
|
|
@@ -125,7 +127,7 @@ OPENAI_STARTING_STACK=10000
|
|
|
125
127
|
| `OPENAI_BASE_URL` | Defaults to `https://api.openai.com/v1`; OpenRouter URLs are auto-detected. |
|
|
126
128
|
| `OPENAI_API_KEY` | Optional for local/unauthenticated endpoints. |
|
|
127
129
|
| `OPENAI_PLAYER1` … `OPENAI_PLAYER10` | Each value seats one model; Jev models auto-route to Decisions on OpenRouter. |
|
|
128
|
-
| `OPENAI_STARTING_STACK` | Chip stack per seat (minimum 100, default
|
|
130
|
+
| `OPENAI_STARTING_STACK` | Chip stack per seat (minimum 100, default 3000). |
|
|
129
131
|
|
|
130
132
|
See [`.env.example`](./.env.example).
|
|
131
133
|
|
|
@@ -186,6 +188,7 @@ pokertools-arena/
|
|
|
186
188
|
├── bin/pokertools-arena.mjs local static launcher + .env bootstrap
|
|
187
189
|
├── src/ browser application source
|
|
188
190
|
│ ├── index.html · app.js · styles.css
|
|
191
|
+
│ ├── config/arena-config.js defaults, limits, presets, host overrides
|
|
189
192
|
│ ├── lib/decision-core.js canonical DOM-free decision core
|
|
190
193
|
│ ├── benchmark/scenarios.js in-app sanity scenarios
|
|
191
194
|
│ ├── env/arena-env.js .env placeholder injected by the launcher
|
package/bin/pokertools-arena.mjs
CHANGED
|
@@ -79,7 +79,7 @@ function envBootstrap(values, overrides = {}) {
|
|
|
79
79
|
};
|
|
80
80
|
const autostart = truthy(flagOrEnv('OPENAI_AUTOSTART'));
|
|
81
81
|
const maxDecisions = Math.max(0, Math.round(Number(flagOrEnv('OPENAI_MAX_DECISIONS') || 0) || 0));
|
|
82
|
-
const startingStack = Math.max(100, Math.round(Number(flagOrEnv('OPENAI_STARTING_STACK') ||
|
|
82
|
+
const startingStack = Math.max(100, Math.round(Number(flagOrEnv('OPENAI_STARTING_STACK') || 3_000) || 3_000));
|
|
83
83
|
return {
|
|
84
84
|
source: '.env',
|
|
85
85
|
settings: {
|