@energy8platform/platform-core 0.16.1 → 0.17.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/README.md +25 -3
- package/dist/dev-bridge.cjs.js +175 -74
- package/dist/dev-bridge.cjs.js.map +1 -1
- package/dist/dev-bridge.d.ts +50 -33
- package/dist/dev-bridge.esm.js +175 -74
- package/dist/dev-bridge.esm.js.map +1 -1
- package/dist/index.cjs.js +175 -74
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +51 -34
- package/dist/index.esm.js +175 -74
- package/dist/index.esm.js.map +1 -1
- package/dist/lua.cjs.js +142 -37
- package/dist/lua.cjs.js.map +1 -1
- package/dist/lua.d.ts +40 -22
- package/dist/lua.esm.js +142 -37
- package/dist/lua.esm.js.map +1 -1
- package/dist/simulation.d.ts +23 -17
- package/package.json +1 -1
- package/scripts/install-simulate.mjs +1 -1
- package/src/dev-bridge/DevBridge.ts +187 -82
- package/src/index.ts +0 -3
- package/src/lua/LuaEngine.ts +128 -23
- package/src/lua/SessionManager.ts +23 -1
- package/src/lua/SimulationRunner.ts +12 -14
- package/src/lua/index.ts +0 -3
- package/src/lua/types.ts +23 -20
- package/src/types.ts +0 -3
package/dist/index.cjs.js
CHANGED
|
@@ -2,6 +2,57 @@
|
|
|
2
2
|
|
|
3
3
|
var gameSdk = require('@energy8platform/game-sdk');
|
|
4
4
|
|
|
5
|
+
/** Default session TTL when GameDefinition.session_ttl is omitted (24h). */
|
|
6
|
+
const DEFAULT_SESSION_TTL_MS = 24 * 60 * 60 * 1000;
|
|
7
|
+
/**
|
|
8
|
+
* Parse a Go-style duration string ("24h", "5ms", "30s", "10m") into
|
|
9
|
+
* milliseconds. Mirrors GameDefinition.SessionTTLDuration on the server.
|
|
10
|
+
*/
|
|
11
|
+
function parseSessionTtl(ttl) {
|
|
12
|
+
if (!ttl)
|
|
13
|
+
return DEFAULT_SESSION_TTL_MS;
|
|
14
|
+
const m = ttl.match(/^(\d+(?:\.\d+)?)(ms|s|m|h)$/);
|
|
15
|
+
if (!m)
|
|
16
|
+
return DEFAULT_SESSION_TTL_MS;
|
|
17
|
+
const n = parseFloat(m[1]);
|
|
18
|
+
switch (m[2]) {
|
|
19
|
+
case 'ms': return n;
|
|
20
|
+
case 's': return n * 1000;
|
|
21
|
+
case 'm': return n * 60 * 1000;
|
|
22
|
+
case 'h': return n * 60 * 60 * 1000;
|
|
23
|
+
default: return DEFAULT_SESSION_TTL_MS;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Validate a bet against the game's bet_levels config — mirrors the server's
|
|
28
|
+
* validateBet. Levels-list takes priority over min/max range.
|
|
29
|
+
*/
|
|
30
|
+
function isBetAllowed(bet, levels) {
|
|
31
|
+
if (!levels)
|
|
32
|
+
return true;
|
|
33
|
+
if (Array.isArray(levels)) {
|
|
34
|
+
return levels.includes(bet);
|
|
35
|
+
}
|
|
36
|
+
if (levels.levels && levels.levels.length > 0) {
|
|
37
|
+
return levels.levels.includes(bet);
|
|
38
|
+
}
|
|
39
|
+
if (levels.min !== undefined && bet < levels.min)
|
|
40
|
+
return false;
|
|
41
|
+
if (levels.max !== undefined && bet > levels.max)
|
|
42
|
+
return false;
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Generate a server-style UUID for a fresh round. Falls back to a counter
|
|
47
|
+
* suffix if `crypto.randomUUID` isn't available (very old runtimes).
|
|
48
|
+
*/
|
|
49
|
+
function generateRoundId() {
|
|
50
|
+
const c = globalThis.crypto;
|
|
51
|
+
if (c && typeof c.randomUUID === 'function')
|
|
52
|
+
return c.randomUUID();
|
|
53
|
+
// Minimal fallback — not crypto-strong, but keeps the wire shape sane.
|
|
54
|
+
return 'dev-' + Math.random().toString(16).slice(2) + '-' + Date.now().toString(16);
|
|
55
|
+
}
|
|
5
56
|
const DEFAULT_CONFIG = {
|
|
6
57
|
balance: 10000,
|
|
7
58
|
currency: 'USD',
|
|
@@ -50,10 +101,19 @@ class DevBridge {
|
|
|
50
101
|
_roundCounter = 0;
|
|
51
102
|
_bridge = null;
|
|
52
103
|
_useLuaServer;
|
|
104
|
+
/** Last PlayResult sent — mirrors what `GET /games/{id}/session` returns. */
|
|
105
|
+
_lastPlayResult = null;
|
|
106
|
+
/** Active session round id; non-null while a session is in progress. */
|
|
107
|
+
_activeRoundId = null;
|
|
108
|
+
/** Wall-clock expiry timestamp for the active session. */
|
|
109
|
+
_sessionExpiresAt = null;
|
|
110
|
+
/** Pre-parsed session TTL from gameDefinition.session_ttl. */
|
|
111
|
+
_sessionTtlMs;
|
|
53
112
|
constructor(config = {}) {
|
|
54
113
|
this._config = { ...DEFAULT_CONFIG, ...config };
|
|
55
114
|
this._balance = this._config.balance;
|
|
56
115
|
this._useLuaServer = !!(this._config.luaScript && this._config.gameDefinition);
|
|
116
|
+
this._sessionTtlMs = parseSessionTtl(this._config.gameDefinition?.session_ttl);
|
|
57
117
|
}
|
|
58
118
|
/** Current mock balance */
|
|
59
119
|
get balance() {
|
|
@@ -119,26 +179,83 @@ class DevBridge {
|
|
|
119
179
|
this.delayedSend('INIT', initData, id);
|
|
120
180
|
}
|
|
121
181
|
handlePlayRequest(payload, id) {
|
|
122
|
-
const { action, bet,
|
|
182
|
+
const { action, bet, params } = payload;
|
|
123
183
|
this._roundCounter++;
|
|
124
184
|
if (this._useLuaServer) {
|
|
185
|
+
const def = this._config.gameDefinition;
|
|
186
|
+
// Mirror the server's INVALID_INPUT short-circuit: an unknown action
|
|
187
|
+
// is rejected before any wallet movement, with no PLAY_RESULT.
|
|
188
|
+
const actionDef = def.actions?.[action];
|
|
189
|
+
if (!actionDef) {
|
|
190
|
+
this.sendError(id, 'INVALID_INPUT', `unknown action "${action}"`);
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
// Bet validation — server returns 400 INVALID_AMOUNT before the
|
|
194
|
+
// engine. We mirror that so games can't silently accept bad bets.
|
|
195
|
+
if (!isBetAllowed(bet, def.bet_levels)) {
|
|
196
|
+
this.sendError(id, 'INVALID_AMOUNT', `bet ${bet} is not in allowed bet_levels`);
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
// Session-state guards (server: 409 ACTIVE_SESSION_EXISTS / 404 NoActiveSession / 410 ExpiredSession).
|
|
200
|
+
const sessionExpired = this._activeRoundId !== null &&
|
|
201
|
+
this._sessionExpiresAt !== null &&
|
|
202
|
+
Date.now() > this._sessionExpiresAt;
|
|
203
|
+
if (actionDef.requires_session) {
|
|
204
|
+
if (sessionExpired) {
|
|
205
|
+
this.clearSessionState();
|
|
206
|
+
this.sendError(id, 'SESSION_EXPIRED', 'game session has expired');
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
if (this._activeRoundId === null) {
|
|
210
|
+
this.sendError(id, 'NO_ACTIVE_SESSION', `action "${action}" requires an active session`);
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
// Non-session action over an active (non-expired) session — server's
|
|
216
|
+
// acquireSession would fail with ACTIVE_SESSION_EXISTS.
|
|
217
|
+
if (this._activeRoundId !== null && !sessionExpired) {
|
|
218
|
+
this.sendError(id, 'ACTIVE_SESSION_EXISTS', 'an active game session already exists');
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
if (sessionExpired) {
|
|
222
|
+
// Drop stale session state so a fresh non-session action can proceed.
|
|
223
|
+
this.clearSessionState();
|
|
224
|
+
}
|
|
225
|
+
}
|
|
125
226
|
// Compute the debit amount for this action — mirrors the platform's
|
|
126
227
|
// server-side rules so Buy Bonus / Ante Bet actions debit the right
|
|
127
228
|
// multiple of bet instead of just the base bet.
|
|
128
229
|
const debit = this.computeDebit(action, bet, params);
|
|
230
|
+
// Server returns 402 INSUFFICIENT_FUNDS before the wallet is touched
|
|
231
|
+
// and never reaches the engine. DevBridge must do the same so the
|
|
232
|
+
// SDK's play() rejects with the right SDKError code.
|
|
233
|
+
if (debit > this._balance) {
|
|
234
|
+
this.sendError(id, 'INSUFFICIENT_FUNDS', `insufficient funds (need ${debit}, have ${this._balance})`);
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
129
237
|
this._balance -= debit;
|
|
130
|
-
|
|
238
|
+
// Round id rules mirror server's playRound:
|
|
239
|
+
// non-session → fresh UUID, client-supplied id is ignored
|
|
240
|
+
// session-based → reuse the active session's round id
|
|
241
|
+
const serverRoundId = actionDef.requires_session
|
|
242
|
+
? this._activeRoundId
|
|
243
|
+
: generateRoundId();
|
|
244
|
+
this.executeLuaOnServer({ action, bet, roundId: serverRoundId, params })
|
|
131
245
|
.then((result) => {
|
|
246
|
+
this._lastPlayResult = result;
|
|
247
|
+
this.updateSessionState(result);
|
|
132
248
|
this._bridge?.send('PLAY_RESULT', result, id);
|
|
133
249
|
})
|
|
134
250
|
.catch((err) => {
|
|
135
251
|
console.error('[DevBridge] Lua server error:', err);
|
|
136
252
|
this._balance += debit;
|
|
137
|
-
this.
|
|
253
|
+
this.sendError(id, 'ENGINE_ERROR', err?.message ?? 'lua execution failed');
|
|
138
254
|
});
|
|
139
255
|
}
|
|
140
256
|
else {
|
|
141
257
|
// Fallback to onPlay callback
|
|
258
|
+
const { roundId } = payload;
|
|
142
259
|
const customResult = this._config.onPlay({ action, bet, roundId, params });
|
|
143
260
|
const totalWin = customResult.totalWin ?? (Math.random() > 0.6 ? bet * (1 + Math.random() * 10) : 0);
|
|
144
261
|
this._balance += totalWin;
|
|
@@ -155,70 +272,59 @@ class DevBridge {
|
|
|
155
272
|
currency: this._config.currency,
|
|
156
273
|
gameId: this._config.gameConfig?.id ?? 'dev-game',
|
|
157
274
|
};
|
|
275
|
+
this._lastPlayResult = result;
|
|
158
276
|
this.delayedSend('PLAY_RESULT', result, id);
|
|
159
277
|
}
|
|
160
278
|
}
|
|
279
|
+
/** Send a PLAY_ERROR correlated to the original PLAY_REQUEST id. */
|
|
280
|
+
sendError(id, code, message) {
|
|
281
|
+
this._bridge?.send('PLAY_ERROR', { code, message }, id);
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Refresh tracked session state from the latest PlayResult.
|
|
285
|
+
* - new/ongoing session → remember roundId + (re)set expiry
|
|
286
|
+
* - completed/no session → clear tracking
|
|
287
|
+
*/
|
|
288
|
+
updateSessionState(result) {
|
|
289
|
+
const session = result.session;
|
|
290
|
+
if (session && !session.completed) {
|
|
291
|
+
if (this._activeRoundId === null) {
|
|
292
|
+
this._activeRoundId = result.roundId;
|
|
293
|
+
this._sessionExpiresAt = Date.now() + this._sessionTtlMs;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
this.clearSessionState();
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
/** Drop active-session tracking (called on completion or expiry sweep). */
|
|
301
|
+
clearSessionState() {
|
|
302
|
+
this._activeRoundId = null;
|
|
303
|
+
this._sessionExpiresAt = null;
|
|
304
|
+
}
|
|
161
305
|
/**
|
|
162
306
|
* Compute the wallet debit for a play request, mirroring the platform's
|
|
163
|
-
*
|
|
164
|
-
* - debit: 'bet'
|
|
165
|
-
* - debit: '
|
|
166
|
-
* -
|
|
167
|
-
*
|
|
307
|
+
* v5 ActionDefinition.DebitAmount:
|
|
308
|
+
* - debit: 'bet' → bet × (cost_multiplier || 1)
|
|
309
|
+
* - debit: 'none'/missing → 0
|
|
310
|
+
* - any other value → 0 (legacy v4 modes like 'buy_bonus_cost'
|
|
311
|
+
* are no longer recognized; surfacing as 0
|
|
312
|
+
* forces config breakage to the surface)
|
|
168
313
|
*
|
|
169
|
-
*
|
|
170
|
-
*
|
|
171
|
-
*
|
|
172
|
-
* default so existing setups don't silently change semantics.
|
|
173
|
-
*
|
|
174
|
-
* Note: in the platform protocol the client sends the *base* bet only
|
|
175
|
-
* (`PlayParams.bet`); the cost multiplier lives in the GameDefinition.
|
|
176
|
-
* Session continuations (free_spin, feature_spin) must be invoked with
|
|
177
|
-
* `bet: 0` — LuaEngine pulls the active session's bet from the persisted
|
|
178
|
-
* session state.
|
|
314
|
+
* The action carries its own cost (cost_multiplier + opaque feature_data).
|
|
315
|
+
* No top-level buy_bonus/ante_bet blocks. No params.ante_bet flag — ante
|
|
316
|
+
* is just a separate action with its own cost_multiplier.
|
|
179
317
|
*/
|
|
180
|
-
computeDebit(action, bet,
|
|
181
|
-
const
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
if (this._config.debug) {
|
|
185
|
-
console.warn(`[DevBridge] Unknown action "${action}" — debiting base bet as fallback.`);
|
|
186
|
-
}
|
|
187
|
-
return bet;
|
|
318
|
+
computeDebit(action, bet, _params) {
|
|
319
|
+
const actionDef = this._config.gameDefinition?.actions?.[action];
|
|
320
|
+
if (!actionDef || actionDef.debit !== 'bet') {
|
|
321
|
+
return 0;
|
|
188
322
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
case 'buy_bonus_cost': {
|
|
193
|
-
const modeName = actionDef.buy_bonus_mode;
|
|
194
|
-
const mode = modeName ? def.buy_bonus?.modes?.[modeName] : undefined;
|
|
195
|
-
if (!mode) {
|
|
196
|
-
console.warn(`[DevBridge] Action "${action}" has debit: "buy_bonus_cost" but no matching buy_bonus mode (${modeName ?? '<unset>'}). Falling back to base bet.`);
|
|
197
|
-
return bet;
|
|
198
|
-
}
|
|
199
|
-
return bet * mode.cost_multiplier;
|
|
200
|
-
}
|
|
201
|
-
case 'ante_bet_cost': {
|
|
202
|
-
const multiplier = def.ante_bet?.cost_multiplier;
|
|
203
|
-
if (typeof multiplier !== 'number') {
|
|
204
|
-
console.warn(`[DevBridge] Action "${action}" has debit: "ante_bet_cost" but no ante_bet.cost_multiplier defined. Falling back to base bet.`);
|
|
205
|
-
return bet;
|
|
206
|
-
}
|
|
207
|
-
return bet * multiplier;
|
|
208
|
-
}
|
|
209
|
-
case 'bet':
|
|
210
|
-
default: {
|
|
211
|
-
// The platform also debits ante_bet pricing on regular `bet` actions
|
|
212
|
-
// when the client signals it via params.ante_bet. Mirror that here.
|
|
213
|
-
if (params && params['ante_bet'] === true) {
|
|
214
|
-
const multiplier = def.ante_bet?.cost_multiplier;
|
|
215
|
-
if (typeof multiplier === 'number') {
|
|
216
|
-
return bet * multiplier;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
return bet;
|
|
220
|
-
}
|
|
323
|
+
const mult = actionDef.cost_multiplier;
|
|
324
|
+
if (typeof mult === 'number' && mult > 0 && mult !== 1) {
|
|
325
|
+
return bet * mult;
|
|
221
326
|
}
|
|
327
|
+
return bet;
|
|
222
328
|
}
|
|
223
329
|
async executeLuaOnServer(params) {
|
|
224
330
|
const response = await fetch('/__lua-play', {
|
|
@@ -246,21 +352,9 @@ class DevBridge {
|
|
|
246
352
|
data: luaResult.data,
|
|
247
353
|
nextActions: luaResult.nextActions,
|
|
248
354
|
session: luaResult.session,
|
|
249
|
-
creditPending
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
gameId: this._config.gameConfig?.id ?? 'dev-game',
|
|
253
|
-
};
|
|
254
|
-
}
|
|
255
|
-
buildFallbackResult(action, bet, roundId) {
|
|
256
|
-
return {
|
|
257
|
-
roundId: roundId ?? `dev-round-${this._roundCounter}`,
|
|
258
|
-
action,
|
|
259
|
-
balanceAfter: this._balance,
|
|
260
|
-
totalWin: 0,
|
|
261
|
-
data: { error: 'Lua execution failed' },
|
|
262
|
-
nextActions: ['spin'],
|
|
263
|
-
session: null,
|
|
355
|
+
// creditPending=true on the wire means "wallet credit failed, queued
|
|
356
|
+
// for retry" — not "credit deferred until session completes". DevBridge
|
|
357
|
+
// never simulates credit failures, so this is always false.
|
|
264
358
|
creditPending: false,
|
|
265
359
|
bonusFreeSpin: null,
|
|
266
360
|
currency: this._config.currency,
|
|
@@ -276,7 +370,14 @@ class DevBridge {
|
|
|
276
370
|
this.delayedSend('BALANCE_UPDATE', { balance: this._balance }, id);
|
|
277
371
|
}
|
|
278
372
|
handleGetState(id) {
|
|
279
|
-
|
|
373
|
+
// Mirror the platform's GET /games/{id}/session: the response wraps the
|
|
374
|
+
// last PlayResult-shaped snapshot, which the SDK reads back as
|
|
375
|
+
// `payload.session.session` (SessionData) and `payload.session.balanceAfter`.
|
|
376
|
+
// Only surface it while a session is active and not yet completed —
|
|
377
|
+
// matches GameUseCase.GetActiveSession.
|
|
378
|
+
const last = this._lastPlayResult;
|
|
379
|
+
const session = last && last.session && !last.session.completed ? last : null;
|
|
380
|
+
this.delayedSend('STATE_RESPONSE', { session }, id);
|
|
280
381
|
}
|
|
281
382
|
handleOpenDeposit() {
|
|
282
383
|
if (this._config.debug) {
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/dev-bridge/DevBridge.ts","../src/EventEmitter.ts","../src/PlatformSession.ts","../src/loading/logo.ts","../src/loading/CSSPreloader.ts"],"sourcesContent":[null,null,null,null,null],"names":["Bridge","CasinoGameSDK"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/dev-bridge/DevBridge.ts","../src/EventEmitter.ts","../src/PlatformSession.ts","../src/loading/logo.ts","../src/loading/CSSPreloader.ts"],"sourcesContent":[null,null,null,null,null],"names":["Bridge","CasinoGameSDK"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,9 +7,13 @@ interface GameDefinition {
|
|
|
7
7
|
actions: Record<string, ActionDefinition>;
|
|
8
8
|
bet_levels?: number[] | BetLevelsConfig;
|
|
9
9
|
max_win?: MaxWinConfig;
|
|
10
|
-
buy_bonus?: BuyBonusConfig;
|
|
11
|
-
ante_bet?: AnteBetConfig;
|
|
12
10
|
persistent_state?: PersistentStateConfig;
|
|
11
|
+
/**
|
|
12
|
+
* Session expiry duration as a Go-style duration string ("24h", "2h", "5ms").
|
|
13
|
+
* Mirrors the platform's GameDefinition.SessionTTL — defaults to 24h on
|
|
14
|
+
* the server when absent. Used by DevBridge to surface SESSION_EXPIRED.
|
|
15
|
+
*/
|
|
16
|
+
session_ttl?: string;
|
|
13
17
|
}
|
|
14
18
|
interface BetLevelsConfig {
|
|
15
19
|
levels?: number[];
|
|
@@ -20,29 +24,31 @@ interface MaxWinConfig {
|
|
|
20
24
|
multiplier?: number;
|
|
21
25
|
fixed?: number;
|
|
22
26
|
}
|
|
23
|
-
interface BuyBonusConfig {
|
|
24
|
-
modes: Record<string, BuyBonusMode>;
|
|
25
|
-
}
|
|
26
|
-
interface BuyBonusMode {
|
|
27
|
-
cost_multiplier: number;
|
|
28
|
-
/** Distribution of forced scatter counts. Optional — if omitted, Lua script handles bonus setup itself. */
|
|
29
|
-
scatter_distribution?: Record<string, number>;
|
|
30
|
-
/** Optional description */
|
|
31
|
-
description?: string;
|
|
32
|
-
}
|
|
33
|
-
interface AnteBetConfig {
|
|
34
|
-
cost_multiplier: number;
|
|
35
|
-
}
|
|
36
27
|
interface PersistentStateConfig {
|
|
37
28
|
vars: string[];
|
|
38
29
|
exposed_vars: string[];
|
|
39
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* v5 action contract — cost_multiplier and feature_data live on the action
|
|
33
|
+
* itself. Removed in v5: top-level `buy_bonus`/`ante_bet` blocks, debit modes
|
|
34
|
+
* `'buy_bonus_cost'`/`'ante_bet_cost'`, action.buy_bonus_mode, params.ante_bet/
|
|
35
|
+
* params.buy_bonus flags. Lua reads action context via `state.action` and
|
|
36
|
+
* `state.action_config = { cost_multiplier, feature_data }`.
|
|
37
|
+
*/
|
|
40
38
|
interface ActionDefinition {
|
|
41
39
|
stage: string;
|
|
42
|
-
|
|
40
|
+
/** Either 'bet' (debit = bet × cost_multiplier) or 'none'/empty (no debit). */
|
|
41
|
+
debit: 'bet' | 'none';
|
|
42
|
+
/** Multiplier on `bet` when debit==='bet'. Defaults to 1.0. */
|
|
43
|
+
cost_multiplier?: number;
|
|
44
|
+
/**
|
|
45
|
+
* Opaque action-specific configuration exposed to Lua as
|
|
46
|
+
* `state.action_config.feature_data`. Common keys: `scatter_distribution`
|
|
47
|
+
* for buy-bonus actions, forced symbol counts, etc.
|
|
48
|
+
*/
|
|
49
|
+
feature_data?: Record<string, unknown>;
|
|
43
50
|
credit?: 'win' | 'none' | 'defer';
|
|
44
51
|
requires_session?: boolean;
|
|
45
|
-
buy_bonus_mode?: string;
|
|
46
52
|
transitions: TransitionRule[];
|
|
47
53
|
input_schema?: Record<string, unknown>;
|
|
48
54
|
}
|
|
@@ -181,6 +187,14 @@ declare class DevBridge {
|
|
|
181
187
|
private _roundCounter;
|
|
182
188
|
private _bridge;
|
|
183
189
|
private _useLuaServer;
|
|
190
|
+
/** Last PlayResult sent — mirrors what `GET /games/{id}/session` returns. */
|
|
191
|
+
private _lastPlayResult;
|
|
192
|
+
/** Active session round id; non-null while a session is in progress. */
|
|
193
|
+
private _activeRoundId;
|
|
194
|
+
/** Wall-clock expiry timestamp for the active session. */
|
|
195
|
+
private _sessionExpiresAt;
|
|
196
|
+
/** Pre-parsed session TTL from gameDefinition.session_ttl. */
|
|
197
|
+
private _sessionTtlMs;
|
|
184
198
|
constructor(config?: DevBridgeConfig);
|
|
185
199
|
/** Current mock balance */
|
|
186
200
|
get balance(): number;
|
|
@@ -194,28 +208,31 @@ declare class DevBridge {
|
|
|
194
208
|
destroy(): void;
|
|
195
209
|
private handleGameReady;
|
|
196
210
|
private handlePlayRequest;
|
|
211
|
+
/** Send a PLAY_ERROR correlated to the original PLAY_REQUEST id. */
|
|
212
|
+
private sendError;
|
|
213
|
+
/**
|
|
214
|
+
* Refresh tracked session state from the latest PlayResult.
|
|
215
|
+
* - new/ongoing session → remember roundId + (re)set expiry
|
|
216
|
+
* - completed/no session → clear tracking
|
|
217
|
+
*/
|
|
218
|
+
private updateSessionState;
|
|
219
|
+
/** Drop active-session tracking (called on completion or expiry sweep). */
|
|
220
|
+
private clearSessionState;
|
|
197
221
|
/**
|
|
198
222
|
* Compute the wallet debit for a play request, mirroring the platform's
|
|
199
|
-
*
|
|
200
|
-
* - debit: 'bet'
|
|
201
|
-
* - debit: '
|
|
202
|
-
* -
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
* Without a gameDefinition (or when the action is unknown), falls back to
|
|
206
|
-
* `bet` and warns. This is the dev-mode behavior the previous
|
|
207
|
-
* implementation always used for every action — kept here as a safe
|
|
208
|
-
* default so existing setups don't silently change semantics.
|
|
223
|
+
* v5 ActionDefinition.DebitAmount:
|
|
224
|
+
* - debit: 'bet' → bet × (cost_multiplier || 1)
|
|
225
|
+
* - debit: 'none'/missing → 0
|
|
226
|
+
* - any other value → 0 (legacy v4 modes like 'buy_bonus_cost'
|
|
227
|
+
* are no longer recognized; surfacing as 0
|
|
228
|
+
* forces config breakage to the surface)
|
|
209
229
|
*
|
|
210
|
-
*
|
|
211
|
-
*
|
|
212
|
-
*
|
|
213
|
-
* `bet: 0` — LuaEngine pulls the active session's bet from the persisted
|
|
214
|
-
* session state.
|
|
230
|
+
* The action carries its own cost (cost_multiplier + opaque feature_data).
|
|
231
|
+
* No top-level buy_bonus/ante_bet blocks. No params.ante_bet flag — ante
|
|
232
|
+
* is just a separate action with its own cost_multiplier.
|
|
215
233
|
*/
|
|
216
234
|
private computeDebit;
|
|
217
235
|
private executeLuaOnServer;
|
|
218
|
-
private buildFallbackResult;
|
|
219
236
|
private handlePlayAck;
|
|
220
237
|
private handleGetBalance;
|
|
221
238
|
private handleGetState;
|
|
@@ -456,4 +473,4 @@ interface NativeSimulationResult extends SimulationResult {
|
|
|
456
473
|
}
|
|
457
474
|
|
|
458
475
|
export { DevBridge, EventEmitter, LOADER_BAR_MAX_WIDTH, PlatformSession, buildLogoSVG, createCSSPreloader, createPlatformSession, removeCSSPreloader };
|
|
459
|
-
export type { ActionDefinition,
|
|
476
|
+
export type { ActionDefinition, AssetBundle, AssetEntry, AssetManifest, BetLevelsConfig, DevBridgeConfig, DistributionBucket, GameDefinition, LoadingScreenConfig, LuaEngineConfig, LuaPlayResult, MaxWinConfig, NativeSimulationConfig, NativeSimulationResult, PersistentStateConfig, PlatformSessionConfig, PlatformSessionEvents, SDKOptions, SessionConfig, SimulationConfig, SimulationRawAccumulators, SimulationResult, StageStats, TransitionRule };
|