@crowdedkingdomstudios/crowdyjs 2.0.0 → 2.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 (65) hide show
  1. package/README.md +433 -6
  2. package/dist/auth-state.d.ts +21 -0
  3. package/dist/auth-state.d.ts.map +1 -0
  4. package/dist/auth-state.js +30 -0
  5. package/dist/client.d.ts +27 -21
  6. package/dist/client.d.ts.map +1 -1
  7. package/dist/client.js +27 -196
  8. package/dist/crowdy-client.d.ts +44 -24
  9. package/dist/crowdy-client.d.ts.map +1 -1
  10. package/dist/crowdy-client.js +42 -81
  11. package/dist/domains/actors.d.ts +22 -0
  12. package/dist/domains/actors.d.ts.map +1 -0
  13. package/dist/domains/actors.js +42 -0
  14. package/dist/domains/appAccess.d.ts +23 -0
  15. package/dist/domains/appAccess.d.ts.map +1 -0
  16. package/dist/domains/appAccess.js +42 -0
  17. package/dist/domains/apps.d.ts +27 -0
  18. package/dist/domains/apps.d.ts.map +1 -0
  19. package/dist/domains/apps.js +49 -0
  20. package/dist/domains/auth.d.ts +32 -0
  21. package/dist/domains/auth.d.ts.map +1 -0
  22. package/dist/domains/auth.js +70 -0
  23. package/dist/domains/billing.d.ts +17 -0
  24. package/dist/domains/billing.d.ts.map +1 -0
  25. package/dist/domains/billing.js +31 -0
  26. package/dist/domains/chunks.d.ts +20 -0
  27. package/dist/domains/chunks.d.ts.map +1 -0
  28. package/dist/domains/chunks.js +40 -0
  29. package/dist/domains/organizations.d.ts +33 -0
  30. package/dist/domains/organizations.d.ts.map +1 -0
  31. package/dist/domains/organizations.js +90 -0
  32. package/dist/domains/payments.d.ts +20 -0
  33. package/dist/domains/payments.d.ts.map +1 -0
  34. package/dist/domains/payments.js +28 -0
  35. package/dist/domains/quotas.d.ts +20 -0
  36. package/dist/domains/quotas.d.ts.map +1 -0
  37. package/dist/domains/quotas.js +34 -0
  38. package/dist/domains/serverStatus.d.ts +21 -0
  39. package/dist/domains/serverStatus.d.ts.map +1 -0
  40. package/dist/domains/serverStatus.js +32 -0
  41. package/dist/domains/state.d.ts +16 -0
  42. package/dist/domains/state.d.ts.map +1 -0
  43. package/dist/domains/state.js +27 -0
  44. package/dist/domains/teleport.d.ts +13 -0
  45. package/dist/domains/teleport.d.ts.map +1 -0
  46. package/dist/domains/teleport.js +15 -0
  47. package/dist/domains/udp.d.ts +32 -0
  48. package/dist/domains/udp.d.ts.map +1 -0
  49. package/dist/domains/udp.js +55 -0
  50. package/dist/domains/users.d.ts +24 -0
  51. package/dist/domains/users.d.ts.map +1 -0
  52. package/dist/domains/users.js +53 -0
  53. package/dist/domains/voxels.d.ts +17 -0
  54. package/dist/domains/voxels.d.ts.map +1 -0
  55. package/dist/domains/voxels.js +31 -0
  56. package/dist/generated/graphql.d.ts +3571 -0
  57. package/dist/generated/graphql.d.ts.map +1 -0
  58. package/dist/generated/graphql.js +181 -0
  59. package/dist/index.d.ts +33 -3
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +34 -1
  62. package/dist/subscriptions.d.ts +36 -18
  63. package/dist/subscriptions.d.ts.map +1 -1
  64. package/dist/subscriptions.js +95 -181
  65. package/package.json +12 -1
