@genex-ai/embed-sdk 0.5.0 → 0.6.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.
@@ -7,7 +7,7 @@ var state = "pending";
7
7
  var user = null;
8
8
  var localTestMode = false;
9
9
  var embedToken;
10
- var colyseusUrl;
10
+ var colyseusUrls;
11
11
  var parentOrigin = null;
12
12
  var initialized = false;
13
13
  var redeeming = false;
@@ -110,6 +110,9 @@ function getEmbedToken() {
110
110
  function getColyseusAuth() {
111
111
  return embedToken ? { embedToken } : void 0;
112
112
  }
113
+ function getColyseusUrls() {
114
+ return colyseusUrls ?? [];
115
+ }
113
116
  function waitForAuth() {
114
117
  if (state === "authenticated" && user) return Promise.resolve({ user });
115
118
  if (state === "blocked") return Promise.reject(new Error("genex embed auth: blocked"));
@@ -431,8 +434,7 @@ async function redeemTicket(ticket) {
431
434
  const body = await res.json();
432
435
  embedToken = body.embedToken;
433
436
  user = body.user;
434
- colyseusUrl = body.colyseus?.url;
435
- void colyseusUrl;
437
+ colyseusUrls = body.colyseus?.urls;
436
438
  state = "authenticated";
437
439
  clearRetryFlag();
438
440
  removeOverlay();
@@ -471,7 +473,7 @@ async function requestGuestSession() {
471
473
  const body = await res.json();
472
474
  embedToken = body.embedToken;
473
475
  user = body.user;
474
- colyseusUrl = body.colyseus?.url;
476
+ colyseusUrls = body.colyseus?.urls;
475
477
  enterGuest();
476
478
  } catch (error) {
477
479
  emit("error", { error });
@@ -724,7 +726,7 @@ function __resetForTests(overrides) {
724
726
  user = null;
725
727
  localTestMode = false;
726
728
  embedToken = void 0;
727
- colyseusUrl = void 0;
729
+ colyseusUrls = void 0;
728
730
  parentOrigin = null;
729
731
  initialized = false;
730
732
  redeeming = false;
@@ -748,6 +750,7 @@ export {
748
750
  getUser,
749
751
  getEmbedToken,
750
752
  getColyseusAuth,
753
+ getColyseusUrls,
751
754
  waitForAuth,
752
755
  waitForPlayer,
753
756
  on,
package/dist/index.d.ts CHANGED
@@ -124,6 +124,9 @@ declare function getEmbedToken(): string | undefined;
124
124
  declare function getColyseusAuth(): {
125
125
  embedToken: string;
126
126
  } | undefined;
127
+ /** The relay URLs for this session (server-owned; a regional list when configured). Pass to
128
+ * connect()/matchmake() as `urls` so the SDK joins the lowest-latency one; single-url fallback. */
129
+ declare function getColyseusUrls(): string[];
127
130
  /**
128
131
  * Resolves with the signed-in ACCOUNT once authenticated; rejects if the
129
132
  * session ends up blocked. THE gate for /state saves and any account-bound
@@ -220,4 +223,4 @@ declare function __resetForTests(overrides?: {
220
223
  refreshRetryMs?: number;
221
224
  }): void;
222
225
 
223
- export { type AuthState, type EmbedConfig, type EmbedEvent, type EmbedUser, type Leaderboard, type LeaderboardEntry, type PlayerStateResult, type SaveStateResult, type SubmitScoreResult, type WorldStateResult, __resetForTests, _stashTicketFromUrl, getAuthState, getColyseusAuth, getEmbedToken, getLeaderboard, getUser, initEmbed, isEmbedded, loadPlayerState, loadWorldState, on, savePlayerState, saveWorldState, submitScore, waitForAuth, waitForPlayer };
226
+ export { type AuthState, type EmbedConfig, type EmbedEvent, type EmbedUser, type Leaderboard, type LeaderboardEntry, type PlayerStateResult, type SaveStateResult, type SubmitScoreResult, type WorldStateResult, __resetForTests, _stashTicketFromUrl, getAuthState, getColyseusAuth, getColyseusUrls, getEmbedToken, getLeaderboard, getUser, initEmbed, isEmbedded, loadPlayerState, loadWorldState, on, savePlayerState, saveWorldState, submitScore, waitForAuth, waitForPlayer };
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ import {
3
3
  _stashTicketFromUrl,
4
4
  getAuthState,
5
5
  getColyseusAuth,
6
+ getColyseusUrls,
6
7
  getEmbedToken,
7
8
  getLeaderboard,
8
9
  getUser,
@@ -16,12 +17,13 @@ import {
16
17
  submitScore,
17
18
  waitForAuth,
18
19
  waitForPlayer
19
- } from "./chunk-GDJLPL6W.js";
20
+ } from "./chunk-5VYRFOFN.js";
20
21
  export {
21
22
  __resetForTests,
22
23
  _stashTicketFromUrl,
23
24
  getAuthState,
24
25
  getColyseusAuth,
26
+ getColyseusUrls,
25
27
  getEmbedToken,
26
28
  getLeaderboard,
27
29
  getUser,
package/dist/sentry.js CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  _stashTicketFromUrl,
3
3
  getUser,
4
4
  on
5
- } from "./chunk-GDJLPL6W.js";
5
+ } from "./chunk-5VYRFOFN.js";
6
6
 
7
7
  // src/sentry.ts
8
8
  import * as Sentry from "@sentry/browser";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@genex-ai/embed-sdk",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Player identity + durable game state for genex games — signed-in or guest play, per-player save slots, shared world state, and soft-trust leaderboards.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",