cocobase 1.3.5 → 1.4.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.
@@ -1,4 +1,4 @@
1
- import { CocobaseConfig, AppUser, AppUserList, Query, AuthCallbacks } from "../types/types.js";
1
+ import { CocobaseConfig, AppUser, AppUserList, Query, AuthCallbacks, Response, LoginResult } from "../types/types.js";
2
2
  /**
3
3
  * Authentication handler for Cocobase client.
4
4
  *
@@ -137,32 +137,46 @@ export declare class AuthHandler {
137
137
  *
138
138
  * @param email - User's email address
139
139
  * @param password - User's password
140
- * @returns Promise that resolves when login is complete
140
+ * @returns Promise resolving to LoginResult indicating success or 2FA requirement
141
141
  *
142
142
  * @example
143
143
  * ```typescript
144
- * await db.auth.login('user@example.com', 'password123');
145
- * console.log('Logged in as:', db.auth.getUser()?.email);
144
+ * const result = await db.auth.login('user@example.com', 'password123');
145
+ *
146
+ * if (result.requires_2fa) {
147
+ * // Show 2FA input form to user
148
+ * console.log(result.message); // "2FA code sent to your email"
149
+ * // Later, call verify2FALogin with the code
150
+ * } else {
151
+ * // Login successful
152
+ * console.log('Logged in as:', result.user?.email);
153
+ * }
146
154
  * ```
147
155
  */
148
- login(email: string, password: string): Promise<void>;
156
+ login(email: string, password: string): Promise<LoginResult>;
149
157
  /**
150
158
  * Registers a new user with email, password, and optional additional data.
151
159
  *
152
160
  * @param email - User's email address
153
161
  * @param password - User's password
154
162
  * @param data - Optional additional user data
155
- * @returns Promise that resolves when registration is complete
163
+ * @returns Promise resolving to LoginResult (registration may require 2FA if enabled)
156
164
  *
157
165
  * @example
158
166
  * ```typescript
159
- * await db.auth.register('user@example.com', 'password123', {
167
+ * const result = await db.auth.register('user@example.com', 'password123', {
160
168
  * username: 'johndoe',
161
169
  * fullName: 'John Doe'
162
170
  * });
171
+ *
172
+ * if (result.requires_2fa) {
173
+ * // Handle 2FA verification
174
+ * } else {
175
+ * console.log('Registered as:', result.user?.email);
176
+ * }
163
177
  * ```
164
178
  */
165
- register(email: string, password: string, data?: Record<string, any>): Promise<void>;
179
+ register(email: string, password: string, data?: Record<string, any>): Promise<LoginResult>;
166
180
  /**
167
181
  * Authenticates a user using Google Sign-In with ID token.
168
182
  *
@@ -259,7 +273,7 @@ export declare class AuthHandler {
259
273
  * );
260
274
  * ```
261
275
  */
262
- registerWithFiles(email: string, password: string, data?: Record<string, any>, files?: Record<string, File | File[]>): Promise<AppUser>;
276
+ registerWithFiles(email: string, password: string, data?: Record<string, any>, files?: Record<string, File | File[]>): Promise<LoginResult>;
263
277
  /**
264
278
  * Logs out the current user by clearing the token and user data.
265
279
  *
@@ -389,6 +403,99 @@ export declare class AuthHandler {
389
403
  * ```
390
404
  */
391
405
  getUserById<T = any>(userId: string): Promise<AppUser>;
