@omnitronix/happy-panda-game-engine 0.2.1 → 0.2.3

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.

Potentially problematic release.


This version of @omnitronix/happy-panda-game-engine might be problematic. Click here for more details.

@@ -0,0 +1,38 @@
1
+ /**
2
+ * Debug Command Definitions for Happy Panda
3
+ *
4
+ * Provides metadata about available debug commands for dev-tools discovery.
5
+ *
6
+ * SECURITY: This module throws in production environments as defense-in-depth.
7
+ * The service layer should also block debug commands in production.
8
+ */
9
+ import { DebugCommandDefinition } from '@omnitronix/game-engine-contract';
10
+ /**
11
+ * Available bonus types in Happy Panda.
12
+ */
13
+ export declare const HAPPY_PANDA_BONUS_TYPES: {
14
+ readonly BONUS_BAMBOO_TRIPLETS: "BONUS_BAMBOO_TRIPLETS";
15
+ readonly BONUS_BAMBOO_TWINS: "BONUS_BAMBOO_TWINS";
16
+ readonly BONUS_CAMERA: "BONUS_CAMERA";
17
+ readonly BONUS_FIREWORKS: "BONUS_FIREWORKS";
18
+ readonly RESPIN_CENTER_BAMBOO: "RESPIN_CENTER_BAMBOO";
19
+ };
20
+ /**
21
+ * Security error thrown when debug commands are accessed in production.
22
+ */
23
+ export declare class DebugSecurityError extends Error {
24
+ constructor(message?: string);
25
+ }
26
+ /**
27
+ * Debug command definitions for Happy Panda.
28
+ */
29
+ export declare const HAPPY_PANDA_DEBUG_DEFINITIONS: DebugCommandDefinition[];
30
+ /**
31
+ * Returns debug command definitions for Happy Panda.
32
+ * Throws DebugSecurityError in production environment.
33
+ *
34
+ * @returns Array of debug command definitions
35
+ * @throws DebugSecurityError if NODE_ENV is 'production'
36
+ */
37
+ export declare function getDebugCommandDefinitions(): DebugCommandDefinition[];
38
+ //# sourceMappingURL=debug-command-definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-command-definitions.d.ts","sourceRoot":"","sources":["../../src/debug/debug-command-definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;CAM1B,CAAC;AAEX;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,GAAE,MAAyD;CAI/E;AAED;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,sBAAsB,EA8BjE,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,sBAAsB,EAAE,CAKrE"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ /**
3
+ * Debug Command Definitions for Happy Panda
4
+ *
5
+ * Provides metadata about available debug commands for dev-tools discovery.
6
+ *
7
+ * SECURITY: This module throws in production environments as defense-in-depth.
8
+ * The service layer should also block debug commands in production.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.HAPPY_PANDA_DEBUG_DEFINITIONS = exports.DebugSecurityError = exports.HAPPY_PANDA_BONUS_TYPES = void 0;
12
+ exports.getDebugCommandDefinitions = getDebugCommandDefinitions;
13
+ /**
14
+ * Available bonus types in Happy Panda.
15
+ */
16
+ exports.HAPPY_PANDA_BONUS_TYPES = {
17
+ BONUS_BAMBOO_TRIPLETS: 'BONUS_BAMBOO_TRIPLETS',
18
+ BONUS_BAMBOO_TWINS: 'BONUS_BAMBOO_TWINS',
19
+ BONUS_CAMERA: 'BONUS_CAMERA',
20
+ BONUS_FIREWORKS: 'BONUS_FIREWORKS',
21
+ RESPIN_CENTER_BAMBOO: 'RESPIN_CENTER_BAMBOO',
22
+ };
23
+ /**
24
+ * Security error thrown when debug commands are accessed in production.
25
+ */
26
+ class DebugSecurityError extends Error {
27
+ constructor(message = 'Debug features are not available in production') {
28
+ super(message);
29
+ this.name = 'DebugSecurityError';
30
+ }
31
+ }
32
+ exports.DebugSecurityError = DebugSecurityError;
33
+ /**
34
+ * Debug command definitions for Happy Panda.
35
+ */
36
+ exports.HAPPY_PANDA_DEBUG_DEFINITIONS = [
37
+ {
38
+ code: 'TRIGGER_BONUS',
39
+ commandType: 'DEBUG_TRIGGER_BONUS',
40
+ displayName: 'Trigger Bonus',
41
+ description: 'Force-trigger a specific bonus type for testing. The bonus will be queued and auto-started.',
42
+ category: 'bonus',
43
+ parameters: [
44
+ {
45
+ name: 'bonusType',
46
+ displayName: 'Bonus Type',
47
+ type: 'enum',
48
+ description: 'The type of bonus to trigger',
49
+ required: true,
50
+ enumValues: Object.values(exports.HAPPY_PANDA_BONUS_TYPES),
51
+ },
52
+ {
53
+ name: 'betAmount',
54
+ displayName: 'Bet Amount',
55
+ type: 'number',
56
+ description: 'Bet amount for the bonus round (in cents)',
57
+ required: true,
58
+ min: 1,
59
+ max: 100000,
60
+ defaultValue: 100,
61
+ },
62
+ ],
63
+ dangerous: false,
64
+ warningMessage: undefined,
65
+ },
66
+ ];
67
+ /**
68
+ * Returns debug command definitions for Happy Panda.
69
+ * Throws DebugSecurityError in production environment.
70
+ *
71
+ * @returns Array of debug command definitions
72
+ * @throws DebugSecurityError if NODE_ENV is 'production'
73
+ */
74
+ function getDebugCommandDefinitions() {
75
+ if (process.env.NODE_ENV === 'production') {
76
+ throw new DebugSecurityError();
77
+ }
78
+ return [...exports.HAPPY_PANDA_DEBUG_DEFINITIONS];
79
+ }
80
+ //# sourceMappingURL=debug-command-definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-command-definitions.js","sourceRoot":"","sources":["../../src/debug/debug-command-definitions.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAmEH,gEAKC;AApED;;GAEG;AACU,QAAA,uBAAuB,GAAG;IACrC,qBAAqB,EAAE,uBAAuB;IAC9C,kBAAkB,EAAE,oBAAoB;IACxC,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,iBAAiB;IAClC,oBAAoB,EAAE,sBAAsB;CACpC,CAAC;AAEX;;GAEG;AACH,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,UAAkB,gDAAgD;QAC5E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC;AAED;;GAEG;AACU,QAAA,6BAA6B,GAA6B;IACrE;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,6FAA6F;QAC1G,QAAQ,EAAE,OAAO;QACjB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,8BAA8B;gBAC3C,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,+BAAuB,CAAC;aACnD;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2CAA2C;gBACxD,QAAQ,EAAE,IAAI;gBACd,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,MAAM;gBACX,YAAY,EAAE,GAAG;aAClB;SACF;QACD,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,SAAS;KAC1B;CACF,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,0BAA0B;IACxC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC1C,MAAM,IAAI,kBAAkB,EAAE,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,GAAG,qCAA6B,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Game Engine Interface Types
3
+ *
4
+ * Re-exports types from @omnitronix/game-engine-contract for use by consumers.
5
+ * Defines Happy Panda-specific configuration types.
6
+ */
7
+ import type { ILogger as ILoggerType } from '@omnitronix/game-engine-contract';
8
+ export { GameEngine, GameEngineInfo, } from '@omnitronix/game-engine-contract';
9
+ export { GameActionCommand, CommandProcessingResult, } from '@omnitronix/game-engine-contract';
10
+ export { RngOutcome, RngOutcomeRecord, } from '@omnitronix/game-engine-contract';
11
+ export { ILogger } from '@omnitronix/game-engine-contract';
12
+ /**
13
+ * Configuration options for HappyPandaV1GameEngine
14
+ */
15
+ export interface HappyPandaV1GameEngineConfig {
16
+ logger?: ILoggerType;
17
+ metrics?: unknown;
18
+ }
19
+ //# sourceMappingURL=game-engine.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game-engine.interface.d.ts","sourceRoot":"","sources":["../src/game-engine.interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAG/E,OAAO,EACL,UAAU,EACV,cAAc,GACf,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,UAAU,EACV,gBAAgB,GACjB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * Game Engine Interface Types
4
+ *
5
+ * Re-exports types from @omnitronix/game-engine-contract for use by consumers.
6
+ * Defines Happy Panda-specific configuration types.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=game-engine.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game-engine.interface.js","sourceRoot":"","sources":["../src/game-engine.interface.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -9,46 +9,17 @@
9
9
  * - RngService for audit trail tracking