@@ -0,0 +1,49 @@
1
+ import { AppDocument, AppBySlugDocument, MyAppsDocument, AppsForOrgDocument, MarketplaceAppsDocument, CreateAppDocument, UpdateAppDocument, ArchiveAppDocument, SetAppVisibilityDocument, } from '../generated/graphql.js';
2
+ /**
3
+ * App (game / world) lifecycle and discovery. Exposed as `client.apps`.
4
+ *
5
+ * `marketplace()` is a public listing (no auth) of every app where
6
+ * visibility = PUBLIC and status = LIVE; the rest of the methods require
7
+ * either org-membership permissions or super admin.
8
+ */
9
+ export class AppsAPI {
10
+ constructor(gql) {
11
+ this.gql = gql;
12
+ }
13
+ async marketplace(args = {}) {
14
+ const data = await this.gql.request(MarketplaceAppsDocument, args);
15
+ return data.apps;
16
+ }
17
+ async byId(appId) {
18
+ const data = await this.gql.request(AppDocument, { appId });
19
+ return data.app;
20
+ }
21
+ async bySlug(args) {
22
+ const data = await this.gql.request(AppBySlugDocument, args);
23
+ return data.appBySlug;
24
+ }
25
+ async myApps() {
26
+ const data = await this.gql.request(MyAppsDocument, undefined);
27
+ return data.myApps;
28
+ }
29
+ async forOrg(orgSlug) {
30
+ const data = await this.gql.request(AppsForOrgDocument, { orgSlug });
31
+ return data.appsForOrg;
32
+ }
33
+ async create(input) {
34
+ const data = await this.gql.request(CreateAppDocument, { input });
35
+ return data.createApp;
36
+ }
37
+ async update(args) {
38
+ const data = await this.gql.request(UpdateAppDocument, args);
39
+ return data.updateApp;
40
+ }
41
+ async archive(appId) {
42
+ const data = await this.gql.request(ArchiveAppDocument, { appId });
43
+ return data.archiveApp;
44
+ }
45
+ async setVisibility(args) {
46
+ const data = await this.gql.request(SetAppVisibilityDocument, args);
47
+ return data.setAppVisibility;
48
+ }
49
+ }
@@ -0,0 +1,32 @@
1
+ import type { GraphQLClient } from '../client.js';
2
+ import type { AuthState } from '../auth-state.js';
3
+ import { type LoginMutation, type LoginMutationVariables, type RegisterMutation, type RegisterMutationVariables, type LogoutMutation, type LogoutAllDevicesMutation, type ConfirmEmailMutationVariables, type RequestPasswordResetMutationVariables, type ResetPasswordMutationVariables, type ResendConfirmationEmailMutationVariables } from '../generated/graphql.js';
4
+ /**
5
+ * Authentication operations. Exposed as `client.auth.<method>`.
6
+ *
7
+ * `login` / `register` write the returned token into the shared `AuthState`
8
+ * so the WebSocket subscription manager picks it up automatically. `logout`
9
+ * / `logoutAllDevices` clear it.
10
+ */
11
+ export declare class AuthAPI {
12
+ private gql;
13
+ private authState;
14
+ constructor(gql: GraphQLClient, authState: AuthState);
15
+ login(input: LoginMutationVariables['input']): Promise<LoginMutation['login']>;
16
+ register(input: RegisterMutationVariables['input']): Promise<RegisterMutation['register']>;
17
+ logout(): Promise<LogoutMutation['logout']>;
18
+ logoutAllDevices(): Promise<LogoutAllDevicesMutation['logoutAllDevices']>;
19
+ /**
20
+ * Manual token override - lets callers seed an existing session token
21
+ * (e.g. on app reload) or stamp out the in-memory token without firing
22
+ * a logout mutation. Pass `null` to clear.
23
+ */
24
+ setToken(token: string | null): void;
25
+ getToken(): string | null;
26
+ confirmEmail(token: ConfirmEmailMutationVariables['token']): Promise<boolean>;
27
+ requestPasswordReset(email: RequestPasswordResetMutationVariables['email']): Promise<boolean>;
28
+ resetPassword(input: ResetPasswordMutationVariables['input']): Promise<boolean>;
29
+ resendConfirmationEmail(email: ResendConfirmationEmailMutationVariables['email']): Promise<boolean>;
30
+ changePassword(currentPassword: string, newPassword: string): Promise<boolean>;
31
+ }
32
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/domains/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAE3B,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAE9B,KAAK,cAAc,EAEnB,KAAK,wBAAwB,EAE7B,KAAK,6BAA6B,EAElC,KAAK,qCAAqC,EAE1C,KAAK,8BAA8B,EAEnC,KAAK,wCAAwC,EAG9C,MAAM,yBAAyB,CAAC;AAEjC;;;;;;GAMG;AACH,qBAAa,OAAO;IAEhB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,SAAS;gBADT,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,SAAS;IAGxB,KAAK,CAAC,KAAK,EAAE,sBAAsB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAQ9E,QAAQ,CACZ,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,GACxC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAQlC,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAM3C,gBAAgB,IAAI,OAAO,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;IAM/E;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIpC,QAAQ,IAAI,MAAM,GAAG,IAAI;IAInB,YAAY,CAAC,KAAK,EAAE,6BAA6B,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAK7E,oBAAoB,CACxB,KAAK,EAAE,qCAAqC,CAAC,OAAO,CAAC,GACpD,OAAO,CAAC,OAAO,CAAC;IAKb,aAAa,CACjB,KAAK,EAAE,8BAA8B,CAAC,OAAO,CAAC,GAC7C,OAAO,CAAC,OAAO,CAAC;IAKb,uBAAuB,CAC3B,KAAK,EAAE,wCAAwC,CAAC,OAAO,CAAC,GACvD,OAAO,CAAC,OAAO,CAAC;IAKb,cAAc,CAClB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;CAKpB"}
@@ -0,0 +1,70 @@
1
+ import { LoginDocument, RegisterDocument, LogoutDocument, LogoutAllDevicesDocument, ConfirmEmailDocument, RequestPasswordResetDocument, ResetPasswordDocument, ResendConfirmationEmailDocument, ChangePasswordDocument, } from '../generated/graphql.js';
2
+ /**
3
+ * Authentication operations. Exposed as `client.auth.<method>`.
4
+ *
5
+ * `login` / `register` write the returned token into the shared `AuthState`
6
+ * so the WebSocket subscription manager picks it up automatically. `logout`
7
+ * / `logoutAllDevices` clear it.
8
+ */
9
+ export class AuthAPI {
10
+ constructor(gql, authState) {
11
+ this.gql = gql;
12
+ this.authState = authState;
13
+ }
14
+ async login(input) {
15
+ const data = await this.gql.request(LoginDocument, { input });
16
+ if (data.login?.token) {
17
+ this.authState.setToken(data.login.token);
18
+ }
19
+ return data.login;
20
+ }
21
+ async register(input) {
22
+ const data = await this.gql.request(RegisterDocument, { input });
23
+ if (data.register?.token) {
24
+ this.authState.setToken(data.register.token);
25
+ }
26
+ return data.register;
27
+ }
28
+ async logout() {
29
+ const data = await this.gql.request(LogoutDocument, undefined);
30
+ this.authState.setToken(null);
31
+ return data.logout;
32
+ }
33
+ async logoutAllDevices() {
34
+ const data = await this.gql.request(LogoutAllDevicesDocument, undefined);
35
+ this.authState.setToken(null);
36
+ return data.logoutAllDevices;
37
+ }
38
+ /**
39
+ * Manual token override - lets callers seed an existing session token
40
+ * (e.g. on app reload) or stamp out the in-memory token without firing
41
+ * a logout mutation. Pass `null` to clear.
42
+ */
43
+ setToken(token) {
44
+ this.authState.setToken(token);
45
+ }
46
+ getToken() {
47
+ return this.authState.getToken();
48
+ }
49
+ async confirmEmail(token) {
50
+ const data = await this.gql.request(ConfirmEmailDocument, { token });
51
+ return data.confirmEmail;
52
+ }
53
+ async requestPasswordReset(email) {
54
+ const data = await this.gql.request(RequestPasswordResetDocument, { email });
55
+ return data.requestPasswordReset;
56
+ }
57
+ async resetPassword(input) {
58
+ const data = await this.gql.request(ResetPasswordDocument, { input });
59
+ return data.resetPassword;
60
+ }
61
+ async resendConfirmationEmail(email) {
62
+ const data = await this.gql.request(ResendConfirmationEmailDocument, { email });
63
+ return data.resendConfirmationEmail;
64
+ }
65
+ async changePassword(currentPassword, newPassword) {
66
+ const vars = { currentPassword, newPassword };
67
+ const data = await this.gql.request(ChangePasswordDocument, vars);
68
+ return data.changePassword;
69
+ }
70
+ }
@@ -0,0 +1,17 @@
1
+ import type { GraphQLClient } from '../client.js';
2
+ import { type WalletBalanceQuery, type WalletBalanceQueryVariables, type WalletTransactionsQuery, type WalletTransactionsQueryVariables, type AppBudgetQuery, type AppBudgetQueryVariables, type AppBudgetsQuery, type AppBudgetsQueryVariables, type SetAppBudgetMutation, type SetAppBudgetMutationVariables } from '../generated/graphql.js';
3
+ /**
4
+ * Billing & wallet operations: balances, transactions, app budgets. Exposed
5
+ * as `client.billing`. Wallet top-up flows go through `client.payments`
6
+ * (CheckoutPurpose=ORG_WALLET_TOPUP).
7
+ */
8
+ export declare class BillingAPI {
9
+ private gql;
10
+ constructor(gql: GraphQLClient);
11
+ balance(orgId: WalletBalanceQueryVariables['orgId']): Promise<WalletBalanceQuery['walletBalance']>;
12
+ transactions(args: WalletTransactionsQueryVariables): Promise<WalletTransactionsQuery['walletTransactions']>;
13
+ appBudget(args: AppBudgetQueryVariables): Promise<AppBudgetQuery['appBudget']>;
14
+ appBudgets(orgId: AppBudgetsQueryVariables['orgId']): Promise<AppBudgetsQuery['appBudgets']>;
15
+ setAppBudget(args: SetAppBudgetMutationVariables): Promise<SetAppBudgetMutation['setAppBudget']>;
16
+ }
17
+ //# sourceMappingURL=billing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../src/domains/billing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAEhC,KAAK,uBAAuB,EAC5B,KAAK,gCAAgC,EAErC,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAE5B,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAE7B,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,EACnC,MAAM,yBAAyB,CAAC;AAEjC;;;;GAIG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,aAAa;IAEhC,OAAO,CACX,KAAK,EAAE,2BAA2B,CAAC,OAAO,CAAC,GAC1C,OAAO,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAKzC,YAAY,CAChB,IAAI,EAAE,gCAAgC,GACrC,OAAO,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,CAAC;IAKnD,SAAS,CACb,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAKjC,UAAU,CACd,KAAK,EAAE,wBAAwB,CAAC,OAAO,CAAC,GACvC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAKnC,YAAY,CAChB,IAAI,EAAE,6BAA6B,GAClC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;CAIjD"}
@@ -0,0 +1,31 @@
1
+ import { WalletBalanceDocument, WalletTransactionsDocument, AppBudgetDocument, AppBudgetsDocument, SetAppBudgetDocument, } from '../generated/graphql.js';
2
+ /**
3
+ * Billing & wallet operations: balances, transactions, app budgets. Exposed
4
+ * as `client.billing`. Wallet top-up flows go through `client.payments`
5
+ * (CheckoutPurpose=ORG_WALLET_TOPUP).
6
+ */
7
+ export class BillingAPI {
8
+ constructor(gql) {
9
+ this.gql = gql;
10
+ }
11
+ async balance(orgId) {
12
+ const data = await this.gql.request(WalletBalanceDocument, { orgId });
13
+ return data.walletBalance;
14
+ }
15
+ async transactions(args) {
16
+ const data = await this.gql.request(WalletTransactionsDocument, args);
17
+ return data.walletTransactions;
18
+ }
19
+ async appBudget(args) {
20
+ const data = await this.gql.request(AppBudgetDocument, args);
21
+ return data.appBudget;
22
+ }
23
+ async appBudgets(orgId) {
24
+ const data = await this.gql.request(AppBudgetsDocument, { orgId });
25
+ return data.appBudgets;
26
+ }
27
+ async setAppBudget(args) {
28
+ const data = await this.gql.request(SetAppBudgetDocument, args);
29
+ return data.setAppBudget;
30
+ }
31
+ }
@@ -0,0 +1,20 @@
1
+ import type { GraphQLClient } from '../client.js';
2
+ import { type GetChunkQuery, type GetChunkQueryVariables, type GetChunkLodsQuery, type GetChunkLodsQueryVariables, type GetChunksByDistanceQuery, type GetChunksByDistanceQueryVariables, type GetVoxelListQuery, type GetVoxelListQueryVariables, type UpdateChunkMutation, type UpdateChunkMutationVariables, type UpdateChunkStateMutation, type UpdateChunkStateMutationVariables, type UpdateChunkLodsMutation, type UpdateChunkLodsMutationVariables } from '../generated/graphql.js';
3
+ /**
4
+ * Chunk-level queries and mutations: lookup, LODs, distance scans,
5
+ * voxel lists, and chunk state/LOD updates.
6
+ *
7
+ * Exposed as `client.chunks`.
8
+ */
9
+ export declare class ChunksAPI {
10
+ private gql;
11
+ constructor(gql: GraphQLClient);
12
+ get(input: GetChunkQueryVariables['input']): Promise<GetChunkQuery['getChunk']>;
13
+ getLods(input: GetChunkLodsQueryVariables['input']): Promise<GetChunkLodsQuery['getChunkLods']>;
14
+ byDistance(input: GetChunksByDistanceQueryVariables['input']): Promise<GetChunksByDistanceQuery['getChunksByDistance']>;
15
+ voxelList(input: GetVoxelListQueryVariables['input']): Promise<GetVoxelListQuery['getVoxelList']>;
16
+ update(input: UpdateChunkMutationVariables['input']): Promise<UpdateChunkMutation['updateChunk']>;
17
+ updateState(input: UpdateChunkStateMutationVariables['input']): Promise<UpdateChunkStateMutation['updateChunkState']>;
18
+ updateLods(input: UpdateChunkLodsMutationVariables['input']): Promise<UpdateChunkLodsMutation['updateChunkLods']>;
19
+ }
20
+ //# sourceMappingURL=chunks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks.d.ts","sourceRoot":"","sources":["../../src/domains/chunks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAE3B,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAE/B,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EAEtC,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAE/B,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EAEjC,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EAEtC,KAAK,uBAAuB,EAC5B,KAAK,gCAAgC,EACtC,MAAM,yBAAyB,CAAC;AAEjC;;;;;GAKG;AACH,qBAAa,SAAS;IACR,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,aAAa;IAEhC,GAAG,CACP,KAAK,EAAE,sBAAsB,CAAC,OAAO,CAAC,GACrC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAK/B,OAAO,CACX,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC,GACzC,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAKvC,UAAU,CACd,KAAK,EAAE,iCAAiC,CAAC,OAAO,CAAC,GAChD,OAAO,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;IAKrD,SAAS,CACb,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC,GACzC,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAKvC,MAAM,CACV,KAAK,EAAE,4BAA4B,CAAC,OAAO,CAAC,GAC3C,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAKxC,WAAW,CACf,KAAK,EAAE,iCAAiC,CAAC,OAAO,CAAC,GAChD,OAAO,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;IAKlD,UAAU,CACd,KAAK,EAAE,gCAAgC,CAAC,OAAO,CAAC,GAC/C,OAAO,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;CAIvD"}
@@ -0,0 +1,40 @@
1
+ import { GetChunkDocument, GetChunkLodsDocument, GetChunksByDistanceDocument, GetVoxelListDocument, UpdateChunkDocument, UpdateChunkStateDocument, UpdateChunkLodsDocument, } from '../generated/graphql.js';
2
+ /**
3
+ * Chunk-level queries and mutations: lookup, LODs, distance scans,
4
+ * voxel lists, and chunk state/LOD updates.
5
+ *
6
+ * Exposed as `client.chunks`.
7
+ */
8
+ export class ChunksAPI {
9
+ constructor(gql) {
10
+ this.gql = gql;
11
+ }
12
+ async get(input) {
13
+ const data = await this.gql.request(GetChunkDocument, { input });
14
+ return data.getChunk;
15
+ }
16
+ async getLods(input) {
17
+ const data = await this.gql.request(GetChunkLodsDocument, { input });
18
+ return data.getChunkLods;
19
+ }
20
+ async byDistance(input) {
21
+ const data = await this.gql.request(GetChunksByDistanceDocument, { input });
22
+ return data.getChunksByDistance;
23
+ }
24
+ async voxelList(input) {
25
+ const data = await this.gql.request(GetVoxelListDocument, { input });
26
+ return data.getVoxelList;
27
+ }
28
+ async update(input) {
29
+ const data = await this.gql.request(UpdateChunkDocument, { input });
30
+ return data.updateChunk;
31
+ }
32
+ async updateState(input) {
33
+ const data = await this.gql.request(UpdateChunkStateDocument, { input });
34
+ return data.updateChunkState;
35
+ }
36
+ async updateLods(input) {
37
+ const data = await this.gql.request(UpdateChunkLodsDocument, { input });
38
+ return data.updateChunkLods;
39
+ }
40
+ }
@@ -0,0 +1,33 @@
1
+ import type { GraphQLClient } from '../client.js';
2
+ import { type OrganizationQuery, type OrganizationQueryVariables, type OrganizationBySlugQuery, type OrganizationBySlugQueryVariables, type OrgMembersQuery, type OrgMembersQueryVariables, type MyOrganizationsQuery, type OrgPermissionsQuery, type OrgRolesQuery, type OrgRolesQueryVariables, type OrgTokensQuery, type OrgTokensQueryVariables, type CreateOrganizationMutation, type CreateOrganizationMutationVariables, type CreateOrgTokenMutation, type CreateOrgTokenMutationVariables, type UpdateOrgTokenMutation, type UpdateOrgTokenMutationVariables, type RevokeOrgTokenMutationVariables, type InviteOrgMemberMutation, type InviteOrgMemberMutationVariables, type RemoveOrgMemberMutationVariables, type UpdateOrgMemberRolesMutation, type UpdateOrgMemberRolesMutationVariables, type CreateOrgRoleMutation, type CreateOrgRoleMutationVariables, type UpdateOrgRoleMutation, type UpdateOrgRoleMutationVariables, type DeleteOrgRoleMutationVariables, type SetOrgStatusMutation, type SetOrgStatusMutationVariables } from '../generated/graphql.js';
3
+ /**
4
+ * Organization (multi-tenant studio) operations: lookup, members, roles,
5
+ * tokens. Exposed as `client.orgs`.
6
+ */
7
+ export declare class OrganizationsAPI {
8
+ private gql;
9
+ constructor(gql: GraphQLClient);
10
+ byId(id: OrganizationQueryVariables['id']): Promise<OrganizationQuery['organization']>;
11
+ bySlug(slug: OrganizationBySlugQueryVariables['slug']): Promise<OrganizationBySlugQuery['organizationBySlug']>;
12
+ myOrganizations(): Promise<MyOrganizationsQuery['myOrganizations']>;
13
+ permissionsCatalog(): Promise<OrgPermissionsQuery['orgPermissions']>;
14
+ members(orgId: OrgMembersQueryVariables['orgId']): Promise<OrgMembersQuery['orgMembers']>;
15
+ roles(orgId: OrgRolesQueryVariables['orgId']): Promise<OrgRolesQuery['orgRoles']>;
16
+ createRole(input: CreateOrgRoleMutationVariables['input']): Promise<CreateOrgRoleMutation['createOrgRole']>;
17
+ updateRole(args: UpdateOrgRoleMutationVariables): Promise<UpdateOrgRoleMutation['updateOrgRole']>;
18
+ deleteRole(orgRoleId: DeleteOrgRoleMutationVariables['orgRoleId']): Promise<boolean>;
19
+ inviteMember(input: InviteOrgMemberMutationVariables['input']): Promise<InviteOrgMemberMutation['inviteOrgMember']>;
20
+ removeMember(args: RemoveOrgMemberMutationVariables): Promise<boolean>;
21
+ setMemberRoles(args: UpdateOrgMemberRolesMutationVariables): Promise<UpdateOrgMemberRolesMutation['updateOrgMemberRoles']>;
22
+ tokens(orgId: OrgTokensQueryVariables['orgId']): Promise<OrgTokensQuery['orgTokens']>;
23
+ /**
24
+ * Returns the plaintext token exactly once (on creation). Save it now;
25
+ * subsequent listings show metadata only via the `tokens()` query.
26
+ */
27
+ createToken(input: CreateOrgTokenMutationVariables['input']): Promise<CreateOrgTokenMutation['createOrgToken']>;
28
+ updateToken(args: UpdateOrgTokenMutationVariables): Promise<UpdateOrgTokenMutation['updateOrgToken']>;
29
+ revokeToken(orgTokenId: RevokeOrgTokenMutationVariables['orgTokenId']): Promise<boolean>;
30
+ create(input: CreateOrganizationMutationVariables['input']): Promise<CreateOrganizationMutation['createOrganization']>;
31
+ setStatus(args: SetOrgStatusMutationVariables): Promise<SetOrgStatusMutation['setOrgStatus']>;
32
+ }
33
+ //# sourceMappingURL=organizations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organizations.d.ts","sourceRoot":"","sources":["../../src/domains/organizations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import { OrganizationDocument, OrganizationBySlugDocument, OrgMembersDocument, MyOrganizationsDocument, OrgPermissionsDocument, OrgRolesDocument, OrgTokensDocument, CreateOrganizationDocument, CreateOrgTokenDocument, UpdateOrgTokenDocument, RevokeOrgTokenDocument, InviteOrgMemberDocument, RemoveOrgMemberDocument, UpdateOrgMemberRolesDocument, CreateOrgRoleDocument, UpdateOrgRoleDocument, DeleteOrgRoleDocument, SetOrgStatusDocument, } from '../generated/graphql.js';
2
+ /**
3
+ * Organization (multi-tenant studio) operations: lookup, members, roles,
4
+ * tokens. Exposed as `client.orgs`.
5
+ */
6
+ export class OrganizationsAPI {
7
+ constructor(gql) {
8
+ this.gql = gql;
9
+ }
10
+ // -- Discovery ---------------------------------------------------------
11
+ async byId(id) {
12
+ const data = await this.gql.request(OrganizationDocument, { id });
13
+ return data.organization;
14
+ }
15
+ async bySlug(slug) {
16
+ const data = await this.gql.request(OrganizationBySlugDocument, { slug });
17
+ return data.organizationBySlug;
18
+ }
19
+ async myOrganizations() {
20
+ const data = await this.gql.request(MyOrganizationsDocument, undefined);
21
+ return data.myOrganizations;
22
+ }
23
+ async permissionsCatalog() {
24
+ const data = await this.gql.request(OrgPermissionsDocument, undefined);
25
+ return data.orgPermissions;
26
+ }
27
+ // -- Members + Roles --------------------------------------------------
28
+ async members(orgId) {
29
+ const data = await this.gql.request(OrgMembersDocument, { orgId });
30
+ return data.orgMembers;
31
+ }
32
+ async roles(orgId) {
33
+ const data = await this.gql.request(OrgRolesDocument, { orgId });
34
+ return data.orgRoles;
35
+ }
36
+ async createRole(input) {
37
+ const data = await this.gql.request(CreateOrgRoleDocument, { input });
38
+ return data.createOrgRole;
39
+ }
40
+ async updateRole(args) {
41
+ const data = await this.gql.request(UpdateOrgRoleDocument, args);
42
+ return data.updateOrgRole;
43
+ }
44
+ async deleteRole(orgRoleId) {
45
+ const data = await this.gql.request(DeleteOrgRoleDocument, { orgRoleId });
46
+ return data.deleteOrgRole;
47
+ }
48
+ async inviteMember(input) {
49
+ const data = await this.gql.request(InviteOrgMemberDocument, { input });
50
+ return data.inviteOrgMember;
51
+ }
52
+ async removeMember(args) {
53
+ const data = await this.gql.request(RemoveOrgMemberDocument, args);
54
+ return data.removeOrgMember;
55
+ }
56
+ async setMemberRoles(args) {
57
+ const data = await this.gql.request(UpdateOrgMemberRolesDocument, args);
58
+ return data.updateOrgMemberRoles;
59
+ }
60
+ // -- Tokens -----------------------------------------------------------
61
+ async tokens(orgId) {
62
+ const data = await this.gql.request(OrgTokensDocument, { orgId });
63
+ return data.orgTokens;
64
+ }
65
+ /**
66
+ * Returns the plaintext token exactly once (on creation). Save it now;
67
+ * subsequent listings show metadata only via the `tokens()` query.
68
+ */
69
+ async createToken(input) {
70
+ const data = await this.gql.request(CreateOrgTokenDocument, { input });
71
+ return data.createOrgToken;
72
+ }
73
+ async updateToken(args) {
74
+ const data = await this.gql.request(UpdateOrgTokenDocument, args);
75
+ return data.updateOrgToken;
76
+ }
77
+ async revokeToken(orgTokenId) {
78
+ const data = await this.gql.request(RevokeOrgTokenDocument, { orgTokenId });
79
+ return data.revokeOrgToken;
80
+ }
81
+ // -- Lifecycle --------------------------------------------------------
82
+ async create(input) {
83
+ const data = await this.gql.request(CreateOrganizationDocument, { input });
84
+ return data.createOrganization;
85
+ }
86
+ async setStatus(args) {
87
+ const data = await this.gql.request(SetOrgStatusDocument, args);
88
+ return data.setOrgStatus;
89
+ }
90
+ }
@@ -0,0 +1,20 @@
1
+ import type { GraphQLClient } from '../client.js';
2
+ import { type CreateCheckoutMutation, type CreateCheckoutMutationVariables, type MyCheckoutsQuery, type MyCheckoutsQueryVariables, type CheckoutsQuery, type CheckoutsQueryVariables } from '../generated/graphql.js';
3
+ /**
4
+ * Provider-agnostic checkout creation + history. Exposed as
5
+ * `client.payments`.
6
+ *
7
+ * Every checkout (Stripe or PayPal) returns an `externalUrl` that the
8
+ * caller redirects the user to. The status only flips to COMPLETED when
9
+ * the matching webhook reaches the API; `myCheckouts()` reflects the
10
+ * current truth.
11
+ */
12
+ export declare class PaymentsAPI {
13
+ private gql;
14
+ constructor(gql: GraphQLClient);
15
+ createCheckout(input: CreateCheckoutMutationVariables['input']): Promise<CreateCheckoutMutation['createCheckout']>;
16
+ myCheckouts(args?: MyCheckoutsQueryVariables): Promise<MyCheckoutsQuery['myCheckouts']>;
17
+ /** Super admin only - cross-tenant payments audit. */
18
+ checkouts(args?: CheckoutsQueryVariables): Promise<CheckoutsQuery['checkouts']>;
19
+ }
20
+ //# sourceMappingURL=payments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payments.d.ts","sourceRoot":"","sources":["../../src/domains/payments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,+BAA+B,EAEpC,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAE9B,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;GAQG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,aAAa;IAEhC,cAAc,CAClB,KAAK,EAAE,+BAA+B,CAAC,OAAO,CAAC,GAC9C,OAAO,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;IAK9C,WAAW,CACf,IAAI,GAAE,yBAA8B,GACnC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAK3C,sDAAsD;IAChD,SAAS,CACb,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;CAIxC"}
@@ -0,0 +1,28 @@
1
+ import { CreateCheckoutDocument, MyCheckoutsDocument, CheckoutsDocument, } from '../generated/graphql.js';
2
+ /**
3
+ * Provider-agnostic checkout creation + history. Exposed as
4
+ * `client.payments`.
5
+ *
6
+ * Every checkout (Stripe or PayPal) returns an `externalUrl` that the
7
+ * caller redirects the user to. The status only flips to COMPLETED when
8
+ * the matching webhook reaches the API; `myCheckouts()` reflects the
9
+ * current truth.
10
+ */
11
+ export class PaymentsAPI {
12
+ constructor(gql) {
13
+ this.gql = gql;
14
+ }
15
+ async createCheckout(input) {
16
+ const data = await this.gql.request(CreateCheckoutDocument, { input });
17
+ return data.createCheckout;
18
+ }
19
+ async myCheckouts(args = {}) {
20
+ const data = await this.gql.request(MyCheckoutsDocument, args);
21
+ return data.myCheckouts;
22
+ }
23
+ /** Super admin only - cross-tenant payments audit. */
24
+ async checkouts(args = {}) {
25
+ const data = await this.gql.request(CheckoutsDocument, args);
26
+ return data.checkouts;
27
+ }
28
+ }
@@ -0,0 +1,20 @@
1
+ import type { GraphQLClient } from '../client.js';
2
+ import { type QuotasForOrgQuery, type QuotasForOrgQueryVariables, type QuotasForAppQuery, type QuotasForAppQueryVariables, type EffectiveQuotaQuery, type EffectiveQuotaQueryVariables, type SetQuotaMutation, type SetQuotaMutationVariables, type DeleteQuotaMutationVariables } from '../generated/graphql.js';
3
+ /**
4
+ * Service quota management. Exposed as `client.quotas`.
5
+ */
6
+ export declare class QuotasAPI {
7
+ private gql;
8
+ constructor(gql: GraphQLClient);
9
+ byOrg(orgId: QuotasForOrgQueryVariables['orgId']): Promise<QuotasForOrgQuery['quotasForOrg']>;
10
+ byApp(appId: QuotasForAppQueryVariables['appId']): Promise<QuotasForAppQuery['quotasForApp']>;
11
+ /**
12
+ * Returns the most-specific quota that applies to (orgId, appId, tierId,
13
+ * metric). Walks tier -> app -> org -> free_tier_defaults. Returns null
14
+ * when nothing matches.
15
+ */
16
+ effective(args: EffectiveQuotaQueryVariables): Promise<EffectiveQuotaQuery['effectiveQuota']>;
17
+ set(input: SetQuotaMutationVariables['input']): Promise<SetQuotaMutation['setQuota']>;
18
+ delete(quotaId: DeleteQuotaMutationVariables['quotaId']): Promise<boolean>;
19
+ }
20
+ //# sourceMappingURL=quotas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quotas.d.ts","sourceRoot":"","sources":["../../src/domains/quotas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAE/B,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAE/B,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EAEjC,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAE9B,KAAK,4BAA4B,EAClC,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,qBAAa,SAAS;IACR,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,aAAa;IAEhC,KAAK,CACT,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC,GACzC,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAKvC,KAAK,CACT,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC,GACzC,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK7C;;;;OAIG;IACG,SAAS,CACb,IAAI,EAAE,4BAA4B,GACjC,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAK3C,GAAG,CACP,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,GACxC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAKlC,MAAM,CACV,OAAO,EAAE,4BAA4B,CAAC,SAAS,CAAC,GAC/C,OAAO,CAAC,OAAO,CAAC;CAIpB"}
@@ -0,0 +1,34 @@
1
+ import { QuotasForOrgDocument, QuotasForAppDocument, EffectiveQuotaDocument, SetQuotaDocument, DeleteQuotaDocument, } from '../generated/graphql.js';
2
+ /**
3
+ * Service quota management. Exposed as `client.quotas`.
4
+ */
5
+ export class QuotasAPI {
6
+ constructor(gql) {
7
+ this.gql = gql;
8
+ }
9
+ async byOrg(orgId) {
10
+ const data = await this.gql.request(QuotasForOrgDocument, { orgId });
11
+ return data.quotasForOrg;
12
+ }
13
+ async byApp(appId) {
14
+ const data = await this.gql.request(QuotasForAppDocument, { appId });
15
+ return data.quotasForApp;
16
+ }
17
+ /**
18
+ * Returns the most-specific quota that applies to (orgId, appId, tierId,
19
+ * metric). Walks tier -> app -> org -> free_tier_defaults. Returns null
20
+ * when nothing matches.
21
+ */
22
+ async effective(args) {
23
+ const data = await this.gql.request(EffectiveQuotaDocument, args);
24
+ return data.effectiveQuota;
25
+ }
26
+ async set(input) {
27
+ const data = await this.gql.request(SetQuotaDocument, { input });
28
+ return data.setQuota;
29
+ }
30
+ async delete(quotaId) {
31
+ const data = await this.gql.request(DeleteQuotaDocument, { quotaId });
32
+ return data.deleteQuota;
33
+ }
34
+ }
@@ -0,0 +1,21 @@
1
+ import type { GraphQLClient } from '../client.js';
2
+ import { type ServerWithLeastClientsQuery, type GraphqlServersQuery, type ActiveGraphQlServersQuery, type VersionInfoQuery } from '../generated/graphql.js';
3
+ /**
4
+ * Server status / version info queries.
5
+ *
6
+ * Exposed as `client.serverStatus`.
7
+ *
8
+ * NOTE: there is no separate "buddy server" query in the schema -- the
9
+ * least-loaded UDP game server is selected automatically when a session
10
+ * is opened. `serverWithLeastClients` returns a hint of which UDP server
11
+ * a new session would land on.
12
+ */
13
+ export declare class ServerStatusAPI {
14
+ private gql;
15
+ constructor(gql: GraphQLClient);
16
+ serverWithLeastClients(): Promise<ServerWithLeastClientsQuery['serverWithLeastClients']>;
17
+ listAll(): Promise<GraphqlServersQuery['graphqlServers']>;
18
+ listActiveGraphqlServers(): Promise<ActiveGraphQlServersQuery['activeGraphQLServers']>;
19
+ versionInfo(): Promise<VersionInfoQuery['versionInfo']>;
20
+ }
21
+ //# sourceMappingURL=serverStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverStatus.d.ts","sourceRoot":"","sources":["../../src/domains/serverStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAEL,KAAK,2BAA2B,EAEhC,KAAK,mBAAmB,EAExB,KAAK,yBAAyB,EAE9B,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;GASG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,aAAa;IAEhC,sBAAsB,IAAI,OAAO,CAAC,2BAA2B,CAAC,wBAAwB,CAAC,CAAC;IAKxF,OAAO,IAAI,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAKzD,wBAAwB,IAAI,OAAO,CAAC,yBAAyB,CAAC,sBAAsB,CAAC,CAAC;IAKtF,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;CAI9D"}
@@ -0,0 +1,32 @@
1
+ import { ServerWithLeastClientsDocument, GraphqlServersDocument, ActiveGraphQlServersDocument, VersionInfoDocument, } from '../generated/graphql.js';
2
+ /**
3
+ * Server status / version info queries.
4
+ *
5
+ * Exposed as `client.serverStatus`.
6
+ *
7
+ * NOTE: there is no separate "buddy server" query in the schema -- the
8
+ * least-loaded UDP game server is selected automatically when a session
9
+ * is opened. `serverWithLeastClients` returns a hint of which UDP server
10
+ * a new session would land on.
11
+ */
12
+ export class ServerStatusAPI {
13
+ constructor(gql) {
14
+ this.gql = gql;
15
+ }
16
+ async serverWithLeastClients() {
17
+ const data = await this.gql.request(ServerWithLeastClientsDocument, undefined);
18
+ return data.serverWithLeastClients;
19
+ }
20
+ async listAll() {
21
+ const data = await this.gql.request(GraphqlServersDocument, undefined);
22
+ return data.graphqlServers;
23
+ }
24
+ async listActiveGraphqlServers() {
25
+ const data = await this.gql.request(ActiveGraphQlServersDocument, undefined);
26
+ return data.activeGraphQLServers;
27
+ }
28
+ async versionInfo() {
29
+ const data = await this.gql.request(VersionInfoDocument, undefined);
30
+ return data.versionInfo;
31
+ }
32
+ }
@@ -0,0 +1,16 @@
1
+ import type { GraphQLClient } from '../client.js';
2
+ import { type UserAppStateQuery, type UserAppStateQueryVariables, type UserAppStatesQuery, type UpdateUserAppStateMutation, type UpdateUserAppStateMutationVariables, type DeleteUserAppStateMutation, type DeleteUserAppStateMutationVariables } from '../generated/graphql.js';
3
+ /**
4
+ * Per-user, per-app state storage (formerly `userMapState`).
5
+ *
6
+ * Exposed as `client.state`.
7
+ */
8
+ export declare class StateAPI {
9
+ private gql;
10
+ constructor(gql: GraphQLClient);
11
+ getOne(appId: UserAppStateQueryVariables['appId']): Promise<UserAppStateQuery['userAppState']>;
12
+ getAll(): Promise<UserAppStatesQuery['userAppStates']>;
13
+ update(input: UpdateUserAppStateMutationVariables['input']): Promise<UpdateUserAppStateMutation['updateUserAppState']>;
14
+ delete(appId: DeleteUserAppStateMutationVariables['appId']): Promise<DeleteUserAppStateMutation['deleteUserAppState']>;
15
+ }
16
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/domains/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAE/B,KAAK,kBAAkB,EAEvB,KAAK,0BAA0B,EAC/B,KAAK,mCAAmC,EAExC,KAAK,0BAA0B,EAC/B,KAAK,mCAAmC,EACzC,MAAM,yBAAyB,CAAC;AAEjC;;;;GAIG;AACH,qBAAa,QAAQ;IACP,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,aAAa;IAEhC,MAAM,CACV,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC,GACzC,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAKvC,MAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAKtD,MAAM,CACV,KAAK,EAAE,mCAAmC,CAAC,OAAO,CAAC,GAClD,OAAO,CAAC,0BAA0B,CAAC,oBAAoB,CAAC,CAAC;IAKtD,MAAM,CACV,KAAK,EAAE,mCAAmC,CAAC,OAAO,CAAC,GAClD,OAAO,CAAC,0BAA0B,CAAC,oBAAoB,CAAC,CAAC;CAI7D"}
@@ -0,0 +1,27 @@
1
+ import { UserAppStateDocument, UserAppStatesDocument, UpdateUserAppStateDocument, DeleteUserAppStateDocument, } from '../generated/graphql.js';
2
+ /**
3
+ * Per-user, per-app state storage (formerly `userMapState`).
4
+ *
5
+ * Exposed as `client.state`.
6
+ */
7
+ export class StateAPI {
8
+ constructor(gql) {
9
+ this.gql = gql;
10
+ }
11
+ async getOne(appId) {
12
+ const data = await this.gql.request(UserAppStateDocument, { appId });
13
+ return data.userAppState;
14
+ }
15
+ async getAll() {
16
+ const data = await this.gql.request(UserAppStatesDocument, undefined);
17
+ return data.userAppStates;
18
+ }
19
+ async update(input) {
20
+ const data = await this.gql.request(UpdateUserAppStateDocument, { input });
21
+ return data.updateUserAppState;
22
+ }
23
+ async delete(appId) {
24
+ const data = await this.gql.request(DeleteUserAppStateDocument, { appId });
25
+ return data.deleteUserAppState;
26
+ }
27
+ }