@crowdedkingdoms/crowdyjs 13.9.0 → 14.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/MIGRATION.md +44 -0
- package/README.md +68 -33
- package/dist/binary-relay.d.ts +1 -1
- package/dist/binary-relay.js +1 -1
- package/dist/client.d.ts +27 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +61 -2
- package/dist/crowdy-client.d.ts +29 -34
- package/dist/crowdy-client.d.ts.map +1 -1
- package/dist/crowdy-client.js +67 -40
- package/dist/datacenter-redirect.d.ts +49 -0
- package/dist/datacenter-redirect.d.ts.map +1 -0
- package/dist/datacenter-redirect.js +62 -0
- package/dist/domains/appAccess.d.ts +3 -3
- package/dist/domains/appAccess.d.ts.map +1 -1
- package/dist/domains/appAccess.js +16 -16
- package/dist/domains/apps.d.ts +4 -8
- package/dist/domains/apps.d.ts.map +1 -1
- package/dist/domains/apps.js +19 -23
- package/dist/domains/auth.d.ts +1 -1
- package/dist/domains/billing.d.ts +3 -3
- package/dist/domains/billing.d.ts.map +1 -1
- package/dist/domains/billing.js +9 -9
- package/dist/domains/controlPlane.d.ts +2 -2
- package/dist/domains/controlPlane.d.ts.map +1 -1
- package/dist/domains/controlPlane.js +4 -4
- package/dist/domains/discovery.d.ts +50 -0
- package/dist/domains/discovery.d.ts.map +1 -0
- package/dist/domains/discovery.js +35 -0
- package/dist/domains/marketplace.d.ts +4 -5
- package/dist/domains/marketplace.d.ts.map +1 -1
- package/dist/domains/marketplace.js +25 -26
- package/dist/domains/organizations.d.ts +3 -3
- package/dist/domains/organizations.d.ts.map +1 -1
- package/dist/domains/organizations.js +22 -22
- package/dist/domains/payments.d.ts +3 -3
- package/dist/domains/payments.d.ts.map +1 -1
- package/dist/domains/payments.js +11 -11
- package/dist/domains/platform.d.ts +5 -6
- package/dist/domains/platform.d.ts.map +1 -1
- package/dist/domains/platform.js +6 -7
- package/dist/domains/portal.d.ts +19 -2
- package/dist/domains/portal.d.ts.map +1 -1
- package/dist/domains/portal.js +12 -12
- package/dist/domains/quotas.d.ts +3 -3
- package/dist/domains/quotas.d.ts.map +1 -1
- package/dist/domains/quotas.js +8 -8
- package/dist/domains/serverStatus.d.ts +1 -2
- package/dist/domains/serverStatus.d.ts.map +1 -1
- package/dist/domains/serverStatus.js +1 -2
- package/dist/domains/sharedEnvironment.d.ts +3 -3
- package/dist/domains/sharedEnvironment.d.ts.map +1 -1
- package/dist/domains/sharedEnvironment.js +15 -15
- package/dist/domains/udp.d.ts +1 -1
- package/dist/domains/udp.js +1 -1
- package/dist/domains/usage.d.ts +2 -2
- package/dist/domains/usage.d.ts.map +1 -1
- package/dist/domains/usage.js +5 -5
- package/dist/domains/users.d.ts +1 -1
- package/dist/domains/users.js +1 -1
- package/dist/errors.d.ts +56 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +64 -0
- package/dist/generated/graphql.d.ts +65 -16
- package/dist/generated/graphql.d.ts.map +1 -1
- package/dist/generated/graphql.js +1 -0
- package/dist/index.d.ts +13 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -17
- package/dist/kit/decks.d.ts +1 -1
- package/dist/kit/npcs.d.ts +2 -2
- package/dist/kit/npcs.d.ts.map +1 -1
- package/dist/kit/social.d.ts.map +1 -1
- package/dist/kit/worldsim.d.ts +1 -1
- package/dist/realtime.d.ts +26 -0
- package/dist/realtime.d.ts.map +1 -1
- package/dist/realtime.js +83 -0
- package/dist/rediscover.d.ts +7 -3
- package/dist/rediscover.d.ts.map +1 -1
- package/dist/rediscover.js +7 -3
- package/dist/session.d.ts +21 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +23 -0
- package/package.json +1 -1
|
@@ -111,7 +111,7 @@ export type ActorType = {
|
|
|
111
111
|
email: Maybe<Scalars['String']['output']>;
|
|
112
112
|
/** Legacy bigint public user id (Buddy / CK wire), as a string. */
|
|
113
113
|
userId: Scalars['String']['output'];
|
|
114
|
-
/** User identity
|
|
114
|
+
/** User identity: the users.galaxy_row_uuid value. The column keeps its historical name; the datastore is PostgreSQL/Citus. */
|
|
115
115
|
userUuid: Scalars['String']['output'];
|
|
116
116
|
username: Maybe<Scalars['String']['output']>;
|
|
117
117
|
};
|
|
@@ -1123,6 +1123,18 @@ export declare enum AppDeploymentTarget {
|
|
|
1123
1123
|
/** Runs on the multi-tenant shared game-api (publishAppToShared). */
|
|
1124
1124
|
Shared = "SHARED"
|
|
1125
1125
|
}
|
|
1126
|
+
/** Where one app lives, and therefore which origin a client should talk to before it does anything else. Public: this is the same information the published DNS names already expose. */
|
|
1127
|
+
export type AppDiscovery = {
|
|
1128
|
+
__typename?: 'AppDiscovery';
|
|
1129
|
+
/** The app this entry describes, echoed back so a batched result can be matched to its request. */
|
|
1130
|
+
appId: Scalars['BigInt']['output'];
|
|
1131
|
+
/** Datacenter code the app is placed in (for example `or`, `va`), or null if the app has no placement yet. */
|
|
1132
|
+
datacenterCode: Maybe<Scalars['String']['output']>;
|
|
1133
|
+
/** HTTPS GraphQL origin for this app's OWN datacenter. Move here BEFORE authenticating: logging in through the shared origin writes the session on whichever datacenter DNS happened to pick, and the app token then has to be minted across a WAN. Null when the app has no placement, in which case keep using the shared origin. */
|
|
1134
|
+
gameApiUrl: Maybe<Scalars['String']['output']>;
|
|
1135
|
+
/** The wss:// form of gameApiUrl, for the subscription socket and the binary relay. */
|
|
1136
|
+
gameApiWsUrl: Maybe<Scalars['String']['output']>;
|
|
1137
|
+
};
|
|
1126
1138
|
/** An edge in a App connection. */
|
|
1127
1139
|
export type AppEdge = {
|
|
1128
1140
|
__typename?: 'AppEdge';
|
|
@@ -1241,9 +1253,11 @@ export type AppTokenResponse = {
|
|
|
1241
1253
|
__typename?: 'AppTokenResponse';
|
|
1242
1254
|
/** The app this token is confined to, as a String. */
|
|
1243
1255
|
appId: Scalars['String']['output'];
|
|
1256
|
+
/** Stable entry origin, resolving to every datacenter, that always reaches SOME healthy instance. Use it to re-discover endpoints when `gameApiUrl` stops answering: a token-holding client cannot re-mint, because that needs the identity session it does not have. Never a per-datacenter or per-instance address. */
|
|
1257
|
+
discoveryUrl: Maybe<Scalars['String']['output']>;
|
|
1244
1258
|
/** ISO-8601 UTC expiry. Call `refreshAppToken` (same app) before this, or re-portal through the Overworld for a different app. */
|
|
1245
1259
|
expiresAt: Scalars['String']['output'];
|
|
1246
|
-
/** Base HTTPS URL of the Game API that serves this app
|
|
1260
|
+
/** Base HTTPS URL of the Game API that serves this app — its OWN datacenter's endpoint when a placement exists, because that is where the app's shards are. Null if the app has no dedicated/shared game-api route yet. Use this for gameplay; use `discoveryUrl` to recover if it stops answering. */
|
|
1247
1261
|
gameApiUrl: Maybe<Scalars['String']['output']>;
|
|
1248
1262
|
/** WebSocket URL of the Game API that serves this app (wss://), for realtime subscriptions. */
|
|
1249
1263
|
gameApiWsUrl: Maybe<Scalars['String']['output']>;
|
|
@@ -3339,6 +3353,12 @@ export type GameClientBootstrap = {
|
|
|
3339
3353
|
binaryRelayPath: Scalars['String']['output'];
|
|
3340
3354
|
/** Required WebSocket subprotocol for the binary realtime relay. The client must offer it during the upgrade; the server selects it. Currently "crowdy-relay-v1". */
|
|
3341
3355
|
binaryRelayProtocol: Scalars['String']['output'];
|
|
3356
|
+
/** Stable entry point that always resolves to SOME healthy API instance — the environment’s shared load balancer. Use this to RE-DISCOVER an endpoint when the instance you are connected to stops answering: call gameClientBootstrap (or mintAppToken) against it and use the gameApiUrl it returns. This is the recovery path for direct connect, where gameApiUrl is a single instance that can die; discoveryUrl is chosen so that it cannot die with it. Null only if the server has no public URL configured. */
|
|
3357
|
+
discoveryUrl: Maybe<Scalars['String']['output']>;
|
|
3358
|
+
/** HTTPS origin the client should use for GraphQL right now: the app's OWN datacenter, because that is where its shards live and a query answered elsewhere crosses a WAN silently. Under direct connect it is one specific instance in that datacenter, which is NOT interchangeable with other instances for an open realtime session. Not to be confused with discoveryUrl, which is the shared origin resolving to every datacenter — fall back to that if requests here start failing. */
|
|
3359
|
+
gameApiUrl: Maybe<Scalars['String']['output']>;
|
|
3360
|
+
/** The wss:// form of gameApiUrl, for the graphql-transport-ws subscription socket and the binary relay. Same origin, same caveat: under direct connect it is one instance. */
|
|
3361
|
+
gameApiWsUrl: Maybe<Scalars['String']['output']>;
|
|
3342
3362
|
/** Maximum allowed value for the `decayRate` (named attenuation algorithm id) field on spatial sends. Currently 5; the server clamps send `decayRate` to 0..this. decayRate selects how the message attenuates with distance (0 = none). */
|
|
3343
3363
|
maxDecayRate: Scalars['Int']['output'];
|
|
3344
3364
|
/** Maximum allowed value for the `distance` (chunk fan-out radius) field on spatial sends. Currently 8; the server clamps send `distance` to 0..this. distance is the number of chunks outward the message is replicated. */
|
|
@@ -3609,7 +3629,7 @@ export type GmAutomationRun = {
|
|
|
3609
3629
|
/** The app (tenant). */
|
|
3610
3630
|
appId: Scalars['BigInt']['output'];
|
|
3611
3631
|
/** The automation that ran, or null for a timer fire (which has no owning automation). */
|
|
3612
|
-
automationId: Scalars['String']['output']
|
|
3632
|
+
automationId: Maybe<Scalars['String']['output']>;
|
|
3613
3633
|
/** The automation name at run time, or the invoked function name for a timer fire. */
|
|
3614
3634
|
automationName: Scalars['String']['output'];
|
|
3615
3635
|
/** Cascade depth (0 = top-level). */
|
|
@@ -4214,7 +4234,7 @@ export type GrantTierFeatureInput = {
|
|
|
4214
4234
|
/** The access tier id. */
|
|
4215
4235
|
tierId: Scalars['BigInt']['input'];
|
|
4216
4236
|
};
|
|
4217
|
-
/** A registered GraphQL API server instance in the fleet
|
|
4237
|
+
/** A registered GraphQL API server instance in the fleet, with reachability addresses and basic host telemetry. Returned by graphqlServers (all) and activeGraphQLServers (only ReadyForClients). Use this for service discovery; realtime/UDP play still goes through the game-api UDP proxy. */
|
|
4218
4238
|
export type GraphQlServer = {
|
|
4219
4239
|
__typename?: 'GraphQLServer';
|
|
4220
4240
|
/** TCP port the GraphQL/HTTP API listens on (default 4000). */
|
|
@@ -4229,7 +4249,7 @@ export type GraphQlServer = {
|
|
|
4229
4249
|
ip4: Maybe<Scalars['String']['output']>;
|
|
4230
4250
|
/** Internal/private IPv6 address of this server. Use publicIp6 for external reachability. */
|
|
4231
4251
|
ip6: Maybe<Scalars['String']['output']>;
|
|
4232
|
-
/** Logical kind of GraphQL service
|
|
4252
|
+
/** Logical kind of GraphQL service. Every current server is 'game-api', which serves both the management and game surfaces; 'management-api' appears only on rows predating their unification. */
|
|
4233
4253
|
kind: Maybe<Scalars['String']['output']>;
|
|
4234
4254
|
/** 1-minute load average of the host, if reported. */
|
|
4235
4255
|
loadAverage1m: Maybe<Scalars['Float']['output']>;
|
|
@@ -4237,6 +4257,8 @@ export type GraphQlServer = {
|
|
|
4237
4257
|
memoryUsagePct: Maybe<Scalars['Float']['output']>;
|
|
4238
4258
|
/** Cloud provider instance id of the underlying host, if known. */
|
|
4239
4259
|
providerInstanceId: Maybe<Scalars['String']['output']>;
|
|
4260
|
+
/** Public hostname clients can reach this instance on directly over TLS, e.g. `ck-api-2.gxca.prod.cp.cks-env.com`. Null when the instance has no public DNS name or certificate yet, in which case it is reachable only through the shared load balancer and must not be connected to directly. Prefer the `gameApiUrl` returned by mintAppToken over building a URL from this field: that call already picks a low-load instance for you. */
|
|
4261
|
+
publicHostname: Maybe<Scalars['String']['output']>;
|
|
4240
4262
|
/** Public IPv4 address clients use to reach this server, if assigned. */
|
|
4241
4263
|
publicIp4: Maybe<Scalars['String']['output']>;
|
|
4242
4264
|
/** Public IPv6 address clients use to reach this server, if assigned. */
|
|
@@ -4729,6 +4751,8 @@ export type Mutation = {
|
|
|
4729
4751
|
createTeam: Group;
|
|
4730
4752
|
/** Create a custom (non-system) team role granting the given team permission keys. Requires the 'manage_roles' team permission (app admins bypass). Permission keys must be valid team permission keys (group_permission_defs). */
|
|
4731
4753
|
createTeamRole: GroupRole;
|
|
4754
|
+
/** OPERATOR ONLY. Credits an organization wallet without a payment provider, for seeding a test environment or making an operator adjustment, and records it in the wallet ledger as an "admin_credit" transaction. Use this instead of writing to org_wallets by hand: it creates the wallet if absent, repairs a missing wallet id, and moves the balance and the ledger row together in one transaction. Pass a referenceId to make retries idempotent. SIDE EFFECT: re-evaluates the runtime gate for every shared app in the org, so a credit that clears an insufficient_funds denial lifts it immediately instead of leaving the app refusing clients. */
|
|
4755
|
+
creditOrgWallet: WalletTransaction;
|
|
4732
4756
|
/** Monotonically persist one attached epoch’s highest contiguous applied event sequence. Requires the app-scoped owner, exact current epoch, and idempotency key; stale epochs and gaps fail with stable errors. */
|
|
4733
4757
|
crowdyStudioAgentAcknowledgeEvents: AgentEventAcknowledgement;
|
|
4734
4758
|
/** Human-grant one unexpired pending tool call by exact argument hash. The server revalidates epoch, context, policy, lease, descriptor, permissions, and project revision before single-use consumption. Requires the app-scoped owner, use_studio_agent, and idempotency key; approval never creates missing authority. */
|
|
@@ -4931,7 +4955,7 @@ export type Mutation = {
|
|
|
4931
4955
|
playerModelSetProperty: PlayerModelContainer;
|
|
4932
4956
|
/** 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 hourly usage is debited from the org wallet. Requires the 'manage_apps' permission on the app's org. Blocked when SHARED_GAME_API_URL is not configured. */
|
|
4933
4957
|
publishAppToShared: PublishAppResult;
|
|
4934
|
-
/** Create a marketplace listing (free mode) for code the caller authors — personally, or org-owned via ownerOrgId (DN-9; requires manage_compute in that org). SIDE EFFECTS: the catalog row
|
|
4958
|
+
/** Create a marketplace listing (free mode) for code the caller authors — personally, or org-owned via ownerOrgId (DN-9; requires manage_compute in that org). SIDE EFFECTS: writes the catalog row with an ownership audit entry. Publishing never uploads source; versions snapshot artifact hashes only. */
|
|
4935
4959
|
publishPlayerCode: PlayerCodeListing;
|
|
4936
4960
|
/** Publish an immutable version under a listing from the caller's successfully compiled module versions. Snapshots artifact hashes, explicit SERVER-to-required-CLIENT edges, and the derived aggregate capability summary; publishing fails if a required client version is absent from the bundle. Source never leaves the author's rows. */
|
|
4937
4961
|
publishPlayerCodeVersion: PlayerCodeListingVersion;
|
|
@@ -5294,6 +5318,12 @@ export type MutationCreateTeamArgs = {
|
|
|
5294
5318
|
export type MutationCreateTeamRoleArgs = {
|
|
5295
5319
|
input: CreateGroupRoleInput;
|
|
5296
5320
|
};
|
|
5321
|
+
export type MutationCreditOrgWalletArgs = {
|
|
5322
|
+
amountCents: Scalars['BigInt']['input'];
|
|
5323
|
+
orgId: Scalars['BigInt']['input'];
|
|
5324
|
+
reason: Scalars['String']['input'];
|
|
5325
|
+
referenceId?: InputMaybe<Scalars['String']['input']>;
|
|
5326
|
+
};
|
|
5297
5327
|
export type MutationCrowdyStudioAgentAcknowledgeEventsArgs = {
|
|
5298
5328
|
input: AcknowledgeAgentEventsInput;
|
|
5299
5329
|
};
|
|
@@ -7020,6 +7050,8 @@ export type Query = {
|
|
|
7020
7050
|
appCodeAdmissionQueue: Array<PlayerCodeAdmissionQueueEntry>;
|
|
7021
7051
|
/** List an app's player-code admission entries, newest first. Requires 'view_compute_diagnostics'. By default returns active entries only; includeRevoked adds audit-visible revoked rows. Admission controls execution, never source visibility. */
|
|
7022
7052
|
appCodeAdmissions: Array<AppCodeAdmission>;
|
|
7053
|
+
/** Resolve where one or more apps are placed, WITHOUT authenticating. Call this before login and connect to the returned gameApiUrl, so the session and app token are both written in the app's own datacenter instead of across a WAN. Pass every app a launcher might switch to and cache the result; placement changes rarely and only an operator can change it. An app with no placement comes back with nulls, which means 'keep using the shared origin'. */
|
|
7054
|
+
appDiscovery: Array<AppDiscovery>;
|
|
7023
7055
|
/** Lists org members eligible for a manual app access grant (active members of the app's owning org). Requires the 'manage_access_tiers' permission on the app; super admins bypass. Use the returned user ids with grantAppAccess. */
|
|
7024
7056
|
appGrantMemberCandidates: Array<AppGrantMemberCandidate>;
|
|
7025
7057
|
/** Top GraphQL operations for an app ranked by bytes over the time range. Read-only reporting; the app must be linked to an environment in the org. Requires the 'view_usage' org permission. */
|
|
@@ -7196,7 +7228,7 @@ export type Query = {
|
|
|
7196
7228
|
getChunksByDistance: ChunksByDistanceResponse;
|
|
7197
7229
|
/** Returns all recorded voxel edits (the voxel_updates log) for a single chunk, newest first, as a ChunkVoxelResponse. Use getChunk instead when you want the packed voxel grid rather than the individual edit log. Requires a valid bearer token; app-scoped tokens are limited to their own app. Read-only. */
|
|
7198
7230
|
getVoxelList: ChunkVoxelResponse;
|
|
7199
|
-
/** List every registered GraphQL API server
|
|
7231
|
+
/** List every registered GraphQL API server regardless of health/state. No authentication required. For service discovery; to route clients, prefer activeGraphQLServers (filters to healthy servers). */
|
|
7200
7232
|
graphqlServers: Array<GraphQlServer>;
|
|
7201
7233
|
/** The app's grid claim policy (D4): how a player claim confers grid ownership. */
|
|
7202
7234
|
gridClaimPolicy: GridClaimPolicy;
|
|
@@ -7340,7 +7372,7 @@ export type Query = {
|
|
|
7340
7372
|
quotasForOrg: Array<ServiceQuota>;
|
|
7341
7373
|
/** Lists all valid runtime permission keys (e.g. "access", "teleport", "update_voxel_data", "use_voice_chat") that may be assigned to an access tier permissionKeys. PUBLIC: no authentication required. Ordered by the permission bit index. */
|
|
7342
7374
|
runtimePermissions: Array<Scalars['String']['output']>;
|
|
7343
|
-
/** Pick a low-load game server for a native (direct-UDP) client to connect to: returns a random server from the least-loaded ~20% (by client count) of ReadyForClients servers to spread load. Requires a bearer game token; as a side effect it authorizes that token’s P2P session with the chosen Buddy so the native client’s spatial datagrams are accepted. Connect the native client to the returned ip4 and clientPort. Browser clients should instead use the UDP proxy (connectUdpProxy / udpNotifications) and do not need this. */
|
|
7375
|
+
/** Pick a low-load game server for a native (direct-UDP) client to connect to: returns a random server from the least-loaded ~20% (by client count) of ReadyForClients servers to spread load, preferring one co-located with the datacenter that holds the data for this app (all rows for one app live in a single datacenter) and falling back to any healthy server if none is. Requires a bearer game token; as a side effect it authorizes that token’s P2P session with the chosen Buddy so the native client’s spatial datagrams are accepted. Connect the native client to the returned ip4 and clientPort. Browser clients should instead use the UDP proxy (connectUdpProxy / udpNotifications) and do not need this. */
|
|
7344
7376
|
serverWithLeastClients: ServerStatus;
|
|
7345
7377
|
/** @deprecated Legacy monthly app-slot subscription catalog. New shared publishes use wallet usage billing only. */
|
|
7346
7378
|
sharedEnvPlans: Array<SharedEnvPlan>;
|
|
@@ -7422,6 +7454,9 @@ export type QueryAppCodeAdmissionsArgs = {
|
|
|
7422
7454
|
appId: Scalars['BigInt']['input'];
|
|
7423
7455
|
includeRevoked?: InputMaybe<Scalars['Boolean']['input']>;
|
|
7424
7456
|
};
|
|
7457
|
+
export type QueryAppDiscoveryArgs = {
|
|
7458
|
+
appIds: Array<Scalars['BigInt']['input']>;
|
|
7459
|
+
};
|
|
7425
7460
|
export type QueryAppGrantMemberCandidatesArgs = {
|
|
7426
7461
|
appId: Scalars['BigInt']['input'];
|
|
7427
7462
|
};
|
|
@@ -8025,16 +8060,16 @@ export type QueryWalletTransactionsConnectionArgs = {
|
|
|
8025
8060
|
first?: InputMaybe<Scalars['Int']['input']>;
|
|
8026
8061
|
orgId: Scalars['BigInt']['input'];
|
|
8027
8062
|
};
|
|
8028
|
-
/** Realtime lifecycle
|
|
8063
|
+
/** Realtime lifecycle event delivered on the udpNotifications subscription. It is a control frame — it carries no appId, so it is never dropped by the per-app fan-out filter. Branch on `code`; use `retryable` to decide whether retrying can succeed. Most codes report that a session could not be opened or correctly scoped and are TERMINAL: the subscription completes immediately after emitting one, so the client must fix the cause and resubscribe. The exception is SERVER_DRAINING, which arrives mid-stream on a healthy subscription and does NOT end it — see that code below. */
|
|
8029
8064
|
export type RealtimeConnectionEvent = {
|
|
8030
8065
|
__typename?: 'RealtimeConnectionEvent';
|
|
8031
|
-
/** Machine-readable failure reason. Branch on this (not on `message`). Known values: AUTH_REQUIRED — no valid bearer game token was presented on the WS connection_init / request; authenticate via the Management API and resubscribe (not retryable as-is). APP_ID_REQUIRED — the subscription was opened without an appId scope; udpNotifications must be app-scoped (game tokens are app-agnostic and one socket is shared across apps), so pass the app you are playing and resubscribe (not retryable as-is). UDP_PROXY_CONNECTION_FAILED — the proxy could not open or keep a UDP socket to the selected game server (transient/infrastructure); back off and resubscribe (retryable). `message` carries the specific underlying detail for this case. */
|
|
8066
|
+
/** Machine-readable failure reason. Branch on this (not on `message`). Known values: AUTH_REQUIRED — no valid bearer game token was presented on the WS connection_init / request; authenticate via the Management API and resubscribe (not retryable as-is). APP_ID_REQUIRED — the subscription was opened without an appId scope; udpNotifications must be app-scoped (game tokens are app-agnostic and one socket is shared across apps), so pass the app you are playing and resubscribe (not retryable as-is). UDP_PROXY_CONNECTION_FAILED — the proxy could not open or keep a UDP socket to the selected game server (transient/infrastructure); back off and resubscribe (retryable). `message` carries the specific underlying detail for this case. SERVER_DRAINING — this API instance is being taken out of service; the stream KEEPS WORKING, but you should re-run discovery (mintAppToken) and reconnect to the instance it returns before this one stops. Only reaches clients connected directly to an instance; clients behind the load balancer are moved for them. */
|
|
8032
8067
|
code: Scalars['String']['output'];
|
|
8033
8068
|
/** Human-readable explanation of the failure, suitable for logs and developer-facing surfaces. Do not parse or branch on this text — branch on `code` instead. */
|
|
8034
8069
|
message: Scalars['String']['output'];
|
|
8035
8070
|
/** Whether resubscribing without changing anything may succeed. true for transient failures (e.g. UDP_PROXY_CONNECTION_FAILED) — back off and retry. false for caller errors that must be fixed first (AUTH_REQUIRED needs a fresh/valid game token; APP_ID_REQUIRED needs an appId-scoped subscription). */
|
|
8036
8071
|
retryable: Scalars['Boolean']['output'];
|
|
8037
|
-
/** Lifecycle status
|
|
8072
|
+
/** 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. */
|
|
8038
8073
|
status: Scalars['String']['output'];
|
|
8039
8074
|
};
|
|
8040
8075
|
export type RegisterUserInput = {
|
|
@@ -9852,7 +9887,7 @@ export type WalletTransaction = {
|
|
|
9852
9887
|
referenceId: Maybe<Scalars['String']['output']>;
|
|
9853
9888
|
/** Unique transaction id (BigInt as a decimal string). */
|
|
9854
9889
|
transactionId: Scalars['BigInt']['output'];
|
|
9855
|
-
/** 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. */
|
|
9890
|
+
/** 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), "agent_usage" (Crowdy Studio agent run charged at provider cost, negative), "admin_credit" (operator credit applied without a payment provider). Other caller-supplied deposit types are possible. */
|
|
9856
9891
|
transactionType: Scalars['String']['output'];
|
|
9857
9892
|
/** Wallet this transaction belongs to (BigInt as a decimal string). */
|
|
9858
9893
|
walletId: Scalars['BigInt']['output'];
|
|
@@ -10624,6 +10659,19 @@ export type AppBySlugQuery = {
|
|
|
10624
10659
|
} | null;
|
|
10625
10660
|
} | null;
|
|
10626
10661
|
};
|
|
10662
|
+
export type AppDiscoveryQueryVariables = Exact<{
|
|
10663
|
+
appIds: Array<Scalars['BigInt']['input']> | Scalars['BigInt']['input'];
|
|
10664
|
+
}>;
|
|
10665
|
+
export type AppDiscoveryQuery = {
|
|
10666
|
+
__typename?: 'Query';
|
|
10667
|
+
appDiscovery: Array<{
|
|
10668
|
+
__typename?: 'AppDiscovery';
|
|
10669
|
+
appId: string;
|
|
10670
|
+
datacenterCode: string | null;
|
|
10671
|
+
gameApiUrl: string | null;
|
|
10672
|
+
gameApiWsUrl: string | null;
|
|
10673
|
+
}>;
|
|
10674
|
+
};
|
|
10627
10675
|
export type AppsForOrgQueryVariables = Exact<{
|
|
10628
10676
|
orgSlug: Scalars['String']['input'];
|
|
10629
10677
|
}>;
|
|
@@ -14893,7 +14941,7 @@ export type GmAutomationRunFieldsFragment = {
|
|
|
14893
14941
|
runId: string;
|
|
14894
14942
|
appId: string;
|
|
14895
14943
|
flowId: string | null;
|
|
14896
|
-
automationId: string;
|
|
14944
|
+
automationId: string | null;
|
|
14897
14945
|
automationName: string;
|
|
14898
14946
|
triggerSource: string;
|
|
14899
14947
|
triggerId: string | null;
|
|
@@ -15064,7 +15112,7 @@ export type GameModelRunAutomationMutation = {
|
|
|
15064
15112
|
runId: string;
|
|
15065
15113
|
appId: string;
|
|
15066
15114
|
flowId: string | null;
|
|
15067
|
-
automationId: string;
|
|
15115
|
+
automationId: string | null;
|
|
15068
15116
|
automationName: string;
|
|
15069
15117
|
triggerSource: string;
|
|
15070
15118
|
triggerId: string | null;
|
|
@@ -15223,7 +15271,7 @@ export type GameModelAutomationRunsQuery = {
|
|
|
15223
15271
|
runId: string;
|
|
15224
15272
|
appId: string;
|
|
15225
15273
|
flowId: string | null;
|
|
15226
|
-
automationId: string;
|
|
15274
|
+
automationId: string | null;
|
|
15227
15275
|
automationName: string;
|
|
15228
15276
|
triggerSource: string;
|
|
15229
15277
|
triggerId: string | null;
|
|
@@ -15811,7 +15859,7 @@ export type GameModelFlowQuery = {
|
|
|
15811
15859
|
runId: string;
|
|
15812
15860
|
appId: string;
|
|
15813
15861
|
flowId: string | null;
|
|
15814
|
-
automationId: string;
|
|
15862
|
+
automationId: string | null;
|
|
15815
15863
|
automationName: string;
|
|
15816
15864
|
triggerSource: string;
|
|
15817
15865
|
triggerId: string | null;
|
|
@@ -20136,6 +20184,7 @@ export declare const RuntimePermissionsDocument: DocumentNode<RuntimePermissions
|
|
|
20136
20184
|
export declare const UpdateAccessTierDocument: DocumentNode<UpdateAccessTierMutation, UpdateAccessTierMutationVariables>;
|
|
20137
20185
|
export declare const AppDocument: DocumentNode<AppQuery, AppQueryVariables>;
|
|
20138
20186
|
export declare const AppBySlugDocument: DocumentNode<AppBySlugQuery, AppBySlugQueryVariables>;
|
|
20187
|
+
export declare const AppDiscoveryDocument: DocumentNode<AppDiscoveryQuery, AppDiscoveryQueryVariables>;
|
|
20139
20188
|
export declare const AppsForOrgDocument: DocumentNode<AppsForOrgQuery, AppsForOrgQueryVariables>;
|
|
20140
20189
|
export declare const ArchiveAppDocument: DocumentNode<ArchiveAppMutation, ArchiveAppMutationVariables>;
|
|
20141
20190
|
export declare const AppCodeAdmissionModeDocument: DocumentNode<AppCodeAdmissionModeQuery, AppCodeAdmissionModeQueryVariables>;
|