406
+ /**
407
+ * Enables Two-Factor Authentication (2FA) for the current user.
408
+ *
409
+ * @returns Promise that resolves when 2FA is enabled
410
+ *
411
+ * @example
412
+ * ```typescript
413
+ * await db.auth.enable2FA();
414
+ * console.log('2FA enabled for user');
415
+ * ```
416
+ */
417
+ enable2FA(): Promise<void>;
418
+ /**
419
+ * Disables Two-Factor Authentication (2FA) for the current user.
420
+ *
421
+ * @returns Promise that resolves when 2FA is disabled
422
+ *
423
+ * @example
424
+ * ```typescript
425
+ * await db.auth.disable2FA();
426
+ * console.log('2FA disabled for user');
427
+ * ```
428
+ */
429
+ disable2FA(): Promise<void>;
430
+ /**
431
+ * Sends a Two-Factor Authentication (2FA) code to the user's registered method (e.g., email, SMS).
432
+ *
433
+ * @returns Promise that resolves when the 2FA code is sent
434
+ *
435
+ * @example
436
+ * ```typescript
437
+ * await db.auth.send2FACode();
438
+ * console.log('2FA code sent to user');
439
+ * ```
440
+ */
441
+ send2FACode(email: string): Promise<void>;
442
+ /**
443
+ * Completes login after 2FA verification.
444
+ * Call this after login() returns requires_2fa: true and the user provides the 2FA code.
445
+ *
446
+ * @param email - User's email address (same as used in login)
447
+ * @param code - The 2FA code from email/authenticator
448
+ * @returns Promise resolving to the authenticated user
449
+ *
450
+ * @example
451
+ * ```typescript
452
+ * // First, attempt login
453
+ * const result = await db.auth.login('user@example.com', 'password123');
454
+ *
455
+ * if (result.requires_2fa) {
456
+ * // User enters the 2FA code they received
457
+ * const user = await db.auth.verify2FALogin('user@example.com', '123456');
458
+ * console.log('Logged in as:', user.email);
459
+ * }
460
+ * ```
461
+ */
462
+ verify2FALogin(email: string, code: string): Promise<AppUser>;
463
+ /**
464
+ * Requests an email verification to be sent to the user's email address.
465
+ *
466
+ * @returns Promise that resolves when the verification email is requested
467
+ *
468
+ * @example
469
+ * ```typescript
470
+ * await db.auth.requestEmailVerification();
471
+ * console.log('Verification email requested');
472
+ * ```
473
+ */
474
+ requestEmailVerification(): Promise<Response>;
475
+ /**
476
+ * Verifies the user's email using the provided token.
477
+ *
478
+ * @param token - Verification token
479
+ * @returns Promise that resolves when the email is verified
480
+ *
481
+ * @example
482
+ * ```typescript
483
+ * await db.auth.verifyEmail('verification-token');
484
+ * console.log('Email verified');
485
+ * ```
486
+ */
487
+ verifyEmail(token: string): Promise<Response>;
488
+ /** * Resends the email verification to the user's email address.
489
+ *
490
+ * @returns Promise that resolves when the verification email is resent
491
+ *
492
+ * @example
493
+ * ```typescript
494
+ * await db.auth.resendVerificationEmail();
495
+ * console.log('Verification email resent');
496
+ * ```
497
+ */
498
+ resendVerificationEmail(): Promise<void>;
392
499
  }
393
500
  export default AuthHandler;