10
10
  * - Full RNG outcome reporting for compliance
11
11
  */
12
- import { ILogger } from '@omnitronix/game-engine-contract';
12
+ import { DebugIntrospectable, DebugCommandDefinition } from '@omnitronix/game-engine-contract';
13
13
  import { PublicState, PrivateState } from './domain/types';
14
- import { RngOutcome, RngOutcomeRecord } from './rng/rng-service';
15
- export { RngOutcome, RngOutcomeRecord };
16
- export interface GameEngineInfo {
17
- gameCode: string;
18
- version: string;
19
- rtp: number;
20
- gameType: string;
21
- gameName: string;
22
- provider: string;
23
- }
24
- export interface CommandProcessingResult<TPublicState = unknown, TPrivateState = unknown, TOutcome = unknown> {
25
- success: boolean;
26
- publicState: TPublicState;
27
- privateState: TPrivateState;
28
- outcome?: TOutcome;
29
- message?: string;
30
- rngOutcome?: RngOutcome;
31
- }
32
- export interface GameActionCommand<TPayload = unknown> {
33
- id: string;
34
- type: string;
35
- payload?: TPayload;
36
- }
37
- export interface GameEngine<TPublicState = unknown, TPrivateState = unknown, TOutcome = unknown> {
38
- processCommand(publicState: TPublicState, privateState: TPrivateState, command: GameActionCommand): Promise<CommandProcessingResult<TPublicState, TPrivateState, TOutcome>>;
39
- getGameEngineInfo(): GameEngineInfo;
40
- }
41
- export interface HappyPandaV1GameEngineConfig {
42
- logger?: ILogger;
43
- metrics?: unknown;
44
- }
14
+ import { GameEngine, GameEngineInfo, GameActionCommand, CommandProcessingResult, HappyPandaV1GameEngineConfig, RngOutcome, RngOutcomeRecord } from './game-engine.interface';
15
+ export type { GameEngine, GameEngineInfo, GameActionCommand, CommandProcessingResult, HappyPandaV1GameEngineConfig, RngOutcome, RngOutcomeRecord, };
45
16
  /**
46
17
  * Happy Panda V1 Game Engine
47
18
  *
48
19
  * Implements the standard GameEngine interface for use with game-engine-service.
49
20
  * Uses proper RNG infrastructure with full audit trail support.
50
21
  */
