@kalamba/sdk 0.16.0 → 0.23.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.
@@ -0,0 +1,13 @@
1
+ /**
2
+ * BSD 3-Clause License
3
+ * Copyright (c) 2025, Kalamba Games Limited
4
+ */
5
+ const s = {
6
+ json: JSON.parse
7
+ }, e = {
8
+ json: JSON.stringify
9
+ };
10
+ export {
11
+ s as d,
12
+ e
13
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * BSD 3-Clause License
3
+ * Copyright (c) 2025, Kalamba Games Limited
4
+ */
5
+ "use strict";const s={json:JSON.parse},e={json:JSON.stringify};exports.decoders=s;exports.encoders=e;
package/dist/index.cjs CHANGED
@@ -2,4 +2,4 @@
2
2
  * BSD 3-Clause License
3
3
  * Copyright (c) 2025, Kalamba Games Limited
4
4
  */
5
- "use strict";var A=m=>{throw TypeError(m)};var N=(m,i,t)=>i.has(m)||A("Cannot "+t);var r=(m,i,t)=>(N(m,i,"read from private field"),t?t.call(m):i.get(m)),e=(m,i,t)=>i.has(m)?A("Cannot add the same private member more than once"):i instanceof WeakSet?i.add(m):i.set(m,t),u=(m,i,t,n)=>(N(m,i,"write to private field"),n?n.call(m,t):i.set(m,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("./errors-BXO3dlhS.cjs");function I(m){const i=Object.prototype.toString.call(m);return m instanceof Date||typeof m=="object"&&i==="[object Date]"?new m.constructor(+m):typeof m=="number"||i==="[object Number]"||typeof m=="string"||i==="[object String]"?new Date(m):new Date(NaN)}function L(m){const i=I(m);return i.setHours(23,59,59,999),i}function H(){return L(Date.now())}function U(m){const i=I(m);return i.setHours(0,0,0,0),i}function k(){return U(Date.now())}const $=3e4;var F,S;class K{constructor(i){e(this,F);e(this,S,$);u(this,F,i)}buildHeaders(){const i={};return r(this,F).token&&(i.Authorization=`Bearer ${r(this,F).token}`),i}async request(i,t){const n=new URL(i,r(this,F).apiUrl??window.location.origin);return n.search=new URLSearchParams({...t}).toString(),await(await fetch(n,{signal:AbortSignal.timeout(r(this,S)),headers:this.buildHeaders()})).json()}async getRounds(i){return this.request("/rounds",i)}async getRound(i,t){return this.request(`/rounds/${i}`,t)}}F=new WeakMap,S=new WeakMap;const b={limit:100,page:0};var s,f;class O{constructor({config:i}){e(this,s);e(this,f);u(this,s,i),u(this,f,new K({apiUrl:i.api.gameHistoryUrl}))}async getRound(i,{pagination:t=b}={}){return r(this,f).getRound(i,{gameCode:r(this,s).api.game,operatorCode:r(this,s).api.brand,username:r(this,s).api.user,...t})}async getLastRound(){return r(this,s).api.lastRoundId?this.getRound(r(this,s).api.lastRoundId):null}async getRounds({searchPeriod:i={fromDateTime:k(),toDateTime:H()},pagination:t=b}={}){const n=r(this,s).api.user.replace(/^user_/,"").replace(new RegExp(`_${r(this,s).api.integration}$`),"");return r(this,f).getRounds({gameCode:r(this,s).api.game,operatorCode:r(this,s).api.integration,username:n,fromDataTime:i.fromDateTime.toISOString(),toDateTime:i.toDateTime.toISOString(),...t})}}s=new WeakMap,f=new WeakMap;function _(m,i){return m*i/100}function P(m,i,t){if(!["string","number"].includes(typeof i))return"NaN";const{locales:n}=m;try{return new Intl.NumberFormat(n,{...t,numberingSystem:"latn",style:"decimal"}).format(+i)}catch{return`${i}`}}const w="XTS";var y=(m=>(m.Currency="Currency",m.Number="Number",m))(y||{}),l=(m=>(m.Coins="Coins",m.Money="Money",m))(l||{});const T={ARSB:{displayAs:"ARS",maximumFractionDigits:2,minimumFractionDigits:2},CHIPS:{maximumFractionDigits:0,minimumFractionDigits:0},BNB:{maximumFractionDigits:6,minimumFractionDigits:6},BUSD:{maximumFractionDigits:4,minimumFractionDigits:4},BTC:{maximumFractionDigits:8,minimumFractionDigits:2},mBTC:{maximumFractionDigits:5,minimumFractionDigits:2},uBTC:{maximumFractionDigits:2,minimumFractionDigits:2},BCH:{maximumFractionDigits:8,minimumFractionDigits:2},mBCH:{maximumFractionDigits:2,minimumFractionDigits:2},ETH:{maximumFractionDigits:8,minimumFractionDigits:2},mETH:{maximumFractionDigits:5,minimumFractionDigits:2},uETH:{maximumFractionDigits:2,minimumFractionDigits:2},SOC:{maximumFractionDigits:8,minimumFractionDigits:2},LTC:{maximumFractionDigits:8,minimumFractionDigits:2},mLTC:{maximumFractionDigits:5,minimumFractionDigits:2},uLTC:{maximumFractionDigits:2,minimumFractionDigits:2},DOG:{maximumFractionDigits:4,minimumFractionDigits:2},USDC:{maximumFractionDigits:4,minimumFractionDigits:4},USDT:{maximumFractionDigits:4,minimumFractionDigits:2},TRX:{maximumFractionDigits:2,minimumFractionDigits:2},TUSD:{maximumFractionDigits:2,minimumFractionDigits:2},DAI:{maximumFractionDigits:2,minimumFractionDigits:2},XMR:{maximumFractionDigits:4,minimumFractionDigits:4},CBET:{maximumFractionDigits:0,minimumFractionDigits:0},kCBET:{maximumFractionDigits:2,minimumFractionDigits:2},SHIB:{maximumFractionDigits:0,minimumFractionDigits:0},kSHIB:{maximumFractionDigits:4,minimumFractionDigits:2},NEO:{maximumFractionDigits:4,minimumFractionDigits:4},BSV:{maximumFractionDigits:4,minimumFractionDigits:4},EOS:{maximumFractionDigits:4,minimumFractionDigits:4},DASH:{maximumFractionDigits:4,minimumFractionDigits:4},XLM:{maximumFractionDigits:2,minimumFractionDigits:2},KRW:{maximumFractionDigits:2,minimumFractionDigits:2},kVND:{maximumFractionDigits:4,minimumFractionDigits:2},kIDR:{maximumFractionDigits:4,minimumFractionDigits:2},RSD:{maximumFractionDigits:2,minimumFractionDigits:2},STAKEGC:{displayAs:"GC",maximumFractionDigits:0,minimumFractionDigits:0},STAKESC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},"BK.":{maximumFractionDigits:2,minimumFractionDigits:2},"BT.":{maximumFractionDigits:2,minimumFractionDigits:2},"FC.":{maximumFractionDigits:2,minimumFractionDigits:2},"GC.":{maximumFractionDigits:2,minimumFractionDigits:2},"SC.":{maximumFractionDigits:2,minimumFractionDigits:2},GC:{maximumFractionDigits:2,minimumFractionDigits:2},SC:{maximumFractionDigits:2,minimumFractionDigits:2},GLD:{displayAs:"GC.",maximumFractionDigits:2,minimumFractionDigits:2},SS1:{displayAs:"SC.",maximumFractionDigits:2,minimumFractionDigits:2},SWEP:{displayAs:"SC.",maximumFractionDigits:2,minimumFractionDigits:2},GCLC:{displayAs:"GC.",maximumFractionDigits:2,minimumFractionDigits:2},SWPC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},LUKC:{displayAs:"LC",maximumFractionDigits:2,minimumFractionDigits:2},SVC:{maximumFractionDigits:2,minimumFractionDigits:2},DOT:{maximumFractionDigits:4,minimumFractionDigits:4},SOL:{maximumFractionDigits:4,minimumFractionDigits:4},XRP:{maximumFractionDigits:2,minimumFractionDigits:2},ADA:{maximumFractionDigits:2,minimumFractionDigits:2},TON:{maximumFractionDigits:4,minimumFractionDigits:4},FTN:{maximumFractionDigits:4,minimumFractionDigits:4},OMR:{maximumFractionDigits:2,minimumFractionDigits:2},JOD:{maximumFractionDigits:2,minimumFractionDigits:2},BHD:{maximumFractionDigits:2,minimumFractionDigits:2},KWD:{maximumFractionDigits:2,minimumFractionDigits:2},BNS:{maximumFractionDigits:2,minimumFractionDigits:2},GRSC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},GRGC:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},EEGP:{displayAs:"EP",maximumFractionDigits:2,minimumFractionDigits:2},EPGP:{displayAs:"PP",maximumFractionDigits:2,minimumFractionDigits:2},MMK:{maximumFractionDigits:2,minimumFractionDigits:2},XOF:{maximumFractionDigits:2,minimumFractionDigits:2},VND:{maximumFractionDigits:2,minimumFractionDigits:2},BIF:{maximumFractionDigits:2,minimumFractionDigits:2},CLP:{maximumFractionDigits:2,minimumFractionDigits:2},GNF:{maximumFractionDigits:2,minimumFractionDigits:2},IQD:{maximumFractionDigits:2,minimumFractionDigits:2},ISK:{maximumFractionDigits:2,minimumFractionDigits:2},PYG:{maximumFractionDigits:2,minimumFractionDigits:2},XAF:{maximumFractionDigits:2,minimumFractionDigits:2},LAK:{maximumFractionDigits:2,minimumFractionDigits:2},LBP:{maximumFractionDigits:2,minimumFractionDigits:2},MGA:{maximumFractionDigits:2,minimumFractionDigits:2},SOS:{maximumFractionDigits:2,minimumFractionDigits:2},UGX:{maximumFractionDigits:2,minimumFractionDigits:2},ALL:{maximumFractionDigits:2,minimumFractionDigits:2},IRR:{maximumFractionDigits:2,minimumFractionDigits:2}};function G(m){return m in T}function X(m){return G(m)?{...T[m],currency:w}:{currency:m}}function j(m,i,t){const n=i.format(+m);return G(t)?n.replace(w,T[t].displayAs??t):n}function q(m,i,t){const{maximumFractionDigits:n,minimumFractionDigits:a}=t.resolvedOptions();return P(m,i,{maximumFractionDigits:n,minimumFractionDigits:a})}function V(m,i,{as:t}={as:"Currency"}){const{canShowCurrency:n,currency:a}=m;return t==="Number"||!n?`${i}`:`${i} ${a}`}function W(m,i,{as:t,from:n}={as:"Currency",from:"Money"},a){if(!["string","number"].includes(typeof i))return"NaN";const{canShowCurrency:o=!0,coinValueInCents:g,currency:h,locales:R}=m;n==="Coins"&&(i=_(+i,g));try{const B=X(h),E=new Intl.NumberFormat(R,{...B,...a,currencyDisplay:"symbol",numberingSystem:"latn",style:"currency"});return t==="Number"||!o?q(m,i,E):j(i,E,h)}catch{return V(m,i,{as:t})}}var c;class M{constructor({config:i}){e(this,c);u(this,c,i)}formatNumber(i,t){const n={locales:[r(this,c).ui.language]};return P(n,i,t)}formatCurrency(i,t={as:y.Currency,from:l.Money},n){const a=r(this,c).ui.feature.showCurrency,o=r(this,c).api.coinValueInCents,g=r(this,c).api.currency||w,h=[r(this,c).ui.language];return W({canShowCurrency:a,coinValueInCents:o,currency:g,locales:h},i,t,n)}formatCoins(i,t){return this.formatCurrency(i,{as:y.Number,from:l.Coins},t)}formatCoinsWithCurrency(i,t){return this.formatCurrency(i,{as:y.Currency,from:l.Coins},t)}formatMoney(i,t){return this.formatCurrency(i,{as:y.Number,from:l.Money},t)}formatMoneyWithCurrency(i,t){return this.formatCurrency(i,{as:y.Currency,from:l.Money},t)}}c=new WeakMap;const v=()=>{};var x,C,d,p;class z{constructor({messagePort:i}){e(this,x);e(this,C);e(this,d);e(this,p);u(this,p,i),this.on("configured",t=>{u(this,x,t),u(this,d,new M({config:t})),u(this,C,new O({config:t}))}),this.on("playResponse",t=>{this.config.api.lastRoundId=t.contract.roundId})}get config(){if(!r(this,x))throw new Error("config is not initialized, you must open game first");return r(this,x)}get history(){if(!r(this,C))throw new Error("config is not initialized, you must open game first");return r(this,C)}get i18n(){if(!r(this,d))throw new Error("i18n is not initialized, you must open game first");return r(this,d)}request(i,...[t]){return new Promise(n=>{this.on(`${i}Response`,a=>n({type:"response",response:a}),{once:!0}),this.on(`${i}Error`,a=>n({type:"error",error:a}),{once:!0}),this.send(i,t)})}on(i,t,n){const a=function o(g){g.data.message===`kalamba:wrapper:${i}`&&(v("on",g.data.message.replace(/^kalamba:/,""),g.data.payload),t(g.data.payload),n!=null&&n.once&&window.removeEventListener("message",o))};window.addEventListener("message",a)}send(i,...[t]){r(this,p).postMessage({message:`kalamba:sdk:${i}`,payload:t},"*")}configure(i){this.send("configure",i)}async openGame(){const i=new Promise(n=>this.on("configured",n,{once:!0})),t=await this.request("openGame");if(t.type==="response")return await i,t.response;throw t.error.type==="timeout"?new D.TimeoutError:new D.RgsError(t.error.data)}async play(i,t,n="SPIN"){const a={contract:i,extra:t,actionType:n},o=await this.request("play",a);if(o.type==="response")return o.response;throw o.error.type==="timeout"?new D.TimeoutError:new D.RgsError(o.error.data)}}x=new WeakMap,C=new WeakMap,d=new WeakMap,p=new WeakMap;exports.RgsError=D.RgsError;exports.RgsErrorCode=D.RgsErrorCode;exports.TimeoutError=D.TimeoutError;exports.History=O;exports.I18n=M;exports.KalambaSdk=z;
5
+ "use strict";var E=m=>{throw TypeError(m)};var N=(m,i,t)=>i.has(m)||E("Cannot "+t);var r=(m,i,t)=>(N(m,i,"read from private field"),t?t.call(m):i.get(m)),u=(m,i,t)=>i.has(m)?E("Cannot add the same private member more than once"):i instanceof WeakSet?i.add(m):i.set(m,t),e=(m,i,t,n)=>(N(m,i,"write to private field"),n?n.call(m,t):i.set(m,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("./errors-BXO3dlhS.cjs"),O=require("./encoders-DVHzIpWT.cjs"),H=3e4;var F,S;class k{constructor(i){u(this,F);u(this,S,H);e(this,F,i)}buildHeaders(){const i={};return r(this,F).token&&(i.Authorization=`Bearer ${r(this,F).token}`),i}async request(i,t){const n=new URL(i,r(this,F).apiUrl??window.location.origin);return n.search=new URLSearchParams({...t}).toString(),await(await fetch(n,{signal:AbortSignal.timeout(r(this,S)),headers:this.buildHeaders()})).json()}async getRounds(i){return this.request("/rounds",i)}async getRound(i,t){return this.request(`/rounds/${i}`,t)}}F=new WeakMap,S=new WeakMap;const I=Symbol.for("constructDateFrom");function K(m,i){return typeof m=="function"?m(i):m&&typeof m=="object"&&I in m?m[I](i):m instanceof Date?new m.constructor(i):new Date(i)}function b(m,i){return K(m,m)}function $(m,i){const t=b(m);return t.setHours(0,0,0,0),t}function X(m,i){const t=b(m);return t.setHours(23,59,59,999),t}function _(m){return X(Date.now())}function q(m){return $(Date.now())}const G={limit:100,page:0};var a,x;class P{constructor({config:i}){u(this,a);u(this,x);e(this,a,i),e(this,x,new k({apiUrl:i.api.gameHistoryUrl}))}async getRound(i,{pagination:t=G}={}){return r(this,x).getRound(i,{gameCode:r(this,a).api.game,operatorCode:r(this,a).api.brand,username:r(this,a).api.user,...t})}async getLastRound(){return r(this,a).api.lastRoundId?this.getRound(r(this,a).api.lastRoundId):null}async getRounds({searchPeriod:i={fromDateTime:q(),toDateTime:_()},pagination:t=G}={}){const n=r(this,a).api.user.replace(/^user_/,"").replace(new RegExp(`_${r(this,a).api.integration}$`),"");return r(this,x).getRounds({gameCode:r(this,a).api.game,operatorCode:r(this,a).api.integration,username:n,fromDataTime:i.fromDateTime.toISOString(),toDateTime:i.toDateTime.toISOString(),...t})}}a=new WeakMap,x=new WeakMap;function V(m,i){return m*i/100}function L(m,i,t){if(!["string","number"].includes(typeof i))return"NaN";const{locales:n}=m;try{return new Intl.NumberFormat(n,{...t,numberingSystem:"latn",style:"decimal"}).format(+i)}catch{return`${i}`}}const T="XTS";var y=(m=>(m.Currency="Currency",m.Number="Number",m))(y||{}),C=(m=>(m.Coins="Coins",m.Money="Money",m))(C||{});const w={ARSB:{displayAs:"ARS",maximumFractionDigits:2,minimumFractionDigits:2},CHIPS:{maximumFractionDigits:0,minimumFractionDigits:0},BNB:{maximumFractionDigits:6,minimumFractionDigits:6},BUSD:{maximumFractionDigits:4,minimumFractionDigits:4},BTC:{maximumFractionDigits:8,minimumFractionDigits:2},mBTC:{maximumFractionDigits:5,minimumFractionDigits:2},uBTC:{maximumFractionDigits:2,minimumFractionDigits:2},BCH:{maximumFractionDigits:8,minimumFractionDigits:2},mBCH:{maximumFractionDigits:2,minimumFractionDigits:2},ETH:{maximumFractionDigits:8,minimumFractionDigits:2},mETH:{maximumFractionDigits:5,minimumFractionDigits:2},uETH:{maximumFractionDigits:2,minimumFractionDigits:2},SOC:{maximumFractionDigits:8,minimumFractionDigits:2},LTC:{maximumFractionDigits:8,minimumFractionDigits:2},mLTC:{maximumFractionDigits:5,minimumFractionDigits:2},uLTC:{maximumFractionDigits:2,minimumFractionDigits:2},DOG:{maximumFractionDigits:4,minimumFractionDigits:2},USDC:{maximumFractionDigits:4,minimumFractionDigits:4},USDT:{maximumFractionDigits:4,minimumFractionDigits:2},TRX:{maximumFractionDigits:2,minimumFractionDigits:2},TUSD:{maximumFractionDigits:2,minimumFractionDigits:2},DAI:{maximumFractionDigits:2,minimumFractionDigits:2},XMR:{maximumFractionDigits:4,minimumFractionDigits:4},CBET:{maximumFractionDigits:0,minimumFractionDigits:0},kCBET:{maximumFractionDigits:2,minimumFractionDigits:2},SHIB:{maximumFractionDigits:0,minimumFractionDigits:0},kSHIB:{maximumFractionDigits:4,minimumFractionDigits:2},NEO:{maximumFractionDigits:4,minimumFractionDigits:4},BSV:{maximumFractionDigits:4,minimumFractionDigits:4},EOS:{maximumFractionDigits:4,minimumFractionDigits:4},DASH:{maximumFractionDigits:4,minimumFractionDigits:4},XLM:{maximumFractionDigits:2,minimumFractionDigits:2},KRW:{maximumFractionDigits:2,minimumFractionDigits:2},kVND:{maximumFractionDigits:4,minimumFractionDigits:2},kIDR:{maximumFractionDigits:4,minimumFractionDigits:2},RSD:{maximumFractionDigits:2,minimumFractionDigits:2},STAKEGC:{displayAs:"GC",maximumFractionDigits:0,minimumFractionDigits:0},STAKESC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},"BK.":{maximumFractionDigits:2,minimumFractionDigits:2},"BT.":{maximumFractionDigits:2,minimumFractionDigits:2},"FC.":{maximumFractionDigits:2,minimumFractionDigits:2},"GC.":{maximumFractionDigits:2,minimumFractionDigits:2},"SC.":{maximumFractionDigits:2,minimumFractionDigits:2},GC:{maximumFractionDigits:2,minimumFractionDigits:2},SC:{maximumFractionDigits:2,minimumFractionDigits:2},GLD:{displayAs:"GC.",maximumFractionDigits:2,minimumFractionDigits:2},SS1:{displayAs:"SC.",maximumFractionDigits:2,minimumFractionDigits:2},SWEP:{displayAs:"SC.",maximumFractionDigits:2,minimumFractionDigits:2},GCLC:{displayAs:"GC.",maximumFractionDigits:2,minimumFractionDigits:2},SWPC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},LUKC:{displayAs:"LC",maximumFractionDigits:2,minimumFractionDigits:2},TTSC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},TTGC:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},SVC:{maximumFractionDigits:2,minimumFractionDigits:2},DOT:{maximumFractionDigits:4,minimumFractionDigits:4},SOL:{maximumFractionDigits:4,minimumFractionDigits:4},XRP:{maximumFractionDigits:2,minimumFractionDigits:2},ADA:{maximumFractionDigits:2,minimumFractionDigits:2},TON:{maximumFractionDigits:4,minimumFractionDigits:4},FTN:{maximumFractionDigits:4,minimumFractionDigits:4},OMR:{maximumFractionDigits:2,minimumFractionDigits:2},JOD:{maximumFractionDigits:2,minimumFractionDigits:2},BHD:{maximumFractionDigits:2,minimumFractionDigits:2},KWD:{maximumFractionDigits:2,minimumFractionDigits:2},BNS:{maximumFractionDigits:2,minimumFractionDigits:2},GRSC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},GRGC:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},EEGP:{displayAs:"EP",maximumFractionDigits:2,minimumFractionDigits:2},EPGP:{displayAs:"PP",maximumFractionDigits:2,minimumFractionDigits:2},LUCK:{displayAs:"LUCK",maximumFractionDigits:2,minimumFractionDigits:2},CXCO:{displayAs:"CC",maximumFractionDigits:2,minimumFractionDigits:2},GZCO:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},MMK:{maximumFractionDigits:2,minimumFractionDigits:2},XOF:{maximumFractionDigits:2,minimumFractionDigits:2},VND:{maximumFractionDigits:2,minimumFractionDigits:2},BIF:{maximumFractionDigits:2,minimumFractionDigits:2},CLP:{maximumFractionDigits:2,minimumFractionDigits:2},GNF:{maximumFractionDigits:2,minimumFractionDigits:2},IQD:{maximumFractionDigits:2,minimumFractionDigits:2},ISK:{maximumFractionDigits:2,minimumFractionDigits:2},PYG:{maximumFractionDigits:2,minimumFractionDigits:2},XAF:{maximumFractionDigits:2,minimumFractionDigits:2},LAK:{maximumFractionDigits:2,minimumFractionDigits:2},LBP:{maximumFractionDigits:2,minimumFractionDigits:2},MGA:{maximumFractionDigits:2,minimumFractionDigits:2},SOS:{maximumFractionDigits:2,minimumFractionDigits:2},UGX:{maximumFractionDigits:2,minimumFractionDigits:2},ALL:{maximumFractionDigits:2,minimumFractionDigits:2},IRR:{maximumFractionDigits:2,minimumFractionDigits:2}};function M(m){return m in w}function W(m){return M(m)?{...w[m],currency:T}:{currency:m}}function z(m,i,t){const n=i.format(+m);return M(t)?n.replace(T,w[t].displayAs??t):n}function j(m,i,t){const{maximumFractionDigits:n,minimumFractionDigits:s}=t.resolvedOptions();return L(m,i,{maximumFractionDigits:n,minimumFractionDigits:s})}function J(m,i,{as:t}={as:"Currency"}){const{canShowCurrency:n,currency:s}=m;return t==="Number"||!n?`${i}`:`${i} ${s}`}function v(m,i,{as:t,from:n}={as:"Currency",from:"Money"},s){if(!["string","number"].includes(typeof i))return"NaN";const{canShowCurrency:o=!0,coinValueInCents:g,currency:h,locales:A}=m;n==="Coins"&&(i=V(+i,g));try{const U=W(h),R=new Intl.NumberFormat(A,{...U,...s,currencyDisplay:"symbol",numberingSystem:"latn",style:"currency"});return t==="Number"||!o?j(m,i,R):z(i,R,h)}catch{return J(m,i,{as:t})}}var c;class B{constructor({config:i}){u(this,c);e(this,c,i)}formatNumber(i,t){const n={locales:[r(this,c).ui.language]};return L(n,i,t)}formatCurrency(i,t={as:y.Currency,from:C.Money},n){const s=r(this,c).ui.feature.showCurrency,o=r(this,c).api.coinValueInCents,g=r(this,c).api.currency||T,h=[r(this,c).ui.language];return v({canShowCurrency:s,coinValueInCents:o,currency:g,locales:h},i,t,n)}formatCoins(i,t){return this.formatCurrency(i,{as:y.Number,from:C.Coins},t)}formatCoinsWithCurrency(i,t){return this.formatCurrency(i,{as:y.Currency,from:C.Coins},t)}formatMoney(i,t){return this.formatCurrency(i,{as:y.Number,from:C.Money},t)}formatMoneyWithCurrency(i,t){return this.formatCurrency(i,{as:y.Currency,from:C.Money},t)}}c=new WeakMap;const Y=()=>{};var f,l,d,p;class Q{constructor({messagePort:i}){u(this,f);u(this,l);u(this,d);u(this,p);e(this,p,i),this.on("configured",t=>{e(this,f,t),e(this,d,new B({config:t})),e(this,l,new P({config:t}))}),this.on("playResponse",t=>{this.config.api.lastRoundId=t.contract.roundId})}get config(){if(!r(this,f))throw new Error("config is not initialized, you must open game first");return r(this,f)}get history(){if(!r(this,l))throw new Error("config is not initialized, you must open game first");return r(this,l)}get i18n(){if(!r(this,d))throw new Error("i18n is not initialized, you must open game first");return r(this,d)}request(i,...[t]){return new Promise(n=>{this.on(`${i}Response`,s=>n({type:"response",response:s}),{once:!0}),this.on(`${i}Error`,s=>n({type:"error",error:s}),{once:!0}),this.send(i,t)})}on(i,t,n){const s=function o(g){g.data.message===`kalamba:wrapper:${i}`&&(Y("on",g.data.message.replace(/^kalamba:/,""),g.data.payload),t(g.data.payload),n!=null&&n.once&&window.removeEventListener("message",o))};window.addEventListener("message",s)}send(i,...[t]){r(this,p).postMessage({message:`kalamba:sdk:${i}`,payload:t},"*")}configure(i){this.send("configure",i)}async openGame(){const i=new Promise(n=>this.on("configured",n,{once:!0})),t=await this.request("openGame");if(t.type==="response")return await i,t.response;throw t.error.type==="timeout"?new D.TimeoutError:new D.RgsError(t.error.data)}async play(i,t,n="SPIN"){const s={contract:i,extra:t,actionType:n},o=await this.request("play",s);if(o.type==="response")return o.response;throw o.error.type==="timeout"?new D.TimeoutError:new D.RgsError(o.error.data)}}f=new WeakMap,l=new WeakMap,d=new WeakMap,p=new WeakMap;exports.RgsError=D.RgsError;exports.RgsErrorCode=D.RgsErrorCode;exports.TimeoutError=D.TimeoutError;exports.decoders=O.decoders;exports.encoders=O.encoders;exports.History=P;exports.I18n=B;exports.KalambaSdk=Q;
package/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { CurrencyFormat } from '@kalamba/common/src/utils/format/currency';
2
2
  import { CurrencyNumber } from '@kalamba/common/src/utils/format/currency';
