@crowdedkingdoms/crowdyjs 18.15.0 → 18.17.0-dev.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/README.md +97 -17
- package/dist/crowdy-client.d.ts +3 -0
- package/dist/crowdy-client.d.ts.map +1 -1
- package/dist/crowdy-client.js +3 -0
- package/dist/default-origin.d.ts +6 -6
- package/dist/default-origin.d.ts.map +1 -1
- package/dist/default-origin.js +6 -6
- package/dist/domains/admin.d.ts +4 -0
- package/dist/domains/admin.d.ts.map +1 -1
- package/dist/domains/admin.js +1 -0
- package/dist/domains/managedPlayers.d.ts +112 -0
- package/dist/domains/managedPlayers.d.ts.map +1 -0
- package/dist/domains/managedPlayers.js +162 -0
- package/dist/domains/organizations.d.ts +12 -3
- package/dist/domains/organizations.d.ts.map +1 -1
- package/dist/domains/organizations.js +11 -3
- package/dist/domains/portal.d.ts +33 -0
- package/dist/domains/portal.d.ts.map +1 -1
- package/dist/domains/portal.js +52 -1
- package/dist/errors.d.ts +43 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +51 -0
- package/dist/generated/graphql-schema.d.ts +267 -8
- package/dist/generated/graphql-schema.d.ts.map +1 -1
- package/dist/generated/graphql.d.ts +204 -0
- package/dist/generated/graphql.d.ts.map +1 -1
- package/dist/generated/graphql.js +18 -4
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/package.json +1 -1
|
@@ -888,6 +888,8 @@ export type App = {
|
|
|
888
888
|
isTrusted: Scalars['Boolean']['output'];
|
|
889
889
|
/** 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. */
|
|
890
890
|
launchUrl: Maybe<Scalars['String']['output']>;
|
|
891
|
+
/** Whether the organization lets its org-managed players build and run mods (and use the Studio agent) in this app, paying for their mod compute, egress, storage and model tokens itself. False by default, and false on a tier that does not serve org-managed players. Set with setAppManagedPlayerMods (manage_billing). Players with a Crowded Kingdoms account are unaffected. */
|
|
892
|
+
managedPlayerModsEnabled: Scalars['Boolean']['output'];
|
|
891
893
|
/** 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. */
|
|
892
894
|
metadata: Maybe<Scalars['String']['output']>;
|
|
893
895
|
/** Human-readable display name of the app. */
|
|
@@ -2199,12 +2201,16 @@ export type CreateOrgRoleInput = {
|
|
|
2199
2201
|
roleName: Scalars['String']['input'];
|
|
2200
2202
|
};
|
|
2201
2203
|
export type CreateOrgTokenInput = {
|
|
2204
|
+
/** Limit the token to these apps of the organization; omit for every app (org-managed players). */
|
|
2205
|
+
appIds?: InputMaybe<Array<Scalars['BigInt']['input']>>;
|
|
2202
2206
|
/** Optional expiry timestamp; omit for a non-expiring token. */
|
|
2203
2207
|
expiresAt?: InputMaybe<Scalars['DateTime']['input']>;
|
|
2204
2208
|
/** Optional human-readable label (max 256 characters). */
|
|
2205
2209
|
label?: InputMaybe<Scalars['String']['input']>;
|
|
2206
2210
|
/** Organization to mint the token for (BigInt as string). */
|
|
2207
2211
|
orgId: Scalars['BigInt']['input'];
|
|
2212
|
+
/** What the token may do: 'players:mint' and/or 'players:manage' (org-managed players). Omit for a token with no scope, which can do nothing. */
|
|
2213
|
+
scopes?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
2208
2214
|
};
|
|
2209
2215
|
export type CreateOrganizationInput = {
|
|
2210
2216
|
/** Organization display name (1-256 characters). */
|
|
@@ -3383,6 +3389,12 @@ export type EmailStatusRecord = {
|
|
|
3383
3389
|
/** valid | bounced | complained. */
|
|
3384
3390
|
status: Scalars['String']['output'];
|
|
3385
3391
|
};
|
|
3392
|
+
export type ExchangeManagedPlayerAssertionInput = {
|
|
3393
|
+
/** The app to play. */
|
|
3394
|
+
appId: Scalars['BigInt']['input'];
|
|
3395
|
+
/** The compact JWS your organization signed for this player (header alg EdDSA, ES256 or RS256 with a registered kid; claims iss, aud, sub, iat, exp at most 300 s after iat, a fresh jti, and optionally gamertag). Use each once. */
|
|
3396
|
+
assertion: Scalars['String']['input'];
|
|
3397
|
+
};
|
|
3386
3398
|
/** Input for exchangePortalCode: the destination game (public client) trades a one-time portal code for an app-scoped gameplay token. Public (the code + PKCE verifier authorize the call). */
|
|
3387
3399
|
export type ExchangePortalCodeInput = {
|
|
3388
3400
|
/** The one-time authorization code received on the redirect. */
|
|
@@ -4524,6 +4536,37 @@ export type LoginUserInput = {
|
|
|
4524
4536
|
/** Account password (min 8 characters). */
|
|
4525
4537
|
password: Scalars['String']['input'];
|
|
4526
4538
|
};
|
|
4539
|
+
/** A player an organization signs in itself (an org-managed player): a Crowded Kingdoms user with no email, password or wallet, known to the org by its own id. */
|
|
4540
|
+
export type ManagedPlayer = {
|
|
4541
|
+
__typename?: 'ManagedPlayer';
|
|
4542
|
+
/** When the player was first signed in or provisioned. */
|
|
4543
|
+
createdAt: Scalars['DateTime']['output'];
|
|
4544
|
+
/** Whether the player is disabled: it cannot sign in, and its sessions were ended when it was disabled. An org disables and enables with updateManagedPlayer; a platform block also reads as disabled and only an operator lifts it. */
|
|
4545
|
+
disabled: Scalars['Boolean']['output'];
|
|
4546
|
+
/** Disambiguation shown beside the gamertag, if the org set one. */
|
|
4547
|
+
disambiguation: Maybe<Scalars['String']['output']>;
|
|
4548
|
+
/** The id the organization knows the player by (its own account id), unique within the org. */
|
|
4549
|
+
externalId: Scalars['String']['output'];
|
|
4550
|
+
/** Display name. */
|
|
4551
|
+
gamertag: Maybe<Scalars['String']['output']>;
|
|
4552
|
+
/** The organization the player belongs to. */
|
|
4553
|
+
orgId: Scalars['BigInt']['output'];
|
|
4554
|
+
/** The player’s Crowded Kingdoms user id (BigInt as a decimal string): what hubs, channels and other players see. */
|
|
4555
|
+
userId: Scalars['BigInt']['output'];
|
|
4556
|
+
};
|
|
4557
|
+
export type ManagedPlayerSpecInput = {
|
|
4558
|
+
/** The id your organization knows the player by. */
|
|
4559
|
+
externalId: Scalars['String']['input'];
|
|
4560
|
+
/** Display name (at most 64 characters). */
|
|
4561
|
+
gamertag?: InputMaybe<Scalars['String']['input']>;
|
|
4562
|
+
};
|
|
4563
|
+
/** One page of an org’s managed players, by user id. */
|
|
4564
|
+
export type ManagedPlayersPage = {
|
|
4565
|
+
__typename?: 'ManagedPlayersPage';
|
|
4566
|
+
/** Pass as `after` for the next page; null on the last. */
|
|
4567
|
+
nextCursor: Maybe<Scalars['String']['output']>;
|
|
4568
|
+
players: Array<ManagedPlayer>;
|
|
4569
|
+
};
|
|
4527
4570
|
/** Input for mintAppToken: directly mint an app-scoped gameplay token for the calling user (native/direct path, no browser redirect). */
|
|
4528
4571
|
export type MintAppTokenInput = {
|
|
4529
4572
|
/** Numeric id of the app to mint a confined gameplay token for. Free/open apps are auto-granted access; paid apps require an existing entitlement (else FORBIDDEN). */
|
|
@@ -4538,10 +4581,22 @@ export type MintGridTokenInput = {
|
|
|
4538
4581
|
/** Lifetime in seconds (60-3600, default 900). Never outlives the app token it was minted from. */
|
|
4539
4582
|
ttlSeconds?: InputMaybe<Scalars['Int']['input']>;
|
|
4540
4583
|
};
|
|
4584
|
+
export type MintManagedPlayerTokenInput = {
|
|
4585
|
+
/** The app to play: one of the org token's organization's apps. */
|
|
4586
|
+
appId: Scalars['BigInt']['input'];
|
|
4587
|
+
/** The id your organization knows the player by (1-256 characters, no control characters). Use your own stable account id, not an email address. The first sign-in creates the player. */
|
|
4588
|
+
externalId: Scalars['String']['input'];
|
|
4589
|
+
/** Display name (at most 64 characters). Set when the player is created; later sign-ins leave it (rename with updateManagedPlayer). */
|
|
4590
|
+
gamertag?: InputMaybe<Scalars['String']['input']>;
|
|
4591
|
+
/** How long this sign-in lasts, in seconds (default and maximum: the org's settings). The app token refreshes (refreshAppToken) until then; after it, sign the player in again. */
|
|
4592
|
+
sessionTtlSeconds?: InputMaybe<Scalars['Int']['input']>;
|
|
4593
|
+
};
|
|
4541
4594
|
export type Mutation = {
|
|
4542
4595
|
__typename?: 'Mutation';
|
|
4543
4596
|
/** Give up a STAGING publish and clear its staged objects. Requires manage_apps and a SESSION token. */
|
|
4544
4597
|
abandonGamePublish: HostedGamePublish;
|
|
4598
|
+
/** SESSION ONLY, an admin of the organization (its own admin grant: a super admin's or an operator's access does not stand in). Accept the Org-Managed Players Addendum on the organization's behalf, the version orgManagedPlayerSettings names as termsVersion (read it at termsUrl). Until the organization has accepted the current version, its managed players are neither created nor signed in (ORG_LEGAL_ACCEPTANCE_REQUIRED). A version that is not the current one is refused with CONFLICT; accepting the current one again changes nothing. Studio asks for it on the organization's Players tab. */
|
|
4599
|
+
acceptManagedPlayerTerms: OrgManagedPlayerSettings;
|
|
4545
4600
|
/** Application liveness heartbeat for the authenticated user's existing actor rows in an app. Refreshes actors.updated_at so the user stays host-eligible, then returns the freshly-elected host so a client can fold its poll and heartbeat into one round-trip. This is not proof of a live Buddy session and does not refresh the separate Buddy presence lease used by security-sensitive artifact/compute occupancy gates. */
|
|
4546
4601
|
actorHeartbeat: Maybe<GameHost>;
|
|
4547
4602
|
/** Add a user to a channel, or approve their pending join request (upsert to active). Requires the 'manage_members' channel permission (app admins bypass). Auto-assigns the default role if configured and notifies Buddy with the member's effective send permission. */
|
|
@@ -4622,7 +4677,7 @@ export type Mutation = {
|
|
|
4622
4677
|
createGridChannel: Group;
|
|
4623
4678
|
/** Creates a custom role in an organization with a name, optional description, and permission keys. Requires the 'manage_members' permission on the org (super admins bypass). */
|
|
4624
4679
|
createOrgRole: OrgRole;
|
|
4625
|
-
/** Mints a new org
|
|
4680
|
+
/** Mints a new org token (it starts with `cko_`) and returns the plaintext exactly once - save it, since subsequent queries only show metadata. An org token is the organization's SERVER credential for its org-managed players: with scope 'players:mint' its server signs the org's own players in (mintManagedPlayerToken), with 'players:manage' it manages them; `appIds` limits it to some of the org's apps. Never put one in a game client or a web page: a request with an Origin header is refused. Requires the 'manage_tokens' permission on the target org (super admins bypass). */
|
|
4626
4681
|
createOrgToken: OrgTokenWithSecret;
|
|
4627
4682
|
/** Creates a new organization and makes the authenticated caller its owner (with full permissions). Requires a valid session token. */
|
|
4628
4683
|
createOrganization: Organization;
|
|
@@ -4680,6 +4735,8 @@ export type Mutation = {
|
|
|
4680
4735
|
deleteChannelRole: Scalars['Boolean']['output'];
|
|
4681
4736
|
/** Delete a studio-created peer grid so its chunk box no longer blocks overlapping grid creation. Requires app-admin ('manage_apps'). Returns a hybrid response — on success `gridId` is populated and `error` is NO_ERROR; on failure `gridId` is null and `error` is a UDP-style error code (e.g. GRID_NOT_FOUND, CANNOT_DELETE_DEFAULT_WORLD_GRID, GRID_HAS_NESTED_CHILDREN). The open-by-default world grid and any grid that still contains nested child grids cannot be deleted. */
|
|
4682
4737
|
deleteGrid: DeleteGridResponse;
|
|
4738
|
+
/** Delete a managed player: its sessions end and its row is anonymized, as an account deletion is. Signing the same external id in again creates a new player. False when there was no such player. An org token with players:manage, or an org admin with manage_players. */
|
|
4739
|
+
deleteManagedPlayer: Scalars['Boolean']['output'];
|
|
4683
4740
|
/** DESTRUCTIVE self-service: soft-deletes the authenticated caller's OWN account — anonymizes PII and revokes all sessions; wallet, voxel, and donation history stay intact via FK. Acts only on the caller (no target argument). Requires a valid game token. */
|
|
4684
4741
|
deleteMyAccount: Scalars['Boolean']['output'];
|
|
4685
4742
|
/** Deletes an organization role. Requires the 'manage_members' permission on the role's org (super admins bypass). DESTRUCTIVE: removes the role and unassigns it from all members. Returns false if the role does not exist. */
|
|
@@ -4694,8 +4751,12 @@ export type Mutation = {
|
|
|
4694
4751
|
deleteUserAppState: UserAppState;
|
|
4695
4752
|
/** 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). */
|
|
4696
4753
|
disconnectUdpProxy: Scalars['Boolean']['output'];
|
|
4754
|
+
/** Sign a managed player out everywhere: its sessions and app tokens end, and so do its realtime and ck-exec connections. It can sign in again (use updateManagedPlayer to stop that). False when it held no session. An org token with players:manage, or an org admin with manage_players. */
|
|
4755
|
+
endManagedPlayerSessions: Scalars['Boolean']['output'];
|
|
4697
4756
|
/** OPERATOR: end the sessions and app tokens of these accounts (at most 1000), skipping any this tier admits. Returns how many had sessions ended. Refused on prod. */
|
|
4698
4757
|
endTierAccessSessions: Scalars['Int']['output'];
|
|
4758
|
+
/** Exchange an assertion your organization signed for one of its players for that player's app-scoped gameplay token (the same token mintManagedPlayerToken returns). Public: the signature is the credential, so a game client calls it directly, from a browser on your registered origin or natively. The assertion must name a registered, active key (header kid) and carry iss and aud as registered (aud defaults to ck:app:<appId>), sub (your id for the player), iat, exp at most 300 seconds after iat, and a jti never used before for this app; optionally gamertag. The player is created on its first sign-in. Refusals are ASSERTION_REJECTED with extensions.reason; a valid assertion is refused with ORG_LEGAL_ACCEPTANCE_REQUIRED until an admin of the organization has accepted the current Org-Managed Players Addendum. */
|
|
4759
|
+
exchangeManagedPlayerAssertion: AppTokenResponse;
|
|
4699
4760
|
/** 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. */
|
|
4700
4761
|
exchangePortalCode: AppTokenResponse;
|
|
4701
4762
|
/** Make an earlier ck-exec version active again, a rollback. Running instances pick it up when they next start, as after a deploy. Requires the org 'manage_compute' permission. */
|
|
@@ -4784,6 +4845,10 @@ export type Mutation = {
|
|
|
4784
4845
|
mintAppToken: AppTokenResponse;
|
|
4785
4846
|
/** Mint a grid-scoped token from the app token you hold (DN-10). The result can call only a short, fixed list of gameplay fields, and each is confined to the grid: world reads and replication sends must address a chunk inside it (a send's origin; its reach follows distance), and channels must be the grid's own. refreshAppToken and logout are refused, so the token cannot widen or tear down its parent. Requires an app token (not a session token, not another grid token), and the caller must own the grid or hold run_client_code on it. */
|
|
4786
4847
|
mintGridToken: GridTokenResponse;
|
|
4848
|
+
/** ORG TOKEN ONLY. Sign one of your organization's own players in and get its app-scoped gameplay token, the same token mintAppToken returns: hand `token` (and the URLs) to the player's device, which plays with it exactly as with any app token and refreshes it with refreshAppToken. Call from your server with `Authorization: Bearer cko_...` (scope players:mint); a request with an Origin header is refused. The player is created on its first sign-in (no email, password or wallet), and each sign-in lasts `sessionTtlSeconds` (default and maximum: the org's settings): after it the device comes back to you. The app must be one of your organization's apps (and in the token's app list, if it has one). Free tiers grant access automatically; a paid tier needs grantAppAccess. Refused with ORG_LEGAL_ACCEPTANCE_REQUIRED until an admin of the organization has accepted the current Org-Managed Players Addendum. */
|
|
4849
|
+
mintManagedPlayerToken: AppTokenResponse;
|
|
4850
|
+
/** Create managed players ahead of their first sign-in, up to 500 a call in one write (creating a player is a cluster-wide commit, so a large import goes in batches). A player that exists is left as it is. Refused with ORG_LEGAL_ACCEPTANCE_REQUIRED until the organization has accepted the current Org-Managed Players Addendum. An org token with players:manage, or an org admin with manage_players. */
|
|
4851
|
+
provisionManagedPlayers: ProvisionManagedPlayersResult;
|
|
4787
4852
|
/** Publishes an app to the shared game-api environment. Free under the org's app-slot quota (result.free = true); beyond the quota, publish still succeeds and metered usage is charged to the org wallet. Requires the 'manage_apps' permission on the app's org. Blocked when SHARED_GAME_API_URL is not configured. */
|
|
4788
4853
|
publishAppToShared: PublishAppResult;
|
|
4789
4854
|
/** Store acceptance of the current required legal documents (Game Terms, API Terms, SDK Developer Terms, Free Tier and Billing Basis, Overworld Privacy Policy) and the age-of-majority attestation. Both arguments must be true; a false value stores nothing and is refused with LEGAL_ACCEPTANCE_REQUIRED. Idempotent for a version already stored. Requires a session token. Gameplay tokens stay refused until this has succeeded for the current document set. */
|
|
@@ -4792,6 +4857,8 @@ export type Mutation = {
|
|
|
4792
4857
|
refreshAppToken: AppTokenResponse;
|
|
4793
4858
|
/** 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 it is refused with extensions.code EMAIL_ALREADY_REGISTERED (409) and no session is returned: an account that already has a password is left exactly as it was (sign in, or use the emailed reset), and only a password-less account (created via magic link/social) gets the password attached pending email confirmation. It is a routine outcome rather than a fault, and it reached clients as INTERNAL_SERVER_ERROR before v1.60.0, which is why several of them match it by its message text. A browser request (Origin header present) must send acceptLegal and attestAgeOfMajority both true or it is refused with LEGAL_ACCEPTANCE_REQUIRED before an account is created; a request with no Origin may omit them, and gameplay tokens stay refused until the documents are stored. Public; first-party origins only (HOSTED_SIGN_IN_REQUIRED otherwise); rate-limited. */
|
|
4794
4859
|
register: AuthResponse;
|
|
4860
|
+
/** Register the PUBLIC half of a key your organization signs its players' sign-in assertions with (exchangeManagedPlayerAssertion): its kid, algorithm (EdDSA, ES256 or RS256), the JWK, the iss your assertions carry and, if your identity provider sets its own, their aud. The private key never leaves your systems. Requires manage_players on the org. */
|
|
4861
|
+
registerOrgSigningKey: OrgSigningKey;
|
|
4795
4862
|
/** OPERATOR ONLY. Reverses a retirement: the organization returns to status 'active', deleted_at is cleared, and the tombstone records who put it back and why rather than being deleted. Its apps are LEFT ARCHIVED — un-archiving is archiveApp's inverse and belongs to whoever decides which apps should serve traffic again. Refuses an organization that is not currently retired. */
|
|
4796
4863
|
reinstateOrganization: OrgRetirementType;
|
|
4797
4864
|
/** Release a one-chunk grid previously created through claimGridChunk. Requires an ordinary app-scoped player token and the caller must still be its current user owner. Refuses foreign grids, studio/marketplace grids, and grids assigned through legacy claimGridOwnership. Atomically removes pending claim requests and invites, self-claim ownership, direct/effective ACL rows, and the grid so its chunk can be claimed again. */
|
|
@@ -4830,7 +4897,9 @@ export type Mutation = {
|
|
|
4830
4897
|
revokeGridPermissions: GridUserPermissions;
|
|
4831
4898
|
/** 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. */
|
|
4832
4899
|
revokeGroupFromGrid: Array<GridGroupGrant>;
|
|
4833
|
-
/**
|
|
4900
|
+
/** Revoke a signing key: assertions it signed are refused from now on (sessions already signed in run until they lapse; end them with endManagedPlayerSessions). False when there was no such active key. Requires manage_players on the org. */
|
|
4901
|
+
revokeOrgSigningKey: Scalars['Boolean']['output'];
|
|
4902
|
+
/** Permanently deactivates an org token so it can no longer authenticate. With `endSessions: true` it also signs out every managed player session the token signed in (their app tokens, realtime and ck-exec connections end now); without it those sessions run until they lapse. Requires the 'manage_tokens' permission on the token's org (super admins bypass). DESTRUCTIVE and irreversible; the secret cannot be reactivated. Returns false if the token does not exist. */
|
|
4834
4903
|
revokeOrgToken: Scalars['Boolean']['output'];
|
|
4835
4904
|
/** OPERATOR: revoke a provisioning token. With revokeAccounts, also clear the grant of every account it created and end their sessions. Refused on prod. */
|
|
4836
4905
|
revokeTierAccessProvisioningToken: TierAccessProvisioningToken;
|
|
@@ -4872,6 +4941,8 @@ export type Mutation = {
|
|
|
4872
4941
|
setAppComputeBudget: AppComputeBudgetInfo;
|
|
4873
4942
|
/** Set how a player claim confers grid ownership in this app (D4): SELF_CLAIM, APPROVAL (optionally with a designated approver list), or INVITE. MARKETPLACE_ONLY is refused with FEATURE_DISABLED while paid grid commerce is off the public API. Requires 'manage_apps'. Changing policy never revokes existing grid_ownership rows. */
|
|
4874
4943
|
setAppGridClaimPolicy: GridClaimPolicy;
|
|
4944
|
+
/** Let the organization's org-managed players build and run mods (and use the Studio agent) in this app, or stop them. The organization pays for what they use: their mod compute and egress as its own compute, their project storage as the app's, their model tokens from the org wallet. Turning it off pauses their mods within a minute and refuses new builds. Requires manage_billing on the app's organization. Returns the new setting. */
|
|
4945
|
+
setAppManagedPlayerMods: Scalars['Boolean']['output'];
|
|
4875
4946
|
/** Reserve capacity for a shared app. A reservation is a FLOOR, not a ceiling: the platform provisions and holds a minimum for you and does not limit what you may use beyond it. Billed monthly from the org wallet whether or not it is used; upgrades are prorated for the current month. Note that the ~1 MB/s free-tier shaping is lifted by funding a wallet, not by reserving. Requires 'manage_billing' on the app's org. */
|
|
4876
4947
|
setAppReservedThroughput: SetAppReservedThroughputResult;
|
|
4877
4948
|
/** 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. */
|
|
@@ -4904,6 +4975,8 @@ export type Mutation = {
|
|
|
4904
4975
|
setOperator: User;
|
|
4905
4976
|
/** OPERATOR ONLY. Sets or clears an organization billing exemption. When true, org-wallet debits and money-driven runtime denials are skipped; usage is still metered and every waived amount is written to org_billing_waivers. Does not waive player-wallet charges, failure breakers, or the per-minute compute budget. reason is required when setting true. SIDE EFFECT: re-evaluates the runtime gate for every shared app in the org, so clearing the exemption re-denies immediately instead of waiting for the next hourly tick. */
|
|
4906
4977
|
setOrgBillingExempt: BillingExemptOrgType;
|
|
4978
|
+
/** OPERATOR ONLY. Enable or disable an organization's org-managed players and set its limits. Disabling refuses new sign-ins; sessions already running last until they lapse (end them with endManagedPlayerSessions). Enabling does not accept the addendum: an admin of the organization does that (acceptManagedPlayerTerms). */
|
|
4979
|
+
setOrgManagedPlayerSettings: OrgManagedPlayerSettings;
|
|
4907
4980
|
/** Super admin only. Freeze ('frozen') or unfreeze ('active') an organization platform-wide. A FROZEN organization grants its members NO org permission (super admins excepted, so it is reversible): they cannot spend its wallet, create or manage apps, or change members, and every such refusal names the freeze; its API tokens stop authenticating; the org itself still resolves by id and slug so Studio can show the state. Takes exactly 'active' or 'frozen'; 'retired' is refused in either direction — retirement is retireOrganization, which writes a tombstone. */
|
|
4908
4981
|
setOrgStatus: Organization;
|
|
4909
4982
|
/** Configure the caller's player-wallet auto-recharge: enable/disable, per-period ceiling, recharge amount, and low-water threshold. Enabling requires a vaulted payment method. */
|
|
@@ -4978,6 +5051,8 @@ export type Mutation = {
|
|
|
4978
5051
|
updateChunkState: Maybe<Chunk>;
|
|
4979
5052
|
/** Sets the authenticated user’s gamertag and disambiguation and appends a gamertag-history row. Requires a valid game token; only ever updates the caller. Fails if the gamertag+disambiguation pair is already taken. */
|
|
4980
5053
|
updateGamertag: User;
|
|
5054
|
+
/** Rename a managed player, or disable or enable it. Disabling ends every session it has now (realtime and ck-exec included) and refuses its sign-ins; enabling lifts only a disable the org set. An org token with players:manage, or an org admin with manage_players. */
|
|
5055
|
+
updateManagedPlayer: ManagedPlayer;
|
|
4981
5056
|
/** Replaces the full set of roles assigned to an org member. Requires the 'manage_members' permission on the org (super admins bypass). Pass the complete desired role list; roles not included are removed. */
|
|
4982
5057
|
updateOrgMemberRoles: OrgMember;
|
|
4983
5058
|
/** Updates a role's name, description, and/or permission set. Requires the 'manage_members' permission on the role's org (super admins bypass). If input.permissions is provided it replaces the entire set (empty array clears all); omit to leave permissions unchanged. Throws FORBIDDEN when input.permissions is given for a SYSTEM role (such as the org's built-in 'admin'): system roles have a fixed permission set, so create a custom role and assign that instead. Name and description remain editable on a system role. */
|
|
@@ -5001,6 +5076,10 @@ export type MutationAbandonGamePublishArgs = {
|
|
|
5001
5076
|
publishId: Scalars['BigInt']['input'];
|
|
5002
5077
|
slug: Scalars['String']['input'];
|
|
5003
5078
|
};
|
|
5079
|
+
export type MutationAcceptManagedPlayerTermsArgs = {
|
|
5080
|
+
orgId: Scalars['BigInt']['input'];
|
|
5081
|
+
version: Scalars['String']['input'];
|
|
5082
|
+
};
|
|
5004
5083
|
export type MutationActorHeartbeatArgs = {
|
|
5005
5084
|
appId: Scalars['BigInt']['input'];
|
|
5006
5085
|
};
|
|
@@ -5224,6 +5303,10 @@ export type MutationDeleteChannelRoleArgs = {
|
|
|
5224
5303
|
export type MutationDeleteGridArgs = {
|
|
5225
5304
|
input: DeleteGridInput;
|
|
5226
5305
|
};
|
|
5306
|
+
export type MutationDeleteManagedPlayerArgs = {
|
|
5307
|
+
externalId: Scalars['String']['input'];
|
|
5308
|
+
orgId: Scalars['BigInt']['input'];
|
|
5309
|
+
};
|
|
5227
5310
|
export type MutationDeleteOrgRoleArgs = {
|
|
5228
5311
|
idempotencyKey?: InputMaybe<Scalars['String']['input']>;
|
|
5229
5312
|
orgRoleId: Scalars['BigInt']['input'];
|
|
@@ -5242,9 +5325,16 @@ export type MutationDeleteTeamRoleArgs = {
|
|
|
5242
5325
|
export type MutationDeleteUserAppStateArgs = {
|
|
5243
5326
|
appId: Scalars['BigInt']['input'];
|
|
5244
5327
|
};
|
|
5328
|
+
export type MutationEndManagedPlayerSessionsArgs = {
|
|
5329
|
+
externalId: Scalars['String']['input'];
|
|
5330
|
+
orgId: Scalars['BigInt']['input'];
|
|
5331
|
+
};
|
|
5245
5332
|
export type MutationEndTierAccessSessionsArgs = {
|
|
5246
5333
|
userIds: Array<Scalars['BigInt']['input']>;
|
|
5247
5334
|
};
|
|
5335
|
+
export type MutationExchangeManagedPlayerAssertionArgs = {
|
|
5336
|
+
input: ExchangeManagedPlayerAssertionInput;
|
|
5337
|
+
};
|
|
5248
5338
|
export type MutationExchangePortalCodeArgs = {
|
|
5249
5339
|
input: ExchangePortalCodeInput;
|
|
5250
5340
|
};
|
|
@@ -5418,6 +5508,12 @@ export type MutationMintAppTokenArgs = {
|
|
|
5418
5508
|
export type MutationMintGridTokenArgs = {
|
|
5419
5509
|
input: MintGridTokenInput;
|
|
5420
5510
|
};
|
|
5511
|
+
export type MutationMintManagedPlayerTokenArgs = {
|
|
5512
|
+
input: MintManagedPlayerTokenInput;
|
|
5513
|
+
};
|
|
5514
|
+
export type MutationProvisionManagedPlayersArgs = {
|
|
5515
|
+
input: ProvisionManagedPlayersInput;
|
|
5516
|
+
};
|
|
5421
5517
|
export type MutationPublishAppToSharedArgs = {
|
|
5422
5518
|
appId: Scalars['BigInt']['input'];
|
|
5423
5519
|
cancelUrl?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -5436,6 +5532,9 @@ export type MutationRefreshAppTokenArgs = {
|
|
|
5436
5532
|
export type MutationRegisterArgs = {
|
|
5437
5533
|
registerUserInput: RegisterUserInput;
|
|
5438
5534
|
};
|
|
5535
|
+
export type MutationRegisterOrgSigningKeyArgs = {
|
|
5536
|
+
input: RegisterOrgSigningKeyInput;
|
|
5537
|
+
};
|
|
5439
5538
|
export type MutationReinstateOrganizationArgs = {
|
|
5440
5539
|
input: ReinstateOrganizationInput;
|
|
5441
5540
|
};
|
|
@@ -5503,7 +5602,12 @@ export type MutationRevokeGridPermissionsArgs = {
|
|
|
5503
5602
|
export type MutationRevokeGroupFromGridArgs = {
|
|
5504
5603
|
input: RevokeGroupFromGridInput;
|
|
5505
5604
|
};
|
|
5605
|
+
export type MutationRevokeOrgSigningKeyArgs = {
|
|
5606
|
+
keyId: Scalars['BigInt']['input'];
|
|
5607
|
+
orgId: Scalars['BigInt']['input'];
|
|
5608
|
+
};
|
|
5506
5609
|
export type MutationRevokeOrgTokenArgs = {
|
|
5610
|
+
endSessions?: InputMaybe<Scalars['Boolean']['input']>;
|
|
5507
5611
|
idempotencyKey?: InputMaybe<Scalars['String']['input']>;
|
|
5508
5612
|
orgTokenId: Scalars['BigInt']['input'];
|
|
5509
5613
|
};
|
|
@@ -5575,6 +5679,10 @@ export type MutationSetAppGridClaimPolicyArgs = {
|
|
|
5575
5679
|
approverUserIds?: InputMaybe<Array<Scalars['BigInt']['input']>>;
|
|
5576
5680
|
policy: GridClaimPolicy;
|
|
5577
5681
|
};
|
|
5682
|
+
export type MutationSetAppManagedPlayerModsArgs = {
|
|
5683
|
+
appId: Scalars['BigInt']['input'];
|
|
5684
|
+
enabled: Scalars['Boolean']['input'];
|
|
5685
|
+
};
|
|
5578
5686
|
export type MutationSetAppReservedThroughputArgs = {
|
|
5579
5687
|
idempotencyKey?: InputMaybe<Scalars['String']['input']>;
|
|
5580
5688
|
input: SetAppReservedThroughputInput;
|
|
@@ -5636,6 +5744,9 @@ export type MutationSetOrgBillingExemptArgs = {
|
|
|
5636
5744
|
orgId: Scalars['BigInt']['input'];
|
|
5637
5745
|
reason: Scalars['String']['input'];
|
|
5638
5746
|
};
|
|
5747
|
+
export type MutationSetOrgManagedPlayerSettingsArgs = {
|
|
5748
|
+
input: SetOrgManagedPlayerSettingsInput;
|
|
5749
|
+
};
|
|
5639
5750
|
export type MutationSetOrgStatusArgs = {
|
|
5640
5751
|
orgId: Scalars['BigInt']['input'];
|
|
5641
5752
|
status: Scalars['String']['input'];
|
|
@@ -5774,6 +5885,9 @@ export type MutationUpdateChunkStateArgs = {
|
|
|
5774
5885
|
export type MutationUpdateGamertagArgs = {
|
|
5775
5886
|
input: UpdateGamertagInput;
|
|
5776
5887
|
};
|
|
5888
|
+
export type MutationUpdateManagedPlayerArgs = {
|
|
5889
|
+
input: UpdateManagedPlayerInput;
|
|
5890
|
+
};
|
|
5777
5891
|
export type MutationUpdateOrgMemberRolesArgs = {
|
|
5778
5892
|
orgId: Scalars['BigInt']['input'];
|
|
5779
5893
|
roleIds: Array<Scalars['BigInt']['input']>;
|
|
@@ -5906,6 +6020,37 @@ export type OrgAutoBilling = {
|
|
|
5906
6020
|
/** Amount to top up the wallet by on each auto-recharge, in cents. */
|
|
5907
6021
|
rechargeAmountCents: Scalars['BigInt']['output'];
|
|
5908
6022
|
};
|
|
6023
|
+
/** An organization's org-managed player settings, and where it stands on the Org-Managed Players Addendum. A Crowded Kingdoms operator sets the settings; an admin of the organization accepts the addendum. */
|
|
6024
|
+
export type OrgManagedPlayerSettings = {
|
|
6025
|
+
__typename?: 'OrgManagedPlayerSettings';
|
|
6026
|
+
/** How long one sign-in lasts (seconds) when the org does not ask for less: app tokens refresh until then. */
|
|
6027
|
+
defaultSessionTtlSeconds: Scalars['Int']['output'];
|
|
6028
|
+
/** Whether the org may sign its own players in (mintManagedPlayerToken, exchangeManagedPlayerAssertion). */
|
|
6029
|
+
enabled: Scalars['Boolean']['output'];
|
|
6030
|
+
/** How many managed players the org may hold. */
|
|
6031
|
+
maxPlayers: Scalars['BigInt']['output'];
|
|
6032
|
+
/** The longest sign-in the org may ask for (seconds). */
|
|
6033
|
+
maxSessionTtlSeconds: Scalars['Int']['output'];
|
|
6034
|
+
/** Sign-ins a minute, fleet-wide. */
|
|
6035
|
+
mintsPerMinute: Scalars['Int']['output'];
|
|
6036
|
+
orgId: Scalars['BigInt']['output'];
|
|
6037
|
+
/** How many managed players it holds now. */
|
|
6038
|
+
playerCount: Scalars['BigInt']['output'];
|
|
6039
|
+
/** Whether the organization has accepted the current version. Until it has, its managed players are neither created nor signed in and their app tokens do not refresh (ORG_LEGAL_ACCEPTANCE_REQUIRED). */
|
|
6040
|
+
termsAccepted: Scalars['Boolean']['output'];
|
|
6041
|
+
/** When it accepted that version. */
|
|
6042
|
+
termsAcceptedAt: Maybe<Scalars['DateTime']['output']>;
|
|
6043
|
+
/** The user id of the admin who accepted that version. */
|
|
6044
|
+
termsAcceptedByUserId: Maybe<Scalars['BigInt']['output']>;
|
|
6045
|
+
/** The version the organization accepted most recently, or null if it never accepted one. */
|
|
6046
|
+
termsAcceptedVersion: Maybe<Scalars['String']['output']>;
|
|
6047
|
+
/** Where the current addendum is published. */
|
|
6048
|
+
termsUrl: Scalars['String']['output'];
|
|
6049
|
+
/** The current version of the Org-Managed Players Addendum, which an admin of the organization accepts (acceptManagedPlayerTerms) before its players are created or signed in. */
|
|
6050
|
+
termsVersion: Scalars['String']['output'];
|
|
6051
|
+
/** Whether the signed-in user may accept the addendum for this organization: an admin of it, by the organization's own grant (a super admin's or an operator's access does not count). */
|
|
6052
|
+
viewerMayAcceptTerms: Scalars['Boolean']['output'];
|
|
6053
|
+
};
|
|
5909
6054
|
export type OrgMember = {
|
|
5910
6055
|
__typename?: 'OrgMember';
|
|
5911
6056
|
/** When the membership was created. */
|
|
@@ -5991,17 +6136,48 @@ export type OrgRole = {
|
|
|
5991
6136
|
/** Display name of the role. */
|
|
5992
6137
|
roleName: Scalars['String']['output'];
|
|
5993
6138
|
};
|
|
6139
|
+
/** The public half of a key an organization signs its players' sign-in assertions with (exchangeManagedPlayerAssertion). Only public keys are stored. */
|
|
6140
|
+
export type OrgSigningKey = {
|
|
6141
|
+
__typename?: 'OrgSigningKey';
|
|
6142
|
+
/** 'EdDSA', 'ES256' or 'RS256'. */
|
|
6143
|
+
algorithm: Scalars['String']['output'];
|
|
6144
|
+
/** The apps the key signs players in to; null means every app of the organization. */
|
|
6145
|
+
appIds: Maybe<Array<Scalars['BigInt']['output']>>;
|
|
6146
|
+
/** The `aud` an assertion must include; null means `ck:app:<appId>` for the app it signs in to. */
|
|
6147
|
+
audience: Maybe<Scalars['String']['output']>;
|
|
6148
|
+
createdAt: Scalars['DateTime']['output'];
|
|
6149
|
+
/** The `iss` an assertion must carry. */
|
|
6150
|
+
issuer: Scalars['String']['output'];
|
|
6151
|
+
/** The key’s id here. */
|
|
6152
|
+
keyId: Scalars['BigInt']['output'];
|
|
6153
|
+
/** The `kid` an assertion’s header names to pick this key. */
|
|
6154
|
+
kid: Scalars['String']['output'];
|
|
6155
|
+
label: Maybe<Scalars['String']['output']>;
|
|
6156
|
+
orgId: Scalars['BigInt']['output'];
|
|
6157
|
+
/** The public key, as a JWK (JSON). */
|
|
6158
|
+
publicJwk: Scalars['String']['output'];
|
|
6159
|
+
/** When the key was revoked; a revoked key verifies nothing. */
|
|
6160
|
+
revokedAt: Maybe<Scalars['DateTime']['output']>;
|
|
6161
|
+
};
|
|
5994
6162
|
export type OrgToken = {
|
|
5995
6163
|
__typename?: 'OrgToken';
|
|
6164
|
+
/** The apps the token may sign players in to; null means every app of the organization. */
|
|
6165
|
+
appIds: Maybe<Array<Scalars['BigInt']['output']>>;
|
|
5996
6166
|
/** When the token was created. */
|
|
5997
6167
|
createdAt: Scalars['DateTime']['output'];
|
|
5998
|
-
/**
|
|
6168
|
+
/**
|
|
6169
|
+
* For 'service' tokens, the environment id (UUID) the token is scoped to; null for user-minted tokens.
|
|
6170
|
+
* @deprecated Environment-bound service tokens were retired with dedicated environments; always null.
|
|
6171
|
+
*/
|
|
5999
6172
|
environmentId: Maybe<Scalars['String']['output']>;
|
|
6000
6173
|
/** Optional expiry timestamp; null means the token never expires. */
|
|
6001
6174
|
expiresAt: Maybe<Scalars['DateTime']['output']>;
|
|
6002
6175
|
/** False once revoked; inactive tokens cannot authenticate. */
|
|
6003
6176
|
isActive: Scalars['Boolean']['output'];
|
|
6004
|
-
/**
|
|
6177
|
+
/**
|
|
6178
|
+
* 'user_minted' (human-created) or 'service' (minted by the control plane for per-tenant game-apis).
|
|
6179
|
+
* @deprecated Service tokens were retired; every org token is 'user_minted'. Read `scopes` for what a token may do.
|
|
6180
|
+
*/
|
|
6005
6181
|
kind: Scalars['String']['output'];
|
|
6006
6182
|
/** Optional human-readable label. */
|
|
6007
6183
|
label: Maybe<Scalars['String']['output']>;
|
|
@@ -6013,12 +6189,16 @@ export type OrgToken = {
|
|
|
6013
6189
|
orgTokenId: Scalars['BigInt']['output'];
|
|
6014
6190
|
/** When the token was revoked, if it has been. */
|
|
6015
6191
|
revokedAt: Maybe<Scalars['DateTime']['output']>;
|
|
6192
|
+
/** What the token may do: 'players:mint' (sign the org's managed players in, mintManagedPlayerToken) and 'players:manage' (provision, list, rename, disable, sign out and delete them). A token with no scope can do nothing. */
|
|
6193
|
+
scopes: Array<Scalars['String']['output']>;
|
|
6016
6194
|
/** When the token was last updated. */
|
|
6017
6195
|
updatedAt: Scalars['DateTime']['output'];
|
|
6018
6196
|
};
|
|
6019
6197
|
/** Returned exactly once - on org token creation. The plaintext `token` field is never re-emitted. Future listings show metadata only via the `OrgToken` type. */
|
|
6020
6198
|
export type OrgTokenWithSecret = {
|
|
6021
6199
|
__typename?: 'OrgTokenWithSecret';
|
|
6200
|
+
/** The apps the token may sign players in to; null means every app of the organization. */
|
|
6201
|
+
appIds: Maybe<Array<Scalars['BigInt']['output']>>;
|
|
6022
6202
|
/** When the token was created. */
|
|
6023
6203
|
createdAt: Scalars['DateTime']['output'];
|
|
6024
6204
|
/** Optional expiry timestamp; null means no expiry. */
|
|
@@ -6031,7 +6211,9 @@ export type OrgTokenWithSecret = {
|
|
|
6031
6211
|
orgId: Scalars['BigInt']['output'];
|
|
6032
6212
|
/** Unique token id (BigInt as string). */
|
|
6033
6213
|
orgTokenId: Scalars['BigInt']['output'];
|
|
6034
|
-
/**
|
|
6214
|
+
/** What the token may do ('players:mint', 'players:manage'). */
|
|
6215
|
+
scopes: Array<Scalars['String']['output']>;
|
|
6216
|
+
/** The plaintext token (it starts with `cko_`), returned exactly once. Save it now: only its hash is stored and it cannot be shown again. Keep it on your organization's server: a request from a browser cannot use it. */
|
|
6035
6217
|
token: Scalars['String']['output'];
|
|
6036
6218
|
};
|
|
6037
6219
|
/** Org-level rollup of per-app monthly egress projections for all shared apps. */
|
|
@@ -6549,6 +6731,21 @@ export type PortalConsentState = {
|
|
|
6549
6731
|
/** True for first-party/trusted apps (consent is always skipped). */
|
|
6550
6732
|
trusted: Scalars['Boolean']['output'];
|
|
6551
6733
|
};
|
|
6734
|
+
export type ProvisionManagedPlayersInput = {
|
|
6735
|
+
/** The organization (an org token's own, if one is used). */
|
|
6736
|
+
orgId: Scalars['BigInt']['input'];
|
|
6737
|
+
/** The players to create, at most 500. One that exists is left as it is. */
|
|
6738
|
+
players: Array<ManagedPlayerSpecInput>;
|
|
6739
|
+
};
|
|
6740
|
+
/** What provisionManagedPlayers did: the players, in the order asked, created or already there. */
|
|
6741
|
+
export type ProvisionManagedPlayersResult = {
|
|
6742
|
+
__typename?: 'ProvisionManagedPlayersResult';
|
|
6743
|
+
/** Players this call created. */
|
|
6744
|
+
created: Scalars['Int']['output'];
|
|
6745
|
+
/** Players that already existed and were left as they were. */
|
|
6746
|
+
existing: Scalars['Int']['output'];
|
|
6747
|
+
players: Array<ManagedPlayer>;
|
|
6748
|
+
};
|
|
6552
6749
|
/** One priced dimension of the public rate card: its rate and its free allowances. A dimension with a price of 0 is metered but not charged. */
|
|
6553
6750
|
export type PublicRateCardEntryType = {
|
|
6554
6751
|
__typename?: 'PublicRateCardEntryType';
|
|
@@ -6853,6 +7050,10 @@ export type Query = {
|
|
|
6853
7050
|
listVoxelUpdatesByDistance: VoxelUpdatesByDistanceResponse;
|
|
6854
7051
|
/** Lists recorded voxel edits for a single chunk (optionally only those at/after `since`), newest first. Requires a valid bearer token; app-scoped tokens are limited to their own app. Read-only. */
|
|
6855
7052
|
listVoxels: Array<Voxel>;
|
|
7053
|
+
/** One managed player by the id your organization knows it by, or null. An org token with players:manage, or an org admin with manage_players. */
|
|
7054
|
+
managedPlayer: Maybe<ManagedPlayer>;
|
|
7055
|
+
/** The organization's managed players, by user id. `search` matches the start of the external id (exactly) or of the gamertag (any case). An org token with players:manage, or an org admin with manage_players. */
|
|
7056
|
+
managedPlayers: ManagedPlayersPage;
|
|
6856
7057
|
/** Returns the authenticated user resolved from the token (sent as `Authorization: Bearer <token>`), or null if missing/invalid. Readable with either an identity session token or an app-scoped gameplay token. */
|
|
6857
7058
|
me: Maybe<User>;
|
|
6858
7059
|
/** Lists the roles assigned to a single org member. Requires a valid session token. */
|
|
@@ -6901,6 +7102,8 @@ export type Query = {
|
|
|
6901
7102
|
orgAutoBilling: OrgAutoBilling;
|
|
6902
7103
|
/** An org's free shared-app slot quota and how much of it is used. Apps beyond the quota still publish; metered usage is billed from the org wallet. Caller must be a member of the org. */
|
|
6903
7104
|
orgFreeAppQuota: FreeAppQuota;
|
|
7105
|
+
/** The organization's org-managed player settings: whether it may sign its own players in, its cap, sign-in rate and sign-in lifetimes, how many players it holds, and whether it has accepted the current Org-Managed Players Addendum. Requires manage_players on the org (super-admins and operators bypass). */
|
|
7106
|
+
orgManagedPlayerSettings: OrgManagedPlayerSettings;
|
|
6904
7107
|
/** Lists the members of an organization. Requires the 'manage_members' permission on the org (super admins bypass). */
|
|
6905
7108
|
orgMembers: Array<OrgMember>;
|
|
6906
7109
|
/** Lists the org's saved (vaulted) off-session payment methods. Returns metadata only (brand/last4/status), never card numbers. Requires the 'view_billing' org permission. */
|
|
@@ -6909,6 +7112,8 @@ export type Query = {
|
|
|
6909
7112
|
orgPermissions: Array<OrgPermission>;
|
|
6910
7113
|
/** Lists all roles defined in an organization. Requires the 'manage_members' permission on the org (super admins bypass). */
|
|
6911
7114
|
orgRoles: Array<OrgRole>;
|
|
7115
|
+
/** The organization's signing keys for player assertions, newest first, revoked ones included. Requires manage_players on the org. */
|
|
7116
|
+
orgSigningKeys: Array<OrgSigningKey>;
|
|
6912
7117
|
/** Lists an organization's API tokens (metadata only; secret values are never returned here). Requires the 'manage_tokens' permission on the org (super admins bypass). */
|
|
6913
7118
|
orgTokens: Array<OrgToken>;
|
|
6914
7119
|
/** 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. */
|
|
@@ -7417,6 +7622,16 @@ export type QueryListVoxelUpdatesByDistanceArgs = {
|
|
|
7417
7622
|
export type QueryListVoxelsArgs = {
|
|
7418
7623
|
input: ListVoxelsInput;
|
|
7419
7624
|
};
|
|
7625
|
+
export type QueryManagedPlayerArgs = {
|
|
7626
|
+
externalId: Scalars['String']['input'];
|
|
7627
|
+
orgId: Scalars['BigInt']['input'];
|
|
7628
|
+
};
|
|
7629
|
+
export type QueryManagedPlayersArgs = {
|
|
7630
|
+
after?: InputMaybe<Scalars['String']['input']>;
|
|
7631
|
+
first?: InputMaybe<Scalars['Int']['input']>;
|
|
7632
|
+
orgId: Scalars['BigInt']['input'];
|
|
7633
|
+
search?: InputMaybe<Scalars['String']['input']>;
|
|
7634
|
+
};
|
|
7420
7635
|
export type QueryMemberRolesArgs = {
|
|
7421
7636
|
orgMemberId: Scalars['BigInt']['input'];
|
|
7422
7637
|
};
|
|
@@ -7452,6 +7667,9 @@ export type QueryOrgAutoBillingArgs = {
|
|
|
7452
7667
|
export type QueryOrgFreeAppQuotaArgs = {
|
|
7453
7668
|
orgId: Scalars['BigInt']['input'];
|
|
7454
7669
|
};
|
|
7670
|
+
export type QueryOrgManagedPlayerSettingsArgs = {
|
|
7671
|
+
orgId: Scalars['BigInt']['input'];
|
|
7672
|
+
};
|
|
7455
7673
|
export type QueryOrgMembersArgs = {
|
|
7456
7674
|
orgId: Scalars['BigInt']['input'];
|
|
7457
7675
|
};
|
|
@@ -7461,6 +7679,9 @@ export type QueryOrgPaymentMethodsArgs = {
|
|
|
7461
7679
|
export type QueryOrgRolesArgs = {
|
|
7462
7680
|
orgId: Scalars['BigInt']['input'];
|
|
7463
7681
|
};
|
|
7682
|
+
export type QueryOrgSigningKeysArgs = {
|
|
7683
|
+
orgId: Scalars['BigInt']['input'];
|
|
7684
|
+
};
|
|
7464
7685
|
export type QueryOrgTokensArgs = {
|
|
7465
7686
|
orgId: Scalars['BigInt']['input'];
|
|
7466
7687
|
};
|
|
@@ -7680,6 +7901,22 @@ export type RealtimeConnectionEvent = {
|
|
|
7680
7901
|
/** Lifecycle status: "failed" when the session could not be established or had to be torn down, or "draining" for the one advisory case (SERVER_DRAINING) where the stream stays open. */
|
|
7681
7902
|
status: Scalars['String']['output'];
|
|
7682
7903
|
};
|
|
7904
|
+
export type RegisterOrgSigningKeyInput = {
|
|
7905
|
+
/** 'EdDSA' (Ed25519), 'ES256' (P-256) or 'RS256' (RSA, 2048 bits or more). */
|
|
7906
|
+
algorithm: Scalars['String']['input'];
|
|
7907
|
+
/** Limit the key to these apps of the organization; omit for every app. */
|
|
7908
|
+
appIds?: InputMaybe<Array<Scalars['BigInt']['input']>>;
|
|
7909
|
+
/** The `aud` your assertions carry, when your identity provider sets its own (for example its client id). Omit to require `ck:app:<appId>`. */
|
|
7910
|
+
audience?: InputMaybe<Scalars['String']['input']>;
|
|
7911
|
+
/** The `iss` your assertions carry (for example your sign-in service’s URL). */
|
|
7912
|
+
issuer: Scalars['String']['input'];
|
|
7913
|
+
/** The key id your assertions name in their header (1-128 characters), unique among the org’s active keys. */
|
|
7914
|
+
kid: Scalars['String']['input'];
|
|
7915
|
+
label?: InputMaybe<Scalars['String']['input']>;
|
|
7916
|
+
orgId: Scalars['BigInt']['input'];
|
|
7917
|
+
/** The PUBLIC key as a JWK (a JSON object). A JWK with private members is refused. */
|
|
7918
|
+
publicJwk: Scalars['String']['input'];
|
|
7919
|
+
};
|
|
7683
7920
|
export type RegisterUserInput = {
|
|
7684
7921
|
/** True when the player has agreed to the current required legal documents (Game Terms, API Terms, SDK Developer Terms, Free Tier and Billing Basis, Overworld Privacy Policy). A browser signup that omits this, or sends false, is refused with LEGAL_ACCEPTANCE_REQUIRED. Calls with no Origin header may omit it; gameplay tokens stay refused until the documents are stored. */
|
|
7685
7922
|
acceptLegal?: InputMaybe<Scalars['Boolean']['input']>;
|
|
@@ -8241,6 +8478,14 @@ export type SetMemberRolesInput = {
|
|
|
8241
8478
|
/** The member (user) whose roles to set. */
|
|
8242
8479
|
userId: Scalars['BigInt']['input'];
|
|
8243
8480
|
};
|
|
8481
|
+
export type SetOrgManagedPlayerSettingsInput = {
|
|
8482
|
+
defaultSessionTtlSeconds?: InputMaybe<Scalars['Int']['input']>;
|
|
8483
|
+
enabled: Scalars['Boolean']['input'];
|
|
8484
|
+
maxPlayers?: InputMaybe<Scalars['BigInt']['input']>;
|
|
8485
|
+
maxSessionTtlSeconds?: InputMaybe<Scalars['Int']['input']>;
|
|
8486
|
+
mintsPerMinute?: InputMaybe<Scalars['Int']['input']>;
|
|
8487
|
+
orgId: Scalars['BigInt']['input'];
|
|
8488
|
+
};
|
|
8244
8489
|
export type SetQuotaInput = {
|
|
8245
8490
|
/** What to do when the limit is exceeded. Optional; defaults to "throttle" (typical values: "throttle" to rate-limit, "block" to reject). */
|
|
8246
8491
|
actionOnExceed?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -8767,6 +9012,16 @@ export type UpdateGroupRoleInput = {
|
|
|
8767
9012
|
/** New role name (max 128 chars). Ignored for system roles. Omit to leave unchanged. */
|
|
8768
9013
|
roleName?: InputMaybe<Scalars['String']['input']>;
|
|
8769
9014
|
};
|
|
9015
|
+
export type UpdateManagedPlayerInput = {
|
|
9016
|
+
/** True disables the player (no sign-in; every session ends now, Buddy and ck-exec included). False enables a player the org disabled. */
|
|
9017
|
+
disabled?: InputMaybe<Scalars['Boolean']['input']>;
|
|
9018
|
+
/** New disambiguation (at most 128 characters). */
|
|
9019
|
+
disambiguation?: InputMaybe<Scalars['String']['input']>;
|
|
9020
|
+
externalId: Scalars['String']['input'];
|
|
9021
|
+
/** New display name. */
|
|
9022
|
+
gamertag?: InputMaybe<Scalars['String']['input']>;
|
|
9023
|
+
orgId: Scalars['BigInt']['input'];
|
|
9024
|
+
};
|
|
8770
9025
|
export type UpdateOrgRoleInput = {
|
|
8771
9026
|
/** New description; omit to leave unchanged. */
|
|
8772
9027
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -8776,12 +9031,16 @@ export type UpdateOrgRoleInput = {
|
|
|
8776
9031
|
roleName?: InputMaybe<Scalars['String']['input']>;
|
|
8777
9032
|
};
|
|
8778
9033
|
export type UpdateOrgTokenInput = {
|
|
9034
|
+
/** Replace the apps the token is limited to; an empty list means every app of the organization. Omit to leave unchanged. */
|
|
9035
|
+
appIds?: InputMaybe<Array<Scalars['BigInt']['input']>>;
|
|
8779
9036
|
/** New expiry timestamp; omit to leave unchanged. */
|
|
8780
9037
|
expiresAt?: InputMaybe<Scalars['DateTime']['input']>;
|
|
8781
9038
|
/** Set false to deactivate the token; omit to leave unchanged. Revoked tokens cannot be re-minted. */
|
|
8782
9039
|
isActive?: InputMaybe<Scalars['Boolean']['input']>;
|
|
8783
9040
|
/** New label; omit to leave unchanged. */
|
|
8784
9041
|
label?: InputMaybe<Scalars['String']['input']>;
|
|
9042
|
+
/** Replace the token's scopes ('players:mint', 'players:manage'); omit to leave unchanged. */
|
|
9043
|
+
scopes?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
8785
9044
|
};
|
|
8786
9045
|
/** Update an existing team. Omitted fields are left unchanged. */
|
|
8787
9046
|
export type UpdateTeamInput = {
|
|
@@ -8847,7 +9106,7 @@ export type User = {
|
|
|
8847
9106
|
disambiguation: Maybe<Scalars['String']['output']>;
|
|
8848
9107
|
/** Account email. Private: null unless the caller is this user, a super-admin or an operator (and for anonymized/soft-deleted accounts). */
|
|
8849
9108
|
email: Maybe<Scalars['String']['output']>;
|
|
8850
|
-
/**
|
|
9109
|
+
/** The id an organization knows an org-managed player by (its own account id), or null for every other account. Private: null unless the caller is this user, a super-admin or an operator. */
|
|
8851
9110
|
externalId: Maybe<Scalars['String']['output']>;
|
|
8852
9111
|
/** Public display name; null if unset or anonymized. Unique in combination with `disambiguation`. */
|
|
8853
9112
|
gamertag: Maybe<Scalars['String']['output']>;
|
|
@@ -8863,7 +9122,7 @@ export type User = {
|
|
|
8863
9122
|
isOperator: Maybe<Scalars['Boolean']['output']>;
|
|
8864
9123
|
/** Whether the user holds platform super-admin privileges (toggled via `setSuperAdmin`). Private: null unless the caller is this user, a super-admin or an operator. */
|
|
8865
9124
|
isSuperAdmin: Maybe<Scalars['Boolean']['output']>;
|
|
8866
|
-
/**
|
|
9125
|
+
/** The organization an org-managed player belongs to (BigInt serialized as a decimal string), or null for every other account. Private: null unless the caller is this user, a super-admin or an operator. */
|
|
8867
9126
|
orgId: Maybe<Scalars['BigInt']['output']>;
|
|
8868
9127
|
/** The user's effective permission keys on the given org (empty if not a member; full set if super admin). Requires a valid bearer game token. Private: null unless the caller is this user, a super-admin or an operator. */
|
|
8869
9128
|
permissionsForOrg: Maybe<Array<Scalars['String']['output']>>;
|
|
@@ -8871,7 +9130,7 @@ export type User = {
|
|
|
8871
9130
|
state: Maybe<Scalars['String']['output']>;
|
|
8872
9131
|
/** Unique user id and primary key. BigInt serialized as a decimal string. */
|
|
8873
9132
|
userId: Scalars['BigInt']['output'];
|
|
8874
|
-
/** Account type
|
|
9133
|
+
/** Account type: "direct" (a Crowded Kingdoms account), "org_managed" (a player an organization signs in itself; no email, password or wallet) or "deleted". Private: null unless the caller is this user, a super-admin or an operator. */
|
|
8875
9134
|
userType: Maybe<Scalars['String']['output']>;
|
|
8876
9135
|
};
|
|
8877
9136
|
export type UserPermissionsForOrgArgs = {
|