@octane-rgs/sdk 0.1.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 ADDED
@@ -0,0 +1,147 @@
1
+ # @octane/rgs-sdk
2
+
3
+ Type-safe SDK for integrating games with Octane RGS.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install @octane/rgs-sdk
9
+ ```
10
+
11
+ ## Quick Start
12
+
13
+ ```typescript
14
+ import { OctaneRgsClient } from "@octane/rgs-sdk";
15
+
16
+ const rgs = new OctaneRgsClient({
17
+ baseUrl: "https://your-rgs.example.com",
18
+ apiKey: "your-api-key",
19
+ });
20
+
21
+ // Launch a player session
22
+ const { sessionToken, tableSessionId } = await rgs.launch({
23
+ externalPlayerId: "player-123",
24
+ tableSessionId: "550e8400-e29b-41d4-a716-446655440000",
25
+ tableGameCode: "baccarat",
26
+ currency: "USD",
27
+ });
28
+
29
+ // Create a round
30
+ const { roundId } = await rgs.createRound({
31
+ tableSessionId,
32
+ bettingOpenAt: new Date().toISOString(),
33
+ bettingClosedAt: new Date(Date.now() + 30_000).toISOString(),
34
+ });
35
+
36
+ // Place a bet
37
+ const { remainingBalance } = await rgs.placeBet({
38
+ sessionToken,
39
+ roundId,
40
+ betOption: "player",
41
+ amount: 1000,
42
+ requestId: crypto.randomUUID(),
43
+ });
44
+
45
+ // Settle the round
46
+ const result = await rgs.settle({
47
+ roundId,
48
+ gameType: "baccarat",
49
+ multipliers: [
50
+ { betOption: "player", multiplier: 2 },
51
+ { betOption: "banker", multiplier: 0 },
52
+ ],
53
+ });
54
+ ```
55
+
56
+ ## API Reference
57
+
58
+ ### Sessions
59
+
60
+ | Method | Description |
61
+ |--------|-------------|
62
+ | `launch(params)` | Create a player session and authorize with the operator |
63
+ | `getBalance(sessionToken)` | Get player's current balance |
64
+ | `getPlayerSession(sessionToken)` | Get session details |
65
+ | `markStarted(sessionToken)` | Mark a session as started |
66
+
67
+ ### Table Sessions
68
+
69
+ | Method | Description |
70
+ |--------|-------------|
71
+ | `upsertTable(params)` | Create or update a table session |
72
+ | `endTable(tableSessionId, endedAt)` | End a table session |
73
+ | `getTableSession(tableSessionId)` | Get table session details |
74
+ | `lobbies(publicOnly?)` | List active table sessions |
75
+ | `updateRoomStates(params)` | Batch update room states |
76
+ | `cleanup(params)` | Clean up stale sessions |
77
+
78
+ ### Rounds
79
+
80
+ | Method | Description |
81
+ |--------|-------------|
82
+ | `createRound(params)` | Create a new betting round |
83
+ | `listRounds(tableSessionId, order?)` | List rounds for a table |
84
+ | `findRound(params)` | Find a specific round |
85
+ | `updateRoundOutcome(roundId, data)` | Store game outcome data |
86
+ | `roundHistory(tableSessionId, limit?)` | Get round history with outcomes |
87
+
88
+ ### Betting
89
+
90
+ | Method | Description |
91
+ |--------|-------------|
92
+ | `placeBet(params)` | Place a bet on a round |
93
+ | `doubleBet(params)` | Double existing bets |
94
+ | `undoBet(params)` | Undo the last bet action |
95
+ | `settle(params)` | Settle a round with multipliers |
96
+ | `voidRound(roundId)` | Void a round and refund bets |
97
+
98
+ ### Queries
99
+
100
+ | Method | Description |
101
+ |--------|-------------|
102
+ | `roundWinners(roundId)` | Get winners for a round |
103
+ | `lastPayout(sessionToken)` | Get player's last payout amount |
104
+ | `betStatistics(roundId, sides)` | Get bet distribution stats |
105
+ | `playerHistory(sessionToken)` | Get player's bet/payout history |
106
+
107
+ ### RNG (Provably Fair)
108
+
109
+ | Method | Description |
110
+ |--------|-------------|
111
+ | `getRng(params)` | Generate provably fair random numbers |
112
+ | `revealSeed(params)` | Reveal server seed for verification |
113
+
114
+ ### Operator Adapter
115
+
116
+ When registering your operator with Octane RGS, implement the `OperatorAdapterConfig` interface:
117
+
118
+ ```typescript
119
+ import type { OperatorAdapterConfig } from "@octane/rgs-sdk";
120
+
121
+ const myAdapter: OperatorAdapterConfig = {
122
+ async authorizePlayer(authPayload) { /* verify player with your system */ },
123
+ async placeBet(request) { /* debit player wallet */ },
124
+ async cancelBet(request) { /* refund player wallet */ },
125
+ async cancelUndo(request) { /* re-debit after failed undo reversal */ },
126
+ async getBalance(request) { /* query player balance */ },
127
+ async settleRound(settlement) { /* credit player winnings */ },
128
+ async voidRound(roundId, voidBets) { /* refund voided bets */ },
129
+ };
130
+ ```
131
+
132
+ ## Error Handling
133
+
134
+ All methods throw `RgsError` on failure:
135
+
136
+ ```typescript
137
+ import { RgsError } from "@octane/rgs-sdk";
138
+
139
+ try {
140
+ await rgs.placeBet({ ... });
141
+ } catch (err) {
142
+ if (err instanceof RgsError) {
143
+ console.log(err.message); // "Betting for this round is closed"
144
+ console.log(err.status); // 400
145
+ }
146
+ }
147
+ ```
@@ -0,0 +1,125 @@
1
+ import type { RgsClientOptions, LaunchParams, LaunchResult, PlaceBetParams, DoubleBetParams, UndoBetParams, BetResult, SettleParams, SettleResult, CreateRoundParams, CreateRoundResult, TableSession, RoundRecord, PlayerSession, BetStatistic, RngParams, RngResult, RevealSeedParams } from "./types";
2
+ export declare class RgsError extends Error {
3
+ readonly status: number;
4
+ constructor(message: string, status: number);
5
+ }
6
+ export declare class OctaneRgsClient {
7
+ private readonly baseUrl;
8
+ private readonly apiKey;
9
+ private readonly fetchInit;
10
+ constructor(options: RgsClientOptions);
11
+ private post;
12
+ launch(params: LaunchParams, apiKey?: string): Promise<LaunchResult>;
13
+ operatorInfo(apiKey: string): Promise<{
14
+ id: string;
15
+ code: string;
16
+ playerVerifyUrl: string | null;
17
+ betConfig: {
18
+ minBet?: number;
19
+ maxBet?: number;
20
+ chips?: number[];
21
+ };
22
+ }>;
23
+ getBalance(sessionToken: string): Promise<{
24
+ balance: number;
25
+ currency: string;
26
+ }>;
27
+ getPlayerSession(sessionToken: string): Promise<PlayerSession>;
28
+ markStarted(sessionToken: string): Promise<{
29
+ id: string;
30
+ startedAt: string | null;
31
+ }>;
32
+ upsertTable(params: {
33
+ tableSessionId: string;
34
+ avatarName: string;
35
+ tableGameCode: string;
36
+ isPublic?: boolean;
37
+ startedAt?: string;
38
+ endedAt?: string | null;
39
+ }): Promise<{
40
+ session: TableSession;
41
+ }>;
42
+ endTable(tableSessionId: string, endedAt: string): Promise<{
43
+ session: TableSession;
44
+ }>;
45
+ getTableSession(tableSessionId: string): Promise<TableSession>;
46
+ lobbies(publicOnly?: boolean): Promise<{
47
+ sessions: TableSession[];
48
+ }>;
49
+ activeByGame(gameCode: string): Promise<TableSession>;
50
+ activeByAvatar(slug: string): Promise<TableSession>;
51
+ activeByAvatarGame(avatarName: string, gameName: string): Promise<TableSession>;
52
+ updateRoomStates(params: {
53
+ dormantIds?: string[];
54
+ activeIds?: string[];
55
+ }): Promise<{
56
+ updated: boolean;
57
+ }>;
58
+ cleanup(params: {
59
+ cutoffMinutes: number;
60
+ limit: number;
61
+ all?: boolean;
62
+ }): Promise<{
63
+ deadSessionIds: string[];
64
+ roundsToVoid: string[];
65
+ }>;
66
+ createRound(params: CreateRoundParams): Promise<CreateRoundResult>;
67
+ listRounds(tableSessionId: string, order?: "asc" | "desc"): Promise<{
68
+ rounds: RoundRecord[];
69
+ }>;
70
+ findRound(params: {
71
+ tableSessionId: string;
72
+ roundId?: string;
73
+ roundNumber?: number;
74
+ }): Promise<{
75
+ round: RoundRecord;
76
+ }>;
77
+ updateRoundOutcome(roundId: string, gameRoundData: Record<string, unknown>): Promise<{
78
+ round: RoundRecord;
79
+ }>;
80
+ roundHistory(tableSessionId: string, limit?: number): Promise<{
81
+ rounds: RoundRecord[];
82
+ }>;
83
+ placeBet(params: PlaceBetParams): Promise<BetResult>;
84
+ doubleBet(params: DoubleBetParams): Promise<BetResult>;
85
+ undoBet(params: UndoBetParams): Promise<BetResult>;
86
+ settle(params: SettleParams): Promise<SettleResult>;
87
+ voidRound(roundId: string): Promise<{
88
+ voided: boolean;
89
+ }>;
90
+ roundWinners(roundId: string): Promise<{
91
+ winners: {
92
+ playerSessionId: string;
93
+ winAmount: number;
94
+ }[];
95
+ }>;
96
+ lastPayout(sessionToken: string): Promise<{
97
+ amount: number;
98
+ }>;
99
+ betStatistics(roundId: string, sides: string[]): Promise<{
100
+ statistics: Record<string, BetStatistic>;
101
+ }>;
102
+ playerHistory(sessionToken: string, limit?: number, offset?: number): Promise<{
103
+ bets: {
104
+ id: string;
105
+ createdAt: string;
106
+ action: string;
107
+ amount: number;
108
+ roundId: string;
109
+ balanceAfter: number;
110
+ }[];
111
+ payouts: {
112
+ roundId: string;
113
+ amount: number;
114
+ status: string;
115
+ createdAt: string;
116
+ }[];
117
+ }>;
118
+ getRng(params: RngParams): Promise<RngResult>;
119
+ revealSeed(params: RevealSeedParams): Promise<{
120
+ serverSeed: string;
121
+ clientSeed: string;
122
+ nonce: number;
123
+ }>;
124
+ }
125
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js ADDED
@@ -0,0 +1,128 @@
1
+ export class RgsError extends Error {
2
+ status;
3
+ constructor(message, status) {
4
+ super(message);
5
+ this.status = status;
6
+ }
7
+ }
8
+ export class OctaneRgsClient {
9
+ baseUrl;
10
+ apiKey;
11
+ fetchInit;
12
+ constructor(options) {
13
+ this.baseUrl = options.baseUrl.replace(/\/$/, "");
14
+ this.apiKey = options.apiKey;
15
+ this.fetchInit = options.fetchInit ?? {};
16
+ }
17
+ async post(path, body, overrideKey) {
18
+ const res = await fetch(`${this.baseUrl}/api/v1${path}`, {
19
+ method: "POST",
20
+ headers: { "Content-Type": "application/json", "X-Api-Key": overrideKey ?? this.apiKey },
21
+ body: JSON.stringify(body),
22
+ ...this.fetchInit,
23
+ });
24
+ if (!res.ok) {
25
+ const err = await res.json().catch(() => ({ error: res.statusText }));
26
+ const msg = typeof err.error === "string" ? err.error : JSON.stringify(err.error ?? `RGS ${res.status}`);
27
+ throw new RgsError(msg, res.status);
28
+ }
29
+ return res.json();
30
+ }
31
+ // ── Sessions ────────────────────────────────────────────────
32
+ launch(params, apiKey) {
33
+ return this.post("/sessions/launch", params, apiKey);
34
+ }
35
+ operatorInfo(apiKey) {
36
+ return this.post("/sessions/operator-info", {}, apiKey);
37
+ }
38
+ getBalance(sessionToken) {
39
+ return this.post("/sessions/balance", { sessionToken });
40
+ }
41
+ getPlayerSession(sessionToken) {
42
+ return this.post("/sessions/get-player-session", { sessionToken });
43
+ }
44
+ markStarted(sessionToken) {
45
+ return this.post("/sessions/mark-started", { sessionToken });
46
+ }
47
+ // ── Table Sessions ──────────────────────────────────────────
48
+ upsertTable(params) {
49
+ return this.post("/sessions/upsert-table", params);
50
+ }
51
+ endTable(tableSessionId, endedAt) {
52
+ return this.post("/sessions/end-table", { tableSessionId, endedAt });
53
+ }
54
+ getTableSession(tableSessionId) {
55
+ return this.post("/sessions/table-session", { tableSessionId });
56
+ }
57
+ lobbies(publicOnly) {
58
+ return this.post("/sessions/lobbies", { publicOnly });
59
+ }
60
+ activeByGame(gameCode) {
61
+ return this.post("/sessions/active-by-game", { gameCode });
62
+ }
63
+ activeByAvatar(slug) {
64
+ return this.post("/sessions/active-by-avatar", { slug });
65
+ }
66
+ activeByAvatarGame(avatarName, gameName) {
67
+ return this.post("/sessions/active-by-avatar-game", { avatarName, gameName });
68
+ }
69
+ updateRoomStates(params) {
70
+ return this.post("/sessions/update-room-states", params);
71
+ }
72
+ cleanup(params) {
73
+ return this.post("/sessions/cleanup", params);
74
+ }
75
+ // ── Rounds ──────────────────────────────────────────────────
76
+ createRound(params) {
77
+ return this.post("/sessions/round", params);
78
+ }
79
+ listRounds(tableSessionId, order) {
80
+ return this.post("/sessions/list-rounds", { tableSessionId, order });
81
+ }
82
+ findRound(params) {
83
+ return this.post("/sessions/find-round", params);
84
+ }
85
+ updateRoundOutcome(roundId, gameRoundData) {
86
+ return this.post("/sessions/update-round-outcome", { roundId, gameRoundData });
87
+ }
88
+ roundHistory(tableSessionId, limit) {
89
+ return this.post("/sessions/history", { tableSessionId, limit });
90
+ }
91
+ // ── Betting ─────────────────────────────────────────────────
92
+ placeBet(params) {
93
+ return this.post("/bets/place", params);
94
+ }
95
+ doubleBet(params) {
96
+ return this.post("/bets/double", params);
97
+ }
98
+ undoBet(params) {
99
+ return this.post("/bets/undo", params);
100
+ }
101
+ settle(params) {
102
+ return this.post("/bets/settle", params);
103
+ }
104
+ voidRound(roundId) {
105
+ return this.post("/bets/void", { roundId });
106
+ }
107
+ // ── Queries ──────────────────────────────────────────────────
108
+ roundWinners(roundId) {
109
+ return this.post("/queries/round-winners", { roundId });
110
+ }
111
+ lastPayout(sessionToken) {
112
+ return this.post("/queries/last-payout", { sessionToken });
113
+ }
114
+ betStatistics(roundId, sides) {
115
+ return this.post("/queries/bet-statistics", { roundId, sides });
116
+ }
117
+ playerHistory(sessionToken, limit, offset) {
118
+ return this.post("/queries/player-history", { sessionToken, limit, offset });
119
+ }
120
+ // ── RNG ─────────────────────────────────────────────────────
121
+ getRng(params) {
122
+ return this.post("/rng/generate", params);
123
+ }
124
+ revealSeed(params) {
125
+ return this.post("/rng/reveal", params);
126
+ }
127
+ }
128
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { OctaneRgsClient, RgsError } from "./client";
2
+ export type { RgsClientOptions, LaunchParams, LaunchResult, PlaceBetParams, DoubleBetParams, UndoBetParams, BetResult, SettleParams, SettleResult, SettlementMultiplier, CreateRoundParams, CreateRoundResult, TableSession, RoundRecord, PlayerSession, BetStatistic, RngParams, RngResult, RevealSeedParams, OperatorAdapterConfig, } from "./types";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACrD,YAAY,EACR,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAC5C,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EACzD,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAChD,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EACtD,SAAS,EAAE,SAAS,EAAE,gBAAgB,EACtC,qBAAqB,GACxB,MAAM,SAAS,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { OctaneRgsClient, RgsError } from "./client";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,229 @@
1
+ export interface RgsClientOptions {
2
+ baseUrl: string;
3
+ apiKey: string;
4
+ fetchInit?: RequestInit;
5
+ }
6
+ export interface LaunchParams {
7
+ externalPlayerId: string;
8
+ tableSessionId: string;
9
+ tableGameCode: string;
10
+ avatarName?: string;
11
+ currency?: string;
12
+ country?: string;
13
+ funPlay?: boolean;
14
+ isTest?: boolean;
15
+ isPublic?: boolean;
16
+ ttlSeconds?: number;
17
+ authPayload?: Record<string, unknown>;
18
+ }
19
+ export interface LaunchResult {
20
+ sessionToken: string;
21
+ tableSessionId: string;
22
+ betConfig: {
23
+ minBet?: number;
24
+ maxBet?: number;
25
+ chips?: number[];
26
+ };
27
+ playerVerifyUrl: string | null;
28
+ expiresIn: number;
29
+ }
30
+ export interface PlaceBetParams {
31
+ sessionToken: string;
32
+ roundId: string;
33
+ betOption: string;
34
+ amount: number;
35
+ requestId: string;
36
+ }
37
+ export interface DoubleBetParams {
38
+ sessionToken: string;
39
+ roundId: string;
40
+ bets?: {
41
+ betOption: string;
42
+ amount: number;
43
+ }[];
44
+ requestId: string;
45
+ }
46
+ export interface UndoBetParams {
47
+ sessionToken: string;
48
+ roundId: string;
49
+ requestId: string;
50
+ }
51
+ export interface BetResult {
52
+ accepted: boolean;
53
+ remainingBalance: number;
54
+ undoneBets?: {
55
+ betOption: string;
56
+ amount: number;
57
+ }[];
58
+ }
59
+ export interface SettlementMultiplier {
60
+ betOption: string;
61
+ multiplier: number;
62
+ scale?: number;
63
+ }
64
+ export interface SettleParams {
65
+ roundId: string;
66
+ gameType: string;
67
+ multipliers: SettlementMultiplier[];
68
+ }
69
+ export interface SettleResult {
70
+ settled: boolean;
71
+ status: "settled" | "already_settled" | "not_found" | "no_bets";
72
+ playerCount?: number;
73
+ payoutsSucceeded?: number;
74
+ payoutsFailed?: number;
75
+ }
76
+ export interface CreateRoundParams {
77
+ tableSessionId: string;
78
+ bettingOpenAt: string;
79
+ bettingClosedAt: string;
80
+ roundId?: string;
81
+ }
82
+ export interface CreateRoundResult {
83
+ roundId: string;
84
+ roundNumber: number;
85
+ }
86
+ export interface TableSession {
87
+ id: string;
88
+ tableGameCode: string;
89
+ avatarName: string;
90
+ roomState: "active" | "dormant" | "dead";
91
+ startedAt: string | null;
92
+ endedAt: string | null;
93
+ isPublic: boolean;
94
+ createdAt: string;
95
+ }
96
+ export interface RoundRecord {
97
+ id: string;
98
+ tableSession: string;
99
+ roundNumber: number;
100
+ bettingOpenAt: string;
101
+ bettingClosedAt: string;
102
+ createdAt: string;
103
+ gameRoundData: Record<string, unknown> | null;
104
+ status: string;
105
+ }
106
+ export interface PlayerSession {
107
+ id: string;
108
+ operatorCode: string;
109
+ playerIdentifier: string;
110
+ tableSessionId: string;
111
+ tableGameCode: string;
112
+ currency: string | null;
113
+ country: string | null;
114
+ funPlay: boolean;
115
+ hasStarted: boolean;
116
+ startedAt: string | null;
117
+ expiresAt: string | null;
118
+ }
119
+ export interface BetStatistic {
120
+ playerCount: number;
121
+ totalStaked: number;
122
+ percentage: number;
123
+ }
124
+ export interface RngParams {
125
+ sessionToken?: string;
126
+ roundId?: string;
127
+ count?: number;
128
+ clientSeed?: string;
129
+ }
130
+ export interface RngResult {
131
+ values: number[];
132
+ serverSeedHash: string;
133
+ nonce: number;
134
+ }
135
+ export interface RevealSeedParams {
136
+ sessionToken?: string;
137
+ roundId?: string;
138
+ }
139
+ export interface OperatorAdapterConfig {
140
+ authorizePlayer(authPayload: Record<string, unknown>): Promise<{
141
+ playerId: string;
142
+ sessionToken: string;
143
+ currency: string;
144
+ }>;
145
+ placeBet(request: {
146
+ roundId: string;
147
+ bet: {
148
+ betOption: string;
149
+ amount: number;
150
+ } | {
151
+ betOption: string;
152
+ amount: number;
153
+ }[];
154
+ player: {
155
+ playerId: string;
156
+ sessionToken: string;
157
+ currency: string;
158
+ };
159
+ }): Promise<{
160
+ accepted: boolean;
161
+ remainingBalance: number;
162
+ operatorBetId?: string;
163
+ reason?: string;
164
+ }>;
165
+ cancelBet(request: {
166
+ roundId: string;
167
+ amount: number;
168
+ player: {
169
+ playerId: string;
170
+ sessionToken: string;
171
+ currency: string;
172
+ };
173
+ originalBetIds?: string[];
174
+ }): Promise<{
175
+ remainingBalance: number;
176
+ }>;
177
+ cancelUndo(request: {
178
+ roundId: string;
179
+ amount: number;
180
+ player: {
181
+ playerId: string;
182
+ sessionToken: string;
183
+ currency: string;
184
+ };
185
+ reason: string;
186
+ }): Promise<{
187
+ remainingBalance: number;
188
+ }>;
189
+ getBalance(request: {
190
+ player: {
191
+ playerId: string;
192
+ sessionToken: string;
193
+ currency: string;
194
+ };
195
+ }): Promise<{
196
+ available: number;
197
+ currency: string;
198
+ }>;
199
+ settleRound(settlement: {
200
+ roundId: string;
201
+ gameType: string;
202
+ outcome: Record<string, unknown>;
203
+ settledBets: {
204
+ betId: string;
205
+ player: {
206
+ playerId: string;
207
+ sessionToken: string;
208
+ currency: string;
209
+ };
210
+ betOption: string;
211
+ amount: number;
212
+ payout: number;
213
+ operatorBetId?: string | null;
214
+ }[];
215
+ }): Promise<void>;
216
+ voidRound?(roundId: string, voidBets: {
217
+ betId: string;
218
+ player: {
219
+ playerId: string;
220
+ sessionToken: string;
221
+ currency: string;
222
+ };
223
+ betOption: string;
224
+ amount: number;
225
+ payout?: number;
226
+ operatorBetId?: string | null;
227
+ }[]): Promise<void>;
228
+ }
229
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "@octane-rgs/sdk",
3
+ "version": "0.1.0",
4
+ "description": "Type-safe SDK for integrating with Octane RGS",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": ["dist"],
9
+ "scripts": {
10
+ "build": "tsc",
11
+ "prepublishOnly": "npm run build"
12
+ },
13
+ "devDependencies": {
14
+ "typescript": "^5.7.3"
15
+ },
16
+ "license": "UNLICENSED"
17
+ }