3
3
  import { FormatCurrencyOptions } from '@kalamba/common/src/utils/format/currency';
4
+ import { OpenGameResponse as OpenGameResponse_2 } from '../types';
5
+ import { PlayResponse as PlayResponse_2 } from '../types';
4
6
 
5
7
  declare interface AddEventListenerOptions_2 {
6
8
  once: boolean;
@@ -38,12 +40,13 @@ export declare type CasinoOnlyMessagePayloadMap = {
38
40
  };
39
41
  close: never;
40
42
  freeze: never;
41
- help: {
42
- show?: boolean;
43
+ getBalance: never;
44
+ help?: {
45
+ show: boolean;
43
46
  };
44
47
  history: History_3;
45
- paytable: {
46
- show?: boolean;
48
+ paytable?: {
49
+ show: boolean;
47
50
  };
48
51
  play: PlayRequest;
49
52
  resume: never;
@@ -62,6 +65,14 @@ export { CurrencyFormat }
62
65
 
63
66
  export { CurrencyNumber }
64
67
 
68
+ export declare type Decoder = (data: any) => unknown;
69
+
70
+ export declare type Decoders = keyof typeof decoders;
71
+
72
+ export declare const decoders: {
73
+ json: (text: string, reviver?: (this: any, key: string, value: any) => any) => any;
74
+ };
75
+
65
76
  export declare type DomainAllowedPayloadMap<P extends DomainPrefix> = DomainToMessagePayloadMap[P];
66
77
 
67
78
  export declare type DomainMessage<P extends DomainPrefix> = keyof DomainAllowedPayloadMap<P>;
@@ -83,6 +94,17 @@ export declare type DomainToMessagePayloadMap = {
83
94
  telemetry: TelemetryOnlyMessagePayloadMap;
84
95
  };
85
96
 
97
+ export declare type Encoder = (data: any) => unknown;
98
+
99
+ export declare type Encoders = keyof typeof encoders;
100
+
101
+ export declare const encoders: {
102
+ json: {
103
+ (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string;
104
+ (value: any, replacer?: (number | string)[] | null, space?: string | number): string;
105
+ };
106
+ };
107
+
86
108
  export { FormatCurrencyOptions }
87
109
 
88
110
  export declare type ForwardToPluginsMessage<P extends PluginDomain> = keyof ForwardToPluginsMessageMap<'sdk'>[P] | keyof ForwardToPluginsMessageMap<'rgs'>[P] | keyof ForwardToPluginsMessageMap<'casino'>[P] | keyof ForwardToPluginsMessageMap<'telemetry'>[P];
@@ -174,10 +196,10 @@ export declare class KalambaSdk {
174
196
  get i18n(): I18n;
175
197
  protected request<M extends DomainMessage<'sdk'>>(message: M, ...[payload]: DomainMessagePayload<'sdk', M> extends never ? [] : [payload: DomainMessagePayload<'sdk', M>]): Promise<RgsResponse<M>>;
176
198
  on<M extends DomainMessage<'wrapper'> | ForwardToSdkMessage>(message: M, listener: (payload: M extends DomainMessage<'wrapper'> ? DomainMessagePayload<'wrapper', M> : M extends ForwardToSdkMessage ? ForwardToSdkMessagePayload<M> : never) => void, options?: AddEventListenerOptions_2): void;
177
- send<M extends DomainMessage<'sdk'>>(message: M, ...[payload]: DomainMessagePayload<'sdk', M> extends never ? [] : [DomainMessagePayload<'sdk', M>]): void;
199
+ send<M extends DomainMessage<'sdk'>>(message: M, ...[payload]: DomainMessagePayload<'sdk', M> extends never ? [] : undefined extends DomainMessagePayload<'sdk', M> ? [] | [DomainMessagePayload<'sdk', M>] : [DomainMessagePayload<'sdk', M>]): void;
178
200
  configure(payload: DomainMessagePayload<'sdk', 'configure'>): void;
179
- openGame(): Promise<OpenGameResponse>;
180
- play(contract: ContractPlayPayload, extra?: unknown, actionType?: string): Promise<PlayResponse>;
201
+ openGame(): Promise<OpenGameResponse_2>;
202
+ play(contract: ContractPlayPayload, extra?: unknown, actionType?: string): Promise<PlayResponse_2>;
181
203
  }
182
204
 
183
205
  export declare type Message = keyof MessageMap;
@@ -373,6 +395,9 @@ export declare type RgsOnlyMessagePayloadMap = {
373
395
  sumBetAmount: number;
374
396
  sumWinAmount: number;
375
397
  };
398
+ balance: {
399
+ balance: number;
400
+ };
376
401
  };
377
402
 
378
403
  export declare type RgsResponse<M extends DomainMessage<'sdk'>> = {
@@ -548,7 +573,7 @@ export declare type ToCasinoPluginsForwardedMessageMap = {
548
573
 
549
574
  export declare type ToRgsPluginsForwardedMessageMap = {
550
575
  sdk: Pick<SdkOnlyMessagePayloadMap, 'history' | 'openGame' | 'play'>;
551
- casino: Pick<CasinoOnlyMessagePayloadMap, 'play' | 'cashier' | 'close' | 'history'>;
576
+ casino: Pick<CasinoOnlyMessagePayloadMap, 'play' | 'cashier' | 'close' | 'history' | 'getBalance'>;
552
577
  rgs: undefined;
553
578
  telemetry: undefined;
554
579
  wrapper: undefined;
@@ -565,6 +590,8 @@ export declare type ToTelemetryPluginsForwardedMessageMap = {
565
590
  };
566
591
 
567
592
  export declare type WrapperConfig = {
593
+ dataDecoder?: Decoders;
594
+ dataEncoder?: Encoders;
568
595
  gameName: string;
569
596
  gameVersion: string;
570
597
  gameHistoryUrl?: string;
package/dist/index.js CHANGED
@@ -2,38 +2,21 @@
2
2
  * BSD 3-Clause License
3
3
  * Copyright (c) 2025, Kalamba Games Limited
4
4
  */
5
- var A = (m) => {
5
+ var R = (m) => {
6
6
  throw TypeError(m);
7
7
  };
8
- var N = (m, i, t) => i.has(m) || A("Cannot " + t);
9
- var r = (m, i, t) => (N(m, i, "read from private field"), t ? t.call(m) : i.get(m)), e = (m, i, t) => i.has(m) ? A("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(m) : i.set(m, t), u = (m, i, t, n) => (N(m, i, "write to private field"), n ? n.call(m, t) : i.set(m, t), t);
10
- import { T as E, R as b } from "./errors-NnLrKjTz.js";
11
- import { a as ti } from "./errors-NnLrKjTz.js";
12
- function O(m) {
13
- const i = Object.prototype.toString.call(m);
14
- return m instanceof Date || typeof m == "object" && i === "[object Date]" ? new m.constructor(+m) : typeof m == "number" || i === "[object Number]" || typeof m == "string" || i === "[object String]" ? new Date(m) : /* @__PURE__ */ new Date(NaN);
15
- }
16
- function L(m) {
17
- const i = O(m);
18
- return i.setHours(23, 59, 59, 999), i;
19
- }
20
- function M() {
21
- return L(Date.now());
22
- }
23
- function U(m) {
24
- const i = O(m);
25
- return i.setHours(0, 0, 0, 0), i;
26
- }
27
- function H() {
28
- return U(Date.now());
29
- }
30
- const k = 3e4;
8
+ var E = (m, i, t) => i.has(m) || R("Cannot " + t);
9
+ var r = (m, i, t) => (E(m, i, "read from private field"), t ? t.call(m) : i.get(m)), u = (m, i, t) => i.has(m) ? R("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(m) : i.set(m, t), e = (m, i, t, n) => (E(m, i, "write to private field"), n ? n.call(m, t) : i.set(m, t), t);
10
+ import { T as N, R as G } from "./errors-NnLrKjTz.js";
11
+ import { a as ni } from "./errors-NnLrKjTz.js";
12
+ import { d as ai, e as si } from "./encoders-BDr7fjKQ.js";
13
+ const M = 3e4;
31
14
  var D, h;
32
- class $ {
15
+ class U {
33
16
  constructor(i) {
34
- e(this, D);
35
- e(this, h, k);
36
- u(this, D, i);
17
+ u(this, D);
18
+ u(this, h, M);
19
+ e(this, D, i);
37
20
  }
38
21
  buildHeaders() {
39
22
  const i = {};
@@ -56,25 +39,37 @@ class $ {
56
39
  }
57
40
  }
58
41
  D = new WeakMap(), h = new WeakMap();
59
- const I = {
60
- limit: 100,
61
- page: 0
62
- };
63
- var s, f;
64
- class K {
65
- constructor({
66
- config: i
67
- }) {
68
- e(this, s);
69
- e(this, f);
70
- u(this, s, i), u(this, f, new $({
71
- apiUrl: i.api.gameHistoryUrl
72
- }));
42
+ const I = Symbol.for("constructDateFrom");
43
+ function H(m, i) {
44
+ return typeof m == "function" ? m(i) : m && typeof m == "object" && I in m ? m[I](i) : m instanceof Date ? new m.constructor(i) : new Date(i);
45
+ }
46
+ function b(m, i) {
47
+ return H(m, m);
48
+ }
49
+ function k(m, i) {
50
+ const t = b(m);
51
+ return t.setHours(0, 0, 0, 0), t;
52
+ }
53
+ function K(m, i) {
54
+ const t = b(m);
55
+ return t.setHours(23, 59, 59, 999), t;
56
+ }
57
+ function $(m) {
58
+ return K(Date.now());
59
+ }
60
+ function X(m) {
61
+ return k(Date.now());
62
+ }
63
+ const O = { limit: 100, page: 0 };
64
+ var s, C;
65
+ class _ {
66
+ constructor({ config: i }) {
67
+ u(this, s);
68
+ u(this, C);
69
+ e(this, s, i), e(this, C, new U({ apiUrl: i.api.gameHistoryUrl }));
73
70
  }
74
- async getRound(i, {
75
- pagination: t = I
76
- } = {}) {
77
- return r(this, f).getRound(i, {
71
+ async getRound(i, { pagination: t = O } = {}) {
72
+ return r(this, C).getRound(i, {
78
73
  gameCode: r(this, s).api.game,
79
74
  operatorCode: r(this, s).api.brand,
80
75
  username: r(this, s).api.user,
@@ -85,14 +80,11 @@ class K {
85
80
  return r(this, s).api.lastRoundId ? this.getRound(r(this, s).api.lastRoundId) : null;
86
81
  }
87
82
  async getRounds({
88
- searchPeriod: i = {
89
- fromDateTime: H(),
90
- toDateTime: M()
91
- },
92
- pagination: t = I
83
+ searchPeriod: i = { fromDateTime: X(), toDateTime: $() },
84
+ pagination: t = O
93
85
  } = {}) {
94
86
  const n = r(this, s).api.user.replace(/^user_/, "").replace(new RegExp(`_${r(this, s).api.integration}$`), "");
95
- return r(this, f).getRounds({
87
+ return r(this, C).getRounds({
96
88
  gameCode: r(this, s).api.game,
97
89
  operatorCode: r(this, s).api.integration,
98
90
  username: n,
@@ -102,11 +94,11 @@ class K {
102
94
  });
103
95
  }
104
96
  }
105
- s = new WeakMap(), f = new WeakMap();
106
- function _(m, i) {
97
+ s = new WeakMap(), C = new WeakMap();
98
+ function V(m, i) {
107
99
  return m * i / 100;
108
100
  }
109
- function G(m, i, t) {
101
+ function L(m, i, t) {
110
102
  if (!["string", "number"].includes(typeof i))
111
103
  return "NaN";
112
104
  const { locales: n } = m;
@@ -213,6 +205,8 @@ const w = {
213
205
  GCLC: { displayAs: "GC.", maximumFractionDigits: 2, minimumFractionDigits: 2 },
214
206
  SWPC: { displayAs: "SC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
215
207
  LUKC: { displayAs: "LC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
208
+ TTSC: { displayAs: "SC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
209
+ TTGC: { displayAs: "GC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
216
210
  // Silvercash
217
211
  SVC: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
218
212
  // Polkadot
@@ -243,6 +237,9 @@ const w = {
243
237
  // Softswiss
244
238
  EEGP: { displayAs: "EP", maximumFractionDigits: 2, minimumFractionDigits: 2 },
245
239
  EPGP: { displayAs: "PP", maximumFractionDigits: 2, minimumFractionDigits: 2 },
240
+ LUCK: { displayAs: "LUCK", maximumFractionDigits: 2, minimumFractionDigits: 2 },
241
+ CXCO: { displayAs: "CC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
242
+ GZCO: { displayAs: "GC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
246
243
  // https://kalamba.atlassian.net/browse/FRAM-1829
247
244
  // Myanmar Kyat
248
245
  MMK: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
@@ -283,7 +280,7 @@ const w = {
283
280
  function P(m) {
284
281
  return m in w;
285
282
  }
286
- function X(m) {
283
+ function q(m) {
287
284
  return P(m) ? {
288
285
  ...w[m],
289
286
  currency: S
@@ -291,22 +288,22 @@ function X(m) {
291
288
  currency: m
292
289
  };
293
290
  }
294
- function V(m, i, t) {
291
+ function W(m, i, t) {
295
292
  const n = i.format(+m);
296
293
  return P(t) ? n.replace(S, w[t].displayAs ?? t) : n;
297
294
  }
298
- function j(m, i, t) {
295
+ function z(m, i, t) {
299
296
  const { maximumFractionDigits: n, minimumFractionDigits: a } = t.resolvedOptions();
300
- return G(m, i, { maximumFractionDigits: n, minimumFractionDigits: a });
297
+ return L(m, i, { maximumFractionDigits: n, minimumFractionDigits: a });
301
298
  }
302
- function q(m, i, { as: t } = {
299
+ function J(m, i, { as: t } = {
303
300
  as: "Currency"
304
301
  /* Currency */
305
302
  }) {
306
303
  const { canShowCurrency: n, currency: a } = m;
307
304
  return t === "Number" || !n ? `${i}` : `${i} ${a}`;
308
305
  }
309
- function W(m, i, { as: t, from: n } = {
306
+ function j(m, i, { as: t, from: n } = {
310
307
  as: "Currency",
311
308
  from: "Money"
312
309
  /* Money */
@@ -314,9 +311,9 @@ function W(m, i, { as: t, from: n } = {
314
311
  if (!["string", "number"].includes(typeof i))
315
312
  return "NaN";
316
313
  const { canShowCurrency: o = !0, coinValueInCents: g, currency: d, locales: T } = m;
317
- n === "Coins" && (i = _(+i, g));
314
+ n === "Coins" && (i = V(+i, g));
318
315
  try {
319
- const B = X(d), R = new Intl.NumberFormat(T, {
316
+ const B = q(d), A = new Intl.NumberFormat(T, {
320
317
  ...B,
321
318
  ...a,
322
319
  currencyDisplay: "symbol",
@@ -325,24 +322,24 @@ function W(m, i, { as: t, from: n } = {
325
322
  numberingSystem: "latn",
326
323
  style: "currency"
327
324
  });
328
- return t === "Number" || !o ? j(m, i, R) : V(i, R, d);
325
+ return t === "Number" || !o ? z(m, i, A) : W(i, A, d);
329
326
  } catch {
330
- return q(m, i, { as: t });
327
+ return J(m, i, { as: t });
331
328
  }
332
329
  }
333
330
  var c;
334
- class v {
331
+ class Y {
335
332
  constructor({ config: i }) {
336
- e(this, c);
337
- u(this, c, i);
333
+ u(this, c);
334
+ e(this, c, i);
338
335
  }
339
336
  formatNumber(i, t) {
340
337
  const n = { locales: [r(this, c).ui.language] };
341
- return G(n, i, t);
338
+ return L(n, i, t);
342
339
  }
343
340
  formatCurrency(i, t = { as: F.Currency, from: y.Money }, n) {
344
341
  const a = r(this, c).ui.feature.showCurrency, o = r(this, c).api.coinValueInCents, g = r(this, c).api.currency || S, d = [r(this, c).ui.language];
345
- return W({
342
+ return j({
346
343
  canShowCurrency: a,
347
344
  coinValueInCents: o,
348
345
  currency: g,
@@ -363,17 +360,17 @@ class v {
363
360
  }
364
361
  }
365
362
  c = new WeakMap();
366
- const z = () => {
363
+ const v = () => {
367
364
  };
368
- var x, l, C, p;
369
- class Q {
365
+ var x, f, p, l;
366
+ class ii {
370
367
  constructor({ messagePort: i }) {
371
- e(this, x);
372
- e(this, l);
373
- e(this, C);
374
- e(this, p);
375
- u(this, p, i), this.on("configured", (t) => {
376
- u(this, x, t), u(this, C, new v({ config: t })), u(this, l, new K({ config: t }));
368
+ u(this, x);
369
+ u(this, f);
370
+ u(this, p);
371
+ u(this, l);
372
+ e(this, l, i), this.on("configured", (t) => {
373
+ e(this, x, t), e(this, p, new Y({ config: t })), e(this, f, new _({ config: t }));
377
374
  }), this.on("playResponse", (t) => {
378
375
  this.config.api.lastRoundId = t.contract.roundId;
379
376
  });
@@ -384,14 +381,14 @@ class Q {
384
381
  return r(this, x);
385
382
  }
386
383
  get history() {
387
- if (!r(this, l))
384
+ if (!r(this, f))
388
385
  throw new Error("config is not initialized, you must open game first");
389
- return r(this, l);
386
+ return r(this, f);
390
387
  }
391
388
  get i18n() {
392
- if (!r(this, C))
389
+ if (!r(this, p))
393
390
  throw new Error("i18n is not initialized, you must open game first");
394
- return r(this, C);
391
+ return r(this, p);
395
392
  }
396
393
  request(i, ...[t]) {
397
394
  return new Promise((n) => {
@@ -402,13 +399,13 @@ class Q {
402
399
  }
403
400
  on(i, t, n) {
404
401
  const a = function o(g) {
405
- g.data.message === `kalamba:wrapper:${i}` && (z("on", g.data.message.replace(/^kalamba:/, ""), g.data.payload), t(g.data.payload), n != null && n.once && window.removeEventListener("message", o));
402
+ g.data.message === `kalamba:wrapper:${i}` && (v("on", g.data.message.replace(/^kalamba:/, ""), g.data.payload), t(g.data.payload), n != null && n.once && window.removeEventListener("message", o));
406
403
  };
407
404
  window.addEventListener("message", a);
408
405
  }
409
406
  // TODO error messages
410
407
  send(i, ...[t]) {
411
- r(this, p).postMessage(
408
+ r(this, l).postMessage(
412
409
  {
413
410
  message: `kalamba:sdk:${i}`,
414
411
  payload: t
@@ -423,21 +420,23 @@ class Q {
423
420
  const i = new Promise((n) => this.on("configured", n, { once: !0 })), t = await this.request("openGame");
424
421
  if (t.type === "response")
425
422
  return await i, t.response;
426
- throw t.error.type === "timeout" ? new E() : new b(t.error.data);
423
+ throw t.error.type === "timeout" ? new N() : new G(t.error.data);
427
424
  }
428
425
  async play(i, t, n = "SPIN") {
429
426
  const a = { contract: i, extra: t, actionType: n }, o = await this.request("play", a);
430
427
  if (o.type === "response")
431
428
  return o.response;
432
- throw o.error.type === "timeout" ? new E() : new b(o.error.data);
429
+ throw o.error.type === "timeout" ? new N() : new G(o.error.data);
433
430
  }
434
431
  }
435
- x = new WeakMap(), l = new WeakMap(), C = new WeakMap(), p = new WeakMap();
432
+ x = new WeakMap(), f = new WeakMap(), p = new WeakMap(), l = new WeakMap();
436
433
  export {
437
- K as History,
438
- v as I18n,
439
- Q as KalambaSdk,
440
- b as RgsError,
441
- ti as RgsErrorCode,
442
- E as TimeoutError
434
+ _ as History,
435
+ Y as I18n,
436
+ ii as KalambaSdk,
437
+ G as RgsError,
438
+ ni as RgsErrorCode,
439
+ N as TimeoutError,
440
+ ai as decoders,
441
+ si as encoders
443
442
  };