51
- export declare class HappyPandaV1GameEngine implements GameEngine<PublicState, PrivateState, unknown> {
22
+ export declare class HappyPandaV1GameEngine implements GameEngine<PublicState, PrivateState, unknown>, DebugIntrospectable {
52
23
  private readonly gameCode;
53
24
  private readonly version;
54
25
  private readonly rtp;
@@ -60,6 +31,7 @@ export declare class HappyPandaV1GameEngine implements GameEngine<PublicState, P
60
31
  private readonly engine;
61
32
  constructor(config?: HappyPandaV1GameEngineConfig);
62
33
  getGameEngineInfo(): GameEngineInfo;
34
+ getDebugCommandDefinitions(): DebugCommandDefinition[];
63
35
  processCommand(publicState: PublicState | null, privateState: PrivateState | null, command: GameActionCommand): Promise<CommandProcessingResult<PublicState, PrivateState, unknown>>;
64
36
  }
65
37
  //# sourceMappingURL=happy-panda-v1.game-engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"happy-panda-v1.game-engine.d.ts","sourceRoot":"","sources":["../src/happy-panda-v1.game-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAE3D,OAAO,EAGL,WAAW,EACX,YAAY,EAKb,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAc,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAM7E,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AAGxC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB,CACtC,YAAY,GAAG,OAAO,EACtB,aAAa,GAAG,OAAO,EACvB,QAAQ,GAAG,OAAO;IAElB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,YAAY,CAAC;IAC1B,YAAY,EAAE,aAAa,CAAC;IAC5B,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB,CAAC,QAAQ,GAAG,OAAO;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,UAAU,CACzB,YAAY,GAAG,OAAO,EACtB,aAAa,GAAG,OAAO,EACvB,QAAQ,GAAG,OAAO;IAElB,cAAc,CACZ,WAAW,EAAE,YAAY,EACzB,YAAY,EAAE,aAAa,EAC3B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,uBAAuB,CAAC,YAAY,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE3E,iBAAiB,IAAI,cAAc,CAAC;CACrC;AAoCD,MAAM,WAAW,4BAA4B;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,qBAAa,sBACX,YAAW,UAAU,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC;IAEzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IAEzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;gBAE9B,MAAM,GAAE,4BAAiC;IAc9C,iBAAiB,IAAI,cAAc;IAW7B,cAAc,CACzB,WAAW,EAAE,WAAW,GAAG,IAAI,EAC/B,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,uBAAuB,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;CAwVxE"}
1
+ {"version":3,"file":"happy-panda-v1.game-engine.d.ts","sourceRoot":"","sources":["../src/happy-panda-v1.game-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAEL,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAGL,WAAW,EACX,YAAY,EAKb,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EACL,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,4BAA4B,EAC5B,UAAU,EACV,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EACV,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,4BAA4B,EAC5B,UAAU,EACV,gBAAgB,GACjB,CAAC;AAuCF;;;;;GAKG;AACH,qBAAa,sBACX,YAAW,UAAU,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAE9E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IAEzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;gBAE9B,MAAM,GAAE,4BAAiC;IAc9C,iBAAiB,IAAI,cAAc;IAWnC,0BAA0B,IAAI,sBAAsB,EAAE;IAIhD,cAAc,CACzB,WAAW,EAAE,WAAW,GAAG,IAAI,EAC/B,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,uBAAuB,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;CA2WxE"}
@@ -12,6 +12,7 @@
12
12
  */
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.HappyPandaV1GameEngine = void 0;
15
+ const debug_command_definitions_1 = require("./debug/debug-command-definitions");
15
16
  const happy_panda_engine_1 = require("./engine/happy-panda-engine");
16
17
  const types_1 = require("./domain/types");
17
18
  const happy_panda_config_1 = require("./config/happy-panda.config");
@@ -78,6 +79,9 @@ class HappyPandaV1GameEngine {
78
79
  provider: this.provider,
79
80
  };
80
81
  }
82
+ getDebugCommandDefinitions() {
83
+ return (0, debug_command_definitions_1.getDebugCommandDefinitions)();
84
+ }
81
85
  async processCommand(publicState, privateState, command) {
82
86
  // Register command for RNG audit trail
83
87
  this.rngService.registerCommand(command.id);
@@ -195,6 +199,19 @@ class HappyPandaV1GameEngine {
195
199
  message: 'Missing bonusType in payload',
196
200
  };
197
201
  }
202
+ // Check if there's actually a bonus to start (prevents double-start issues)
203
+ const hasBonusToStart = publicState.currentSpinType !== happy_panda_config_1.SpinType.BASE_GAME_SPIN ||
204
+ publicState.spinsRemaining > 0 ||
205
+ publicState.hasPendingBonus;
206
+ if (!hasBonusToStart) {
207
+ this.rngService.removeCommand(command.id);
208
+ return {
209
+ success: false,
210
+ publicState,
211
+ privateState,
212
+ message: 'No pending bonuses to start.',
213
+ };
214
+ }
198
215
  // Create session state for executing bonus spins
199
216
  const sessionState = {
200
217
  sessionId: command.id,
@@ -345,6 +362,9 @@ class HappyPandaV1GameEngine {
345
362
  bonusType: params.bonusType,
346
363
  betAmount: params.betAmount,
347
364
  },
365
+ nextSpinType: updatedPrivateState.nextSpinType,
366
+ autoStarted: false,
367
+ requiresStartCommand: true,
348
368
  },
349
369
  message: 'Bonus triggered via debug command',
350
370
  rngOutcome,
@@ -1 +1 @@
1
- {"version":3,"file":"happy-panda-v1.game-engine.js","sourceRoot":"","sources":["../src/happy-panda-v1.game-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"happy-panda-v1.game-engine.js","sourceRoot":"","sources":["../src/happy-panda-v1.game-engine.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,8 +6,9 @@
6
6
  * @packageDocumentation
7
7
  */
8
8
  export { HappyPandaV1GameEngine } from './happy-panda-v1.game-engine';
9
- export type { GameEngine, GameEngineInfo, GameActionCommand, CommandProcessingResult, HappyPandaV1GameEngineConfig, RngOutcome, RngOutcomeRecord, } from './happy-panda-v1.game-engine';
10
- export { ILogger } from '@omnitronix/game-engine-contract';
9
+ export type { GameEngine, GameEngineInfo, GameActionCommand, CommandProcessingResult, RngOutcome, RngOutcomeRecord, ILogger, HappyPandaV1GameEngineConfig, } from './game-engine.interface';
10
+ export { GameType, GameRoundType, GameRoundStatus, CommandType as ContractCommandType, DEBUG_COMMAND_TYPES, isDebugCommand, ConsoleLogger, DebugIntrospectable, DebugCommandDefinition, isDebugIntrospectable, } from '@omnitronix/game-engine-contract';
11
+ export { HAPPY_PANDA_BONUS_TYPES, HAPPY_PANDA_DEBUG_DEFINITIONS, getDebugCommandDefinitions, DebugSecurityError, } from './debug/debug-command-definitions';
11
12
  export { HappyPandaEngine } from './engine';
12
13
  export { Symbol, SpinType, ScreenWinType, GRID, LINE_SHAPES, LINES_PER_DIRECTION, } from './config';
13
14
  export { Grid, Position, LineWin, WallWin, ScatterWin, SpecialWin, SpinWinResult, BonusCounters, PendingBonuses, JackpotState, GameDirection, GameState, PublicState, PrivateState, SpinRequest, SpinResponse, SessionState, RngProvider, CommandType, GameCommand, InitSessionRequest, SpinCommandRequest, GetSymbolsRequest, } from './domain';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EACV,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,4BAA4B,EAC5B,UAAU,EACV,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAG3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C,OAAO,EACL,MAAM,EACN,QAAQ,EACR,aAAa,EACb,IAAI,EACJ,WAAW,EACX,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,OAAO,EACP,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAGrC,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAGtE,YAAY,EACV,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,QAAQ,EACR,aAAa,EACb,eAAe,EACf,WAAW,IAAI,mBAAmB,EAClC,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C,OAAO,EACL,MAAM,EACN,QAAQ,EACR,aAAa,EACb,IAAI,EACJ,WAAW,EACX,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,OAAO,EACP,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAGrC,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -7,10 +7,26 @@
7
7
  * @packageDocumentation
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.RngService = exports.RngClientFactory = exports.DummyRngClient = exports.generateGrid = exports.evaluateScatterWins = exports.evaluateWallWin = exports.evaluateLineWins = exports.evaluateSpin = exports.CommandType = exports.GameDirection = exports.LINES_PER_DIRECTION = exports.LINE_SHAPES = exports.GRID = exports.ScreenWinType = exports.SpinType = exports.Symbol = exports.HappyPandaEngine = exports.HappyPandaV1GameEngine = void 0;
10
+ exports.RngService = exports.RngClientFactory = exports.DummyRngClient = exports.generateGrid = exports.evaluateScatterWins = exports.evaluateWallWin = exports.evaluateLineWins = exports.evaluateSpin = exports.CommandType = exports.GameDirection = exports.LINES_PER_DIRECTION = exports.LINE_SHAPES = exports.GRID = exports.ScreenWinType = exports.SpinType = exports.Symbol = exports.HappyPandaEngine = exports.DebugSecurityError = exports.getDebugCommandDefinitions = exports.HAPPY_PANDA_DEBUG_DEFINITIONS = exports.HAPPY_PANDA_BONUS_TYPES = exports.isDebugIntrospectable = exports.ConsoleLogger = exports.isDebugCommand = exports.DEBUG_COMMAND_TYPES = exports.ContractCommandType = exports.GameRoundStatus = exports.GameRoundType = exports.GameType = exports.HappyPandaV1GameEngine = void 0;
11
11
  // V1 Game Engine (for game-engine-service integration)
12
12
  var happy_panda_v1_game_engine_1 = require("./happy-panda-v1.game-engine");
13
13
  Object.defineProperty(exports, "HappyPandaV1GameEngine", { enumerable: true, get: function () { return happy_panda_v1_game_engine_1.HappyPandaV1GameEngine; } });
14
+ // Re-export contract types for convenience
15
+ var game_engine_contract_1 = require("@omnitronix/game-engine-contract");
16
+ Object.defineProperty(exports, "GameType", { enumerable: true, get: function () { return game_engine_contract_1.GameType; } });
17
+ Object.defineProperty(exports, "GameRoundType", { enumerable: true, get: function () { return game_engine_contract_1.GameRoundType; } });
18
+ Object.defineProperty(exports, "GameRoundStatus", { enumerable: true, get: function () { return game_engine_contract_1.GameRoundStatus; } });
19
+ Object.defineProperty(exports, "ContractCommandType", { enumerable: true, get: function () { return game_engine_contract_1.CommandType; } });
20
+ Object.defineProperty(exports, "DEBUG_COMMAND_TYPES", { enumerable: true, get: function () { return game_engine_contract_1.DEBUG_COMMAND_TYPES; } });
21
+ Object.defineProperty(exports, "isDebugCommand", { enumerable: true, get: function () { return game_engine_contract_1.isDebugCommand; } });
22
+ Object.defineProperty(exports, "ConsoleLogger", { enumerable: true, get: function () { return game_engine_contract_1.ConsoleLogger; } });
23
+ Object.defineProperty(exports, "isDebugIntrospectable", { enumerable: true, get: function () { return game_engine_contract_1.isDebugIntrospectable; } });
24
+ // Debug command definitions
25
+ var debug_command_definitions_1 = require("./debug/debug-command-definitions");
26
+ Object.defineProperty(exports, "HAPPY_PANDA_BONUS_TYPES", { enumerable: true, get: function () { return debug_command_definitions_1.HAPPY_PANDA_BONUS_TYPES; } });
27
+ Object.defineProperty(exports, "HAPPY_PANDA_DEBUG_DEFINITIONS", { enumerable: true, get: function () { return debug_command_definitions_1.HAPPY_PANDA_DEBUG_DEFINITIONS; } });
28
+ Object.defineProperty(exports, "getDebugCommandDefinitions", { enumerable: true, get: function () { return debug_command_definitions_1.getDebugCommandDefinitions; } });
29
+ Object.defineProperty(exports, "DebugSecurityError", { enumerable: true, get: function () { return debug_command_definitions_1.DebugSecurityError; } });
14
30
  // Core engine
15
31
  var engine_1 = require("./engine");
16
32
  Object.defineProperty(exports, "HappyPandaEngine", { enumerable: true, get: function () { return engine_1.HappyPandaEngine; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,uDAAuD;AACvD,2EAAsE;AAA7D,oIAAA,sBAAsB,OAAA;AAY/B,cAAc;AACd,mCAA4C;AAAnC,0GAAA,gBAAgB,OAAA;AAEzB,gBAAgB;AAChB,mCAOkB;AANhB,gGAAA,MAAM,OAAA;AACN,kGAAA,QAAQ,OAAA;AACR,uGAAA,aAAa,OAAA;AACb,8FAAA,IAAI,OAAA;AACJ,qGAAA,WAAW,OAAA;AACX,6GAAA,mBAAmB,OAAA;AAGrB,eAAe;AACf,mCAwBkB;AAbhB,uGAAA,aAAa,OAAA;AAQb,qGAAA,WAAW,OAAA;AAOb,yCAAyC;AACzC,6CAAwG;AAA/F,wGAAA,YAAY,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAAE,2GAAA,eAAe,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAC7E,6BAAqC;AAA5B,mGAAA,YAAY,OAAA;AAQrB,2DAAwD;AAA/C,kHAAA,cAAc,OAAA;AACvB,+DAA6E;AAApE,sHAAA,gBAAgB,OAAA;AACzB,iDAA+C;AAAtC,yGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,uDAAuD;AACvD,2EAAsE;AAA7D,oIAAA,sBAAsB,OAAA;AAc/B,2CAA2C;AAC3C,yEAW0C;AAVxC,gHAAA,QAAQ,OAAA;AACR,qHAAA,aAAa,OAAA;AACb,uHAAA,eAAe,OAAA;AACf,2HAAA,WAAW,OAAuB;AAClC,2HAAA,mBAAmB,OAAA;AACnB,sHAAA,cAAc,OAAA;AACd,qHAAA,aAAa,OAAA;AAGb,6HAAA,qBAAqB,OAAA;AAGvB,4BAA4B;AAC5B,+EAK2C;AAJzC,oIAAA,uBAAuB,OAAA;AACvB,0IAAA,6BAA6B,OAAA;AAC7B,uIAAA,0BAA0B,OAAA;AAC1B,+HAAA,kBAAkB,OAAA;AAGpB,cAAc;AACd,mCAA4C;AAAnC,0GAAA,gBAAgB,OAAA;AAEzB,gBAAgB;AAChB,mCAOkB;AANhB,gGAAA,MAAM,OAAA;AACN,kGAAA,QAAQ,OAAA;AACR,uGAAA,aAAa,OAAA;AACb,8FAAA,IAAI,OAAA;AACJ,qGAAA,WAAW,OAAA;AACX,6GAAA,mBAAmB,OAAA;AAGrB,eAAe;AACf,mCAwBkB;AAbhB,uGAAA,aAAa,OAAA;AAQb,qGAAA,WAAW,OAAA;AAOb,yCAAyC;AACzC,6CAAwG;AAA/F,wGAAA,YAAY,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAAE,2GAAA,eAAe,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAC7E,6BAAqC;AAA5B,mGAAA,YAAY,OAAA;AAQrB,2DAAwD;AAA/C,kHAAA,cAAc,OAAA;AACvB,+DAA6E;AAApE,sHAAA,gBAAgB,OAAA;AACzB,iDAA+C;AAAtC,yGAAA,UAAU,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omnitronix/happy-panda-game-engine",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Happy Panda Game Engine",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -18,7 +18,7 @@
18
18
  "author": "Omnitronix",
19
19
  "license": "UNLICENSED",
20
20
  "dependencies": {
21
- "@omnitronix/game-engine-contract": "^1.1.0",
21
+ "@omnitronix/game-engine-contract": "^1.2.0",
22
22
  "@omnitronix/rng-client-core": "^1.0.9",
23
23
  "class-transformer": "^0.5.1",
24
24
  "class-validator": "^0.14.1",