zuburi-game-platform 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.
Files changed (98) hide show
  1. package/README.md +214 -0
  2. package/dist/achievements/listAchievements.d.ts +5 -0
  3. package/dist/achievements/listAchievements.d.ts.map +1 -0
  4. package/dist/achievements/listAchievements.js +8 -0
  5. package/dist/achievements/listAchievements.js.map +1 -0
  6. package/dist/client/createGamePlatformClient.d.ts +4 -0
  7. package/dist/client/createGamePlatformClient.d.ts.map +1 -0
  8. package/dist/client/createGamePlatformClient.js +37 -0
  9. package/dist/client/createGamePlatformClient.js.map +1 -0
  10. package/dist/client/types.d.ts +35 -0
  11. package/dist/client/types.d.ts.map +1 -0
  12. package/dist/client/types.js +2 -0
  13. package/dist/client/types.js.map +1 -0
  14. package/dist/errors/GamePlatformError.d.ts +11 -0
  15. package/dist/errors/GamePlatformError.d.ts.map +1 -0
  16. package/dist/errors/GamePlatformError.js +13 -0
  17. package/dist/errors/GamePlatformError.js.map +1 -0
  18. package/dist/errors/normalizeError.d.ts +3 -0
  19. package/dist/errors/normalizeError.d.ts.map +1 -0
  20. package/dist/errors/normalizeError.js +69 -0
  21. package/dist/errors/normalizeError.js.map +1 -0
  22. package/dist/events/emitEvent.d.ts +5 -0
  23. package/dist/events/emitEvent.d.ts.map +1 -0
  24. package/dist/events/emitEvent.js +25 -0
  25. package/dist/events/emitEvent.js.map +1 -0
  26. package/dist/events/idempotency.d.ts +2 -0
  27. package/dist/events/idempotency.d.ts.map +1 -0
  28. package/dist/events/idempotency.js +14 -0
  29. package/dist/events/idempotency.js.map +1 -0
  30. package/dist/index.d.ts +11 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +3 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/internal/callRpc.d.ts +20 -0
  35. package/dist/internal/callRpc.d.ts.map +1 -0
  36. package/dist/internal/callRpc.js +40 -0
  37. package/dist/internal/callRpc.js.map +1 -0
  38. package/dist/internal/mappers.d.ts +24 -0
  39. package/dist/internal/mappers.d.ts.map +1 -0
  40. package/dist/internal/mappers.js +184 -0
  41. package/dist/internal/mappers.js.map +1 -0
  42. package/dist/internal/validateApiVersion.d.ts +4 -0
  43. package/dist/internal/validateApiVersion.d.ts.map +1 -0
  44. package/dist/internal/validateApiVersion.js +12 -0
  45. package/dist/internal/validateApiVersion.js.map +1 -0
  46. package/dist/internal/validators.d.ts +14 -0
  47. package/dist/internal/validators.d.ts.map +1 -0
  48. package/dist/internal/validators.js +53 -0
  49. package/dist/internal/validators.js.map +1 -0
  50. package/dist/login-bonus/claimAvailable.d.ts +5 -0
  51. package/dist/login-bonus/claimAvailable.d.ts.map +1 -0
  52. package/dist/login-bonus/claimAvailable.js +10 -0
  53. package/dist/login-bonus/claimAvailable.js.map +1 -0
  54. package/dist/login-bonus/claimProgram.d.ts +5 -0
  55. package/dist/login-bonus/claimProgram.d.ts.map +1 -0
  56. package/dist/login-bonus/claimProgram.js +12 -0
  57. package/dist/login-bonus/claimProgram.js.map +1 -0
  58. package/dist/login-bonus/getStatus.d.ts +5 -0
  59. package/dist/login-bonus/getStatus.d.ts.map +1 -0
  60. package/dist/login-bonus/getStatus.js +8 -0
  61. package/dist/login-bonus/getStatus.js.map +1 -0
  62. package/dist/points/getAccount.d.ts +5 -0
  63. package/dist/points/getAccount.d.ts.map +1 -0
  64. package/dist/points/getAccount.js +8 -0
  65. package/dist/points/getAccount.js.map +1 -0
  66. package/dist/points/listTransactions.d.ts +5 -0
  67. package/dist/points/listTransactions.d.ts.map +1 -0
  68. package/dist/points/listTransactions.js +17 -0
  69. package/dist/points/listTransactions.js.map +1 -0
  70. package/dist/state/getState.d.ts +5 -0
  71. package/dist/state/getState.d.ts.map +1 -0
  72. package/dist/state/getState.js +7 -0
  73. package/dist/state/getState.js.map +1 -0
  74. package/dist/types/achievement.d.ts +24 -0
  75. package/dist/types/achievement.d.ts.map +1 -0
  76. package/dist/types/achievement.js +2 -0
  77. package/dist/types/achievement.js.map +1 -0
  78. package/dist/types/api.d.ts +11 -0
  79. package/dist/types/api.d.ts.map +1 -0
  80. package/dist/types/api.js +2 -0
  81. package/dist/types/api.js.map +1 -0
  82. package/dist/types/event.d.ts +46 -0
  83. package/dist/types/event.d.ts.map +1 -0
  84. package/dist/types/event.js +2 -0
  85. package/dist/types/event.js.map +1 -0
  86. package/dist/types/loginBonus.d.ts +45 -0
  87. package/dist/types/loginBonus.d.ts.map +1 -0
  88. package/dist/types/loginBonus.js +2 -0
  89. package/dist/types/loginBonus.js.map +1 -0
  90. package/dist/types/point.d.ts +26 -0
  91. package/dist/types/point.d.ts.map +1 -0
  92. package/dist/types/point.js +2 -0
  93. package/dist/types/point.js.map +1 -0
  94. package/dist/types/state.d.ts +14 -0
  95. package/dist/types/state.d.ts.map +1 -0
  96. package/dist/types/state.js +2 -0
  97. package/dist/types/state.js.map +1 -0
  98. package/package.json +48 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/types/event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1C,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACtB,QAAQ,CAAC,EAAE,UAAU,GAAG,KAAK,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAEhD,KAAK,aAAa,CAChB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,OAAO,GAAG,UAAU,EAC9B,QAAQ,IACN,CAAC,SAAS,MAAM,CAAC,GACjB,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACnB;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;CAAE,GACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACpB;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK;CAAE,GACpB;KAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GACtB;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ;CAAE,CAAA;AAE3B,MAAM,MAAM,iBAAiB,CAC3B,OAAO,SAAS,QAAQ,EACxB,KAAK,SAAS,MAAM,OAAO,GAAG,MAAM,IAClC;IACF,IAAI,EAAE,KAAK,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAC9C,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;AAEzD,MAAM,MAAM,eAAe,GAAG,MAAM,CAClC,MAAM,EACN;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,UAAU,CAAA;CAAE,CAC1C,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,CAAC,CAAA;IACb,EAAE,EAAE,IAAI,CAAA;IACR,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAA;KAC7B,CAAA;IACD,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,mBAAmB,EAAE,CAAA;QAC9B,QAAQ,EAAE,mBAAmB,EAAE,CAAA;KAChC,CAAA;CACF,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/types/event.ts"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
