@energy8platform/platform-core 0.16.2 → 0.17.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.
@@ -1 +1 @@
1
- {"version":3,"file":"simulation.cjs.js","sources":["../src/simulation/NativeSimulationRunner.ts","../src/simulation/ParallelSimulationRunner.ts"],"sourcesContent":[null,null],"names":["randomBytes","tmpdir","join","writeFile","unlink","spawn","dirname","fileURLToPath","execSync","accessSync","fsConstants","cpus","Worker"],"mappings":"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"}
1
+ {"version":3,"file":"simulation.cjs.js","sources":["../src/simulation/NativeSimulationRunner.ts","../src/simulation/ParallelSimulationRunner.ts"],"sourcesContent":[null,null],"names":["randomBytes","tmpdir","join","writeFile","unlink","spawn","dirname","fileURLToPath","execSync","accessSync","fsConstants","cpus","Worker"],"mappings":"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"}
@@ -4,8 +4,6 @@ interface GameDefinition {
4
4
  actions: Record<string, ActionDefinition>;
5
5
  bet_levels?: number[] | BetLevelsConfig;
6
6
  max_win?: MaxWinConfig;
7
- buy_bonus?: BuyBonusConfig;
8
- ante_bet?: AnteBetConfig;
9
7
  persistent_state?: PersistentStateConfig;
10
8
  /**
11
9
  * Session expiry duration as a Go-style duration string ("24h", "2h", "5ms").
@@ -23,29 +21,31 @@ interface MaxWinConfig {
23
21
  multiplier?: number;
24
22
  fixed?: number;
25
23
  }
26
- interface BuyBonusConfig {
27
- modes: Record<string, BuyBonusMode>;
28
- }
29
- interface BuyBonusMode {
30
- cost_multiplier: number;
31
- /** Distribution of forced scatter counts. Optional — if omitted, Lua script handles bonus setup itself. */
32
- scatter_distribution?: Record<string, number>;
33
- /** Optional description */
34
- description?: string;
35
- }
36
- interface AnteBetConfig {
37
- cost_multiplier: number;
38
- }
39
24
  interface PersistentStateConfig {
40
25
  vars: string[];
41
26
  exposed_vars: string[];
42
27
  }
28
+ /**
29
+ * v5 action contract — cost_multiplier and feature_data live on the action
30
+ * itself. Removed in v5: top-level `buy_bonus`/`ante_bet` blocks, debit modes
31
+ * `'buy_bonus_cost'`/`'ante_bet_cost'`, action.buy_bonus_mode, params.ante_bet/
32
+ * params.buy_bonus flags. Lua reads action context via `state.action` and
33
+ * `state.action_config = { cost_multiplier, feature_data }`.
34
+ */
43
35
  interface ActionDefinition {
44
36
  stage: string;
45
- debit: 'bet' | 'buy_bonus_cost' | 'ante_bet_cost' | 'none';
37
+ /** Either 'bet' (debit = bet × cost_multiplier) or 'none'/empty (no debit). */
38
+ debit: 'bet' | 'none';
39
+ /** Multiplier on `bet` when debit==='bet'. Defaults to 1.0. */
40
+ cost_multiplier?: number;
41
+ /**
42
+ * Opaque action-specific configuration exposed to Lua as
43
+ * `state.action_config.feature_data`. Common keys: `scatter_distribution`
44
+ * for buy-bonus actions, forced symbol counts, etc.
45
+ */
46
+ feature_data?: Record<string, unknown>;
46
47
  credit?: 'win' | 'none' | 'defer';
47
48
  requires_session?: boolean;
48
- buy_bonus_mode?: string;
49
49
  transitions: TransitionRule[];
50
50
  input_schema?: Record<string, unknown>;
51
51
  }
@@ -108,6 +108,17 @@ interface SimulationRawAccumulators {
108
108
  hits: number;
109
109
  }
110
110
 
