@crowdedkingdomstudios/crowdyjs 4.0.0 → 4.3.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.
@@ -134,17 +134,28 @@ export type ActorUpdateResponse = {
134
134
  /** The unique identifier of the actor that was updated. */
135
135
  uuid: Scalars['String']['output'];
136
136
  };
137
+ export type AddEdgeInput = {
138
+ appId: Scalars['BigInt']['input'];
139
+ fromContainerId: Scalars['String']['input'];
140
+ metadataJson?: InputMaybe<Scalars['String']['input']>;
141
+ relationshipType: Scalars['String']['input'];
142
+ toContainerId: Scalars['String']['input'];
143
+ weight?: InputMaybe<Scalars['Float']['input']>;
144
+ };
137
145
  export type App = {
138
146
  __typename?: 'App';
139
147
  appId: Scalars['BigInt']['output'];
140
148
  createdAt: Scalars['DateTime']['output'];
141
149
  createdBy: Scalars['BigInt']['output'];
150
+ deploymentTarget: Scalars['String']['output'];
142
151
  description: Maybe<Scalars['String']['output']>;
143
152
  gameApiUrl: Maybe<Scalars['String']['output']>;
144
153
  metadata: Maybe<Scalars['String']['output']>;
145
154
  name: Scalars['String']['output'];
146
155
  org: Maybe<Organization>;
147
156
  orgId: Scalars['BigInt']['output'];
157
+ runtimeDenialReason: Maybe<Scalars['String']['output']>;
158
+ runtimeStatus: Scalars['String']['output'];
148
159
  slug: Maybe<Scalars['String']['output']>;
149
160
  splitMode: Scalars['Boolean']['output'];
150
161
  state: Maybe<Scalars['String']['output']>;
@@ -188,6 +199,12 @@ export type AppBudget = {
188
199
  periodStart: Scalars['DateTime']['output'];
189
200
  updatedAt: Scalars['DateTime']['output'];
190
201
  };
202
+ /** Where an app runs: none (draft), shared (the shared game-api), or dedicated (a provisioned environment). */
203
+ export declare enum AppDeploymentTarget {
204
+ Dedicated = "DEDICATED",
205
+ None = "NONE",
206
+ Shared = "SHARED"
207
+ }
191
208
  export type AppGroupPolicy = {
192
209
  __typename?: 'AppGroupPolicy';
193
210
  appId: Scalars['BigInt']['output'];
@@ -203,6 +220,36 @@ export type AppMarketplaceFilterInput = {
203
220
  orgSlug?: InputMaybe<Scalars['String']['input']>;
204
221
  query?: InputMaybe<Scalars['String']['input']>;
205
222
  };
223
+ /** The shared-environment runtime gate + current billing-window usage for an app. */
224
+ export type AppRuntimeState = {
225
+ __typename?: 'AppRuntimeState';
226
+ appId: Scalars['BigInt']['output'];
227
+ currentDayUsageCents: Scalars['BigInt']['output'];
228
+ currentHourUsageCents: Scalars['BigInt']['output'];
229
+ dailyLimitCents: Maybe<Scalars['BigInt']['output']>;
230
+ deploymentTarget: AppDeploymentTarget;
231
+ hourlyLimitCents: Maybe<Scalars['BigInt']['output']>;
232
+ /** free_allowance | insufficient_funds | spend_cap | subscription_lapsed when not active. */
233
+ runtimeDenialReason: Maybe<Scalars['String']['output']>;
234
+ runtimeStatus: AppRuntimeStatus;
235
+ walletBalanceCents: Scalars['BigInt']['output'];
236
+ };
237
+ /** The per-app runtime gate game-api + Buddy enforce: active, grace, denied, or suspended. */
238
+ export declare enum AppRuntimeStatus {
239
+ Active = "ACTIVE",
240
+ Denied = "DENIED",
241
+ Grace = "GRACE",
242
+ Suspended = "SUSPENDED"
243
+ }
244
+ export type AppSharedSubscription = {
245
+ __typename?: 'AppSharedSubscription';
246
+ appId: Scalars['BigInt']['output'];
247
+ currentPeriodEnd: Maybe<Scalars['DateTime']['output']>;
248
+ orgId: Scalars['BigInt']['output'];
249
+ planId: Maybe<Scalars['BigInt']['output']>;
250
+ provider: Maybe<Scalars['String']['output']>;
251
+ status: Scalars['String']['output'];
252
+ };
206
253
  /** DRAFT = invisible to non-members, LIVE = purchasable/playable, ARCHIVED = read-only */
207
254
  export declare enum AppStatus {
208
255
  Archived = "ARCHIVED",
@@ -298,6 +345,31 @@ export type BuddyLiveRates = {
298
345
  serverId: Scalars['String']['output'];
299
346
  updatedAt: Scalars['DateTime']['output'];
300
347
  };
348
+ /** Input for publishing a message to a channel. Delivered to every active member of the channel (regardless of location), not chunk-routed. The sender must have the channel send_messages permission. */
349
+ export type ChannelMessageInput = {
350
+ /** The channel id (groups.group_id) to publish to. */
351
+ channelId: Scalars['BigInt']['input'];
352
+ /** The message payload, base64-encoded. Opaque to the server; decode per your application protocol. Max 1024 bytes. */
353
+ payload: Scalars['String']['input'];
354
+ /** Client's sequence number for this message (0-255, wraps). Used to match error responses. */
355
+ sequenceNumber?: InputMaybe<Scalars['Int']['input']>;
356
+ /** The sender's actor UUID (your own actor's UUID). Must be exactly 32 bytes when encoded as UTF-8. */
357
+ uuid: Scalars['String']['input'];
358
+ };
359
+ /** Notification received when a message is published to a channel you are a member of. Delivered over the udpNotifications subscription to every active channel member. */
360
+ export type ChannelMessageNotification = {
361
+ __typename?: 'ChannelMessageNotification';
362
+ /** The channel id (groups.group_id) the message was sent to. */
363
+ channelId: Scalars['BigInt']['output'];
364
+ /** Server-generated epoch milliseconds timestamp. */
365
+ epochMillis: Scalars['BigInt']['output'];
366
+ /** The message payload, base64-encoded. Opaque to the server; decode per your application protocol. */
367
+ payload: Scalars['String']['output'];
368
+ /** The sender's sequence number for this message (0-255). */
369
+ sequenceNumber: Scalars['Int']['output'];
370
+ /** The sending actor's UUID. */
371
+ uuid: Scalars['String']['output'];
372
+ };
301
373
  export type Checkout = {
302
374
  __typename?: 'Checkout';
303
375
  amountCents: Maybe<Scalars['BigInt']['output']>;
@@ -327,12 +399,13 @@ export type CheckoutFilterInput = {
327
399
  status?: InputMaybe<CheckoutStatus>;
328
400
  userId?: InputMaybe<Scalars['BigInt']['input']>;
329
401
  };
330
- /** Why the checkout exists. Drives which side effect runs on webhook completion: ORG_WALLET_TOPUP credits an org_wallet; APP_ACCESS_PURCHASE upserts app_user_access; DONATION inserts donations; PROPERTY_TOKENS credits property_tokens. */
402
+ /** Why the checkout exists. Drives which side effect runs on webhook completion: ORG_WALLET_TOPUP credits an org_wallet; APP_ACCESS_PURCHASE upserts app_user_access; DONATION inserts donations; PROPERTY_TOKENS credits property_tokens; SHARED_APP_SUBSCRIPTION activates a paid shared-environment app slot. */
331
403
  export declare enum CheckoutPurpose {
332
404
  AppAccessPurchase = "APP_ACCESS_PURCHASE",
333
405
  Donation = "DONATION",
334
406
  OrgWalletTopup = "ORG_WALLET_TOPUP",
335
- PropertyTokens = "PROPERTY_TOKENS"
407
+ PropertyTokens = "PROPERTY_TOKENS",
408
+ SharedAppSubscription = "SHARED_APP_SUBSCRIPTION"
336
409
  }
337
410
  /** Lifecycle state of a Checkout. Updated by webhook reconciliation, not by the redirect URL. */
338
411
  export declare enum CheckoutStatus {
@@ -423,6 +496,8 @@ export type CksDeployProgress = {
423
496
  /** Redeploy is allowed (failed deploy or stuck order cleared) */
424
497
  canRetry: Scalars['Boolean']['output'];
425
498
  changeOrderId: Scalars['String']['output'];
499
+ /** Change order kind (deploy or destroy pipeline identifier) */
500
+ changeOrderKind: Scalars['String']['output'];
426
501
  changeOrderStatus: Scalars['String']['output'];
427
502
  currentStepKind: Maybe<Scalars['String']['output']>;
428
503
  currentTaskKind: Maybe<Scalars['String']['output']>;
@@ -465,6 +540,8 @@ export type CksEnvironment = {
465
540
  databaseFlavor: Maybe<Scalars['String']['output']>;
466
541
  desiredEnvironmentVersion: Maybe<Scalars['String']['output']>;
467
542
  displayName: Scalars['String']['output'];
543
+ /** 'dedicated' (multi-VM) or 'dev_single' (one dev-only VM). */
544
+ environmentClass: Scalars['String']['output'];
468
545
  gameApiFlavor: Maybe<Scalars['String']['output']>;
469
546
  gameApiMaxServers: Scalars['Int']['output'];
470
547
  gameApiMinServers: Scalars['Int']['output'];
@@ -474,6 +551,8 @@ export type CksEnvironment = {
474
551
  orgId: Scalars['BigInt']['output'];
475
552
  primaryCloud: Scalars['String']['output'];
476
553
  primaryRegion: Scalars['String']['output'];
554
+ /** Single VM flavor when environmentClass = 'dev_single'. */
555
+ singleBoxFlavor: Maybe<Scalars['String']['output']>;
477
556
  slug: Scalars['String']['output'];
478
557
  status: Scalars['String']['output'];
479
558
  subdomainHandle: Maybe<Scalars['String']['output']>;
@@ -543,6 +622,8 @@ export type CksEnvironmentDetail = {
543
622
  components: Array<CksEnvironmentComponent>;
544
623
  /** Live deploy task/step progress for the active or most recent failed deploy */
545
624
  deployProgress: Maybe<CksDeployProgress>;
625
+ /** Destroy tear-down progress for game-api and platform change orders */
626
+ destroyProgress: Array<CksDeployProgress>;
546
627
  environment: CksEnvironment;
547
628
  outputs: Array<CksEnvironmentOutput>;
548
629
  secrets: Array<CksEnvironmentSecretValue>;
@@ -1019,37 +1100,62 @@ export type CreateAppInput = {
1019
1100
  export type CreateAvatarInput = {
1020
1101
  name?: InputMaybe<Scalars['String']['input']>;
1021
1102
  };
1103
+ export type CreateChannelInput = {
1104
+ appId: Scalars['BigInt']['input'];
1105
+ description?: InputMaybe<Scalars['String']['input']>;
1106
+ /** When true (default), new members are auto-granted send_messages so they can post (open chat channel). When false, only roles you grant may post (announce/read-only channel). */
1107
+ membersCanSend?: InputMaybe<Scalars['Boolean']['input']>;
1108
+ /** open | request | invite | admin. Defaults to the app policy. */
1109
+ membershipPolicy?: InputMaybe<Scalars['String']['input']>;
1110
+ name: Scalars['String']['input'];
1111
+ };
1022
1112
  export type CreateCheckoutInput = {
1023
1113
  amountCents?: InputMaybe<Scalars['BigInt']['input']>;
1024
1114
  appId?: InputMaybe<Scalars['BigInt']['input']>;
1025
1115
  cancelUrl?: InputMaybe<Scalars['String']['input']>;
1026
1116
  currency?: InputMaybe<Scalars['String']['input']>;
1027
1117
  orgId?: InputMaybe<Scalars['BigInt']['input']>;
1118
+ planId?: InputMaybe<Scalars['BigInt']['input']>;
1028
1119
  provider: PaymentProvider;
1029
1120
  purpose: CheckoutPurpose;
1030
1121
  successUrl?: InputMaybe<Scalars['String']['input']>;
1031
1122
  tierId?: InputMaybe<Scalars['BigInt']['input']>;
1032
1123
  };
1124
+ export type CreateContainerInput = {
1125
+ appId: Scalars['BigInt']['input'];
1126
+ description?: InputMaybe<Scalars['String']['input']>;
1127
+ displayName: Scalars['String']['input'];
1128
+ metadataJson?: InputMaybe<Scalars['String']['input']>;
1129
+ /** Owner user id; defaults to the caller for member/owner instantiation. */
1130
+ ownerUserId?: InputMaybe<Scalars['BigInt']['input']>;
1131
+ properties?: InputMaybe<Array<SeedPropertyInput>>;
1132
+ sessionId?: InputMaybe<Scalars['String']['input']>;
1133
+ typeName: Scalars['String']['input'];
1134
+ };
1033
1135
  export type CreateEnvironmentInput = {
1034
1136
  appIds?: InputMaybe<Array<Scalars['String']['input']>>;
1035
- /** Flavor name from environmentFlavors(datacenter) for the Caddy LB VMs in front of the game-api fleet; must have a published hourly price. */
1036
- caddyFlavor: Scalars['String']['input'];
1037
- /** Flavor name from environmentFlavors(datacenter); must have a published hourly price. */
1038
- databaseFlavor: Scalars['String']['input'];
1137
+ /** 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. */
1138
+ caddyFlavor?: InputMaybe<Scalars['String']['input']>;
1139
+ /** Flavor name from environmentFlavors(datacenter); must have a published hourly price. Required for dedicated. */
1140
+ databaseFlavor?: InputMaybe<Scalars['String']['input']>;
1039
1141
  datacenter: Scalars['String']['input'];
1040
1142
  displayName: Scalars['String']['input'];
1041
- /** Flavor name from environmentFlavors(datacenter) for per-tenant game-api VMs; must have a published hourly price. */
1042
- gameApiFlavor: Scalars['String']['input'];
1043
- gameApiMaxServers: Scalars['Int']['input'];
1044
- gameApiMinServers: Scalars['Int']['input'];
1045
- loadBalancerCount: Scalars['Int']['input'];
1143
+ /** Deployment class: 'dedicated' (default, multi-VM) or 'dev_single' (one cheap dev-only VM running Postgres + management-api + game-api + Buddy). dev_single is not for production. */
1144
+ environmentClass?: InputMaybe<Scalars['String']['input']>;
1145
+ /** Single VM flavor for environmentClass='dev_single' (e.g. b3-8); must have a published hourly price. Ignored for dedicated. */
1146
+ flavor?: InputMaybe<Scalars['String']['input']>;
1147
+ /** Flavor name from environmentFlavors(datacenter) for per-tenant game-api VMs; must have a published hourly price. Required for dedicated. */
1148
+ gameApiFlavor?: InputMaybe<Scalars['String']['input']>;
1149
+ gameApiMaxServers?: InputMaybe<Scalars['Int']['input']>;
1150
+ gameApiMinServers?: InputMaybe<Scalars['Int']['input']>;
1151
+ loadBalancerCount?: InputMaybe<Scalars['Int']['input']>;
1046
1152
  orgId: Scalars['BigInt']['input'];
1047
1153
  /** Optional explicit slug for scripts/E2E. When omitted, the API generates an opaque e-{12} slug. */
1048
1154
  slug?: InputMaybe<Scalars['String']['input']>;
1049
- /** Flavor name from environmentFlavors(datacenter); must have a published hourly price. */
1050
- udpBuddyFlavor: Scalars['String']['input'];
1051
- udpBuddyMaxServers: Scalars['Int']['input'];
1052
- udpBuddyMinServers: Scalars['Int']['input'];
1155
+ /** Flavor name from environmentFlavors(datacenter); must have a published hourly price. Required for dedicated. */
1156
+ udpBuddyFlavor?: InputMaybe<Scalars['String']['input']>;
1157
+ udpBuddyMaxServers?: InputMaybe<Scalars['Int']['input']>;
1158
+ udpBuddyMinServers?: InputMaybe<Scalars['Int']['input']>;
1053
1159
  x25519PublicKeyBase64: Scalars['String']['input'];
1054
1160
  };
1055
1161
  export type CreateGridInput = {
@@ -1083,6 +1189,13 @@ export type CreateOrganizationInput = {
1083
1189
  name: Scalars['String']['input'];
1084
1190
  slug: Scalars['String']['input'];
1085
1191
  };
1192
+ export type CreateSessionInput = {
1193
+ appId: Scalars['BigInt']['input'];
1194
+ metadataJson?: InputMaybe<Scalars['String']['input']>;
1195
+ name?: InputMaybe<Scalars['String']['input']>;
1196
+ /** Initial participants besides the creator. */
1197
+ participantUserIds?: InputMaybe<Array<Scalars['BigInt']['input']>>;
1198
+ };
1086
1199
  export type CreateTeamInput = {
1087
1200
  appId: Scalars['BigInt']['input'];
1088
1201
  description?: InputMaybe<Scalars['String']['input']>;
@@ -1094,26 +1207,35 @@ export type CreateUserAppStateInput = {
1094
1207
  appId: Scalars['BigInt']['input'];
1095
1208
  state?: InputMaybe<Scalars['String']['input']>;
1096
1209
  };
1210
+ export type DefineAppFeatureInput = {
1211
+ appId: Scalars['BigInt']['input'];
1212
+ description?: InputMaybe<Scalars['String']['input']>;
1213
+ featureKey: Scalars['String']['input'];
1214
+ };
1097
1215
  export type DestroyEnvironmentInput = {
1098
1216
  orgId: Scalars['BigInt']['input'];
1099
1217
  slug: Scalars['String']['input'];
1100
1218
  };
1101
1219
  export type EnvironmentQuoteInput = {
1102
- /** Flavor name from environmentFlavors(datacenter) for the Caddy LB VMs in front of the game-api fleet; must have a published hourly price. */
1103
- caddyFlavor: Scalars['String']['input'];
1104
- /** Flavor name from environmentFlavors(datacenter); must have a published hourly price. */
1105
- databaseFlavor: Scalars['String']['input'];
1220
+ /** 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. */
1221
+ caddyFlavor?: InputMaybe<Scalars['String']['input']>;
1222
+ /** Flavor name from environmentFlavors(datacenter); must have a published hourly price. Required for dedicated. */
1223
+ databaseFlavor?: InputMaybe<Scalars['String']['input']>;
1106
1224
  datacenter: Scalars['String']['input'];
1107
- /** Flavor name from environmentFlavors(datacenter) for per-tenant game-api VMs; must have a published hourly price. */
1108
- gameApiFlavor: Scalars['String']['input'];
1109
- gameApiMaxServers: Scalars['Int']['input'];
1110
- gameApiMinServers: Scalars['Int']['input'];
1111
- loadBalancerCount: Scalars['Int']['input'];
1225
+ /** Deployment class: 'dedicated' (default) or 'dev_single'. */
1226
+ environmentClass?: InputMaybe<Scalars['String']['input']>;
1227
+ /** Single VM flavor for environmentClass='dev_single'. Ignored for dedicated. */
1228
+ flavor?: InputMaybe<Scalars['String']['input']>;
1229
+ /** Flavor name from environmentFlavors(datacenter) for per-tenant game-api VMs; must have a published hourly price. Required for dedicated. */
1230
+ gameApiFlavor?: InputMaybe<Scalars['String']['input']>;
1231
+ gameApiMaxServers?: InputMaybe<Scalars['Int']['input']>;
1232
+ gameApiMinServers?: InputMaybe<Scalars['Int']['input']>;
1233
+ loadBalancerCount?: InputMaybe<Scalars['Int']['input']>;
1112
1234
  orgId: Scalars['BigInt']['input'];
1113
- /** Flavor name from environmentFlavors(datacenter); must have a published hourly price. */
1114
- udpBuddyFlavor: Scalars['String']['input'];
1115
- udpBuddyMaxServers: Scalars['Int']['input'];
1116
- udpBuddyMinServers: Scalars['Int']['input'];
1235
+ /** Flavor name from environmentFlavors(datacenter); must have a published hourly price. Required for dedicated. */
1236
+ udpBuddyFlavor?: InputMaybe<Scalars['String']['input']>;
1237
+ udpBuddyMaxServers?: InputMaybe<Scalars['Int']['input']>;
1238
+ udpBuddyMinServers?: InputMaybe<Scalars['Int']['input']>;
1117
1239
  };
1118
1240
  export type EnvironmentUsageRollupRow = {
1119
1241
  __typename?: 'EnvironmentUsageRollupRow';
@@ -1135,12 +1257,37 @@ export type EnvironmentUsageSummary = {
1135
1257
  replication: Array<UsageMinuteRow>;
1136
1258
  replicationRates: UsageRatePeaks;
1137
1259
  };
1260
+ /** An org's free shared app slot quota usage. */
1261
+ export type FreeAppQuota = {
1262
+ __typename?: 'FreeAppQuota';
1263
+ orgId: Scalars['BigInt']['output'];
1264
+ paidApps: Scalars['Int']['output'];
1265
+ quota: Scalars['Int']['output'];
1266
+ remainingFree: Scalars['Int']['output'];
1267
+ usedFree: Scalars['Int']['output'];
1268
+ };
1138
1269
  export type FreePlayWindowInfo = {
1139
1270
  __typename?: 'FreePlayWindowInfo';
1140
1271
  description: Scalars['String']['output'];
1141
1272
  isCurrentlyActive: Scalars['Boolean']['output'];
1142
1273
  nextWindowStart: Maybe<Scalars['String']['output']>;
1143
1274
  };
1275
+ export type FunctionMutationInput = {
1276
+ /** Expression string (compiled to AST server-side). */
1277
+ expression: Scalars['String']['input'];
1278
+ property: Scalars['String']['input'];
1279
+ /** Container target: self | ref("uuid") | ref($param). */
1280
+ target: Scalars['String']['input'];
1281
+ };
1282
+ export type FunctionParamInput = {
1283
+ /** JSON-encoded default value. */
1284
+ defaultValueJson?: InputMaybe<Scalars['String']['input']>;
1285
+ description?: InputMaybe<Scalars['String']['input']>;
1286
+ name: Scalars['String']['input'];
1287
+ required?: InputMaybe<Scalars['Boolean']['input']>;
1288
+ sortOrder?: InputMaybe<Scalars['Int']['input']>;
1289
+ valueType: Scalars['String']['input'];
1290
+ };
1144
1291
  /** Startup contract for browser game clients. Fetch this after login to initialize protocol/version checks and UDP proxy state in one round trip. */
1145
1292
  export type GameClientBootstrap = {
1146
1293
  __typename?: 'GameClientBootstrap';
@@ -1196,6 +1343,187 @@ export type GetVoxelListInput = {
1196
1343
  appId: Scalars['BigInt']['input'];
1197
1344
  coordinates: ChunkCoordinatesInput;
1198
1345
  };
1346
+ export type GmAppFeature = {
1347
+ __typename?: 'GmAppFeature';
1348
+ appId: Scalars['BigInt']['output'];
1349
+ description: Maybe<Scalars['String']['output']>;
1350
+ featureKey: Scalars['String']['output'];
1351
+ };
1352
+ export type GmAppPolicy = {
1353
+ __typename?: 'GmAppPolicy';
1354
+ appId: Scalars['BigInt']['output'];
1355
+ defaultParticipantRole: Scalars['String']['output'];
1356
+ sessionCreationPolicy: Scalars['String']['output'];
1357
+ };
1358
+ export type GmContainer = {
1359
+ __typename?: 'GmContainer';
1360
+ appId: Scalars['BigInt']['output'];
1361
+ containerId: Scalars['String']['output'];
1362
+ description: Maybe<Scalars['String']['output']>;
1363
+ displayName: Scalars['String']['output'];
1364
+ /** JSON object of developer metadata. */
1365
+ metadataJson: Scalars['String']['output'];
1366
+ ownerUserId: Maybe<Scalars['BigInt']['output']>;
1367
+ sessionId: Maybe<Scalars['String']['output']>;
1368
+ typeName: Scalars['String']['output'];
1369
+ };
1370
+ export type GmContainerState = {
1371
+ __typename?: 'GmContainerState';
1372
+ appId: Scalars['BigInt']['output'];
1373
+ containerId: Scalars['String']['output'];
1374
+ displayName: Scalars['String']['output'];
1375
+ ownerUserId: Maybe<Scalars['BigInt']['output']>;
1376
+ /** JSON object of visible properties (filtered by the caller). */
1377
+ propertiesJson: Scalars['String']['output'];
1378
+ sessionId: Maybe<Scalars['String']['output']>;
1379
+ typeName: Scalars['String']['output'];
1380
+ };
1381
+ export type GmContainerType = {
1382
+ __typename?: 'GmContainerType';
1383
+ appId: Scalars['BigInt']['output'];
1384
+ defaultPropertyVisibility: Scalars['String']['output'];
1385
+ description: Maybe<Scalars['String']['output']>;
1386
+ displayName: Scalars['String']['output'];
1387
+ instantiableBy: Scalars['String']['output'];
1388
+ /** JSON object of developer metadata. */
1389
+ metadataJson: Scalars['String']['output'];
1390
+ typeName: Scalars['String']['output'];
1391
+ };
1392
+ export type GmEdge = {
1393
+ __typename?: 'GmEdge';
1394
+ edgeId: Scalars['String']['output'];
1395
+ fromContainerId: Scalars['String']['output'];
1396
+ relationshipType: Scalars['String']['output'];
1397
+ toContainerId: Scalars['String']['output'];
1398
+ weight: Maybe<Scalars['Float']['output']>;
1399
+ };
1400
+ export type GmEvent = {
1401
+ __typename?: 'GmEvent';
1402
+ callerUserId: Maybe<Scalars['BigInt']['output']>;
1403
+ errorMessage: Maybe<Scalars['String']['output']>;
1404
+ eventId: Scalars['String']['output'];
1405
+ executedAt: Scalars['DateTime']['output'];
1406
+ functionName: Scalars['String']['output'];
1407
+ /** JSON array of applied mutations. */
1408
+ mutationsAppliedJson: Scalars['String']['output'];
1409
+ /** JSON object of params. */
1410
+ paramsJson: Scalars['String']['output'];
1411
+ /** JSON-encoded return value. */
1412
+ returnValueJson: Maybe<Scalars['String']['output']>;
1413
+ selfContainerId: Maybe<Scalars['String']['output']>;
1414
+ sessionId: Maybe<Scalars['String']['output']>;
1415
+ success: Scalars['Boolean']['output'];
1416
+ };
1417
+ export type GmFunction = {
1418
+ __typename?: 'GmFunction';
1419
+ appId: Scalars['BigInt']['output'];
1420
+ containerTypeName: Maybe<Scalars['String']['output']>;
1421
+ description: Maybe<Scalars['String']['output']>;
1422
+ functionId: Scalars['String']['output'];
1423
+ /** JSON-encoded invoke policy rule tree. */
1424
+ invokePolicyJson: Maybe<Scalars['String']['output']>;
1425
+ invokeScope: Scalars['String']['output'];
1426
+ mutations: Array<GmFunctionMutation>;
1427
+ name: Scalars['String']['output'];
1428
+ parameters: Array<GmFunctionParam>;
1429
+ returnExpression: Maybe<Scalars['String']['output']>;
1430
+ returnType: Maybe<Scalars['String']['output']>;
1431
+ /** Non-fatal static-analysis warnings from the last upload. */
1432
+ warnings: Array<Scalars['String']['output']>;
1433
+ };
1434
+ export type GmFunctionMutation = {
1435
+ __typename?: 'GmFunctionMutation';
1436
+ expression: Scalars['String']['output'];
1437
+ property: Scalars['String']['output'];
1438
+ /** Container reference target: self | ref("uuid") | ref($param). */
1439
+ target: Scalars['String']['output'];
1440
+ };
1441
+ export type GmFunctionParam = {
1442
+ __typename?: 'GmFunctionParam';
1443
+ /** JSON-encoded default value. */
1444
+ defaultValueJson: Maybe<Scalars['String']['output']>;
1445
+ description: Maybe<Scalars['String']['output']>;
1446
+ name: Scalars['String']['output'];
1447
+ required: Scalars['Boolean']['output'];
1448
+ sortOrder: Scalars['Int']['output'];
1449
+ valueType: Scalars['String']['output'];
1450
+ };
1451
+ export type GmInvokeResult = {
1452
+ __typename?: 'GmInvokeResult';
1453
+ errorMessage: Maybe<Scalars['String']['output']>;
1454
+ eventId: Scalars['String']['output'];
1455
+ functionName: Scalars['String']['output'];
1456
+ mutationsApplied: Array<GmMutationApplied>;
1457
+ /** JSON-encoded return value. */
1458
+ returnValueJson: Maybe<Scalars['String']['output']>;
1459
+ success: Scalars['Boolean']['output'];
1460
+ };
1461
+ export type GmMutationApplied = {
1462
+ __typename?: 'GmMutationApplied';
1463
+ containerId: Scalars['String']['output'];
1464
+ key: Scalars['String']['output'];
1465
+ newValueJson: Maybe<Scalars['String']['output']>;
1466
+ oldValueJson: Maybe<Scalars['String']['output']>;
1467
+ valueType: Scalars['String']['output'];
1468
+ };
1469
+ export type GmPropertyDef = {
1470
+ __typename?: 'GmPropertyDef';
1471
+ appId: Scalars['BigInt']['output'];
1472
+ containerTypeName: Scalars['String']['output'];
1473
+ /** JSON-encoded default value. */
1474
+ defaultValueJson: Maybe<Scalars['String']['output']>;
1475
+ description: Maybe<Scalars['String']['output']>;
1476
+ key: Scalars['String']['output'];
1477
+ valueType: Scalars['String']['output'];
1478
+ visibility: Scalars['String']['output'];
1479
+ writable: Scalars['String']['output'];
1480
+ };
1481
+ export type GmSeedResult = {
1482
+ __typename?: 'GmSeedResult';
1483
+ containerTypesCreated: Scalars['Int']['output'];
1484
+ containersCreated: Scalars['Int']['output'];
1485
+ edgesCreated: Scalars['Int']['output'];
1486
+ functionsCreated: Scalars['Int']['output'];
1487
+ /** JSON object mapping seed temp_id -> created container UUID. */
1488
+ idMapJson: Scalars['String']['output'];
1489
+ propertyDefinitionsCreated: Scalars['Int']['output'];
1490
+ warnings: Array<Scalars['String']['output']>;
1491
+ };
1492
+ export type GmSession = {
1493
+ __typename?: 'GmSession';
1494
+ appId: Scalars['BigInt']['output'];
1495
+ createdByUserId: Maybe<Scalars['BigInt']['output']>;
1496
+ currentTurnUserId: Maybe<Scalars['BigInt']['output']>;
1497
+ /** JSON object of developer metadata. */
1498
+ metadataJson: Scalars['String']['output'];
1499
+ name: Maybe<Scalars['String']['output']>;
1500
+ sessionId: Scalars['String']['output'];
1501
+ status: Scalars['String']['output'];
1502
+ };
1503
+ export type GmSessionParticipant = {
1504
+ __typename?: 'GmSessionParticipant';
1505
+ role: Scalars['String']['output'];
1506
+ sessionId: Scalars['String']['output'];
1507
+ userId: Scalars['BigInt']['output'];
1508
+ };
1509
+ export type GmTierFeature = {
1510
+ __typename?: 'GmTierFeature';
1511
+ appId: Scalars['BigInt']['output'];
1512
+ featureKey: Scalars['String']['output'];
1513
+ tierId: Scalars['BigInt']['output'];
1514
+ };
1515
+ export type GmTraverseResult = {
1516
+ __typename?: 'GmTraverseResult';
1517
+ edges: Array<GmEdge>;
1518
+ nodes: Array<GmContainer>;
1519
+ rootId: Scalars['String']['output'];
1520
+ };
1521
+ export type GmTypeSchema = {
1522
+ __typename?: 'GmTypeSchema';
1523
+ functions: Array<GmFunction>;
1524
+ propertyDefinitions: Array<GmPropertyDef>;
1525
+ typeName: Scalars['String']['output'];
1526
+ };
1199
1527
  export type GrantAppAccessInput = {
1200
1528
  appId: Scalars['BigInt']['input'];
1201
1529
  grantedBy?: InputMaybe<Scalars['String']['input']>;
@@ -1209,6 +1537,11 @@ export type GrantGridPermissionsInput = {
1209
1537
  permissionKeys: Array<Scalars['String']['input']>;
1210
1538
  userId: Scalars['BigInt']['input'];
1211
1539
  };
1540
+ export type GrantTierFeatureInput = {
1541
+ appId: Scalars['BigInt']['input'];
1542
+ featureKey: Scalars['String']['input'];
1543
+ tierId: Scalars['BigInt']['input'];
1544
+ };
1212
1545
  export type GraphQlServer = {
1213
1546
  __typename?: 'GraphQLServer';
1214
1547
  apiPort: Scalars['Int']['output'];
@@ -1271,6 +1604,8 @@ export type Group = {
1271
1604
  __typename?: 'Group';
1272
1605
  appId: Scalars['BigInt']['output'];
1273
1606
  createdAt: Scalars['DateTime']['output'];
1607
+ /** Optional role auto-assigned to every new member (e.g. a channel "member" role granting send_messages). Null means new members get no role by default. */
1608
+ defaultRoleId: Maybe<Scalars['BigInt']['output']>;
1274
1609
  description: Maybe<Scalars['String']['output']>;
1275
1610
  groupId: Scalars['BigInt']['output'];
1276
1611
  groupType: Scalars['String']['output'];
@@ -1315,6 +1650,19 @@ export type InviteOrgMemberInput = {
1315
1650
  orgId: Scalars['BigInt']['input'];
1316
1651
  userId: Scalars['BigInt']['input'];
1317
1652
  };
1653
+ export type InvokeFunctionInput = {
1654
+ appId: Scalars['BigInt']['input'];
1655
+ functionName: Scalars['String']['input'];
1656
+ /** JSON object of params. */
1657
+ paramsJson?: InputMaybe<Scalars['String']['input']>;
1658
+ selfContainerId: Scalars['String']['input'];
1659
+ sessionId?: InputMaybe<Scalars['String']['input']>;
1660
+ };
1661
+ export type JoinSessionInput = {
1662
+ appId: Scalars['BigInt']['input'];
1663
+ role?: InputMaybe<Scalars['String']['input']>;
1664
+ sessionId: Scalars['String']['input'];
1665
+ };
1318
1666
  export type ListVoxelUpdatesByDistanceInput = {
1319
1667
  appId: Scalars['BigInt']['input'];
1320
1668
  centerCoordinate: ChunkCoordinatesInput;
@@ -1345,11 +1693,14 @@ export type Mutation = {
1345
1693
  __typename?: 'Mutation';
1346
1694
  /** Liveness heartbeat for the authenticated user's actors in an app. Refreshes actors.updated_at for every actor row the user owns so the user stays host-eligible, then returns the freshly-elected host (same shape as the gameHost query) so a client can fold its poll and heartbeat into one round-trip. Call on an interval shorter than HOST_ACTOR_FRESHNESS_SECONDS. Only refreshes rows that already exist (created by Buddy on chunk entry); returns null when no fresh actors exist for the app. */
1347
1695
  actorHeartbeat: Maybe<GameHost>;
1696
+ /** Add a user to a channel or approve a pending request (manage_members). */
1697
+ addChannelMember: GroupMember;
1348
1698
  /** Add a user to a team or approve a pending request (manage_members). */
1349
1699
  addTeamMember: GroupMember;
1350
1700
  archiveAccessTier: AppAccessTier;
1351
1701
  archiveApp: App;
1352
1702
  assignGroupToGrid: Array<GridGroupGrant>;
1703
+ cancelSharedSubscription: AppSharedSubscription;
1353
1704
  /** Captures an approved PayPal order after the hosted checkout redirects back. Wallet credit still reconciles through PayPal webhooks. */
1354
1705
  capturePaypalCheckout: Checkout;
1355
1706
  changePassword: Scalars['Boolean']['output'];
@@ -1360,6 +1711,10 @@ export type Mutation = {
1360
1711
  createActor: Actor;
1361
1712
  createApp: App;
1362
1713
  createAvatar: Avatar;
1714
+ /** Create a channel. Allowed per the app channel policy (admin | member | anyone). The creator becomes the owner with a system leader role. When membersCanSend is true (default), a default member role granting send_messages is created and auto-assigned to joiners. */
1715
+ createChannel: Group;
1716
+ /** Create a channel role (manage_roles). */
1717
+ createChannelRole: GroupRole;
1363
1718
  /** Creates a Checkout row, opens the provider session, and returns the row with externalUrl set. Redirect the user to externalUrl. Status starts PENDING and updates via webhook. */
1364
1719
  createCheckout: Checkout;
1365
1720
  /** Creates an environment only if each selected instance flavor is available and customer-priced in the catalog (same rule as environmentQuote). Use environmentFlavors / environmentDatacenters for valid options. */
@@ -1375,6 +1730,10 @@ export type Mutation = {
1375
1730
  createTeamRole: GroupRole;
1376
1731
  deleteActor: Actor;
1377
1732
  deleteAvatar: Avatar;
1733
+ /** Delete a channel (manage_group). */
1734
+ deleteChannel: Scalars['Boolean']['output'];
1735
+ /** Delete a non-system channel role (manage_roles). */
1736
+ deleteChannelRole: Scalars['Boolean']['output'];
1378
1737
  deleteCpSecret: Scalars['Boolean']['output'];
1379
1738
  /** Soft-deletes the caller's account: anonymizes PII, revokes sessions. Wallet, voxel, and donation history stays intact via FK. */
1380
1739
  deleteMyAccount: Scalars['Boolean']['output'];
@@ -1389,17 +1748,39 @@ export type Mutation = {
1389
1748
  /** 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). */
1390
1749
  disconnectUdpProxy: Scalars['Boolean']['output'];
1391
1750
  forceLogoutUser: Scalars['Boolean']['output'];
1751
+ gameModelAddEdge: GmEdge;
1752
+ gameModelCreateContainer: GmContainer;
1753
+ gameModelCreateSession: GmSession;
1754
+ gameModelDefineFeature: GmAppFeature;
1755
+ gameModelDeleteFunction: Scalars['Boolean']['output'];
1756
+ gameModelGrantTierFeature: GmTierFeature;
1757
+ gameModelInvoke: GmInvokeResult;
1758
+ gameModelJoinSession: GmSessionParticipant;
1759
+ gameModelRevokeTierFeature: Scalars['Boolean']['output'];
1760
+ gameModelSeed: GmSeedResult;
1761
+ gameModelSetPolicy: GmAppPolicy;
1762
+ gameModelSetProperty: GmContainer;
1763
+ gameModelSetSessionTurn: GmSession;
1764
+ gameModelUpsertContainerType: GmContainerType;
1765
+ gameModelUpsertFunction: GmFunction;
1766
+ gameModelUpsertPropertyDef: GmPropertyDef;
1392
1767
  grantAppAccess: AppUserAccess;
1393
1768
  grantGridPermissions: GridUserPermissions;
1394
1769
  ingestEnvironmentVersion: CpEnvironmentVersionRow;
1395
1770
  inviteOrgMember: OrgMember;
1771
+ /** Join a channel. Honors the channel membership policy (open -> active, request -> pending, otherwise rejected). */
1772
+ joinChannel: GroupMember;
1396
1773
  /** Join a team. Honors the team membership policy (open -> active, request -> pending, otherwise rejected). */
1397
1774
  joinTeam: GroupMember;
1775
+ /** Leave a channel. */
1776
+ leaveChannel: Scalars['Boolean']['output'];
1398
1777
  /** Leave a team. */
1399
1778
  leaveTeam: Scalars['Boolean']['output'];
1400
1779
  login: AuthResponse;
1401
1780
  logout: Scalars['Boolean']['output'];
1402
1781
  logoutAllDevices: Scalars['Boolean']['output'];
1782
+ /** Publish an app to the shared game-api environment. Free under the org quota; otherwise pass a planId for a paid subscription checkout. */
1783
+ publishAppToShared: PublishAppResult;
1403
1784
  publishEnvironmentReleaseFromGameApiTag: CpPublishEnvironmentReleaseResult;
1404
1785
  /** Permanently deletes a destroyed environment record from the platform. Cloud resources must already be torn down via destroyEnvironment. */
1405
1786
  purgeEnvironment: Scalars['Boolean']['output'];
@@ -1408,10 +1789,15 @@ export type Mutation = {
1408
1789
  /** Redeploys the environment to the latest available release version (or the configured default), reusing its current flavors/scaling and linked apps. Preserves the environment URLs. No-op-safe: re-running when already at latest still redeploys. If a prior deploy failed but stayed in_progress, it is abandoned first so the redeploy can proceed. */
1409
1790
  redeployEnvironment: CksEnvironmentChangeOrder;
1410
1791
  register: AuthResponse;
1792
+ /** Remove a member from a channel (manage_members; members may remove themselves). */
1793
+ removeChannelMember: Scalars['Boolean']['output'];
1411
1794
  removeOrgMember: Scalars['Boolean']['output'];
1795
+ removeSharedPaymentMethod: Scalars['Boolean']['output'];
1412
1796
  /** Remove a member from a team (manage_members; members may remove themselves). */
1413
1797
  removeTeamMember: Scalars['Boolean']['output'];
1414
1798
  requestPasswordReset: Scalars['Boolean']['output'];
1799
+ /** Request to join a request-only channel (creates a pending membership a manager can approve). */
1800
+ requestToJoinChannel: GroupMember;
1415
1801
  /** Request to join a request-only team (creates a pending membership a manager can approve). */
1416
1802
  requestToJoinTeam: GroupMember;
1417
1803
  resendConfirmationEmail: Scalars['Boolean']['output'];
@@ -1429,6 +1815,8 @@ export type Mutation = {
1429
1815
  sendActorUpdate: Scalars['Boolean']['output'];
1430
1816
  /** Send a voice audio packet to the game server. Opens a UDP proxy session automatically if none exists; notifications arrive on udpNotifications. */
1431
1817
  sendAudioPacket: Scalars['Boolean']['output'];
1818
+ /** Publish a message to a channel. Delivered to every active member of the channel via udpNotifications (ChannelMessageNotification). Requires the channel send_messages permission; the server drops the message otherwise. Opens a UDP proxy session automatically if none exists. The sender receives no echo. */
1819
+ sendChannelMessage: Scalars['Boolean']['output'];
1432
1820
  /** Send a client event to the game server. Opens a UDP proxy session automatically if none exists; related notifications arrive on udpNotifications. */
1433
1821
  sendClientEvent: Scalars['Boolean']['output'];
1434
1822
  /** Send a direct actor-to-actor message, delivered only to the actor identified by targetUuid (not broadcast to nearby actors). The sender must know the destination actor’s chunk. Opens a UDP proxy session automatically if none exists; the target receives a SingleActorMessageNotification on udpNotifications. The sender receives no echo. */
@@ -1438,8 +1826,16 @@ export type Mutation = {
1438
1826
  /** Send a voxel update to the game server. Opens a UDP proxy session automatically if none exists; responses arrive on udpNotifications. */
1439
1827
  sendVoxelUpdate: Scalars['Boolean']['output'];
1440
1828
  setAppBudget: AppBudget;
1829
+ /** Set per-app hourly/daily spend caps (cents). Pass null to clear a cap. */
1830
+ setAppSpendCaps: AppRuntimeState;
1441
1831
  /** Super admin only. Used to take down or relist apps platform-wide. */
1442
1832
  setAppVisibility: App;
1833
+ /** Enable/disable off-session auto-billing. Pass limitCents=null for no limit. */
1834
+ setAutoBilling: OrgAutoBilling;
1835
+ /** Replace a member's channel roles (manage_roles). Re-pushes the member's effective send permission to Buddy. */
1836
+ setChannelMemberRoles: GroupMember;
1837
+ /** Set who may create channels in an app and the default membership policy for new channels (requires manage_apps). */
1838
+ setChannelPolicy: AppGroupPolicy;
1443
1839
  setEarlyAccessOverride: User;
1444
1840
  setEnvironmentDeletionProtection: Scalars['Boolean']['output'];
1445
1841
  setGridPermissionLimits: GridPermissionLimits;
@@ -1453,6 +1849,8 @@ export type Mutation = {
1453
1849
  setTeamMemberRoles: GroupMember;
1454
1850
  /** Set who may create teams in an app and the default membership policy for new teams (requires manage_apps). */
1455
1851
  setTeamPolicy: AppGroupPolicy;
1852
+ /** Begin vaulting a card for auto-billing. Returns a Stripe SetupIntent client secret for the browser to confirm. */
1853
+ setupSharedPaymentMethod: PaymentMethodSetup;
1456
1854
  teleportRequest: TeleportResponse;
1457
1855
  updateAccessTier: AppAccessTier;
1458
1856
  updateActor: Actor;
@@ -1462,6 +1860,10 @@ export type Mutation = {
1462
1860
  /** Set an avatar's per-app state. Only the avatar's owner may write; all players can read it. */
1463
1861
  updateAvatarAppState: AppAvatarState;
1464
1862
  updateAvatarState: Avatar;
1863
+ /** Update channel name/description/membership policy (manage_group). */
1864
+ updateChannel: Group;
1865
+ /** Update a channel role (manage_roles). */
1866
+ updateChannelRole: GroupRole;
1465
1867
  updateChunk: Chunk;
1466
1868
  updateChunkLods: Maybe<Chunk>;
1467
1869
  updateChunkState: Maybe<Chunk>;
@@ -1483,6 +1885,10 @@ export type Mutation = {
1483
1885
  export type MutationActorHeartbeatArgs = {
1484
1886
  appId: Scalars['BigInt']['input'];
1485
1887
  };
1888
+ export type MutationAddChannelMemberArgs = {
1889
+ groupId: Scalars['BigInt']['input'];
1890
+ userId: Scalars['BigInt']['input'];
1891
+ };
1486
1892
  export type MutationAddTeamMemberArgs = {
1487
1893
  groupId: Scalars['BigInt']['input'];
1488
1894
  userId: Scalars['BigInt']['input'];
@@ -1496,6 +1902,9 @@ export type MutationArchiveAppArgs = {
1496
1902
  export type MutationAssignGroupToGridArgs = {
1497
1903
  input: AssignGroupToGridInput;
1498
1904
  };
1905
+ export type MutationCancelSharedSubscriptionArgs = {
1906
+ appId: Scalars['BigInt']['input'];
1907
+ };
1499
1908
  export type MutationCapturePaypalCheckoutArgs = {
1500
1909
  orderId: Scalars['String']['input'];
1501
1910
  };
@@ -1518,6 +1927,12 @@ export type MutationCreateAppArgs = {
1518
1927
  export type MutationCreateAvatarArgs = {
1519
1928
  input: CreateAvatarInput;
1520
1929
  };
1930
+ export type MutationCreateChannelArgs = {
1931
+ input: CreateChannelInput;
1932
+ };
1933
+ export type MutationCreateChannelRoleArgs = {
1934
+ input: CreateGroupRoleInput;
1935
+ };
1521
1936
  export type MutationCreateCheckoutArgs = {
1522
1937
  input: CreateCheckoutInput;
1523
1938
  };
@@ -1548,6 +1963,12 @@ export type MutationDeleteActorArgs = {
1548
1963
  export type MutationDeleteAvatarArgs = {
1549
1964
  id: Scalars['BigInt']['input'];
1550
1965
  };
1966
+ export type MutationDeleteChannelArgs = {
1967
+ groupId: Scalars['BigInt']['input'];
1968
+ };
1969
+ export type MutationDeleteChannelRoleArgs = {
1970
+ groupRoleId: Scalars['BigInt']['input'];
1971
+ };
1551
1972
  export type MutationDeleteCpSecretArgs = {
1552
1973
  environmentId: Scalars['String']['input'];
1553
1974
  name: Scalars['String']['input'];
@@ -1573,6 +1994,55 @@ export type MutationDestroyEnvironmentArgs = {
1573
1994
  export type MutationForceLogoutUserArgs = {
1574
1995
  userId: Scalars['BigInt']['input'];
1575
1996
  };
1997
+ export type MutationGameModelAddEdgeArgs = {
1998
+ input: AddEdgeInput;
1999
+ };
2000
+ export type MutationGameModelCreateContainerArgs = {
2001
+ input: CreateContainerInput;
2002
+ };
2003
+ export type MutationGameModelCreateSessionArgs = {
2004
+ input: CreateSessionInput;
2005
+ };
2006
+ export type MutationGameModelDefineFeatureArgs = {
2007
+ input: DefineAppFeatureInput;
2008
+ };
2009
+ export type MutationGameModelDeleteFunctionArgs = {
2010
+ appId: Scalars['BigInt']['input'];
2011
+ name: Scalars['String']['input'];
2012
+ };
2013
+ export type MutationGameModelGrantTierFeatureArgs = {
2014
+ input: GrantTierFeatureInput;
2015
+ };
2016
+ export type MutationGameModelInvokeArgs = {
2017
+ input: InvokeFunctionInput;
2018
+ };
2019
+ export type MutationGameModelJoinSessionArgs = {
2020
+ input: JoinSessionInput;
2021
+ };
2022
+ export type MutationGameModelRevokeTierFeatureArgs = {
2023
+ input: GrantTierFeatureInput;
2024
+ };
2025
+ export type MutationGameModelSeedArgs = {
2026
+ input: SeedGameModelInput;
2027
+ };
2028
+ export type MutationGameModelSetPolicyArgs = {
2029
+ input: SetGameModelPolicyInput;
2030
+ };
2031
+ export type MutationGameModelSetPropertyArgs = {
2032
+ input: SetContainerPropertyInput;
2033
+ };
2034
+ export type MutationGameModelSetSessionTurnArgs = {
2035
+ input: SetSessionTurnInput;
2036
+ };
2037
+ export type MutationGameModelUpsertContainerTypeArgs = {
2038
+ input: UpsertContainerTypeInput;
2039
+ };
2040
+ export type MutationGameModelUpsertFunctionArgs = {
2041
+ input: UpsertFunctionInput;
2042
+ };
2043
+ export type MutationGameModelUpsertPropertyDefArgs = {
2044
+ input: UpsertPropertyDefInput;
2045
+ };
1576
2046
  export type MutationGrantAppAccessArgs = {
1577
2047
  input: GrantAppAccessInput;
1578
2048
  };
@@ -1585,15 +2055,28 @@ export type MutationIngestEnvironmentVersionArgs = {
1585
2055
  export type MutationInviteOrgMemberArgs = {
1586
2056
  input: InviteOrgMemberInput;
1587
2057
  };
2058
+ export type MutationJoinChannelArgs = {
2059
+ groupId: Scalars['BigInt']['input'];
2060
+ };
1588
2061
  export type MutationJoinTeamArgs = {
1589
2062
  groupId: Scalars['BigInt']['input'];
1590
2063
  };
2064
+ export type MutationLeaveChannelArgs = {
2065
+ groupId: Scalars['BigInt']['input'];
2066
+ };
1591
2067
  export type MutationLeaveTeamArgs = {
1592
2068
  groupId: Scalars['BigInt']['input'];
1593
2069
  };
1594
2070
  export type MutationLoginArgs = {
1595
2071
  loginUserInput: LoginUserInput;
1596
2072
  };
2073
+ export type MutationPublishAppToSharedArgs = {
2074
+ appId: Scalars['BigInt']['input'];
2075
+ cancelUrl?: InputMaybe<Scalars['String']['input']>;
2076
+ planId?: InputMaybe<Scalars['BigInt']['input']>;
2077
+ provider?: InputMaybe<PaymentProvider>;
2078
+ successUrl?: InputMaybe<Scalars['String']['input']>;
2079
+ };
1597
2080
  export type MutationPublishEnvironmentReleaseFromGameApiTagArgs = {
1598
2081
  input: PublishEnvironmentReleaseFromGameApiTagInput;
1599
2082
  };
@@ -1618,10 +2101,18 @@ export type MutationRedeployEnvironmentArgs = {
1618
2101
  export type MutationRegisterArgs = {
1619
2102
  registerUserInput: RegisterUserInput;
1620
2103
  };
2104
+ export type MutationRemoveChannelMemberArgs = {
2105
+ groupId: Scalars['BigInt']['input'];
2106
+ userId: Scalars['BigInt']['input'];
2107
+ };
1621
2108
  export type MutationRemoveOrgMemberArgs = {
1622
2109
  orgId: Scalars['BigInt']['input'];
1623
2110
  userId: Scalars['BigInt']['input'];
1624
2111
  };
2112
+ export type MutationRemoveSharedPaymentMethodArgs = {
2113
+ orgId: Scalars['BigInt']['input'];
2114
+ paymentMethodId: Scalars['BigInt']['input'];
2115
+ };
1625
2116
  export type MutationRemoveTeamMemberArgs = {
1626
2117
  groupId: Scalars['BigInt']['input'];
1627
2118
  userId: Scalars['BigInt']['input'];
@@ -1629,6 +2120,9 @@ export type MutationRemoveTeamMemberArgs = {
1629
2120
  export type MutationRequestPasswordResetArgs = {
1630
2121
  email: Scalars['String']['input'];
1631
2122
  };
2123
+ export type MutationRequestToJoinChannelArgs = {
2124
+ groupId: Scalars['BigInt']['input'];
2125
+ };
1632
2126
  export type MutationRequestToJoinTeamArgs = {
1633
2127
  groupId: Scalars['BigInt']['input'];
1634
2128
  };
@@ -1666,6 +2160,9 @@ export type MutationSendActorUpdateArgs = {
1666
2160
  export type MutationSendAudioPacketArgs = {
1667
2161
  input: ClientAudioPacketInput;
1668
2162
  };
2163
+ export type MutationSendChannelMessageArgs = {
2164
+ input: ChannelMessageInput;
2165
+ };
1669
2166
  export type MutationSendClientEventArgs = {
1670
2167
  input: ClientEventNotificationInput;
1671
2168
  };
@@ -1683,10 +2180,28 @@ export type MutationSetAppBudgetArgs = {
1683
2180
  monthlyLimitCents: Scalars['BigInt']['input'];
1684
2181
  orgId: Scalars['BigInt']['input'];
1685
2182
  };
2183
+ export type MutationSetAppSpendCapsArgs = {
2184
+ appId: Scalars['BigInt']['input'];
2185
+ dailyLimitCents?: InputMaybe<Scalars['BigInt']['input']>;
2186
+ hourlyLimitCents?: InputMaybe<Scalars['BigInt']['input']>;
2187
+ };
1686
2188
  export type MutationSetAppVisibilityArgs = {
1687
2189
  appId: Scalars['BigInt']['input'];
1688
2190
  visibility: AppVisibility;
1689
2191
  };
2192
+ export type MutationSetAutoBillingArgs = {
2193
+ enabled: Scalars['Boolean']['input'];
2194
+ limitCents?: InputMaybe<Scalars['BigInt']['input']>;
2195
+ lowWaterThresholdCents?: InputMaybe<Scalars['BigInt']['input']>;
2196
+ orgId: Scalars['BigInt']['input'];
2197
+ rechargeAmountCents?: InputMaybe<Scalars['BigInt']['input']>;
2198
+ };
2199
+ export type MutationSetChannelMemberRolesArgs = {
2200
+ input: SetMemberRolesInput;
2201
+ };
2202
+ export type MutationSetChannelPolicyArgs = {
2203
+ input: SetChannelPolicyInput;
2204
+ };
1690
2205
  export type MutationSetEarlyAccessOverrideArgs = {
1691
2206
  userId: Scalars['BigInt']['input'];
1692
2207
  value: Scalars['Boolean']['input'];
@@ -1719,6 +2234,9 @@ export type MutationSetTeamMemberRolesArgs = {
1719
2234
  export type MutationSetTeamPolicyArgs = {
1720
2235
  input: SetTeamPolicyInput;
1721
2236
  };
2237
+ export type MutationSetupSharedPaymentMethodArgs = {
2238
+ orgId: Scalars['BigInt']['input'];
2239
+ };
1722
2240
  export type MutationTeleportRequestArgs = {
1723
2241
  input: TeleportRequestInput;
1724
2242
  };
@@ -1749,6 +2267,12 @@ export type MutationUpdateAvatarStateArgs = {
1749
2267
  id: Scalars['BigInt']['input'];
1750
2268
  input: UpdateAvatarStateInput;
1751
2269
  };
2270
+ export type MutationUpdateChannelArgs = {
2271
+ input: UpdateChannelInput;
2272
+ };
2273
+ export type MutationUpdateChannelRoleArgs = {
2274
+ input: UpdateGroupRoleInput;
2275
+ };
1752
2276
  export type MutationUpdateChunkArgs = {
1753
2277
  input: ChunkUpdateInput;
1754
2278
  };
@@ -1814,6 +2338,20 @@ export type NearbyGridPermissionsInput = {
1814
2338
  lowChunk: ChunkCoordinatesInput;
1815
2339
  userId: Scalars['BigInt']['input'];
1816
2340
  };
2341
+ /** Org off-session auto-billing configuration. */
2342
+ export type OrgAutoBilling = {
2343
+ __typename?: 'OrgAutoBilling';
2344
+ autoBilledThisPeriodCents: Scalars['BigInt']['output'];
2345
+ enabled: Scalars['Boolean']['output'];
2346
+ hasPaymentMethod: Scalars['Boolean']['output'];
2347
+ lastError: Maybe<Scalars['String']['output']>;
2348
+ /** Max auto-billed per period in cents. Null = no limit. */
2349
+ limitCents: Maybe<Scalars['BigInt']['output']>;
2350
+ lowWaterThresholdCents: Scalars['BigInt']['output'];
2351
+ orgId: Scalars['BigInt']['output'];
2352
+ period: Scalars['String']['output'];
2353
+ rechargeAmountCents: Scalars['BigInt']['output'];
2354
+ };
1817
2355
  export type OrgMember = {
1818
2356
  __typename?: 'OrgMember';
1819
2357
  createdAt: Scalars['DateTime']['output'];
@@ -1914,11 +2452,37 @@ export type PaymentEventsPage = {
1914
2452
  items: Array<PaymentEventRecord>;
1915
2453
  pageInfo: PageInfo;
1916
2454
  };
2455
+ /** Stripe SetupIntent handle the browser uses to vault a card for auto-billing. */
2456
+ export type PaymentMethodSetup = {
2457
+ __typename?: 'PaymentMethodSetup';
2458
+ clientSecret: Maybe<Scalars['String']['output']>;
2459
+ externalCustomerId: Scalars['String']['output'];
2460
+ publishableKey: Maybe<Scalars['String']['output']>;
2461
+ };
1917
2462
  /** External payment processor for a checkout. */
1918
2463
  export declare enum PaymentProvider {
1919
2464
  Paypal = "PAYPAL",
1920
2465
  Stripe = "STRIPE"
1921
2466
  }
2467
+ /** Public platform discovery. Clients/SDKs read the shared game-api URL here to route apps deployed to the shared environment. */
2468
+ export type PlatformConfig = {
2469
+ __typename?: 'PlatformConfig';
2470
+ /** Free shared app slots an org gets before a paid subscription. */
2471
+ freeAppsPerOrg: Scalars['Int']['output'];
2472
+ /** Shared game-api HTTP/GraphQL root for shared-environment apps. */
2473
+ sharedGameApiUrl: Maybe<Scalars['String']['output']>;
2474
+ /** Shared game-api WebSocket root (subscriptions / UDP proxy). */
2475
+ sharedGameApiWsUrl: Maybe<Scalars['String']['output']>;
2476
+ };
2477
+ /** Result of publishing an app to the shared environment. Free path returns a runtime state with no checkout; paid path returns a checkout to redirect to. */
2478
+ export type PublishAppResult = {
2479
+ __typename?: 'PublishAppResult';
2480
+ appId: Scalars['BigInt']['output'];
2481
+ /** Subscription checkout to redirect to (paid path only). */
2482
+ checkout: Maybe<Checkout>;
2483
+ /** True when published under the free quota (no payment). */
2484
+ free: Scalars['Boolean']['output'];
2485
+ };
1922
2486
  export type PublishEnvironmentReleaseFromGameApiTagInput = {
1923
2487
  /** Overwrite an existing environment version row if it already exists. */
1924
2488
  force?: Scalars['Boolean']['input'];
@@ -1943,6 +2507,9 @@ export type Query = {
1943
2507
  appBySlug: Maybe<App>;
1944
2508
  /** Top GraphQL operations by bytes for an app in the time range. */
1945
2509
  appGraphqlOperations: Array<GraphqlOperationUsageRow>;
2510
+ /** Shared-environment runtime gate + current billing-window usage for an app. */
2511
+ appRuntimeState: AppRuntimeState;
2512
+ appSharedSubscription: Maybe<AppSharedSubscription>;
1946
2513
  /** Replication and GraphQL totals plus top operations for one app. */
1947
2514
  appUsageSummary: AppUsageSummary;
1948
2515
  appUserAccessByApp: Array<AppUserAccess>;
@@ -1955,6 +2522,16 @@ export type Query = {
1955
2522
  /** Batch-read per-app state for many avatars (public to all players). */
1956
2523
  avatarAppStates: Array<AppAvatarState>;
1957
2524
  batchLookupActors: Array<Actor>;
2525
+ /** Fetch one channel by id. */
2526
+ channel: Group;
2527
+ /** List the members of a channel. */
2528
+ channelMembers: Array<GroupMember>;
2529
+ /** The current channel creation/membership policy for an app. */
2530
+ channelPolicy: AppGroupPolicy;
2531
+ /** List the roles of a channel. */
2532
+ channelRoles: Array<GroupRole>;
2533
+ /** List active channels in an app. */
2534
+ channels: Array<Group>;
1958
2535
  /** Super admin only. Cross-tenant payments audit. */
1959
2536
  checkouts: CheckoutsPage;
1960
2537
  cpAudit: Array<CpAuditEntry>;
@@ -1986,6 +2563,21 @@ export type Query = {
1986
2563
  gameClientBootstrap: GameClientBootstrap;
1987
2564
  /** Returns the single elected host user for an app (game). Deterministic across all cks-game-api replicas behind the LB: the user whose earliest still-connected actor row was created first wins, with a uuid tiebreaker. Returns null when no actors exist for the app. Stale actors (no recent actorHeartbeat) are excluded once HOST_ACTOR_FRESHNESS_SECONDS is enabled. Clients should poll; there is no host-change subscription in v1. */
1988
2565
  gameHost: Maybe<GameHost>;
2566
+ gameModelContainer: GmContainer;
2567
+ gameModelContainerState: GmContainerState;
2568
+ gameModelContainerTypes: Array<GmContainerType>;
2569
+ gameModelContainers: Array<GmContainer>;
2570
+ gameModelEvents: Array<GmEvent>;
2571
+ gameModelFeatures: Array<GmAppFeature>;
2572
+ gameModelFunction: GmFunction;
2573
+ gameModelFunctions: Array<GmFunction>;
2574
+ gameModelPolicy: GmAppPolicy;
2575
+ gameModelPropertyDefs: Array<GmPropertyDef>;
2576
+ gameModelSession: GmSession;
2577
+ gameModelSessions: Array<GmSession>;
2578
+ gameModelTierFeatures: Array<GmTierFeature>;
2579
+ gameModelTraverse: GmTraverseResult;
2580
+ gameModelTypeSchema: GmTypeSchema;
1989
2581
  getChunk: Maybe<Chunk>;
1990
2582
  getChunkLods: Maybe<ChunkLodsResponse>;
1991
2583
  getChunksByDistance: ChunksByDistanceResponse;
@@ -2003,6 +2595,8 @@ export type Query = {
2003
2595
  /** Apps the caller can see: org member OR active app_user_access. */
2004
2596
  myApps: Array<App>;
2005
2597
  myAvatars: Array<AvatarDto>;
2598
+ /** The caller's channels in an app, with their roles and effective channel permissions. */
2599
+ myChannels: Array<GroupMembership>;
2006
2600
  myCheckouts: CheckoutsPage;
2007
2601
  myDonationData: UserDonationData;
2008
2602
  myOrganizations: Array<OrgMembership>;
@@ -2011,9 +2605,12 @@ export type Query = {
2011
2605
  myTeams: Array<GroupMembership>;
2012
2606
  nearbyGridPermissions: Array<NearbyGridPermissions>;
2013
2607
  operatorUsers: Array<CpOperatorUser>;
2608
+ orgAutoBilling: OrgAutoBilling;
2014
2609
  orgEnvironment: Maybe<CksEnvironmentDetail>;
2015
2610
  orgEnvironments: Array<CksEnvironment>;
2611
+ orgFreeAppQuota: FreeAppQuota;
2016
2612
  orgMembers: Array<OrgMember>;
2613
+ orgPaymentMethods: Array<SavedPaymentMethod>;
2017
2614
  /** The full seed list of permission keys. Used by the UI to render role editors. */
2018
2615
  orgPermissions: Array<OrgPermission>;
2019
2616
  orgRoles: Array<OrgRole>;
@@ -2024,12 +2621,16 @@ export type Query = {
2024
2621
  organizationBySlug: Maybe<Organization>;
2025
2622
  /** Super admin only. Inbound payment webhook audit log. */
2026
2623
  paymentEvents: PaymentEventsPage;
2624
+ /** Public platform discovery. Returns the shared game-api URL clients use for shared-environment apps. No auth required. */
2625
+ platformConfig: PlatformConfig;
2027
2626
  quotasForApp: Array<ServiceQuota>;
2028
2627
  quotasForOrg: Array<ServiceQuota>;
2029
2628
  /** Runtime permission keys that can be granted through app tiers or grid permissions. */
2030
2629
  runtimePermissions: Array<Scalars['String']['output']>;
2031
2630
  /** Returns a random server from the lowest 20% of servers by client count to distribute load evenly */
2032
2631
  serverWithLeastClients: ServerStatus;
2632
+ /** Public catalog of paid shared-environment app-slot subscription plans. */
2633
+ sharedEnvPlans: Array<SharedEnvPlan>;
2033
2634
  /** Fetch one team by id. */
2034
2635
  team: Group;
2035
2636
  /** List the members of a team. */
@@ -2084,6 +2685,12 @@ export type QueryAppGraphqlOperationsArgs = {
2084
2685
  orgId: Scalars['BigInt']['input'];
2085
2686
  since: Scalars['DateTime']['input'];
2086
2687
  };
2688
+ export type QueryAppRuntimeStateArgs = {
2689
+ appId: Scalars['BigInt']['input'];
2690
+ };
2691
+ export type QueryAppSharedSubscriptionArgs = {
2692
+ appId: Scalars['BigInt']['input'];
2693
+ };
2087
2694
  export type QueryAppUsageSummaryArgs = {
2088
2695
  appId: Scalars['BigInt']['input'];
2089
2696
  operationLimit?: InputMaybe<Scalars['Int']['input']>;
@@ -2118,6 +2725,21 @@ export type QueryAvatarAppStatesArgs = {
2118
2725
  export type QueryBatchLookupActorsArgs = {
2119
2726
  input: BatchActorLookupInput;
2120
2727
  };
2728
+ export type QueryChannelArgs = {
2729
+ groupId: Scalars['BigInt']['input'];
2730
+ };
2731
+ export type QueryChannelMembersArgs = {
2732
+ groupId: Scalars['BigInt']['input'];
2733
+ };
2734
+ export type QueryChannelPolicyArgs = {
2735
+ appId: Scalars['BigInt']['input'];
2736
+ };
2737
+ export type QueryChannelRolesArgs = {
2738
+ groupId: Scalars['BigInt']['input'];
2739
+ };
2740
+ export type QueryChannelsArgs = {
2741
+ appId: Scalars['BigInt']['input'];
2742
+ };
2121
2743
  export type QueryCheckoutsArgs = {
2122
2744
  filter?: InputMaybe<CheckoutFilterInput>;
2123
2745
  limit?: InputMaybe<Scalars['Int']['input']>;
@@ -2183,6 +2805,71 @@ export type QueryGameClientBootstrapArgs = {
2183
2805
  export type QueryGameHostArgs = {
2184
2806
  appId: Scalars['BigInt']['input'];
2185
2807
  };
2808
+ export type QueryGameModelContainerArgs = {
2809
+ appId: Scalars['BigInt']['input'];
2810
+ containerId: Scalars['String']['input'];
2811
+ };
2812
+ export type QueryGameModelContainerStateArgs = {
2813
+ appId: Scalars['BigInt']['input'];
2814
+ containerId: Scalars['String']['input'];
2815
+ };
2816
+ export type QueryGameModelContainerTypesArgs = {
2817
+ appId: Scalars['BigInt']['input'];
2818
+ };
2819
+ export type QueryGameModelContainersArgs = {
2820
+ appId: Scalars['BigInt']['input'];
2821
+ sessionId?: InputMaybe<Scalars['String']['input']>;
2822
+ typeName?: InputMaybe<Scalars['String']['input']>;
2823
+ };
2824
+ export type QueryGameModelEventsArgs = {
2825
+ appId: Scalars['BigInt']['input'];
2826
+ functionName?: InputMaybe<Scalars['String']['input']>;
2827
+ limit?: InputMaybe<Scalars['Int']['input']>;
2828
+ offset?: InputMaybe<Scalars['Int']['input']>;
2829
+ selfContainerId?: InputMaybe<Scalars['String']['input']>;
2830
+ sessionId?: InputMaybe<Scalars['String']['input']>;
2831
+ success?: InputMaybe<Scalars['Boolean']['input']>;
2832
+ };
2833
+ export type QueryGameModelFeaturesArgs = {
2834
+ appId: Scalars['BigInt']['input'];
2835
+ };
2836
+ export type QueryGameModelFunctionArgs = {
2837
+ appId: Scalars['BigInt']['input'];
2838
+ name: Scalars['String']['input'];
2839
+ };
2840
+ export type QueryGameModelFunctionsArgs = {
2841
+ appId: Scalars['BigInt']['input'];
2842
+ containerTypeName?: InputMaybe<Scalars['String']['input']>;
2843
+ };
2844
+ export type QueryGameModelPolicyArgs = {
2845
+ appId: Scalars['BigInt']['input'];
2846
+ };
2847
+ export type QueryGameModelPropertyDefsArgs = {
2848
+ appId: Scalars['BigInt']['input'];
2849
+ typeName: Scalars['String']['input'];
2850
+ };
2851
+ export type QueryGameModelSessionArgs = {
2852
+ appId: Scalars['BigInt']['input'];
2853
+ sessionId: Scalars['String']['input'];
2854
+ };
2855
+ export type QueryGameModelSessionsArgs = {
2856
+ appId: Scalars['BigInt']['input'];
2857
+ status?: InputMaybe<Scalars['String']['input']>;
2858
+ };
2859
+ export type QueryGameModelTierFeaturesArgs = {
2860
+ appId: Scalars['BigInt']['input'];
2861
+ tierId?: InputMaybe<Scalars['BigInt']['input']>;
2862
+ };
2863
+ export type QueryGameModelTraverseArgs = {
2864
+ appId: Scalars['BigInt']['input'];
2865
+ depth?: InputMaybe<Scalars['Int']['input']>;
2866
+ relationshipType: Scalars['String']['input'];
2867
+ rootId: Scalars['String']['input'];
2868
+ };
2869
+ export type QueryGameModelTypeSchemaArgs = {
2870
+ appId: Scalars['BigInt']['input'];
2871
+ typeName: Scalars['String']['input'];
2872
+ };
2186
2873
  export type QueryGetChunkArgs = {
2187
2874
  input: GetChunkInput;
2188
2875
  };
@@ -2221,6 +2908,9 @@ export type QueryMemberRolesArgs = {
2221
2908
  export type QueryMyAppAccessArgs = {
2222
2909
  appId: Scalars['BigInt']['input'];
2223
2910
  };
2911
+ export type QueryMyChannelsArgs = {
2912
+ appId: Scalars['BigInt']['input'];
2913
+ };
2224
2914
  export type QueryMyCheckoutsArgs = {
2225
2915
  limit?: InputMaybe<Scalars['Int']['input']>;
2226
2916
  offset?: InputMaybe<Scalars['Int']['input']>;
@@ -2231,6 +2921,9 @@ export type QueryMyTeamsArgs = {
2231
2921
  export type QueryNearbyGridPermissionsArgs = {
2232
2922
  input: NearbyGridPermissionsInput;
2233
2923
  };
2924
+ export type QueryOrgAutoBillingArgs = {
2925
+ orgId: Scalars['BigInt']['input'];
2926
+ };
2234
2927
  export type QueryOrgEnvironmentArgs = {
2235
2928
  orgId: Scalars['BigInt']['input'];
2236
2929
  slug: Scalars['String']['input'];
@@ -2238,9 +2931,15 @@ export type QueryOrgEnvironmentArgs = {
2238
2931
  export type QueryOrgEnvironmentsArgs = {
2239
2932
  orgId: Scalars['BigInt']['input'];
2240
2933
  };
2934
+ export type QueryOrgFreeAppQuotaArgs = {
2935
+ orgId: Scalars['BigInt']['input'];
2936
+ };
2241
2937
  export type QueryOrgMembersArgs = {
2242
2938
  orgId: Scalars['BigInt']['input'];
2243
2939
  };
2940
+ export type QueryOrgPaymentMethodsArgs = {
2941
+ orgId: Scalars['BigInt']['input'];
2942
+ };
2244
2943
  export type QueryOrgRolesArgs = {
2245
2944
  orgId: Scalars['BigInt']['input'];
2246
2945
  };
@@ -2379,6 +3078,77 @@ export type RollbackVoxelUpdatesInput = {
2379
3078
  to: Scalars['DateTime']['input'];
2380
3079
  userId: Scalars['BigInt']['input'];
2381
3080
  };
3081
+ /** A saved (vaulted) off-session payment method. */
3082
+ export type SavedPaymentMethod = {
3083
+ __typename?: 'SavedPaymentMethod';
3084
+ brand: Maybe<Scalars['String']['output']>;
3085
+ isDefault: Scalars['Boolean']['output'];
3086
+ last4: Maybe<Scalars['String']['output']>;
3087
+ paymentMethodId: Scalars['BigInt']['output'];
3088
+ provider: Scalars['String']['output'];
3089
+ status: Scalars['String']['output'];
3090
+ };
3091
+ export type SeedContainerInput = {
3092
+ description?: InputMaybe<Scalars['String']['input']>;
3093
+ displayName: Scalars['String']['input'];
3094
+ metadataJson?: InputMaybe<Scalars['String']['input']>;
3095
+ ownerUserId?: InputMaybe<Scalars['BigInt']['input']>;
3096
+ properties?: InputMaybe<Array<SeedPropertyInput>>;
3097
+ /** Developer-assigned id used only for edge references in this seed. */
3098
+ tempId: Scalars['String']['input'];
3099
+ typeName: Scalars['String']['input'];
3100
+ };
3101
+ export type SeedContainerTypeInput = {
3102
+ defaultPropertyVisibility?: InputMaybe<Scalars['String']['input']>;
3103
+ description?: InputMaybe<Scalars['String']['input']>;
3104
+ displayName: Scalars['String']['input'];
3105
+ instantiableBy?: InputMaybe<Scalars['String']['input']>;
3106
+ metadataJson?: InputMaybe<Scalars['String']['input']>;
3107
+ typeName: Scalars['String']['input'];
3108
+ };
3109
+ export type SeedEdgeInput = {
3110
+ fromTempId: Scalars['String']['input'];
3111
+ metadataJson?: InputMaybe<Scalars['String']['input']>;
3112
+ relationshipType: Scalars['String']['input'];
3113
+ toTempId: Scalars['String']['input'];
3114
+ weight?: InputMaybe<Scalars['Float']['input']>;
3115
+ };
3116
+ export type SeedFunctionInput = {
3117
+ containerTypeName?: InputMaybe<Scalars['String']['input']>;
3118
+ description?: InputMaybe<Scalars['String']['input']>;
3119
+ invokePolicyJson?: InputMaybe<Scalars['String']['input']>;
3120
+ invokeScope?: InputMaybe<Scalars['String']['input']>;
3121
+ mutations?: InputMaybe<Array<FunctionMutationInput>>;
3122
+ name: Scalars['String']['input'];
3123
+ parameters?: InputMaybe<Array<FunctionParamInput>>;
3124
+ returnExpression?: InputMaybe<Scalars['String']['input']>;
3125
+ returnType?: InputMaybe<Scalars['String']['input']>;
3126
+ };
3127
+ export type SeedGameModelInput = {
3128
+ appId: Scalars['BigInt']['input'];
3129
+ containerTypes?: InputMaybe<Array<SeedContainerTypeInput>>;
3130
+ containers?: InputMaybe<Array<SeedContainerInput>>;
3131
+ edges?: InputMaybe<Array<SeedEdgeInput>>;
3132
+ functions?: InputMaybe<Array<SeedFunctionInput>>;
3133
+ propertyDefinitions?: InputMaybe<Array<SeedPropertyDefInput>>;
3134
+ /** Optional session to seed instances into (NULL = app-global). */
3135
+ sessionId?: InputMaybe<Scalars['String']['input']>;
3136
+ };
3137
+ export type SeedPropertyDefInput = {
3138
+ containerTypeName: Scalars['String']['input'];
3139
+ defaultValueJson?: InputMaybe<Scalars['String']['input']>;
3140
+ description?: InputMaybe<Scalars['String']['input']>;
3141
+ key: Scalars['String']['input'];
3142
+ valueType: Scalars['String']['input'];
3143
+ visibility?: InputMaybe<Scalars['String']['input']>;
3144
+ writable?: InputMaybe<Scalars['String']['input']>;
3145
+ };
3146
+ export type SeedPropertyInput = {
3147
+ key: Scalars['String']['input'];
3148
+ /** JSON-encoded value. */
3149
+ valueJson: Scalars['String']['input'];
3150
+ valueType: Scalars['String']['input'];
3151
+ };
2382
3152
  /** Notification received when the server sends a custom event. Received via the udpNotifications subscription. */
2383
3153
  export type ServerEventNotification = {
2384
3154
  __typename?: 'ServerEventNotification';
@@ -2454,6 +3224,29 @@ export type ServiceQuota = {
2454
3224
  tierId: Maybe<Scalars['BigInt']['output']>;
2455
3225
  updatedAt: Scalars['DateTime']['output'];
2456
3226
  };
3227
+ export type SetChannelPolicyInput = {
3228
+ appId: Scalars['BigInt']['input'];
3229
+ /** admin | member | anyone. Who may create channels in this app. */
3230
+ creationPolicy?: InputMaybe<Scalars['String']['input']>;
3231
+ /** open | request | invite | admin. Default membership policy for new channels. */
3232
+ defaultMembershipPolicy?: InputMaybe<Scalars['String']['input']>;
3233
+ maxGroupsPerUser?: InputMaybe<Scalars['Int']['input']>;
3234
+ maxMembers?: InputMaybe<Scalars['Int']['input']>;
3235
+ };
3236
+ export type SetContainerPropertyInput = {
3237
+ appId: Scalars['BigInt']['input'];
3238
+ containerId: Scalars['String']['input'];
3239
+ key: Scalars['String']['input'];
3240
+ /** JSON-encoded value. */
3241
+ valueJson: Scalars['String']['input'];
3242
+ valueType: Scalars['String']['input'];
3243
+ };
3244
+ export type SetGameModelPolicyInput = {
3245
+ appId: Scalars['BigInt']['input'];
3246
+ defaultParticipantRole?: InputMaybe<Scalars['String']['input']>;
3247
+ /** admin | member | anyone */
3248
+ sessionCreationPolicy?: InputMaybe<Scalars['String']['input']>;
3249
+ };
2457
3250
  export type SetGridPermissionLimitsInput = {
2458
3251
  appId: Scalars['BigInt']['input'];
2459
3252
  gridId: Scalars['BigInt']['input'];
@@ -2474,15 +3267,32 @@ export type SetQuotaInput = {
2474
3267
  period?: InputMaybe<Scalars['String']['input']>;
2475
3268
  tierId?: InputMaybe<Scalars['BigInt']['input']>;
2476
3269
  };
2477
- export type SetTeamPolicyInput = {
3270
+ export type SetSessionTurnInput = {
2478
3271
  appId: Scalars['BigInt']['input'];
2479
- /** admin | member | anyone. Who may create teams in this app. */
3272
+ sessionId: Scalars['String']['input'];
3273
+ /** The user whose turn it now is (NULL clears the turn). */
3274
+ userId?: InputMaybe<Scalars['BigInt']['input']>;
3275
+ };
3276
+ export type SetTeamPolicyInput = {
3277
+ appId: Scalars['BigInt']['input'];
3278
+ /** admin | member | anyone. Who may create teams in this app. */
2480
3279
  creationPolicy?: InputMaybe<Scalars['String']['input']>;
2481
3280
  /** open | request | invite | admin. Default membership policy for new teams. */
2482
3281
  defaultMembershipPolicy?: InputMaybe<Scalars['String']['input']>;
2483
3282
  maxGroupsPerUser?: InputMaybe<Scalars['Int']['input']>;
2484
3283
  maxMembers?: InputMaybe<Scalars['Int']['input']>;
2485
3284
  };
3285
+ export type SharedEnvPlan = {
3286
+ __typename?: 'SharedEnvPlan';
3287
+ billingInterval: Scalars['String']['output'];
3288
+ code: Scalars['String']['output'];
3289
+ currency: Scalars['String']['output'];
3290
+ description: Maybe<Scalars['String']['output']>;
3291
+ name: Scalars['String']['output'];
3292
+ planId: Scalars['BigInt']['output'];
3293
+ priceCents: Scalars['BigInt']['output'];
3294
+ status: Scalars['String']['output'];
3295
+ };
2486
3296
  /** Input for sending an actor-to-actor message: a message delivered only to the single actor identified by targetUuid. It is spatially routed (the sender must know the destination actor’s chunk), but unlike normal spatial messages it is NOT broadcast to other nearby actors and has no distance/decay. */
2487
3297
  export type SingleActorMessageInput = {
2488
3298
  /** The ID of the app the destination actor belongs to. */
@@ -2518,9 +3328,15 @@ export type SingleActorMessageNotification = {
2518
3328
  };
2519
3329
  export type Subscription = {
2520
3330
  __typename?: 'Subscription';
3331
+ /** Realtime stream of successful function-invocation events for an app, optionally narrowed to one session. Backed by Postgres NOTIFY so it fans out across game-api replicas without Buddy. Poll gameModelEvents if you prefer pull-based delivery. */
3332
+ gameModelEventStream: Maybe<GmEvent>;
2521
3333
  /** Downlink from the game server (responses, notifications, GenericErrorResponse, and RealtimeConnectionEvent). On subscribe, opens a UDP proxy session if none exists (least-loaded server). Connection failures are delivered as RealtimeConnectionEvent. Unsubscribing stops delivery only; call disconnectUdpProxy to release the session. */
2522
3334
  udpNotifications: Maybe<UdpNotification>;
2523
3335
  };
3336
+ export type SubscriptionGameModelEventStreamArgs = {
3337
+ appId: Scalars['BigInt']['input'];
3338
+ sessionId?: InputMaybe<Scalars['String']['input']>;
3339
+ };
2524
3340
  export type TeleportRequestInput = {
2525
3341
  appId: Scalars['BigInt']['input'];
2526
3342
  chunkAddress: ChunkCoordinatesInput;
@@ -2565,7 +3381,7 @@ export declare enum UdpErrorCode {
2565
3381
  UserNotAuthenticated = "USER_NOT_AUTHENTICATED"
2566
3382
  }
2567
3383
  /** All game-server messages delivered over the UDP proxy as GraphQL payloads. Subscribe to udpNotifications before or with sending mutations so responses and GenericErrorResponse (correlate via sequenceNumber) are not missed. */
2568
- export type UdpNotification = ActorUpdateNotification | ActorUpdateResponse | ClientAudioNotification | ClientEventNotification | ClientTextNotification | GenericErrorResponse | RealtimeConnectionEvent | ServerEventNotification | SingleActorMessageNotification | VoxelUpdateNotification | VoxelUpdateResponse;
3384
+ export type UdpNotification = ActorUpdateNotification | ActorUpdateResponse | ChannelMessageNotification | ClientAudioNotification | ClientEventNotification | ClientTextNotification | GenericErrorResponse | RealtimeConnectionEvent | ServerEventNotification | SingleActorMessageNotification | VoxelUpdateNotification | VoxelUpdateResponse;
2569
3385
  /** UDP proxy session for the game token on the request. Returned by udpProxyConnectionStatus and connectUdpProxy. Binary UDP layouts are documented in database/client-wire-formats.md. */
2570
3386
  export type UdpProxyConnectionStatus = {
2571
3387
  __typename?: 'UdpProxyConnectionStatus';
@@ -2622,6 +3438,12 @@ export type UpdateAvatarStateInput = {
2622
3438
  privateState?: InputMaybe<Scalars['String']['input']>;
2623
3439
  publicState?: InputMaybe<Scalars['String']['input']>;
2624
3440
  };
3441
+ export type UpdateChannelInput = {
3442
+ description?: InputMaybe<Scalars['String']['input']>;
3443
+ groupId: Scalars['BigInt']['input'];
3444
+ membershipPolicy?: InputMaybe<Scalars['String']['input']>;
3445
+ name?: InputMaybe<Scalars['String']['input']>;
3446
+ };
2625
3447
  export type UpdateChunkLodsInput = {
2626
3448
  appId: Scalars['BigInt']['input'];
2627
3449
  coordinates: ChunkCoordinatesInput;
@@ -2679,6 +3501,46 @@ export type UpdateVoxelInput = {
2679
3501
  state?: InputMaybe<Scalars['String']['input']>;
2680
3502
  voxelType: Scalars['Float']['input'];
2681
3503
  };
3504
+ export type UpsertContainerTypeInput = {
3505
+ appId: Scalars['BigInt']['input'];
3506
+ /** public | owner | hidden default for this type's properties. */
3507
+ defaultPropertyVisibility?: InputMaybe<Scalars['String']['input']>;
3508
+ description?: InputMaybe<Scalars['String']['input']>;
3509
+ displayName: Scalars['String']['input'];
3510
+ /** admin | member | owner (who may instantiate this type). */
3511
+ instantiableBy?: InputMaybe<Scalars['String']['input']>;
3512
+ /** JSON object of metadata. */
3513
+ metadataJson?: InputMaybe<Scalars['String']['input']>;
3514
+ typeName: Scalars['String']['input'];
3515
+ };
3516
+ export type UpsertFunctionInput = {
3517
+ appId: Scalars['BigInt']['input'];
3518
+ containerTypeName?: InputMaybe<Scalars['String']['input']>;
3519
+ description?: InputMaybe<Scalars['String']['input']>;
3520
+ /** JSON-encoded invoke-policy rule tree (authority requirements). */
3521
+ invokePolicyJson?: InputMaybe<Scalars['String']['input']>;
3522
+ /** player | server | internal */
3523
+ invokeScope?: InputMaybe<Scalars['String']['input']>;
3524
+ mutations?: InputMaybe<Array<FunctionMutationInput>>;
3525
+ name: Scalars['String']['input'];
3526
+ parameters?: InputMaybe<Array<FunctionParamInput>>;
3527
+ returnExpression?: InputMaybe<Scalars['String']['input']>;
3528
+ returnType?: InputMaybe<Scalars['String']['input']>;
3529
+ };
3530
+ export type UpsertPropertyDefInput = {
3531
+ appId: Scalars['BigInt']['input'];
3532
+ containerTypeName: Scalars['String']['input'];
3533
+ /** JSON-encoded default value. */
3534
+ defaultValueJson?: InputMaybe<Scalars['String']['input']>;
3535
+ description?: InputMaybe<Scalars['String']['input']>;
3536
+ key: Scalars['String']['input'];
3537
+ /** int | float | string | bool | array | object | container_ref */
3538
+ valueType: Scalars['String']['input'];
3539
+ /** public | owner | hidden */
3540
+ visibility?: InputMaybe<Scalars['String']['input']>;
3541
+ /** function | owner | admin */
3542
+ writable?: InputMaybe<Scalars['String']['input']>;
3543
+ };
2682
3544
  export type UsageMinuteRow = {
2683
3545
  __typename?: 'UsageMinuteRow';
2684
3546
  minute: Scalars['DateTime']['output'];
@@ -3207,6 +4069,9 @@ export type AppQuery = {
3207
4069
  status: AppStatus;
3208
4070
  metadata: string | null;
3209
4071
  splitMode: boolean;
4072
+ deploymentTarget: string;
4073
+ runtimeStatus: string;
4074
+ runtimeDenialReason: string | null;
3210
4075
  gameApiUrl: string | null;
3211
4076
  createdAt: string;
3212
4077
  updatedAt: string;
@@ -3586,6 +4451,332 @@ export type WalletTransactionsQuery = {
3586
4451
  createdAt: string;
3587
4452
  }>;
3588
4453
  };
4454
+ export type AddChannelMemberMutationVariables = Exact<{
4455
+ groupId: Scalars['BigInt']['input'];
4456
+ userId: Scalars['BigInt']['input'];
4457
+ }>;
4458
+ export type AddChannelMemberMutation = {
4459
+ __typename?: 'Mutation';
4460
+ addChannelMember: {
4461
+ __typename?: 'GroupMember';
4462
+ groupMemberId: string;
4463
+ groupId: string;
4464
+ userId: string;
4465
+ status: string;
4466
+ createdAt: string;
4467
+ roles: Array<{
4468
+ __typename?: 'GroupRole';
4469
+ groupRoleId: string;
4470
+ roleName: string;
4471
+ rank: number;
4472
+ isSystem: boolean;
4473
+ permissions: Array<string>;
4474
+ }>;
4475
+ };
4476
+ };
4477
+ export type ChannelQueryVariables = Exact<{
4478
+ groupId: Scalars['BigInt']['input'];
4479
+ }>;
4480
+ export type ChannelQuery = {
4481
+ __typename?: 'Query';
4482
+ channel: {
4483
+ __typename?: 'Group';
4484
+ groupId: string;
4485
+ appId: string;
4486
+ groupType: string;
4487
+ name: string;
4488
+ description: string | null;
4489
+ ownerUserId: string | null;
4490
+ membershipPolicy: string;
4491
+ status: string;
4492
+ defaultRoleId: string | null;
4493
+ createdAt: string;
4494
+ };
4495
+ };
4496
+ export type ChannelMembersQueryVariables = Exact<{
4497
+ groupId: Scalars['BigInt']['input'];
4498
+ }>;
4499
+ export type ChannelMembersQuery = {
4500
+ __typename?: 'Query';
4501
+ channelMembers: Array<{
4502
+ __typename?: 'GroupMember';
4503
+ groupMemberId: string;
4504
+ groupId: string;
4505
+ userId: string;
4506
+ status: string;
4507
+ createdAt: string;
4508
+ roles: Array<{
4509
+ __typename?: 'GroupRole';
4510
+ groupRoleId: string;
4511
+ roleName: string;
4512
+ rank: number;
4513
+ isSystem: boolean;
4514
+ permissions: Array<string>;
4515
+ }>;
4516
+ }>;
4517
+ };
4518
+ export type ChannelPolicyQueryVariables = Exact<{
4519
+ appId: Scalars['BigInt']['input'];
4520
+ }>;
4521
+ export type ChannelPolicyQuery = {
4522
+ __typename?: 'Query';
4523
+ channelPolicy: {
4524
+ __typename?: 'AppGroupPolicy';
4525
+ appId: string;
4526
+ groupType: string;
4527
+ creationPolicy: string;
4528
+ defaultMembershipPolicy: string;
4529
+ maxMembers: number | null;
4530
+ maxGroupsPerUser: number | null;
4531
+ };
4532
+ };
4533
+ export type ChannelRolesQueryVariables = Exact<{
4534
+ groupId: Scalars['BigInt']['input'];
4535
+ }>;
4536
+ export type ChannelRolesQuery = {
4537
+ __typename?: 'Query';
4538
+ channelRoles: Array<{
4539
+ __typename?: 'GroupRole';
4540
+ groupRoleId: string;
4541
+ groupId: string;
4542
+ roleName: string;
4543
+ rank: number;
4544
+ isSystem: boolean;
4545
+ permissions: Array<string>;
4546
+ createdAt: string;
4547
+ }>;
4548
+ };
4549
+ export type ChannelsQueryVariables = Exact<{
4550
+ appId: Scalars['BigInt']['input'];
4551
+ }>;
4552
+ export type ChannelsQuery = {
4553
+ __typename?: 'Query';
4554
+ channels: Array<{
4555
+ __typename?: 'Group';
4556
+ groupId: string;
4557
+ appId: string;
4558
+ groupType: string;
4559
+ name: string;
4560
+ description: string | null;
4561
+ ownerUserId: string | null;
4562
+ membershipPolicy: string;
4563
+ status: string;
4564
+ defaultRoleId: string | null;
4565
+ createdAt: string;
4566
+ }>;
4567
+ };
4568
+ export type CreateChannelMutationVariables = Exact<{
4569
+ input: CreateChannelInput;
4570
+ }>;
4571
+ export type CreateChannelMutation = {
4572
+ __typename?: 'Mutation';
4573
+ createChannel: {
4574
+ __typename?: 'Group';
4575
+ groupId: string;
4576
+ appId: string;
4577
+ groupType: string;
4578
+ name: string;
4579
+ description: string | null;
4580
+ ownerUserId: string | null;
4581
+ membershipPolicy: string;
4582
+ status: string;
4583
+ defaultRoleId: string | null;
4584
+ createdAt: string;
4585
+ };
4586
+ };
4587
+ export type CreateChannelRoleMutationVariables = Exact<{
4588
+ input: CreateGroupRoleInput;
4589
+ }>;
4590
+ export type CreateChannelRoleMutation = {
4591
+ __typename?: 'Mutation';
4592
+ createChannelRole: {
4593
+ __typename?: 'GroupRole';
4594
+ groupRoleId: string;
4595
+ groupId: string;
4596
+ roleName: string;
4597
+ rank: number;
4598
+ isSystem: boolean;
4599
+ permissions: Array<string>;
4600
+ createdAt: string;
4601
+ };
4602
+ };
4603
+ export type DeleteChannelMutationVariables = Exact<{
4604
+ groupId: Scalars['BigInt']['input'];
4605
+ }>;
4606
+ export type DeleteChannelMutation = {
4607
+ __typename?: 'Mutation';
4608
+ deleteChannel: boolean;
4609
+ };
4610
+ export type DeleteChannelRoleMutationVariables = Exact<{
4611
+ groupRoleId: Scalars['BigInt']['input'];
4612
+ }>;
4613
+ export type DeleteChannelRoleMutation = {
4614
+ __typename?: 'Mutation';
4615
+ deleteChannelRole: boolean;
4616
+ };
4617
+ export type JoinChannelMutationVariables = Exact<{
4618
+ groupId: Scalars['BigInt']['input'];
4619
+ }>;
4620
+ export type JoinChannelMutation = {
4621
+ __typename?: 'Mutation';
4622
+ joinChannel: {
4623
+ __typename?: 'GroupMember';
4624
+ groupMemberId: string;
4625
+ groupId: string;
4626
+ userId: string;
4627
+ status: string;
4628
+ createdAt: string;
4629
+ roles: Array<{
4630
+ __typename?: 'GroupRole';
4631
+ groupRoleId: string;
4632
+ roleName: string;
4633
+ rank: number;
4634
+ isSystem: boolean;
4635
+ permissions: Array<string>;
4636
+ }>;
4637
+ };
4638
+ };
4639
+ export type LeaveChannelMutationVariables = Exact<{
4640
+ groupId: Scalars['BigInt']['input'];
4641
+ }>;
4642
+ export type LeaveChannelMutation = {
4643
+ __typename?: 'Mutation';
4644
+ leaveChannel: boolean;
4645
+ };
4646
+ export type MyChannelsQueryVariables = Exact<{
4647
+ appId: Scalars['BigInt']['input'];
4648
+ }>;
4649
+ export type MyChannelsQuery = {
4650
+ __typename?: 'Query';
4651
+ myChannels: Array<{
4652
+ __typename?: 'GroupMembership';
4653
+ permissions: Array<string>;
4654
+ joinedAt: string;
4655
+ group: {
4656
+ __typename?: 'Group';
4657
+ groupId: string;
4658
+ appId: string;
4659
+ groupType: string;
4660
+ name: string;
4661
+ description: string | null;
4662
+ ownerUserId: string | null;
4663
+ membershipPolicy: string;
4664
+ status: string;
4665
+ defaultRoleId: string | null;
4666
+ createdAt: string;
4667
+ };
4668
+ roles: Array<{
4669
+ __typename?: 'GroupRole';
4670
+ groupRoleId: string;
4671
+ roleName: string;
4672
+ rank: number;
4673
+ isSystem: boolean;
4674
+ permissions: Array<string>;
4675
+ }>;
4676
+ }>;
4677
+ };
4678
+ export type RemoveChannelMemberMutationVariables = Exact<{
4679
+ groupId: Scalars['BigInt']['input'];
4680
+ userId: Scalars['BigInt']['input'];
4681
+ }>;
4682
+ export type RemoveChannelMemberMutation = {
4683
+ __typename?: 'Mutation';
4684
+ removeChannelMember: boolean;
4685
+ };
4686
+ export type RequestToJoinChannelMutationVariables = Exact<{
4687
+ groupId: Scalars['BigInt']['input'];
4688
+ }>;
4689
+ export type RequestToJoinChannelMutation = {
4690
+ __typename?: 'Mutation';
4691
+ requestToJoinChannel: {
4692
+ __typename?: 'GroupMember';
4693
+ groupMemberId: string;
4694
+ groupId: string;
4695
+ userId: string;
4696
+ status: string;
4697
+ createdAt: string;
4698
+ roles: Array<{
4699
+ __typename?: 'GroupRole';
4700
+ groupRoleId: string;
4701
+ roleName: string;
4702
+ rank: number;
4703
+ isSystem: boolean;
4704
+ permissions: Array<string>;
4705
+ }>;
4706
+ };
4707
+ };
4708
+ export type SetChannelMemberRolesMutationVariables = Exact<{
4709
+ input: SetMemberRolesInput;
4710
+ }>;
4711
+ export type SetChannelMemberRolesMutation = {
4712
+ __typename?: 'Mutation';
4713
+ setChannelMemberRoles: {
4714
+ __typename?: 'GroupMember';
4715
+ groupMemberId: string;
4716
+ groupId: string;
4717
+ userId: string;
4718
+ status: string;
4719
+ createdAt: string;
4720
+ roles: Array<{
4721
+ __typename?: 'GroupRole';
4722
+ groupRoleId: string;
4723
+ roleName: string;
4724
+ rank: number;
4725
+ isSystem: boolean;
4726
+ permissions: Array<string>;
4727
+ }>;
4728
+ };
4729
+ };
4730
+ export type SetChannelPolicyMutationVariables = Exact<{
4731
+ input: SetChannelPolicyInput;
4732
+ }>;
4733
+ export type SetChannelPolicyMutation = {
4734
+ __typename?: 'Mutation';
4735
+ setChannelPolicy: {
4736
+ __typename?: 'AppGroupPolicy';
4737
+ appId: string;
4738
+ groupType: string;
4739
+ creationPolicy: string;
4740
+ defaultMembershipPolicy: string;
4741
+ maxMembers: number | null;
4742
+ maxGroupsPerUser: number | null;
4743
+ };
4744
+ };
4745
+ export type UpdateChannelMutationVariables = Exact<{
4746
+ input: UpdateChannelInput;
4747
+ }>;
4748
+ export type UpdateChannelMutation = {
4749
+ __typename?: 'Mutation';
4750
+ updateChannel: {
4751
+ __typename?: 'Group';
4752
+ groupId: string;
4753
+ appId: string;
4754
+ groupType: string;
4755
+ name: string;
4756
+ description: string | null;
4757
+ ownerUserId: string | null;
4758
+ membershipPolicy: string;
4759
+ status: string;
4760
+ defaultRoleId: string | null;
4761
+ createdAt: string;
4762
+ };
4763
+ };
4764
+ export type UpdateChannelRoleMutationVariables = Exact<{
4765
+ input: UpdateGroupRoleInput;
4766
+ }>;
4767
+ export type UpdateChannelRoleMutation = {
4768
+ __typename?: 'Mutation';
4769
+ updateChannelRole: {
4770
+ __typename?: 'GroupRole';
4771
+ groupRoleId: string;
4772
+ groupId: string;
4773
+ roleName: string;
4774
+ rank: number;
4775
+ isSystem: boolean;
4776
+ permissions: Array<string>;
4777
+ createdAt: string;
4778
+ };
4779
+ };
3589
4780
  export type GetChunkQueryVariables = Exact<{
3590
4781
  input: GetChunkInput;
3591
4782
  }>;
@@ -3779,6 +4970,519 @@ export type UpdateChunkStateMutation = {
3779
4970
  };
3780
4971
  } | null;
3781
4972
  };
4973
+ export type GmSessionFieldsFragment = {
4974
+ __typename?: 'GmSession';
4975
+ sessionId: string;
4976
+ appId: string;
4977
+ name: string | null;
4978
+ status: string;
4979
+ createdByUserId: string | null;
4980
+ currentTurnUserId: string | null;
4981
+ metadataJson: string;
4982
+ };
4983
+ export type GmContainerFieldsFragment = {
4984
+ __typename?: 'GmContainer';
4985
+ containerId: string;
4986
+ appId: string;
4987
+ sessionId: string | null;
4988
+ typeName: string;
4989
+ displayName: string;
4990
+ description: string | null;
4991
+ ownerUserId: string | null;
4992
+ metadataJson: string;
4993
+ };
4994
+ export type GmInvokeResultFieldsFragment = {
4995
+ __typename?: 'GmInvokeResult';
4996
+ eventId: string;
4997
+ functionName: string;
4998
+ success: boolean;
4999
+ returnValueJson: string | null;
5000
+ errorMessage: string | null;
5001
+ mutationsApplied: Array<{
5002
+ __typename?: 'GmMutationApplied';
5003
+ containerId: string;
5004
+ key: string;
5005
+ valueType: string;
5006
+ oldValueJson: string | null;
5007
+ newValueJson: string | null;
5008
+ }>;
5009
+ };
5010
+ export type GameModelCreateSessionMutationVariables = Exact<{
5011
+ input: CreateSessionInput;
5012
+ }>;
5013
+ export type GameModelCreateSessionMutation = {
5014
+ __typename?: 'Mutation';
5015
+ gameModelCreateSession: {
5016
+ __typename?: 'GmSession';
5017
+ sessionId: string;
5018
+ appId: string;
5019
+ name: string | null;
5020
+ status: string;
5021
+ createdByUserId: string | null;
5022
+ currentTurnUserId: string | null;
5023
+ metadataJson: string;
5024
+ };
5025
+ };
5026
+ export type GameModelJoinSessionMutationVariables = Exact<{
5027
+ input: JoinSessionInput;
5028
+ }>;
5029
+ export type GameModelJoinSessionMutation = {
5030
+ __typename?: 'Mutation';
5031
+ gameModelJoinSession: {
5032
+ __typename?: 'GmSessionParticipant';
5033
+ sessionId: string;
5034
+ userId: string;
5035
+ role: string;
5036
+ };
5037
+ };
5038
+ export type GameModelSetSessionTurnMutationVariables = Exact<{
5039
+ input: SetSessionTurnInput;
5040
+ }>;
5041
+ export type GameModelSetSessionTurnMutation = {
5042
+ __typename?: 'Mutation';
5043
+ gameModelSetSessionTurn: {
5044
+ __typename?: 'GmSession';
5045
+ sessionId: string;
5046
+ appId: string;
5047
+ name: string | null;
5048
+ status: string;
5049
+ createdByUserId: string | null;
5050
+ currentTurnUserId: string | null;
5051
+ metadataJson: string;
5052
+ };
5053
+ };
5054
+ export type GameModelCreateContainerMutationVariables = Exact<{
5055
+ input: CreateContainerInput;
5056
+ }>;
5057
+ export type GameModelCreateContainerMutation = {
5058
+ __typename?: 'Mutation';
5059
+ gameModelCreateContainer: {
5060
+ __typename?: 'GmContainer';
5061
+ containerId: string;
5062
+ appId: string;
5063
+ sessionId: string | null;
5064
+ typeName: string;
5065
+ displayName: string;
5066
+ description: string | null;
5067
+ ownerUserId: string | null;
5068
+ metadataJson: string;
5069
+ };
5070
+ };
5071
+ export type GameModelSetPropertyMutationVariables = Exact<{
5072
+ input: SetContainerPropertyInput;
5073
+ }>;
5074
+ export type GameModelSetPropertyMutation = {
5075
+ __typename?: 'Mutation';
5076
+ gameModelSetProperty: {
5077
+ __typename?: 'GmContainer';
5078
+ containerId: string;
5079
+ appId: string;
5080
+ sessionId: string | null;
5081
+ typeName: string;
5082
+ displayName: string;
5083
+ description: string | null;
5084
+ ownerUserId: string | null;
5085
+ metadataJson: string;
5086
+ };
5087
+ };
5088
+ export type GameModelAddEdgeMutationVariables = Exact<{
5089
+ input: AddEdgeInput;
5090
+ }>;
5091
+ export type GameModelAddEdgeMutation = {
5092
+ __typename?: 'Mutation';
5093
+ gameModelAddEdge: {
5094
+ __typename?: 'GmEdge';
5095
+ edgeId: string;
5096
+ fromContainerId: string;
5097
+ toContainerId: string;
5098
+ relationshipType: string;
5099
+ weight: number | null;
5100
+ };
5101
+ };
5102
+ export type GameModelInvokeMutationVariables = Exact<{
5103
+ input: InvokeFunctionInput;
5104
+ }>;
5105
+ export type GameModelInvokeMutation = {
5106
+ __typename?: 'Mutation';
5107
+ gameModelInvoke: {
5108
+ __typename?: 'GmInvokeResult';
5109
+ eventId: string;
5110
+ functionName: string;
5111
+ success: boolean;
5112
+ returnValueJson: string | null;
5113
+ errorMessage: string | null;
5114
+ mutationsApplied: Array<{
5115
+ __typename?: 'GmMutationApplied';
5116
+ containerId: string;
5117
+ key: string;
5118
+ valueType: string;
5119
+ oldValueJson: string | null;
5120
+ newValueJson: string | null;
5121
+ }>;
5122
+ };
5123
+ };
5124
+ export type GameModelContainerQueryVariables = Exact<{
5125
+ appId: Scalars['BigInt']['input'];
5126
+ containerId: Scalars['String']['input'];
5127
+ }>;
5128
+ export type GameModelContainerQuery = {
5129
+ __typename?: 'Query';
5130
+ gameModelContainer: {
5131
+ __typename?: 'GmContainer';
5132
+ containerId: string;
5133
+ appId: string;
5134
+ sessionId: string | null;
5135
+ typeName: string;
5136
+ displayName: string;
5137
+ description: string | null;
5138
+ ownerUserId: string | null;
5139
+ metadataJson: string;
5140
+ };
5141
+ };
5142
+ export type GameModelContainersQueryVariables = Exact<{
5143
+ appId: Scalars['BigInt']['input'];
5144
+ typeName?: InputMaybe<Scalars['String']['input']>;
5145
+ sessionId?: InputMaybe<Scalars['String']['input']>;
5146
+ }>;
5147
+ export type GameModelContainersQuery = {
5148
+ __typename?: 'Query';
5149
+ gameModelContainers: Array<{
5150
+ __typename?: 'GmContainer';
5151
+ containerId: string;
5152
+ appId: string;
5153
+ sessionId: string | null;
5154
+ typeName: string;
5155
+ displayName: string;
5156
+ description: string | null;
5157
+ ownerUserId: string | null;
5158
+ metadataJson: string;
5159
+ }>;
5160
+ };
5161
+ export type GameModelContainerStateQueryVariables = Exact<{
5162
+ appId: Scalars['BigInt']['input'];
5163
+ containerId: Scalars['String']['input'];
5164
+ }>;
5165
+ export type GameModelContainerStateQuery = {
5166
+ __typename?: 'Query';
5167
+ gameModelContainerState: {
5168
+ __typename?: 'GmContainerState';
5169
+ containerId: string;
5170
+ appId: string;
5171
+ sessionId: string | null;
5172
+ typeName: string;
5173
+ displayName: string;
5174
+ ownerUserId: string | null;
5175
+ propertiesJson: string;
5176
+ };
5177
+ };
5178
+ export type GameModelTraverseQueryVariables = Exact<{
5179
+ appId: Scalars['BigInt']['input'];
5180
+ rootId: Scalars['String']['input'];
5181
+ relationshipType: Scalars['String']['input'];
5182
+ depth?: InputMaybe<Scalars['Int']['input']>;
5183
+ }>;
5184
+ export type GameModelTraverseQuery = {
5185
+ __typename?: 'Query';
5186
+ gameModelTraverse: {
5187
+ __typename?: 'GmTraverseResult';
5188
+ rootId: string;
5189
+ nodes: Array<{
5190
+ __typename?: 'GmContainer';
5191
+ containerId: string;
5192
+ appId: string;
5193
+ sessionId: string | null;
5194
+ typeName: string;
5195
+ displayName: string;
5196
+ description: string | null;
5197
+ ownerUserId: string | null;
5198
+ metadataJson: string;
5199
+ }>;
5200
+ edges: Array<{
5201
+ __typename?: 'GmEdge';
5202
+ edgeId: string;
5203
+ fromContainerId: string;
5204
+ toContainerId: string;
5205
+ relationshipType: string;
5206
+ weight: number | null;
5207
+ }>;
5208
+ };
5209
+ };
5210
+ export type GameModelSessionQueryVariables = Exact<{
5211
+ appId: Scalars['BigInt']['input'];
5212
+ sessionId: Scalars['String']['input'];
5213
+ }>;
5214
+ export type GameModelSessionQuery = {
5215
+ __typename?: 'Query';
5216
+ gameModelSession: {
5217
+ __typename?: 'GmSession';
5218
+ sessionId: string;
5219
+ appId: string;
5220
+ name: string | null;
5221
+ status: string;
5222
+ createdByUserId: string | null;
5223
+ currentTurnUserId: string | null;
5224
+ metadataJson: string;
5225
+ };
5226
+ };
5227
+ export type GameModelSessionsQueryVariables = Exact<{
5228
+ appId: Scalars['BigInt']['input'];
5229
+ status?: InputMaybe<Scalars['String']['input']>;
5230
+ }>;
5231
+ export type GameModelSessionsQuery = {
5232
+ __typename?: 'Query';
5233
+ gameModelSessions: Array<{
5234
+ __typename?: 'GmSession';
5235
+ sessionId: string;
5236
+ appId: string;
5237
+ name: string | null;
5238
+ status: string;
5239
+ createdByUserId: string | null;
5240
+ currentTurnUserId: string | null;
5241
+ metadataJson: string;
5242
+ }>;
5243
+ };
5244
+ export type GameModelEventsQueryVariables = Exact<{
5245
+ appId: Scalars['BigInt']['input'];
5246
+ sessionId?: InputMaybe<Scalars['String']['input']>;
5247
+ selfContainerId?: InputMaybe<Scalars['String']['input']>;
5248
+ functionName?: InputMaybe<Scalars['String']['input']>;
5249
+ success?: InputMaybe<Scalars['Boolean']['input']>;
5250
+ limit?: InputMaybe<Scalars['Int']['input']>;
5251
+ offset?: InputMaybe<Scalars['Int']['input']>;
5252
+ }>;
5253
+ export type GameModelEventsQuery = {
5254
+ __typename?: 'Query';
5255
+ gameModelEvents: Array<{
5256
+ __typename?: 'GmEvent';
5257
+ eventId: string;
5258
+ sessionId: string | null;
5259
+ functionName: string;
5260
+ selfContainerId: string | null;
5261
+ callerUserId: string | null;
5262
+ paramsJson: string;
5263
+ mutationsAppliedJson: string;
5264
+ returnValueJson: string | null;
5265
+ success: boolean;
5266
+ errorMessage: string | null;
5267
+ executedAt: string;
5268
+ }>;
5269
+ };
5270
+ export type GmFunctionFieldsFragment = {
5271
+ __typename?: 'GmFunction';
5272
+ functionId: string;
5273
+ appId: string;
5274
+ name: string;
5275
+ containerTypeName: string | null;
5276
+ description: string | null;
5277
+ returnType: string | null;
5278
+ invokeScope: string;
5279
+ invokePolicyJson: string | null;
5280
+ returnExpression: string | null;
5281
+ warnings: Array<string>;
5282
+ parameters: Array<{
5283
+ __typename?: 'GmFunctionParam';
5284
+ name: string;
5285
+ valueType: string;
5286
+ required: boolean;
5287
+ defaultValueJson: string | null;
5288
+ description: string | null;
5289
+ sortOrder: number;
5290
+ }>;
5291
+ mutations: Array<{
5292
+ __typename?: 'GmFunctionMutation';
5293
+ target: string;
5294
+ property: string;
5295
+ expression: string;
5296
+ }>;
5297
+ };
5298
+ export type GmPropertyDefFieldsFragment = {
5299
+ __typename?: 'GmPropertyDef';
5300
+ appId: string;
5301
+ containerTypeName: string;
5302
+ key: string;
5303
+ valueType: string;
5304
+ defaultValueJson: string | null;
5305
+ visibility: string;
5306
+ writable: string;
5307
+ description: string | null;
5308
+ };
5309
+ export type GameModelSeedMutationVariables = Exact<{
5310
+ input: SeedGameModelInput;
5311
+ }>;
5312
+ export type GameModelSeedMutation = {
5313
+ __typename?: 'Mutation';
5314
+ gameModelSeed: {
5315
+ __typename?: 'GmSeedResult';
5316
+ containerTypesCreated: number;
5317
+ propertyDefinitionsCreated: number;
5318
+ functionsCreated: number;
5319
+ containersCreated: number;
5320
+ edgesCreated: number;
5321
+ warnings: Array<string>;
5322
+ idMapJson: string;
5323
+ };
5324
+ };
5325
+ export type GameModelUpsertContainerTypeMutationVariables = Exact<{
5326
+ input: UpsertContainerTypeInput;
5327
+ }>;
5328
+ export type GameModelUpsertContainerTypeMutation = {
5329
+ __typename?: 'Mutation';
5330
+ gameModelUpsertContainerType: {
5331
+ __typename?: 'GmContainerType';
5332
+ appId: string;
5333
+ typeName: string;
5334
+ displayName: string;
5335
+ description: string | null;
5336
+ instantiableBy: string;
5337
+ defaultPropertyVisibility: string;
5338
+ metadataJson: string;
5339
+ };
5340
+ };
5341
+ export type GameModelUpsertPropertyDefMutationVariables = Exact<{
5342
+ input: UpsertPropertyDefInput;
5343
+ }>;
5344
+ export type GameModelUpsertPropertyDefMutation = {
5345
+ __typename?: 'Mutation';
5346
+ gameModelUpsertPropertyDef: {
5347
+ __typename?: 'GmPropertyDef';
5348
+ appId: string;
5349
+ containerTypeName: string;
5350
+ key: string;
5351
+ valueType: string;
5352
+ defaultValueJson: string | null;
5353
+ visibility: string;
5354
+ writable: string;
5355
+ description: string | null;
5356
+ };
5357
+ };
5358
+ export type GameModelUpsertFunctionMutationVariables = Exact<{
5359
+ input: UpsertFunctionInput;
5360
+ }>;
5361
+ export type GameModelUpsertFunctionMutation = {
5362
+ __typename?: 'Mutation';
5363
+ gameModelUpsertFunction: {
5364
+ __typename?: 'GmFunction';
5365
+ functionId: string;
5366
+ appId: string;
5367
+ name: string;
5368
+ containerTypeName: string | null;
5369
+ description: string | null;
5370
+ returnType: string | null;
5371
+ invokeScope: string;
5372
+ invokePolicyJson: string | null;
5373
+ returnExpression: string | null;
5374
+ warnings: Array<string>;
5375
+ parameters: Array<{
5376
+ __typename?: 'GmFunctionParam';
5377
+ name: string;
5378
+ valueType: string;
5379
+ required: boolean;
5380
+ defaultValueJson: string | null;
5381
+ description: string | null;
5382
+ sortOrder: number;
5383
+ }>;
5384
+ mutations: Array<{
5385
+ __typename?: 'GmFunctionMutation';
5386
+ target: string;
5387
+ property: string;
5388
+ expression: string;
5389
+ }>;
5390
+ };
5391
+ };
5392
+ export type GameModelDeleteFunctionMutationVariables = Exact<{
5393
+ appId: Scalars['BigInt']['input'];
5394
+ name: Scalars['String']['input'];
5395
+ }>;
5396
+ export type GameModelDeleteFunctionMutation = {
5397
+ __typename?: 'Mutation';
5398
+ gameModelDeleteFunction: boolean;
5399
+ };
5400
+ export type GameModelDefineFeatureMutationVariables = Exact<{
5401
+ input: DefineAppFeatureInput;
5402
+ }>;
5403
+ export type GameModelDefineFeatureMutation = {
5404
+ __typename?: 'Mutation';
5405
+ gameModelDefineFeature: {
5406
+ __typename?: 'GmAppFeature';
5407
+ appId: string;
5408
+ featureKey: string;
5409
+ description: string | null;
5410
+ };
5411
+ };
5412
+ export type GameModelGrantTierFeatureMutationVariables = Exact<{
5413
+ input: GrantTierFeatureInput;
5414
+ }>;
5415
+ export type GameModelGrantTierFeatureMutation = {
5416
+ __typename?: 'Mutation';
5417
+ gameModelGrantTierFeature: {
5418
+ __typename?: 'GmTierFeature';
5419
+ appId: string;
5420
+ tierId: string;
5421
+ featureKey: string;
5422
+ };
5423
+ };
5424
+ export type GameModelSetPolicyMutationVariables = Exact<{
5425
+ input: SetGameModelPolicyInput;
5426
+ }>;
5427
+ export type GameModelSetPolicyMutation = {
5428
+ __typename?: 'Mutation';
5429
+ gameModelSetPolicy: {
5430
+ __typename?: 'GmAppPolicy';
5431
+ appId: string;
5432
+ sessionCreationPolicy: string;
5433
+ defaultParticipantRole: string;
5434
+ };
5435
+ };
5436
+ export type GameModelTypeSchemaQueryVariables = Exact<{
5437
+ appId: Scalars['BigInt']['input'];
5438
+ typeName: Scalars['String']['input'];
5439
+ }>;
5440
+ export type GameModelTypeSchemaQuery = {
5441
+ __typename?: 'Query';
5442
+ gameModelTypeSchema: {
5443
+ __typename?: 'GmTypeSchema';
5444
+ typeName: string;
5445
+ propertyDefinitions: Array<{
5446
+ __typename?: 'GmPropertyDef';
5447
+ appId: string;
5448
+ containerTypeName: string;
5449
+ key: string;
5450
+ valueType: string;
5451
+ defaultValueJson: string | null;
5452
+ visibility: string;
5453
+ writable: string;
5454
+ description: string | null;
5455
+ }>;
5456
+ functions: Array<{
5457
+ __typename?: 'GmFunction';
5458
+ functionId: string;
5459
+ appId: string;
5460
+ name: string;
5461
+ containerTypeName: string | null;
5462
+ description: string | null;
5463
+ returnType: string | null;
5464
+ invokeScope: string;
5465
+ invokePolicyJson: string | null;
5466
+ returnExpression: string | null;
5467
+ warnings: Array<string>;
5468
+ parameters: Array<{
5469
+ __typename?: 'GmFunctionParam';
5470
+ name: string;
5471
+ valueType: string;
5472
+ required: boolean;
5473
+ defaultValueJson: string | null;
5474
+ description: string | null;
5475
+ sortOrder: number;
5476
+ }>;
5477
+ mutations: Array<{
5478
+ __typename?: 'GmFunctionMutation';
5479
+ target: string;
5480
+ property: string;
5481
+ expression: string;
5482
+ }>;
5483
+ }>;
5484
+ };
5485
+ };
3782
5486
  export type CreateOrgRoleMutationVariables = Exact<{
3783
5487
  input: CreateOrgRoleInput;
3784
5488
  }>;
@@ -4139,6 +5843,18 @@ export type MyCheckoutsQuery = {
4139
5843
  };
4140
5844
  };
4141
5845
  };
5846
+ export type PlatformConfigQueryVariables = Exact<{
5847
+ [key: string]: never;
5848
+ }>;
5849
+ export type PlatformConfigQuery = {
5850
+ __typename?: 'Query';
5851
+ platformConfig: {
5852
+ __typename?: 'PlatformConfig';
5853
+ sharedGameApiUrl: string | null;
5854
+ sharedGameApiWsUrl: string | null;
5855
+ freeAppsPerOrg: number;
5856
+ };
5857
+ };
4142
5858
  export type DeleteQuotaMutationVariables = Exact<{
4143
5859
  quotaId: Scalars['BigInt']['input'];
4144
5860
  }>;
@@ -4451,6 +6167,13 @@ export type SendAudioPacketMutation = {
4451
6167
  __typename?: 'Mutation';
4452
6168
  sendAudioPacket: boolean;
4453
6169
  };
6170
+ export type SendChannelMessageMutationVariables = Exact<{
6171
+ input: ChannelMessageInput;
6172
+ }>;
6173
+ export type SendChannelMessageMutation = {
6174
+ __typename?: 'Mutation';
6175
+ sendChannelMessage: boolean;
6176
+ };
4454
6177
  export type SendClientEventMutationVariables = Exact<{
4455
6178
  input: ClientEventNotificationInput;
4456
6179
  }>;
@@ -4507,6 +6230,13 @@ export type UdpNotificationsSubscription = {
4507
6230
  uuid: string;
4508
6231
  sequenceNumber: number;
4509
6232
  epochMillis: string;
6233
+ } | {
6234
+ __typename: 'ChannelMessageNotification';
6235
+ channelId: string;
6236
+ uuid: string;
6237
+ payload: string;
6238
+ sequenceNumber: number;
6239
+ epochMillis: string;
4510
6240
  } | {
4511
6241
  __typename: 'ClientAudioNotification';
4512
6242
  appId: string;
@@ -4924,6 +6654,11 @@ export type VoxelUpdateHistoryQuery = {
4924
6654
  };
4925
6655
  }>;
4926
6656
  };
6657
+ export declare const GmSessionFieldsFragmentDoc: DocumentNode<GmSessionFieldsFragment, unknown>;
6658
+ export declare const GmContainerFieldsFragmentDoc: DocumentNode<GmContainerFieldsFragment, unknown>;
6659
+ export declare const GmInvokeResultFieldsFragmentDoc: DocumentNode<GmInvokeResultFieldsFragment, unknown>;
6660
+ export declare const GmFunctionFieldsFragmentDoc: DocumentNode<GmFunctionFieldsFragment, unknown>;
6661
+ export declare const GmPropertyDefFieldsFragmentDoc: DocumentNode<GmPropertyDefFieldsFragment, unknown>;
4927
6662
  export declare const ActorDocument: DocumentNode<ActorQuery, ActorQueryVariables>;
4928
6663
  export declare const ActorsDocument: DocumentNode<ActorsQuery, ActorsQueryVariables>;
4929
6664
  export declare const BatchLookupActorsDocument: DocumentNode<BatchLookupActorsQuery, BatchLookupActorsQueryVariables>;
@@ -4962,6 +6697,25 @@ export declare const AppBudgetsDocument: DocumentNode<AppBudgetsQuery, AppBudget
4962
6697
  export declare const SetAppBudgetDocument: DocumentNode<SetAppBudgetMutation, SetAppBudgetMutationVariables>;
4963
6698
  export declare const WalletBalanceDocument: DocumentNode<WalletBalanceQuery, WalletBalanceQueryVariables>;
4964
6699
  export declare const WalletTransactionsDocument: DocumentNode<WalletTransactionsQuery, WalletTransactionsQueryVariables>;
6700
+ export declare const AddChannelMemberDocument: DocumentNode<AddChannelMemberMutation, AddChannelMemberMutationVariables>;
6701
+ export declare const ChannelDocument: DocumentNode<ChannelQuery, ChannelQueryVariables>;
6702
+ export declare const ChannelMembersDocument: DocumentNode<ChannelMembersQuery, ChannelMembersQueryVariables>;
6703
+ export declare const ChannelPolicyDocument: DocumentNode<ChannelPolicyQuery, ChannelPolicyQueryVariables>;
6704
+ export declare const ChannelRolesDocument: DocumentNode<ChannelRolesQuery, ChannelRolesQueryVariables>;
6705
+ export declare const ChannelsDocument: DocumentNode<ChannelsQuery, ChannelsQueryVariables>;
6706
+ export declare const CreateChannelDocument: DocumentNode<CreateChannelMutation, CreateChannelMutationVariables>;
6707
+ export declare const CreateChannelRoleDocument: DocumentNode<CreateChannelRoleMutation, CreateChannelRoleMutationVariables>;
6708
+ export declare const DeleteChannelDocument: DocumentNode<DeleteChannelMutation, DeleteChannelMutationVariables>;
6709
+ export declare const DeleteChannelRoleDocument: DocumentNode<DeleteChannelRoleMutation, DeleteChannelRoleMutationVariables>;
6710
+ export declare const JoinChannelDocument: DocumentNode<JoinChannelMutation, JoinChannelMutationVariables>;
6711
+ export declare const LeaveChannelDocument: DocumentNode<LeaveChannelMutation, LeaveChannelMutationVariables>;
6712
+ export declare const MyChannelsDocument: DocumentNode<MyChannelsQuery, MyChannelsQueryVariables>;
6713
+ export declare const RemoveChannelMemberDocument: DocumentNode<RemoveChannelMemberMutation, RemoveChannelMemberMutationVariables>;
6714
+ export declare const RequestToJoinChannelDocument: DocumentNode<RequestToJoinChannelMutation, RequestToJoinChannelMutationVariables>;
6715
+ export declare const SetChannelMemberRolesDocument: DocumentNode<SetChannelMemberRolesMutation, SetChannelMemberRolesMutationVariables>;
6716
+ export declare const SetChannelPolicyDocument: DocumentNode<SetChannelPolicyMutation, SetChannelPolicyMutationVariables>;
6717
+ export declare const UpdateChannelDocument: DocumentNode<UpdateChannelMutation, UpdateChannelMutationVariables>;
6718
+ export declare const UpdateChannelRoleDocument: DocumentNode<UpdateChannelRoleMutation, UpdateChannelRoleMutationVariables>;
4965
6719
  export declare const GetChunkDocument: DocumentNode<GetChunkQuery, GetChunkQueryVariables>;
4966
6720
  export declare const GetChunkLodsDocument: DocumentNode<GetChunkLodsQuery, GetChunkLodsQueryVariables>;
4967
6721
  export declare const GetChunksByDistanceDocument: DocumentNode<GetChunksByDistanceQuery, GetChunksByDistanceQueryVariables>;
@@ -4969,6 +6723,29 @@ export declare const GetVoxelListDocument: DocumentNode<GetVoxelListQuery, GetVo
4969
6723
  export declare const UpdateChunkDocument: DocumentNode<UpdateChunkMutation, UpdateChunkMutationVariables>;
4970
6724
  export declare const UpdateChunkLodsDocument: DocumentNode<UpdateChunkLodsMutation, UpdateChunkLodsMutationVariables>;
4971
6725
  export declare const UpdateChunkStateDocument: DocumentNode<UpdateChunkStateMutation, UpdateChunkStateMutationVariables>;
6726
+ export declare const GameModelCreateSessionDocument: DocumentNode<GameModelCreateSessionMutation, GameModelCreateSessionMutationVariables>;
6727
+ export declare const GameModelJoinSessionDocument: DocumentNode<GameModelJoinSessionMutation, GameModelJoinSessionMutationVariables>;
6728
+ export declare const GameModelSetSessionTurnDocument: DocumentNode<GameModelSetSessionTurnMutation, GameModelSetSessionTurnMutationVariables>;
6729
+ export declare const GameModelCreateContainerDocument: DocumentNode<GameModelCreateContainerMutation, GameModelCreateContainerMutationVariables>;
6730
+ export declare const GameModelSetPropertyDocument: DocumentNode<GameModelSetPropertyMutation, GameModelSetPropertyMutationVariables>;
6731
+ export declare const GameModelAddEdgeDocument: DocumentNode<GameModelAddEdgeMutation, GameModelAddEdgeMutationVariables>;
6732
+ export declare const GameModelInvokeDocument: DocumentNode<GameModelInvokeMutation, GameModelInvokeMutationVariables>;
6733
+ export declare const GameModelContainerDocument: DocumentNode<GameModelContainerQuery, GameModelContainerQueryVariables>;
6734
+ export declare const GameModelContainersDocument: DocumentNode<GameModelContainersQuery, GameModelContainersQueryVariables>;
6735
+ export declare const GameModelContainerStateDocument: DocumentNode<GameModelContainerStateQuery, GameModelContainerStateQueryVariables>;
6736
+ export declare const GameModelTraverseDocument: DocumentNode<GameModelTraverseQuery, GameModelTraverseQueryVariables>;
6737
+ export declare const GameModelSessionDocument: DocumentNode<GameModelSessionQuery, GameModelSessionQueryVariables>;
6738
+ export declare const GameModelSessionsDocument: DocumentNode<GameModelSessionsQuery, GameModelSessionsQueryVariables>;
6739
+ export declare const GameModelEventsDocument: DocumentNode<GameModelEventsQuery, GameModelEventsQueryVariables>;
6740
+ export declare const GameModelSeedDocument: DocumentNode<GameModelSeedMutation, GameModelSeedMutationVariables>;
6741
+ export declare const GameModelUpsertContainerTypeDocument: DocumentNode<GameModelUpsertContainerTypeMutation, GameModelUpsertContainerTypeMutationVariables>;
6742
+ export declare const GameModelUpsertPropertyDefDocument: DocumentNode<GameModelUpsertPropertyDefMutation, GameModelUpsertPropertyDefMutationVariables>;
6743
+ export declare const GameModelUpsertFunctionDocument: DocumentNode<GameModelUpsertFunctionMutation, GameModelUpsertFunctionMutationVariables>;
6744
+ export declare const GameModelDeleteFunctionDocument: DocumentNode<GameModelDeleteFunctionMutation, GameModelDeleteFunctionMutationVariables>;
6745
+ export declare const GameModelDefineFeatureDocument: DocumentNode<GameModelDefineFeatureMutation, GameModelDefineFeatureMutationVariables>;
6746
+ export declare const GameModelGrantTierFeatureDocument: DocumentNode<GameModelGrantTierFeatureMutation, GameModelGrantTierFeatureMutationVariables>;
6747
+ export declare const GameModelSetPolicyDocument: DocumentNode<GameModelSetPolicyMutation, GameModelSetPolicyMutationVariables>;
6748
+ export declare const GameModelTypeSchemaDocument: DocumentNode<GameModelTypeSchemaQuery, GameModelTypeSchemaQueryVariables>;
4972
6749
  export declare const CreateOrgRoleDocument: DocumentNode<CreateOrgRoleMutation, CreateOrgRoleMutationVariables>;
4973
6750
  export declare const CreateOrgTokenDocument: DocumentNode<CreateOrgTokenMutation, CreateOrgTokenMutationVariables>;
4974
6751
  export declare const CreateOrganizationDocument: DocumentNode<CreateOrganizationMutation, CreateOrganizationMutationVariables>;
@@ -4990,6 +6767,7 @@ export declare const UpdateOrgTokenDocument: DocumentNode<UpdateOrgTokenMutation
4990
6767
  export declare const CheckoutsDocument: DocumentNode<CheckoutsQuery, CheckoutsQueryVariables>;
4991
6768
  export declare const CreateCheckoutDocument: DocumentNode<CreateCheckoutMutation, CreateCheckoutMutationVariables>;
4992
6769
  export declare const MyCheckoutsDocument: DocumentNode<MyCheckoutsQuery, MyCheckoutsQueryVariables>;
6770
+ export declare const PlatformConfigDocument: DocumentNode<PlatformConfigQuery, PlatformConfigQueryVariables>;
4993
6771
  export declare const DeleteQuotaDocument: DocumentNode<DeleteQuotaMutation, DeleteQuotaMutationVariables>;
4994
6772
  export declare const EffectiveQuotaDocument: DocumentNode<EffectiveQuotaQuery, EffectiveQuotaQueryVariables>;
4995
6773
  export declare const QuotasForAppDocument: DocumentNode<QuotasForAppQuery, QuotasForAppQueryVariables>;
@@ -5009,6 +6787,7 @@ export declare const ConnectUdpProxyDocument: DocumentNode<ConnectUdpProxyMutati
5009
6787
  export declare const DisconnectUdpProxyDocument: DocumentNode<DisconnectUdpProxyMutation, DisconnectUdpProxyMutationVariables>;
5010
6788
  export declare const SendActorUpdateDocument: DocumentNode<SendActorUpdateMutation, SendActorUpdateMutationVariables>;
5011
6789
  export declare const SendAudioPacketDocument: DocumentNode<SendAudioPacketMutation, SendAudioPacketMutationVariables>;
6790
+ export declare const SendChannelMessageDocument: DocumentNode<SendChannelMessageMutation, SendChannelMessageMutationVariables>;
5012
6791
  export declare const SendClientEventDocument: DocumentNode<SendClientEventMutation, SendClientEventMutationVariables>;
5013
6792
  export declare const SendSingleActorMessageDocument: DocumentNode<SendSingleActorMessageMutation, SendSingleActorMessageMutationVariables>;
5014
6793
  export declare const SendTextPacketDocument: DocumentNode<SendTextPacketMutation, SendTextPacketMutationVariables>;