@crowdedkingdoms/crowdyjs 7.1.1 → 8.0.1
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.
- package/MIGRATION.md +46 -0
- package/README.md +51 -14
- package/dist/client.d.ts +8 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +5 -0
- package/dist/crowdy-client.d.ts +7 -0
- package/dist/crowdy-client.d.ts.map +1 -1
- package/dist/crowdy-client.js +4 -0
- package/dist/domains/auth.d.ts +77 -140
- package/dist/domains/auth.d.ts.map +1 -1
- package/dist/domains/auth.js +81 -178
- package/dist/domains/gameModel.d.ts +54 -3
- package/dist/domains/gameModel.d.ts.map +1 -1
- package/dist/domains/gameModel.js +67 -4
- package/dist/domains/host.d.ts +14 -3
- package/dist/domains/host.d.ts.map +1 -1
- package/dist/domains/host.js +17 -3
- package/dist/domains/organizations.d.ts +3 -3
- package/dist/domains/organizations.js +3 -3
- package/dist/domains/portal.d.ts +43 -1
- package/dist/domains/portal.d.ts.map +1 -1
- package/dist/domains/portal.js +59 -1
- package/dist/domains/quotas.d.ts +1 -1
- package/dist/domains/quotas.js +1 -1
- package/dist/domains/udp.d.ts +28 -17
- package/dist/domains/udp.d.ts.map +1 -1
- package/dist/domains/udp.js +28 -17
- package/dist/generated/graphql.d.ts +420 -106
- package/dist/generated/graphql.d.ts.map +1 -1
- package/dist/generated/graphql.js +6 -8
- package/dist/index.d.ts +14 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -8
- package/dist/lb-cookie-store.d.ts +20 -0
- package/dist/lb-cookie-store.d.ts.map +1 -0
- package/dist/lb-cookie-store.js +73 -0
- package/dist/realtime.d.ts +20 -5
- package/dist/realtime.d.ts.map +1 -1
- package/dist/realtime.js +38 -0
- package/dist/types.d.ts +22 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/world.d.ts +13 -8
- package/dist/world.d.ts.map +1 -1
- package/dist/world.js +13 -8
- package/package.json +6 -4
|
@@ -185,6 +185,8 @@ export type App = {
|
|
|
185
185
|
__typename?: 'App';
|
|
186
186
|
/** Unique numeric identifier of the app (primary key). */
|
|
187
187
|
appId: Scalars['BigInt']['output'];
|
|
188
|
+
/** OAuth client type: "public" (browser/PKCE, no secret) or "confidential" (server-side, holds a secret). Defaults to "public". */
|
|
189
|
+
clientType: Scalars['String']['output'];
|
|
188
190
|
/** Timestamp when the app was created. */
|
|
189
191
|
createdAt: Scalars['DateTime']['output'];
|
|
190
192
|
/** Numeric user id of the account that created the app. */
|
|
@@ -195,6 +197,10 @@ export type App = {
|
|
|
195
197
|
description: Maybe<Scalars['String']['output']>;
|
|
196
198
|
/** Resolved game-api base URL for SDK/runtime calls: the per-tenant URL for dedicated apps, or the shared platform URL for shared apps. Null for legacy or not-yet-deployed apps. */
|
|
197
199
|
gameApiUrl: Maybe<Scalars['String']['output']>;
|
|
200
|
+
/** True for first-party/trusted apps: portal entry skips the consent screen. The Overworld (app 1) is trusted. Studio admins cannot set this; it is platform-controlled. */
|
|
201
|
+
isTrusted: Scalars['Boolean']['output'];
|
|
202
|
+
/** Browser destination (origin/URL) a player is redirected to when they portal into this app from the Overworld. Used to route the player and to validate portal redirect URIs. */
|
|
203
|
+
launchUrl: Maybe<Scalars['String']['output']>;
|
|
198
204
|
/** Opaque JSON-encoded string of marketplace media (cover image URL, screenshots, long description, etc.). Stored internally as JSONB; clients must JSON.parse on read and JSON.stringify on write. Null/"{}" when unset. */
|
|
199
205
|
metadata: Maybe<Scalars['String']['output']>;
|
|
200
206
|
/** Human-readable display name of the app. */
|
|
@@ -203,6 +209,10 @@ export type App = {
|
|
|
203
209
|
org: Maybe<Organization>;
|
|
204
210
|
/** Numeric id of the organization that owns this app. */
|
|
205
211
|
orgId: Scalars['BigInt']['output'];
|
|
212
|
+
/** OAuth-style redirect-URI allow-list for the portal handoff. A portal authorization code’s redirect_uri must match one of these by origin; empty disallows browser portal entry to this app. */
|
|
213
|
+
redirectUris: Array<Scalars['String']['output']>;
|
|
214
|
+
/** Reserved sustained egress in bytes/s for shared apps. 0 = free tier; >0 bypasses the ~1 MB/s rate limit and incurs a monthly reservation fee. */
|
|
215
|
+
reservedEgressBytesPerSec: Scalars['BigInt']['output'];
|
|
206
216
|
/** When runtimeStatus is not "active", why the runtime is gated: "free_allowance", "insufficient_funds", "spend_cap", or "subscription_lapsed". Null when active. */
|
|
207
217
|
runtimeDenialReason: Maybe<Scalars['String']['output']>;
|
|
208
218
|
/** Shared-environment runtime gate, mirrored to the game DB and enforced by game-api + Buddy: "active", "grace", "denied", or "suspended". */
|
|
@@ -252,6 +262,20 @@ export type AppAccessTier = {
|
|
|
252
262
|
/** Timestamp when the tier was last updated. */
|
|
253
263
|
updatedAt: Scalars['DateTime']['output'];
|
|
254
264
|
};
|
|
265
|
+
/** A user's standing consent for an app to receive app-scoped tokens via the Overworld portal (the “connected apps” list). */
|
|
266
|
+
export type AppAuthorizationGrant = {
|
|
267
|
+
__typename?: 'AppAuthorizationGrant';
|
|
268
|
+
appId: Scalars['ID']['output'];
|
|
269
|
+
appName: Maybe<Scalars['String']['output']>;
|
|
270
|
+
grantId: Scalars['ID']['output'];
|
|
271
|
+
grantedAt: Scalars['DateTime']['output'];
|
|
272
|
+
revokedAt: Maybe<Scalars['DateTime']['output']>;
|
|
273
|
+
/** The scopes the user approved for this app. */
|
|
274
|
+
scopes: Array<Scalars['String']['output']>;
|
|
275
|
+
/** 'active' | 'revoked'. */
|
|
276
|
+
status: Scalars['String']['output'];
|
|
277
|
+
userId: Scalars['ID']['output'];
|
|
278
|
+
};
|
|
255
279
|
export type AppAvatarState = {
|
|
256
280
|
__typename?: 'AppAvatarState';
|
|
257
281
|
/** App (game) id this state is scoped to. BigInt serialized as a decimal string. */
|
|
@@ -387,7 +411,7 @@ export type AppSharedSubscription = {
|
|
|
387
411
|
export declare enum AppStatus {
|
|
388
412
|
/** Soft-deleted via archiveApp: retained but read-only and excluded from the marketplace. Reversible by setting status back to DRAFT or LIVE. */
|
|
389
413
|
Archived = "ARCHIVED",
|
|
390
|
-
/** Work-in-progress: invisible to non-members and never listed in the marketplace.
|
|
414
|
+
/** Work-in-progress: invisible to non-members and never listed in the marketplace. Selectable manually via updateApp; new apps default to LIVE. */
|
|
391
415
|
Draft = "DRAFT",
|
|
392
416
|
/** Published and purchasable/playable; eligible for the public marketplace when visibility=PUBLIC. */
|
|
393
417
|
Live = "LIVE"
|
|
@@ -410,6 +434,26 @@ export type AppTokenResponse = {
|
|
|
410
434
|
/** Opaque app-scoped gameplay token. Send to the target app's Game API as `Authorization: Bearer <token>` (and in the realtime `connectionParams`). Do NOT send it to the Management API for anything other than `me`/`refreshAppToken`. */
|
|
411
435
|
token: Scalars['String']['output'];
|
|
412
436
|
};
|
|
437
|
+
/** End-of-month egress projection for one shared app from linear extrapolation of calendar-month usage so far. */
|
|
438
|
+
export type AppUsageProjection = {
|
|
439
|
+
__typename?: 'AppUsageProjection';
|
|
440
|
+
/** App id (as a string). */
|
|
441
|
+
appId: Scalars['String']['output'];
|
|
442
|
+
/** Egress bytes recorded so far this calendar month (from app_monthly_egress). */
|
|
443
|
+
currentEgressBytes: Scalars['String']['output'];
|
|
444
|
+
/** Fractional UTC days elapsed since the calendar month started. */
|
|
445
|
+
daysElapsed: Scalars['Float']['output'];
|
|
446
|
+
/** Per-app free monthly egress allowance in bytes (5 decimal GB). */
|
|
447
|
+
freeAllowanceBytes: Scalars['String']['output'];
|
|
448
|
+
/** True when projected egress exceeds the free allowance, or null when insufficient data. */
|
|
449
|
+
onTrackToExceed: Maybe<Scalars['Boolean']['output']>;
|
|
450
|
+
/** Projected end-of-month egress bytes (linear extrapolation), or null when insufficient data. */
|
|
451
|
+
projectedBytes: Maybe<Scalars['String']['output']>;
|
|
452
|
+
/** Projected usage as a percentage of the free allowance, or null when insufficient data. */
|
|
453
|
+
projectedPctOfFree: Maybe<Scalars['Float']['output']>;
|
|
454
|
+
/** True when at least 3 days have elapsed in the month (projection is meaningful). */
|
|
455
|
+
sufficientData: Scalars['Boolean']['output'];
|
|
456
|
+
};
|
|
413
457
|
/** Aggregate byte totals for one app over the requested window. All *Bytes fields are string counters (may exceed Int range). */
|
|
414
458
|
export type AppUsageRollupRow = {
|
|
415
459
|
__typename?: 'AppUsageRollupRow';
|
|
@@ -538,6 +582,12 @@ export type AssignGroupToGridInput = {
|
|
|
538
582
|
/** Runtime permission key strings to grant to the group/role. Each must be a known key in runtime_permissions, unique, and at most 64 chars. */
|
|
539
583
|
permissionKeys: Array<Scalars['String']['input']>;
|
|
540
584
|
};
|
|
585
|
+
/** Whether the account has a password set. Does not reveal whether the email is registered. */
|
|
586
|
+
export type AuthMethodResult = {
|
|
587
|
+
__typename?: 'AuthMethodResult';
|
|
588
|
+
/** True when the account exists and has a password hash; false otherwise (including unknown emails). */
|
|
589
|
+
hasPassword: Scalars['Boolean']['output'];
|
|
590
|
+
};
|
|
541
591
|
/** Result of a successful login or registration: a session token plus the authenticated user. */
|
|
542
592
|
export type AuthResponse = {
|
|
543
593
|
__typename?: 'AuthResponse';
|
|
@@ -548,6 +598,13 @@ export type AuthResponse = {
|
|
|
548
598
|
/** The authenticated user. */
|
|
549
599
|
user: User;
|
|
550
600
|
};
|
|
601
|
+
/** Approve (consent to) an app receiving app-scoped tokens via the Overworld portal. */
|
|
602
|
+
export type AuthorizeAppInput = {
|
|
603
|
+
/** App to authorize. */
|
|
604
|
+
appId: Scalars['BigInt']['input'];
|
|
605
|
+
/** Optional explicit scopes to grant (defaults to the app baseline). */
|
|
606
|
+
scopes?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
607
|
+
};
|
|
551
608
|
export type Avatar = {
|
|
552
609
|
__typename?: 'Avatar';
|
|
553
610
|
/** Avatar id and primary key (auto-increment). Serialized as a GraphQL ID (a numeric string). */
|
|
@@ -642,6 +699,11 @@ export type ChannelMessageNotification = {
|
|
|
642
699
|
/** The sending actor's UUID. */
|
|
643
700
|
uuid: Scalars['String']['output'];
|
|
644
701
|
};
|
|
702
|
+
/** Check whether an account has password sign-in enabled (email-first adaptive login). */
|
|
703
|
+
export type CheckAuthMethodInput = {
|
|
704
|
+
/** Email address to check. */
|
|
705
|
+
email: Scalars['String']['input'];
|
|
706
|
+
};
|
|
645
707
|
export type Checkout = {
|
|
646
708
|
__typename?: 'Checkout';
|
|
647
709
|
/** Charge amount in minor currency units (cents) of `currency`, as a BigInt decimal string; null when the purpose carries no amount. */
|
|
@@ -936,6 +998,8 @@ export type CksEnvironment = {
|
|
|
936
998
|
graphqlBillingTier: Maybe<Scalars['Int']['output']>;
|
|
937
999
|
/** Opaque environment UUID (cks_environments.id). */
|
|
938
1000
|
id: Scalars['String']['output'];
|
|
1001
|
+
/** True for the single platform-owned shared environment (slug 'shared') that hosts the shared game-api serving apps with deploymentTarget='shared'. Customer environments are always false. */
|
|
1002
|
+
isShared: Scalars['Boolean']['output'];
|
|
939
1003
|
loadBalancerCount: Scalars['Int']['output'];
|
|
940
1004
|
/** Release version actually observed running. Lags desiredEnvironmentVersion while a deploy is in progress. */
|
|
941
1005
|
observedEnvironmentVersion: Maybe<Scalars['String']['output']>;
|
|
@@ -1275,6 +1339,11 @@ export type ClientTextPacketInput = {
|
|
|
1275
1339
|
/** A unique identifier for the text source (typically the player UUID). Must be exactly 32 bytes when encoded as UTF-8. */
|
|
1276
1340
|
uuid: Scalars['String']['input'];
|
|
1277
1341
|
};
|
|
1342
|
+
/** Complete a magic-link sign-in with the emailed token. */
|
|
1343
|
+
export type CompleteLoginLinkInput = {
|
|
1344
|
+
/** The one-time token from the magic-link URL. */
|
|
1345
|
+
token: Scalars['String']['input'];
|
|
1346
|
+
};
|
|
1278
1347
|
/** Relay-style pagination metadata for a connection. */
|
|
1279
1348
|
export type ConnectionPageInfo = {
|
|
1280
1349
|
__typename?: 'ConnectionPageInfo';
|
|
@@ -1586,7 +1655,7 @@ export type CreateAppInput = {
|
|
|
1586
1655
|
orgId: Scalars['BigInt']['input'];
|
|
1587
1656
|
/** URL-safe slug (1-128 chars, lowercase letters, numbers and dashes only). Must be unique within the org. */
|
|
1588
1657
|
slug: Scalars['String']['input'];
|
|
1589
|
-
/** Optional initial lifecycle status. Defaults to
|
|
1658
|
+
/** Optional initial lifecycle status. Defaults to LIVE when omitted. */
|
|
1590
1659
|
status?: InputMaybe<AppStatus>;
|
|
1591
1660
|
/** Optional initial visibility. Defaults to PUBLIC when omitted. */
|
|
1592
1661
|
visibility?: InputMaybe<AppVisibility>;
|
|
@@ -1677,6 +1746,8 @@ export type CreateEnvironmentInput = {
|
|
|
1677
1746
|
gameApiMinServers?: InputMaybe<Scalars['Int']['input']>;
|
|
1678
1747
|
/** GraphQL billing tier level from graphqlBillingTiers. Defaults to tier 1 for dedicated environments. */
|
|
1679
1748
|
graphqlBillingTier?: InputMaybe<Scalars['Int']['input']>;
|
|
1749
|
+
/** Super-admin only: designate this as the single platform-owned shared environment (slug 'shared') that hosts the shared game-api for apps with deploymentTarget='shared'. Must be a dedicated environment. Customers cannot set this; the management API rejects it for non-super-admins. */
|
|
1750
|
+
isShared?: InputMaybe<Scalars['Boolean']['input']>;
|
|
1680
1751
|
/** Number of Caddy load-balancer VMs in front of the game-api fleet (min 1). Required for dedicated; ignored for dev_single. */
|
|
1681
1752
|
loadBalancerCount?: InputMaybe<Scalars['Int']['input']>;
|
|
1682
1753
|
/** Organization id (BigInt) that will own and be billed for the environment. */
|
|
@@ -1817,6 +1888,11 @@ export type DestroyEnvironmentInput = {
|
|
|
1817
1888
|
/** Slug of the environment to destroy (all cloud resources are torn down). */
|
|
1818
1889
|
slug: Scalars['String']['input'];
|
|
1819
1890
|
};
|
|
1891
|
+
/** Dev-only bypass sign-in (active only when DEV_AUTH_BYPASS is enabled; never in production). */
|
|
1892
|
+
export type DevLoginInput = {
|
|
1893
|
+
/** Email of the account to sign in as (created if absent). */
|
|
1894
|
+
email: Scalars['String']['input'];
|
|
1895
|
+
};
|
|
1820
1896
|
/** Input for environmentQuote. Mirrors CreateEnvironmentInput’s class/flavor shape: dedicated needs the four per-role flavors + counts; dev_single needs only the single flavor. */
|
|
1821
1897
|
export type EnvironmentQuoteInput = {
|
|
1822
1898
|
/** Flavor name from environmentFlavors(datacenter) for the Caddy LB VMs in front of the game-api fleet; must have a published hourly price. Required for dedicated. */
|
|
@@ -1887,6 +1963,8 @@ export type ExchangePortalCodeInput = {
|
|
|
1887
1963
|
/** An org's free shared app slot quota usage. */
|
|
1888
1964
|
export type FreeAppQuota = {
|
|
1889
1965
|
__typename?: 'FreeAppQuota';
|
|
1966
|
+
/** Shared apps with free-slot / reserved / paid credit status. */
|
|
1967
|
+
apps: Array<FreeAppQuotaApp>;
|
|
1890
1968
|
/** Organization id (BigInt). */
|
|
1891
1969
|
orgId: Scalars['BigInt']['output'];
|
|
1892
1970
|
/** Apps on a paid subscription (do not consume free slots). */
|
|
@@ -1895,9 +1973,29 @@ export type FreeAppQuota = {
|
|
|
1895
1973
|
quota: Scalars['Int']['output'];
|
|
1896
1974
|
/** Free slots still available (quota − usedFree). */
|
|
1897
1975
|
remainingFree: Scalars['Int']['output'];
|
|
1976
|
+
/** Apps with reserved throughput (premium; do not consume free slots). */
|
|
1977
|
+
reservedApps: Scalars['Int']['output'];
|
|
1898
1978
|
/** Free slots currently in use. */
|
|
1899
1979
|
usedFree: Scalars['Int']['output'];
|
|
1900
1980
|
};
|
|
1981
|
+
/** A shared app row in the org free-slot portfolio (free / reserved / paid credit). */
|
|
1982
|
+
export type FreeAppQuotaApp = {
|
|
1983
|
+
__typename?: 'FreeAppQuotaApp';
|
|
1984
|
+
/** App id (BigInt). */
|
|
1985
|
+
appId: Scalars['BigInt']['output'];
|
|
1986
|
+
/** True when the app consumes a free org slot (shared, not archived, no active subscription, no reserved throughput). */
|
|
1987
|
+
consumesFreeSlot: Scalars['Boolean']['output'];
|
|
1988
|
+
/** How this app is credited: 'free_slot', 'reserved', or 'paid_subscription'. */
|
|
1989
|
+
creditKind: Scalars['String']['output'];
|
|
1990
|
+
/** True when the app has an active legacy shared subscription. */
|
|
1991
|
+
hasActiveSubscription: Scalars['Boolean']['output'];
|
|
1992
|
+
/** App display name. */
|
|
1993
|
+
name: Scalars['String']['output'];
|
|
1994
|
+
/** Reserved egress throughput in bytes/sec (0 when none). */
|
|
1995
|
+
reservedEgressBytesPerSec: Scalars['BigInt']['output'];
|
|
1996
|
+
/** URL slug for the app. */
|
|
1997
|
+
slug: Scalars['String']['output'];
|
|
1998
|
+
};
|
|
1901
1999
|
/** Status of the recurring free-play window during which gameplay is open without entitlement. */
|
|
1902
2000
|
export type FreePlayWindowInfo = {
|
|
1903
2001
|
__typename?: 'FreePlayWindowInfo';
|
|
@@ -2851,6 +2949,12 @@ export type LinkAppToEnvironmentInput = {
|
|
|
2851
2949
|
/** Organization id (BigInt) that owns both the app and the environment. */
|
|
2852
2950
|
orgId: Scalars['BigInt']['input'];
|
|
2853
2951
|
};
|
|
2952
|
+
/** Link an additional federated identity to the signed-in account. */
|
|
2953
|
+
export type LinkIdentityInput = {
|
|
2954
|
+
code: Scalars['String']['input'];
|
|
2955
|
+
provider: Scalars['String']['input'];
|
|
2956
|
+
state: Scalars['String']['input'];
|
|
2957
|
+
};
|
|
2854
2958
|
/** Arguments for listVoxelUpdatesByDistance: selects recorded voxel edits across chunks within a cubic (Chebyshev) radius of a center chunk, grouped per chunk and ordered by increasing distance. */
|
|
2855
2959
|
export type ListVoxelUpdatesByDistanceInput = {
|
|
2856
2960
|
/** Id of the app whose voxel edits to search (decimal string). */
|
|
@@ -2915,6 +3019,8 @@ export type Mutation = {
|
|
|
2915
3019
|
archiveApp: App;
|
|
2916
3020
|
/** Grant runtime permission keys to a group (optionally scoped to a single group role) on a grid by writing the `grid_group_grants` input table, then recompute the materialized effective ACL so every affected member gains the keys. Requires app-admin ('manage_apps'). Returns the grid's current group grants for the group. Use `grantGridPermissions` for per-user grants instead. */
|
|
2917
3021
|
assignGroupToGrid: Array<GridGroupGrant>;
|
|
3022
|
+
/** Record the user's consent for an (untrusted) app to receive app-scoped tokens via the portal. Called from the Overworld consent screen before createPortalAuthorizationCode. Idempotent. Requires a SESSION token. */
|
|
3023
|
+
authorizeApp: AppAuthorizationGrant;
|
|
2918
3024
|
/** DESTRUCTIVE. Cancels an app's paid shared-environment subscription. The app loses its paid shared slot (typically at currentPeriodEnd) and may be denied runtime once the period lapses unless a free slot covers it. Returns the updated subscription. Requires the 'manage_billing' permission on the app's org. */
|
|
2919
3025
|
cancelSharedSubscription: AppSharedSubscription;
|
|
2920
3026
|
/** Captures an approved PayPal order after the hosted checkout redirects back, completes the checkout (wallet credit / access grant), and returns the updated Checkout. PayPal webhooks remain a backup for idempotent reconciliation if they arrive later. Requires an authenticated user who owns the checkout. */
|
|
@@ -2923,7 +3029,9 @@ export type Mutation = {
|
|
|
2923
3029
|
changePassword: Scalars['Boolean']['output'];
|
|
2924
3030
|
/** Self-service: the authenticated caller claims access to an app via its free, open-by-default tier. Requires authentication only (no org membership needed). ENTITLEMENT CHANGE: grants the free default tier as a 'system' grant and notifies the game API. Idempotent: returns the existing row if already granted, and never overrides a prior revoke. Errors if the app has no free default tier or is archived. */
|
|
2925
3031
|
claimFreeAppAccess: AppUserAccess;
|
|
2926
|
-
/**
|
|
3032
|
+
/** Complete a magic-link sign-in with the emailed token; returns a session AuthResponse. Public (the token authorizes the call); throws if invalid/expired/used. */
|
|
3033
|
+
completeLoginLink: AuthResponse;
|
|
3034
|
+
/** Confirms a user email address using the token from the confirmation email (also enables password sign-in for the account). Returns true on success, false if the token is invalid or expired. Public (the token authorizes the call). */
|
|
2927
3035
|
confirmEmail: Scalars['Boolean']['output'];
|
|
2928
3036
|
/** Open the UDP proxy session for this game token (idempotent: returns the existing status if one is already open). Binds a socket and selects the game server with the fewest clients on first open. Optional: send mutations and udpNotifications also create a session lazily when none exists. To force a fresh socket, call disconnectUdpProxy first. */
|
|
2929
3037
|
connectUdpProxy: UdpProxyConnectionStatus;
|
|
@@ -2983,6 +3091,8 @@ export type Mutation = {
|
|
|
2983
3091
|
deleteUserAppState: UserAppState;
|
|
2984
3092
|
/** DESTRUCTIVE and IRREVERSIBLE. Tears down all cloud resources for the environment (per-tenant Postgres, game-api, Buddy, and load-balancer VMs plus DNS records) and revokes its service tokens; all tenant data is lost. Sets status to 'destroy_requested' and returns the tracking change order — poll orgEnvironment.destroyProgress. Fails if a destroy is already queued. After it reaches 'destroyed', call purgeEnvironment to remove the record. Requires the 'manage_environments' org permission. */
|
|
2985
3093
|
destroyEnvironment: CksEnvironmentChangeOrder;
|
|
3094
|
+
/** DEV ONLY bypass sign-in: returns a session for the given email without email/social verification. Active only when DEV_AUTH_BYPASS is enabled; throws (FORBIDDEN) otherwise. Never enabled in production. */
|
|
3095
|
+
devLogin: AuthResponse;
|
|
2986
3096
|
/** Close the UDP proxy session and socket for this game token. Unsubscribing from udpNotifications does not disconnect; use this mutation (or rely on server inactivity timeout). */
|
|
2987
3097
|
disconnectUdpProxy: Scalars['Boolean']['output'];
|
|
2988
3098
|
/** Exchange a one-time portal authorization code (with the matching PKCE verifier) for an app-scoped gameplay token. Public (the code + verifier authorize the call); called by the destination game at its own origin so the game never sees the player's session token. */
|
|
@@ -3001,8 +3111,16 @@ export type Mutation = {
|
|
|
3001
3111
|
gameModelDeleteAutomation: Scalars['Boolean']['output'];
|
|
3002
3112
|
/** Delete an automation event trigger by id. Requires app-admin ('manage_apps'). Returns true if one was deleted. */
|
|
3003
3113
|
gameModelDeleteAutomationTrigger: Scalars['Boolean']['output'];
|
|
3114
|
+
/** Delete a container instance. Cascades its instance properties and any edges connected to it. Allowed for an app admin or the container owner. Requires a valid token. DESTRUCTIVE. Returns true if a container was deleted. */
|
|
3115
|
+
gameModelDeleteContainer: Scalars['Boolean']['output'];
|
|
3116
|
+
/** Delete a container type. Also deletes its property definitions. Refuses if live containers of that type exist, or if functions are bound to it — delete those first. Requires app-admin ('manage_apps'). DESTRUCTIVE. Returns true if a type was deleted. */
|
|
3117
|
+
gameModelDeleteContainerType: Scalars['Boolean']['output'];
|
|
3118
|
+
/** Delete a directed relationship edge between two containers. Allowed for an app admin or the owner of the source (from) container. Requires a valid token. DESTRUCTIVE. Returns true if an edge was deleted. */
|
|
3119
|
+
gameModelDeleteEdge: Scalars['Boolean']['output'];
|
|
3004
3120
|
/** Delete a studio-defined function by name. Requires app-admin ('manage_apps'). DESTRUCTIVE. Returns true if a function was deleted. */
|
|
3005
3121
|
gameModelDeleteFunction: Scalars['Boolean']['output'];
|
|
3122
|
+
/** Delete a property definition from a container type. Does not remove instance property values already stored on containers. Requires app-admin ('manage_apps'). DESTRUCTIVE. Returns true if a definition was deleted. */
|
|
3123
|
+
gameModelDeletePropertyDef: Scalars['Boolean']['output'];
|
|
3006
3124
|
/** Grant a feature key to an access tier, so users on that tier satisfy tier_feature authority checks for it. Requires app-admin ('manage_apps'). */
|
|
3007
3125
|
gameModelGrantTierFeature: GmTierFeature;
|
|
3008
3126
|
/** Invoke a studio-defined function against a 'self' container with JSON params. The server enforces the function's invoke policy (authority rule tree: owner_of_self / is_host / is_current_turn / is_participant / tier_feature / group_permission / grid_permission / condition), evaluates its expressions, atomically applies its declared property mutations, logs an event, and returns the result (return value + mutations applied, or success=false with an error message). This is the primary, safe way for players to mutate game state. Requires a valid token; only player-scope functions are invocable here. */
|
|
@@ -3055,11 +3173,13 @@ export type Mutation = {
|
|
|
3055
3173
|
leaveTeam: Scalars['Boolean']['output'];
|
|
3056
3174
|
/** Links an unlinked app to an existing environment for split-mode routing. Refuses shared apps and apps already linked elsewhere. Requires the 'manage_environments' org permission. */
|
|
3057
3175
|
linkAppToEnvironment: App;
|
|
3058
|
-
/**
|
|
3176
|
+
/** Link an additional federated identity (from a socialLoginStart callback) to the signed-in account. Requires a session token; throws if the identity is already linked to another account. */
|
|
3177
|
+
linkIdentity: UserIdentity;
|
|
3178
|
+
/** Authenticates with email + password and starts a new session. Returns an AuthResponse whose `token` must be sent on subsequent requests as `Authorization: Bearer <token>`. Public (no auth required); throws on invalid credentials. If the account also has another verified sign-in method, the password must first be email-confirmed. */
|
|
3059
3179
|
login: AuthResponse;
|
|
3060
3180
|
/** Single-device logout: revokes the game token that authenticated this request by deleting its game_tokens row. Returns true if a token was revoked, false if the request had no game token. Other devices/tokens are unaffected (use the Management API to revoke all devices). After this, the bearer token is rejected and any open UDP proxy session will no longer authorize new traffic. */
|
|
3061
3181
|
logout: Scalars['Boolean']['output'];
|
|
3062
|
-
/** Ends every active session for the authenticated user (deletes all their game_tokens and records revocations). Requires a valid session token.
|
|
3182
|
+
/** Ends every active session for the authenticated user (deletes all their game_tokens and records revocations). Requires a valid session token. */
|
|
3063
3183
|
logoutAllDevices: Scalars['Boolean']['output'];
|
|
3064
3184
|
/** Mint a short-lived, app-scoped gameplay token for the calling user (native/direct path; no browser redirect). Requires an identity SESSION token (app tokens cannot mint). Free/open apps auto-grant access; paid apps require an existing entitlement (else FORBIDDEN). Side effect: may create an app_user_access row on the app's free default tier. */
|
|
3065
3185
|
mintAppToken: AppTokenResponse;
|
|
@@ -3077,7 +3197,7 @@ export type Mutation = {
|
|
|
3077
3197
|
redeployEnvironment: CksEnvironmentChangeOrder;
|
|
3078
3198
|
/** Rotate the calling app token for a fresh one (same app, extended TTL) and revoke the old. Call before the current token expires to keep playing without bouncing back through the Overworld. Allowed for app-scoped tokens; re-checks entitlement. */
|
|
3079
3199
|
refreshAppToken: AppTokenResponse;
|
|
3080
|
-
/**
|
|
3200
|
+
/** Registers a new email + password account: creates the (initially unconfirmed) account, emails a confirmation link, and returns an AuthResponse with a session `token` for immediate use (send as `Authorization: Bearer <token>`). If an account already exists for the email (e.g. created via magic link/social), the password is attached pending email confirmation and no session is returned (throws CONFLICT). Public. */
|
|
3081
3201
|
register: AuthResponse;
|
|
3082
3202
|
/** Remove a member from a channel. Requires the 'manage_members' channel permission, except that any member may remove themselves. Notifies Buddy to stop routing to the removed member. Returns true if a membership was removed. */
|
|
3083
3203
|
removeChannelMember: Scalars['Boolean']['output'];
|
|
@@ -3087,7 +3207,9 @@ export type Mutation = {
|
|
|
3087
3207
|
removeSharedPaymentMethod: Scalars['Boolean']['output'];
|
|
3088
3208
|
/** Remove a member from a team. Requires the 'manage_members' team permission, except that any member may remove themselves. DESTRUCTIVE: drops the membership and its roles. Returns true if a membership was removed. */
|
|
3089
3209
|
removeTeamMember: Scalars['Boolean']['output'];
|
|
3090
|
-
/**
|
|
3210
|
+
/** Passwordless: email a one-time magic sign-in link to the address (creates the account on first sign-in). Always reports sent=true (no account enumeration). Public. */
|
|
3211
|
+
requestLoginLink: RequestLoginLinkResult;
|
|
3212
|
+
/** Starts the password-reset flow by emailing a reset link to the address. Always returns true regardless of whether the email exists (prevents account enumeration). The reset link is also the ownership-proven way an existing passwordless account adds a password. Public. */
|
|
3091
3213
|
requestPasswordReset: Scalars['Boolean']['output'];
|
|
3092
3214
|
/** Request to join a request-only channel (creates a pending membership a manager can approve via addChannelMember). Behaves identically to joinChannel; named for request-policy UIs. */
|
|
3093
3215
|
requestToJoinChannel: GroupMember;
|
|
@@ -3103,6 +3225,8 @@ export type Mutation = {
|
|
|
3103
3225
|
resumeEnvironment: CksEnvironmentChangeOrder;
|
|
3104
3226
|
/** Revoke a user's access to an app by setting their app_user_access status to 'revoked', and notifies the game API so the user immediately loses runtime access in Buddy. Requires the 'manage_access_tiers' permission on the app; super admins bypass. The row is retained for audit (not deleted); REVERSIBLE via grantAppAccess. */
|
|
3105
3227
|
revokeAppAccess: AppUserAccess;
|
|
3228
|
+
/** Revoke a previously-granted app authorization and immediately revoke the user's live app tokens for it. Requires a SESSION token. */
|
|
3229
|
+
revokeAppAuthorization: Scalars['Boolean']['output'];
|
|
3106
3230
|
/** Revoke a user's direct grants on a grid (deletes from the `grid_user_direct_grants` input table) and recompute their materialized effective ACL. Omit `permissionKeys` to remove ALL of the user's direct grants on the grid; pass a subset to remove only those keys. Does not affect permissions the user receives via group grants. Requires app-admin ('manage_apps'). DESTRUCTIVE for the targeted grants. Returns the user's remaining effective permission keys on the grid. */
|
|
3107
3231
|
revokeGridPermissions: GridUserPermissions;
|
|
3108
3232
|
/** Revoke group/role grants on a grid (deletes from the `grid_group_grants` input table) and recompute the materialized effective ACL. Omit `permissionKeys` to revoke ALL of the group/role's grants on the grid; pass a subset to revoke only those keys. Requires app-admin ('manage_apps'). DESTRUCTIVE: removes the granted permissions from every affected member. Returns the group's remaining grants on the grid. */
|
|
@@ -3111,7 +3235,7 @@ export type Mutation = {
|
|
|
3111
3235
|
revokeOrgToken: Scalars['Boolean']['output'];
|
|
3112
3236
|
/** Reverts every voxel edit made by `userId` in `appId` between `from` and `to`, returning one RollbackVoxelEventResult per affected voxel (`applied` tells you whether each was actually changed). DEFAULTS to dryRun=true, which only PREVIEWS the planned reversions without writing; pass dryRun=false to actually apply them (DESTRUCTIVE — mutates world state). Requires a valid bearer token AND the `manage_apps` permission on the org that owns `appId` (super admins bypass). */
|
|
3113
3237
|
rollbackVoxelUpdates: Array<RollbackVoxelEventResult>;
|
|
3114
|
-
/** Send an actor (player/NPC) state update for spatial replication to nearby chunks. Requires a bearer game token; opens a UDP proxy session automatically if none exists. Returns Boolean! that is true only when the datagram was ACCEPTED FOR SENDING to the game server — it does NOT confirm the world applied the update.
|
|
3238
|
+
/** Send an actor (player/NPC) state update for spatial replication to nearby chunks. Requires a bearer game token; opens a UDP proxy session automatically if none exists. Returns Boolean! that is true only when the datagram was ACCEPTED FOR SENDING to the game server — it does NOT confirm the world applied the update. There is NO separate per-request success response: the game server fans the update out to every client in the target chunk INCLUDING the sender, so you observe your own applied update as an ActorUpdateNotification carrying the same sequenceNumber (ActorUpdateResponse is legacy and is never emitted). Failures arrive ASYNCHRONOUSLY as a GenericErrorResponse; both are correlated by the request sequenceNumber (correlation only — not an idempotency key; the server does not dedupe replays). Subscribe to udpNotifications before sending so the self-notification/error is not missed. */
|
|
3115
3239
|
sendActorUpdate: Scalars['Boolean']['output'];
|
|
3116
3240
|
/** Send a spatial voice/audio packet, fanned out to nearby actors as a ClientAudioNotification. Requires a bearer game token; voice may additionally be gated by a runtime/grid permission for the region — if the caller lacks it the game server responds asynchronously with a GenericErrorResponse (errorCode UNAUTHORIZED). Opens a UDP proxy session automatically if none exists. Returns Boolean! that is true only when the datagram was ACCEPTED FOR SENDING — NOT that it was delivered; the sender receives no echo, only errors (GenericErrorResponse, correlated by sequenceNumber) on udpNotifications. sequenceNumber is correlation only, not an idempotency key. */
|
|
3117
3241
|
sendAudioPacket: Scalars['Boolean']['output'];
|
|
@@ -3123,10 +3247,14 @@ export type Mutation = {
|
|
|
3123
3247
|
sendSingleActorMessage: Scalars['Boolean']['output'];
|
|
3124
3248
|
/** Send a spatial text/chat packet, fanned out to nearby actors as a ClientTextNotification. Requires a bearer game token; opens a UDP proxy session automatically if none exists. Returns Boolean! that is true only when the datagram was ACCEPTED FOR SENDING to the game server — NOT confirmation of delivery. The sender receives no echo; failures arrive ASYNCHRONOUSLY as GenericErrorResponse on udpNotifications, correlated by the request sequenceNumber (correlation only — not an idempotency key; the server does not dedupe replays). */
|
|
3125
3249
|
sendTextPacket: Scalars['Boolean']['output'];
|
|
3126
|
-
/** Send a single voxel (block) update for spatial replication to nearby chunks. Requires a bearer game token; opens a UDP proxy session automatically if none exists. Returns Boolean! that is true only when the datagram was ACCEPTED FOR SENDING to the game server — NOT confirmation that the world applied the change.
|
|
3250
|
+
/** Send a single voxel (block) update for spatial replication to nearby chunks. Requires a bearer game token; opens a UDP proxy session automatically if none exists. Returns Boolean! that is true only when the datagram was ACCEPTED FOR SENDING to the game server — NOT confirmation that the world applied the change. There is NO separate per-request success response: the change fans out to nearby clients (the sender included) as a VoxelUpdateNotification carrying the same sequenceNumber (VoxelUpdateResponse is legacy and is never emitted). Failures arrive ASYNCHRONOUSLY as a GenericErrorResponse; both are correlated by the request sequenceNumber (correlation only — not an idempotency key; the server does not dedupe replays). */
|
|
3127
3251
|
sendVoxelUpdate: Scalars['Boolean']['output'];
|
|
3128
3252
|
/** Creates or updates an app's monthly spend cap (idempotent upsert keyed by org + app) and returns the resulting budget. This only records the cap used to monitor/limit overspend; it does not move money, charge a card, or alter the wallet balance. Requires the 'manage_billing' app permission. */
|
|
3129
3253
|
setAppBudget: AppBudget;
|
|
3254
|
+
/** Register/update an app's portal client settings (redirect_uris, client_type, launch_url). Requires manage_apps on the app and a SESSION token. */
|
|
3255
|
+
setAppClientSettings: PortalConsentState;
|
|
3256
|
+
/** Reserve sustained egress throughput for a shared app (bypasses the ~1 MB/s free-tier rate limit). Billed at $3/MB/s/month from the org wallet; upgrades are prorated for the current month. Requires 'manage_billing' on the app's org. */
|
|
3257
|
+
setAppReservedThroughput: SetAppReservedThroughputResult;
|
|
3130
3258
|
/** Sets per-app hourly/daily spend caps (in cents) and returns the re-evaluated runtime state. Pass null for a limit to clear that cap. Exceeding a cap denies the app's runtime (runtimeDenialReason = spend_cap). Requires the 'manage_billing' permission on the app's org. */
|
|
3131
3259
|
setAppSpendCaps: AppRuntimeState;
|
|
3132
3260
|
/** Super admin only (also requires the management API to be enabled for this deployment). Overrides an app visibility platform-wide, e.g. to take down (PRIVATE/UNLISTED) or relist (PUBLIC) an app. Throws ForbiddenException for non-super-admins or when management APIs are disabled. Throws if the app id does not exist. */
|
|
@@ -3157,8 +3285,14 @@ export type Mutation = {
|
|
|
3157
3285
|
setTeamPolicy: AppGroupPolicy;
|
|
3158
3286
|
/** Begins vaulting a card for off-session auto-billing. Returns a Stripe SetupIntent client secret the browser confirms; no charge is made here. Requires the 'manage_billing' org permission. */
|
|
3159
3287
|
setupSharedPaymentMethod: PaymentMethodSetup;
|
|
3288
|
+
/** Complete a federated sign-in from the provider callback (code + state). Returns a session AuthResponse, creating/linking the account by provider identity. Public. */
|
|
3289
|
+
socialLoginComplete: AuthResponse;
|
|
3290
|
+
/** Begin a federated (social) sign-in: returns an authorizeUrl to redirect the user to and an opaque state to round-trip back to socialLoginComplete. Public. */
|
|
3291
|
+
socialLoginStart: SocialLoginStart;
|
|
3160
3292
|
/** Checks whether the authenticated user is allowed to teleport an actor to a destination within an app and returns the authorization result. This is an authorization check only — it does NOT itself move the actor; the UDP runtime performs the actual movement. Requires a valid bearer game token plus the app-level "teleport" runtime permission. Returns success=false with errorCode INVALID_APP_ID (non-positive appId), UNAUTHORIZED (reserved sentinel destination -6,-6,-6 or missing permission), or success=true / NO_ERROR when allowed. */
|
|
3161
3293
|
teleportRequest: TeleportResponse;
|
|
3294
|
+
/** Unlink a federated identity from the signed-in account by identityId. Refuses to remove your last remaining sign-in method. Requires a session token. */
|
|
3295
|
+
unlinkIdentity: Scalars['Boolean']['output'];
|
|
3162
3296
|
/** Update an existing access tier (name, ordering, pricing, permissions, etc.); only fields present in the input are changed. Requires the 'manage_access_tiers' permission on the app that owns the tier (resolved from tierId); super admins bypass. SIDE EFFECTS: re-syncs the tier's permissions to the game API. Throws if the tier is not found or the caller lacks permission. */
|
|
3163
3297
|
updateAccessTier: AppAccessTier;
|
|
3164
3298
|
/** Partially updates an actor (appId, avatarId, chunk, publicState, privateState); fields omitted from `input` are left unchanged. OWNER-EXCLUSIVE: only the actor’s owner may update (throws Unauthorized otherwise). Requires a valid game token. `uuid` is the 32-character ASCII actor id. */
|
|
@@ -3232,6 +3366,9 @@ export type MutationArchiveAppArgs = {
|
|
|
3232
3366
|
export type MutationAssignGroupToGridArgs = {
|
|
3233
3367
|
input: AssignGroupToGridInput;
|
|
3234
3368
|
};
|
|
3369
|
+
export type MutationAuthorizeAppArgs = {
|
|
3370
|
+
input: AuthorizeAppInput;
|
|
3371
|
+
};
|
|
3235
3372
|
export type MutationCancelSharedSubscriptionArgs = {
|
|
3236
3373
|
appId: Scalars['BigInt']['input'];
|
|
3237
3374
|
idempotencyKey?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -3247,6 +3384,9 @@ export type MutationChangePasswordArgs = {
|
|
|
3247
3384
|
export type MutationClaimFreeAppAccessArgs = {
|
|
3248
3385
|
appId: Scalars['BigInt']['input'];
|
|
3249
3386
|
};
|
|
3387
|
+
export type MutationCompleteLoginLinkArgs = {
|
|
3388
|
+
input: CompleteLoginLinkInput;
|
|
3389
|
+
};
|
|
3250
3390
|
export type MutationConfirmEmailArgs = {
|
|
3251
3391
|
token: Scalars['String']['input'];
|
|
3252
3392
|
};
|
|
@@ -3337,6 +3477,9 @@ export type MutationDeleteUserAppStateArgs = {
|
|
|
3337
3477
|
export type MutationDestroyEnvironmentArgs = {
|
|
3338
3478
|
input: DestroyEnvironmentInput;
|
|
3339
3479
|
};
|
|
3480
|
+
export type MutationDevLoginArgs = {
|
|
3481
|
+
input: DevLoginInput;
|
|
3482
|
+
};
|
|
3340
3483
|
export type MutationExchangePortalCodeArgs = {
|
|
3341
3484
|
input: ExchangePortalCodeInput;
|
|
3342
3485
|
};
|
|
@@ -3363,10 +3506,27 @@ export type MutationGameModelDeleteAutomationTriggerArgs = {
|
|
|
3363
3506
|
appId: Scalars['BigInt']['input'];
|
|
3364
3507
|
triggerId: Scalars['String']['input'];
|
|
3365
3508
|
};
|
|
3509
|
+
export type MutationGameModelDeleteContainerArgs = {
|
|
3510
|
+
appId: Scalars['BigInt']['input'];
|
|
3511
|
+
containerId: Scalars['String']['input'];
|
|
3512
|
+
};
|
|
3513
|
+
export type MutationGameModelDeleteContainerTypeArgs = {
|
|
3514
|
+
appId: Scalars['BigInt']['input'];
|
|
3515
|
+
typeName: Scalars['String']['input'];
|
|
3516
|
+
};
|
|
3517
|
+
export type MutationGameModelDeleteEdgeArgs = {
|
|
3518
|
+
appId: Scalars['BigInt']['input'];
|
|
3519
|
+
edgeId: Scalars['String']['input'];
|
|
3520
|
+
};
|
|
3366
3521
|
export type MutationGameModelDeleteFunctionArgs = {
|
|
3367
3522
|
appId: Scalars['BigInt']['input'];
|
|
3368
3523
|
name: Scalars['String']['input'];
|
|
3369
3524
|
};
|
|
3525
|
+
export type MutationGameModelDeletePropertyDefArgs = {
|
|
3526
|
+
appId: Scalars['BigInt']['input'];
|
|
3527
|
+
containerTypeName: Scalars['String']['input'];
|
|
3528
|
+
key: Scalars['String']['input'];
|
|
3529
|
+
};
|
|
3370
3530
|
export type MutationGameModelGrantTierFeatureArgs = {
|
|
3371
3531
|
input: GrantTierFeatureInput;
|
|
3372
3532
|
};
|
|
@@ -3449,6 +3609,9 @@ export type MutationLeaveTeamArgs = {
|
|
|
3449
3609
|
export type MutationLinkAppToEnvironmentArgs = {
|
|
3450
3610
|
input: LinkAppToEnvironmentInput;
|
|
3451
3611
|
};
|
|
3612
|
+
export type MutationLinkIdentityArgs = {
|
|
3613
|
+
input: LinkIdentityInput;
|
|
3614
|
+
};
|
|
3452
3615
|
export type MutationLoginArgs = {
|
|
3453
3616
|
loginUserInput: LoginUserInput;
|
|
3454
3617
|
};
|
|
@@ -3505,6 +3668,9 @@ export type MutationRemoveTeamMemberArgs = {
|
|
|
3505
3668
|
groupId: Scalars['BigInt']['input'];
|
|
3506
3669
|
userId: Scalars['BigInt']['input'];
|
|
3507
3670
|
};
|
|
3671
|
+
export type MutationRequestLoginLinkArgs = {
|
|
3672
|
+
input: RequestLoginLinkInput;
|
|
3673
|
+
};
|
|
3508
3674
|
export type MutationRequestPasswordResetArgs = {
|
|
3509
3675
|
email: Scalars['String']['input'];
|
|
3510
3676
|
};
|
|
@@ -3531,6 +3697,9 @@ export type MutationRevokeAppAccessArgs = {
|
|
|
3531
3697
|
idempotencyKey?: InputMaybe<Scalars['String']['input']>;
|
|
3532
3698
|
userId: Scalars['BigInt']['input'];
|
|
3533
3699
|
};
|
|
3700
|
+
export type MutationRevokeAppAuthorizationArgs = {
|
|
3701
|
+
appId: Scalars['BigInt']['input'];
|
|
3702
|
+
};
|
|
3534
3703
|
export type MutationRevokeGridPermissionsArgs = {
|
|
3535
3704
|
input: RevokeGridPermissionsInput;
|
|
3536
3705
|
};
|
|
@@ -3571,6 +3740,13 @@ export type MutationSetAppBudgetArgs = {
|
|
|
3571
3740
|
monthlyLimitCents: Scalars['BigInt']['input'];
|
|
3572
3741
|
orgId: Scalars['BigInt']['input'];
|
|
3573
3742
|
};
|
|
3743
|
+
export type MutationSetAppClientSettingsArgs = {
|
|
3744
|
+
input: SetAppClientSettingsInput;
|
|
3745
|
+
};
|
|
3746
|
+
export type MutationSetAppReservedThroughputArgs = {
|
|
3747
|
+
idempotencyKey?: InputMaybe<Scalars['String']['input']>;
|
|
3748
|
+
input: SetAppReservedThroughputInput;
|
|
3749
|
+
};
|
|
3574
3750
|
export type MutationSetAppSpendCapsArgs = {
|
|
3575
3751
|
appId: Scalars['BigInt']['input'];
|
|
3576
3752
|
dailyLimitCents?: InputMaybe<Scalars['BigInt']['input']>;
|
|
@@ -3630,9 +3806,18 @@ export type MutationSetupSharedPaymentMethodArgs = {
|
|
|
3630
3806
|
idempotencyKey?: InputMaybe<Scalars['String']['input']>;
|
|
3631
3807
|
orgId: Scalars['BigInt']['input'];
|
|
3632
3808
|
};
|
|
3809
|
+
export type MutationSocialLoginCompleteArgs = {
|
|
3810
|
+
input: SocialLoginCompleteInput;
|
|
3811
|
+
};
|
|
3812
|
+
export type MutationSocialLoginStartArgs = {
|
|
3813
|
+
input: SocialLoginStartInput;
|
|
3814
|
+
};
|
|
3633
3815
|
export type MutationTeleportRequestArgs = {
|
|
3634
3816
|
input: TeleportRequestInput;
|
|
3635
3817
|
};
|
|
3818
|
+
export type MutationUnlinkIdentityArgs = {
|
|
3819
|
+
identityId: Scalars['String']['input'];
|
|
3820
|
+
};
|
|
3636
3821
|
export type MutationUpdateAccessTierArgs = {
|
|
3637
3822
|
input: UpdateAccessTierInput;
|
|
3638
3823
|
tierId: Scalars['BigInt']['input'];
|
|
@@ -3753,6 +3938,20 @@ export type NotificationArgInput = {
|
|
|
3753
3938
|
/** Argument name (kind-specific: chunk_x, channel_id, payload, target_uuid, ...). */
|
|
3754
3939
|
name: Scalars['String']['input'];
|
|
3755
3940
|
};
|
|
3941
|
+
/** Per-app projection row within an org rollup. */
|
|
3942
|
+
export type OrgAppUsageProjectionRow = {
|
|
3943
|
+
__typename?: 'OrgAppUsageProjectionRow';
|
|
3944
|
+
/** App id (as a string). */
|
|
3945
|
+
appId: Scalars['String']['output'];
|
|
3946
|
+
/** App display name. */
|
|
3947
|
+
appName: Scalars['String']['output'];
|
|
3948
|
+
/** Egress bytes so far this calendar month. */
|
|
3949
|
+
currentEgressBytes: Scalars['String']['output'];
|
|
3950
|
+
/** True when this app is on track to exceed its free allowance, or null when insufficient data. */
|
|
3951
|
+
onTrackToExceed: Maybe<Scalars['Boolean']['output']>;
|
|
3952
|
+
/** Projected end-of-month egress bytes, or null when insufficient data. */
|
|
3953
|
+
projectedBytes: Maybe<Scalars['String']['output']>;
|
|
3954
|
+
};
|
|
3756
3955
|
/** Org off-session auto-billing configuration. */
|
|
3757
3956
|
export type OrgAutoBilling = {
|
|
3758
3957
|
__typename?: 'OrgAutoBilling';
|
|
@@ -3871,6 +4070,40 @@ export type OrgTokenWithSecret = {
|
|
|
3871
4070
|
/** The plaintext token. Save it now; it is not stored. */
|
|
3872
4071
|
token: Scalars['String']['output'];
|
|
3873
4072
|
};
|
|
4073
|
+
/** Org-level rollup of per-app monthly egress projections for all shared apps. */
|
|
4074
|
+
export type OrgUsageProjection = {
|
|
4075
|
+
__typename?: 'OrgUsageProjection';
|
|
4076
|
+
/** Per-app projection breakdown. */
|
|
4077
|
+
apps: Array<OrgAppUsageProjectionRow>;
|
|
4078
|
+
/** Fractional UTC days elapsed since the calendar month started. */
|
|
4079
|
+
daysElapsed: Scalars['Float']['output'];
|
|
4080
|
+
/** True when any shared app is on track to exceed its free allowance. */
|
|
4081
|
+
onTrackToExceedAny: Scalars['Boolean']['output'];
|
|
4082
|
+
/** True when at least 3 days have elapsed in the month (projection is meaningful). */
|
|
4083
|
+
sufficientData: Scalars['Boolean']['output'];
|
|
4084
|
+
/** True when org total projected egress exceeds the combined free tier — suggest reserved throughput. */
|
|
4085
|
+
suggestReservedThroughput: Scalars['Boolean']['output'];
|
|
4086
|
+
/** Total free monthly egress allowance across all shared apps in the org (apps × 5 GB). */
|
|
4087
|
+
totalFreeAllowanceBytes: Scalars['String']['output'];
|
|
4088
|
+
/** Sum of projected end-of-month egress across shared apps, or null when insufficient data. */
|
|
4089
|
+
totalProjectedBytes: Maybe<Scalars['String']['output']>;
|
|
4090
|
+
};
|
|
4091
|
+
/** Org-level rollup of replication/GraphQL byte totals and GraphQL op counts across all apps in the organization for the time window. */
|
|
4092
|
+
export type OrgUsageSummary = {
|
|
4093
|
+
__typename?: 'OrgUsageSummary';
|
|
4094
|
+
/** Total GraphQL bytes received across all org apps (string counter). */
|
|
4095
|
+
graphqlRecvBytes: Scalars['String']['output'];
|
|
4096
|
+
/** Total GraphQL bytes sent across all org apps (string counter). */
|
|
4097
|
+
graphqlSendBytes: Scalars['String']['output'];
|
|
4098
|
+
/** Organization id (as a string). */
|
|
4099
|
+
orgId: Scalars['String']['output'];
|
|
4100
|
+
/** Total replication bytes received across all org apps (string counter). */
|
|
4101
|
+
replicationRecvBytes: Scalars['String']['output'];
|
|
4102
|
+
/** Total replication bytes sent across all org apps (string counter). */
|
|
4103
|
+
replicationSendBytes: Scalars['String']['output'];
|
|
4104
|
+
/** Total GraphQL operations (send + recv) across all org apps (string counter). */
|
|
4105
|
+
totalOps: Scalars['String']['output'];
|
|
4106
|
+
};
|
|
3874
4107
|
export type OrgWallet = {
|
|
3875
4108
|
__typename?: 'OrgWallet';
|
|
3876
4109
|
/** Current wallet balance in minor currency units (cents) of `currency`, as a BigInt decimal string. May be negative if usage was charged against an empty wallet. */
|
|
@@ -4012,6 +4245,20 @@ export type PortalAuthorizationCode = {
|
|
|
4012
4245
|
/** The validated redirect URI the player should be sent to. */
|
|
4013
4246
|
redirectUri: Scalars['String']['output'];
|
|
4014
4247
|
};
|
|
4248
|
+
/** Whether portaling into an app requires a consent prompt on the Overworld. */
|
|
4249
|
+
export type PortalConsentState = {
|
|
4250
|
+
__typename?: 'PortalConsentState';
|
|
4251
|
+
/** True if the user already has an active grant for this app. */
|
|
4252
|
+
alreadyGranted: Scalars['Boolean']['output'];
|
|
4253
|
+
/** App id, as a String. */
|
|
4254
|
+
appId: Scalars['String']['output'];
|
|
4255
|
+
/** App display name. */
|
|
4256
|
+
appName: Maybe<Scalars['String']['output']>;
|
|
4257
|
+
/** True if the Overworld must show a consent screen (untrusted app, not yet granted) before creating a portal code. */
|
|
4258
|
+
consentRequired: Scalars['Boolean']['output'];
|
|
4259
|
+
/** True for first-party/trusted apps (consent is always skipped). */
|
|
4260
|
+
trusted: Scalars['Boolean']['output'];
|
|
4261
|
+
};
|
|
4015
4262
|
/** Postgres billing tier: bandwidth allotment and capacity charge. Usage metering deferred. */
|
|
4016
4263
|
export type PostgresBillingTier = {
|
|
4017
4264
|
__typename?: 'PostgresBillingTier';
|
|
@@ -4060,6 +4307,8 @@ export type Query = {
|
|
|
4060
4307
|
actors: Array<Actor>;
|
|
4061
4308
|
/** Relay-style cursor-paginated version of `actors`: lists actors owned by the authenticated user, optionally narrowed by `filter` (appId, avatarId, uuid, chunk). Page forward with `first` (default 50, max 200) and `after` (an opaque cursor from a previous page’s `pageInfo.endCursor`); `totalCount` is the full number of matching actors. Requires a valid game token; only the caller’s own actors are returned (full state included). */
|
|
4062
4309
|
actorsConnection: ActorsConnection;
|
|
4310
|
+
/** Convenience for UI: returns true when the authenticated caller is the currently elected host for the given app (same election as gameHost), otherwise false (including when no host is elected). Not authoritative for server-side mutations — use gameModelInvoke's is_host policy for that. Requires a valid bearer game token (same auth as gameHost). */
|
|
4311
|
+
amIGameHost: Scalars['Boolean']['output'];
|
|
4063
4312
|
/** Fetch a single app by its numeric id. Requires authentication (any signed-in user); does NOT enforce org/app permissions, so it can read apps the caller does not own, of any visibility/status. Returns null if the id does not exist. Prefer appBySlug for slug-based marketplace lookups. */
|
|
4064
4313
|
app: Maybe<App>;
|
|
4065
4314
|
/** Public listing of an app's access tiers (the free/paid bundles of runtime permissions), ordered by tierOrder ascending. PUBLIC: no authentication required. Powers the marketplace app detail / pricing page. Includes tiers of all statuses; inspect AppAccessTier.status to skip archived tiers. */
|
|
@@ -4078,6 +4327,8 @@ export type Query = {
|
|
|
4078
4327
|
appRuntimeState: AppRuntimeState;
|
|
4079
4328
|
/** An app's paid shared-environment subscription, or null when it has none (e.g. unpublished or on the free quota). Caller must be a member of the app's org. */
|
|
4080
4329
|
appSharedSubscription: Maybe<AppSharedSubscription>;
|
|
4330
|
+
/** Linear end-of-month egress projection for one shared app from calendar-month usage so far. Requires at least 3 elapsed days in the month before returning projected values. Requires the 'view_usage' org permission. */
|
|
4331
|
+
appUsageProjection: AppUsageProjection;
|
|
4081
4332
|
/** Replication and GraphQL byte totals plus the top GraphQL operations for one app over the time range. Read-only reporting; the app must be linked to an environment in the org. Requires the 'view_usage' org permission. */
|
|
4082
4333
|
appUsageSummary: AppUsageSummary;
|
|
4083
4334
|
/** Admin view of the user access records for an app (who has been granted/revoked access and on which tier). Requires the 'manage_access_tiers' permission on the app; super admins bypass. Ordered by most recently updated. Paginated via limit/offset. */
|
|
@@ -4090,6 +4341,8 @@ export type Query = {
|
|
|
4090
4341
|
appsConnection: AppsConnection;
|
|
4091
4342
|
/** All apps belonging to an organization, identified by the org's slug, regardless of visibility or status (includes drafts and archived). Requires authentication; intended for org dashboards. Ordered newest-first. Returns an empty list for an unknown slug. */
|
|
4092
4343
|
appsForOrg: Array<App>;
|
|
4344
|
+
/** The federated sign-in providers currently enabled (e.g. ['google']). Use one with socialLoginStart. The dev mock provider only appears when the dev bypass is enabled. */
|
|
4345
|
+
availableLoginProviders: Array<Scalars['String']['output']>;
|
|
4093
4346
|
/** Fetches a single avatar by id. Requires a valid game token. Owner-aware: the owner receives full state; non-owners receive a public copy with `privateState` stripped (null). Throws NotFound if the id does not exist. State blobs are base64-encoded binary. */
|
|
4094
4347
|
avatar: Avatar;
|
|
4095
4348
|
/** Reads one avatar’s per-app state (keyed by appId+avatarId). PUBLIC READ: any authenticated user may read it. Requires a valid game token. Returns null when no row exists. `state` is base64-encoded binary. */
|
|
@@ -4110,6 +4363,8 @@ export type Query = {
|
|
|
4110
4363
|
channelRoles: Array<GroupRole>;
|
|
4111
4364
|
/** List all active channels in an app (not just the caller's). */
|
|
4112
4365
|
channels: Array<Group>;
|
|
4366
|
+
/** Email-first adaptive login: check whether the account has password sign-in enabled. Public; does not reveal whether the email is registered. */
|
|
4367
|
+
checkAuthMethod: AuthMethodResult;
|
|
4113
4368
|
/** Cross-tenant payments audit across all users, orgs, and apps (newest first), with optional filtering. Restricted to super admins; requests from non-super-admins are rejected. For a caller's own history use `myCheckouts` instead. */
|
|
4114
4369
|
checkouts: CheckoutsPage;
|
|
4115
4370
|
/** Cross-tenant payments audit across all users, orgs, and apps (newest first), with optional filtering. Restricted to super admins; requests from non-super-admins are rejected. For a caller's own history use `myCheckoutsConnection` instead. Relay cursor connection; prefer this over the offset-based checkouts. */
|
|
@@ -4234,6 +4489,8 @@ export type Query = {
|
|
|
4234
4489
|
myAppAccess: Maybe<AppUserAccess>;
|
|
4235
4490
|
/** Apps the authenticated caller can see in their account: those owned by an org they are an active member of, OR those where they hold an active app_user_access grant. Requires authentication. Includes apps of any visibility/status (e.g. drafts the caller can access). Ordered newest-first. */
|
|
4236
4491
|
myApps: Array<App>;
|
|
4492
|
+
/** The calling user's active app authorizations ("connected apps"). Requires a SESSION token. */
|
|
4493
|
+
myAuthorizedApps: Array<AppAuthorizationGrant>;
|
|
4237
4494
|
/** Lists all avatars owned by the authenticated user, including full `publicState` and `privateState` (the caller is always the owner here). Requires a valid bearer game token; takes no arguments. State blobs are base64-encoded binary. Use `userAvatars` to view another user’s avatars (private state is stripped for non-owners). */
|
|
4238
4495
|
myAvatars: Array<AvatarDto>;
|
|
4239
4496
|
/** The caller's channels in an app, with their roles and effective channel permissions (e.g. whether they hold send_messages). Use this to discover which channels the current user can read/post in. */
|
|
@@ -4247,6 +4504,8 @@ export type Query = {
|
|
|
4247
4504
|
* @deprecated Legacy donation/property-token data; these products are no longer purchasable. Retained for historical records.
|
|
4248
4505
|
*/
|
|
4249
4506
|
myDonationData: UserDonationData;
|
|
4507
|
+
/** The signed-in user's linked sign-in identities. */
|
|
4508
|
+
myIdentities: Array<UserIdentity>;
|
|
4250
4509
|
/** Lists the authenticated caller's organization memberships. Each entry bundles the org, the caller's effective permission keys, and assigned roles. Requires a valid session token. */
|
|
4251
4510
|
myOrganizations: Array<OrgMembership>;
|
|
4252
4511
|
/**
|
|
@@ -4280,6 +4539,10 @@ export type Query = {
|
|
|
4280
4539
|
orgTokens: Array<OrgToken>;
|
|
4281
4540
|
/** Aggregate replication/GraphQL byte totals per environment across the org for the time window. Read-only reporting. Requires the 'view_usage' org permission. */
|
|
4282
4541
|
orgUsageByEnvironment: Array<EnvironmentUsageRollupRow>;
|
|
4542
|
+
/** Org rollup of per-app monthly egress projections for all shared apps, with upgrade prompts when on track to exceed free tier. Requires the 'view_usage' org permission. */
|
|
4543
|
+
orgUsageProjection: OrgUsageProjection;
|
|
4544
|
+
/** Org-level rollup of replication/GraphQL byte totals and GraphQL op counts across all apps in the organization for the time window. Read-only reporting. Requires the 'view_usage' org permission. */
|
|
4545
|
+
orgUsageSummary: OrgUsageSummary;
|
|
4283
4546
|
/** Fetches an organization by id (BigInt as string). Requires a valid session token. Returns null if no such organization exists. */
|
|
4284
4547
|
organization: Maybe<Organization>;
|
|
4285
4548
|
/** Fetches an organization by its unique URL slug. Requires a valid session token. Returns null if not found. Use this when you only have the slug; otherwise prefer organization(id). */
|
|
@@ -4288,10 +4551,12 @@ export type Query = {
|
|
|
4288
4551
|
paymentEvents: PaymentEventsPage;
|
|
4289
4552
|
/** Audit log of inbound payment-provider webhook events (used for idempotent reconciliation of checkouts), newest first. Restricted to super admins; requests from non-super-admins are rejected. Relay cursor connection; prefer this over the offset-based paymentEvents. */
|
|
4290
4553
|
paymentEventsConnection: PaymentEventsConnection;
|
|
4291
|
-
/** Public platform discovery. Returns the shared game-api URL clients use for shared-environment apps. No auth required. */
|
|
4554
|
+
/** Public platform discovery. Returns the shared game-api URL clients use for shared-environment apps (served by the platform shared environment). No auth required. */
|
|
4292
4555
|
platformConfig: PlatformConfig;
|
|
4293
4556
|
/** Live concurrent players for the org vs its all-time peak, a percentile comparison against other studios, and the site-wide total. Requires the 'view_usage' org permission. */
|
|
4294
4557
|
playerPulse: PlayerPulse;
|
|
4558
|
+
/** Whether portaling the calling user into an app needs a consent prompt. Trusted (first-party) apps and already-granted apps return consentRequired=false. The Overworld calls this before createPortalAuthorizationCode. Requires a SESSION token. */
|
|
4559
|
+
portalConsent: PortalConsentState;
|
|
4295
4560
|
/** Public read-only catalog of active Postgres billing tiers. Usage metering deferred. */
|
|
4296
4561
|
postgresBillingTiers: Array<PostgresBillingTier>;
|
|
4297
4562
|
/** Lists the app-scoped quota rules explicitly configured for an app (excludes org-, tier-, and free-tier-default quotas). Use `effectiveQuota` to resolve the limit actually applied for a given metric. Requires the 'view_usage' app permission. */
|
|
@@ -4352,6 +4617,9 @@ export type QueryActorsConnectionArgs = {
|
|
|
4352
4617
|
filter?: InputMaybe<ActorFilterInput>;
|
|
4353
4618
|
first?: InputMaybe<Scalars['Int']['input']>;
|
|
4354
4619
|
};
|
|
4620
|
+
export type QueryAmIGameHostArgs = {
|
|
4621
|
+
appId: Scalars['BigInt']['input'];
|
|
4622
|
+
};
|
|
4355
4623
|
export type QueryAppArgs = {
|
|
4356
4624
|
appId: Scalars['BigInt']['input'];
|
|
4357
4625
|
};
|
|
@@ -4384,6 +4652,10 @@ export type QueryAppRuntimeStateArgs = {
|
|
|
4384
4652
|
export type QueryAppSharedSubscriptionArgs = {
|
|
4385
4653
|
appId: Scalars['BigInt']['input'];
|
|
4386
4654
|
};
|
|
4655
|
+
export type QueryAppUsageProjectionArgs = {
|
|
4656
|
+
appId: Scalars['BigInt']['input'];
|
|
4657
|
+
orgId: Scalars['BigInt']['input'];
|
|
4658
|
+
};
|
|
4387
4659
|
export type QueryAppUsageSummaryArgs = {
|
|
4388
4660
|
appId: Scalars['BigInt']['input'];
|
|
4389
4661
|
operationLimit?: InputMaybe<Scalars['Int']['input']>;
|
|
@@ -4444,6 +4716,9 @@ export type QueryChannelRolesArgs = {
|
|
|
4444
4716
|
export type QueryChannelsArgs = {
|
|
4445
4717
|
appId: Scalars['BigInt']['input'];
|
|
4446
4718
|
};
|
|
4719
|
+
export type QueryCheckAuthMethodArgs = {
|
|
4720
|
+
input: CheckAuthMethodInput;
|
|
4721
|
+
};
|
|
4447
4722
|
export type QueryCheckoutsArgs = {
|
|
4448
4723
|
filter?: InputMaybe<CheckoutFilterInput>;
|
|
4449
4724
|
limit?: InputMaybe<Scalars['Int']['input']>;
|
|
@@ -4704,6 +4979,13 @@ export type QueryOrgUsageByEnvironmentArgs = {
|
|
|
4704
4979
|
orgId: Scalars['BigInt']['input'];
|
|
4705
4980
|
since: Scalars['DateTime']['input'];
|
|
4706
4981
|
};
|
|
4982
|
+
export type QueryOrgUsageProjectionArgs = {
|
|
4983
|
+
orgId: Scalars['BigInt']['input'];
|
|
4984
|
+
};
|
|
4985
|
+
export type QueryOrgUsageSummaryArgs = {
|
|
4986
|
+
orgId: Scalars['BigInt']['input'];
|
|
4987
|
+
since?: InputMaybe<Scalars['DateTime']['input']>;
|
|
4988
|
+
};
|
|
4707
4989
|
export type QueryOrganizationArgs = {
|
|
4708
4990
|
id: Scalars['BigInt']['input'];
|
|
4709
4991
|
};
|
|
@@ -4721,6 +5003,9 @@ export type QueryPaymentEventsConnectionArgs = {
|
|
|
4721
5003
|
export type QueryPlayerPulseArgs = {
|
|
4722
5004
|
orgId: Scalars['BigInt']['input'];
|
|
4723
5005
|
};
|
|
5006
|
+
export type QueryPortalConsentArgs = {
|
|
5007
|
+
appId: Scalars['BigInt']['input'];
|
|
5008
|
+
};
|
|
4724
5009
|
export type QueryQuotasForAppArgs = {
|
|
4725
5010
|
appId: Scalars['BigInt']['input'];
|
|
4726
5011
|
};
|
|
@@ -4827,6 +5112,21 @@ export type RegisterUserInput = {
|
|
|
4827
5112
|
/** Password for the new account (min 8 characters). */
|
|
4828
5113
|
password: Scalars['String']['input'];
|
|
4829
5114
|
};
|
|
5115
|
+
/** Request an emailed magic-link to sign in (passwordless). */
|
|
5116
|
+
export type RequestLoginLinkInput = {
|
|
5117
|
+
/** Email address to send the one-time sign-in link to. */
|
|
5118
|
+
email: Scalars['String']['input'];
|
|
5119
|
+
/** Where to send the user after they click the link (origin must be an allowed app/UI origin). Defaults to the platform sign-in page. */
|
|
5120
|
+
redirectUri?: InputMaybe<Scalars['String']['input']>;
|
|
5121
|
+
};
|
|
5122
|
+
/** Result of requesting a magic link. */
|
|
5123
|
+
export type RequestLoginLinkResult = {
|
|
5124
|
+
__typename?: 'RequestLoginLinkResult';
|
|
5125
|
+
/** DEV ONLY: when DEV_AUTH_BYPASS is enabled (so no email is delivered), the one-time token to pass to completeLoginLink. Always null in production. */
|
|
5126
|
+
devToken: Maybe<Scalars['String']['output']>;
|
|
5127
|
+
/** Always true (does not reveal whether the email exists). */
|
|
5128
|
+
sent: Scalars['Boolean']['output'];
|
|
5129
|
+
};
|
|
4830
5130
|
export type ResetPasswordInput = {
|
|
4831
5131
|
/** New password to set (min 8 characters). */
|
|
4832
5132
|
newPassword: Scalars['String']['input'];
|
|
@@ -5149,6 +5449,33 @@ export type ServiceQuota = {
|
|
|
5149
5449
|
/** When the rule was last updated (ISO-8601 UTC timestamp). */
|
|
5150
5450
|
updatedAt: Scalars['DateTime']['output'];
|
|
5151
5451
|
};
|
|
5452
|
+
/** Register/update an app's OAuth client settings for the portal handoff (requires manage_apps on the app). */
|
|
5453
|
+
export type SetAppClientSettingsInput = {
|
|
5454
|
+
appId: Scalars['BigInt']['input'];
|
|
5455
|
+
/** OAuth client type: 'public' (browser/PKCE) or 'confidential'. */
|
|
5456
|
+
clientType?: InputMaybe<Scalars['String']['input']>;
|
|
5457
|
+
/** Browser launch URL players are sent to when entering the app. */
|
|
5458
|
+
launchUrl?: InputMaybe<Scalars['String']['input']>;
|
|
5459
|
+
/** Allow-listed redirect URIs for the portal authorization code (origin-matched). Replaces the current list. */
|
|
5460
|
+
redirectUris?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
5461
|
+
};
|
|
5462
|
+
/** Set or change an app's reserved sustained throughput on the shared environment. */
|
|
5463
|
+
export type SetAppReservedThroughputInput = {
|
|
5464
|
+
/** App to configure reserved throughput for. */
|
|
5465
|
+
appId: Scalars['BigInt']['input'];
|
|
5466
|
+
/** Organization that owns the app. */
|
|
5467
|
+
orgId: Scalars['BigInt']['input'];
|
|
5468
|
+
/** Reserved sustained egress in bytes/s (decimal MB/s: 1_000_000 = 1 MB/s). 0 clears the reservation (free tier). */
|
|
5469
|
+
reservedBytesPerSec: Scalars['BigInt']['input'];
|
|
5470
|
+
};
|
|
5471
|
+
/** Result of setAppReservedThroughput: updated app + reservation fee debited (0 when downgrading or unchanged). */
|
|
5472
|
+
export type SetAppReservedThroughputResult = {
|
|
5473
|
+
__typename?: 'SetAppReservedThroughputResult';
|
|
5474
|
+
/** App after the reservation change. */
|
|
5475
|
+
app: App;
|
|
5476
|
+
/** Cents debited from the org wallet for this change (prorated upgrade). 0 when clearing or lowering reservation. */
|
|
5477
|
+
chargedCents: Scalars['BigInt']['output'];
|
|
5478
|
+
};
|
|
5152
5479
|
/** Set the per-app automation policy (guardrails / platform ceilings). */
|
|
5153
5480
|
export type SetAutomationPolicyInput = {
|
|
5154
5481
|
/** The app (tenant). */
|
|
@@ -5311,6 +5638,29 @@ export type SingleActorMessageNotification = {
|
|
|
5311
5638
|
/** The destination actor’s UUID (your own actor’s UUID, echoed from the message). */
|
|
5312
5639
|
uuid: Scalars['String']['output'];
|
|
5313
5640
|
};
|
|
5641
|
+
/** Complete a federated sign-in from the provider callback. */
|
|
5642
|
+
export type SocialLoginCompleteInput = {
|
|
5643
|
+
/** The authorization code returned by the provider. */
|
|
5644
|
+
code: Scalars['String']['input'];
|
|
5645
|
+
provider: Scalars['String']['input'];
|
|
5646
|
+
/** The opaque state value from socialLoginStart (CSRF binding). */
|
|
5647
|
+
state: Scalars['String']['input'];
|
|
5648
|
+
};
|
|
5649
|
+
/** A federated sign-in handoff: redirect the user to authorizeUrl. */
|
|
5650
|
+
export type SocialLoginStart = {
|
|
5651
|
+
__typename?: 'SocialLoginStart';
|
|
5652
|
+
/** Provider authorize URL to redirect the user to. */
|
|
5653
|
+
authorizeUrl: Scalars['String']['output'];
|
|
5654
|
+
/** Opaque state to round-trip back to socialLoginComplete. */
|
|
5655
|
+
state: Scalars['String']['output'];
|
|
5656
|
+
};
|
|
5657
|
+
/** Begin a federated (social) sign-in. */
|
|
5658
|
+
export type SocialLoginStartInput = {
|
|
5659
|
+
/** Provider id, e.g. 'google' (see availableLoginProviders). */
|
|
5660
|
+
provider: Scalars['String']['input'];
|
|
5661
|
+
/** The callback URL the provider returns to (must be a registered auth callback for your app/UI). */
|
|
5662
|
+
redirectUri: Scalars['String']['input'];
|
|
5663
|
+
};
|
|
5314
5664
|
export type Subscription = {
|
|
5315
5665
|
__typename?: 'Subscription';
|
|
5316
5666
|
/** Realtime downlink from the game server: spatial notifications and responses, GenericErrorResponse (errors from your sends, correlated by sequenceNumber), and RealtimeConnectionEvent (lifecycle/setup failures). Requires a bearer game token AND an appId-scoped connection — the appId is read from the graphql-transport-ws connection (game tokens are app-agnostic and one UDP socket is shared across apps, so an app-agnostic subscription is rejected with a RealtimeConnectionEvent code APP_ID_REQUIRED, and a missing/invalid token with AUTH_REQUIRED). On subscribe, opens a UDP proxy session if none exists (binds to the least-loaded game server); open/transport failures are delivered as RealtimeConnectionEvent (code UDP_PROXY_CONNECTION_FAILED) and then the stream ends. Only this app’s spatial fan-out is delivered; appId-less control frames always pass. Subscribe before/while sending so async results are not missed. Unsubscribing stops delivery only — it does NOT close the UDP session; call disconnectUdpProxy (or rely on the server inactivity timeout) to release it. */
|
|
@@ -5829,6 +6179,20 @@ export type UserEdge = {
|
|
|
5829
6179
|
/** The node at the end of this edge. */
|
|
5830
6180
|
node: User;
|
|
5831
6181
|
};
|
|
6182
|
+
/** A federated / passwordless sign-in identity linked to a user account (a social provider, an emailed magic link, or the dev bypass). */
|
|
6183
|
+
export type UserIdentity = {
|
|
6184
|
+
__typename?: 'UserIdentity';
|
|
6185
|
+
createdAt: Scalars['DateTime']['output'];
|
|
6186
|
+
email: Maybe<Scalars['String']['output']>;
|
|
6187
|
+
emailVerified: Scalars['Boolean']['output'];
|
|
6188
|
+
identityId: Scalars['ID']['output'];
|
|
6189
|
+
lastLoginAt: Maybe<Scalars['DateTime']['output']>;
|
|
6190
|
+
/** The identity provider: 'google' | 'apple' | 'discord' | 'email' (magic link) | 'dev' (dev bypass). */
|
|
6191
|
+
provider: Scalars['String']['output'];
|
|
6192
|
+
/** The provider's stable subject id ('sub'). For 'email'/'dev' this is the lowercased email. */
|
|
6193
|
+
subject: Scalars['String']['output'];
|
|
6194
|
+
userId: Scalars['ID']['output'];
|
|
6195
|
+
};
|
|
5832
6196
|
/** Aggregated property-token balances for a user. LEGACY: property tokens are no longer purchasable. Returned by the deprecated myPropertyTokens query. */
|
|
5833
6197
|
export type UserPropertyTokenData = {
|
|
5834
6198
|
__typename?: 'UserPropertyTokenData';
|
|
@@ -6070,7 +6434,7 @@ export type WalletTransaction = {
|
|
|
6070
6434
|
referenceId: Maybe<Scalars['String']['output']>;
|
|
6071
6435
|
/** Unique transaction id (BigInt as a decimal string). */
|
|
6072
6436
|
transactionId: Scalars['BigInt']['output'];
|
|
6073
|
-
/** What produced this transaction. Known values: "topup" (wallet credit from a checkout/top-up), "usage" (per-app usage charge, negative), "shared_usage" (shared-environment usage charge, negative), "environment_usage" (hourly environment cost, negative), "auto_recharge" (automatic wallet recharge). Other caller-supplied deposit types are possible. */
|
|
6437
|
+
/** What produced this transaction. Known values: "topup" (wallet credit from a checkout/top-up), "usage" (per-app usage charge, negative), "shared_usage" (shared-environment usage charge, negative), "reserved_throughput" (monthly/prorated reserved egress capacity, negative), "environment_usage" (hourly environment cost, negative), "auto_recharge" (automatic wallet recharge). Other caller-supplied deposit types are possible. */
|
|
6074
6438
|
transactionType: Scalars['String']['output'];
|
|
6075
6439
|
/** Wallet this transaction belongs to (BigInt as a decimal string). */
|
|
6076
6440
|
walletId: Scalars['BigInt']['output'];
|
|
@@ -6776,47 +7140,6 @@ export type UpdateAppMutation = {
|
|
|
6776
7140
|
updatedAt: string;
|
|
6777
7141
|
};
|
|
6778
7142
|
};
|
|
6779
|
-
export type ChangePasswordMutationVariables = Exact<{
|
|
6780
|
-
currentPassword: Scalars['String']['input'];
|
|
6781
|
-
newPassword: Scalars['String']['input'];
|
|
6782
|
-
}>;
|
|
6783
|
-
export type ChangePasswordMutation = {
|
|
6784
|
-
__typename?: 'Mutation';
|
|
6785
|
-
changePassword: boolean;
|
|
6786
|
-
};
|
|
6787
|
-
export type ConfirmEmailMutationVariables = Exact<{
|
|
6788
|
-
token: Scalars['String']['input'];
|
|
6789
|
-
}>;
|
|
6790
|
-
export type ConfirmEmailMutation = {
|
|
6791
|
-
__typename?: 'Mutation';
|
|
6792
|
-
confirmEmail: boolean;
|
|
6793
|
-
};
|
|
6794
|
-
export type LoginMutationVariables = Exact<{
|
|
6795
|
-
input: LoginUserInput;
|
|
6796
|
-
}>;
|
|
6797
|
-
export type LoginMutation = {
|
|
6798
|
-
__typename?: 'Mutation';
|
|
6799
|
-
login: {
|
|
6800
|
-
__typename?: 'AuthResponse';
|
|
6801
|
-
token: string;
|
|
6802
|
-
gameTokenId: string;
|
|
6803
|
-
user: {
|
|
6804
|
-
__typename?: 'User';
|
|
6805
|
-
userId: string;
|
|
6806
|
-
email: string | null;
|
|
6807
|
-
gamertag: string | null;
|
|
6808
|
-
disambiguation: string | null;
|
|
6809
|
-
isConfirmed: boolean;
|
|
6810
|
-
createdAt: string;
|
|
6811
|
-
grantEarlyAccess: boolean;
|
|
6812
|
-
grantEarlyAccessOverride: boolean;
|
|
6813
|
-
orgId: string | null;
|
|
6814
|
-
externalId: string | null;
|
|
6815
|
-
userType: string;
|
|
6816
|
-
isSuperAdmin: boolean;
|
|
6817
|
-
};
|
|
6818
|
-
};
|
|
6819
|
-
};
|
|
6820
7143
|
export type LogoutMutationVariables = Exact<{
|
|
6821
7144
|
[key: string]: never;
|
|
6822
7145
|
}>;
|
|
@@ -6831,53 +7154,6 @@ export type LogoutAllDevicesMutation = {
|
|
|
6831
7154
|
__typename?: 'Mutation';
|
|
6832
7155
|
logoutAllDevices: boolean;
|
|
6833
7156
|
};
|
|
6834
|
-
export type RegisterMutationVariables = Exact<{
|
|
6835
|
-
input: RegisterUserInput;
|
|
6836
|
-
}>;
|
|
6837
|
-
export type RegisterMutation = {
|
|
6838
|
-
__typename?: 'Mutation';
|
|
6839
|
-
register: {
|
|
6840
|
-
__typename?: 'AuthResponse';
|
|
6841
|
-
token: string;
|
|
6842
|
-
gameTokenId: string;
|
|
6843
|
-
user: {
|
|
6844
|
-
__typename?: 'User';
|
|
6845
|
-
userId: string;
|
|
6846
|
-
email: string | null;
|
|
6847
|
-
gamertag: string | null;
|
|
6848
|
-
disambiguation: string | null;
|
|
6849
|
-
isConfirmed: boolean;
|
|
6850
|
-
createdAt: string;
|
|
6851
|
-
grantEarlyAccess: boolean;
|
|
6852
|
-
grantEarlyAccessOverride: boolean;
|
|
6853
|
-
orgId: string | null;
|
|
6854
|
-
externalId: string | null;
|
|
6855
|
-
userType: string;
|
|
6856
|
-
isSuperAdmin: boolean;
|
|
6857
|
-
};
|
|
6858
|
-
};
|
|
6859
|
-
};
|
|
6860
|
-
export type RequestPasswordResetMutationVariables = Exact<{
|
|
6861
|
-
email: Scalars['String']['input'];
|
|
6862
|
-
}>;
|
|
6863
|
-
export type RequestPasswordResetMutation = {
|
|
6864
|
-
__typename?: 'Mutation';
|
|
6865
|
-
requestPasswordReset: boolean;
|
|
6866
|
-
};
|
|
6867
|
-
export type ResendConfirmationEmailMutationVariables = Exact<{
|
|
6868
|
-
email: Scalars['String']['input'];
|
|
6869
|
-
}>;
|
|
6870
|
-
export type ResendConfirmationEmailMutation = {
|
|
6871
|
-
__typename?: 'Mutation';
|
|
6872
|
-
resendConfirmationEmail: boolean;
|
|
6873
|
-
};
|
|
6874
|
-
export type ResetPasswordMutationVariables = Exact<{
|
|
6875
|
-
input: ResetPasswordInput;
|
|
6876
|
-
}>;
|
|
6877
|
-
export type ResetPasswordMutation = {
|
|
6878
|
-
__typename?: 'Mutation';
|
|
6879
|
-
resetPassword: boolean;
|
|
6880
|
-
};
|
|
6881
7157
|
export type UserAvatarsQueryVariables = Exact<{
|
|
6882
7158
|
userId: Scalars['BigInt']['input'];
|
|
6883
7159
|
}>;
|
|
@@ -9160,6 +9436,14 @@ export type GameModelCreateContainerMutation = {
|
|
|
9160
9436
|
metadataJson: string;
|
|
9161
9437
|
};
|
|
9162
9438
|
};
|
|
9439
|
+
export type GameModelDeleteContainerMutationVariables = Exact<{
|
|
9440
|
+
appId: Scalars['BigInt']['input'];
|
|
9441
|
+
containerId: Scalars['String']['input'];
|
|
9442
|
+
}>;
|
|
9443
|
+
export type GameModelDeleteContainerMutation = {
|
|
9444
|
+
__typename?: 'Mutation';
|
|
9445
|
+
gameModelDeleteContainer: boolean;
|
|
9446
|
+
};
|
|
9163
9447
|
export type GameModelSetPropertyMutationVariables = Exact<{
|
|
9164
9448
|
input: SetContainerPropertyInput;
|
|
9165
9449
|
}>;
|
|
@@ -9191,6 +9475,14 @@ export type GameModelAddEdgeMutation = {
|
|
|
9191
9475
|
weight: number | null;
|
|
9192
9476
|
};
|
|
9193
9477
|
};
|
|
9478
|
+
export type GameModelDeleteEdgeMutationVariables = Exact<{
|
|
9479
|
+
appId: Scalars['BigInt']['input'];
|
|
9480
|
+
edgeId: Scalars['String']['input'];
|
|
9481
|
+
}>;
|
|
9482
|
+
export type GameModelDeleteEdgeMutation = {
|
|
9483
|
+
__typename?: 'Mutation';
|
|
9484
|
+
gameModelDeleteEdge: boolean;
|
|
9485
|
+
};
|
|
9194
9486
|
export type GameModelInvokeMutationVariables = Exact<{
|
|
9195
9487
|
input: InvokeFunctionInput;
|
|
9196
9488
|
}>;
|
|
@@ -9503,6 +9795,23 @@ export type GameModelUpsertPropertyDefMutation = {
|
|
|
9503
9795
|
description: string | null;
|
|
9504
9796
|
};
|
|
9505
9797
|
};
|
|
9798
|
+
export type GameModelDeletePropertyDefMutationVariables = Exact<{
|
|
9799
|
+
appId: Scalars['BigInt']['input'];
|
|
9800
|
+
containerTypeName: Scalars['String']['input'];
|
|
9801
|
+
key: Scalars['String']['input'];
|
|
9802
|
+
}>;
|
|
9803
|
+
export type GameModelDeletePropertyDefMutation = {
|
|
9804
|
+
__typename?: 'Mutation';
|
|
9805
|
+
gameModelDeletePropertyDef: boolean;
|
|
9806
|
+
};
|
|
9807
|
+
export type GameModelDeleteContainerTypeMutationVariables = Exact<{
|
|
9808
|
+
appId: Scalars['BigInt']['input'];
|
|
9809
|
+
typeName: Scalars['String']['input'];
|
|
9810
|
+
}>;
|
|
9811
|
+
export type GameModelDeleteContainerTypeMutation = {
|
|
9812
|
+
__typename?: 'Mutation';
|
|
9813
|
+
gameModelDeleteContainerType: boolean;
|
|
9814
|
+
};
|
|
9506
9815
|
export type GameModelUpsertFunctionMutationVariables = Exact<{
|
|
9507
9816
|
input: UpsertFunctionInput;
|
|
9508
9817
|
}>;
|
|
@@ -9835,6 +10144,13 @@ export type GameHostQuery = {
|
|
|
9835
10144
|
earliestActorJoinedAt: string;
|
|
9836
10145
|
} | null;
|
|
9837
10146
|
};
|
|
10147
|
+
export type AmIGameHostQueryVariables = Exact<{
|
|
10148
|
+
appId: Scalars['BigInt']['input'];
|
|
10149
|
+
}>;
|
|
10150
|
+
export type AmIGameHostQuery = {
|
|
10151
|
+
__typename?: 'Query';
|
|
10152
|
+
amIGameHost: boolean;
|
|
10153
|
+
};
|
|
9838
10154
|
export type ActorHeartbeatMutationVariables = Exact<{
|
|
9839
10155
|
appId: Scalars['BigInt']['input'];
|
|
9840
10156
|
}>;
|
|
@@ -12015,15 +12331,8 @@ export declare const AppsConnectionDocument: DocumentNode<AppsConnectionQuery, A
|
|
|
12015
12331
|
export declare const MyAppsDocument: DocumentNode<MyAppsQuery, MyAppsQueryVariables>;
|
|
12016
12332
|
export declare const SetAppVisibilityDocument: DocumentNode<SetAppVisibilityMutation, SetAppVisibilityMutationVariables>;
|
|
12017
12333
|
export declare const UpdateAppDocument: DocumentNode<UpdateAppMutation, UpdateAppMutationVariables>;
|
|
12018
|
-
export declare const ChangePasswordDocument: DocumentNode<ChangePasswordMutation, ChangePasswordMutationVariables>;
|
|
12019
|
-
export declare const ConfirmEmailDocument: DocumentNode<ConfirmEmailMutation, ConfirmEmailMutationVariables>;
|
|
12020
|
-
export declare const LoginDocument: DocumentNode<LoginMutation, LoginMutationVariables>;
|
|
12021
12334
|
export declare const LogoutDocument: DocumentNode<LogoutMutation, LogoutMutationVariables>;
|
|
12022
12335
|
export declare const LogoutAllDevicesDocument: DocumentNode<LogoutAllDevicesMutation, LogoutAllDevicesMutationVariables>;
|
|
12023
|
-
export declare const RegisterDocument: DocumentNode<RegisterMutation, RegisterMutationVariables>;
|
|
12024
|
-
export declare const RequestPasswordResetDocument: DocumentNode<RequestPasswordResetMutation, RequestPasswordResetMutationVariables>;
|
|
12025
|
-
export declare const ResendConfirmationEmailDocument: DocumentNode<ResendConfirmationEmailMutation, ResendConfirmationEmailMutationVariables>;
|
|
12026
|
-
export declare const ResetPasswordDocument: DocumentNode<ResetPasswordMutation, ResetPasswordMutationVariables>;
|
|
12027
12336
|
export declare const UserAvatarsDocument: DocumentNode<UserAvatarsQuery, UserAvatarsQueryVariables>;
|
|
12028
12337
|
export declare const AvatarByIdDocument: DocumentNode<AvatarByIdQuery, AvatarByIdQueryVariables>;
|
|
12029
12338
|
export declare const MyAvatarsDocument: DocumentNode<MyAvatarsQuery, MyAvatarsQueryVariables>;
|
|
@@ -12133,8 +12442,10 @@ export declare const GameModelCreateSessionDocument: DocumentNode<GameModelCreat
|
|
|
12133
12442
|
export declare const GameModelJoinSessionDocument: DocumentNode<GameModelJoinSessionMutation, GameModelJoinSessionMutationVariables>;
|
|
12134
12443
|
export declare const GameModelSetSessionTurnDocument: DocumentNode<GameModelSetSessionTurnMutation, GameModelSetSessionTurnMutationVariables>;
|
|
12135
12444
|
export declare const GameModelCreateContainerDocument: DocumentNode<GameModelCreateContainerMutation, GameModelCreateContainerMutationVariables>;
|
|
12445
|
+
export declare const GameModelDeleteContainerDocument: DocumentNode<GameModelDeleteContainerMutation, GameModelDeleteContainerMutationVariables>;
|
|
12136
12446
|
export declare const GameModelSetPropertyDocument: DocumentNode<GameModelSetPropertyMutation, GameModelSetPropertyMutationVariables>;
|
|
12137
12447
|
export declare const GameModelAddEdgeDocument: DocumentNode<GameModelAddEdgeMutation, GameModelAddEdgeMutationVariables>;
|
|
12448
|
+
export declare const GameModelDeleteEdgeDocument: DocumentNode<GameModelDeleteEdgeMutation, GameModelDeleteEdgeMutationVariables>;
|
|
12138
12449
|
export declare const GameModelInvokeDocument: DocumentNode<GameModelInvokeMutation, GameModelInvokeMutationVariables>;
|
|
12139
12450
|
export declare const GameModelContainerDocument: DocumentNode<GameModelContainerQuery, GameModelContainerQueryVariables>;
|
|
12140
12451
|
export declare const GameModelContainersDocument: DocumentNode<GameModelContainersQuery, GameModelContainersQueryVariables>;
|
|
@@ -12147,6 +12458,8 @@ export declare const GameModelEventsConnectionDocument: DocumentNode<GameModelEv
|
|
|
12147
12458
|
export declare const GameModelSeedDocument: DocumentNode<GameModelSeedMutation, GameModelSeedMutationVariables>;
|
|
12148
12459
|
export declare const GameModelUpsertContainerTypeDocument: DocumentNode<GameModelUpsertContainerTypeMutation, GameModelUpsertContainerTypeMutationVariables>;
|
|
12149
12460
|
export declare const GameModelUpsertPropertyDefDocument: DocumentNode<GameModelUpsertPropertyDefMutation, GameModelUpsertPropertyDefMutationVariables>;
|
|
12461
|
+
export declare const GameModelDeletePropertyDefDocument: DocumentNode<GameModelDeletePropertyDefMutation, GameModelDeletePropertyDefMutationVariables>;
|
|
12462
|
+
export declare const GameModelDeleteContainerTypeDocument: DocumentNode<GameModelDeleteContainerTypeMutation, GameModelDeleteContainerTypeMutationVariables>;
|
|
12150
12463
|
export declare const GameModelUpsertFunctionDocument: DocumentNode<GameModelUpsertFunctionMutation, GameModelUpsertFunctionMutationVariables>;
|
|
12151
12464
|
export declare const GameModelDeleteFunctionDocument: DocumentNode<GameModelDeleteFunctionMutation, GameModelDeleteFunctionMutationVariables>;
|
|
12152
12465
|
export declare const GameModelDefineFeatureDocument: DocumentNode<GameModelDefineFeatureMutation, GameModelDefineFeatureMutationVariables>;
|
|
@@ -12162,6 +12475,7 @@ export declare const GameModelTierFeaturesDocument: DocumentNode<GameModelTierFe
|
|
|
12162
12475
|
export declare const GameModelPolicyDocument: DocumentNode<GameModelPolicyQuery, GameModelPolicyQueryVariables>;
|
|
12163
12476
|
export declare const GameModelRevokeTierFeatureDocument: DocumentNode<GameModelRevokeTierFeatureMutation, GameModelRevokeTierFeatureMutationVariables>;
|
|
12164
12477
|
export declare const GameHostDocument: DocumentNode<GameHostQuery, GameHostQueryVariables>;
|
|
12478
|
+
export declare const AmIGameHostDocument: DocumentNode<AmIGameHostQuery, AmIGameHostQueryVariables>;
|
|
12165
12479
|
export declare const ActorHeartbeatDocument: DocumentNode<ActorHeartbeatMutation, ActorHeartbeatMutationVariables>;
|
|
12166
12480
|
export declare const CreateOrgRoleDocument: DocumentNode<CreateOrgRoleMutation, CreateOrgRoleMutationVariables>;
|
|
12167
12481
|
export declare const CreateOrgTokenDocument: DocumentNode<CreateOrgTokenMutation, CreateOrgTokenMutationVariables>;
|