111
+ type NativeRNGKind = 'provably-fair' | 'fast';
112
+ /**
113
+ * Replay mode parameters. Forces single-worker deterministic execution over a
114
+ * specific (server_seed, client_seed, nonce-start) triple — used to reproduce a
115
+ * production round captured in `provably_fair_rounds`.
116
+ */
117
+ interface NativeReplayParams {
118
+ serverSeed: string;
119
+ clientSeed: string;
120
+ nonceStart: number;
121
+ }
111
122
  interface NativeSimulationConfig {
112
123
  /** Path to native simulation binary */
113
124
  binaryPath: string;
@@ -123,6 +134,20 @@ interface NativeSimulationConfig {
123
134
  action?: string;
124
135
  /** Action params (buy_bonus, ante_bet, etc.) */
125
136
  params?: Record<string, unknown>;
137
+ /**
138
+ * Hex-encoded master seed for reproducible runs. The binary derives per-worker
139
+ * server_seeds via sha256(seed || ":" || worker_idx). When omitted, the binary
140
+ * generates one and returns it on the result so the run can be reproduced via
141
+ * `seed: result.masterSeed`. Ignored when `rng === 'fast'`.
142
+ */
143
+ seed?: string;
144
+ /**
145
+ * RNG backend: `'provably-fair'` (default, matches production) or `'fast'`
146
+ * (math/rand PCG — local iteration only, do NOT publish those RTP numbers).
147
+ */
148
+ rng?: NativeRNGKind;
149
+ /** Replay mode: requires `rng: 'provably-fair'` (or default). */
150
+ replay?: NativeReplayParams;
126
151
  /** Progress callback */
127
152
  onProgress?: (completed: number, total: number) => void;
128
153
  }
@@ -150,6 +175,18 @@ interface NativeSimulationResult extends SimulationResult {
150
175
  perStage?: Record<string, StageStats>;
151
176
  /** Win distribution histogram */
152
177
  winDistribution?: DistributionBucket[];
178
+ /** RNG backend that produced these numbers. */
179
+ rngKind?: NativeRNGKind;
180
+ /**
181
+ * Hex master seed that drove worker-seed derivation. Always set for
182
+ * `provably-fair` runs (supplied or auto-generated). Pass back via `seed`
183
+ * to reproduce the run bit-for-bit.
184
+ */
185
+ masterSeed?: string;
186
+ /** Per-worker server_seed sequence (lets support reproduce any individual spin). */
187
+ workerSeeds?: string[];
188
+ /** Echo of replay params when the run was in replay mode. */
189
+ replay?: NativeReplayParams;
153
190
  }
154
191
  declare class NativeSimulationRunner {
155
192
  private config;
@@ -193,4 +230,4 @@ declare class ParallelSimulationRunner {
193
230
  }
194
231
 
195
232
  export { NativeSimulationRunner, ParallelSimulationRunner, findNativeBinary, formatNativeResult };
196
- export type { DistributionBucket, NativeSimulationConfig, NativeSimulationResult, StageStats };
233
+ export type { DistributionBucket, NativeRNGKind, NativeReplayParams, NativeSimulationConfig, NativeSimulationResult, StageStats };
@@ -14,7 +14,10 @@ class NativeSimulationRunner {
14
14
  this.config = config;
15
15
  }
16
16
  async run() {
17
- const { binaryPath, script, gameDefinition, iterations, bet, action, params } = this.config;
17
+ const { binaryPath, script, gameDefinition, iterations, bet, action, params, seed, rng, replay } = this.config;
18
+ if (replay && rng && rng !== 'provably-fair') {
19
+ throw new Error(`Replay mode requires rng="provably-fair" (got rng="${rng}")`);
20
+ }
18
21
  const id = randomBytes(8).toString('hex');
19
22
  const tmpDir = tmpdir();
20
23
  const luaPath = join(tmpDir, `sim-${id}.lua`);
@@ -38,6 +41,15 @@ class NativeSimulationRunner {
38
41
  if (params && Object.keys(params).length > 0) {
39
42
  args.push('-params', JSON.stringify(params));
40
43
  }
44
+ if (rng) {
45
+ args.push('-rng', rng);
46
+ }
47
+ if (seed) {
48
+ args.push('-seed', seed);
49
+ }
50
+ if (replay) {
51
+ args.push('-replay-server-seed', replay.serverSeed, '-replay-client-seed', replay.clientSeed, '-replay-nonce-start', String(replay.nonceStart));
52
+ }
41
53
  // Execute binary
42
54
  const output = await this.exec(binaryPath, args);
43
55
  // Parse JSON output
@@ -111,6 +123,16 @@ function mapGoResult(json) {
111
123
  workersUsed: json.workers_used,
112
124
  perStage,
113
125
  winDistribution: json.win_distribution,
126
+ rngKind: json.rng_kind,
127
+ masterSeed: json.master_seed,
128
+ workerSeeds: json.worker_seeds,
129
+ replay: json.replay
130
+ ? {
131
+ serverSeed: json.replay.server_seed,
132
+ clientSeed: json.replay.client_seed,
133
+ nonceStart: json.replay.nonce_start,
134
+ }
135
+ : undefined,
114
136
  _raw: {
115
137
  totalWagered: json.total_bet,
116
138
  totalWon: json.total_win,
@@ -206,6 +228,15 @@ function formatNativeResult(result) {
206
228
  if (result.workersUsed) {
207
229
  lines.push(`Workers: ${result.workersUsed}`);
208
230
  }
231
+ if (result.rngKind) {
232
+ lines.push(`RNG: ${result.rngKind}`);
233
+ }
234
+ if (result.masterSeed) {
235
+ lines.push(`Master seed: ${result.masterSeed} (pass --seed=${result.masterSeed} to reproduce)`);
236
+ }
237
+ if (result.replay) {
238
+ lines.push(`Replay: server_seed=${result.replay.serverSeed} client_seed=${result.replay.clientSeed} nonce_start=${result.replay.nonceStart}`);
239
+ }
209
240
  lines.push('', '--- Total ---', `Total RTP: ${result.totalRtp.toFixed(2)}%`, `Base Game RTP: ${result.baseGameRtp.toFixed(2)}%`, `Bonus RTP: ${result.bonusRtp.toFixed(2)}%`, `Hit Frequency: ${result.hitFrequency.toFixed(2)}%`, `Max Win: ${result.maxWin.toFixed(2)}x`, `Max Win Cap Hits: ${result.maxWinHits}`);
210
241
  if (result.bonusTriggered > 0) {
211
242
  const frequency = Math.round(result.iterations / result.bonusTriggered);
@@ -1 +1 @@
1
- {"version":3,"file":"simulation.esm.js","sources":["../src/simulation/NativeSimulationRunner.ts","../src/simulation/ParallelSimulationRunner.ts"],"sourcesContent":[null,null],"names":["fsConstants"],"mappings":"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"}
1
+ {"version":3,"file":"simulation.esm.js","sources":["../src/simulation/NativeSimulationRunner.ts","../src/simulation/ParallelSimulationRunner.ts"],"sourcesContent":[null,null],"names":["fsConstants"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@energy8platform/platform-core",
3
- "version": "0.16.2",
3
+ "version": "0.17.1",
4
4
  "description": "Energy8 platform core: Lua engine, DevBridge, RTP simulation, and SDK session orchestration. Renderer-agnostic — pair with any game framework (Pixi, Phaser, Three.js, custom).",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs.js",
@@ -20,7 +20,7 @@ const REPO = 'energy8platform/game-engine';
20
20
  // Binary version — update this when new Go binaries are built and uploaded to GitHub Releases.
21
21
  // The binary is backwards-compatible: it runs any Lua script, so it doesn't need to match
22
22
  // the engine version exactly. Only bump when the Go simulate CLI itself changes.
23
- const BINARY_VERSION = '0.13.0';
23
+ const BINARY_VERSION = '0.17.0';
24
24
 
25
25
  const PLATFORM_MAP = {
26
26
  'darwin-arm64': 'simulate-darwin-arm64',
@@ -376,72 +376,31 @@ export class DevBridge {
376
376
 
377
377
  /**
378
378
  * Compute the wallet debit for a play request, mirroring the platform's
379
- * server-side ActionDefinition.DebitAmount:
380
- * - debit: 'bet' → bet (× ante_bet.cost_multiplier when params.ante_bet=true)
381
- * - debit: 'buy_bonus_cost' → bet × buy_bonus.modes[mode].cost_multiplier
382
- * - debit: 'ante_bet_cost' bet × ante_bet.cost_multiplier
383
- * - anything else (incl. 'none', '', missing action) → 0
379
+ * v5 ActionDefinition.DebitAmount:
380
+ * - debit: 'bet' → bet × (cost_multiplier || 1)
381
+ * - debit: 'none'/missing0
382
+ * - any other value 0 (legacy v4 modes like 'buy_bonus_cost'
383
+ * are no longer recognized; surfacing as 0
384
+ * forces config breakage to the surface)
384
385
  *
385
- * The empty/missing default returns 0 to match the server's
386
- * `decimal.Zero` fallback important for table-game continuations
387
- * (e.g. blackjack `hit`/`stand`) where the action exists with no debit.
388
- *
389
- * Note: in the platform protocol the client sends the *base* bet only
390
- * (`PlayParams.bet`); the cost multiplier lives in the GameDefinition.
391
- * Session continuations must be invoked with the triggering bet — LuaEngine
392
- * pulls the active session's bet from the persisted session state.
386
+ * The action carries its own cost (cost_multiplier + opaque feature_data).
387
+ * No top-level buy_bonus/ante_bet blocks. No params.ante_bet flag ante
388
+ * is just a separate action with its own cost_multiplier.
393
389
  */
394
390
  private computeDebit(
395
391
  action: string,
396
392
  bet: number,
397
- params: Record<string, unknown> | undefined,
393
+ _params: Record<string, unknown> | undefined,
398
394
  ): number {
399
- const def = this._config.gameDefinition;
400
- const actionDef = def?.actions?.[action];
401
-
402
- if (!def || !actionDef) {
403
- // Server short-circuits unknown actions before computing debit;
404
- // returning 0 here keeps semantics aligned if the guard is ever bypassed.
395
+ const actionDef = this._config.gameDefinition?.actions?.[action];
396
+ if (!actionDef || actionDef.debit !== 'bet') {
405
397
  return 0;
406
398
  }
407
-
408
- switch (actionDef.debit) {
409
- case 'buy_bonus_cost': {
410
- const modeName = actionDef.buy_bonus_mode;
411
- const mode = modeName ? def.buy_bonus?.modes?.[modeName] : undefined;
412
- if (!mode) {
413
- console.warn(
414
- `[DevBridge] Action "${action}" has debit: "buy_bonus_cost" but no matching buy_bonus mode (${modeName ?? '<unset>'}). Falling back to base bet.`,
415
- );
416
- return bet;
417
- }
418
- return bet * mode.cost_multiplier;
419
- }
420
- case 'ante_bet_cost': {
421
- const multiplier = def.ante_bet?.cost_multiplier;
422
- if (typeof multiplier !== 'number') {
423
- console.warn(
424
- `[DevBridge] Action "${action}" has debit: "ante_bet_cost" but no ante_bet.cost_multiplier defined. Falling back to base bet.`,
425
- );
426
- return bet;
427
- }
428
- return bet * multiplier;
429
- }
430
- case 'bet': {
431
- // The platform also debits ante_bet pricing on regular `bet` actions
432
- // when the client signals it via params.ante_bet. Mirror that here.
433
- if (params && (params as Record<string, unknown>)['ante_bet'] === true) {
434
- const multiplier = def.ante_bet?.cost_multiplier;
435
- if (typeof multiplier === 'number') {
436
- return bet * multiplier;
437
- }
438
- }
439
- return bet;
440
- }
441
- default:
442
- // 'none', '', or any unrecognized debit mode → 0 (server default).
443
- return 0;
399
+ const mult = actionDef.cost_multiplier;
400
+ if (typeof mult === 'number' && mult > 0 && mult !== 1) {
401
+ return bet * mult;
444
402
  }
403
+ return bet;
445
404
  }
446
405
 
447
406
  private async executeLuaOnServer(params: PlayParams): Promise<PlayResultData> {
package/src/index.ts CHANGED
@@ -72,9 +72,6 @@ export type {
72
72
  LuaEngineConfig,
73
73
  LuaPlayResult,
74
74
  MaxWinConfig,
75
- BuyBonusConfig,
76
- BuyBonusMode,
77
- AnteBetConfig,
78
75
  PersistentStateConfig,
79
76
  BetLevelsConfig,
80
77
  SimulationConfig,
@@ -153,25 +153,16 @@ export class LuaEngine {
153
153
  const gameDataParams = this.persistentState.getGameDataParams();
154
154
  Object.assign(stateParams, gameDataParams);
155
155
 
156
- // Handle buy bonus
157
- if (action.buy_bonus_mode && this.gameDefinition.buy_bonus) {
158
- const mode = this.gameDefinition.buy_bonus.modes[action.buy_bonus_mode];
159
- if (mode) {
160
- stateParams.buy_bonus = true;
161
- stateParams.buy_bonus_mode = action.buy_bonus_mode;
162
- if (mode.scatter_distribution) {
163
- stateParams.forced_scatter_count = this.pickFromDistribution(mode.scatter_distribution);
164
- }
165
- }
166
- }
167
-
168
- // Handle ante bet
169
- if (clientParams?.ante_bet && this.gameDefinition.ante_bet) {
170
- stateParams.ante_bet = true;
156
+ // v5: forced scatter rolls come from the action's own feature_data.
157
+ // Output of the roll stays in state.params (it's random per-call), while
158
+ // the static config flows through state.action_config.feature_data.
159
+ const scatterDist = readScatterDistribution(action.feature_data);
160
+ if (scatterDist) {
161
+ stateParams.forced_scatter_count = this.pickFromDistribution(scatterDist);
171
162
  }
172
163
 
173
164
  // 5. Execute Lua (server: executor.Execute(stage, state))
174
- const luaResult = this.callLuaExecute(action.stage, actionName, stateParams, stateVars);
165
+ const luaResult = this.callLuaExecute(action.stage, actionName, stateParams, stateVars, action);
175
166
 
176
167
  // 6. Process result (server: ApplyLuaResult)
177
168
  const totalWinMultiplier = typeof luaResult.total_win === 'number' ? luaResult.total_win : 0;
@@ -335,11 +326,12 @@ export class LuaEngine {
335
326
  action: string,
336
327
  params: Record<string, unknown>,
337
328
  variables: Record<string, number>,
329
+ actionDef: ActionDefinition,
338
330
  ): Record<string, unknown> {
339
331
  lua.lua_getglobal(this.L, cachedToLuastring('execute'));
340
332
 
341
- // Build state table: {stage, action, params, variables}
342
- lua.lua_createtable(this.L, 0, 4);
333
+ // Build state table: {stage, action, action_config, params, variables}
334
+ lua.lua_createtable(this.L, 0, 5);
343
335
 
344
336
  // state.stage
345
337
  lua.lua_pushstring(this.L, cachedToLuastring(stage));
@@ -349,6 +341,18 @@ export class LuaEngine {
349
341
  lua.lua_pushstring(this.L, cachedToLuastring(action));
350
342
  lua.lua_setfield(this.L, -2, cachedToLuastring('action'));
351
343
 
344
+ // state.action_config — v5: { cost_multiplier, feature_data }.
345
+ // Server's lua_runtime.go substitutes 1.0 when cost_multiplier is unset
346
+ // so scripts never see 0; mirror that default.
347
+ const mult = typeof actionDef.cost_multiplier === 'number' && actionDef.cost_multiplier > 0
348
+ ? actionDef.cost_multiplier
349
+ : 1;
350
+ pushJSValue(this.L, {
351
+ cost_multiplier: mult,
352
+ feature_data: actionDef.feature_data ?? {},
353
+ });
354
+ lua.lua_setfield(this.L, -2, cachedToLuastring('action_config'));
355
+
352
356
  // state.params
353
357
  pushJSValue(this.L, params);
354
358
  lua.lua_setfield(this.L, -2, cachedToLuastring('params'));
@@ -462,6 +466,24 @@ export class LuaEngine {
462
466
 
463
467
  // ─── Module helpers ─────────────────────────────────────
464
468
 
469
+ /**
470
+ * Pull a `scatter_distribution` map out of an action's feature_data, if any.
471
+ * Returns null when missing or wrong-shaped — caller falls through with no
472
+ * forced_scatter_count injection (matches server behavior).
473
+ */
474
+ function readScatterDistribution(
475
+ featureData: Record<string, unknown> | undefined,
476
+ ): Record<string, number> | null {
477
+ if (!featureData) return null;
478
+ const dist = featureData['scatter_distribution'];
479
+ if (!dist || typeof dist !== 'object') return null;
480
+ const out: Record<string, number> = {};
481
+ for (const [k, v] of Object.entries(dist as Record<string, unknown>)) {
482
+ if (typeof v === 'number') out[k] = v;
483
+ }
484
+ return Object.keys(out).length > 0 ? out : null;
485
+ }
486
+
465
487
  /**
466
488
  * Strip _persist_* and _persist_game_* keys from a data map — matches
467
489
  * server's MapStateForHistory used when recording session round history.
@@ -140,27 +140,25 @@ export class SimulationRunner {
140
140
  };
141
141
  }
142
142
 
143
- /** Calculate the real cost of one spin (accounting for buy bonus / ante bet) */
143
+ /**
144
+ * Calculate the real cost of one spin — mirrors v5
145
+ * ActionDefinition.DebitAmount: bet × (cost_multiplier || 1) when
146
+ * debit==='bet', otherwise 0. Returns `bet` as a fallback for unknown
147
+ * actions so RTP math still progresses (we count those as wagered).
148
+ */
144
149
  private calculateSpinCost(
145
150
  action: string,
146
151
  bet: number,
147
152
  gameDefinition: GameDefinition,
148
- params?: Record<string, unknown>,
153
+ _params?: Record<string, unknown>,
149
154
  ): number {
150
- // Check if this is a buy bonus action
151
155
  const actionDef = gameDefinition.actions[action];
152
- if (actionDef?.buy_bonus_mode && gameDefinition.buy_bonus) {
153
- const mode = gameDefinition.buy_bonus.modes[actionDef.buy_bonus_mode];
154
- if (mode) {
155
- return bet * mode.cost_multiplier;
156
- }
157
- }
158
-
159
- // Check ante bet
160
- if (params?.ante_bet && gameDefinition.ante_bet) {
161
- return bet * gameDefinition.ante_bet.cost_multiplier;
156
+ if (!actionDef) return bet;
157
+ if (actionDef.debit !== 'bet') return 0;
158
+ const mult = actionDef.cost_multiplier;
159
+ if (typeof mult === 'number' && mult > 0 && mult !== 1) {
160
+ return bet * mult;
162
161
  }
163
-
164
162
  return bet;
165
163
  }
166
164
  }
package/src/lua/index.ts CHANGED
@@ -17,9 +17,6 @@ export type {
17
17
  LuaEngineConfig,
18
18
  LuaPlayResult,
19
19
  MaxWinConfig,
20
- BuyBonusConfig,
21
- BuyBonusMode,
22
- AnteBetConfig,
23
20
  PersistentStateConfig,
24
21
  BetLevelsConfig,
25
22
  SimulationConfig,
package/src/lua/types.ts CHANGED
@@ -8,8 +8,6 @@ export interface GameDefinition {
8
8
  actions: Record<string, ActionDefinition>;
9
9
  bet_levels?: number[] | BetLevelsConfig;
10
10
  max_win?: MaxWinConfig;
11
- buy_bonus?: BuyBonusConfig;
12
- ante_bet?: AnteBetConfig;
13
11
  persistent_state?: PersistentStateConfig;
14
12
  /**
15
13
  * Session expiry duration as a Go-style duration string ("24h", "2h", "5ms").
@@ -30,22 +28,6 @@ export interface MaxWinConfig {
30
28
  fixed?: number;
31
29
  }
32
30
 
33
- export interface BuyBonusConfig {
34
- modes: Record<string, BuyBonusMode>;
35
- }
36
-
37
- export interface BuyBonusMode {
38
- cost_multiplier: number;
39
- /** Distribution of forced scatter counts. Optional — if omitted, Lua script handles bonus setup itself. */
40
- scatter_distribution?: Record<string, number>;
41
- /** Optional description */
42
- description?: string;
43
- }
44
-
45
- export interface AnteBetConfig {
46
- cost_multiplier: number;
47
- }
48
-
49
31
  export interface PersistentStateConfig {
50
32
  vars: string[];
51
33
  exposed_vars: string[];
@@ -53,12 +35,27 @@ export interface PersistentStateConfig {
53
35
 
54
36
  // ─── Actions & Transitions ──────────────────────────────
55
37
 
38
+ /**
39
+ * v5 action contract — cost_multiplier and feature_data live on the action
40
+ * itself. Removed in v5: top-level `buy_bonus`/`ante_bet` blocks, debit modes
41
+ * `'buy_bonus_cost'`/`'ante_bet_cost'`, action.buy_bonus_mode, params.ante_bet/
42
+ * params.buy_bonus flags. Lua reads action context via `state.action` and
43
+ * `state.action_config = { cost_multiplier, feature_data }`.
44
+ */
56
45
  export interface ActionDefinition {
57
46
  stage: string;
58
- debit: 'bet' | 'buy_bonus_cost' | 'ante_bet_cost' | 'none';
47
+ /** Either 'bet' (debit = bet × cost_multiplier) or 'none'/empty (no debit). */
48
+ debit: 'bet' | 'none';
49
+ /** Multiplier on `bet` when debit==='bet'. Defaults to 1.0. */
50
+ cost_multiplier?: number;
51
+ /**
52
+ * Opaque action-specific configuration exposed to Lua as
53
+ * `state.action_config.feature_data`. Common keys: `scatter_distribution`
54
+ * for buy-bonus actions, forced symbol counts, etc.
55
+ */
56
+ feature_data?: Record<string, unknown>;
59
57
  credit?: 'win' | 'none' | 'defer';
60
58
  requires_session?: boolean;
61
- buy_bonus_mode?: string;
62
59
  transitions: TransitionRule[];
63
60
  input_schema?: Record<string, unknown>;
64
61
  }