1
+ export type LoginBonusProgramState = {
2
+ programId: string;
3
+ name: string;
4
+ scopeType: "global" | "game";
5
+ programType: "standard" | "campaign";
6
+ gameId: string | null;
7
+ cycleMode: "loop" | "one_shot";
8
+ claimDate: string;
9
+ streakDays: number;
10
+ dayNumber: number;
11
+ rewardPoints: number | null;
12
+ claimedToday: boolean;
13
+ eligible: boolean;
14
+ active: boolean;
15
+ };
16
+ export type LoginBonusStatus = {
17
+ standard: LoginBonusProgramState | null;
18
+ campaigns: LoginBonusProgramState[];
19
+ };
20
+ export type LoginBonusClaim = {
21
+ programId: string;
22
+ claimed: boolean;
23
+ alreadyClaimed: boolean;
24
+ completed: boolean;
25
+ claimDate: string | null;
26
+ streakDays: number | null;
27
+ dayNumber: number | null;
28
+ rewardPoints: number;
29
+ balance: number;
30
+ };
31
+ export type LoginBonusClaimResult = {
32
+ apiVersion: 1;
33
+ ok: true;
34
+ claims: LoginBonusClaim[];
35
+ points: {
36
+ delta: number;
37
+ balance: number;
38
+ };
39
+ };
40
+ export type LoginBonusSingleClaimResult = {
41
+ apiVersion: 1;
42
+ ok: true;
43
+ claim: LoginBonusClaim;
44
+ };
45
+ //# sourceMappingURL=loginBonus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loginBonus.d.ts","sourceRoot":"","sources":["../../src/types/loginBonus.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC5B,WAAW,EAAE,UAAU,GAAG,UAAU,CAAA;IACpC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,CAAA;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,YAAY,EAAE,OAAO,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAA;IACvC,SAAS,EAAE,sBAAsB,EAAE,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,OAAO,CAAA;IACvB,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,CAAC,CAAA;IACb,EAAE,EAAE,IAAI,CAAA;IACR,MAAM,EAAE,eAAe,EAAE,CAAA;IACzB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,UAAU,EAAE,CAAC,CAAA;IACb,EAAE,EAAE,IAAI,CAAA;IACR,KAAK,EAAE,eAAe,CAAA;CACvB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=loginBonus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loginBonus.js","sourceRoot":"","sources":["../../src/types/loginBonus.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import type { JsonObject } from "./api.js";
2
+ export type PointAccount = {
3
+ balance: number;
4
+ lifetimeEarned: number;
5
+ lifetimeSpent: number;
6
+ };
7
+ export type PointTransaction = {
8
+ id: string;
9
+ amount: number;
10
+ balanceAfter: number;
11
+ transactionType: string;
12
+ gameId: string | null;
13
+ source: string;
14
+ sourceId: string | null;
15
+ metadata: JsonObject;
16
+ createdAt: string;
17
+ };
18
+ export type ListTransactionsOptions = {
19
+ limit?: number;
20
+ cursor?: string | null;
21
+ };
22
+ export type PointTransactionPage = {
23
+ items: PointTransaction[];
24
+ nextCursor: string | null;
25
+ };
26
+ //# sourceMappingURL=point.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../src/types/point.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1C,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,UAAU,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=point.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"point.js","sourceRoot":"","sources":["../../src/types/point.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import type { AchievementState } from "./achievement.js";
2
+ import type { LoginBonusStatus } from "./loginBonus.js";
3
+ import type { PointAccount } from "./point.js";
4
+ export type GamePlatformState = {
5
+ apiVersion: 1;
6
+ game: {
7
+ id: string;
8
+ name: string;
9
+ };
10
+ points: PointAccount;
11
+ achievements: AchievementState[];
12
+ loginBonus: LoginBonusStatus;
13
+ };
14
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/types/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,CAAC,CAAA;IACb,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,MAAM,EAAE,YAAY,CAAA;IACpB,YAAY,EAAE,gBAAgB,EAAE,CAAA;IAChC,UAAU,EAAE,gBAAgB,CAAA;CAC7B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/types/state.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "zuburi-game-platform",
3
+ "version": "0.1.0",
4
+ "description": "Framework-independent TypeScript SDK for KZTK Game Platform",
5
+ "type": "module",
6
+ "sideEffects": false,
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "README.md"
18
+ ],
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git+https://github.com/ZUBURI/kztk-game-platform.git",
22
+ "directory": "packages/game-platform"
23
+ },
24
+ "publishConfig": {
25
+ "registry": "https://registry.npmjs.org/",
26
+ "access": "public"
27
+ },
28
+ "scripts": {
29
+ "build": "tsc -p tsconfig.build.json",
30
+ "typecheck": "tsc -p tsconfig.json --noEmit",
31
+ "test": "pnpm run build && node --test tests/*.test.mjs"
32
+ },
33
+ "peerDependencies": {
34
+ "@supabase/supabase-js": ">=2.100.0 <3"
35
+ },
36
+ "peerDependenciesMeta": {
37
+ "@supabase/supabase-js": {
38
+ "optional": true
39
+ }
40
+ },
41
+ "devDependencies": {
42
+ "typescript": "5.8.3"
43
+ },
44
+ "engines": {
45
+ "node": ">=20"
46
+ },
47
+ "license": "MIT"
48
+ }