394
501
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/core/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/core/auth.ts"],"names":[],"mappings":"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"}
@@ -129,7 +129,6 @@ class AuthHandler {
129
129
  async request(method, path, body, useDataKey = true) {
130
130
  const url = `${this.baseURL}${path}`;
131
131
  const data = useDataKey ? { data: body } : body;
132
- console.log("request made");
133
132
  try {
134
133
  const res = await fetch(url, {
135
134
  method,
@@ -227,17 +226,33 @@ class AuthHandler {
227
226
  *
228
227
  * @param email - User's email address
229
228
  * @param password - User's password
230
- * @returns Promise that resolves when login is complete
229
+ * @returns Promise resolving to LoginResult indicating success or 2FA requirement
231
230
  *
232
231
  * @example
233
232
  * ```typescript
234
- * await db.auth.login('user@example.com', 'password123');
235
- * console.log('Logged in as:', db.auth.getUser()?.email);
233
+ * const result = await db.auth.login('user@example.com', 'password123');
234
+ *
235
+ * if (result.requires_2fa) {
236
+ * // Show 2FA input form to user
237
+ * console.log(result.message); // "2FA code sent to your email"
238
+ * // Later, call verify2FALogin with the code
239
+ * } else {
240
+ * // Login successful
241
+ * console.log('Logged in as:', result.user?.email);
242
+ * }
236
243
  * ```
237
244
  */
238
245
  async login(email, password) {
239
246
  const response = await this.request("POST", `/auth-collections/login`, { email, password }, false // Do not use data key for auth endpoints
240
247
  );
248
+ // Check if 2FA is required
249
+ if (response.requires_2fa) {
250
+ return {
251
+ requires_2fa: true,
252
+ message: response.message,
253
+ };
254
+ }
255
+ // Normal login flow
241
256
  this.token = response.access_token;
242
257
  this.setToken(this.token);
243
258
  if (!response.user) {
@@ -250,6 +265,10 @@ class AuthHandler {
250
265
  if (this.user) {
251
266
  this.callbacks.onLogin?.(this.user, this.token);
252
267
  }
268
+ return {
269
+ requires_2fa: false,
270
+ user: this.user,
271
+ };
253
272
  }
254
273
  /**
255
274
  * Registers a new user with email, password, and optional additional data.
@@ -257,19 +276,32 @@ class AuthHandler {
257
276
  * @param email - User's email address
258
277
  * @param password - User's password
259
278
  * @param data - Optional additional user data
260
- * @returns Promise that resolves when registration is complete
279
+ * @returns Promise resolving to LoginResult (registration may require 2FA if enabled)
261
280
  *
262
281
  * @example
263
282
  * ```typescript
264
- * await db.auth.register('user@example.com', 'password123', {
283
+ * const result = await db.auth.register('user@example.com', 'password123', {
265
284
  * username: 'johndoe',
266
285
  * fullName: 'John Doe'
267
286
  * });
287
+ *
288
+ * if (result.requires_2fa) {
289
+ * // Handle 2FA verification
290
+ * } else {
291
+ * console.log('Registered as:', result.user?.email);
292
+ * }
268
293
  * ```
269
294
  */
270
295
  async register(email, password, data) {
271
296
  const response = await this.request("POST", `/auth-collections/signup`, { email, password, data }, false // Do not use data key for auth endpoints
272
297
  );
298
+ // Check if 2FA is required
299
+ if (response.requires_2fa) {
300
+ return {
301
+ requires_2fa: true,
302
+ message: response.message,
303
+ };
304
+ }
273
305
  this.token = response.access_token;
274
306
  this.setToken(this.token);
275
307
  if (!response.user) {
@@ -282,6 +314,10 @@ class AuthHandler {
282
314
  if (this.user) {
283
315
  this.callbacks.onRegister?.(this.user, this.token);
284
316
  }
317
+ return {
318
+ requires_2fa: false,
319
+ user: this.user,
320
+ };
285
321
  }
286
322
  /**
287
323
  * Authenticates a user using Google Sign-In with ID token.
@@ -425,12 +461,22 @@ class AuthHandler {
425
461
  throw new Error(`Registration failed: ${errorText}`);
426
462
  }
427
463
  const response = (await res.json());
464
+ // Check if 2FA is required
465
+ if (response.requires_2fa) {
466
+ return {
467
+ requires_2fa: true,
468
+ message: response.message,
469
+ };
470
+ }
428
471
  this.token = response.access_token;
429
472
  this.setToken(response.access_token);
430
473
  this.setUser(response.user);
431
474
  // Trigger register callback
432
475
  this.callbacks.onRegister?.(response.user, response.access_token);
433
- return response.user;
476
+ return {
477
+ requires_2fa: false,
478
+ user: response.user,
479
+ };
434
480
  }
435
481
  /**
436
482
  * Logs out the current user by clearing the token and user data.
@@ -664,6 +710,122 @@ class AuthHandler {
664
710
  getUserById(userId) {
665
711
  return this.request("GET", `/auth-collections/users/${userId}`);
666
712
  }
713
+ // ADDITIONAL SECURITY METHODS
714
+ /**
715
+ * Enables Two-Factor Authentication (2FA) for the current user.
716
+ *
717
+ * @returns Promise that resolves when 2FA is enabled
718
+ *
719
+ * @example
720
+ * ```typescript
721
+ * await db.auth.enable2FA();
722
+ * console.log('2FA enabled for user');
723
+ * ```
724
+ */
725
+ enable2FA() {
726
+ return this.request("POST", `/auth-collections/2fa/enable`, {}, false);
727
+ }
728
+ /**
729
+ * Disables Two-Factor Authentication (2FA) for the current user.
730
+ *
731
+ * @returns Promise that resolves when 2FA is disabled
732
+ *
733
+ * @example
734
+ * ```typescript
735
+ * await db.auth.disable2FA();
736
+ * console.log('2FA disabled for user');
737
+ * ```
738
+ */
739
+ disable2FA() {
740
+ return this.request("POST", `/auth-collections/2fa/disable`, {}, false);
741
+ }
742
+ /**
743
+ * Sends a Two-Factor Authentication (2FA) code to the user's registered method (e.g., email, SMS).
744
+ *
745
+ * @returns Promise that resolves when the 2FA code is sent
746
+ *
747
+ * @example
748
+ * ```typescript
749
+ * await db.auth.send2FACode();
750
+ * console.log('2FA code sent to user');
751
+ * ```
752
+ */
753
+ send2FACode(email) {
754
+ return this.request("POST", `/auth-collections/2fa/send-code`, {
755
+ email
756
+ }, false);
757
+ }
758
+ /**
759
+ * Completes login after 2FA verification.
760
+ * Call this after login() returns requires_2fa: true and the user provides the 2FA code.
761
+ *
762
+ * @param email - User's email address (same as used in login)
763
+ * @param code - The 2FA code from email/authenticator
764
+ * @returns Promise resolving to the authenticated user
765
+ *
766
+ * @example
767
+ * ```typescript
768
+ * // First, attempt login
769
+ * const result = await db.auth.login('user@example.com', 'password123');
770
+ *
771
+ * if (result.requires_2fa) {
772
+ * // User enters the 2FA code they received
773
+ * const user = await db.auth.verify2FALogin('user@example.com', '123456');
774
+ * console.log('Logged in as:', user.email);
775
+ * }
776
+ * ```
777
+ */
778
+ async verify2FALogin(email, code) {
779
+ const response = await this.request("POST", `/auth-collections/2fa/verify`, { email, code }, false);
780
+ this.token = response.access_token;
781
+ this.setToken(this.token);
782
+ this.setUser(response.user);
783
+ // Trigger login callback
784
+ this.callbacks.onLogin?.(response.user, response.access_token);
785
+ return response.user;
786
+ }
787
+ /**
788
+ * Requests an email verification to be sent to the user's email address.
789
+ *
790
+ * @returns Promise that resolves when the verification email is requested
791
+ *
792
+ * @example
793
+ * ```typescript
794
+ * await db.auth.requestEmailVerification();
795
+ * console.log('Verification email requested');
796
+ * ```
797
+ */
798
+ requestEmailVerification() {
799
+ return this.request("POST", `/auth-collections/verify-email/send`, {}, false);
800
+ }
801
+ /**
802
+ * Verifies the user's email using the provided token.
803
+ *
804
+ * @param token - Verification token
805
+ * @returns Promise that resolves when the email is verified
806
+ *
807
+ * @example
808
+ * ```typescript
809
+ * await db.auth.verifyEmail('verification-token');
810
+ * console.log('Email verified');
811
+ * ```
812
+ */
813
+ verifyEmail(token) {
814
+ return this.request("POST", `/auth-collections/verify-email/verify`, { token }, false);
815
+ }
816
+ /** * Resends the email verification to the user's email address.
817
+ *
818
+ * @returns Promise that resolves when the verification email is resent
819
+ *
820
+ * @example
821
+ * ```typescript
822
+ * await db.auth.resendVerificationEmail();
823
+ * console.log('Verification email resent');
824
+ * ```
825
+ */
826
+ resendVerificationEmail() {
827
+ return this.request("POST", `/auth-collections/verify-email/resend`, {}, false);
828
+ }
667
829
  }
668
830
  exports.AuthHandler = AuthHandler;
669
831
  exports.default = AuthHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/core/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/core/auth.ts"],"names":[],"mappings":";;;AAYA,gDAK2B;AAE3B;;;;;;;;;;;GAWG;AACH,MAAa,WAAW;IAOtB;;;;OAIG;IACH,YAAY,MAAsB;QAP1B,cAAS,GAAkB,EAAE,CAAC;QAQpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,2BAA2B,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;IACH,WAAW,CAAC,SAAwB;QAClC,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,SAAS,EAAE,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAA,4BAAiB,EAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,IAAa;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAA,4BAAiB,EAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,OAAO,CACnB,MAA2C,EAC3C,IAAY,EACZ,IAAc,EACd,aAAsB,IAAI;QAE1B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC3B,MAAM;gBACN,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjE;gBACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChD,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,WAAW,CAAC;gBAChB,IAAI,CAAC;oBACH,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACtC,CAAC;gBAAC,MAAM,CAAC;oBACP,WAAW,GAAG,SAAS,CAAC;gBAC1B,CAAC;gBAED,MAAM,YAAY,GAAG;oBACnB,UAAU,EAAE,GAAG,CAAC,MAAM;oBACtB,GAAG;oBACH,MAAM;oBACN,KAAK,EAAE,WAAW;oBAClB,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;iBACzD,CAAC;gBAEF,MAAM,IAAI,KAAK,CACb,oBAAoB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAC5D,CAAC;YACJ,CAAC;YAED,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,KAAK,CACb,2BAA2B,MAAM,eAAe,GAAG,KAAK,KAAK,EAAE,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,kBAAkB,CAAC,MAAc,EAAE,MAAc;QACvD,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,GAAG;gBACN,OAAO,iDAAiD,CAAC;YAC3D,KAAK,GAAG;gBACN,OAAO,6EAA6E,CAAC;YACvF,KAAK,GAAG;gBACN,OAAO,0EAA0E,CAAC;YACpF,KAAK,GAAG;gBACN,OAAO,OAAO,MAAM,6FAA6F,CAAC;YACpH,KAAK,GAAG;gBACN,OAAO,yEAAyE,CAAC;YACnF;gBACE,OAAO,4DAA4D,CAAC;QACxE,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,KAAK,GAAG,IAAA,8BAAmB,EAAC,gBAAgB,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,IAAA,8BAAmB,EAAC,eAAe,CAAC,CAAC;QAClD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;gBACtB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACzB,CAAC;QAED,qCAAqC;QACrC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,QAAgB;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,MAAM,EACN,yBAAyB,EACzB,EAAE,KAAK,EAAE,QAAQ,EAAE,EACnB,KAAK,CAAC,yCAAyC;SAChD,CAAC;QAEF,2BAA2B;QAC3B,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO;gBACL,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,YAAa,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,yBAAyB;QACzB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QAED,OAAO;YACL,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,QAAgB,EAAE,IAA0B;QACxE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,MAAM,EACN,0BAA0B,EAC1B,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EACzB,KAAK,CAAC,yCAAyC;SAChD,CAAC;QAEF,2BAA2B;QAC3B,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO;gBACL,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,YAAa,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,4BAA4B;QAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;QAED,OAAO;YACL,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,KAAK,CAAC,eAAe,CACnB,OAAe,EACf,QAA+C;QAE/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAIjC,MAAM,EACN,iCAAiC,EACjC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAC/B,KAAK,CACN,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE5B,yBAAyB;QACzB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;QAE/D,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,KAAK,CAAC,eAAe,CACnB,IAAY,EACZ,WAAmB,EACnB,QAA+C;QAE/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAIjC,MAAM,EACN,iCAAiC,EACjC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,EAC7C,KAAK,CACN,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE5B,yBAAyB;QACzB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;QAE/D,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,KAAK,CAAC,iBAAiB,CACrB,KAAa,EACb,QAAgB,EAChB,IAA0B,EAC1B,KAAqC;QAErC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAEhC,gBAAgB;QAChB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEnE,+CAA+C;QAC/C,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC3B,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,0BAA0B,CAAC;QACtD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D;YACD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAkB,CAAC;QAErD,2BAA2B;QAC3B,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO;gBACL,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,YAAa,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAa,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAK,CAAC,CAAC;QAE7B,4BAA4B;QAC5B,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,IAAK,EAAE,QAAQ,CAAC,YAAa,CAAC,CAAC;QAEpE,OAAO;YACL,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM;QACJ,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,sBAAsB;QACtB,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;YACxC,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAC1C,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAC3C,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC5B,oDAAoD;QACpD,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;OAWG;IACH,eAAe;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAe,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,IAAe,CAAC,CAAC;QAC9B,OAAO,IAAe,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,UAAU,CACd,IAAiC,EACjC,KAAqB,EACrB,QAAwB;QAExB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,2DAA2D;QAC3D,MAAM,IAAI,GAAwB,EAAE,CAAC;QACrC,IAAI,IAAI,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAA,wBAAa,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QACzE,IAAI,KAAK,IAAI,IAAI;YAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACtC,IAAI,QAAQ,IAAI,IAAI;YAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAE/C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,OAAO,EACP,wBAAwB,EACxB,IAAI,EACJ,KAAK,CACN,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,IAAe,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,IAAe,CAAC,CAAC;QAE9B,+BAA+B;QAC/B,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,IAAe,CAAC,CAAC;QAE/C,OAAO,IAAe,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,KAAK,CAAC,mBAAmB,CACvB,IAAiC,EACjC,KAAqB,EACrB,QAAwB,EACxB,KAAqC;QAErC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAEhC,2DAA2D;QAC3D,MAAM,IAAI,GAAwB,EAAE,CAAC;QACrC,IAAI,IAAI,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAA,wBAAa,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QACzE,IAAI,KAAK,IAAI,IAAI;YAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACtC,IAAI,QAAQ,IAAI,IAAI;YAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAE/C,+BAA+B;QAC/B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,+CAA+C;QAC/C,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC3B,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,wBAAwB,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjE;YACD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAY,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnB,+BAA+B;QAC/B,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAU,KAAa;QAC9B,MAAM,SAAS,GAAG,IAAA,2BAAgB,EAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,0BAA0B,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAc,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,WAAW,CAAU,MAAc;QACjC,OAAO,IAAI,CAAC,OAAO,CAAU,KAAK,EAAE,2BAA2B,MAAM,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,8BAA8B;IAE9B;;;;;;;;;;OAUG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,8BAA8B,EAC9B,EAAE,EACF,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,+BAA+B,EAC/B,EAAE,EACF,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,WAAW,CAAC,KAAY;QACtB,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,iCAAiC,EACjC;YACE,KAAK;SACN,EACD,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,IAAY;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,MAAM,EACN,8BAA8B,EAC9B,EAAE,KAAK,EAAE,IAAI,EAAE,EACf,KAAK,CACN,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE5B,yBAAyB;QACzB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;QAE/D,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;;;;;;;;;OAUG;IACH,wBAAwB;QACtB,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,qCAAqC,EACrC,EAAE,EACF,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,KAAa;QACvB,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,uCAAuC,EACvC,EAAE,KAAK,EAAE,EACT,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,uBAAuB;QACrB,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,uCAAuC,EACvC,EAAE,EACF,KAAK,CACN,CAAC;IACJ,CAAC;CACF;AA78BD,kCA68BC;AAED,kBAAe,WAAW,CAAC"}
@@ -1,7 +1,8 @@
1
- import { CocobaseConfig, Document, AppUser, Query, AppUserList, AggregateResults, AggregateParams } from "../types/types.js";
1
+ import { CocobaseConfig, Document, AppUser, Query, AppUserList, AggregateResults, AggregateParams, LoginResult } from "../types/types.js";
2
2
  import { CloudFunction } from "./functions.js";
3
3
  import AuthHandler from "./auth.js";
4
4
  import { CollectionWatcher, ProjectBroadcast, RoomChat } from "../realtime/websockets.js";
5
+ import { GameClient, RoomListResponse } from "../realtime/multiplayer.js";
5
6
  /**
6
7
  * Main Cocobase client for interacting with the Cocobase backend API.
7
8
  *
@@ -40,13 +41,55 @@ export declare class Cocobase {
40
41
  functions: CloudFunction;
41
42
  auth: AuthHandler;
42
43
  /**
43
- * Realtime helper factories. Use `db.realtime.collection(...)`, `db.realtime.broadcast(...)`, `db.realtime.room(...)`, or `db.realtime.listRooms()`.
44
+ * Realtime helper factories. Use `db.realtime.collection(...)`, `db.realtime.broadcast(...)`, `db.realtime.room(...)`, `db.realtime.game(...)`, or `db.realtime.listRooms()`.
44
45
  */
45
46
  realtime: {
46
47
  collection: (collectionName: string, filters?: Record<string, any>) => CollectionWatcher;
47
48
  broadcast: (userId?: string, userName?: string) => ProjectBroadcast;
48
49
  room: (roomId: string, userId?: string, userName?: string) => RoomChat;
49
50
  listRooms: () => Promise<any>;
51
+ /**
52
+ * Create a multiplayer game client for WebSocket-based games.
53
+ *
54
+ * @param functionName - Name of the WebSocket cloud function
55
+ * @returns GameClient instance
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * const game = db.realtime.game('my-game');
60
+ *
61
+ * game.on('connected', (data) => {
62
+ * console.log('Connected! Player ID:', data.your_id);
63
+ * });
64
+ *
65
+ * game.on('player_joined', (data) => {
66
+ * console.log('Player joined:', data.player_id);
67
+ * });
68
+ *
69
+ * game.on('state', (data) => {
70
+ * renderPlayers(data.players);
71
+ * });
72
+ *
73
+ * await game.connect({ roomId: 'game-room-1' });
74
+ * game.send({ action: 'move', x: 100, y: 200 });
75
+ * ```
76
+ */
77
+ game: (functionName: string) => GameClient;
78
+ /**
79
+ * List available game rooms for discovery.
80
+ *
81
+ * @param publicOnly - Only list public rooms (default: true)
82
+ * @returns Promise resolving to room list
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * const { rooms, total } = await db.realtime.listGameRooms();
87
+ * rooms.forEach(room => {
88
+ * console.log(`${room.room_id}: ${room.player_count} players`);
89
+ * });
90
+ * ```
91
+ */
92
+ listGameRooms: (publicOnly?: boolean) => Promise<RoomListResponse>;
50
93
  };
51
94
  /**
52
95
  * Creates a new Cocobase client instance.
@@ -261,7 +304,7 @@ export declare class Cocobase {
261
304
  * console.log('Logged in as:', db.user.email);
262
305
  * ```
263
306
  */
264
- login(email: string, password: string): Promise<void>;
307
+ login(email: string, password: string): Promise<LoginResult>;
265
308
  /**
266
309
  * Registers a new user with email, password, and optional additional data.
267
310
  *
@@ -279,7 +322,7 @@ export declare class Cocobase {
279
322
  * });
280
323
  * ```
281
324
  */
282
- register(email: string, password: string, data?: Record<string, any>): Promise<void>;
325
+ register(email: string, password: string, data?: Record<string, any>): Promise<LoginResult>;
283
326
  /**
284
327
  * Authenticates a user using Google Sign-In with ID token.
285
328
  *
@@ -326,7 +369,7 @@ export declare class Cocobase {
326
369
  * );
327
370
  * ```
328
371
  */
329
- registerWithFiles(email: string, password: string, data?: Record<string, any>, files?: Record<string, File | File[]>): Promise<AppUser>;
372
+ registerWithFiles(email: string, password: string, data?: Record<string, any>, files?: Record<string, File | File[]>): Promise<LoginResult>;
330
373
  /**
331
374
  * Logs out the current user by clearing the token and user data.
332
375
  *
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/core/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/core/core.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ const utils_js_1 = require("../utils/utils.js");
8
8
  const functions_js_1 = require("./functions.js");
9
9
  const auth_js_1 = __importDefault(require("./auth.js"));
10
10
  const websockets_js_1 = require("../realtime/websockets.js");
11
+ const multiplayer_js_1 = require("../realtime/multiplayer.js");
11
12
  /**
12
13
  * Main Cocobase client for interacting with the Cocobase backend API.
13
14
  *
@@ -67,6 +68,8 @@ class Cocobase {
67
68
  broadcast: (userId, userName) => new websockets_js_1.ProjectBroadcast(this.apiKey || "", userId, userName),
68
69
  room: (roomId, userId, userName) => new websockets_js_1.RoomChat(roomId, this.apiKey || "", userId, userName),
69
70
  listRooms: async () => (0, websockets_js_1.listRooms)(this.apiKey || ""),
71
+ game: (functionName) => new multiplayer_js_1.GameClient(this.projectId || "", functionName, this.auth.getToken()),
72
+ listGameRooms: (publicOnly = true) => (0, multiplayer_js_1.listGameRooms)(this.projectId || "", this.apiKey, publicOnly),
70
73
  };
71
74
  }
72
75
  /**