@crowdedkingdoms/crowdyjs 8.14.1 → 8.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +16 -1
  2. package/dist/crowdy-client.d.ts +12 -0
  3. package/dist/crowdy-client.d.ts.map +1 -1
  4. package/dist/crowdy-client.js +9 -0
  5. package/dist/domains/admin.d.ts +4 -0
  6. package/dist/domains/admin.d.ts.map +1 -1
  7. package/dist/domains/admin.js +1 -0
  8. package/dist/domains/apps.d.ts +28 -1
  9. package/dist/domains/apps.d.ts.map +1 -1
  10. package/dist/domains/apps.js +52 -1
  11. package/dist/domains/environments.d.ts +14 -2
  12. package/dist/domains/environments.d.ts.map +1 -1
  13. package/dist/domains/environments.js +17 -2
  14. package/dist/domains/gameApps.d.ts +17 -1
  15. package/dist/domains/gameApps.d.ts.map +1 -1
  16. package/dist/domains/gameApps.js +29 -1
  17. package/dist/domains/marketplace.d.ts +137 -0
  18. package/dist/domains/marketplace.d.ts.map +1 -0
  19. package/dist/domains/marketplace.js +241 -0
  20. package/dist/domains/playerCompute.d.ts +85 -0
  21. package/dist/domains/playerCompute.d.ts.map +1 -0
  22. package/dist/domains/playerCompute.js +127 -0
  23. package/dist/domains/playerModel.d.ts +20 -0
  24. package/dist/domains/playerModel.d.ts.map +1 -0
  25. package/dist/domains/playerModel.js +54 -0
  26. package/dist/domains/playerWallet.d.ts +59 -0
  27. package/dist/domains/playerWallet.d.ts.map +1 -0
  28. package/dist/domains/playerWallet.js +106 -0
  29. package/dist/generated/graphql.d.ts +3431 -114
  30. package/dist/generated/graphql.d.ts.map +1 -1
  31. package/dist/generated/graphql.js +186 -1
  32. package/dist/index.d.ts +13 -4
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +11 -2
  35. package/dist/kit/npcs.d.ts.map +1 -1
  36. package/dist/kit/social.d.ts.map +1 -1
  37. package/dist/live-coding/live-coding-controller.d.ts +73 -0
  38. package/dist/live-coding/live-coding-controller.d.ts.map +1 -0
  39. package/dist/live-coding/live-coding-controller.js +140 -0
  40. package/dist/live-coding/mount.d.ts +26 -0
  41. package/dist/live-coding/mount.d.ts.map +1 -0
  42. package/dist/live-coding/mount.js +108 -0
  43. package/dist/live-coding/templates.d.ts +17 -0
  44. package/dist/live-coding/templates.d.ts.map +1 -0
  45. package/dist/live-coding/templates.js +59 -0
  46. package/dist/player-runtime/player-code-broker.d.ts +101 -0
  47. package/dist/player-runtime/player-code-broker.d.ts.map +1 -0
  48. package/dist/player-runtime/player-code-broker.js +251 -0
  49. package/dist/player-runtime/player-glue-worker.d.ts +62 -0
  50. package/dist/player-runtime/player-glue-worker.d.ts.map +1 -0
  51. package/dist/player-runtime/player-glue-worker.js +127 -0
  52. package/package.json +1 -1
@@ -180,6 +180,16 @@ export type AddEdgeInput = {
180
180
  /** Optional edge weight. */
181
181
  weight?: InputMaybe<Scalars['Float']['input']>;
182
182
  };
183
+ export type AdmitAppCodeInput = {
184
+ /** Numeric app id whose allow list receives this entry. */
185
+ appId: Scalars['BigInt']['input'];
186
+ /** Admit one code listing, author user, or authoring org. */
187
+ subjectKind: CodeAdmissionSubjectKind;
188
+ /** Stable id of the subject (listing UUID, numeric user id, or numeric org id). */
189
+ subjectRef: Scalars['String']['input'];
190
+ /** Optional P1 version range: exact "3", inclusive "2-5", ">=4", or "<=9". Omit to admit all versions. */
191
+ versionRange?: InputMaybe<Scalars['String']['input']>;
192
+ };
183
193
  /** A publishable application (game/experience) owned by an organization. Its discoverability is controlled by visibility and its lifecycle by status. */
184
194
  export type App = {
185
195
  __typename?: 'App';
@@ -187,6 +197,8 @@ export type App = {
187
197
  appId: Scalars['BigInt']['output'];
188
198
  /** OAuth client type: "public" (browser/PKCE, no secret) or "confidential" (server-side, holds a secret). Defaults to "public". */
189
199
  clientType: Scalars['String']['output'];
200
+ /** Player-code censorship mode: "implicit_allow" (default/off) or "allow_list" (strict admission of every running artifact, including self-authored code). */
201
+ codeAdmissionMode: Scalars['String']['output'];
190
202
  /** Timestamp when the app was created. */
191
203
  createdAt: Scalars['DateTime']['output'];
192
204
  /** Numeric user id of the account that created the app. */
@@ -197,6 +209,10 @@ export type App = {
197
209
  description: Maybe<Scalars['String']['output']>;
198
210
  /** Resolved game-api base URL for SDK/runtime calls: the per-tenant URL for dedicated apps, or the shared platform URL for shared apps. Null for legacy or not-yet-deployed apps. */
199
211
  gameApiUrl: Maybe<Scalars['String']['output']>;
212
+ /** Player user ids allowed to approve grid claim requests in "approval" mode. When empty, approval falls back to org staff holding manage_compute. */
213
+ gridClaimApproverUserIds: Array<Scalars['String']['output']>;
214
+ /** How a player claim confers grid ownership (D4): "self_claim" (the claim right alone; default), "approval" (designated approvers accept claim requests), "invite" (standing invites only), or "marketplace_only" (only a marketplace grid purchase; the purchase edge ships in P4b). */
215
+ gridClaimPolicy: Scalars['String']['output'];
200
216
  /** True for first-party/trusted apps: portal entry skips the consent screen. The Overworld (app 1) is trusted. Studio admins cannot set this; it is platform-controlled. */
201
217
  isTrusted: Scalars['Boolean']['output'];
202
218
  /** Browser destination (origin/URL) a player is redirected to when they portal into this app from the Overworld. Used to route the player and to validate portal redirect URIs. */
@@ -308,6 +324,26 @@ export type AppBudget = {
308
324
  /** When the budget was last updated (ISO-8601 UTC timestamp). */
309
325
  updatedAt: Scalars['DateTime']['output'];
310
326
  };
327
+ /** An active or revoked app code-admission entry. Admission controls execution only; it never grants source access. */
328
+ export type AppCodeAdmission = {
329
+ __typename?: 'AppCodeAdmission';
330
+ /** UUID of this admission record. */
331
+ admissionId: Scalars['String']['output'];
332
+ /** When the entry was admitted. */
333
+ admittedAt: Scalars['DateTime']['output'];
334
+ /** Numeric user id of the org member who admitted the subject. */
335
+ admittedBy: Scalars['BigInt']['output'];
336
+ /** Numeric app id whose code-admission policy owns this entry. */
337
+ appId: Scalars['BigInt']['output'];
338
+ /** When the entry was revoked; null while active. */
339
+ revokedAt: Maybe<Scalars['DateTime']['output']>;
340
+ /** Whether this entry admits code, an author, or an org. */
341
+ subjectKind: CodeAdmissionSubjectKind;
342
+ /** Stable id of the admitted subject (listing UUID, user id, or org id). */
343
+ subjectRef: Scalars['String']['output'];
344
+ /** Optional P1 version range: exact "3", inclusive "2-5", ">=4", or "<=9". Null admits all versions; invalid expressions fail closed at runtime. */
345
+ versionRange: Maybe<Scalars['String']['output']>;
346
+ };
311
347
  /** Where an app runs: none (draft), shared (the shared game-api), or dedicated (a provisioned environment). */
312
348
  export declare enum AppDeploymentTarget {
313
349
  /** Runs on a dedicated, org-provisioned environment. */
@@ -358,6 +394,20 @@ export type AppMarketplaceFilterInput = {
358
394
  /** Free-text search applied to app name and description (case-insensitive substring match). Omit for no text filter. */
359
395
  query?: InputMaybe<Scalars['String']['input']>;
360
396
  };
397
+ /** Per-player usage row for studio diagnostics (top spenders / quota utilization): one (player, app) aggregate over a window. */
398
+ export type AppPlayerUsageRow = {
399
+ __typename?: 'AppPlayerUsageRow';
400
+ /** Player automation units used. */
401
+ automationUnits: Scalars['BigInt']['output'];
402
+ /** Cents charged in the window. */
403
+ chargedCents: Scalars['BigInt']['output'];
404
+ /** Compile submissions. */
405
+ compileCount: Scalars['Int']['output'];
406
+ /** Player compute units used. */
407
+ computeUnits: Scalars['BigInt']['output'];
408
+ /** The player (grid owner). */
409
+ userId: Scalars['BigInt']['output'];
410
+ };
361
411
  /** The shared-environment runtime gate + current billing-window usage for an app. */
362
412
  export type AppRuntimeState = {
363
413
  __typename?: 'AppRuntimeState';
@@ -567,6 +617,18 @@ export type AppsPage = {
567
617
  /** Pagination metadata: totalCount (total matches ignoring limit/offset) plus the applied limit and offset. */
568
618
  pageInfo: PageInfo;
569
619
  };
620
+ export type AssignGridOwnershipInput = {
621
+ /** App that contains the grid. */
622
+ appId: Scalars['BigInt']['input'];
623
+ /** Required for RENTED tenure; omitted for permanent ownership. */
624
+ expiresAt?: InputMaybe<Scalars['DateTime']['input']>;
625
+ /** Grid to assign. */
626
+ gridId: Scalars['BigInt']['input'];
627
+ /** User id receiving title. P1 only permits user owners. */
628
+ ownerUserId: Scalars['BigInt']['input'];
629
+ /** OWNED (default) or RENTED. */
630
+ tenure?: InputMaybe<GridTenure>;
631
+ };
570
632
  /** Grant runtime permission keys to a group (optionally one role) on a grid (writes the grid_group_grants input table). */
571
633
  export type AssignGroupToGridInput = {
572
634
  /** The app (tenant) that owns the grid. */
@@ -761,7 +823,7 @@ export type CheckoutFilterInput = {
761
823
  /** Only return checkouts created by this user (BigInt as a decimal string). */
762
824
  userId?: InputMaybe<Scalars['BigInt']['input']>;
763
825
  };
764
- /** 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. */
826
+ /** Why the checkout exists. Drives which side effect runs on webhook completion: ORG_WALLET_TOPUP credits an org_wallet; PLAYER_WALLET_TOPUP credits the caller's player_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. */
765
827
  export declare enum CheckoutPurpose {
766
828
  /** Purchase a user's access to an app at a given tier. Requires appId and tierId. Upserts app_user_access on completion. */
767
829
  AppAccessPurchase = "APP_ACCESS_PURCHASE",
@@ -772,6 +834,8 @@ export declare enum CheckoutPurpose {
772
834
  Donation = "DONATION",
773
835
  /** Add funds to an organization wallet. Requires orgId and amountCents, and the caller must hold the org "manage_billing" permission. Credits the org wallet on completion. */
774
836
  OrgWalletTopup = "ORG_WALLET_TOPUP",
837
+ /** Add funds to the caller's own player wallet (player compute P2). Requires amountCents only — any authenticated user may fund their own wallet; no org permission is involved. Credits the player wallet idempotently on completion. */
838
+ PlayerWalletTopup = "PLAYER_WALLET_TOPUP",
775
839
  /**
776
840
  * Deprecated. Historically a purchase of in-world property tokens. No longer purchasable and rejected at runtime by createCheckout.
777
841
  * @deprecated No longer purchasable; use ORG_WALLET_TOPUP or APP_ACCESS_PURCHASE. Retained for historical checkouts.
@@ -1339,6 +1403,39 @@ export type ClientTextPacketInput = {
1339
1403
  /** A unique identifier for the text source (typically the player UUID). Must be exactly 32 bytes when encoded as UTF-8. */
1340
1404
  uuid: Scalars['String']['input'];
1341
1405
  };
1406
+ /** Controls player-code censorship for an app. IMPLICIT_ALLOW admits lawful code by default; ALLOW_LIST requires every code target, including self-authored code, to match an active code/author/org admission. */
1407
+ export declare enum CodeAdmissionMode {
1408
+ AllowList = "ALLOW_LIST",
1409
+ ImplicitAllow = "IMPLICIT_ALLOW"
1410
+ }
1411
+ /** The identity admitted by an app code allow-list entry: one code listing, one author user, or one authoring organization. */
1412
+ export declare enum CodeAdmissionSubjectKind {
1413
+ Author = "AUTHOR",
1414
+ Code = "CODE",
1415
+ Org = "ORG"
1416
+ }
1417
+ /** One entry in the T11 commerce risk queue (studio/operator moderation). */
1418
+ export type CommerceRiskFlag = {
1419
+ __typename?: 'CommerceRiskFlag';
1420
+ /** App the flag belongs to. */
1421
+ appId: Scalars['BigInt']['output'];
1422
+ /** When the flag was raised. */
1423
+ createdAt: Scalars['DateTime']['output'];
1424
+ /** Detail note. */
1425
+ detail: Maybe<Scalars['String']['output']>;
1426
+ /** Flag row id. */
1427
+ flagId: Scalars['String']['output'];
1428
+ /** Flag kind: 'buyer_velocity', 'listing_velocity', 'same_party', 'chargeback', or 'manual'. */
1429
+ kind: Scalars['String']['output'];
1430
+ /** Related order UUID, if any. */
1431
+ orderId: Maybe<Scalars['String']['output']>;
1432
+ /** 'open', 'released', or 'confirmed'. */
1433
+ status: Scalars['String']['output'];
1434
+ /** Subject: 'user' or 'org'. */
1435
+ subjectKind: Scalars['String']['output'];
1436
+ /** Subject user or org id. */
1437
+ subjectRef: Scalars['BigInt']['output'];
1438
+ };
1342
1439
  /** Complete a magic-link sign-in with the emailed token. */
1343
1440
  export type CompleteLoginLinkInput = {
1344
1441
  /** The one-time token from the magic-link URL. */
@@ -1843,6 +1940,30 @@ export type CreateGridInput = {
1843
1940
  /** The opposite corner of the grid box, in chunk coordinates. May equal corner1 for a single-chunk grid. */
1844
1941
  corner2: ChunkCoordinatesInput;
1845
1942
  };
1943
+ export type CreateGridListingInput = {
1944
+ /** App the listing belongs to. */
1945
+ appId: Scalars['BigInt']['input'];
1946
+ /** JSON bounds/placement config (blueprint listings). */
1947
+ blueprintConfigJson?: InputMaybe<Scalars['String']['input']>;
1948
+ /** Player-code keys the sale confers (e.g. write/run server/client). */
1949
+ conferredPermissionKeys?: InputMaybe<Array<Scalars['String']['input']>>;
1950
+ /** Store description. */
1951
+ description?: InputMaybe<Scalars['String']['input']>;
1952
+ /** The concrete grid id being sold (concrete listings). */
1953
+ gridId?: InputMaybe<Scalars['BigInt']['input']>;
1954
+ /** 'blueprint' or 'concrete'. */
1955
+ kind: Scalars['String']['input'];
1956
+ /** Display name. */
1957
+ name: Scalars['String']['input'];
1958
+ /** Price in cents. */
1959
+ priceCents: Scalars['Int']['input'];
1960
+ /** JSON per-grid quota preset bound on purchase. */
1961
+ quotaPresetJson?: InputMaybe<Scalars['String']['input']>;
1962
+ /** Resale policy: 'no_resale' (default), 'resale_free', or 'resale_with_studio_cut'. */
1963
+ resalePolicy?: InputMaybe<Scalars['String']['input']>;
1964
+ /** Studio cut (bps) taken on resales, when resale_with_studio_cut. */
1965
+ studioCutBps?: InputMaybe<Scalars['Int']['input']>;
1966
+ };
1846
1967
  /** Result of createGrid. This is a hybrid result rather than a thrown error: inspect `error` first. When `error` is NO_ERROR the call succeeded and `grid` is populated; otherwise `grid` is null and `error` explains why. */
1847
1968
  export type CreateGridResponse = {
1848
1969
  __typename?: 'CreateGridResponse';
@@ -1886,6 +2007,40 @@ export type CreateOrganizationInput = {
1886
2007
  /** Unique URL slug; lowercase letters, numbers, and dashes only (1-128 characters). */
1887
2008
  slug: Scalars['String']['input'];
1888
2009
  };
2010
+ /** Create a grid-confined player automation. Trigger and action are strict JSON shapes; owner/app/grid selectors cannot be supplied. */
2011
+ export type CreatePlayerAutomationInput = {
2012
+ /** Strict action JSON. Use {"kind":"studio_model_invoke","functionName":"...","selfContainerId":"...","params":{}} or {"kind":"player_compute_invoke","moduleName":"...","exportName":"...","params":{}}. Selectors and caller identity are forbidden. */
2013
+ actionJson: Scalars['String']['input'];
2014
+ /** App containing the owned grid. */
2015
+ appId: Scalars['BigInt']['input'];
2016
+ /** Circuit cooldown in milliseconds. Default 60000; minimum 1. */
2017
+ cooldownMs?: InputMaybe<Scalars['Int']['input']>;
2018
+ /** Optional description. */
2019
+ description?: InputMaybe<Scalars['String']['input']>;
2020
+ /** Consecutive failures before the circuit opens. Default 5; minimum 1. */
2021
+ failureThreshold?: InputMaybe<Scalars['Int']['input']>;
2022
+ /** Grid that confines the automation. */
2023
+ gridId: Scalars['BigInt']['input'];
2024
+ /** Per-automation run limit per rolling minute. Default 60; minimum 1. */
2025
+ maxRunsPerMinute?: InputMaybe<Scalars['Int']['input']>;
2026
+ /** Name unique for the current owner in this grid. */
2027
+ name: Scalars['String']['input'];
2028
+ /** Strict trigger JSON. Schedule: {"kind":"schedule","scheduleKind":"interval","intervalMs":2000} or cron with cronExpr. Event: {"kind":"event","eventKind":"owner_container_changed|grid_actor_changed|grid_voxel_changed|compute_event"}; compute_event may include eventName. */
2029
+ triggerJson: Scalars['String']['input'];
2030
+ };
2031
+ /** Create a flexible player-owned model container inside one grid. The caller must currently own the grid; owner identity cannot be supplied. */
2032
+ export type CreatePlayerModelContainerInput = {
2033
+ /** App containing the owned grid. */
2034
+ appId: Scalars['BigInt']['input'];
2035
+ /** Optional player-facing name, unique within the owner/grid/type tuple. */
2036
+ displayName?: InputMaybe<Scalars['String']['input']>;
2037
+ /** Grid that confines the container. */
2038
+ gridId: Scalars['BigInt']['input'];
2039
+ /** Optional JSON object stored as untyped container state. */
2040
+ stateJson?: InputMaybe<Scalars['String']['input']>;
2041
+ /** Flexible instance kit key. Defaults to 'PlayerData'; this does not author a studio model type. */
2042
+ typeKey?: InputMaybe<Scalars['String']['input']>;
2043
+ };
1889
2044
  /** Input for createPortalAuthorizationCode: the Overworld (identity origin, holding the session token) mints a one-time code the destination game exchanges for an app token. Browser handoff path; pair with a PKCE verifier held by the destination game origin. */
1890
2045
  export type CreatePortalAuthorizationCodeInput = {
1891
2046
  /** Numeric id of the target app the player is portaling into. */
@@ -1962,6 +2117,28 @@ export type DeployComputeVersionInput = {
1962
2117
  /** JSON object mapping relative paths to file contents. Must include Cargo.toml and src/lib.rs; only .rs files under src/ plus Cargo.toml are allowed. Dependencies are restricted to the platform crate allowlist; build.rs and [build-dependencies] are rejected. */
1963
2118
  sourceFilesJson: Scalars['String']['input'];
1964
2119
  };
2120
+ export type DeployPlayerComputeInput = {
2121
+ /** Guest ABI version. P1 supports ABI 0. */
2122
+ abiVersion?: InputMaybe<Scalars['Int']['input']>;
2123
+ /** App containing the owned grid. */
2124
+ appId: Scalars['BigInt']['input'];
2125
+ /** Optional player-facing module description. */
2126
+ description?: InputMaybe<Scalars['String']['input']>;
2127
+ /** Deploy in draft mode (live-coding iteration): the module runs for its author but its spatial egress is suppressed server-side, so no other session in the grid observes its world effects. Omit or false for a normal deploy. */
2128
+ draft?: InputMaybe<Scalars['Boolean']['input']>;
2129
+ /** Owned grid that confines server execution. */
2130
+ gridId: Scalars['BigInt']['input'];
2131
+ /** Lowercase crate-style module name, unique within the grid. */
2132
+ name: Scalars['String']['input'];
2133
+ /** Pinned crowdy-compute-sdk version. Defaults to 0.1.5. */
2134
+ sdkVersion?: InputMaybe<Scalars['String']['input']>;
2135
+ /** JSON object mapping Cargo.toml and src/*.rs relative paths to source. P1 player caps: at most 8 files, 64 KiB/file, 256 KiB total. */
2136
+ sourceFilesJson: Scalars['String']['input'];
2137
+ /** SERVER or CLIENT compile target. */
2138
+ target: PlayerComputeTarget;
2139
+ /** Optional server tick rate in Hz. Omit for invoke/event-only modules or CLIENT artifacts. Clamped by the effective player/app policy. */
2140
+ tickHz?: InputMaybe<Scalars['Float']['input']>;
2141
+ };
1965
2142
  export type DestroyEnvironmentInput = {
1966
2143
  /** Optional idempotency key. Recommended for retries: replaying with the same key and identical input returns the first result instead of re-applying; the same key with different input returns IDEMPOTENCY_CONFLICT. Keys expire after 24h. */
1967
2144
  idempotencyKey?: InputMaybe<Scalars['String']['input']>;
@@ -1975,6 +2152,28 @@ export type DevLoginInput = {
1975
2152
  /** Email of the account to sign in as (created if absent). */
1976
2153
  email: Scalars['String']['input'];
1977
2154
  };
2155
+ /** One manifest component's change in a redeploy plan: what the environment currently runs vs what the target release pins. */
2156
+ export type EnvironmentComponentChange = {
2157
+ __typename?: 'EnvironmentComponentChange';
2158
+ /** True when the redeploy would change this component. */
2159
+ changed: Scalars['Boolean']['output'];
2160
+ /** Manifest component kind (e.g. 'game_api_environment', 'buddy', 'game_api_base_image'). */
2161
+ component: Scalars['String']['output'];
2162
+ /** Version the environment currently runs for this component (observed, falling back to last-desired). Null when never deployed. */
2163
+ fromVersion: Maybe<Scalars['String']['output']>;
2164
+ /** Version the target release pins for this component. Null when the target manifest omits the component. */
2165
+ toVersion: Maybe<Scalars['String']['output']>;
2166
+ };
2167
+ /** A task the redeploy pipeline would enqueue, with its step kinds in execution order. Enumerated from the same planner the real change order uses. */
2168
+ export type EnvironmentPlannedTask = {
2169
+ __typename?: 'EnvironmentPlannedTask';
2170
+ /** Task kinds this task waits on before starting. */
2171
+ dependsOn: Array<Scalars['String']['output']>;
2172
+ /** Task kind (e.g. 'apply_schema_in_place', 'update_game_api_1'). */
2173
+ kind: Scalars['String']['output'];
2174
+ /** Step kinds in order (e.g. 'pg:apply_schema', 'ssh:install_wasm_toolchain'). */
2175
+ steps: Array<Scalars['String']['output']>;
2176
+ };
1978
2177
  /** Input for environmentQuote. Mirrors CreateEnvironmentInput’s class/flavor shape: dedicated needs the four per-role flavors + counts; dev_single needs only the single flavor. */
1979
2178
  export type EnvironmentQuoteInput = {
1980
2179
  /** 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. */
@@ -1999,6 +2198,32 @@ export type EnvironmentQuoteInput = {
1999
2198
  udpBuddyMaxServers?: InputMaybe<Scalars['Int']['input']>;
2000
2199
  udpBuddyMinServers?: InputMaybe<Scalars['Int']['input']>;
2001
2200
  };
2201
+ /** DRY RUN preview of redeployEnvironment: exactly what moving the environment to a target release version would do — component version diffs (game-api, Buddy, base images), whether game-DB schema DDL applies, and the pipeline tasks/steps that would run — WITHOUT creating a change order or touching any VM. Blockers list everything that would make the real mutation fail. */
2202
+ export type EnvironmentRedeployPlan = {
2203
+ __typename?: 'EnvironmentRedeployPlan';
2204
+ /** Why the real redeployEnvironment call would be rejected right now (active change order, missing flavors, version not deployable, ...). Empty when the redeploy would proceed. */
2205
+ blockers: Array<Scalars['String']['output']>;
2206
+ /** Change-order kind the real mutation would enqueue ('redeploy_environment_services' or 'deploy_environment_version'). */
2207
+ changeOrderKind: Maybe<Scalars['String']['output']>;
2208
+ /** Per-component version diff between what the environment runs and what the target release pins. */
2209
+ componentChanges: Array<EnvironmentComponentChange>;
2210
+ /** Release version the environment currently observes (null before first deploy). */
2211
+ currentVersion: Maybe<Scalars['String']['output']>;
2212
+ /** How the redeploy would run: 'services' (in-place bump on existing VMs) or 'full' (full reprovision). Null when blocked before resolution. */
2213
+ deployMode: Maybe<Scalars['String']['output']>;
2214
+ /** Environment slug. */
2215
+ environmentSlug: Scalars['String']['output'];
2216
+ /** Human-readable highlights of what the redeploy does (game-api tag movement, Buddy artifact resolution, schema apply/skip, VM counts). */
2217
+ notes: Array<Scalars['String']['output']>;
2218
+ /** Git ref whose create-schema.sql would be applied. */
2219
+ schemaGitRef: Maybe<Scalars['String']['output']>;
2220
+ /** True when the plan applies the game schema (create-schema.sql at the target's schemaGitRef) to the tenant game DB in place. False when the observed schema ref already matches (apply skipped) or when blocked. */
2221
+ schemaWillApply: Scalars['Boolean']['output'];
2222
+ /** Release version the redeploy would move to (the requested version, or the latest available for the class when omitted). Null when no version resolves — see blockers. */
2223
+ targetVersion: Maybe<Scalars['String']['output']>;
2224
+ /** Pipeline tasks the change order would run (enumerated for 'services' mode; empty for 'full' mode and when blocked). */
2225
+ tasks: Array<EnvironmentPlannedTask>;
2226
+ };
2002
2227
  /** Aggregate byte totals for one environment over the requested window. All *Bytes fields are string counters (may exceed Int range). */
2003
2228
  export type EnvironmentUsageRollupRow = {
2004
2229
  __typename?: 'EnvironmentUsageRollupRow';
@@ -2959,6 +3184,59 @@ export type Grid = {
2959
3184
  /** Low (minimum x/y/z) corner chunk of the box. */
2960
3185
  low_chunk: ChunkCoordinates;
2961
3186
  };
3187
+ /** How a player claim confers grid ownership in this app (D4): SELF_CLAIM (the claim alone assigns ownership), APPROVAL (claims create requests designated approvers accept), INVITE (only against a standing invite), or MARKETPLACE_ONLY (only a marketplace grid purchase; direct claims refused — the purchase edge ships in P4b). */
3188
+ export declare enum GridClaimPolicy {
3189
+ Approval = "APPROVAL",
3190
+ Invite = "INVITE",
3191
+ MarketplaceOnly = "MARKETPLACE_ONLY",
3192
+ SelfClaim = "SELF_CLAIM"
3193
+ }
3194
+ /** A pending or decided grid claim request (claim policy 'approval'). Approval assigns grid_ownership to the requester. */
3195
+ export type GridClaimRequest = {
3196
+ __typename?: 'GridClaimRequest';
3197
+ /** App of the grid. */
3198
+ appId: Scalars['BigInt']['output'];
3199
+ /** When the request was created. */
3200
+ createdAt: Scalars['DateTime']['output'];
3201
+ /** The grid being claimed. */
3202
+ gridId: Scalars['BigInt']['output'];
3203
+ /** UUID of the request. */
3204
+ requestId: Scalars['String']['output'];
3205
+ /** The requesting player. */
3206
+ requesterUserId: Scalars['BigInt']['output'];
3207
+ /** Request status: 'pending', 'approved', 'denied', or 'cancelled'. */
3208
+ status: Scalars['String']['output'];
3209
+ };
3210
+ /** Result of claimGridOwnership: either ownership was assigned now (SELF_CLAIM / INVITE) or a claim request was created (APPROVAL). MARKETPLACE_ONLY apps refuse direct claims. */
3211
+ export type GridClaimResult = {
3212
+ __typename?: 'GridClaimResult';
3213
+ /** UUID of the created claim request in APPROVAL mode; null otherwise. */
3214
+ claimRequestId: Maybe<Scalars['String']['output']>;
3215
+ /** True when the caller now owns the grid. */
3216
+ ownershipAssigned: Scalars['Boolean']['output'];
3217
+ /** The app policy that was applied. */
3218
+ policy: GridClaimPolicy;
3219
+ };
3220
+ /** A grid-attached client mod (a bundle's client half installed on a grid). Players present in the grid may fetch and run it only after per-player consent to its capability hash — the D2 pattern that lets grid authors run client compute on visitors (e.g. relaying actor updates to the grid's server compute). */
3221
+ export type GridClientMod = {
3222
+ __typename?: 'GridClientMod';
3223
+ /** UUID of the grid attachment. */
3224
+ attachmentId: Scalars['String']['output'];
3225
+ /** Whether the calling player has already consented to this attachment. */
3226
+ callerConsented: Scalars['Boolean']['output'];
3227
+ /** Capability hash a player must consent to before fetching. */
3228
+ capabilityHash: Scalars['String']['output'];
3229
+ /** JSON derived capability summary of the pinned version. */
3230
+ capabilitySummaryJson: Scalars['String']['output'];
3231
+ /** The grid the client mod is attached to. */
3232
+ gridId: Scalars['BigInt']['output'];
3233
+ /** UUID of the listing. */
3234
+ listingId: Scalars['String']['output'];
3235
+ /** Listing display name. */
3236
+ listingName: Scalars['String']['output'];
3237
+ /** UUID of the pinned listing version. */
3238
+ versionId: Scalars['String']['output'];
3239
+ };
2962
3240
  /** A single group/role -> permission-key grant on a grid (one row of the grid_group_grants input table). */
2963
3241
  export type GridGroupGrant = {
2964
3242
  __typename?: 'GridGroupGrant';
@@ -2975,6 +3253,58 @@ export type GridGroupGrant = {
2975
3253
  /** The runtime permission key string granted to the group/role. */
2976
3254
  permissionKey: Scalars['String']['output'];
2977
3255
  };
3256
+ /** A grid listing available in the app store (P4b): a blueprint that stamps a fresh grid per purchase, or a concrete grid. Buying it confers grid_ownership + the listed player-code keys + the quota preset atomically. */
3257
+ export type GridListing = {
3258
+ __typename?: 'GridListing';
3259
+ /** App the listing belongs to. */
3260
+ appId: Scalars['BigInt']['output'];
3261
+ /** Player-code keys conferred on purchase. */
3262
+ conferredPermissionKeys: Array<Scalars['String']['output']>;
3263
+ /** Store description. */
3264
+ description: Scalars['String']['output'];
3265
+ /** UUID of the grid listing. */
3266
+ gridListingId: Scalars['String']['output'];
3267
+ /** 'blueprint' or 'concrete'. */
3268
+ kind: Scalars['String']['output'];
3269
+ /** Display name. */
3270
+ name: Scalars['String']['output'];
3271
+ /** Price in cents. */
3272
+ priceCents: Scalars['Int']['output'];
3273
+ /** Resale policy for the grid. */
3274
+ resalePolicy: Scalars['String']['output'];
3275
+ /** Catalog status: 'active' or 'delisted'. */
3276
+ status: Scalars['String']['output'];
3277
+ /** Studio cut (bps) on resale, when applicable. */
3278
+ studioCutBps: Scalars['Int']['output'];
3279
+ };
3280
+ /** Kind of principal holding grid title. P1 can assign USER owners; GROUP and ORG are schema-reserved for future shared ownership. */
3281
+ export declare enum GridOwnerKind {
3282
+ Group = "GROUP",
3283
+ Org = "ORG",
3284
+ User = "USER"
3285
+ }
3286
+ /** The current first-class ownership record for a grid. Server player code always resolves its execution identity from this record. */
3287
+ export type GridOwnership = {
3288
+ __typename?: 'GridOwnership';
3289
+ /** When this ownership began. */
3290
+ acquiredAt: Scalars['DateTime']['output'];
3291
+ /** Audit origin of this ownership (for example studio_grant, transfer, or marketplace). */
3292
+ acquiredVia: Scalars['String']['output'];
3293
+ /** App that contains the grid. */
3294
+ appId: Scalars['BigInt']['output'];
3295
+ /** Rental expiry; null for permanent ownership. */
3296
+ expiresAt: Maybe<Scalars['DateTime']['output']>;
3297
+ /** Owned grid id. */
3298
+ gridId: Scalars['BigInt']['output'];
3299
+ /** UUID of the ownership history row. */
3300
+ gridOwnershipId: Scalars['String']['output'];
3301
+ /** Kind of current owner. P1 supports USER. */
3302
+ ownerKind: GridOwnerKind;
3303
+ /** Numeric user/group/org id selected by ownerKind. */
3304
+ ownerRef: Scalars['BigInt']['output'];
3305
+ /** Permanent ownership or an expiring rental. */
3306
+ tenure: GridTenure;
3307
+ };
2978
3308
  /** The permission-key whitelist configured for a grid (the grid_permission_limits input table). */
2979
3309
  export type GridPermissionLimits = {
2980
3310
  __typename?: 'GridPermissionLimits';
@@ -2985,6 +3315,19 @@ export type GridPermissionLimits = {
2985
3315
  /** The permission keys this grid is limited to. Empty means no limit (every active grid permission is allowed). */
2986
3316
  permissionKeys: Array<Scalars['String']['output']>;
2987
3317
  };
3318
+ /** Result of purchasing a grid listing: the owned grid the buyer now holds. */
3319
+ export type GridPurchaseResult = {
3320
+ __typename?: 'GridPurchaseResult';
3321
+ /** The grid the buyer now owns. */
3322
+ gridId: Scalars['BigInt']['output'];
3323
+ /** True when ownership was assigned. */
3324
+ ownershipAssigned: Scalars['Boolean']['output'];
3325
+ };
3326
+ /** Whether the current title is permanent ownership or an expiring rental. */
3327
+ export declare enum GridTenure {
3328
+ Owned = "OWNED",
3329
+ Rented = "RENTED"
3330
+ }
2988
3331
  /** A user's effective (materialized) runtime permissions on one grid: the flattened union of direct + group grants, with expired grants excluded, that Buddy enforces. */
2989
3332
  export type GridUserPermissions = {
2990
3333
  __typename?: 'GridUserPermissions';
@@ -3171,20 +3514,32 @@ export type MintAppTokenInput = {
3171
3514
  };
3172
3515
  export type Mutation = {
3173
3516
  __typename?: 'Mutation';
3517
+ /** Acquire a free listing: writes the entitlement row (no payment edge exists in P4a — paid modes are P4b). Idempotent per (listing, caller). Allowed in any admission mode; in allow_list apps an unadmitted acquisition holds until the listing/author/org is admitted, at which point installPlayerCode proceeds. */
3518
+ acquirePlayerCode: PlayerCodeAcquisition;
3174
3519
  /** 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. */
3175
3520
  actorHeartbeat: Maybe<GameHost>;
3176
3521
  /** Add a user to a channel, or approve their pending join request (upsert to active). Requires the 'manage_members' channel permission (app admins bypass). Auto-assigns the default role if configured and notifies Buddy with the member's effective send permission. */
3177
3522
  addChannelMember: GroupMember;
3178
3523
  /** Add a user to a team, or approve their pending join request (upsert to active). Requires the 'manage_members' team permission (app admins bypass). Auto-assigns the team's default role if configured. */
3179
3524
  addTeamMember: GroupMember;
3525
+ /** Admit one player-code listing, author, or authoring org to an app's strict allow list. Requires 'manage_compute'. Idempotency is explicit: an identical active entry returns a conflict instead of silently creating duplicates. SIDE EFFECTS: audit row + replica sync. */
3526
+ admitAppCode: AppCodeAdmission;
3180
3527
  /** Soft-delete an access tier by setting its status to 'archived' (the row is retained, NOT hard-deleted) and notifies the game API. Requires the 'manage_access_tiers' permission on the app that owns the tier; super admins bypass. Existing user grants on this tier are NOT automatically revoked. Throws if the tier is not found. */
3181
3528
  archiveAccessTier: AppAccessTier;
3182
3529
  /** Soft-delete an app by setting status=ARCHIVED. The row is retained (NOT hard-deleted) and is excluded from the public marketplace. REVERSIBLE: call updateApp to set status back to DRAFT or LIVE. Requires the 'manage_apps' permission on the app; super admins bypass. Throws if the app id does not exist. */
3183
3530
  archiveApp: App;
3531
+ /** Assign first-class title for an unowned grid to one user. P1 studio/bootstrap path; marketplace acquisition supersedes it later. Requires app-admin ('manage_apps'). Assigns title only: permissions must be granted explicitly. */
3532
+ assignGridOwnership: GridOwnership;
3184
3533
  /** Grant runtime permission keys to a group (optionally scoped to a single group role) on a grid by writing the `grid_group_grants` input table, then recompute the materialized effective ACL so every affected member gains the keys. Requires app-admin ('manage_apps'). Returns the grid's current group grants for the group. Use `grantGridPermissions` for per-user grants instead. */
3185
3534
  assignGroupToGrid: Array<GridGroupGrant>;
3186
3535
  /** Record the user's consent for an (untrusted) app to receive app-scoped tokens via the portal. Called from the Overworld consent screen before createPortalAuthorizationCode. Idempotent. Requires a SESSION token. */
3187
3536
  authorizeApp: AppAuthorizationGrant;
3537
+ /** Begin Stripe Connect Express onboarding for an ORG's payout account (org-owned listings, DN-9). Requires 'manage_billing' in the org. */
3538
+ beginOrgSellerOnboarding: SellerOnboardingLink;
3539
+ /** Begin vaulting a card on the caller's player wallet (P4b): returns a Stripe SetupIntent client secret + publishable key for the browser to confirm. On success the card is saved for wallet auto-recharge and rent auto-renew. Closes the P2 gap where players had no card-setup path. */
3540
+ beginPlayerCardSetup: PlayerCardSetup;
3541
+ /** Begin Stripe Connect Express seller onboarding for the calling player (personal listings). Returns the hosted onboarding URL to finish KYC, or an unavailable reason in unsupported regions. Required before pricing a listing above free. */
3542
+ beginSellerOnboarding: SellerOnboardingLink;
3188
3543
  /** DESTRUCTIVE. Cancels an app's paid shared-environment subscription. The app loses its paid shared slot (typically at currentPeriodEnd) and may be denied runtime once the period lapses unless a free slot covers it. Returns the updated subscription. Requires the 'manage_billing' permission on the app's org. */
3189
3544
  cancelSharedSubscription: AppSharedSubscription;
3190
3545
  /** Captures an approved PayPal order after the hosted checkout redirects back, completes the checkout (wallet credit / access grant), and returns the updated Checkout. PayPal webhooks remain a backup for idempotent reconciliation if they arrive later. Requires an authenticated user who owns the checkout. */
@@ -3193,6 +3548,8 @@ export type Mutation = {
3193
3548
  changePassword: Scalars['Boolean']['output'];
3194
3549
  /** Self-service: the authenticated caller claims access to an app via its free, open-by-default tier. Requires authentication only (no org membership needed). ENTITLEMENT CHANGE: grants the free default tier as a 'system' grant and notifies the game API. Idempotent: returns the existing row if already granted, and never overrides a prior revoke. Errors if the app has no free default tier or is archived. */
3195
3550
  claimFreeAppAccess: AppUserAccess;
3551
+ /** Claim grid ownership under the app's claim policy (D4, server-authorized — no client manage_apps involved). SELF_CLAIM assigns ownership immediately; APPROVAL creates a pending request for designated approvers; INVITE requires a standing invite (consumed on use); MARKETPLACE_ONLY refuses (ownership arrives only via grid purchase, P4b). The grid must exist and have no current owner; game rules gate who may attempt a claim. */
3552
+ claimGridOwnership: GridClaimResult;
3196
3553
  /** Complete a magic-link sign-in with the emailed token; returns a session AuthResponse. Public (the token authorizes the call); throws if invalid/expired/used. */
3197
3554
  completeLoginLink: AuthResponse;
3198
3555
  /** Delete a compute module and (via cascade) its versions, triggers, and lease. Run history is retained for auditing. Returns true when a module was deleted. Requires the org 'manage_compute' permission. */
@@ -3217,6 +3574,8 @@ export type Mutation = {
3217
3574
  confirmEmail: Scalars['Boolean']['output'];
3218
3575
  /** Open the UDP proxy session for this game token (idempotent: returns the existing status if one is already open). Binds a socket and selects the game server with the fewest clients on first open. Optional: send mutations and udpNotifications also create a session lazily when none exists. To force a fresh socket, call disconnectUdpProxy first. */
3219
3576
  connectUdpProxy: UdpProxyConnectionStatus;
3577
+ /** Consent to run a grid-attached client mod (D2): acknowledges the attachment's exact capability hash. A newer version with a widened summary carries a different hash, so stale consents fail closed — re-consent is always explicit. Consent is per player per attachment. */
3578
+ consentGridClientMod: Scalars['Boolean']['output'];
3220
3579
  /** Operator only (is_operator). Patches the platform compute ceilings: omitted fields stay unchanged, an explicit null clears that override (game-api falls back to env/default), a value (> 0) sets it. SIDE EFFECTS: fans a replica notify out to every game-api so the new ceilings clamp computeSetPolicy within ~30 seconds without a restart, and writes an audit entry. Lowering a ceiling does not shrink already-stored per-app policies; it rejects future computeSetPolicy values above the new ceiling. Returns the updated ceilings row. */
3221
3580
  cpSetComputePlatformCeilings: CpComputePlatformCeilings;
3222
3581
  /** Create a new access tier (a free/paid bundle of runtime permissions) for an app. Requires the 'manage_access_tiers' permission on the app (input.appId); super admins bypass. SIDE EFFECTS: validates the tier's permission keys against runtimePermissions and notifies the game API so Buddy sees the new tier. Does NOT grant the tier to any user. */
@@ -3237,6 +3596,8 @@ export type Mutation = {
3237
3596
  createEnvironment: CksEnvironmentDetail;
3238
3597
  /** Create a grid: a named 3D box of chunks that runtime/world (voxel) permissions are scoped to. The box must fit within one of the app's grid assignments (its buildable regions); it MAY be nested inside a broader containing grid such as the open-by-default world grid, but must not partially overlap a peer grid. Requires app-admin ('manage_apps'). Returns a hybrid response — on success `grid` is populated and `error` is NO_ERROR; on failure `grid` is null and `error` is a UDP-style error code (e.g. NO_MATCHING_GRID_ASSIGNMENT, GRID_OUTSIDE_ASSIGNMENT, GRID_OVERLAPS_EXISTING, GRID_ALREADY_EXISTS). */
3239
3598
  createGrid: CreateGridResponse;
3599
+ /** Create a studio grid listing (07 §1.1): a blueprint that stamps a fresh grid per sale, or a concrete grid. Requires 'manage_apps'. Purchase (in-game) confers grid_ownership + the listed keys + quota preset atomically. */
3600
+ createGridListing: GridListing;
3240
3601
  /** Creates a custom role in an organization with a name, optional description, and permission keys. Requires the 'manage_members' permission on the org (super admins bypass). */
3241
3602
  createOrgRole: OrgRole;
3242
3603
  /** Mints a new org API token and returns the plaintext token exactly once - save it, since subsequent queries only show metadata. Requires the 'manage_tokens' permission on the target org (super admins bypass). */
@@ -3249,6 +3610,10 @@ export type Mutation = {
3249
3610
  createTeam: Group;
3250
3611
  /** Create a custom (non-system) team role granting the given team permission keys. Requires the 'manage_roles' team permission (app admins bypass). Permission keys must be valid team permission keys (group_permission_defs). */
3251
3612
  createTeamRole: GroupRole;
3613
+ /** Release (settle held order + unfreeze payout) or confirm (uphold) a T11 risk flag. Requires 'manage_compute'. */
3614
+ decideCommerceRiskFlag: Scalars['Boolean']['output'];
3615
+ /** Approve or deny a pending grid claim request (claim policy APPROVAL). Callable by the app's designated approver users or studio staff holding manage_compute. Approval assigns grid_ownership to the requester. */
3616
+ decideGridClaim: GridClaimRequest;
3252
3617
  /** DESTRUCTIVE: permanently deletes the actor identified by `uuid` and returns a copy of the now-deleted row. OWNER-EXCLUSIVE: only the owner may delete (throws Unauthorized otherwise). Requires a valid game token. `uuid` is the 32-character ASCII actor id. */
3253
3618
  deleteActor: Actor;
3254
3619
  /** DESTRUCTIVE: permanently deletes the avatar and returns a copy of the now-deleted row. OWNER-EXCLUSIVE: only the owner may delete (throws Unauthorized otherwise). Requires a valid game token. */
@@ -3265,6 +3630,8 @@ export type Mutation = {
3265
3630
  deleteMyAccount: Scalars['Boolean']['output'];
3266
3631
  /** Deletes an organization role. Requires the 'manage_members' permission on the role's org (super admins bypass). DESTRUCTIVE: removes the role and unassigns it from all members. Returns false if the role does not exist. */
3267
3632
  deleteOrgRole: Scalars['Boolean']['output'];
3633
+ /** Delete a player-compute policy row; covered players fall back to the next most general scope. Returns false when no matching row exists. Requires 'manage_compute'. */
3634
+ deletePlayerWasmPolicy: Scalars['Boolean']['output'];
3268
3635
  /** Permanently deletes a quota enforcement rule by id. Returns true if a rule was removed, or false if no quota with that id exists. Destructive and not reversible: once removed, the metric falls back to the next-most-specific rule or the free-tier default. Requires the 'manage_quotas' permission on the same scope (app or org) the quota belongs to, or super admin for global quotas. */
3269
3636
  deleteQuota: Scalars['Boolean']['output'];
3270
3637
  /** Delete a team. Requires the 'manage_group' team permission (app admins bypass). DESTRUCTIVE: cascades to members, roles, and any grid grants the team conferred, and recomputes the effective grid ACL for affected grids. Returns true on success. */
@@ -3345,8 +3712,12 @@ export type Mutation = {
3345
3712
  grantMyAppAccess: AppUserAccess;
3346
3713
  /** Operator only (is_operator). Ingests a release manifest into cks_environment_versions, making the version deployable, and writes an audit entry. Use force to overwrite an existing row. */
3347
3714
  ingestEnvironmentVersion: CpEnvironmentVersionRow;
3715
+ /** Install an acquired listing after consenting to its capability summary (echo the version's capabilityHash as consentCapabilityHash — a mismatch fails closed). Server halves register through the same P1 registry as instances in a grid the caller OWNS (requires run_server_code) and run as the grid owner on their quota/wallet — never as the author. Bundled client halves attach to the grid for per-visitor consent (D2); omitting gridId makes a personal client-only install. Fail-closed on entitlement, admission, consent, ownership, and run keys. */
3716
+ installPlayerCode: PlayerCodeInstall;
3348
3717
  /** Adds a user to an organization as a member. Requires the 'manage_members' permission on the target org (super admins bypass). */
3349
3718
  inviteOrgMember: OrgMember;
3719
+ /** Issue a standing grid claim invite (claim policy INVITE). Callable by designated approvers or studio staff holding manage_compute; the invitee then calls claimGridOwnership to take ownership. */
3720
+ issueGridClaimInvite: Scalars['Boolean']['output'];
3350
3721
  /** Join a channel as the caller (subscribe to it). Honors the channel membership policy: open -> active immediately, request -> pending (a manager must approve), invite/admin -> rejected. On becoming active, Buddy is notified with the caller's effective send permission so routing starts. */
3351
3722
  joinChannel: GroupMember;
3352
3723
  /** Join a team as the caller. Honors the team membership policy: open -> active immediately, request -> pending (a manager must approve), invite/admin -> rejected. Banned users are rejected. No special permission required. */
@@ -3367,20 +3738,50 @@ export type Mutation = {
3367
3738
  logoutAllDevices: Scalars['Boolean']['output'];
3368
3739
  /** Mint a short-lived, app-scoped gameplay token for the calling user (native/direct path; no browser redirect). Requires an identity SESSION token (app tokens cannot mint). Free/open apps auto-grant access; paid apps require an existing entitlement (else FORBIDDEN). Side effect: may create an app_user_access row on the app's free default tier. */
3369
3740
  mintAppToken: AppTokenResponse;
3741
+ /** Create a disabled player automation confined to the caller and one currently owned grid. Strict trigger/action validation rejects selectors, supplied identities, and app-wide shapes. */
3742
+ playerAutomationCreate: PlayerAutomation;
3743
+ /** Delete one caller-owned player automation from the specified currently owned grid. Destructive; recorded run rows remain for audit. */
3744
+ playerAutomationDelete: Scalars['Boolean']['output'];
3745
+ /** Enable or disable one caller-owned player automation. Enabling requires effective run_server_code and, in strict mode, author admission. Interval/cron triggers compute the first due time; the P1 dispatcher executes scheduled studio-model actions while event delivery and player-compute actions remain typed pending paths. */
3746
+ playerAutomationSetEnabled: PlayerAutomation;
3747
+ /** Delete a self-authored player module and its source versions. Only the code author may delete it, and they must still own the target grid. Returns false when no matching module exists. */
3748
+ playerComputeDelete: Scalars['Boolean']['output'];
3749
+ /** Deploy player-authored Rust into a grid the caller currently owns. Requires the target's write permission at both app-tier and grid ACL layers. One call creates/updates the module and publishes an immutable pending version; the shared compiler builds it asynchronously. Authoring is never admission-gated, but only the original author may replace closed source. */
3750
+ playerComputeDeploy: PlayerWasmModuleVersion;
3751
+ /** Synchronously invoke a server player-module export as the current grid owner. Requires the module to be enabled, compiled, admitted, and covered by run_server_code at app and grid scope. The runtime payload carries callerUserId/gridId; author identity never participates. */
3752
+ playerComputeInvoke: PlayerComputeInvokeResult;
3753
+ /** Enable or disable a player module. Enabling requires current grid ownership, the target's run permission, a successful compile, and admission when the app uses strict ALLOW_LIST mode. Write permission is not sufficient to run code. */
3754
+ playerComputeSetEnabled: PlayerWasmModule;
3755
+ /** Throw or release a player-compute kill switch at player, grid, app, or listing scope (the 03 §7 kill ladder). Throwing a switch stops the covered modules on the next scheduler pass; quota state is retained, and releasing resumes normally. LISTING scope (P4a) disables every install of a marketplace listing fleet-wide — pass the listing UUID in listingRef; pair it with the management-side catalog kill to also stop new acquisitions. Module-level disable is playerComputeSetEnabled. Requires the org 'manage_compute' permission. */
3756
+ playerComputeSetSwitch: Scalars['Boolean']['output'];
3757
+ /** Create a flexible player-model instance in a currently owned grid. The server forces ownerUserId to the caller; this cannot author studio types or app-wide rows. */
3758
+ playerModelCreateContainer: PlayerModelContainer;
3759
+ /** Delete one caller-owned player-model container and its properties from the specified currently owned grid. Destructive; foreign or absent IDs return NOT_FOUND. */
3760
+ playerModelDeleteContainer: Scalars['Boolean']['output'];
3761
+ /** Upsert one arbitrary JSON property on a caller-owned player-model container. Requires current ownership of the specified grid. */
3762
+ playerModelSetProperty: PlayerModelContainer;
3370
3763
  /** Publishes an app to the shared game-api environment. Free under the org's app-slot quota (result.free = true); beyond the quota, publish still succeeds and hourly usage is debited from the org wallet. Requires the 'manage_apps' permission on the app's org. Blocked when SHARED_GAME_API_URL is not configured. */
3371
3764
  publishAppToShared: PublishAppResult;
3372
3765
  /** Operator only (is_operator). Cuts a new environment release from a cks-game-api git tag: ingests it as available and commits the manifest to the git ref. SIDE EFFECT: makes the version the new redeploy target and writes to GitHub. Use force to overwrite. Writes an audit entry. */
3373
3766
  publishEnvironmentReleaseFromGameApiTag: CpPublishEnvironmentReleaseResult;
3767
+ /** Create a marketplace listing (free mode) for code the caller authors — personally, or org-owned via ownerOrgId (DN-9; requires manage_compute in that org). SIDE EFFECTS: the catalog row is written on cks-management-api with an ownership audit entry and replica-synced back. Publishing never uploads source; versions snapshot artifact hashes only. */
3768
+ publishPlayerCode: PlayerCodeListing;
3769
+ /** Publish an immutable version under a listing from the caller's successfully compiled module versions (server and/or client — both makes a bundle). Snapshots ARTIFACT HASHES and the DERIVED capability summary; source never leaves the author's rows. Open-sourcing a version is irreversible for that version. Existing installs keep their pinned versions; a widened capability summary forces fresh consent on any new install. */
3770
+ publishPlayerCodeVersion: PlayerCodeListingVersion;
3771
+ /** Buy a grid listing with real money (P4b). Debits the player wallet management-side (platform/org split), then assigns grid_ownership + the listed player-code keys atomically; a failure to apply ownership refunds the charge. For blueprint listings, targetChunk picks where the fresh grid is stamped. This is the ownership path for marketplace_only-policy apps. */
3772
+ purchaseGrid: GridPurchaseResult;
3374
3773
  /** DESTRUCTIVE. Permanently deletes a destroyed environment's record and all cascaded metadata from the platform; returns true on success. The environment must already be in status 'destroyed' (run destroyEnvironment first) and must not have deletion protection enabled, otherwise this fails. Does not touch cloud resources. Requires the 'manage_environments' org permission. */
3375
3774
  purgeEnvironment: Scalars['Boolean']['output'];
3376
3775
  /** Operator only (is_operator). Creates or overwrites an environment-delivered secret (injected into the tenant runtime) and writes an audit entry. SENSITIVE: plaintext is write-only and never returned. */
3377
3776
  putCpEnvSecret: CpEnvSecretRow;
3378
3777
  /** Operator only (is_operator). Creates or overwrites a control-plane secret (encrypted at rest) and writes an audit entry. SENSITIVE: plaintext is write-only and never returned by cpSecrets. */
3379
3778
  putCpSecret: CpSecretRow;
3380
- /** Redeploys the environment to a target release version (input.version) or, when omitted, the latest available version for its class, 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. Requires the 'manage_environments' org permission. */
3779
+ /** Redeploys the environment to a target release version (input.version) or, when omitted, the latest available version for its class, 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. Preview first with environmentRedeployPlan (the dry run). Requires the 'manage_environments' org permission. */
3381
3780
  redeployEnvironment: CksEnvironmentChangeOrder;
3382
3781
  /** Rotate the calling app token for a fresh one (same app, extended TTL) and revoke the old. Call before the current token expires to keep playing without bouncing back through the Overworld. Allowed for app-scoped tokens; re-checks entitlement. */
3383
3782
  refreshAppToken: AppTokenResponse;
3783
+ /** Request a refund of a paid acquisition (P4b). Allowed only within the refund window and before meaningful use (first install/fetch voids it), capped per buyer; a successful refund credits the wallet, reverses the ledger split, claws back the seller balance, revokes the acquisition, and drains installs. Returns cents refunded. */
3784
+ refundPlayerCodeAcquisition: Scalars['Int']['output'];
3384
3785
  /** Registers a new email + password account: creates the (initially unconfirmed) account, emails a confirmation link, and returns an AuthResponse with a session `token` for immediate use (send as `Authorization: Bearer <token>`). If an account already exists for the email (e.g. created via magic link/social), the password is attached pending email confirmation and no session is returned (throws CONFLICT). Public. */
3385
3786
  register: AuthResponse;
3386
3787
  /** Remove a member from a channel. Requires the 'manage_members' channel permission, except that any member may remove themselves. Notifies Buddy to stop routing to the removed member. Returns true if a membership was removed. */
@@ -3391,10 +3792,14 @@ export type Mutation = {
3391
3792
  removeSharedPaymentMethod: Scalars['Boolean']['output'];
3392
3793
  /** Remove a member from a team. Requires the 'manage_members' team permission, except that any member may remove themselves. DESTRUCTIVE: drops the membership and its roles. Returns true if a membership was removed. */
3393
3794
  removeTeamMember: Scalars['Boolean']['output'];
3795
+ /** Renew a RENT acquisition (or extend a TIME_LIMITED window): a wallet charge on the same acquisition that pushes its expiry out. A drained install resumes on the next scheduler pass without re-consent. Paid modes only (P4b). */
3796
+ renewPlayerCodeAcquisition: PlayerCodeAcquisition;
3394
3797
  /** Passwordless: email a one-time magic sign-in link to the address (creates the account on first sign-in). Always reports sent=true (no account enumeration). Public. */
3395
3798
  requestLoginLink: RequestLoginLinkResult;
3396
3799
  /** Starts the password-reset flow by emailing a reset link to the address. Always returns true regardless of whether the email exists (prevents account enumeration). The reset link is also the ownership-proven way an existing passwordless account adds a password. Public. */
3397
3800
  requestPasswordReset: Scalars['Boolean']['output'];
3801
+ /** Pay out the calling player's payable balance to their Connect account (D6 minimum, 7-day delay, reserves enforced). Returns cents paid. */
3802
+ requestSellerPayout: Scalars['Int']['output'];
3398
3803
  /** Request to join a request-only channel (creates a pending membership a manager can approve via addChannelMember). Behaves identically to joinChannel; named for request-policy UIs. */
3399
3804
  requestToJoinChannel: GroupMember;
3400
3805
  /** Request to join a request-only team (creates a pending membership a manager can approve via addTeamMember). Behaves identically to joinTeam; named for request-policy UIs. */
@@ -3411,6 +3816,8 @@ export type Mutation = {
3411
3816
  revokeAppAccess: AppUserAccess;
3412
3817
  /** Revoke a previously-granted app authorization and immediately revoke the user's live app tokens for it. Requires a SESSION token. */
3413
3818
  revokeAppAuthorization: Scalars['Boolean']['output'];
3819
+ /** Revoke an active player-code admission. Requires 'manage_compute'. SIDE EFFECTS: audit row + replica sync; game-api drains affected server modules and blocks client artifact fetches on the next admission refresh. */
3820
+ revokeAppCodeAdmission: AppCodeAdmission;
3414
3821
  /** Revoke a user's direct grants on a grid (deletes from the `grid_user_direct_grants` input table) and recompute their materialized effective ACL. Omit `permissionKeys` to remove ALL of the user's direct grants on the grid; pass a subset to remove only those keys. Does not affect permissions the user receives via group grants. Requires app-admin ('manage_apps'). DESTRUCTIVE for the targeted grants. Returns the user's remaining effective permission keys on the grid. */
3415
3822
  revokeGridPermissions: GridUserPermissions;
3416
3823
  /** Revoke group/role grants on a grid (deletes from the `grid_group_grants` input table) and recompute the materialized effective ACL. Omit `permissionKeys` to revoke ALL of the group/role's grants on the grid; pass a subset to revoke only those keys. Requires app-admin ('manage_apps'). DESTRUCTIVE: removes the granted permissions from every affected member. Returns the group's remaining grants on the grid. */
@@ -3437,6 +3844,12 @@ export type Mutation = {
3437
3844
  setAppBudget: AppBudget;
3438
3845
  /** Register/update an app's portal client settings (redirect_uris, client_type, launch_url). Requires manage_apps on the app and a SESSION token. */
3439
3846
  setAppClientSettings: PortalConsentState;
3847
+ /** Set an app's player-code censorship mode. Requires 'manage_compute'. SIDE EFFECTS: writes an immutable audit row and replica-syncs the mode to game-api. Switching to ALLOW_LIST is strict: unadmitted code (including self-authored code) drains at the runtime activation gate; deploy/compile remain allowed. */
3848
+ setAppCodeAdmissionMode: CodeAdmissionMode;
3849
+ /** Set how a player claim confers grid ownership in this app (D4): SELF_CLAIM, APPROVAL (optionally with a designated approver list), INVITE, or MARKETPLACE_ONLY. Requires 'manage_apps'. SIDE EFFECTS: replica-syncs to game-api, where claimGridOwnership enforces the policy. Changing policy never revokes existing grid_ownership rows. */
3850
+ setAppGridClaimPolicy: GridClaimPolicy;
3851
+ /** Set the app's marketplace org revenue share in basis points (OQ-3; taken from the post-platform remainder). Requires 'manage_billing'. BWF uses 0. */
3852
+ setAppMarketplaceOrgShare: Scalars['Int']['output'];
3440
3853
  /** Reserve sustained egress throughput for a shared app (bypasses the ~1 MB/s free-tier rate limit). Billed at $3/MB/s/month from the org wallet; upgrades are prorated for the current month. Requires 'manage_billing' on the app's org. */
3441
3854
  setAppReservedThroughput: SetAppReservedThroughputResult;
3442
3855
  /** Sets per-app hourly/daily spend caps (in cents) and returns the re-evaluated runtime state. Pass null for a limit to clear that cap. Exceeding a cap denies the app's runtime (runtimeDenialReason = spend_cap). Requires the 'manage_billing' permission on the app's org. */
@@ -3455,10 +3868,22 @@ export type Mutation = {
3455
3868
  setEnvironmentDeletionProtection: Scalars['Boolean']['output'];
3456
3869
  /** Replace the whitelist of permission keys allowed on a grid (writes the `grid_permission_limits` input table), then recompute the grid's materialized effective ACL so any keys no longer on the whitelist are dropped for all users. Pass an empty array to remove all limits. Requires app-admin ('manage_apps'). DESTRUCTIVE: narrowing the whitelist can strip effective permissions from existing users on the grid. */
3457
3870
  setGridPermissionLimits: GridPermissionLimits;
3871
+ /** Set (author-only) the acquisition mode and pricing for a code listing. Non-free modes require completed seller onboarding. Curation can reject a listing but never reprice it (07 §1.2). */
3872
+ setListingPricing: Scalars['Boolean']['output'];
3458
3873
  /** Super-admin only. Flip users.is_operator to grant or revoke control-plane / operator access. */
3459
3874
  setOperator: User;
3460
3875
  /** Super admin only. Used to freeze/unfreeze orgs platform-wide. SIDE EFFECT: sets organizations.status, which gates the org's platform access. */
3461
3876
  setOrgStatus: Organization;
3877
+ /** Configure the caller's player-wallet auto-recharge: enable/disable, per-period ceiling, recharge amount, and low-water threshold. Enabling requires a vaulted payment method. */
3878
+ setPlayerAutoBilling: PlayerAutoBilling;
3879
+ /** Change a listing's catalog status. DELISTED/ACTIVE are owner actions (existing installs keep their pinned versions; delisting only stops new acquisitions). KILLED requires 'manage_compute' on the app (studio/operator) and is the catalog half of the listing kill — pair it with the game-api listing-scope kill switch (playerComputeSetSwitch) to disable running installs fleet-wide. SIDE EFFECTS: audit row + replica sync. */
3880
+ setPlayerCodeListingStatus: PlayerCodeListing;
3881
+ /** Set the app's player rate-card markup (0..10000 basis points on the platform base price). Markup income accrues per charge to the org's income line and is paid out via the P4b payout ledger. Requires 'manage_billing'. */
3882
+ setPlayerRateMarkup: Scalars['Int']['output'];
3883
+ /** Set (or clear, by passing both limits null) one of the caller's self-set spend caps: a global or per-app daily/monthly ceiling in cents. Hitting a cap pauses that player's mods with PLAYER_SPEND_CAP until the window rolls — play is untouched. Changes replica-sync to the game runtime. */
3884
+ setPlayerSpendCap: Array<PlayerSpendCap>;
3885
+ /** Create or update a player-compute policy row at app_default, tier, grid, or user scope. Omitted knobs keep their current value; unitsPerHour/unitsPerDay set the PLAYER_QUOTA_EXHAUSTED budgets (null = uncapped). Every knob is additionally clamped by the app's studio compute policy at runtime, so a player policy can only tighten. Requires 'manage_compute'. */
3886
+ setPlayerWasmPolicy: PlayerWasmPolicy;
3462
3887
  /** Creates or updates a quota enforcement rule (idempotent upsert keyed by org/app/tier + metric + period) and returns it. Scope is inferred from the input ids: an app-scoped rule requires the 'manage_quotas' app permission, an org-scoped rule requires the 'manage_quotas' org permission, and a global rule (no org/app/tier) requires super admin. Changes which limit `effectiveQuota` resolves for the metric; does not retroactively alter past usage. */
3463
3888
  setQuota: ServiceQuota;
3464
3889
  /** ADMIN PRIVILEGE CHANGE: grants or revokes platform super-admin on the target user, changing their privileges across the whole platform. Requires a super-admin bearer game token (and the management API enabled). NOTE: in cks-game-api super-admin checks always fail and the users table is management-owned — perform this via cks-management-api. */
@@ -3473,8 +3898,18 @@ export type Mutation = {
3473
3898
  socialLoginComplete: AuthResponse;
3474
3899
  /** Begin a federated (social) sign-in: returns an authorizeUrl to redirect the user to and an opaque state to round-trip back to socialLoginComplete. Public. */
3475
3900
  socialLoginStart: SocialLoginStart;
3901
+ /** Earn-to-mod: convert payable seller balance into the player wallet without a provider round-trip (07 §4.1). Returns cents credited. */
3902
+ spendPayoutBalanceToWallet: Scalars['Int']['output'];
3476
3903
  /** Checks whether the authenticated user is allowed to teleport an actor to a destination within an app and returns the authorization result. This is an authorization check only — it does NOT itself move the actor; the UDP runtime performs the actual movement. Requires a valid bearer game token plus the app-level "teleport" runtime permission. Returns success=false with errorCode INVALID_APP_ID (non-positive appId), UNAUTHORIZED (reserved sentinel destination -6,-6,-6 or missing permission), or success=true / NO_ERROR when allowed. */
3477
3904
  teleportRequest: TeleportResponse;
3905
+ /** Top up a COST_LIMITED acquisition's compute-unit budget: a wallet charge that adds the listing's unit budget to the license. Exhausted installs resume once the budget clears their consumed units. Paid modes only (P4b). */
3906
+ topUpPlayerCodeAcquisition: PlayerCodeAcquisition;
3907
+ /** Transfer grid title to another user. The current user owner or an app admin may transfer. DESTRUCTIVE/SECURITY-SENSITIVE: atomically disables every player module on the grid pending new-owner consent, wipes module state, removes the old owner direct grid grants, and closes the old title row. The new owner receives no implicit permissions. */
3908
+ transferGridOwnership: GridOwnership;
3909
+ /** Transfer a listing between personal and org ownership (DN-9). The caller must be the current owner (user-owned) or hold manage_compute in the owning org; transfers to an org require manage_compute in the receiving org. SIDE EFFECTS: append-only ownership audit row + replica sync to game-api. Ownership moves listing control and source-access rights; from P4b it also moves proceeds. */
3910
+ transferPlayerCodeListing: PlayerCodeListing;
3911
+ /** Uninstall: removes the registered instances, grid client attachments, and fetch rights. The acquisition row is RETAINED for audit; reinstalling later needs no new acquisition. Returns false when no matching active install exists. */
3912
+ uninstallPlayerCode: Scalars['Boolean']['output'];
3478
3913
  /** Unlink a federated identity from the signed-in account by identityId. Refuses to remove your last remaining sign-in method. Requires a session token. */
3479
3914
  unlinkIdentity: Scalars['Boolean']['output'];
3480
3915
  /** Update an existing access tier (name, ordering, pricing, permissions, etc.); only fields present in the input are changed. Requires the 'manage_access_tiers' permission on the app that owns the tier (resolved from tierId); super admins bypass. SIDE EFFECTS: re-syncs the tier's permissions to the game API. Throws if the tier is not found or the caller lacks permission. */
@@ -3528,6 +3963,10 @@ export type Mutation = {
3528
3963
  /** Operator only (is_operator). Yanks (withdraws) an environment version so it can no longer be deployed; existing environments are unaffected. Writes an audit entry. Returns true on success. */
3529
3964
  yankEnvironmentVersion: Scalars['Boolean']['output'];
3530
3965
  };
3966
+ export type MutationAcquirePlayerCodeArgs = {
3967
+ appId: Scalars['BigInt']['input'];
3968
+ listingId: Scalars['String']['input'];
3969
+ };
3531
3970
  export type MutationActorHeartbeatArgs = {
3532
3971
  appId: Scalars['BigInt']['input'];
3533
3972
  };
@@ -3539,6 +3978,9 @@ export type MutationAddTeamMemberArgs = {
3539
3978
  groupId: Scalars['BigInt']['input'];
3540
3979
  userId: Scalars['BigInt']['input'];
3541
3980
  };
3981
+ export type MutationAdmitAppCodeArgs = {
3982
+ input: AdmitAppCodeInput;
3983
+ };
3542
3984
  export type MutationArchiveAccessTierArgs = {
3543
3985
  idempotencyKey?: InputMaybe<Scalars['String']['input']>;
3544
3986
  tierId: Scalars['BigInt']['input'];
@@ -3547,12 +3989,22 @@ export type MutationArchiveAppArgs = {
3547
3989
  appId: Scalars['BigInt']['input'];
3548
3990
  idempotencyKey?: InputMaybe<Scalars['String']['input']>;
3549
3991
  };
3992
+ export type MutationAssignGridOwnershipArgs = {
3993
+ input: AssignGridOwnershipInput;
3994
+ };
3550
3995
  export type MutationAssignGroupToGridArgs = {
3551
3996
  input: AssignGroupToGridInput;
3552
3997
  };
3553
3998
  export type MutationAuthorizeAppArgs = {
3554
3999
  input: AuthorizeAppInput;
3555
4000
  };
4001
+ export type MutationBeginOrgSellerOnboardingArgs = {
4002
+ country: Scalars['String']['input'];
4003
+ orgId: Scalars['BigInt']['input'];
4004
+ };
4005
+ export type MutationBeginSellerOnboardingArgs = {
4006
+ country: Scalars['String']['input'];
4007
+ };
3556
4008
  export type MutationCancelSharedSubscriptionArgs = {
3557
4009
  appId: Scalars['BigInt']['input'];
3558
4010
  idempotencyKey?: InputMaybe<Scalars['String']['input']>;
@@ -3568,6 +4020,10 @@ export type MutationChangePasswordArgs = {
3568
4020
  export type MutationClaimFreeAppAccessArgs = {
3569
4021
  appId: Scalars['BigInt']['input'];
3570
4022
  };
4023
+ export type MutationClaimGridOwnershipArgs = {
4024
+ appId: Scalars['BigInt']['input'];
4025
+ gridId: Scalars['BigInt']['input'];
4026
+ };
3571
4027
  export type MutationCompleteLoginLinkArgs = {
3572
4028
  input: CompleteLoginLinkInput;
3573
4029
  };
@@ -3610,6 +4066,11 @@ export type MutationComputeUpsertTriggerArgs = {
3610
4066
  export type MutationConfirmEmailArgs = {
3611
4067
  token: Scalars['String']['input'];
3612
4068
  };
4069
+ export type MutationConsentGridClientModArgs = {
4070
+ appId: Scalars['BigInt']['input'];
4071
+ attachmentId: Scalars['String']['input'];
4072
+ consentCapabilityHash: Scalars['String']['input'];
4073
+ };
3613
4074
  export type MutationCpSetComputePlatformCeilingsArgs = {
3614
4075
  input: CpSetComputePlatformCeilingsInput;
3615
4076
  };
@@ -3640,6 +4101,9 @@ export type MutationCreateEnvironmentArgs = {
3640
4101
  export type MutationCreateGridArgs = {
3641
4102
  input: CreateGridInput;
3642
4103
  };
4104
+ export type MutationCreateGridListingArgs = {
4105
+ input: CreateGridListingInput;
4106
+ };
3643
4107
  export type MutationCreateOrgRoleArgs = {
3644
4108
  input: CreateOrgRoleInput;
3645
4109
  };
@@ -3658,6 +4122,16 @@ export type MutationCreateTeamArgs = {
3658
4122
  export type MutationCreateTeamRoleArgs = {
3659
4123
  input: CreateGroupRoleInput;
3660
4124
  };
4125
+ export type MutationDecideCommerceRiskFlagArgs = {
4126
+ appId: Scalars['BigInt']['input'];
4127
+ flagId: Scalars['String']['input'];
4128
+ release: Scalars['Boolean']['input'];
4129
+ };
4130
+ export type MutationDecideGridClaimArgs = {
4131
+ appId: Scalars['BigInt']['input'];
4132
+ approve: Scalars['Boolean']['input'];
4133
+ requestId: Scalars['String']['input'];
4134
+ };
3661
4135
  export type MutationDeleteActorArgs = {
3662
4136
  idempotencyKey?: InputMaybe<Scalars['String']['input']>;
3663
4137
  uuid: Scalars['String']['input'];
@@ -3683,6 +4157,11 @@ export type MutationDeleteOrgRoleArgs = {
3683
4157
  idempotencyKey?: InputMaybe<Scalars['String']['input']>;
3684
4158
  orgRoleId: Scalars['BigInt']['input'];
3685
4159
  };
4160
+ export type MutationDeletePlayerWasmPolicyArgs = {
4161
+ appId: Scalars['BigInt']['input'];
4162
+ scope: Scalars['String']['input'];
4163
+ scopeRef?: InputMaybe<Scalars['BigInt']['input']>;
4164
+ };
3686
4165
  export type MutationDeleteQuotaArgs = {
3687
4166
  idempotencyKey?: InputMaybe<Scalars['String']['input']>;
3688
4167
  quotaId: Scalars['BigInt']['input'];
@@ -3813,9 +4292,21 @@ export type MutationGrantMyAppAccessArgs = {
3813
4292
  export type MutationIngestEnvironmentVersionArgs = {
3814
4293
  input: IngestEnvironmentVersionInput;
3815
4294
  };
4295
+ export type MutationInstallPlayerCodeArgs = {
4296
+ acquisitionId: Scalars['String']['input'];
4297
+ appId: Scalars['BigInt']['input'];
4298
+ consentCapabilityHash: Scalars['String']['input'];
4299
+ gridId?: InputMaybe<Scalars['BigInt']['input']>;
4300
+ versionId?: InputMaybe<Scalars['String']['input']>;
4301
+ };
3816
4302
  export type MutationInviteOrgMemberArgs = {
3817
4303
  input: InviteOrgMemberInput;
3818
4304
  };
4305
+ export type MutationIssueGridClaimInviteArgs = {
4306
+ appId: Scalars['BigInt']['input'];
4307
+ gridId: Scalars['BigInt']['input'];
4308
+ inviteeUserId: Scalars['BigInt']['input'];
4309
+ };
3819
4310
  export type MutationJoinChannelArgs = {
3820
4311
  groupId: Scalars['BigInt']['input'];
3821
4312
  };
@@ -3841,6 +4332,53 @@ export type MutationLoginArgs = {
3841
4332
  export type MutationMintAppTokenArgs = {
3842
4333
  input: MintAppTokenInput;
3843
4334
  };
4335
+ export type MutationPlayerAutomationCreateArgs = {
4336
+ input: CreatePlayerAutomationInput;
4337
+ };
4338
+ export type MutationPlayerAutomationDeleteArgs = {
4339
+ input: PlayerAutomationRefInput;
4340
+ };
4341
+ export type MutationPlayerAutomationSetEnabledArgs = {
4342
+ input: SetPlayerAutomationEnabledInput;
4343
+ };
4344
+ export type MutationPlayerComputeDeleteArgs = {
4345
+ appId: Scalars['BigInt']['input'];
4346
+ gridId: Scalars['BigInt']['input'];
4347
+ name: Scalars['String']['input'];
4348
+ };
4349
+ export type MutationPlayerComputeDeployArgs = {
4350
+ input: DeployPlayerComputeInput;
4351
+ };
4352
+ export type MutationPlayerComputeInvokeArgs = {
4353
+ appId: Scalars['BigInt']['input'];
4354
+ exportName: Scalars['String']['input'];
4355
+ gridId: Scalars['BigInt']['input'];
4356
+ moduleName: Scalars['String']['input'];
4357
+ paramsJson?: InputMaybe<Scalars['String']['input']>;
4358
+ };
4359
+ export type MutationPlayerComputeSetEnabledArgs = {
4360
+ appId: Scalars['BigInt']['input'];
4361
+ enabled: Scalars['Boolean']['input'];
4362
+ gridId: Scalars['BigInt']['input'];
4363
+ name: Scalars['String']['input'];
4364
+ };
4365
+ export type MutationPlayerComputeSetSwitchArgs = {
4366
+ appId: Scalars['BigInt']['input'];
4367
+ disabled: Scalars['Boolean']['input'];
4368
+ listingRef?: InputMaybe<Scalars['String']['input']>;
4369
+ reason?: InputMaybe<Scalars['String']['input']>;
4370
+ scope: Scalars['String']['input'];
4371
+ scopeRef?: InputMaybe<Scalars['BigInt']['input']>;
4372
+ };
4373
+ export type MutationPlayerModelCreateContainerArgs = {
4374
+ input: CreatePlayerModelContainerInput;
4375
+ };
4376
+ export type MutationPlayerModelDeleteContainerArgs = {
4377
+ input: PlayerModelContainerRefInput;
4378
+ };
4379
+ export type MutationPlayerModelSetPropertyArgs = {
4380
+ input: SetPlayerModelPropertyInput;
4381
+ };
3844
4382
  export type MutationPublishAppToSharedArgs = {
3845
4383
  appId: Scalars['BigInt']['input'];
3846
4384
  cancelUrl?: InputMaybe<Scalars['String']['input']>;
@@ -3852,6 +4390,19 @@ export type MutationPublishAppToSharedArgs = {
3852
4390
  export type MutationPublishEnvironmentReleaseFromGameApiTagArgs = {
3853
4391
  input: PublishEnvironmentReleaseFromGameApiTagInput;
3854
4392
  };
4393
+ export type MutationPublishPlayerCodeArgs = {
4394
+ input: PublishPlayerCodeInput;
4395
+ };
4396
+ export type MutationPublishPlayerCodeVersionArgs = {
4397
+ input: PublishPlayerCodeVersionInput;
4398
+ };
4399
+ export type MutationPurchaseGridArgs = {
4400
+ appId: Scalars['BigInt']['input'];
4401
+ chunkX?: InputMaybe<Scalars['Int']['input']>;
4402
+ chunkY?: InputMaybe<Scalars['Int']['input']>;
4403
+ chunkZ?: InputMaybe<Scalars['Int']['input']>;
4404
+ gridListingId: Scalars['String']['input'];
4405
+ };
3855
4406
  export type MutationPurgeEnvironmentArgs = {
3856
4407
  input: PurgeEnvironmentInput;
3857
4408
  };
@@ -3870,6 +4421,10 @@ export type MutationPutCpSecretArgs = {
3870
4421
  export type MutationRedeployEnvironmentArgs = {
3871
4422
  input: RedeployEnvironmentInput;
3872
4423
  };
4424
+ export type MutationRefundPlayerCodeAcquisitionArgs = {
4425
+ acquisitionId: Scalars['String']['input'];
4426
+ appId: Scalars['BigInt']['input'];
4427
+ };
3873
4428
  export type MutationRegisterArgs = {
3874
4429
  registerUserInput: RegisterUserInput;
3875
4430
  };
@@ -3891,6 +4446,10 @@ export type MutationRemoveTeamMemberArgs = {
3891
4446
  groupId: Scalars['BigInt']['input'];
3892
4447
  userId: Scalars['BigInt']['input'];
3893
4448
  };
4449
+ export type MutationRenewPlayerCodeAcquisitionArgs = {
4450
+ acquisitionId: Scalars['String']['input'];
4451
+ appId: Scalars['BigInt']['input'];
4452
+ };
3894
4453
  export type MutationRequestLoginLinkArgs = {
3895
4454
  input: RequestLoginLinkInput;
3896
4455
  };
@@ -3923,6 +4482,10 @@ export type MutationRevokeAppAccessArgs = {
3923
4482
  export type MutationRevokeAppAuthorizationArgs = {
3924
4483
  appId: Scalars['BigInt']['input'];
3925
4484
  };
4485
+ export type MutationRevokeAppCodeAdmissionArgs = {
4486
+ admissionId: Scalars['String']['input'];
4487
+ appId: Scalars['BigInt']['input'];
4488
+ };
3926
4489
  export type MutationRevokeGridPermissionsArgs = {
3927
4490
  input: RevokeGridPermissionsInput;
3928
4491
  };
@@ -3966,6 +4529,19 @@ export type MutationSetAppBudgetArgs = {
3966
4529
  export type MutationSetAppClientSettingsArgs = {
3967
4530
  input: SetAppClientSettingsInput;
3968
4531
  };
4532
+ export type MutationSetAppCodeAdmissionModeArgs = {
4533
+ appId: Scalars['BigInt']['input'];
4534
+ mode: CodeAdmissionMode;
4535
+ };
4536
+ export type MutationSetAppGridClaimPolicyArgs = {
4537
+ appId: Scalars['BigInt']['input'];
4538
+ approverUserIds?: InputMaybe<Array<Scalars['BigInt']['input']>>;
4539
+ policy: GridClaimPolicy;
4540
+ };
4541
+ export type MutationSetAppMarketplaceOrgShareArgs = {
4542
+ appId: Scalars['BigInt']['input'];
4543
+ bps: Scalars['Int']['input'];
4544
+ };
3969
4545
  export type MutationSetAppReservedThroughputArgs = {
3970
4546
  idempotencyKey?: InputMaybe<Scalars['String']['input']>;
3971
4547
  input: SetAppReservedThroughputInput;
@@ -4004,6 +4580,9 @@ export type MutationSetEnvironmentDeletionProtectionArgs = {
4004
4580
  export type MutationSetGridPermissionLimitsArgs = {
4005
4581
  input: SetGridPermissionLimitsInput;
4006
4582
  };
4583
+ export type MutationSetListingPricingArgs = {
4584
+ input: SetListingPricingInput;
4585
+ };
4007
4586
  export type MutationSetOperatorArgs = {
4008
4587
  userId: Scalars['BigInt']['input'];
4009
4588
  value: Scalars['Boolean']['input'];
@@ -4012,6 +4591,30 @@ export type MutationSetOrgStatusArgs = {
4012
4591
  orgId: Scalars['BigInt']['input'];
4013
4592
  status: Scalars['String']['input'];
4014
4593
  };
4594
+ export type MutationSetPlayerAutoBillingArgs = {
4595
+ enabled: Scalars['Boolean']['input'];
4596
+ limitCents?: InputMaybe<Scalars['BigInt']['input']>;
4597
+ lowWaterThresholdCents?: InputMaybe<Scalars['BigInt']['input']>;
4598
+ rechargeAmountCents?: InputMaybe<Scalars['BigInt']['input']>;
4599
+ };
4600
+ export type MutationSetPlayerCodeListingStatusArgs = {
4601
+ appId: Scalars['BigInt']['input'];
4602
+ listingId: Scalars['String']['input'];
4603
+ status: PlayerCodeListingStatus;
4604
+ };
4605
+ export type MutationSetPlayerRateMarkupArgs = {
4606
+ appId: Scalars['BigInt']['input'];
4607
+ markupBps: Scalars['Int']['input'];
4608
+ };
4609
+ export type MutationSetPlayerSpendCapArgs = {
4610
+ appId?: InputMaybe<Scalars['BigInt']['input']>;
4611
+ dailyLimitCents?: InputMaybe<Scalars['BigInt']['input']>;
4612
+ monthlyLimitCents?: InputMaybe<Scalars['BigInt']['input']>;
4613
+ scope: Scalars['String']['input'];
4614
+ };
4615
+ export type MutationSetPlayerWasmPolicyArgs = {
4616
+ input: SetPlayerWasmPolicyInput;
4617
+ };
4015
4618
  export type MutationSetQuotaArgs = {
4016
4619
  input: SetQuotaInput;
4017
4620
  };
@@ -4035,9 +4638,26 @@ export type MutationSocialLoginCompleteArgs = {
4035
4638
  export type MutationSocialLoginStartArgs = {
4036
4639
  input: SocialLoginStartInput;
4037
4640
  };
4641
+ export type MutationSpendPayoutBalanceToWalletArgs = {
4642
+ amountCents: Scalars['Int']['input'];
4643
+ };
4038
4644
  export type MutationTeleportRequestArgs = {
4039
4645
  input: TeleportRequestInput;
4040
4646
  };
4647
+ export type MutationTopUpPlayerCodeAcquisitionArgs = {
4648
+ acquisitionId: Scalars['String']['input'];
4649
+ appId: Scalars['BigInt']['input'];
4650
+ };
4651
+ export type MutationTransferGridOwnershipArgs = {
4652
+ input: TransferGridOwnershipInput;
4653
+ };
4654
+ export type MutationTransferPlayerCodeListingArgs = {
4655
+ input: TransferPlayerCodeListingInput;
4656
+ };
4657
+ export type MutationUninstallPlayerCodeArgs = {
4658
+ appId: Scalars['BigInt']['input'];
4659
+ installId: Scalars['String']['input'];
4660
+ };
4041
4661
  export type MutationUnlinkIdentityArgs = {
4042
4662
  identityId: Scalars['String']['input'];
4043
4663
  };
@@ -4442,6 +5062,377 @@ export type PlatformConfig = {
4442
5062
  /** Shared game-api WebSocket root (subscriptions / UDP proxy). */
4443
5063
  sharedGameApiWsUrl: Maybe<Scalars['String']['output']>;
4444
5064
  };
5065
+ /** Off-session auto-recharge settings for the player wallet (the org auto-billing twin): when enabled with a vaulted card, the player gate tops the wallet up before denying for insufficient funds. */
5066
+ export type PlayerAutoBilling = {
5067
+ __typename?: 'PlayerAutoBilling';
5068
+ /** Amount auto-billed so far this period. */
5069
+ autoBilledThisPeriodCents: Scalars['BigInt']['output'];
5070
+ /** Whether auto-recharge is enabled. */
5071
+ enabled: Scalars['Boolean']['output'];
5072
+ /** Whether an active vaulted card is attached. */
5073
+ hasPaymentMethod: Scalars['Boolean']['output'];
5074
+ /** Last auto-recharge failure, if any. */
5075
+ lastError: Maybe<Scalars['String']['output']>;
5076
+ /** Per-period auto-recharge ceiling in cents; null = no limit. */
5077
+ limitCents: Maybe<Scalars['BigInt']['output']>;
5078
+ /** Balance threshold that triggers a recharge. */
5079
+ lowWaterThresholdCents: Scalars['BigInt']['output'];
5080
+ /** Amount charged per auto-recharge. */
5081
+ rechargeAmountCents: Scalars['BigInt']['output'];
5082
+ /** The owning player user id. */
5083
+ userId: Scalars['BigInt']['output'];
5084
+ };
5085
+ /** A player-owned automation confined to one app and grid. Trigger/action JSON has been structurally validated. */
5086
+ export type PlayerAutomation = {
5087
+ __typename?: 'PlayerAutomation';
5088
+ /** Validated action as canonical JSON. */
5089
+ actionJson: Scalars['String']['output'];
5090
+ /** App containing the automation. */
5091
+ appId: Scalars['BigInt']['output'];
5092
+ /** Player automation UUID. */
5093
+ automationId: Scalars['String']['output'];
5094
+ /** Circuit state: closed, open, or half_open. */
5095
+ circuitState: Scalars['String']['output'];
5096
+ /** Current consecutive failure count. */
5097
+ consecutiveFailures: Scalars['Int']['output'];
5098
+ /** Open-circuit cooldown in milliseconds. */
5099
+ cooldownMs: Scalars['Int']['output'];
5100
+ /** Automation creation time. */
5101
+ createdAt: Scalars['DateTime']['output'];
5102
+ /** Optional description. */
5103
+ description: Maybe<Scalars['String']['output']>;
5104
+ /** Whether the automation may dispatch. */
5105
+ enabled: Scalars['Boolean']['output'];
5106
+ /** Failures required to open the circuit. */
5107
+ failureThreshold: Scalars['Int']['output'];
5108
+ /** Grid confining the automation. */
5109
+ gridId: Scalars['BigInt']['output'];
5110
+ /** Most recent dispatch error. */
5111
+ lastError: Maybe<Scalars['String']['output']>;
5112
+ /** Most recent dispatch time. */
5113
+ lastRunAt: Maybe<Scalars['DateTime']['output']>;
5114
+ /** Maximum runs per rolling minute. */
5115
+ maxRunsPerMinute: Scalars['Int']['output'];
5116
+ /** Owner-local automation name. */
5117
+ name: Scalars['String']['output'];
5118
+ /** Next scheduled dispatch time. */
5119
+ nextRunAt: Maybe<Scalars['DateTime']['output']>;
5120
+ /** Owning user. Forced from current grid ownership at creation. */
5121
+ ownerUserId: Scalars['BigInt']['output'];
5122
+ /** Time at which an open circuit may retry. */
5123
+ pausedUntil: Maybe<Scalars['DateTime']['output']>;
5124
+ /** Validated trigger as canonical JSON. */
5125
+ triggerJson: Scalars['String']['output'];
5126
+ /** Most recent automation update time. */
5127
+ updatedAt: Scalars['DateTime']['output'];
5128
+ };
5129
+ /** Identify one player automation within its app and grid. The server additionally forces the current caller as owner. */
5130
+ export type PlayerAutomationRefInput = {
5131
+ /** App containing the owned grid. */
5132
+ appId: Scalars['BigInt']['input'];
5133
+ /** Player automation UUID. */
5134
+ automationId: Scalars['String']['input'];
5135
+ /** Grid that confines the automation. */
5136
+ gridId: Scalars['BigInt']['input'];
5137
+ };
5138
+ /** A pending player card-vault (P4b): the Stripe SetupIntent the browser confirms to save a card off-session, enabling wallet auto-recharge and rent auto-renew. On success a setup_intent.succeeded webhook persists the card. */
5139
+ export type PlayerCardSetup = {
5140
+ __typename?: 'PlayerCardSetup';
5141
+ /** Stripe SetupIntent client secret the browser confirms. */
5142
+ clientSecret: Maybe<Scalars['String']['output']>;
5143
+ /** The Stripe customer id the card is attached to. */
5144
+ externalCustomerId: Scalars['String']['output'];
5145
+ /** Stripe publishable key the browser needs to confirm the card. */
5146
+ publishableKey: Maybe<Scalars['String']['output']>;
5147
+ };
5148
+ /** A compiled CLIENT-target player artifact plus the metadata the browser broker needs to run it (player compute P3). Served only to the current grid owner who authored the version, holding run_client_code, when the app's admission mode admits the code. The bytes are the gas-injected wasm32-unknown-unknown module; clientFuelPerDispatch is the per-dispatch fuel budget the glue worker enforces locally. */
5149
+ export type PlayerClientArtifact = {
5150
+ __typename?: 'PlayerClientArtifact';
5151
+ /** ABI version the artifact was built for. */
5152
+ abiVersion: Scalars['Int']['output'];
5153
+ /** The gas-injected client WASM artifact, base64-encoded. */
5154
+ artifactBase64: Scalars['String']['output'];
5155
+ /** Content hash of the artifact (also the cache key stem). */
5156
+ artifactHash: Scalars['String']['output'];
5157
+ /** Per-dispatch client fuel budget from the resolved player policy; the broker's glue worker traps when a dispatch exceeds it. */
5158
+ clientFuelPerDispatch: Scalars['BigInt']['output'];
5159
+ /** Declared client interop contract (bridge messages) as JSON, when the version pins one. */
5160
+ contractJson: Maybe<Scalars['String']['output']>;
5161
+ /** Artifact size in bytes (<= 512 KiB). */
5162
+ sizeBytes: Scalars['Int']['output'];
5163
+ /** The served version UUID. */
5164
+ versionId: Scalars['String']['output'];
5165
+ };
5166
+ /** The caller's entitlement to a listing (mode 'free' in P4a). Uninstalling never deletes this row; it is the audit trail P4b attaches payment to. */
5167
+ export type PlayerCodeAcquisition = {
5168
+ __typename?: 'PlayerCodeAcquisition';
5169
+ /** When acquired. */
5170
+ acquiredAt: Scalars['DateTime']['output'];
5171
+ /** Numeric user id of the acquirer. */
5172
+ acquirerUserId: Scalars['BigInt']['output'];
5173
+ /** UUID of the acquisition. */
5174
+ acquisitionId: Scalars['String']['output'];
5175
+ /** App of the listing. */
5176
+ appId: Scalars['BigInt']['output'];
5177
+ /** Expiry for RENT/TIME_LIMITED; null for perpetual (FREE/BUY) or unit-budgeted (COST_LIMITED). Past expiry drains installs until renewed. */
5178
+ expiresAt: Maybe<Scalars['DateTime']['output']>;
5179
+ /** UUID of the acquired listing. */
5180
+ listingId: Scalars['String']['output'];
5181
+ /** Acquisition mode: FREE, BUY (perpetual), RENT (renewable window), TIME_LIMITED (single window), or COST_LIMITED (compute-unit budget). */
5182
+ mode: PlayerCodeAcquisitionMode;
5183
+ /** When the entitlement was revoked; null while active. */
5184
+ revokedAt: Maybe<Scalars['DateTime']['output']>;
5185
+ /** Entitlement status: 'active' or 'revoked'. */
5186
+ status: Scalars['String']['output'];
5187
+ /** Compute-unit budget for COST_LIMITED; null otherwise. */
5188
+ unitBudget: Maybe<Scalars['BigInt']['output']>;
5189
+ /** Compute units consumed so far (advances against unitBudget). */
5190
+ unitsConsumed: Scalars['BigInt']['output'];
5191
+ };
5192
+ /** How a listing is acquired. P4a ships FREE only; the paid modes (buy, rent, time-limited, cost-limited) arrive with the P4b money workstream. */
5193
+ export declare enum PlayerCodeAcquisitionMode {
5194
+ Buy = "BUY",
5195
+ CostLimited = "COST_LIMITED",
5196
+ Free = "FREE",
5197
+ Rent = "RENT",
5198
+ TimeLimited = "TIME_LIMITED"
5199
+ }
5200
+ /** One row of an app's admission queue: a listing joined with its standing under the app's allow-list (admitted via a matching code, author, or org admission; pending; or revoked). The studio moderation surface for allow_list apps. */
5201
+ export type PlayerCodeAdmissionQueueEntry = {
5202
+ __typename?: 'PlayerCodeAdmissionQueueEntry';
5203
+ /** UUID of the admission entry that admits (or last admitted) this listing — matched on the code subject, its author, or its owning org. Null while pending. */
5204
+ admissionId: Maybe<Scalars['String']['output']>;
5205
+ /** The listing's admission standing in this app. */
5206
+ admissionState: PlayerCodeAdmissionState;
5207
+ /** The listing under review. */
5208
+ listing: PlayerCodeListing;
5209
+ /** Which allow-list subject matched: 'code', 'author', or 'org'. Null while pending. */
5210
+ matchedSubjectKind: Maybe<Scalars['String']['output']>;
5211
+ };
5212
+ /** A listing's standing under this app's admission mode: ADMITTED (installable), PENDING (browsable but uninstallable in allow_list apps), or REVOKED (installs drain). */
5213
+ export declare enum PlayerCodeAdmissionState {
5214
+ Admitted = "ADMITTED",
5215
+ Pending = "PENDING",
5216
+ Revoked = "REVOKED"
5217
+ }
5218
+ /** An install of an acquired listing: the pinned version, the consent hash acknowledged, and (for server halves) the owned target grid. Installs pin their version; updating to a newer version is a new consent + install update, never automatic. */
5219
+ export type PlayerCodeInstall = {
5220
+ __typename?: 'PlayerCodeInstall';
5221
+ /** UUID of the acquisition this install uses. */
5222
+ acquisitionId: Scalars['String']['output'];
5223
+ /** App of the listing. */
5224
+ appId: Scalars['BigInt']['output'];
5225
+ /** The capability hash the installer consented to. */
5226
+ consentedCapabilityHash: Scalars['String']['output'];
5227
+ /** When installed. */
5228
+ createdAt: Scalars['DateTime']['output'];
5229
+ /** UUID of the install. */
5230
+ installId: Scalars['String']['output'];
5231
+ /** UUID of the installed listing. */
5232
+ listingId: Scalars['String']['output'];
5233
+ /** UUID of the pinned listing version. */
5234
+ pinnedVersionId: Scalars['String']['output'];
5235
+ /** Install status: 'active', 'uninstalled', or 'disabled'. */
5236
+ status: Scalars['String']['output'];
5237
+ /** Owned grid the server half (and any bundled client attachment) was installed into; null for personal client-only installs. */
5238
+ targetGridId: Maybe<Scalars['BigInt']['output']>;
5239
+ };
5240
+ /** Source-access mode of a listing: CLOSED (artifacts + contracts only) or OPEN_SOURCE (source readable; irreversible per published version). */
5241
+ export declare enum PlayerCodeLicenseMode {
5242
+ Closed = "CLOSED",
5243
+ OpenSource = "OPEN_SOURCE"
5244
+ }
5245
+ /** A marketplace code listing as seen in-game (replica of the management catalog). Every listing is FREE in P4a; carrying both server and client artifact sets makes it a bundle. */
5246
+ export type PlayerCodeListing = {
5247
+ __typename?: 'PlayerCodeListing';
5248
+ /** Acquisition mode: FREE, or a paid mode (BUY / RENT / TIME_LIMITED / COST_LIMITED; P4b). Free listings carry no price. */
5249
+ acquisitionMode: PlayerCodeAcquisitionMode;
5250
+ /** The listing's admission standing in this app. In implicit_allow apps this is always ADMITTED; in allow_list apps PENDING listings can be acquired but not installed. */
5251
+ admissionState: PlayerCodeAdmissionState;
5252
+ /** App the listing belongs to. */
5253
+ appId: Scalars['BigInt']['output'];
5254
+ /** When the listing was created. */
5255
+ createdAt: Scalars['DateTime']['output'];
5256
+ /** Store description. */
5257
+ description: Scalars['String']['output'];
5258
+ /** UUID of the newest published version; null before first publish. */
5259
+ latestVersionId: Maybe<Scalars['String']['output']>;
5260
+ /** Source-access mode for new versions. */
5261
+ licenseMode: PlayerCodeLicenseMode;
5262
+ /** UUID of the listing. */
5263
+ listingId: Scalars['String']['output'];
5264
+ /** JSON array of media refs. */
5265
+ mediaJson: Scalars['String']['output'];
5266
+ /** Display name. */
5267
+ name: Scalars['String']['output'];
5268
+ /** Whether a player user or an org owns this listing. */
5269
+ ownerKind: PlayerCodeOwnerKind;
5270
+ /** User id or org id of the owner, per ownerKind. */
5271
+ ownerRef: Scalars['BigInt']['output'];
5272
+ /** Price in cents for paid modes; null when FREE. */
5273
+ priceCents: Maybe<Scalars['Int']['output']>;
5274
+ /** Rent billing interval in days (RENT mode). */
5275
+ rentIntervalDays: Maybe<Scalars['Int']['output']>;
5276
+ /** Catalog status (active / delisted / killed). */
5277
+ status: PlayerCodeListingStatus;
5278
+ /** Compute-unit budget per purchase (COST_LIMITED mode). */
5279
+ unitBudget: Maybe<Scalars['BigInt']['output']>;
5280
+ /** When the listing was last updated. */
5281
+ updatedAt: Scalars['DateTime']['output'];
5282
+ /** Fixed access window in days (TIME_LIMITED mode). */
5283
+ windowDays: Maybe<Scalars['Int']['output']>;
5284
+ };
5285
+ /** Catalog status of a listing: ACTIVE (browsable/acquirable), DELISTED (author withdrew it — existing installs keep their pinned versions), KILLED (studio/operator kill). */
5286
+ export declare enum PlayerCodeListingStatus {
5287
+ Active = "ACTIVE",
5288
+ Delisted = "DELISTED",
5289
+ Killed = "KILLED"
5290
+ }
5291
+ /** An immutable published version of a code listing: artifact hashes (never source) plus the DERIVED capability summary installers consent to. */
5292
+ export type PlayerCodeListingVersion = {
5293
+ __typename?: 'PlayerCodeListingVersion';
5294
+ /** sha256 of the canonical capability summary. installPlayerCode and consentGridClientMod must echo this hash as the consent acknowledgement. */
5295
+ capabilityHash: Scalars['String']['output'];
5296
+ /** JSON capability summary DERIVED from the artifacts (host functions, capability groups, presentation hooks, triggers, egress budgets). Never self-declared; shown at acquire and install consent. */
5297
+ capabilitySummaryJson: Scalars['String']['output'];
5298
+ /** Client-target artifact hashes (empty for server-only listings). */
5299
+ clientArtifactHashes: Array<Scalars['String']['output']>;
5300
+ /** When the version was published. */
5301
+ createdAt: Maybe<Scalars['DateTime']['output']>;
5302
+ /** Author license terms shown at acquisition. */
5303
+ licenseText: Maybe<Scalars['String']['output']>;
5304
+ /** UUID of the listing. */
5305
+ listingId: Scalars['String']['output'];
5306
+ /** Whether this version’s source is open (irreversible per version). */
5307
+ openSource: Scalars['Boolean']['output'];
5308
+ /** Server-target artifact hashes (empty for client-only listings). */
5309
+ serverArtifactHashes: Array<Scalars['String']['output']>;
5310
+ /** UUID of this published version. */
5311
+ versionId: Scalars['String']['output'];
5312
+ /** Monotonic version number within the listing. */
5313
+ versionNo: Scalars['Int']['output'];
5314
+ };
5315
+ /** Who owns a marketplace code listing: a player user or an org (DN-9: the org then holds source access and listing control). */
5316
+ export declare enum PlayerCodeOwnerKind {
5317
+ Org = "ORG",
5318
+ User = "USER"
5319
+ }
5320
+ /** An immutable published version of a code listing. Snapshots ARTIFACT HASHES from the author’s compiled module versions — never source (OQ-1). A version with both server and client hashes is a bundle: installing it on a grid also attaches the client half for visitor consent (D2). */
5321
+ export type PlayerCodeVersion = {
5322
+ __typename?: 'PlayerCodeVersion';
5323
+ /** Numeric app id (denormalized from the listing). */
5324
+ appId: Scalars['BigInt']['output'];
5325
+ /** sha256 of the canonical capability summary. Installs record the hash they consented to; a widened summary on a newer version forces re-consent. */
5326
+ capabilityHash: Scalars['String']['output'];
5327
+ /** JSON capability summary DERIVED from the artifacts by the compile pipeline (imported host families, invoke contracts, presentation hooks, egress budgets). Never self-declared; this is what installers consent to. */
5328
+ capabilitySummaryJson: Scalars['String']['output'];
5329
+ /** Artifact hashes of the client-target modules in this version (empty for server-only listings). */
5330
+ clientArtifactHashes: Array<Scalars['String']['output']>;
5331
+ /** When the version was published. */
5332
+ createdAt: Scalars['DateTime']['output'];
5333
+ /** Author license terms shown at acquisition (platform enforces access, not downstream legal terms). */
5334
+ licenseText: Maybe<Scalars['String']['output']>;
5335
+ /** UUID of the listing this version belongs to. */
5336
+ listingId: Scalars['String']['output'];
5337
+ /** Whether this version’s source is open. Open-sourcing a version is irreversible for that version; later versions may return to closed. */
5338
+ openSource: Scalars['Boolean']['output'];
5339
+ /** Artifact hashes of the server-target modules in this version (empty for client-only listings). */
5340
+ serverArtifactHashes: Array<Scalars['String']['output']>;
5341
+ /** UUID of this published version. */
5342
+ versionId: Scalars['String']['output'];
5343
+ /** Monotonic version number within the listing. */
5344
+ versionNo: Scalars['Int']['output'];
5345
+ };
5346
+ /** Synchronous result from invoking an admitted server player-module export as the current grid owner. */
5347
+ export type PlayerComputeInvokeResult = {
5348
+ __typename?: 'PlayerComputeInvokeResult';
5349
+ /** Wall-clock execution duration in µs. */
5350
+ durationUs: Scalars['Int']['output'];
5351
+ /** Instrumented fuel consumed. */
5352
+ fuelUsed: Scalars['BigInt']['output'];
5353
+ /** Raw module result bytes encoded as base64. */
5354
+ resultBase64: Scalars['String']['output'];
5355
+ /** UTF-8 result when it is valid JSON; otherwise null. */
5356
+ resultJson: Maybe<Scalars['String']['output']>;
5357
+ };
5358
+ /** A kill-ladder switch row (03 §7): a studio-set immediate stop at player, grid, app, or listing scope. Module-level disable lives on the module itself; killing a LISTING disables every install of that marketplace listing fleet-wide (P4a). Quota state is retained across a kill. */
5359
+ export type PlayerComputeSwitch = {
5360
+ __typename?: 'PlayerComputeSwitch';
5361
+ /** The app the switch applies to. */
5362
+ appId: Scalars['BigInt']['output'];
5363
+ /** When execution was stopped. */
5364
+ disabledAt: Scalars['DateTime']['output'];
5365
+ /** The marketplace listing UUID for listing scope; null otherwise. */
5366
+ listingRef: Maybe<Scalars['String']['output']>;
5367
+ /** Operator note recorded when the switch was thrown. */
5368
+ reason: Maybe<Scalars['String']['output']>;
5369
+ /** Scope: 'player', 'grid', 'app', or 'listing'. */
5370
+ scope: Scalars['String']['output'];
5371
+ /** The player user id or grid id; null for app and listing scopes. */
5372
+ scopeRef: Maybe<Scalars['BigInt']['output']>;
5373
+ /** Switch row UUID. */
5374
+ switchId: Scalars['String']['output'];
5375
+ };
5376
+ /** Execution target for player-authored Rust. SERVER runs as the grid owner in game-api; CLIENT runs as the actual player in the browser worker sandbox. */
5377
+ export declare enum PlayerComputeTarget {
5378
+ Client = "CLIENT",
5379
+ Server = "SERVER"
5380
+ }
5381
+ /** The caller's player-compute spend and quota view for one app (P2): unit usage in the current clock hour/day, the effective policy limits, compile-quota utilization, and the replica-synced wallet/spend-cap gate state. Units follow the platform formula GREATEST(cpu ms, fuel/22M); player automation units are included. */
5382
+ export type PlayerComputeUsage = {
5383
+ __typename?: 'PlayerComputeUsage';
5384
+ /** The app this view covers. */
5385
+ appId: Scalars['BigInt']['output'];
5386
+ /** Compile submissions counted in the current clock hour. */
5387
+ compilesThisHour: Scalars['Int']['output'];
5388
+ /** Compute units consumed in the current clock day. */
5389
+ dayUnitsUsed: Scalars['BigInt']['output'];
5390
+ /** Typed pause reason when gated: PLAYER_WALLET_EMPTY, PLAYER_SPEND_CAP, PLAYER_QUOTA_EXHAUSTED, or PLAYER_COMPUTE_KILLED. */
5391
+ gateReason: Maybe<Scalars['String']['output']>;
5392
+ /** Replica-synced management player gate for this app: 'active', 'grace', or 'denied'. Non-active pauses this player's modules only; play is untouched. */
5393
+ gateStatus: Scalars['String']['output'];
5394
+ /** Compute units consumed in the current clock hour (modules + automations, all owned grids aggregated). */
5395
+ hourUnitsUsed: Scalars['BigInt']['output'];
5396
+ /** Effective max_compiles_per_hour policy cap. */
5397
+ maxCompilesPerHour: Scalars['Int']['output'];
5398
+ /** Effective units_per_day developer-policy cap; null when the app sets no daily quota. */
5399
+ unitsPerDay: Maybe<Scalars['BigInt']['output']>;
5400
+ /** Effective units_per_hour developer-policy cap; null when the app sets no hourly quota. */
5401
+ unitsPerHour: Maybe<Scalars['BigInt']['output']>;
5402
+ };
5403
+ /** A flexible player-owned model container confined to exactly one app, grid, and current owner. */
5404
+ export type PlayerModelContainer = {
5405
+ __typename?: 'PlayerModelContainer';
5406
+ /** App containing the container. */
5407
+ appId: Scalars['BigInt']['output'];
5408
+ /** Player container UUID. */
5409
+ containerId: Scalars['String']['output'];
5410
+ /** Container creation time. */
5411
+ createdAt: Scalars['DateTime']['output'];
5412
+ /** Optional player-facing name. */
5413
+ displayName: Maybe<Scalars['String']['output']>;
5414
+ /** Grid confining the container. */
5415
+ gridId: Scalars['BigInt']['output'];
5416
+ /** Owning user. Always the grid owner at creation time. */
5417
+ ownerUserId: Scalars['BigInt']['output'];
5418
+ /** JSON object containing all separately upserted properties. */
5419
+ propertiesJson: Scalars['String']['output'];
5420
+ /** JSON object containing untyped container state. */
5421
+ stateJson: Scalars['String']['output'];
5422
+ /** Flexible instance kit key; this is not a studio-authored type. */
5423
+ typeKey: Scalars['String']['output'];
5424
+ /** Most recent container or property update time. */
5425
+ updatedAt: Scalars['DateTime']['output'];
5426
+ };
5427
+ /** Identify one player-owned model container within an app and grid. The server also forces the current caller as owner. */
5428
+ export type PlayerModelContainerRefInput = {
5429
+ /** App containing the owned grid. */
5430
+ appId: Scalars['BigInt']['input'];
5431
+ /** Player container UUID. */
5432
+ containerId: Scalars['String']['input'];
5433
+ /** Grid that confines the container. */
5434
+ gridId: Scalars['BigInt']['input'];
5435
+ };
4445
5436
  /** Live concurrent players for a studio vs its all-time peak, a percentile comparison against other studios, and the site-wide CKS total. */
4446
5437
  export type PlayerPulse = {
4447
5438
  __typename?: 'PlayerPulse';
@@ -4458,16 +5449,242 @@ export type PlayerPulse = {
4458
5449
  /** Number of studios in the percentile comparison pool (studios with all_time_peak > 0). */
4459
5450
  poolSize: Scalars['Int']['output'];
4460
5451
  };
4461
- /** A one-time portal authorization code. Redirect the player to `redirectUri` carrying `code`; the destination game exchanges it (with its PKCE verifier) via exchangePortalCode for an app token. Single-use and short-lived. */
4462
- export type PortalAuthorizationCode = {
4463
- __typename?: 'PortalAuthorizationCode';
4464
- /** The one-time authorization code. Deliver it to the destination game origin only (e.g. as a `code` query param on redirectUri). */
4465
- code: Scalars['String']['output'];
4466
- /** ISO-8601 UTC expiry of the code (typically ~60s). */
4467
- expiresAt: Scalars['String']['output'];
4468
- /** The validated redirect URI the player should be sent to. */
4469
- redirectUri: Scalars['String']['output'];
4470
- };
5452
+ /** The caller's per-app player runtime gate state (the app runtime_status twin, player-scoped): 'active', 'grace', or 'denied' with a typed reason. Non-active pauses the player's grid compute only an unfunded wallet stops your mods, not your game. */
5453
+ export type PlayerRuntimeState = {
5454
+ __typename?: 'PlayerRuntimeState';
5455
+ /** The app. */
5456
+ appId: Scalars['BigInt']['output'];
5457
+ /** PLAYER_WALLET_EMPTY or PLAYER_SPEND_CAP when not active. */
5458
+ reason: Maybe<Scalars['String']['output']>;
5459
+ /** 'active', 'grace', or 'denied'. */
5460
+ status: Scalars['String']['output'];
5461
+ /** Last gate evaluation that changed state. */
5462
+ updatedAt: Scalars['DateTime']['output'];
5463
+ /** The player user id. */
5464
+ userId: Scalars['BigInt']['output'];
5465
+ };
5466
+ /** A player's self-set spend cap (06 §2a): a daily/monthly ceiling globally or per app. The effective runtime limit is min(developer policy, self-cap, wallet balance); hitting a cap pauses that player's mods with PLAYER_SPEND_CAP, never their play. */
5467
+ export type PlayerSpendCap = {
5468
+ __typename?: 'PlayerSpendCap';
5469
+ /** Spend counted against the daily cap so far today. */
5470
+ currentDayUsageCents: Scalars['BigInt']['output'];
5471
+ /** Spend counted against the monthly cap so far this month. */
5472
+ currentMonthUsageCents: Scalars['BigInt']['output'];
5473
+ /** Daily ceiling in cents; null = no daily cap. */
5474
+ dailyLimitCents: Maybe<Scalars['BigInt']['output']>;
5475
+ /** Calendar-month ceiling in cents; null = no monthly cap. */
5476
+ monthlyLimitCents: Maybe<Scalars['BigInt']['output']>;
5477
+ /** Cap scope: 'global' or 'app'. */
5478
+ scope: Scalars['String']['output'];
5479
+ /** The app id for app scope; null for global. */
5480
+ scopeRef: Maybe<Scalars['BigInt']['output']>;
5481
+ /** The owning player user id. */
5482
+ userId: Scalars['BigInt']['output'];
5483
+ };
5484
+ /** One posted player usage charge: a (player, app, closed clock hour) row. amountCents = platformCents + markupCents — players see what the platform charges and what the studio adds (06 §4). The UNIQUE hour key makes the billing tick idempotent. */
5485
+ export type PlayerUsageCharge = {
5486
+ __typename?: 'PlayerUsageCharge';
5487
+ /** Total debited cents. */
5488
+ amountCents: Scalars['BigInt']['output'];
5489
+ /** The app the usage ran in. */
5490
+ appId: Scalars['BigInt']['output'];
5491
+ /** Charge id. */
5492
+ chargeId: Scalars['BigInt']['output'];
5493
+ /** When the charge posted. */
5494
+ createdAt: Scalars['DateTime']['output'];
5495
+ /** ISO currency code. */
5496
+ currency: Scalars['String']['output'];
5497
+ /** Studio markup component (the app's player_rate_markup_bps). */
5498
+ markupCents: Scalars['BigInt']['output'];
5499
+ /** Billed hour end (exclusive). */
5500
+ periodEnd: Scalars['DateTime']['output'];
5501
+ /** Billed hour start (inclusive). */
5502
+ periodStart: Scalars['DateTime']['output'];
5503
+ /** Platform component (base rate card). */
5504
+ platformCents: Scalars['BigInt']['output'];
5505
+ /** JSON per-metric usage/billing snapshot for the hour. */
5506
+ usageSnapshotJson: Scalars['String']['output'];
5507
+ /** The owning player user id. */
5508
+ userId: Scalars['BigInt']['output'];
5509
+ };
5510
+ /** The caller's player wallet (player compute P2, DN-5): a platform-scoped balance funding that player's grid compute across every org/app they play in. Out-of-band from org wallets — player usage never touches an org's money. */
5511
+ export type PlayerWallet = {
5512
+ __typename?: 'PlayerWallet';
5513
+ /** Current balance in cents (may go negative on a closed hour). */
5514
+ balanceCents: Scalars['BigInt']['output'];
5515
+ /** Wallet creation time. */
5516
+ createdAt: Scalars['DateTime']['output'];
5517
+ /** ISO currency code (lowercase). */
5518
+ currency: Scalars['String']['output'];
5519
+ /** The owning player user id. */
5520
+ userId: Scalars['BigInt']['output'];
5521
+ /** Wallet id. */
5522
+ walletId: Scalars['BigInt']['output'];
5523
+ };
5524
+ /** One player-wallet ledger entry: top-ups, hourly usage debits, auto-recharges, refunds, and adjustments. Usage debits carry the app and reference the hour's charge row, whose snapshot splits platform vs studio-markup components. */
5525
+ export type PlayerWalletTransaction = {
5526
+ __typename?: 'PlayerWalletTransaction';
5527
+ /** Signed amount in cents (debits negative). */
5528
+ amountCents: Scalars['BigInt']['output'];
5529
+ /** The app a usage debit covers; null for wallet-level entries. */
5530
+ appId: Maybe<Scalars['BigInt']['output']>;
5531
+ /** Balance after this entry. */
5532
+ balanceAfter: Scalars['BigInt']['output'];
5533
+ /** Entry time. */
5534
+ createdAt: Scalars['DateTime']['output'];
5535
+ /** Human description. */
5536
+ description: Maybe<Scalars['String']['output']>;
5537
+ /** External reference (checkout/PaymentIntent id). */
5538
+ referenceId: Maybe<Scalars['String']['output']>;
5539
+ /** Transaction id. */
5540
+ transactionId: Scalars['BigInt']['output'];
5541
+ /** One of 'topup', 'usage_debit', 'auto_recharge', 'refund', 'adjustment'. */
5542
+ transactionType: Scalars['String']['output'];
5543
+ /** The owning player user id. */
5544
+ userId: Scalars['BigInt']['output'];
5545
+ /** The wallet. */
5546
+ walletId: Scalars['BigInt']['output'];
5547
+ };
5548
+ /** A grid-bound player compute module. Runtime identity is never stored here; it resolves from the grid current owner at activation. */
5549
+ export type PlayerWasmModule = {
5550
+ __typename?: 'PlayerWasmModule';
5551
+ /** Owning app id. */
5552
+ appId: Scalars['BigInt']['output'];
5553
+ /** Authoring org id; null for personally-authored code. */
5554
+ authorOrgId: Maybe<Scalars['BigInt']['output']>;
5555
+ /** Personal author user id; null for org-owned code. */
5556
+ authorUserId: Maybe<Scalars['BigInt']['output']>;
5557
+ /** closed, open, or half_open. */
5558
+ circuitState: Scalars['String']['output'];
5559
+ /** Creation time. */
5560
+ createdAt: Scalars['DateTime']['output'];
5561
+ /** Currently deployed immutable version UUID. */
5562
+ currentVersionId: Maybe<Scalars['String']['output']>;
5563
+ /** Module description. */
5564
+ description: Maybe<Scalars['String']['output']>;
5565
+ /** Draft mode: the module runs for its author but its spatial egress is suppressed server-side (live-coding iteration). */
5566
+ draft: Scalars['Boolean']['output'];
5567
+ /** Requested activation state. Actual execution also requires grid ownership, run permission, admission, and a successful version. */
5568
+ enabled: Scalars['Boolean']['output'];
5569
+ /** Confining grid id. */
5570
+ gridId: Scalars['BigInt']['output'];
5571
+ /** Last runtime/transfer error. */
5572
+ lastError: Maybe<Scalars['String']['output']>;
5573
+ /** Module UUID. */
5574
+ moduleId: Scalars['String']['output'];
5575
+ /** Module name within the grid. */
5576
+ name: Scalars['String']['output'];
5577
+ /** Last update time. */
5578
+ updatedAt: Scalars['DateTime']['output'];
5579
+ };
5580
+ /** One execution of a player module (init/tick/invoke/event), attributed to the grid owner it ran as. The per-run twin of the studio WasmModuleRun, scoped to grids the caller currently owns. */
5581
+ export type PlayerWasmModuleRun = {
5582
+ __typename?: 'PlayerWasmModuleRun';
5583
+ /** The app (tenant). */
5584
+ appId: Scalars['BigInt']['output'];
5585
+ /** Wall-clock duration in microseconds. */
5586
+ durationUs: Scalars['Int']['output'];
5587
+ /** Typed failure kind when the run failed. */
5588
+ errorMessage: Maybe<Scalars['String']['output']>;
5589
+ /** Execution identity: the grid owner the run executed as. */
5590
+ executedAsUserId: Scalars['BigInt']['output'];
5591
+ /** Flow correlation id shared across the entry call. */
5592
+ flowId: Maybe<Scalars['String']['output']>;
5593
+ /** Fuel consumed by the run. */
5594
+ fuelUsed: Scalars['BigInt']['output'];
5595
+ /** The owned grid the module ran in. */
5596
+ gridId: Scalars['BigInt']['output'];
5597
+ /** The module that ran. */
5598
+ moduleId: Scalars['String']['output'];
5599
+ /** The module name at run time. */
5600
+ moduleName: Scalars['String']['output'];
5601
+ /** Unique run id (UUID). */
5602
+ runId: Scalars['String']['output'];
5603
+ /** When the run started. */
5604
+ startedAt: Scalars['DateTime']['output'];
5605
+ /** Whether the run succeeded. */
5606
+ success: Scalars['Boolean']['output'];
5607
+ /** What ran: init | tick | event | invoke. */
5608
+ triggerSource: Scalars['String']['output'];
5609
+ };
5610
+ /** An immutable player-code source version. sourceFilesJson is returned only to its personal author (org-owned source requires the future org-authoring path) or when openSource is true. */
5611
+ export type PlayerWasmModuleVersion = {
5612
+ __typename?: 'PlayerWasmModuleVersion';
5613
+ /** Compiler log; visible to the author. */
5614
+ compileLog: Maybe<Scalars['String']['output']>;
5615
+ /** pending, compiling, succeeded, or failed. */
5616
+ compileStatus: Scalars['String']['output'];
5617
+ /** Final instrumented/optimized artifact size. */
5618
+ compiledSizeBytes: Maybe<Scalars['BigInt']['output']>;
5619
+ /** Version creation time. */
5620
+ createdAt: Scalars['DateTime']['output'];
5621
+ /** Parent module UUID. */
5622
+ moduleId: Scalars['String']['output'];
5623
+ /** Whether anyone may read this immutable version source. */
5624
+ openSource: Scalars['Boolean']['output'];
5625
+ /** JSON source map. Null for non-authors of closed-source code; P1 exposes no moderation override. */
5626
+ sourceFilesJson: Maybe<Scalars['String']['output']>;
5627
+ /** Compile target. */
5628
+ target: PlayerComputeTarget;
5629
+ /** Version UUID. */
5630
+ versionId: Scalars['String']['output'];
5631
+ /** Monotonic version number. */
5632
+ versionNo: Scalars['Int']['output'];
5633
+ };
5634
+ /** One player-compute policy row (06 §3): developer-set per-player/cohort clamps evaluated most-specific-wins (user > grid > tier > app_default), every knob additionally clamped by the app's studio policy at runtime. Management is authoritative in P2; rows replica-sync to the game runtime. */
5635
+ export type PlayerWasmPolicy = {
5636
+ __typename?: 'PlayerWasmPolicy';
5637
+ /** The app. */
5638
+ appId: Scalars['BigInt']['output'];
5639
+ /** Client-target fuel budget per browser dispatch (04 §3). */
5640
+ clientFuelPerDispatch: Scalars['BigInt']['output'];
5641
+ /** Whether this row is applied. */
5642
+ enabled: Scalars['Boolean']['output'];
5643
+ /** Fuel budget per invoke/event. */
5644
+ fuelPerInvoke: Scalars['BigInt']['output'];
5645
+ /** Fuel budget per tick. */
5646
+ fuelPerTick: Scalars['BigInt']['output'];
5647
+ /** Deploys (compiles) allowed per player per hour. */
5648
+ maxCompilesPerHour: Scalars['Int']['output'];
5649
+ /** Player model containers created per player per day. */
5650
+ maxContainerCreatesDay: Scalars['Int']['output'];
5651
+ /** Host data-API ops per tick. */
5652
+ maxDbOpsPerTick: Scalars['Int']['output'];
5653
+ /** Module replication bytes per minute. */
5654
+ maxEgressBytesPerMin: Scalars['BigInt']['output'];
5655
+ /** Module replication messages per minute. */
5656
+ maxEgressMsgsPerMin: Scalars['Int']['output'];
5657
+ /** Sandbox memory ceiling (MiB). */
5658
+ maxMemoryMb: Scalars['Int']['output'];
5659
+ /** Max player modules per grid. */
5660
+ maxModulesPerGrid: Scalars['Int']['output'];
5661
+ /** Max player modules across all grids one player owns. */
5662
+ maxModulesTotal: Scalars['Int']['output'];
5663
+ /** Watchdog wall-clock ceiling (ms). */
5664
+ maxRunMs: Scalars['Int']['output'];
5665
+ /** Max tick rate in Hz. */
5666
+ maxTickHz: Scalars['Float']['output'];
5667
+ /** Policy row UUID. */
5668
+ policyId: Scalars['String']['output'];
5669
+ /** 'app_default', 'tier', 'grid', or 'user'. */
5670
+ scope: Scalars['String']['output'];
5671
+ /** Tier/grid/user id; null for app_default. */
5672
+ scopeRef: Maybe<Scalars['BigInt']['output']>;
5673
+ /** Daily compute-unit quota; null = uncapped. */
5674
+ unitsPerDay: Maybe<Scalars['BigInt']['output']>;
5675
+ /** Hourly compute-unit quota (PLAYER_QUOTA_EXHAUSTED pause); null = uncapped. */
5676
+ unitsPerHour: Maybe<Scalars['BigInt']['output']>;
5677
+ };
5678
+ /** A one-time portal authorization code. Redirect the player to `redirectUri` carrying `code`; the destination game exchanges it (with its PKCE verifier) via exchangePortalCode for an app token. Single-use and short-lived. */
5679
+ export type PortalAuthorizationCode = {
5680
+ __typename?: 'PortalAuthorizationCode';
5681
+ /** The one-time authorization code. Deliver it to the destination game origin only (e.g. as a `code` query param on redirectUri). */
5682
+ code: Scalars['String']['output'];
5683
+ /** ISO-8601 UTC expiry of the code (typically ~60s). */
5684
+ expiresAt: Scalars['String']['output'];
5685
+ /** The validated redirect URI the player should be sent to. */
5686
+ redirectUri: Scalars['String']['output'];
5687
+ };
4471
5688
  /** Whether portaling into an app requires a consent prompt on the Overworld. */
4472
5689
  export type PortalConsentState = {
4473
5690
  __typename?: 'PortalConsentState';
@@ -4512,6 +5729,32 @@ export type PublishEnvironmentReleaseFromGameApiTagInput = {
4512
5729
  /** cks-game-api semver tag (e.g. v0.6.20). */
4513
5730
  gameApiTag: Scalars['String']['input'];
4514
5731
  };
5732
+ export type PublishPlayerCodeInput = {
5733
+ /** App the listing belongs to. */
5734
+ appId: Scalars['BigInt']['input'];
5735
+ /** Store description. */
5736
+ description?: InputMaybe<Scalars['String']['input']>;
5737
+ /** Default source-access mode for new versions (default CLOSED). */
5738
+ licenseMode?: InputMaybe<PlayerCodeLicenseMode>;
5739
+ /** JSON array of media refs for store display. */
5740
+ mediaJson?: InputMaybe<Scalars['String']['input']>;
5741
+ /** Listing display name (unique per app among live listings). */
5742
+ name: Scalars['String']['input'];
5743
+ /** Publish under this org (DN-9 org-owned code: the org then holds source access and listing control). Requires manage_compute in that org. Omit to publish personally. */
5744
+ ownerOrgId?: InputMaybe<Scalars['BigInt']['input']>;
5745
+ };
5746
+ export type PublishPlayerCodeVersionInput = {
5747
+ /** App the listing belongs to. */
5748
+ appId: Scalars['BigInt']['input'];
5749
+ /** Author license terms shown at acquisition. */
5750
+ licenseText?: InputMaybe<Scalars['String']['input']>;
5751
+ /** UUID of the listing to publish under. */
5752
+ listingId: Scalars['String']['input'];
5753
+ /** UUIDs of the caller-authored, successfully compiled player module versions to package. Server and client versions may be combined into a bundle. The publish pipeline snapshots artifact hashes and the derived capability summary — never source. */
5754
+ moduleVersionIds: Array<Scalars['String']['input']>;
5755
+ /** Open-source this published version (irreversible for the version). */
5756
+ openSource?: InputMaybe<Scalars['Boolean']['input']>;
5757
+ };
4515
5758
  export type PurgeEnvironmentInput = {
4516
5759
  /** Optional idempotency key. Recommended for retries: replaying with the same key and identical input returns the first result instead of re-applying; the same key with different input returns IDEMPOTENCY_CONFLICT. Keys expire after 24h. */
4517
5760
  idempotencyKey?: InputMaybe<Scalars['String']['input']>;
@@ -4542,10 +5785,26 @@ export type Query = {
4542
5785
  appBudgets: Array<AppBudget>;
4543
5786
  /** Look up a single app by its org slug + app slug (the marketplace URL path). PUBLIC: no authentication required, and NOT filtered by visibility/status, so it can resolve unlisted or draft apps when the exact slugs are known. Returns null if no matching app exists. */
4544
5787
  appBySlug: Maybe<App>;
5788
+ /** Read an app's player-code admission mode. Requires 'view_compute_diagnostics'. IMPLICIT_ALLOW (the default) admits lawful player code without curation; ALLOW_LIST requires every running server/client artifact, including self-authored code, to match an active code, author, or org admission. */
5789
+ appCodeAdmissionMode: CodeAdmissionMode;
5790
+ /** The app's admission queue: every non-killed listing joined with its allow-list standing (ADMITTED via a matching code/author/org admission, PENDING, or REVOKED). Requires 'view_compute_diagnostics'. In allow_list apps PENDING listings are browsable but uninstallable; admit them via admitAppCode (subject kind CODE for one listing, AUTHOR or ORG for wholesale admission). */
5791
+ appCodeAdmissionQueue: Array<PlayerCodeAdmissionQueueEntry>;
5792
+ /** List an app's player-code admission entries, newest first. Requires 'view_compute_diagnostics'. By default returns active entries only; includeRevoked adds audit-visible revoked rows. Admission controls execution, never source visibility. */
5793
+ appCodeAdmissions: Array<AppCodeAdmission>;
4545
5794
  /** Lists org members eligible for a manual app access grant (active members of the app's owning org). Requires the 'manage_access_tiers' permission on the app; super admins bypass. Use the returned user ids with grantAppAccess. */
4546
5795
  appGrantMemberCandidates: Array<AppGrantMemberCandidate>;
4547
5796
  /** Top GraphQL operations for an app ranked by bytes over the time range. Read-only reporting; the app must be linked to an environment in the org. Requires the 'view_usage' org permission. */
4548
5797
  appGraphqlOperations: Array<GraphqlOperationUsageRow>;
5798
+ /** List an app's code acquisitions (entitlement rows), newest first. Requires 'view_compute_diagnostics'. All rows are mode FREE in P4a; uninstalls never delete acquisitions (audit). */
5799
+ appPlayerCodeAcquisitions: Array<PlayerCodeAcquisition>;
5800
+ /** List the immutable published versions of a listing, newest first. Requires 'view_compute_diagnostics'. Versions expose artifact hashes and the derived capability summary — never source. */
5801
+ appPlayerCodeListingVersions: Array<PlayerCodeVersion>;
5802
+ /** List an app's marketplace code listings (studio administration view), newest first. Requires 'view_compute_diagnostics'. includeDelisted adds delisted/killed rows for moderation history. */
5803
+ appPlayerCodeListings: Array<PlayerCodeListing>;
5804
+ /** Total player rate-card markup accrued to this app's org income line, in cents (payouts arrive with the P4b ledger). Requires 'view_billing'. */
5805
+ appPlayerMarkupAccrued: Scalars['BigInt']['output'];
5806
+ /** Per-player usage aggregate for an app over a trailing window (top spenders / quota utilization, 06 §5): compute units, automation units, compiles, and cents charged per player. Requires 'view_compute_diagnostics'. */
5807
+ appPlayerUsage: Array<AppPlayerUsageRow>;
4549
5808
  /** Shared-environment runtime gate decision plus current hour/day billing-window usage for an app. Read this to learn why an app is not running (runtimeDenialReason). Caller must be a member of the app's org. */
4550
5809
  appRuntimeState: AppRuntimeState;
4551
5810
  /** An app's paid shared-environment subscription, or null when it has none (e.g. unpublished or on the free quota). Caller must be a member of the app's org. */
@@ -4592,6 +5851,8 @@ export type Query = {
4592
5851
  checkouts: CheckoutsPage;
4593
5852
  /** Cross-tenant payments audit across all users, orgs, and apps (newest first), with optional filtering. Restricted to super admins; requests from non-super-admins are rejected. For a caller's own history use `myCheckoutsConnection` instead. Relay cursor connection; prefer this over the offset-based checkouts. */
4594
5853
  checkoutsConnection: CheckoutsConnection;
5854
+ /** The app's open T11 commerce risk queue (velocity holds, same-party flags, chargebacks). Requires 'manage_compute'. */
5855
+ commerceRiskQueue: Array<CommerceRiskFlag>;
4595
5856
  /** A snapshot of an app's compute footprint: module/version/trigger counts plus 24h run activity and the most-active modules. Requires the org 'view_compute_diagnostics' permission. */
4596
5857
  computeAppDiagnostics: WasmAppDiagnostics;
4597
5858
  /** Read one compute module by name. Requires the org 'view_compute_diagnostics' permission. */
@@ -4646,6 +5907,8 @@ export type Query = {
4646
5907
  environmentForwardVersions: Array<CksEnvironmentVersion>;
4647
5908
  /** Pricing quote for the selected flavors plus the org wallet balance and a canCreate gate. Read-only — provisions nothing. Fails if any flavor is unavailable, hidden, or lacks customer pricing. Requires the 'view_billing' org permission. */
4648
5909
  environmentQuote: CksEnvironmentQuote;
5910
+ /** DRY RUN of redeployEnvironment: previews exactly what moving the environment to a target release version (input.version, or latest for its class when omitted) would do — component version diffs (game-api, Buddy, base images), whether game-DB schema DDL applies or is skipped, Buddy artifact resolution, and the pipeline tasks/steps that would run — WITHOUT creating a change order or touching any VM. Anything that would make the real mutation fail is returned in `blockers`. Read-only; requires the 'view_environments' org permission. */
5911
+ environmentRedeployPlan: EnvironmentRedeployPlan;
4649
5912
  /** Aggregate replication/GraphQL byte totals per app for the apps linked to an environment, over the time window. Read-only reporting. Requires the 'view_usage' org permission. */
4650
5913
  environmentUsageByApp: Array<AppUsageRollupRow>;
4651
5914
  /** Per-minute replication and GraphQL byte/message usage time series for the apps linked to an environment, plus replication rate peaks and live Buddy rates. Read-only observability. Requires the 'view_usage' org permission. */
@@ -4718,8 +5981,18 @@ export type Query = {
4718
5981
  graphqlBillingTiers: Array<GraphqlBillingTier>;
4719
5982
  /** List every registered GraphQL API server (both management-api and game-api kinds), regardless of health/state. No authentication required. For service discovery; to route clients, prefer activeGraphQLServers (filters to healthy servers). */
4720
5983
  graphqlServers: Array<GraphQlServer>;
5984
+ /** The app's grid claim policy (D4): how a player claim confers grid ownership. */
5985
+ gridClaimPolicy: GridClaimPolicy;
5986
+ /** Pending grid claim requests: designated approvers (or studio staff holding manage_compute) see the app's queue; other callers see their own requests. */
5987
+ gridClaimRequests: Array<GridClaimRequest>;
5988
+ /** Client mods attached to a grid (bundled listings installed by the grid owner, D2). A player present in the grid may run one only after consenting to its capability hash via consentGridClientMod; callerConsented reports the caller's state. This is how grid authors offer client compute to visitors — e.g. relaying actor updates to the grid's server compute. */
5989
+ gridClientMods: Array<GridClientMod>;
4721
5990
  /** List the group/role -> permission-key grants configured on a grid for one group (rows of the `grid_group_grants` input table). These are inputs to the effective ACL, not the materialized result — use `gridUserPermissions` for a specific user's effective keys. Requires app-admin ('manage_apps'). */
4722
5991
  gridGroupGrants: Array<GridGroupGrant>;
5992
+ /** Browse the app's grid listings (P4b): blueprints that stamp a fresh grid per purchase, or concrete grids. Buying confers ownership + keys + quota preset atomically. */
5993
+ gridListings: Array<GridListing>;
5994
+ /** Read the current first-class ownership record for a grid. Requires authentication. Returns null when the grid has no current/unexpired owner. Player server code always resolves its execution identity from this record. */
5995
+ gridOwnership: Maybe<GridOwnership>;
4723
5996
  /** Read the permission-key whitelist configured for a grid. An empty list means there is no limit (every active runtime permission may be granted on the grid). Requires app-admin ('manage_apps'). */
4724
5997
  gridPermissionLimits: GridPermissionLimits;
4725
5998
  /** Read one user's effective (materialized) runtime permission keys on a grid — the flattened union of direct and group-derived grants that Buddy enforces, with expired grants excluded. Use this to see what a user can actually do. To inspect the underlying inputs instead, use `gridGroupGrants` (group grants) and `gridPermissionLimits` (the whitelist). Requires app-admin ('manage_apps'). */
@@ -4755,11 +6028,17 @@ export type Query = {
4755
6028
  myIdentities: Array<UserIdentity>;
4756
6029
  /** Lists the authenticated caller's organization memberships. Each entry bundles the org, the caller's effective permission keys, and assigned roles. Requires a valid session token. */
4757
6030
  myOrganizations: Array<OrgMembership>;
6031
+ /** The caller's code entitlements in this app (all mode 'free' in P4a). Uninstalls never remove acquisitions. */
6032
+ myPlayerCodeAcquisitions: Array<PlayerCodeAcquisition>;
6033
+ /** The caller's active installs in this app: pinned versions, consent hashes, and target grids. */
6034
+ myPlayerCodeInstalls: Array<PlayerCodeInstall>;
4758
6035
  /**
4759
6036
  * The authenticated user’s property-token balances (available, in use, total). Requires a valid game token. NOTE: property tokens are management-owned, so in cks-game-api this throws ForbiddenException — call cks-management-api instead.
4760
6037
  * @deprecated Legacy donation/property-token data; these products are no longer purchasable. Retained for historical records.
4761
6038
  */
4762
6039
  myPropertyTokens: UserPropertyTokenData;
6040
+ /** The calling player's seller payout balance (pending/payable/reserved). */
6041
+ mySellerPayoutBalance: SellerPayoutBalance;
4763
6042
  /** The caller's teams in an app, with their roles and effective team permissions. Use this to discover which teams the current user belongs to and what they may do in each. */
4764
6043
  myTeams: Array<GroupMembership>;
4765
6044
  /** List every grid overlapping a chunk-coordinate bounding box, each with the given user's effective permission keys on it. Useful for previewing what a user can do across a region (e.g. around their current position). Requires app-admin ('manage_apps'). */
@@ -4800,8 +6079,50 @@ export type Query = {
4800
6079
  paymentEventsConnection: PaymentEventsConnection;
4801
6080
  /** Public platform discovery. Returns the shared game-api URL clients use for shared-environment apps (served by the platform shared environment). No auth required. */
4802
6081
  platformConfig: PlatformConfig;
6082
+ /** The caller's player-wallet auto-recharge settings (off-session card top-up before the player gate denies for funds). */
6083
+ playerAutoBilling: PlayerAutoBilling;
6084
+ /** List only the caller-owned player automations in one currently owned grid. Requires an app-scoped token; no app-wide listing exists. */
6085
+ playerAutomations: Array<PlayerAutomation>;
6086
+ /** Fetch the client half of an acquired or grid-attached listing (P4a — the deliberate widening of the P3 author-only artifact fetch). Served to an entitled acquirer with a live install, or to a consenting player currently PRESENT in a grid with a live attachment. Both paths require run_client_code and the listing admitted under the app's mode; every factor fails closed as 'not found'. */
6087
+ playerCodeClientArtifact: PlayerClientArtifact;
6088
+ /** List the immutable published versions of a listing, newest first, with each version’s derived capability summary and consent hash. */
6089
+ playerCodeListingVersions: Array<PlayerCodeListingVersion>;
6090
+ /** Browse an app's active marketplace code listings (free mode). Each listing carries its admission standing: in allow_list apps a PENDING listing can be acquired but not installed. Closed-source listings expose artifact hashes and the derived capability summary only — never source. */
6091
+ playerCodeListings: Array<PlayerCodeListing>;
6092
+ /** Fetch a compiled CLIENT player artifact plus the metadata the browser broker needs to run it (player compute P3). Fail-closed: the caller must currently own the grid, be the version's author, hold run_client_code at app and grid scope, and the code must be admitted under the app's mode. Returns the gas-injected wasm bytes (base64), the declared client contract, and the per-dispatch fuel budget the glue worker enforces. Acquired (bought/rented) client code is served through the marketplace path in a later phase. */
6093
+ playerComputeArtifact: PlayerClientArtifact;
6094
+ /** Failed-run diagnostics for player modules on a grid the caller currently owns: the failing runs with their typed error kinds, newest first. The owner-scoped twin of computeModuleLogs. */
6095
+ playerComputeLogs: Array<PlayerWasmModuleRun>;
6096
+ /** List player modules the caller authored or that are installed on grids they currently own. Requires a valid app token; closed source is never included here. */
6097
+ playerComputeMyModules: Array<PlayerWasmModule>;
6098
+ /** List executions of player modules on a grid the caller currently owns, newest first. Every run is attributed to the grid owner it executed as; author identity never appears here. */
6099
+ playerComputeRuns: Array<PlayerWasmModuleRun>;
6100
+ /** Active player-compute kill switches for an app, newest first. Requires the org 'view_compute_diagnostics' permission. */
6101
+ playerComputeSwitches: Array<PlayerComputeSwitch>;
6102
+ /** The caller's player-compute spend and quota view for one app (P2): compute units used in the current clock hour/day vs the effective units_per_hour/units_per_day policy caps, compile-quota utilization, and the wallet/spend-cap gate state with its typed reason. This is the remaining-budget source the live-coding panel consumes. */
6103
+ playerComputeUsage: PlayerComputeUsage;
6104
+ /** List immutable versions for one player module. Source and compile logs are returned only to the personal author, or source when that version is open-source. There is intentionally no studio/operator moderation override. */
6105
+ playerComputeVersions: Array<PlayerWasmModuleVersion>;
6106
+ /** Return one caller-owned player-model container in the specified app/grid, or null when it is absent or outside that owner scope. Requires current grid ownership. */
6107
+ playerModelContainer: Maybe<PlayerModelContainer>;
6108
+ /** List flexible player-model containers owned by the caller in one currently owned grid. Requires an app-scoped token and current grid ownership; never returns app-wide or foreign-owner rows. */
6109
+ playerModelContainers: Array<PlayerModelContainer>;
4803
6110
  /** Live concurrent players for the org vs its all-time peak, a percentile comparison against other studios, and the site-wide total. Requires the 'view_usage' org permission. */
4804
6111
  playerPulse: PlayerPulse;
6112
+ /** The app's player rate-card markup in basis points on the platform base price (06 §4): the studio's usage-revenue stream, shown to players as a separate spend-history component. 0 = no markup (the BWF posture). Requires 'view_billing'. */
6113
+ playerRateMarkup: Scalars['Int']['output'];
6114
+ /** The caller's per-app player runtime gate states. Only apps where the gate has ever acted appear; absence means active. 'denied' with PLAYER_WALLET_EMPTY or PLAYER_SPEND_CAP pauses that player's grid compute only — play is never touched. */
6115
+ playerRuntimeStates: Array<PlayerRuntimeState>;
6116
+ /** The caller's self-set spend caps (global and per-app) with running counters. The effective runtime limit is min(developer policy, self-cap, wallet balance). */
6117
+ playerSpendCaps: Array<PlayerSpendCap>;
6118
+ /** The caller's posted hourly player-usage charges, newest first, optionally filtered by app. Each charge splits platformCents (base rate card) from markupCents (the studio's configured markup) with a per-metric snapshot — players always see what the platform charges and what the studio adds. */
6119
+ playerUsageCharges: Array<PlayerUsageCharge>;
6120
+ /** The caller's player wallet, created empty on first access (never null). Platform-scoped: one wallet funds the player's grid compute across every org/app (DN-5); org billing never touches it. Fund it via createCheckout purpose PLAYER_WALLET_TOPUP. */
6121
+ playerWalletBalance: PlayerWallet;
6122
+ /** The caller's player-wallet ledger, newest first: top-ups, hourly usage debits (per app), auto-recharges, refunds, and adjustments. Usage-debit hours are broken down by playerUsageCharges, whose snapshot splits the platform and studio-markup components. */
6123
+ playerWalletTransactions: Array<PlayerWalletTransaction>;
6124
+ /** List an app's player-compute policy rows (developer cost/rate clamps per player or cohort, 06 §3), most general first. Requires 'view_compute_diagnostics'. Management is authoritative; rows replica-sync to the game runtime on change. */
6125
+ playerWasmPolicies: Array<PlayerWasmPolicy>;
4805
6126
  /** Whether portaling the calling user into an app needs a consent prompt. Trusted (first-party) apps and already-granted apps return consentRequired=false. The Overworld calls this before createPortalAuthorizationCode. Requires a SESSION token. */
4806
6127
  portalConsent: PortalConsentState;
4807
6128
  /** Public read-only catalog of active Postgres billing tiers. Usage metering deferred. */
@@ -4884,6 +6205,16 @@ export type QueryAppBySlugArgs = {
4884
6205
  appSlug: Scalars['String']['input'];
4885
6206
  orgSlug: Scalars['String']['input'];
4886
6207
  };
6208
+ export type QueryAppCodeAdmissionModeArgs = {
6209
+ appId: Scalars['BigInt']['input'];
6210
+ };
6211
+ export type QueryAppCodeAdmissionQueueArgs = {
6212
+ appId: Scalars['BigInt']['input'];
6213
+ };
6214
+ export type QueryAppCodeAdmissionsArgs = {
6215
+ appId: Scalars['BigInt']['input'];
6216
+ includeRevoked?: InputMaybe<Scalars['Boolean']['input']>;
6217
+ };
4887
6218
  export type QueryAppGrantMemberCandidatesArgs = {
4888
6219
  appId: Scalars['BigInt']['input'];
4889
6220
  };
@@ -4893,6 +6224,24 @@ export type QueryAppGraphqlOperationsArgs = {
4893
6224
  orgId: Scalars['BigInt']['input'];
4894
6225
  since: Scalars['DateTime']['input'];
4895
6226
  };
6227
+ export type QueryAppPlayerCodeAcquisitionsArgs = {
6228
+ appId: Scalars['BigInt']['input'];
6229
+ };
6230
+ export type QueryAppPlayerCodeListingVersionsArgs = {
6231
+ appId: Scalars['BigInt']['input'];
6232
+ listingId: Scalars['String']['input'];
6233
+ };
6234
+ export type QueryAppPlayerCodeListingsArgs = {
6235
+ appId: Scalars['BigInt']['input'];
6236
+ includeDelisted?: InputMaybe<Scalars['Boolean']['input']>;
6237
+ };
6238
+ export type QueryAppPlayerMarkupAccruedArgs = {
6239
+ appId: Scalars['BigInt']['input'];
6240
+ };
6241
+ export type QueryAppPlayerUsageArgs = {
6242
+ appId: Scalars['BigInt']['input'];
6243
+ hours?: InputMaybe<Scalars['Int']['input']>;
6244
+ };
4896
6245
  export type QueryAppRuntimeStateArgs = {
4897
6246
  appId: Scalars['BigInt']['input'];
4898
6247
  };
@@ -4976,6 +6325,9 @@ export type QueryCheckoutsConnectionArgs = {
4976
6325
  filter?: InputMaybe<CheckoutFilterInput>;
4977
6326
  first?: InputMaybe<Scalars['Int']['input']>;
4978
6327
  };
6328
+ export type QueryCommerceRiskQueueArgs = {
6329
+ appId: Scalars['BigInt']['input'];
6330
+ };
4979
6331
  export type QueryComputeAppDiagnosticsArgs = {
4980
6332
  appId: Scalars['BigInt']['input'];
4981
6333
  };
@@ -5065,6 +6417,9 @@ export type QueryEnvironmentForwardVersionsArgs = {
5065
6417
  export type QueryEnvironmentQuoteArgs = {
5066
6418
  input: EnvironmentQuoteInput;
5067
6419
  };
6420
+ export type QueryEnvironmentRedeployPlanArgs = {
6421
+ input: RedeployEnvironmentInput;
6422
+ };
5068
6423
  export type QueryEnvironmentUsageByAppArgs = {
5069
6424
  environmentSlug: Scalars['String']['input'];
5070
6425
  orgId: Scalars['BigInt']['input'];
@@ -5202,11 +6557,28 @@ export type QueryGetChunksByDistanceArgs = {
5202
6557
  export type QueryGetVoxelListArgs = {
5203
6558
  input: GetVoxelListInput;
5204
6559
  };
6560
+ export type QueryGridClaimPolicyArgs = {
6561
+ appId: Scalars['BigInt']['input'];
6562
+ };
6563
+ export type QueryGridClaimRequestsArgs = {
6564
+ appId: Scalars['BigInt']['input'];
6565
+ };
6566
+ export type QueryGridClientModsArgs = {
6567
+ appId: Scalars['BigInt']['input'];
6568
+ gridId: Scalars['BigInt']['input'];
6569
+ };
5205
6570
  export type QueryGridGroupGrantsArgs = {
5206
6571
  appId: Scalars['BigInt']['input'];
5207
6572
  gridId: Scalars['BigInt']['input'];
5208
6573
  groupId: Scalars['BigInt']['input'];
5209
6574
  };
6575
+ export type QueryGridListingsArgs = {
6576
+ appId: Scalars['BigInt']['input'];
6577
+ };
6578
+ export type QueryGridOwnershipArgs = {
6579
+ appId: Scalars['BigInt']['input'];
6580
+ gridId: Scalars['BigInt']['input'];
6581
+ };
5210
6582
  export type QueryGridPermissionLimitsArgs = {
5211
6583
  appId: Scalars['BigInt']['input'];
5212
6584
  gridId: Scalars['BigInt']['input'];
@@ -5239,6 +6611,12 @@ export type QueryMyCheckoutsConnectionArgs = {
5239
6611
  after?: InputMaybe<Scalars['String']['input']>;
5240
6612
  first?: InputMaybe<Scalars['Int']['input']>;
5241
6613
  };
6614
+ export type QueryMyPlayerCodeAcquisitionsArgs = {
6615
+ appId: Scalars['BigInt']['input'];
6616
+ };
6617
+ export type QueryMyPlayerCodeInstallsArgs = {
6618
+ appId: Scalars['BigInt']['input'];
6619
+ };
5242
6620
  export type QueryMyTeamsArgs = {
5243
6621
  appId: Scalars['BigInt']['input'];
5244
6622
  };
@@ -5295,9 +6673,80 @@ export type QueryPaymentEventsConnectionArgs = {
5295
6673
  after?: InputMaybe<Scalars['String']['input']>;
5296
6674
  first?: InputMaybe<Scalars['Int']['input']>;
5297
6675
  };
6676
+ export type QueryPlayerAutomationsArgs = {
6677
+ appId: Scalars['BigInt']['input'];
6678
+ gridId: Scalars['BigInt']['input'];
6679
+ };
6680
+ export type QueryPlayerCodeClientArtifactArgs = {
6681
+ appId: Scalars['BigInt']['input'];
6682
+ listingId: Scalars['String']['input'];
6683
+ versionId?: InputMaybe<Scalars['String']['input']>;
6684
+ };
6685
+ export type QueryPlayerCodeListingVersionsArgs = {
6686
+ appId: Scalars['BigInt']['input'];
6687
+ listingId: Scalars['String']['input'];
6688
+ };
6689
+ export type QueryPlayerCodeListingsArgs = {
6690
+ appId: Scalars['BigInt']['input'];
6691
+ };
6692
+ export type QueryPlayerComputeArtifactArgs = {
6693
+ appId: Scalars['BigInt']['input'];
6694
+ gridId: Scalars['BigInt']['input'];
6695
+ name: Scalars['String']['input'];
6696
+ versionId?: InputMaybe<Scalars['String']['input']>;
6697
+ };
6698
+ export type QueryPlayerComputeLogsArgs = {
6699
+ appId: Scalars['BigInt']['input'];
6700
+ gridId: Scalars['BigInt']['input'];
6701
+ limit?: InputMaybe<Scalars['Int']['input']>;
6702
+ moduleName?: InputMaybe<Scalars['String']['input']>;
6703
+ };
6704
+ export type QueryPlayerComputeMyModulesArgs = {
6705
+ appId: Scalars['BigInt']['input'];
6706
+ };
6707
+ export type QueryPlayerComputeRunsArgs = {
6708
+ appId: Scalars['BigInt']['input'];
6709
+ gridId: Scalars['BigInt']['input'];
6710
+ limit?: InputMaybe<Scalars['Int']['input']>;
6711
+ moduleName?: InputMaybe<Scalars['String']['input']>;
6712
+ offset?: InputMaybe<Scalars['Int']['input']>;
6713
+ success?: InputMaybe<Scalars['Boolean']['input']>;
6714
+ };
6715
+ export type QueryPlayerComputeSwitchesArgs = {
6716
+ appId: Scalars['BigInt']['input'];
6717
+ };
6718
+ export type QueryPlayerComputeUsageArgs = {
6719
+ appId: Scalars['BigInt']['input'];
6720
+ };
6721
+ export type QueryPlayerComputeVersionsArgs = {
6722
+ appId: Scalars['BigInt']['input'];
6723
+ gridId: Scalars['BigInt']['input'];
6724
+ name: Scalars['String']['input'];
6725
+ };
6726
+ export type QueryPlayerModelContainerArgs = {
6727
+ input: PlayerModelContainerRefInput;
6728
+ };
6729
+ export type QueryPlayerModelContainersArgs = {
6730
+ appId: Scalars['BigInt']['input'];
6731
+ gridId: Scalars['BigInt']['input'];
6732
+ };
5298
6733
  export type QueryPlayerPulseArgs = {
5299
6734
  orgId: Scalars['BigInt']['input'];
5300
6735
  };
6736
+ export type QueryPlayerRateMarkupArgs = {
6737
+ appId: Scalars['BigInt']['input'];
6738
+ };
6739
+ export type QueryPlayerUsageChargesArgs = {
6740
+ appId?: InputMaybe<Scalars['BigInt']['input']>;
6741
+ limit?: InputMaybe<Scalars['Int']['input']>;
6742
+ };
6743
+ export type QueryPlayerWalletTransactionsArgs = {
6744
+ limit?: InputMaybe<Scalars['Int']['input']>;
6745
+ offset?: InputMaybe<Scalars['Int']['input']>;
6746
+ };
6747
+ export type QueryPlayerWasmPoliciesArgs = {
6748
+ appId: Scalars['BigInt']['input'];
6749
+ };
5301
6750
  export type QueryPortalConsentArgs = {
5302
6751
  appId: Scalars['BigInt']['input'];
5303
6752
  };
@@ -5632,6 +7081,41 @@ export type SeedPropertyInput = {
5632
7081
  /** Value type of the value being set. */
5633
7082
  valueType: Scalars['String']['input'];
5634
7083
  };
7084
+ /** Result of beginning seller onboarding: the Stripe Connect Express account link the seller opens to finish KYC. */
7085
+ export type SellerOnboardingLink = {
7086
+ __typename?: 'SellerOnboardingLink';
7087
+ /** The Stripe-hosted onboarding URL to open; null when already complete or unavailable in the seller region. */
7088
+ onboardingUrl: Maybe<Scalars['String']['output']>;
7089
+ /** Current onboarding state. */
7090
+ status: SellerOnboardingStatus;
7091
+ /** Why onboarding is unavailable (e.g. region unsupported); null otherwise. */
7092
+ unavailableReason: Maybe<Scalars['String']['output']>;
7093
+ };
7094
+ /** A seller (player or org) payout-account state: NONE (never started), PENDING (Stripe Connect Express onboarding incomplete), COMPLETE (payouts enabled), or BLOCKED (provider or platform hold). */
7095
+ export declare enum SellerOnboardingStatus {
7096
+ Blocked = "BLOCKED",
7097
+ Complete = "COMPLETE",
7098
+ None = "NONE",
7099
+ Pending = "PENDING"
7100
+ }
7101
+ /** A seller's payout balance (player or org). pending ages through the D6 delay window into payable; reserved is the D6 young-account holdback or a T11 freeze. */
7102
+ export type SellerPayoutBalance = {
7103
+ __typename?: 'SellerPayoutBalance';
7104
+ /** Stripe Connect Express onboarding state. */
7105
+ onboardingStatus: SellerOnboardingStatus;
7106
+ /** 'user' or 'org'. */
7107
+ partyKind: Scalars['String']['output'];
7108
+ /** User id or org id. */
7109
+ partyRef: Scalars['BigInt']['output'];
7110
+ /** Cents aged, unreserved, and withdrawable. */
7111
+ payableCents: Scalars['Int']['output'];
7112
+ /** Whether payouts are frozen by a T11 review hold. */
7113
+ payoutsFrozen: Scalars['Boolean']['output'];
7114
+ /** Cents still aging in the delay window. */
7115
+ pendingCents: Scalars['Int']['output'];
7116
+ /** Cents held back (reserve or T11 freeze). */
7117
+ reservedCents: Scalars['Int']['output'];
7118
+ };
5635
7119
  /** Notification received when the server sends a custom event. Received via the udpNotifications subscription. */
5636
7120
  export type ServerEventNotification = {
5637
7121
  __typename?: 'ServerEventNotification';
@@ -5863,6 +7347,24 @@ export type SetGridPermissionLimitsInput = {
5863
7347
  /** The whitelist of permission keys allowed on this grid. Empty array removes all limits (every active grid permission becomes grantable again). Each key must be a known runtime permission key, unique, and at most 64 chars. */
5864
7348
  permissionKeys: Array<Scalars['String']['input']>;
5865
7349
  };
7350
+ export type SetListingPricingInput = {
7351
+ /** Acquisition mode: 'free', 'buy', 'rent', 'time_limited', or 'cost_limited'. */
7352
+ acquisitionMode: Scalars['String']['input'];
7353
+ /** App that owns the listing. */
7354
+ appId: Scalars['BigInt']['input'];
7355
+ /** Whether an acquired license may travel with a grid resale (default false; 07 §5.a). */
7356
+ licenseTransferable?: InputMaybe<Scalars['Boolean']['input']>;
7357
+ /** UUID of the listing to price. */
7358
+ listingId: Scalars['String']['input'];
7359
+ /** Price in cents (required for all non-free modes; author-set only). */
7360
+ priceCents?: InputMaybe<Scalars['Int']['input']>;
7361
+ /** Rent billing interval in days (rent mode). */
7362
+ rentIntervalDays?: InputMaybe<Scalars['Int']['input']>;
7363
+ /** Compute-unit budget the license grants (cost_limited mode). */
7364
+ unitBudget?: InputMaybe<Scalars['BigInt']['input']>;
7365
+ /** Single fixed window in days (time_limited mode). */
7366
+ windowDays?: InputMaybe<Scalars['Int']['input']>;
7367
+ };
5866
7368
  /** Replace a member's roles in a group (the listed roles become their full set). */
5867
7369
  export type SetMemberRolesInput = {
5868
7370
  /** The group (team/channel) id. */
@@ -5872,6 +7374,55 @@ export type SetMemberRolesInput = {
5872
7374
  /** The member (user) whose roles to set. */
5873
7375
  userId: Scalars['BigInt']['input'];
5874
7376
  };
7377
+ /** Enable or disable one player automation. Enabling a schedule computes its next due time. */
7378
+ export type SetPlayerAutomationEnabledInput = {
7379
+ /** App containing the owned grid. */
7380
+ appId: Scalars['BigInt']['input'];
7381
+ /** Player automation UUID. */
7382
+ automationId: Scalars['String']['input'];
7383
+ /** Whether the automation may dispatch. */
7384
+ enabled: Scalars['Boolean']['input'];
7385
+ /** Grid that confines the automation. */
7386
+ gridId: Scalars['BigInt']['input'];
7387
+ };
7388
+ /** Set one arbitrary JSON property on a player-owned container. The caller must currently own the specified grid and container. */
7389
+ export type SetPlayerModelPropertyInput = {
7390
+ /** App containing the owned grid. */
7391
+ appId: Scalars['BigInt']['input'];
7392
+ /** Player container UUID. */
7393
+ containerId: Scalars['String']['input'];
7394
+ /** Grid that confines the container. */
7395
+ gridId: Scalars['BigInt']['input'];
7396
+ /** Property key, upserted within the container. */
7397
+ propertyKey: Scalars['String']['input'];
7398
+ /** JSON-encoded property value. Any valid JSON value is accepted. */
7399
+ valueJson: Scalars['String']['input'];
7400
+ };
7401
+ /** Upsert one player policy row. Omitted knobs keep their current value (or the platform default on first insert). unitsPerHour/unitsPerDay accept null to clear the quota. */
7402
+ export type SetPlayerWasmPolicyInput = {
7403
+ /** The app. */
7404
+ appId: Scalars['BigInt']['input'];
7405
+ clientFuelPerDispatch?: InputMaybe<Scalars['BigInt']['input']>;
7406
+ enabled?: InputMaybe<Scalars['Boolean']['input']>;
7407
+ fuelPerInvoke?: InputMaybe<Scalars['BigInt']['input']>;
7408
+ fuelPerTick?: InputMaybe<Scalars['BigInt']['input']>;
7409
+ maxCompilesPerHour?: InputMaybe<Scalars['Int']['input']>;
7410
+ maxContainerCreatesDay?: InputMaybe<Scalars['Int']['input']>;
7411
+ maxDbOpsPerTick?: InputMaybe<Scalars['Int']['input']>;
7412
+ maxEgressBytesPerMin?: InputMaybe<Scalars['BigInt']['input']>;
7413
+ maxEgressMsgsPerMin?: InputMaybe<Scalars['Int']['input']>;
7414
+ maxMemoryMb?: InputMaybe<Scalars['Int']['input']>;
7415
+ maxModulesPerGrid?: InputMaybe<Scalars['Int']['input']>;
7416
+ maxModulesTotal?: InputMaybe<Scalars['Int']['input']>;
7417
+ maxRunMs?: InputMaybe<Scalars['Int']['input']>;
7418
+ maxTickHz?: InputMaybe<Scalars['Float']['input']>;
7419
+ /** 'app_default', 'tier', 'grid', or 'user'. */
7420
+ scope: Scalars['String']['input'];
7421
+ /** Tier/grid/user id; required unless scope is app_default. */
7422
+ scopeRef?: InputMaybe<Scalars['BigInt']['input']>;
7423
+ unitsPerDay?: InputMaybe<Scalars['BigInt']['input']>;
7424
+ unitsPerHour?: InputMaybe<Scalars['BigInt']['input']>;
7425
+ };
5875
7426
  export type SetQuotaInput = {
5876
7427
  /** What to do when the limit is exceeded. Optional; defaults to "throttle" (typical values: "throttle" to rate-limit, "block" to reject). */
5877
7428
  actionOnExceed?: InputMaybe<Scalars['String']['input']>;
@@ -6016,6 +7567,28 @@ export type TeleportResponse = {
6016
7567
  /** True when the teleport is authorized/accepted; false otherwise (inspect errorCode for the reason). */
6017
7568
  success: Scalars['Boolean']['output'];
6018
7569
  };
7570
+ export type TransferGridOwnershipInput = {
7571
+ /** App that contains the grid. */
7572
+ appId: Scalars['BigInt']['input'];
7573
+ /** Required when the new tenure is RENTED. */
7574
+ expiresAt?: InputMaybe<Scalars['DateTime']['input']>;
7575
+ /** Grid whose title transfers. */
7576
+ gridId: Scalars['BigInt']['input'];
7577
+ /** User id receiving title. */
7578
+ newOwnerUserId: Scalars['BigInt']['input'];
7579
+ /** New owner tenure. */
7580
+ tenure?: InputMaybe<GridTenure>;
7581
+ };
7582
+ export type TransferPlayerCodeListingInput = {
7583
+ /** Numeric app id that owns the listing. */
7584
+ appId: Scalars['BigInt']['input'];
7585
+ /** UUID of the listing to transfer. */
7586
+ listingId: Scalars['String']['input'];
7587
+ /** New owner kind (USER or ORG). */
7588
+ toOwnerKind: PlayerCodeOwnerKind;
7589
+ /** Numeric user id or org id of the new owner, per toOwnerKind. */
7590
+ toOwnerRef: Scalars['BigInt']['input'];
7591
+ };
6019
7592
  /** Error codes returned by UDP game servers (and surfaced on `GenericErrorResponse.errorCode`) in response to a spatial/realtime message. NO_ERROR (0) indicates success; every other value indicates a failure. The numeric value is the byte sent on the wire; GraphQL exposes the name. Note: a failed message does not always produce an error — some auth failures are dropped silently (see the docs). */
6020
7593
  export declare enum UdpErrorCode {
6021
7594
  /** No app matches the supplied appId. */
@@ -7610,6 +9183,85 @@ export type ArchiveAppMutation = {
7610
9183
  updatedAt: string;
7611
9184
  };
7612
9185
  };
9186
+ export type AppCodeAdmissionFieldsFragment = {
9187
+ __typename?: 'AppCodeAdmission';
9188
+ admissionId: string;
9189
+ appId: string;
9190
+ subjectKind: CodeAdmissionSubjectKind;
9191
+ subjectRef: string;
9192
+ versionRange: string | null;
9193
+ admittedBy: string;
9194
+ admittedAt: string;
9195
+ revokedAt: string | null;
9196
+ };
9197
+ export type AppCodeAdmissionModeQueryVariables = Exact<{
9198
+ appId: Scalars['BigInt']['input'];
9199
+ }>;
9200
+ export type AppCodeAdmissionModeQuery = {
9201
+ __typename?: 'Query';
9202
+ appCodeAdmissionMode: CodeAdmissionMode;
9203
+ };
9204
+ export type AppCodeAdmissionsQueryVariables = Exact<{
9205
+ appId: Scalars['BigInt']['input'];
9206
+ includeRevoked?: InputMaybe<Scalars['Boolean']['input']>;
9207
+ }>;
9208
+ export type AppCodeAdmissionsQuery = {
9209
+ __typename?: 'Query';
9210
+ appCodeAdmissions: Array<{
9211
+ __typename?: 'AppCodeAdmission';
9212
+ admissionId: string;
9213
+ appId: string;
9214
+ subjectKind: CodeAdmissionSubjectKind;
9215
+ subjectRef: string;
9216
+ versionRange: string | null;
9217
+ admittedBy: string;
9218
+ admittedAt: string;
9219
+ revokedAt: string | null;
9220
+ }>;
9221
+ };
9222
+ export type SetAppCodeAdmissionModeMutationVariables = Exact<{
9223
+ appId: Scalars['BigInt']['input'];
9224
+ mode: CodeAdmissionMode;
9225
+ }>;
9226
+ export type SetAppCodeAdmissionModeMutation = {
9227
+ __typename?: 'Mutation';
9228
+ setAppCodeAdmissionMode: CodeAdmissionMode;
9229
+ };
9230
+ export type AdmitAppCodeMutationVariables = Exact<{
9231
+ input: AdmitAppCodeInput;
9232
+ }>;
9233
+ export type AdmitAppCodeMutation = {
9234
+ __typename?: 'Mutation';
9235
+ admitAppCode: {
9236
+ __typename?: 'AppCodeAdmission';
9237
+ admissionId: string;
9238
+ appId: string;
9239
+ subjectKind: CodeAdmissionSubjectKind;
9240
+ subjectRef: string;
9241
+ versionRange: string | null;
9242
+ admittedBy: string;
9243
+ admittedAt: string;
9244
+ revokedAt: string | null;
9245
+ };
9246
+ };
9247
+ export type RevokeAppCodeAdmissionMutationVariables = Exact<{
9248
+ appId: Scalars['BigInt']['input'];
9249
+ admissionId: Scalars['String']['input'];
9250
+ }>;
9251
+ export type RevokeAppCodeAdmissionMutation = {
9252
+ __typename?: 'Mutation';
9253
+ revokeAppCodeAdmission: {
9254
+ __typename?: 'AppCodeAdmission';
9255
+ admissionId: string;
9256
+ appId: string;
9257
+ subjectKind: CodeAdmissionSubjectKind;
9258
+ subjectRef: string;
9259
+ versionRange: string | null;
9260
+ admittedBy: string;
9261
+ admittedAt: string;
9262
+ revokedAt: string | null;
9263
+ };
9264
+ };
7613
9265
  export type CreateAppMutationVariables = Exact<{
7614
9266
  input: CreateAppInput;
7615
9267
  }>;
@@ -9654,12 +11306,43 @@ export type EnvironmentQuoteQuery = {
9654
11306
  canCreate: boolean;
9655
11307
  };
9656
11308
  };
9657
- export type EnvironmentVersionsQueryVariables = Exact<{
9658
- [key: string]: never;
11309
+ export type EnvironmentRedeployPlanQueryVariables = Exact<{
11310
+ input: RedeployEnvironmentInput;
9659
11311
  }>;
9660
- export type EnvironmentVersionsQuery = {
11312
+ export type EnvironmentRedeployPlanQuery = {
9661
11313
  __typename?: 'Query';
9662
- environmentVersions: Array<{
11314
+ environmentRedeployPlan: {
11315
+ __typename?: 'EnvironmentRedeployPlan';
11316
+ environmentSlug: string;
11317
+ currentVersion: string | null;
11318
+ targetVersion: string | null;
11319
+ deployMode: string | null;
11320
+ changeOrderKind: string | null;
11321
+ schemaWillApply: boolean;
11322
+ schemaGitRef: string | null;
11323
+ blockers: Array<string>;
11324
+ notes: Array<string>;
11325
+ componentChanges: Array<{
11326
+ __typename?: 'EnvironmentComponentChange';
11327
+ component: string;
11328
+ fromVersion: string | null;
11329
+ toVersion: string | null;
11330
+ changed: boolean;
11331
+ }>;
11332
+ tasks: Array<{
11333
+ __typename?: 'EnvironmentPlannedTask';
11334
+ kind: string;
11335
+ dependsOn: Array<string>;
11336
+ steps: Array<string>;
11337
+ }>;
11338
+ };
11339
+ };
11340
+ export type EnvironmentVersionsQueryVariables = Exact<{
11341
+ [key: string]: never;
11342
+ }>;
11343
+ export type EnvironmentVersionsQuery = {
11344
+ __typename?: 'Query';
11345
+ environmentVersions: Array<{
9663
11346
  __typename?: 'CksEnvironmentVersion';
9664
11347
  version: string;
9665
11348
  releasedAt: string;
@@ -9875,6 +11558,73 @@ export type UpdateEnvironmentScalingMutation = {
9875
11558
  finishedAt: string | null;
9876
11559
  };
9877
11560
  };
11561
+ export type GridOwnershipFieldsFragment = {
11562
+ __typename?: 'GridOwnership';
11563
+ gridOwnershipId: string;
11564
+ gridId: string;
11565
+ appId: string;
11566
+ ownerKind: GridOwnerKind;
11567
+ ownerRef: string;
11568
+ tenure: GridTenure;
11569
+ acquiredVia: string;
11570
+ acquiredAt: string;
11571
+ expiresAt: string | null;
11572
+ };
11573
+ export type GridOwnershipQueryVariables = Exact<{
11574
+ appId: Scalars['BigInt']['input'];
11575
+ gridId: Scalars['BigInt']['input'];
11576
+ }>;
11577
+ export type GridOwnershipQuery = {
11578
+ __typename?: 'Query';
11579
+ gridOwnership: {
11580
+ __typename?: 'GridOwnership';
11581
+ gridOwnershipId: string;
11582
+ gridId: string;
11583
+ appId: string;
11584
+ ownerKind: GridOwnerKind;
11585
+ ownerRef: string;
11586
+ tenure: GridTenure;
11587
+ acquiredVia: string;
11588
+ acquiredAt: string;
11589
+ expiresAt: string | null;
11590
+ } | null;
11591
+ };
11592
+ export type AssignGridOwnershipMutationVariables = Exact<{
11593
+ input: AssignGridOwnershipInput;
11594
+ }>;
11595
+ export type AssignGridOwnershipMutation = {
11596
+ __typename?: 'Mutation';
11597
+ assignGridOwnership: {
11598
+ __typename?: 'GridOwnership';
11599
+ gridOwnershipId: string;
11600
+ gridId: string;
11601
+ appId: string;
11602
+ ownerKind: GridOwnerKind;
11603
+ ownerRef: string;
11604
+ tenure: GridTenure;
11605
+ acquiredVia: string;
11606
+ acquiredAt: string;
11607
+ expiresAt: string | null;
11608
+ };
11609
+ };
11610
+ export type TransferGridOwnershipMutationVariables = Exact<{
11611
+ input: TransferGridOwnershipInput;
11612
+ }>;
11613
+ export type TransferGridOwnershipMutation = {
11614
+ __typename?: 'Mutation';
11615
+ transferGridOwnership: {
11616
+ __typename?: 'GridOwnership';
11617
+ gridOwnershipId: string;
11618
+ gridId: string;
11619
+ appId: string;
11620
+ ownerKind: GridOwnerKind;
11621
+ ownerRef: string;
11622
+ tenure: GridTenure;
11623
+ acquiredVia: string;
11624
+ acquiredAt: string;
11625
+ expiresAt: string | null;
11626
+ };
11627
+ };
9878
11628
  export type GridUserPermissionsQueryVariables = Exact<{
9879
11629
  appId: Scalars['BigInt']['input'];
9880
11630
  gridId: Scalars['BigInt']['input'];
@@ -11466,144 +13216,818 @@ export type ActorHeartbeatMutation = {
11466
13216
  earliestActorJoinedAt: string;
11467
13217
  } | null;
11468
13218
  };
11469
- export type CreateOrgRoleMutationVariables = Exact<{
11470
- input: CreateOrgRoleInput;
13219
+ export type PlayerCodeListingFieldsFragment = {
13220
+ __typename?: 'PlayerCodeListing';
13221
+ listingId: string;
13222
+ appId: string;
13223
+ ownerKind: PlayerCodeOwnerKind;
13224
+ ownerRef: string;
13225
+ name: string;
13226
+ description: string;
13227
+ mediaJson: string;
13228
+ licenseMode: PlayerCodeLicenseMode;
13229
+ acquisitionMode: PlayerCodeAcquisitionMode;
13230
+ priceCents: number | null;
13231
+ rentIntervalDays: number | null;
13232
+ windowDays: number | null;
13233
+ unitBudget: string | null;
13234
+ status: PlayerCodeListingStatus;
13235
+ createdAt: string;
13236
+ };
13237
+ export type PlayerCodeListingVersionFieldsFragment = {
13238
+ __typename?: 'PlayerCodeListingVersion';
13239
+ versionId: string;
13240
+ listingId: string;
13241
+ versionNo: number;
13242
+ serverArtifactHashes: Array<string>;
13243
+ clientArtifactHashes: Array<string>;
13244
+ capabilitySummaryJson: string;
13245
+ capabilityHash: string;
13246
+ openSource: boolean;
13247
+ licenseText: string | null;
13248
+ createdAt: string | null;
13249
+ };
13250
+ export type PlayerCodeAcquisitionFieldsFragment = {
13251
+ __typename?: 'PlayerCodeAcquisition';
13252
+ acquisitionId: string;
13253
+ listingId: string;
13254
+ appId: string;
13255
+ mode: PlayerCodeAcquisitionMode;
13256
+ status: string;
13257
+ expiresAt: string | null;
13258
+ unitBudget: string | null;
13259
+ unitsConsumed: string;
13260
+ acquiredAt: string;
13261
+ };
13262
+ export type PlayerCodeInstallFieldsFragment = {
13263
+ __typename?: 'PlayerCodeInstall';
13264
+ installId: string;
13265
+ acquisitionId: string;
13266
+ listingId: string;
13267
+ appId: string;
13268
+ pinnedVersionId: string;
13269
+ targetGridId: string | null;
13270
+ consentedCapabilityHash: string;
13271
+ status: string;
13272
+ createdAt: string;
13273
+ };
13274
+ export type GridClaimRequestFieldsFragment = {
13275
+ __typename?: 'GridClaimRequest';
13276
+ requestId: string;
13277
+ appId: string;
13278
+ gridId: string;
13279
+ requesterUserId: string;
13280
+ status: string;
13281
+ createdAt: string;
13282
+ };
13283
+ export type MarketplaceListingsQueryVariables = Exact<{
13284
+ appId: Scalars['BigInt']['input'];
11471
13285
  }>;
11472
- export type CreateOrgRoleMutation = {
11473
- __typename?: 'Mutation';
11474
- createOrgRole: {
11475
- __typename?: 'OrgRole';
11476
- orgRoleId: string;
11477
- orgId: string;
11478
- roleName: string;
11479
- isSystem: boolean;
11480
- permissions: Array<string>;
11481
- description: string | null;
11482
- };
13286
+ export type MarketplaceListingsQuery = {
13287
+ __typename?: 'Query';
13288
+ playerCodeListings: Array<{
13289
+ __typename?: 'PlayerCodeListing';
13290
+ admissionState: PlayerCodeAdmissionState;
13291
+ latestVersionId: string | null;
13292
+ listingId: string;
13293
+ appId: string;
13294
+ ownerKind: PlayerCodeOwnerKind;
13295
+ ownerRef: string;
13296
+ name: string;
13297
+ description: string;
13298
+ mediaJson: string;
13299
+ licenseMode: PlayerCodeLicenseMode;
13300
+ acquisitionMode: PlayerCodeAcquisitionMode;
13301
+ priceCents: number | null;
13302
+ rentIntervalDays: number | null;
13303
+ windowDays: number | null;
13304
+ unitBudget: string | null;
13305
+ status: PlayerCodeListingStatus;
13306
+ createdAt: string;
13307
+ }>;
11483
13308
  };
11484
- export type CreateOrgTokenMutationVariables = Exact<{
11485
- input: CreateOrgTokenInput;
13309
+ export type MarketplaceListingVersionsQueryVariables = Exact<{
13310
+ appId: Scalars['BigInt']['input'];
13311
+ listingId: Scalars['String']['input'];
11486
13312
  }>;
11487
- export type CreateOrgTokenMutation = {
11488
- __typename?: 'Mutation';
11489
- createOrgToken: {
11490
- __typename?: 'OrgTokenWithSecret';
11491
- orgTokenId: string;
11492
- orgId: string;
11493
- token: string;
11494
- label: string | null;
11495
- isActive: boolean;
13313
+ export type MarketplaceListingVersionsQuery = {
13314
+ __typename?: 'Query';
13315
+ playerCodeListingVersions: Array<{
13316
+ __typename?: 'PlayerCodeListingVersion';
13317
+ versionId: string;
13318
+ listingId: string;
13319
+ versionNo: number;
13320
+ serverArtifactHashes: Array<string>;
13321
+ clientArtifactHashes: Array<string>;
13322
+ capabilitySummaryJson: string;
13323
+ capabilityHash: string;
13324
+ openSource: boolean;
13325
+ licenseText: string | null;
13326
+ createdAt: string | null;
13327
+ }>;
13328
+ };
13329
+ export type MarketplaceMyAcquisitionsQueryVariables = Exact<{
13330
+ appId: Scalars['BigInt']['input'];
13331
+ }>;
13332
+ export type MarketplaceMyAcquisitionsQuery = {
13333
+ __typename?: 'Query';
13334
+ myPlayerCodeAcquisitions: Array<{
13335
+ __typename?: 'PlayerCodeAcquisition';
13336
+ acquisitionId: string;
13337
+ listingId: string;
13338
+ appId: string;
13339
+ mode: PlayerCodeAcquisitionMode;
13340
+ status: string;
11496
13341
  expiresAt: string | null;
13342
+ unitBudget: string | null;
13343
+ unitsConsumed: string;
13344
+ acquiredAt: string;
13345
+ }>;
13346
+ };
13347
+ export type MarketplaceMyInstallsQueryVariables = Exact<{
13348
+ appId: Scalars['BigInt']['input'];
13349
+ }>;
13350
+ export type MarketplaceMyInstallsQuery = {
13351
+ __typename?: 'Query';
13352
+ myPlayerCodeInstalls: Array<{
13353
+ __typename?: 'PlayerCodeInstall';
13354
+ installId: string;
13355
+ acquisitionId: string;
13356
+ listingId: string;
13357
+ appId: string;
13358
+ pinnedVersionId: string;
13359
+ targetGridId: string | null;
13360
+ consentedCapabilityHash: string;
13361
+ status: string;
11497
13362
  createdAt: string;
13363
+ }>;
13364
+ };
13365
+ export type MarketplaceGridClientModsQueryVariables = Exact<{
13366
+ appId: Scalars['BigInt']['input'];
13367
+ gridId: Scalars['BigInt']['input'];
13368
+ }>;
13369
+ export type MarketplaceGridClientModsQuery = {
13370
+ __typename?: 'Query';
13371
+ gridClientMods: Array<{
13372
+ __typename?: 'GridClientMod';
13373
+ attachmentId: string;
13374
+ listingId: string;
13375
+ listingName: string;
13376
+ versionId: string;
13377
+ gridId: string;
13378
+ capabilitySummaryJson: string;
13379
+ capabilityHash: string;
13380
+ callerConsented: boolean;
13381
+ }>;
13382
+ };
13383
+ export type MarketplaceClientArtifactQueryVariables = Exact<{
13384
+ appId: Scalars['BigInt']['input'];
13385
+ listingId: Scalars['String']['input'];
13386
+ versionId?: InputMaybe<Scalars['String']['input']>;
13387
+ }>;
13388
+ export type MarketplaceClientArtifactQuery = {
13389
+ __typename?: 'Query';
13390
+ playerCodeClientArtifact: {
13391
+ __typename?: 'PlayerClientArtifact';
13392
+ versionId: string;
13393
+ artifactHash: string;
13394
+ artifactBase64: string;
13395
+ sizeBytes: number;
13396
+ abiVersion: number;
13397
+ contractJson: string | null;
13398
+ clientFuelPerDispatch: string;
11498
13399
  };
11499
13400
  };
11500
- export type CreateOrganizationMutationVariables = Exact<{
11501
- input: CreateOrganizationInput;
13401
+ export type MarketplacePublishListingMutationVariables = Exact<{
13402
+ input: PublishPlayerCodeInput;
11502
13403
  }>;
11503
- export type CreateOrganizationMutation = {
13404
+ export type MarketplacePublishListingMutation = {
11504
13405
  __typename?: 'Mutation';
11505
- createOrganization: {
11506
- __typename?: 'Organization';
11507
- orgId: string;
13406
+ publishPlayerCode: {
13407
+ __typename?: 'PlayerCodeListing';
13408
+ admissionState: PlayerCodeAdmissionState;
13409
+ latestVersionId: string | null;
13410
+ listingId: string;
13411
+ appId: string;
13412
+ ownerKind: PlayerCodeOwnerKind;
13413
+ ownerRef: string;
11508
13414
  name: string;
11509
- slug: string;
11510
- ownerUserId: string;
11511
- status: string;
13415
+ description: string;
13416
+ mediaJson: string;
13417
+ licenseMode: PlayerCodeLicenseMode;
13418
+ acquisitionMode: PlayerCodeAcquisitionMode;
13419
+ priceCents: number | null;
13420
+ rentIntervalDays: number | null;
13421
+ windowDays: number | null;
13422
+ unitBudget: string | null;
13423
+ status: PlayerCodeListingStatus;
11512
13424
  createdAt: string;
11513
- updatedAt: string;
11514
13425
  };
11515
13426
  };
11516
- export type DeleteOrgRoleMutationVariables = Exact<{
11517
- orgRoleId: Scalars['BigInt']['input'];
13427
+ export type MarketplacePublishVersionMutationVariables = Exact<{
13428
+ input: PublishPlayerCodeVersionInput;
11518
13429
  }>;
11519
- export type DeleteOrgRoleMutation = {
13430
+ export type MarketplacePublishVersionMutation = {
11520
13431
  __typename?: 'Mutation';
11521
- deleteOrgRole: boolean;
13432
+ publishPlayerCodeVersion: {
13433
+ __typename?: 'PlayerCodeListingVersion';
13434
+ versionId: string;
13435
+ listingId: string;
13436
+ versionNo: number;
13437
+ serverArtifactHashes: Array<string>;
13438
+ clientArtifactHashes: Array<string>;
13439
+ capabilitySummaryJson: string;
13440
+ capabilityHash: string;
13441
+ openSource: boolean;
13442
+ licenseText: string | null;
13443
+ createdAt: string | null;
13444
+ };
11522
13445
  };
11523
- export type InviteOrgMemberMutationVariables = Exact<{
11524
- input: InviteOrgMemberInput;
13446
+ export type MarketplaceAcquireMutationVariables = Exact<{
13447
+ appId: Scalars['BigInt']['input'];
13448
+ listingId: Scalars['String']['input'];
11525
13449
  }>;
11526
- export type InviteOrgMemberMutation = {
13450
+ export type MarketplaceAcquireMutation = {
11527
13451
  __typename?: 'Mutation';
11528
- inviteOrgMember: {
11529
- __typename?: 'OrgMember';
11530
- orgMemberId: string;
11531
- orgId: string;
11532
- userId: string;
13452
+ acquirePlayerCode: {
13453
+ __typename?: 'PlayerCodeAcquisition';
13454
+ acquisitionId: string;
13455
+ listingId: string;
13456
+ appId: string;
13457
+ mode: PlayerCodeAcquisitionMode;
13458
+ status: string;
13459
+ expiresAt: string | null;
13460
+ unitBudget: string | null;
13461
+ unitsConsumed: string;
13462
+ acquiredAt: string;
13463
+ };
13464
+ };
13465
+ export type MarketplaceInstallMutationVariables = Exact<{
13466
+ appId: Scalars['BigInt']['input'];
13467
+ acquisitionId: Scalars['String']['input'];
13468
+ consentCapabilityHash: Scalars['String']['input'];
13469
+ gridId?: InputMaybe<Scalars['BigInt']['input']>;
13470
+ versionId?: InputMaybe<Scalars['String']['input']>;
13471
+ }>;
13472
+ export type MarketplaceInstallMutation = {
13473
+ __typename?: 'Mutation';
13474
+ installPlayerCode: {
13475
+ __typename?: 'PlayerCodeInstall';
13476
+ installId: string;
13477
+ acquisitionId: string;
13478
+ listingId: string;
13479
+ appId: string;
13480
+ pinnedVersionId: string;
13481
+ targetGridId: string | null;
13482
+ consentedCapabilityHash: string;
11533
13483
  status: string;
11534
13484
  createdAt: string;
11535
- updatedAt: string;
11536
13485
  };
11537
13486
  };
11538
- export type MemberRolesQueryVariables = Exact<{
11539
- orgMemberId: Scalars['BigInt']['input'];
13487
+ export type MarketplaceUninstallMutationVariables = Exact<{
13488
+ appId: Scalars['BigInt']['input'];
13489
+ installId: Scalars['String']['input'];
11540
13490
  }>;
11541
- export type MemberRolesQuery = {
13491
+ export type MarketplaceUninstallMutation = {
13492
+ __typename?: 'Mutation';
13493
+ uninstallPlayerCode: boolean;
13494
+ };
13495
+ export type MarketplaceConsentGridClientModMutationVariables = Exact<{
13496
+ appId: Scalars['BigInt']['input'];
13497
+ attachmentId: Scalars['String']['input'];
13498
+ consentCapabilityHash: Scalars['String']['input'];
13499
+ }>;
13500
+ export type MarketplaceConsentGridClientModMutation = {
13501
+ __typename?: 'Mutation';
13502
+ consentGridClientMod: boolean;
13503
+ };
13504
+ export type MarketplaceGridClaimPolicyQueryVariables = Exact<{
13505
+ appId: Scalars['BigInt']['input'];
13506
+ }>;
13507
+ export type MarketplaceGridClaimPolicyQuery = {
11542
13508
  __typename?: 'Query';
11543
- memberRoles: Array<{
11544
- __typename?: 'OrgRole';
11545
- orgRoleId: string;
11546
- orgId: string;
11547
- roleName: string;
11548
- isSystem: boolean;
11549
- permissions: Array<string>;
11550
- description: string | null;
13509
+ gridClaimPolicy: GridClaimPolicy;
13510
+ };
13511
+ export type MarketplaceGridClaimRequestsQueryVariables = Exact<{
13512
+ appId: Scalars['BigInt']['input'];
13513
+ }>;
13514
+ export type MarketplaceGridClaimRequestsQuery = {
13515
+ __typename?: 'Query';
13516
+ gridClaimRequests: Array<{
13517
+ __typename?: 'GridClaimRequest';
13518
+ requestId: string;
13519
+ appId: string;
13520
+ gridId: string;
13521
+ requesterUserId: string;
13522
+ status: string;
13523
+ createdAt: string;
11551
13524
  }>;
11552
13525
  };
11553
- export type MyOrganizationsQueryVariables = Exact<{
11554
- [key: string]: never;
13526
+ export type MarketplaceClaimGridOwnershipMutationVariables = Exact<{
13527
+ appId: Scalars['BigInt']['input'];
13528
+ gridId: Scalars['BigInt']['input'];
11555
13529
  }>;
11556
- export type MyOrganizationsQuery = {
13530
+ export type MarketplaceClaimGridOwnershipMutation = {
13531
+ __typename?: 'Mutation';
13532
+ claimGridOwnership: {
13533
+ __typename?: 'GridClaimResult';
13534
+ policy: GridClaimPolicy;
13535
+ ownershipAssigned: boolean;
13536
+ claimRequestId: string | null;
13537
+ };
13538
+ };
13539
+ export type MarketplaceDecideGridClaimMutationVariables = Exact<{
13540
+ appId: Scalars['BigInt']['input'];
13541
+ requestId: Scalars['String']['input'];
13542
+ approve: Scalars['Boolean']['input'];
13543
+ }>;
13544
+ export type MarketplaceDecideGridClaimMutation = {
13545
+ __typename?: 'Mutation';
13546
+ decideGridClaim: {
13547
+ __typename?: 'GridClaimRequest';
13548
+ requestId: string;
13549
+ appId: string;
13550
+ gridId: string;
13551
+ requesterUserId: string;
13552
+ status: string;
13553
+ createdAt: string;
13554
+ };
13555
+ };
13556
+ export type MarketplaceIssueGridClaimInviteMutationVariables = Exact<{
13557
+ appId: Scalars['BigInt']['input'];
13558
+ gridId: Scalars['BigInt']['input'];
13559
+ inviteeUserId: Scalars['BigInt']['input'];
13560
+ }>;
13561
+ export type MarketplaceIssueGridClaimInviteMutation = {
13562
+ __typename?: 'Mutation';
13563
+ issueGridClaimInvite: boolean;
13564
+ };
13565
+ export type MarketplaceAdmissionQueueQueryVariables = Exact<{
13566
+ appId: Scalars['BigInt']['input'];
13567
+ }>;
13568
+ export type MarketplaceAdmissionQueueQuery = {
11557
13569
  __typename?: 'Query';
11558
- myOrganizations: Array<{
11559
- __typename?: 'OrgMembership';
11560
- permissions: Array<string>;
11561
- joinedAt: string;
11562
- org: {
11563
- __typename?: 'Organization';
11564
- orgId: string;
11565
- slug: string;
13570
+ appCodeAdmissionQueue: Array<{
13571
+ __typename?: 'PlayerCodeAdmissionQueueEntry';
13572
+ admissionState: PlayerCodeAdmissionState;
13573
+ admissionId: string | null;
13574
+ matchedSubjectKind: string | null;
13575
+ listing: {
13576
+ __typename?: 'PlayerCodeListing';
13577
+ listingId: string;
13578
+ appId: string;
13579
+ ownerKind: PlayerCodeOwnerKind;
13580
+ ownerRef: string;
11566
13581
  name: string;
11567
- ownerUserId: string;
11568
- status: string;
13582
+ description: string;
13583
+ mediaJson: string;
13584
+ licenseMode: PlayerCodeLicenseMode;
13585
+ acquisitionMode: PlayerCodeAcquisitionMode;
13586
+ priceCents: number | null;
13587
+ rentIntervalDays: number | null;
13588
+ windowDays: number | null;
13589
+ unitBudget: string | null;
13590
+ status: PlayerCodeListingStatus;
11569
13591
  createdAt: string;
11570
- updatedAt: string;
11571
13592
  };
11572
- roles: Array<{
11573
- __typename?: 'OrgRole';
11574
- orgRoleId: string;
11575
- orgId: string;
11576
- roleName: string;
11577
- isSystem: boolean;
11578
- permissions: Array<string>;
11579
- }>;
11580
13593
  }>;
11581
13594
  };
11582
- export type OrgMembersQueryVariables = Exact<{
11583
- orgId: Scalars['BigInt']['input'];
13595
+ export type MarketplaceAppListingsQueryVariables = Exact<{
13596
+ appId: Scalars['BigInt']['input'];
13597
+ includeDelisted?: InputMaybe<Scalars['Boolean']['input']>;
11584
13598
  }>;
11585
- export type OrgMembersQuery = {
13599
+ export type MarketplaceAppListingsQuery = {
11586
13600
  __typename?: 'Query';
11587
- orgMembers: Array<{
11588
- __typename?: 'OrgMember';
11589
- orgMemberId: string;
11590
- orgId: string;
11591
- userId: string;
11592
- status: string;
11593
- createdAt: string;
13601
+ appPlayerCodeListings: Array<{
13602
+ __typename?: 'PlayerCodeListing';
11594
13603
  updatedAt: string;
13604
+ listingId: string;
13605
+ appId: string;
13606
+ ownerKind: PlayerCodeOwnerKind;
13607
+ ownerRef: string;
13608
+ name: string;
13609
+ description: string;
13610
+ mediaJson: string;
13611
+ licenseMode: PlayerCodeLicenseMode;
13612
+ acquisitionMode: PlayerCodeAcquisitionMode;
13613
+ priceCents: number | null;
13614
+ rentIntervalDays: number | null;
13615
+ windowDays: number | null;
13616
+ unitBudget: string | null;
13617
+ status: PlayerCodeListingStatus;
13618
+ createdAt: string;
11595
13619
  }>;
11596
13620
  };
11597
- export type OrgPermissionsQueryVariables = Exact<{
11598
- [key: string]: never;
13621
+ export type MarketplaceAppAcquisitionsQueryVariables = Exact<{
13622
+ appId: Scalars['BigInt']['input'];
11599
13623
  }>;
11600
- export type OrgPermissionsQuery = {
13624
+ export type MarketplaceAppAcquisitionsQuery = {
11601
13625
  __typename?: 'Query';
11602
- orgPermissions: Array<{
11603
- __typename?: 'OrgPermission';
11604
- permissionKey: string;
11605
- description: string | null;
11606
- category: string | null;
13626
+ appPlayerCodeAcquisitions: Array<{
13627
+ __typename?: 'PlayerCodeAcquisition';
13628
+ acquirerUserId: string;
13629
+ revokedAt: string | null;
13630
+ acquisitionId: string;
13631
+ listingId: string;
13632
+ appId: string;
13633
+ mode: PlayerCodeAcquisitionMode;
13634
+ status: string;
13635
+ expiresAt: string | null;
13636
+ unitBudget: string | null;
13637
+ unitsConsumed: string;
13638
+ acquiredAt: string;
13639
+ }>;
13640
+ };
13641
+ export type MarketplaceTransferListingMutationVariables = Exact<{
13642
+ input: TransferPlayerCodeListingInput;
13643
+ }>;
13644
+ export type MarketplaceTransferListingMutation = {
13645
+ __typename?: 'Mutation';
13646
+ transferPlayerCodeListing: {
13647
+ __typename?: 'PlayerCodeListing';
13648
+ updatedAt: string;
13649
+ listingId: string;
13650
+ appId: string;
13651
+ ownerKind: PlayerCodeOwnerKind;
13652
+ ownerRef: string;
13653
+ name: string;
13654
+ description: string;
13655
+ mediaJson: string;
13656
+ licenseMode: PlayerCodeLicenseMode;
13657
+ acquisitionMode: PlayerCodeAcquisitionMode;
13658
+ priceCents: number | null;
13659
+ rentIntervalDays: number | null;
13660
+ windowDays: number | null;
13661
+ unitBudget: string | null;
13662
+ status: PlayerCodeListingStatus;
13663
+ createdAt: string;
13664
+ };
13665
+ };
13666
+ export type MarketplaceSetListingStatusMutationVariables = Exact<{
13667
+ appId: Scalars['BigInt']['input'];
13668
+ listingId: Scalars['String']['input'];
13669
+ status: PlayerCodeListingStatus;
13670
+ }>;
13671
+ export type MarketplaceSetListingStatusMutation = {
13672
+ __typename?: 'Mutation';
13673
+ setPlayerCodeListingStatus: {
13674
+ __typename?: 'PlayerCodeListing';
13675
+ updatedAt: string;
13676
+ listingId: string;
13677
+ appId: string;
13678
+ ownerKind: PlayerCodeOwnerKind;
13679
+ ownerRef: string;
13680
+ name: string;
13681
+ description: string;
13682
+ mediaJson: string;
13683
+ licenseMode: PlayerCodeLicenseMode;
13684
+ acquisitionMode: PlayerCodeAcquisitionMode;
13685
+ priceCents: number | null;
13686
+ rentIntervalDays: number | null;
13687
+ windowDays: number | null;
13688
+ unitBudget: string | null;
13689
+ status: PlayerCodeListingStatus;
13690
+ createdAt: string;
13691
+ };
13692
+ };
13693
+ export type MarketplaceSetGridClaimPolicyMutationVariables = Exact<{
13694
+ appId: Scalars['BigInt']['input'];
13695
+ policy: GridClaimPolicy;
13696
+ approverUserIds?: InputMaybe<Array<Scalars['BigInt']['input']> | Scalars['BigInt']['input']>;
13697
+ }>;
13698
+ export type MarketplaceSetGridClaimPolicyMutation = {
13699
+ __typename?: 'Mutation';
13700
+ setAppGridClaimPolicy: GridClaimPolicy;
13701
+ };
13702
+ export type MarketplaceRenewAcquisitionMutationVariables = Exact<{
13703
+ appId: Scalars['BigInt']['input'];
13704
+ acquisitionId: Scalars['String']['input'];
13705
+ }>;
13706
+ export type MarketplaceRenewAcquisitionMutation = {
13707
+ __typename?: 'Mutation';
13708
+ renewPlayerCodeAcquisition: {
13709
+ __typename?: 'PlayerCodeAcquisition';
13710
+ acquisitionId: string;
13711
+ listingId: string;
13712
+ appId: string;
13713
+ mode: PlayerCodeAcquisitionMode;
13714
+ status: string;
13715
+ expiresAt: string | null;
13716
+ unitBudget: string | null;
13717
+ unitsConsumed: string;
13718
+ acquiredAt: string;
13719
+ };
13720
+ };
13721
+ export type MarketplaceTopUpAcquisitionMutationVariables = Exact<{
13722
+ appId: Scalars['BigInt']['input'];
13723
+ acquisitionId: Scalars['String']['input'];
13724
+ }>;
13725
+ export type MarketplaceTopUpAcquisitionMutation = {
13726
+ __typename?: 'Mutation';
13727
+ topUpPlayerCodeAcquisition: {
13728
+ __typename?: 'PlayerCodeAcquisition';
13729
+ acquisitionId: string;
13730
+ listingId: string;
13731
+ appId: string;
13732
+ mode: PlayerCodeAcquisitionMode;
13733
+ status: string;
13734
+ expiresAt: string | null;
13735
+ unitBudget: string | null;
13736
+ unitsConsumed: string;
13737
+ acquiredAt: string;
13738
+ };
13739
+ };
13740
+ export type MarketplaceRefundAcquisitionMutationVariables = Exact<{
13741
+ appId: Scalars['BigInt']['input'];
13742
+ acquisitionId: Scalars['String']['input'];
13743
+ }>;
13744
+ export type MarketplaceRefundAcquisitionMutation = {
13745
+ __typename?: 'Mutation';
13746
+ refundPlayerCodeAcquisition: number;
13747
+ };
13748
+ export type MarketplaceGridListingsQueryVariables = Exact<{
13749
+ appId: Scalars['BigInt']['input'];
13750
+ }>;
13751
+ export type MarketplaceGridListingsQuery = {
13752
+ __typename?: 'Query';
13753
+ gridListings: Array<{
13754
+ __typename?: 'GridListing';
13755
+ gridListingId: string;
13756
+ appId: string;
13757
+ kind: string;
13758
+ name: string;
13759
+ description: string;
13760
+ priceCents: number;
13761
+ conferredPermissionKeys: Array<string>;
13762
+ resalePolicy: string;
13763
+ }>;
13764
+ };
13765
+ export type MarketplacePurchaseGridMutationVariables = Exact<{
13766
+ appId: Scalars['BigInt']['input'];
13767
+ gridListingId: Scalars['String']['input'];
13768
+ chunkX?: InputMaybe<Scalars['Int']['input']>;
13769
+ chunkY?: InputMaybe<Scalars['Int']['input']>;
13770
+ chunkZ?: InputMaybe<Scalars['Int']['input']>;
13771
+ }>;
13772
+ export type MarketplacePurchaseGridMutation = {
13773
+ __typename?: 'Mutation';
13774
+ purchaseGrid: {
13775
+ __typename?: 'GridPurchaseResult';
13776
+ gridId: string;
13777
+ ownershipAssigned: boolean;
13778
+ };
13779
+ };
13780
+ export type MarketplaceSetListingPricingMutationVariables = Exact<{
13781
+ input: SetListingPricingInput;
13782
+ }>;
13783
+ export type MarketplaceSetListingPricingMutation = {
13784
+ __typename?: 'Mutation';
13785
+ setListingPricing: boolean;
13786
+ };
13787
+ export type MarketplaceSetOrgShareMutationVariables = Exact<{
13788
+ appId: Scalars['BigInt']['input'];
13789
+ bps: Scalars['Int']['input'];
13790
+ }>;
13791
+ export type MarketplaceSetOrgShareMutation = {
13792
+ __typename?: 'Mutation';
13793
+ setAppMarketplaceOrgShare: number;
13794
+ };
13795
+ export type MarketplaceBeginSellerOnboardingMutationVariables = Exact<{
13796
+ country: Scalars['String']['input'];
13797
+ }>;
13798
+ export type MarketplaceBeginSellerOnboardingMutation = {
13799
+ __typename?: 'Mutation';
13800
+ beginSellerOnboarding: {
13801
+ __typename?: 'SellerOnboardingLink';
13802
+ status: SellerOnboardingStatus;
13803
+ onboardingUrl: string | null;
13804
+ unavailableReason: string | null;
13805
+ };
13806
+ };
13807
+ export type MarketplaceBeginOrgSellerOnboardingMutationVariables = Exact<{
13808
+ orgId: Scalars['BigInt']['input'];
13809
+ country: Scalars['String']['input'];
13810
+ }>;
13811
+ export type MarketplaceBeginOrgSellerOnboardingMutation = {
13812
+ __typename?: 'Mutation';
13813
+ beginOrgSellerOnboarding: {
13814
+ __typename?: 'SellerOnboardingLink';
13815
+ status: SellerOnboardingStatus;
13816
+ onboardingUrl: string | null;
13817
+ unavailableReason: string | null;
13818
+ };
13819
+ };
13820
+ export type MarketplaceMySellerBalanceQueryVariables = Exact<{
13821
+ [key: string]: never;
13822
+ }>;
13823
+ export type MarketplaceMySellerBalanceQuery = {
13824
+ __typename?: 'Query';
13825
+ mySellerPayoutBalance: {
13826
+ __typename?: 'SellerPayoutBalance';
13827
+ partyKind: string;
13828
+ partyRef: string;
13829
+ pendingCents: number;
13830
+ payableCents: number;
13831
+ reservedCents: number;
13832
+ onboardingStatus: SellerOnboardingStatus;
13833
+ payoutsFrozen: boolean;
13834
+ };
13835
+ };
13836
+ export type MarketplaceRequestPayoutMutationVariables = Exact<{
13837
+ [key: string]: never;
13838
+ }>;
13839
+ export type MarketplaceRequestPayoutMutation = {
13840
+ __typename?: 'Mutation';
13841
+ requestSellerPayout: number;
13842
+ };
13843
+ export type MarketplaceSpendPayoutToWalletMutationVariables = Exact<{
13844
+ amountCents: Scalars['Int']['input'];
13845
+ }>;
13846
+ export type MarketplaceSpendPayoutToWalletMutation = {
13847
+ __typename?: 'Mutation';
13848
+ spendPayoutBalanceToWallet: number;
13849
+ };
13850
+ export type MarketplaceCommerceRiskQueueQueryVariables = Exact<{
13851
+ appId: Scalars['BigInt']['input'];
13852
+ }>;
13853
+ export type MarketplaceCommerceRiskQueueQuery = {
13854
+ __typename?: 'Query';
13855
+ commerceRiskQueue: Array<{
13856
+ __typename?: 'CommerceRiskFlag';
13857
+ flagId: string;
13858
+ appId: string;
13859
+ kind: string;
13860
+ orderId: string | null;
13861
+ subjectKind: string;
13862
+ subjectRef: string;
13863
+ detail: string | null;
13864
+ status: string;
13865
+ createdAt: string;
13866
+ }>;
13867
+ };
13868
+ export type MarketplaceDecideRiskFlagMutationVariables = Exact<{
13869
+ appId: Scalars['BigInt']['input'];
13870
+ flagId: Scalars['String']['input'];
13871
+ release: Scalars['Boolean']['input'];
13872
+ }>;
13873
+ export type MarketplaceDecideRiskFlagMutation = {
13874
+ __typename?: 'Mutation';
13875
+ decideCommerceRiskFlag: boolean;
13876
+ };
13877
+ export type MarketplaceCreateGridListingMutationVariables = Exact<{
13878
+ input: CreateGridListingInput;
13879
+ }>;
13880
+ export type MarketplaceCreateGridListingMutation = {
13881
+ __typename?: 'Mutation';
13882
+ createGridListing: {
13883
+ __typename?: 'GridListing';
13884
+ gridListingId: string;
13885
+ appId: string;
13886
+ kind: string;
13887
+ name: string;
13888
+ priceCents: number;
13889
+ resalePolicy: string;
13890
+ status: string;
13891
+ };
13892
+ };
13893
+ export type CreateOrgRoleMutationVariables = Exact<{
13894
+ input: CreateOrgRoleInput;
13895
+ }>;
13896
+ export type CreateOrgRoleMutation = {
13897
+ __typename?: 'Mutation';
13898
+ createOrgRole: {
13899
+ __typename?: 'OrgRole';
13900
+ orgRoleId: string;
13901
+ orgId: string;
13902
+ roleName: string;
13903
+ isSystem: boolean;
13904
+ permissions: Array<string>;
13905
+ description: string | null;
13906
+ };
13907
+ };
13908
+ export type CreateOrgTokenMutationVariables = Exact<{
13909
+ input: CreateOrgTokenInput;
13910
+ }>;
13911
+ export type CreateOrgTokenMutation = {
13912
+ __typename?: 'Mutation';
13913
+ createOrgToken: {
13914
+ __typename?: 'OrgTokenWithSecret';
13915
+ orgTokenId: string;
13916
+ orgId: string;
13917
+ token: string;
13918
+ label: string | null;
13919
+ isActive: boolean;
13920
+ expiresAt: string | null;
13921
+ createdAt: string;
13922
+ };
13923
+ };
13924
+ export type CreateOrganizationMutationVariables = Exact<{
13925
+ input: CreateOrganizationInput;
13926
+ }>;
13927
+ export type CreateOrganizationMutation = {
13928
+ __typename?: 'Mutation';
13929
+ createOrganization: {
13930
+ __typename?: 'Organization';
13931
+ orgId: string;
13932
+ name: string;
13933
+ slug: string;
13934
+ ownerUserId: string;
13935
+ status: string;
13936
+ createdAt: string;
13937
+ updatedAt: string;
13938
+ };
13939
+ };
13940
+ export type DeleteOrgRoleMutationVariables = Exact<{
13941
+ orgRoleId: Scalars['BigInt']['input'];
13942
+ }>;
13943
+ export type DeleteOrgRoleMutation = {
13944
+ __typename?: 'Mutation';
13945
+ deleteOrgRole: boolean;
13946
+ };
13947
+ export type InviteOrgMemberMutationVariables = Exact<{
13948
+ input: InviteOrgMemberInput;
13949
+ }>;
13950
+ export type InviteOrgMemberMutation = {
13951
+ __typename?: 'Mutation';
13952
+ inviteOrgMember: {
13953
+ __typename?: 'OrgMember';
13954
+ orgMemberId: string;
13955
+ orgId: string;
13956
+ userId: string;
13957
+ status: string;
13958
+ createdAt: string;
13959
+ updatedAt: string;
13960
+ };
13961
+ };
13962
+ export type MemberRolesQueryVariables = Exact<{
13963
+ orgMemberId: Scalars['BigInt']['input'];
13964
+ }>;
13965
+ export type MemberRolesQuery = {
13966
+ __typename?: 'Query';
13967
+ memberRoles: Array<{
13968
+ __typename?: 'OrgRole';
13969
+ orgRoleId: string;
13970
+ orgId: string;
13971
+ roleName: string;
13972
+ isSystem: boolean;
13973
+ permissions: Array<string>;
13974
+ description: string | null;
13975
+ }>;
13976
+ };
13977
+ export type MyOrganizationsQueryVariables = Exact<{
13978
+ [key: string]: never;
13979
+ }>;
13980
+ export type MyOrganizationsQuery = {
13981
+ __typename?: 'Query';
13982
+ myOrganizations: Array<{
13983
+ __typename?: 'OrgMembership';
13984
+ permissions: Array<string>;
13985
+ joinedAt: string;
13986
+ org: {
13987
+ __typename?: 'Organization';
13988
+ orgId: string;
13989
+ slug: string;
13990
+ name: string;
13991
+ ownerUserId: string;
13992
+ status: string;
13993
+ createdAt: string;
13994
+ updatedAt: string;
13995
+ };
13996
+ roles: Array<{
13997
+ __typename?: 'OrgRole';
13998
+ orgRoleId: string;
13999
+ orgId: string;
14000
+ roleName: string;
14001
+ isSystem: boolean;
14002
+ permissions: Array<string>;
14003
+ }>;
14004
+ }>;
14005
+ };
14006
+ export type OrgMembersQueryVariables = Exact<{
14007
+ orgId: Scalars['BigInt']['input'];
14008
+ }>;
14009
+ export type OrgMembersQuery = {
14010
+ __typename?: 'Query';
14011
+ orgMembers: Array<{
14012
+ __typename?: 'OrgMember';
14013
+ orgMemberId: string;
14014
+ orgId: string;
14015
+ userId: string;
14016
+ status: string;
14017
+ createdAt: string;
14018
+ updatedAt: string;
14019
+ }>;
14020
+ };
14021
+ export type OrgPermissionsQueryVariables = Exact<{
14022
+ [key: string]: never;
14023
+ }>;
14024
+ export type OrgPermissionsQuery = {
14025
+ __typename?: 'Query';
14026
+ orgPermissions: Array<{
14027
+ __typename?: 'OrgPermission';
14028
+ permissionKey: string;
14029
+ description: string | null;
14030
+ category: string | null;
11607
14031
  }>;
11608
14032
  };
11609
14033
  export type OrgRolesQueryVariables = Exact<{
@@ -12022,6 +14446,799 @@ export type PlatformConfigQuery = {
12022
14446
  freeAppsPerOrg: number;
12023
14447
  };
12024
14448
  };
14449
+ export type PlayerWasmModuleFieldsFragment = {
14450
+ __typename?: 'PlayerWasmModule';
14451
+ moduleId: string;
14452
+ appId: string;
14453
+ gridId: string;
14454
+ name: string;
14455
+ description: string | null;
14456
+ authorUserId: string | null;
14457
+ authorOrgId: string | null;
14458
+ enabled: boolean;
14459
+ draft: boolean;
14460
+ currentVersionId: string | null;
14461
+ circuitState: string;
14462
+ lastError: string | null;
14463
+ createdAt: string;
14464
+ updatedAt: string;
14465
+ };
14466
+ export type PlayerWasmModuleVersionFieldsFragment = {
14467
+ __typename?: 'PlayerWasmModuleVersion';
14468
+ versionId: string;
14469
+ moduleId: string;
14470
+ versionNo: number;
14471
+ target: PlayerComputeTarget;
14472
+ sourceFilesJson: string | null;
14473
+ openSource: boolean;
14474
+ compileStatus: string;
14475
+ compileLog: string | null;
14476
+ compiledSizeBytes: string | null;
14477
+ createdAt: string;
14478
+ };
14479
+ export type PlayerComputeDeployMutationVariables = Exact<{
14480
+ input: DeployPlayerComputeInput;
14481
+ }>;
14482
+ export type PlayerComputeDeployMutation = {
14483
+ __typename?: 'Mutation';
14484
+ playerComputeDeploy: {
14485
+ __typename?: 'PlayerWasmModuleVersion';
14486
+ versionId: string;
14487
+ moduleId: string;
14488
+ versionNo: number;
14489
+ target: PlayerComputeTarget;
14490
+ sourceFilesJson: string | null;
14491
+ openSource: boolean;
14492
+ compileStatus: string;
14493
+ compileLog: string | null;
14494
+ compiledSizeBytes: string | null;
14495
+ createdAt: string;
14496
+ };
14497
+ };
14498
+ export type PlayerComputeSetEnabledMutationVariables = Exact<{
14499
+ appId: Scalars['BigInt']['input'];
14500
+ gridId: Scalars['BigInt']['input'];
14501
+ name: Scalars['String']['input'];
14502
+ enabled: Scalars['Boolean']['input'];
14503
+ }>;
14504
+ export type PlayerComputeSetEnabledMutation = {
14505
+ __typename?: 'Mutation';
14506
+ playerComputeSetEnabled: {
14507
+ __typename?: 'PlayerWasmModule';
14508
+ moduleId: string;
14509
+ appId: string;
14510
+ gridId: string;
14511
+ name: string;
14512
+ description: string | null;
14513
+ authorUserId: string | null;
14514
+ authorOrgId: string | null;
14515
+ enabled: boolean;
14516
+ draft: boolean;
14517
+ currentVersionId: string | null;
14518
+ circuitState: string;
14519
+ lastError: string | null;
14520
+ createdAt: string;
14521
+ updatedAt: string;
14522
+ };
14523
+ };
14524
+ export type PlayerComputeMyModulesQueryVariables = Exact<{
14525
+ appId: Scalars['BigInt']['input'];
14526
+ }>;
14527
+ export type PlayerComputeMyModulesQuery = {
14528
+ __typename?: 'Query';
14529
+ playerComputeMyModules: Array<{
14530
+ __typename?: 'PlayerWasmModule';
14531
+ moduleId: string;
14532
+ appId: string;
14533
+ gridId: string;
14534
+ name: string;
14535
+ description: string | null;
14536
+ authorUserId: string | null;
14537
+ authorOrgId: string | null;
14538
+ enabled: boolean;
14539
+ draft: boolean;
14540
+ currentVersionId: string | null;
14541
+ circuitState: string;
14542
+ lastError: string | null;
14543
+ createdAt: string;
14544
+ updatedAt: string;
14545
+ }>;
14546
+ };
14547
+ export type PlayerComputeVersionsQueryVariables = Exact<{
14548
+ appId: Scalars['BigInt']['input'];
14549
+ gridId: Scalars['BigInt']['input'];
14550
+ name: Scalars['String']['input'];
14551
+ }>;
14552
+ export type PlayerComputeVersionsQuery = {
14553
+ __typename?: 'Query';
14554
+ playerComputeVersions: Array<{
14555
+ __typename?: 'PlayerWasmModuleVersion';
14556
+ versionId: string;
14557
+ moduleId: string;
14558
+ versionNo: number;
14559
+ target: PlayerComputeTarget;
14560
+ sourceFilesJson: string | null;
14561
+ openSource: boolean;
14562
+ compileStatus: string;
14563
+ compileLog: string | null;
14564
+ compiledSizeBytes: string | null;
14565
+ createdAt: string;
14566
+ }>;
14567
+ };
14568
+ export type PlayerComputeDeleteMutationVariables = Exact<{
14569
+ appId: Scalars['BigInt']['input'];
14570
+ gridId: Scalars['BigInt']['input'];
14571
+ name: Scalars['String']['input'];
14572
+ }>;
14573
+ export type PlayerComputeDeleteMutation = {
14574
+ __typename?: 'Mutation';
14575
+ playerComputeDelete: boolean;
14576
+ };
14577
+ export type PlayerComputeInvokeMutationVariables = Exact<{
14578
+ appId: Scalars['BigInt']['input'];
14579
+ gridId: Scalars['BigInt']['input'];
14580
+ moduleName: Scalars['String']['input'];
14581
+ exportName: Scalars['String']['input'];
14582
+ paramsJson?: InputMaybe<Scalars['String']['input']>;
14583
+ }>;
14584
+ export type PlayerComputeInvokeMutation = {
14585
+ __typename?: 'Mutation';
14586
+ playerComputeInvoke: {
14587
+ __typename?: 'PlayerComputeInvokeResult';
14588
+ resultBase64: string;
14589
+ resultJson: string | null;
14590
+ fuelUsed: string;
14591
+ durationUs: number;
14592
+ };
14593
+ };
14594
+ export type PlayerWasmModuleRunFieldsFragment = {
14595
+ __typename?: 'PlayerWasmModuleRun';
14596
+ runId: string;
14597
+ appId: string;
14598
+ gridId: string;
14599
+ moduleId: string;
14600
+ moduleName: string;
14601
+ executedAsUserId: string;
14602
+ flowId: string | null;
14603
+ triggerSource: string;
14604
+ startedAt: string;
14605
+ durationUs: number;
14606
+ fuelUsed: string;
14607
+ success: boolean;
14608
+ errorMessage: string | null;
14609
+ };
14610
+ export type PlayerComputeUsageQueryVariables = Exact<{
14611
+ appId: Scalars['BigInt']['input'];
14612
+ }>;
14613
+ export type PlayerComputeUsageQuery = {
14614
+ __typename?: 'Query';
14615
+ playerComputeUsage: {
14616
+ __typename?: 'PlayerComputeUsage';
14617
+ appId: string;
14618
+ hourUnitsUsed: string;
14619
+ dayUnitsUsed: string;
14620
+ unitsPerHour: string | null;
14621
+ unitsPerDay: string | null;
14622
+ compilesThisHour: number;
14623
+ maxCompilesPerHour: number;
14624
+ gateStatus: string;
14625
+ gateReason: string | null;
14626
+ };
14627
+ };
14628
+ export type PlayerComputeRunsQueryVariables = Exact<{
14629
+ appId: Scalars['BigInt']['input'];
14630
+ gridId: Scalars['BigInt']['input'];
14631
+ moduleName?: InputMaybe<Scalars['String']['input']>;
14632
+ success?: InputMaybe<Scalars['Boolean']['input']>;
14633
+ limit?: InputMaybe<Scalars['Int']['input']>;
14634
+ offset?: InputMaybe<Scalars['Int']['input']>;
14635
+ }>;
14636
+ export type PlayerComputeRunsQuery = {
14637
+ __typename?: 'Query';
14638
+ playerComputeRuns: Array<{
14639
+ __typename?: 'PlayerWasmModuleRun';
14640
+ runId: string;
14641
+ appId: string;
14642
+ gridId: string;
14643
+ moduleId: string;
14644
+ moduleName: string;
14645
+ executedAsUserId: string;
14646
+ flowId: string | null;
14647
+ triggerSource: string;
14648
+ startedAt: string;
14649
+ durationUs: number;
14650
+ fuelUsed: string;
14651
+ success: boolean;
14652
+ errorMessage: string | null;
14653
+ }>;
14654
+ };
14655
+ export type PlayerComputeLogsQueryVariables = Exact<{
14656
+ appId: Scalars['BigInt']['input'];
14657
+ gridId: Scalars['BigInt']['input'];
14658
+ moduleName?: InputMaybe<Scalars['String']['input']>;
14659
+ limit?: InputMaybe<Scalars['Int']['input']>;
14660
+ }>;
14661
+ export type PlayerComputeLogsQuery = {
14662
+ __typename?: 'Query';
14663
+ playerComputeLogs: Array<{
14664
+ __typename?: 'PlayerWasmModuleRun';
14665
+ runId: string;
14666
+ appId: string;
14667
+ gridId: string;
14668
+ moduleId: string;
14669
+ moduleName: string;
14670
+ executedAsUserId: string;
14671
+ flowId: string | null;
14672
+ triggerSource: string;
14673
+ startedAt: string;
14674
+ durationUs: number;
14675
+ fuelUsed: string;
14676
+ success: boolean;
14677
+ errorMessage: string | null;
14678
+ }>;
14679
+ };
14680
+ export type PlayerComputeSetSwitchMutationVariables = Exact<{
14681
+ appId: Scalars['BigInt']['input'];
14682
+ scope: Scalars['String']['input'];
14683
+ disabled: Scalars['Boolean']['input'];
14684
+ scopeRef?: InputMaybe<Scalars['BigInt']['input']>;
14685
+ reason?: InputMaybe<Scalars['String']['input']>;
14686
+ listingRef?: InputMaybe<Scalars['String']['input']>;
14687
+ }>;
14688
+ export type PlayerComputeSetSwitchMutation = {
14689
+ __typename?: 'Mutation';
14690
+ playerComputeSetSwitch: boolean;
14691
+ };
14692
+ export type PlayerComputeSwitchesQueryVariables = Exact<{
14693
+ appId: Scalars['BigInt']['input'];
14694
+ }>;
14695
+ export type PlayerComputeSwitchesQuery = {
14696
+ __typename?: 'Query';
14697
+ playerComputeSwitches: Array<{
14698
+ __typename?: 'PlayerComputeSwitch';
14699
+ switchId: string;
14700
+ appId: string;
14701
+ scope: string;
14702
+ scopeRef: string | null;
14703
+ listingRef: string | null;
14704
+ reason: string | null;
14705
+ disabledAt: string;
14706
+ }>;
14707
+ };
14708
+ export type PlayerComputeArtifactQueryVariables = Exact<{
14709
+ appId: Scalars['BigInt']['input'];
14710
+ gridId: Scalars['BigInt']['input'];
14711
+ name: Scalars['String']['input'];
14712
+ versionId?: InputMaybe<Scalars['String']['input']>;
14713
+ }>;
14714
+ export type PlayerComputeArtifactQuery = {
14715
+ __typename?: 'Query';
14716
+ playerComputeArtifact: {
14717
+ __typename?: 'PlayerClientArtifact';
14718
+ versionId: string;
14719
+ artifactHash: string;
14720
+ artifactBase64: string;
14721
+ sizeBytes: number;
14722
+ abiVersion: number;
14723
+ contractJson: string | null;
14724
+ clientFuelPerDispatch: string;
14725
+ };
14726
+ };
14727
+ export type PlayerModelContainersQueryVariables = Exact<{
14728
+ appId: Scalars['BigInt']['input'];
14729
+ gridId: Scalars['BigInt']['input'];
14730
+ }>;
14731
+ export type PlayerModelContainersQuery = {
14732
+ __typename?: 'Query';
14733
+ playerModelContainers: Array<{
14734
+ __typename?: 'PlayerModelContainer';
14735
+ containerId: string;
14736
+ appId: string;
14737
+ gridId: string;
14738
+ ownerUserId: string;
14739
+ typeKey: string;
14740
+ displayName: string | null;
14741
+ stateJson: string;
14742
+ propertiesJson: string;
14743
+ createdAt: string;
14744
+ updatedAt: string;
14745
+ }>;
14746
+ };
14747
+ export type PlayerModelContainerQueryVariables = Exact<{
14748
+ input: PlayerModelContainerRefInput;
14749
+ }>;
14750
+ export type PlayerModelContainerQuery = {
14751
+ __typename?: 'Query';
14752
+ playerModelContainer: {
14753
+ __typename?: 'PlayerModelContainer';
14754
+ containerId: string;
14755
+ appId: string;
14756
+ gridId: string;
14757
+ ownerUserId: string;
14758
+ typeKey: string;
14759
+ displayName: string | null;
14760
+ stateJson: string;
14761
+ propertiesJson: string;
14762
+ createdAt: string;
14763
+ updatedAt: string;
14764
+ } | null;
14765
+ };
14766
+ export type PlayerModelCreateContainerMutationVariables = Exact<{
14767
+ input: CreatePlayerModelContainerInput;
14768
+ }>;
14769
+ export type PlayerModelCreateContainerMutation = {
14770
+ __typename?: 'Mutation';
14771
+ playerModelCreateContainer: {
14772
+ __typename?: 'PlayerModelContainer';
14773
+ containerId: string;
14774
+ appId: string;
14775
+ gridId: string;
14776
+ ownerUserId: string;
14777
+ typeKey: string;
14778
+ displayName: string | null;
14779
+ stateJson: string;
14780
+ propertiesJson: string;
14781
+ createdAt: string;
14782
+ updatedAt: string;
14783
+ };
14784
+ };
14785
+ export type PlayerModelSetPropertyMutationVariables = Exact<{
14786
+ input: SetPlayerModelPropertyInput;
14787
+ }>;
14788
+ export type PlayerModelSetPropertyMutation = {
14789
+ __typename?: 'Mutation';
14790
+ playerModelSetProperty: {
14791
+ __typename?: 'PlayerModelContainer';
14792
+ containerId: string;
14793
+ appId: string;
14794
+ gridId: string;
14795
+ ownerUserId: string;
14796
+ typeKey: string;
14797
+ displayName: string | null;
14798
+ stateJson: string;
14799
+ propertiesJson: string;
14800
+ createdAt: string;
14801
+ updatedAt: string;
14802
+ };
14803
+ };
14804
+ export type PlayerModelDeleteContainerMutationVariables = Exact<{
14805
+ input: PlayerModelContainerRefInput;
14806
+ }>;
14807
+ export type PlayerModelDeleteContainerMutation = {
14808
+ __typename?: 'Mutation';
14809
+ playerModelDeleteContainer: boolean;
14810
+ };
14811
+ export type PlayerAutomationsQueryVariables = Exact<{
14812
+ appId: Scalars['BigInt']['input'];
14813
+ gridId: Scalars['BigInt']['input'];
14814
+ }>;
14815
+ export type PlayerAutomationsQuery = {
14816
+ __typename?: 'Query';
14817
+ playerAutomations: Array<{
14818
+ __typename?: 'PlayerAutomation';
14819
+ automationId: string;
14820
+ appId: string;
14821
+ gridId: string;
14822
+ ownerUserId: string;
14823
+ name: string;
14824
+ description: string | null;
14825
+ enabled: boolean;
14826
+ triggerJson: string;
14827
+ actionJson: string;
14828
+ maxRunsPerMinute: number;
14829
+ failureThreshold: number;
14830
+ cooldownMs: number;
14831
+ circuitState: string;
14832
+ consecutiveFailures: number;
14833
+ pausedUntil: string | null;
14834
+ lastError: string | null;
14835
+ lastRunAt: string | null;
14836
+ nextRunAt: string | null;
14837
+ createdAt: string;
14838
+ updatedAt: string;
14839
+ }>;
14840
+ };
14841
+ export type PlayerAutomationCreateMutationVariables = Exact<{
14842
+ input: CreatePlayerAutomationInput;
14843
+ }>;
14844
+ export type PlayerAutomationCreateMutation = {
14845
+ __typename?: 'Mutation';
14846
+ playerAutomationCreate: {
14847
+ __typename?: 'PlayerAutomation';
14848
+ automationId: string;
14849
+ appId: string;
14850
+ gridId: string;
14851
+ ownerUserId: string;
14852
+ name: string;
14853
+ description: string | null;
14854
+ enabled: boolean;
14855
+ triggerJson: string;
14856
+ actionJson: string;
14857
+ maxRunsPerMinute: number;
14858
+ failureThreshold: number;
14859
+ cooldownMs: number;
14860
+ circuitState: string;
14861
+ consecutiveFailures: number;
14862
+ pausedUntil: string | null;
14863
+ lastError: string | null;
14864
+ lastRunAt: string | null;
14865
+ nextRunAt: string | null;
14866
+ createdAt: string;
14867
+ updatedAt: string;
14868
+ };
14869
+ };
14870
+ export type PlayerAutomationSetEnabledMutationVariables = Exact<{
14871
+ input: SetPlayerAutomationEnabledInput;
14872
+ }>;
14873
+ export type PlayerAutomationSetEnabledMutation = {
14874
+ __typename?: 'Mutation';
14875
+ playerAutomationSetEnabled: {
14876
+ __typename?: 'PlayerAutomation';
14877
+ automationId: string;
14878
+ appId: string;
14879
+ gridId: string;
14880
+ ownerUserId: string;
14881
+ name: string;
14882
+ description: string | null;
14883
+ enabled: boolean;
14884
+ triggerJson: string;
14885
+ actionJson: string;
14886
+ maxRunsPerMinute: number;
14887
+ failureThreshold: number;
14888
+ cooldownMs: number;
14889
+ circuitState: string;
14890
+ consecutiveFailures: number;
14891
+ pausedUntil: string | null;
14892
+ lastError: string | null;
14893
+ lastRunAt: string | null;
14894
+ nextRunAt: string | null;
14895
+ createdAt: string;
14896
+ updatedAt: string;
14897
+ };
14898
+ };
14899
+ export type PlayerAutomationDeleteMutationVariables = Exact<{
14900
+ input: PlayerAutomationRefInput;
14901
+ }>;
14902
+ export type PlayerAutomationDeleteMutation = {
14903
+ __typename?: 'Mutation';
14904
+ playerAutomationDelete: boolean;
14905
+ };
14906
+ export type PlayerWalletFieldsFragment = {
14907
+ __typename?: 'PlayerWallet';
14908
+ walletId: string;
14909
+ userId: string;
14910
+ balanceCents: string;
14911
+ currency: string;
14912
+ createdAt: string;
14913
+ };
14914
+ export type PlayerWalletTransactionFieldsFragment = {
14915
+ __typename?: 'PlayerWalletTransaction';
14916
+ transactionId: string;
14917
+ walletId: string;
14918
+ userId: string;
14919
+ amountCents: string;
14920
+ balanceAfter: string;
14921
+ transactionType: string;
14922
+ description: string | null;
14923
+ referenceId: string | null;
14924
+ appId: string | null;
14925
+ createdAt: string;
14926
+ };
14927
+ export type PlayerSpendCapFieldsFragment = {
14928
+ __typename?: 'PlayerSpendCap';
14929
+ userId: string;
14930
+ scope: string;
14931
+ scopeRef: string | null;
14932
+ dailyLimitCents: string | null;
14933
+ monthlyLimitCents: string | null;
14934
+ currentDayUsageCents: string;
14935
+ currentMonthUsageCents: string;
14936
+ };
14937
+ export type PlayerAutoBillingFieldsFragment = {
14938
+ __typename?: 'PlayerAutoBilling';
14939
+ userId: string;
14940
+ enabled: boolean;
14941
+ limitCents: string | null;
14942
+ autoBilledThisPeriodCents: string;
14943
+ rechargeAmountCents: string;
14944
+ lowWaterThresholdCents: string;
14945
+ hasPaymentMethod: boolean;
14946
+ lastError: string | null;
14947
+ };
14948
+ export type PlayerUsageChargeFieldsFragment = {
14949
+ __typename?: 'PlayerUsageCharge';
14950
+ chargeId: string;
14951
+ userId: string;
14952
+ appId: string;
14953
+ periodStart: string;
14954
+ periodEnd: string;
14955
+ amountCents: string;
14956
+ platformCents: string;
14957
+ markupCents: string;
14958
+ currency: string;
14959
+ usageSnapshotJson: string;
14960
+ createdAt: string;
14961
+ };
14962
+ export type PlayerWasmPolicyFieldsFragment = {
14963
+ __typename?: 'PlayerWasmPolicy';
14964
+ policyId: string;
14965
+ appId: string;
14966
+ scope: string;
14967
+ scopeRef: string | null;
14968
+ enabled: boolean;
14969
+ maxModulesPerGrid: number;
14970
+ maxModulesTotal: number;
14971
+ maxTickHz: number;
14972
+ fuelPerTick: string;
14973
+ fuelPerInvoke: string;
14974
+ maxMemoryMb: number;
14975
+ maxRunMs: number;
14976
+ maxDbOpsPerTick: number;
14977
+ maxEgressMsgsPerMin: number;
14978
+ maxEgressBytesPerMin: string;
14979
+ unitsPerHour: string | null;
14980
+ unitsPerDay: string | null;
14981
+ maxCompilesPerHour: number;
14982
+ maxContainerCreatesDay: number;
14983
+ clientFuelPerDispatch: string;
14984
+ };
14985
+ export type PlayerWalletBalanceQueryVariables = Exact<{
14986
+ [key: string]: never;
14987
+ }>;
14988
+ export type PlayerWalletBalanceQuery = {
14989
+ __typename?: 'Query';
14990
+ playerWalletBalance: {
14991
+ __typename?: 'PlayerWallet';
14992
+ walletId: string;
14993
+ userId: string;
14994
+ balanceCents: string;
14995
+ currency: string;
14996
+ createdAt: string;
14997
+ };
14998
+ };
14999
+ export type PlayerWalletTransactionsQueryVariables = Exact<{
15000
+ limit?: InputMaybe<Scalars['Int']['input']>;
15001
+ offset?: InputMaybe<Scalars['Int']['input']>;
15002
+ }>;
15003
+ export type PlayerWalletTransactionsQuery = {
15004
+ __typename?: 'Query';
15005
+ playerWalletTransactions: Array<{
15006
+ __typename?: 'PlayerWalletTransaction';
15007
+ transactionId: string;
15008
+ walletId: string;
15009
+ userId: string;
15010
+ amountCents: string;
15011
+ balanceAfter: string;
15012
+ transactionType: string;
15013
+ description: string | null;
15014
+ referenceId: string | null;
15015
+ appId: string | null;
15016
+ createdAt: string;
15017
+ }>;
15018
+ };
15019
+ export type PlayerUsageChargesQueryVariables = Exact<{
15020
+ appId?: InputMaybe<Scalars['BigInt']['input']>;
15021
+ limit?: InputMaybe<Scalars['Int']['input']>;
15022
+ }>;
15023
+ export type PlayerUsageChargesQuery = {
15024
+ __typename?: 'Query';
15025
+ playerUsageCharges: Array<{
15026
+ __typename?: 'PlayerUsageCharge';
15027
+ chargeId: string;
15028
+ userId: string;
15029
+ appId: string;
15030
+ periodStart: string;
15031
+ periodEnd: string;
15032
+ amountCents: string;
15033
+ platformCents: string;
15034
+ markupCents: string;
15035
+ currency: string;
15036
+ usageSnapshotJson: string;
15037
+ createdAt: string;
15038
+ }>;
15039
+ };
15040
+ export type PlayerSpendCapsQueryVariables = Exact<{
15041
+ [key: string]: never;
15042
+ }>;
15043
+ export type PlayerSpendCapsQuery = {
15044
+ __typename?: 'Query';
15045
+ playerSpendCaps: Array<{
15046
+ __typename?: 'PlayerSpendCap';
15047
+ userId: string;
15048
+ scope: string;
15049
+ scopeRef: string | null;
15050
+ dailyLimitCents: string | null;
15051
+ monthlyLimitCents: string | null;
15052
+ currentDayUsageCents: string;
15053
+ currentMonthUsageCents: string;
15054
+ }>;
15055
+ };
15056
+ export type SetPlayerSpendCapMutationVariables = Exact<{
15057
+ scope: Scalars['String']['input'];
15058
+ appId?: InputMaybe<Scalars['BigInt']['input']>;
15059
+ dailyLimitCents?: InputMaybe<Scalars['BigInt']['input']>;
15060
+ monthlyLimitCents?: InputMaybe<Scalars['BigInt']['input']>;
15061
+ }>;
15062
+ export type SetPlayerSpendCapMutation = {
15063
+ __typename?: 'Mutation';
15064
+ setPlayerSpendCap: Array<{
15065
+ __typename?: 'PlayerSpendCap';
15066
+ userId: string;
15067
+ scope: string;
15068
+ scopeRef: string | null;
15069
+ dailyLimitCents: string | null;
15070
+ monthlyLimitCents: string | null;
15071
+ currentDayUsageCents: string;
15072
+ currentMonthUsageCents: string;
15073
+ }>;
15074
+ };
15075
+ export type PlayerAutoBillingQueryVariables = Exact<{
15076
+ [key: string]: never;
15077
+ }>;
15078
+ export type PlayerAutoBillingQuery = {
15079
+ __typename?: 'Query';
15080
+ playerAutoBilling: {
15081
+ __typename?: 'PlayerAutoBilling';
15082
+ userId: string;
15083
+ enabled: boolean;
15084
+ limitCents: string | null;
15085
+ autoBilledThisPeriodCents: string;
15086
+ rechargeAmountCents: string;
15087
+ lowWaterThresholdCents: string;
15088
+ hasPaymentMethod: boolean;
15089
+ lastError: string | null;
15090
+ };
15091
+ };
15092
+ export type BeginPlayerCardSetupMutationVariables = Exact<{
15093
+ [key: string]: never;
15094
+ }>;
15095
+ export type BeginPlayerCardSetupMutation = {
15096
+ __typename?: 'Mutation';
15097
+ beginPlayerCardSetup: {
15098
+ __typename?: 'PlayerCardSetup';
15099
+ clientSecret: string | null;
15100
+ publishableKey: string | null;
15101
+ externalCustomerId: string;
15102
+ };
15103
+ };
15104
+ export type SetPlayerAutoBillingMutationVariables = Exact<{
15105
+ enabled: Scalars['Boolean']['input'];
15106
+ limitCents?: InputMaybe<Scalars['BigInt']['input']>;
15107
+ rechargeAmountCents?: InputMaybe<Scalars['BigInt']['input']>;
15108
+ lowWaterThresholdCents?: InputMaybe<Scalars['BigInt']['input']>;
15109
+ }>;
15110
+ export type SetPlayerAutoBillingMutation = {
15111
+ __typename?: 'Mutation';
15112
+ setPlayerAutoBilling: {
15113
+ __typename?: 'PlayerAutoBilling';
15114
+ userId: string;
15115
+ enabled: boolean;
15116
+ limitCents: string | null;
15117
+ autoBilledThisPeriodCents: string;
15118
+ rechargeAmountCents: string;
15119
+ lowWaterThresholdCents: string;
15120
+ hasPaymentMethod: boolean;
15121
+ lastError: string | null;
15122
+ };
15123
+ };
15124
+ export type PlayerRuntimeStatesQueryVariables = Exact<{
15125
+ [key: string]: never;
15126
+ }>;
15127
+ export type PlayerRuntimeStatesQuery = {
15128
+ __typename?: 'Query';
15129
+ playerRuntimeStates: Array<{
15130
+ __typename?: 'PlayerRuntimeState';
15131
+ userId: string;
15132
+ appId: string;
15133
+ status: string;
15134
+ reason: string | null;
15135
+ updatedAt: string;
15136
+ }>;
15137
+ };
15138
+ export type PlayerWasmPoliciesQueryVariables = Exact<{
15139
+ appId: Scalars['BigInt']['input'];
15140
+ }>;
15141
+ export type PlayerWasmPoliciesQuery = {
15142
+ __typename?: 'Query';
15143
+ playerWasmPolicies: Array<{
15144
+ __typename?: 'PlayerWasmPolicy';
15145
+ policyId: string;
15146
+ appId: string;
15147
+ scope: string;
15148
+ scopeRef: string | null;
15149
+ enabled: boolean;
15150
+ maxModulesPerGrid: number;
15151
+ maxModulesTotal: number;
15152
+ maxTickHz: number;
15153
+ fuelPerTick: string;
15154
+ fuelPerInvoke: string;
15155
+ maxMemoryMb: number;
15156
+ maxRunMs: number;
15157
+ maxDbOpsPerTick: number;
15158
+ maxEgressMsgsPerMin: number;
15159
+ maxEgressBytesPerMin: string;
15160
+ unitsPerHour: string | null;
15161
+ unitsPerDay: string | null;
15162
+ maxCompilesPerHour: number;
15163
+ maxContainerCreatesDay: number;
15164
+ clientFuelPerDispatch: string;
15165
+ }>;
15166
+ };
15167
+ export type SetPlayerWasmPolicyMutationVariables = Exact<{
15168
+ input: SetPlayerWasmPolicyInput;
15169
+ }>;
15170
+ export type SetPlayerWasmPolicyMutation = {
15171
+ __typename?: 'Mutation';
15172
+ setPlayerWasmPolicy: {
15173
+ __typename?: 'PlayerWasmPolicy';
15174
+ policyId: string;
15175
+ appId: string;
15176
+ scope: string;
15177
+ scopeRef: string | null;
15178
+ enabled: boolean;
15179
+ maxModulesPerGrid: number;
15180
+ maxModulesTotal: number;
15181
+ maxTickHz: number;
15182
+ fuelPerTick: string;
15183
+ fuelPerInvoke: string;
15184
+ maxMemoryMb: number;
15185
+ maxRunMs: number;
15186
+ maxDbOpsPerTick: number;
15187
+ maxEgressMsgsPerMin: number;
15188
+ maxEgressBytesPerMin: string;
15189
+ unitsPerHour: string | null;
15190
+ unitsPerDay: string | null;
15191
+ maxCompilesPerHour: number;
15192
+ maxContainerCreatesDay: number;
15193
+ clientFuelPerDispatch: string;
15194
+ };
15195
+ };
15196
+ export type DeletePlayerWasmPolicyMutationVariables = Exact<{
15197
+ appId: Scalars['BigInt']['input'];
15198
+ scope: Scalars['String']['input'];
15199
+ scopeRef?: InputMaybe<Scalars['BigInt']['input']>;
15200
+ }>;
15201
+ export type DeletePlayerWasmPolicyMutation = {
15202
+ __typename?: 'Mutation';
15203
+ deletePlayerWasmPolicy: boolean;
15204
+ };
15205
+ export type PlayerRateMarkupQueryVariables = Exact<{
15206
+ appId: Scalars['BigInt']['input'];
15207
+ }>;
15208
+ export type PlayerRateMarkupQuery = {
15209
+ __typename?: 'Query';
15210
+ playerRateMarkup: number;
15211
+ };
15212
+ export type SetPlayerRateMarkupMutationVariables = Exact<{
15213
+ appId: Scalars['BigInt']['input'];
15214
+ markupBps: Scalars['Int']['input'];
15215
+ }>;
15216
+ export type SetPlayerRateMarkupMutation = {
15217
+ __typename?: 'Mutation';
15218
+ setPlayerRateMarkup: number;
15219
+ };
15220
+ export type AppPlayerUsageQueryVariables = Exact<{
15221
+ appId: Scalars['BigInt']['input'];
15222
+ hours?: InputMaybe<Scalars['Int']['input']>;
15223
+ }>;
15224
+ export type AppPlayerUsageQuery = {
15225
+ __typename?: 'Query';
15226
+ appPlayerUsage: Array<{
15227
+ __typename?: 'AppPlayerUsageRow';
15228
+ userId: string;
15229
+ computeUnits: string;
15230
+ automationUnits: string;
15231
+ compileCount: number;
15232
+ chargedCents: string;
15233
+ }>;
15234
+ };
15235
+ export type AppPlayerMarkupAccruedQueryVariables = Exact<{
15236
+ appId: Scalars['BigInt']['input'];
15237
+ }>;
15238
+ export type AppPlayerMarkupAccruedQuery = {
15239
+ __typename?: 'Query';
15240
+ appPlayerMarkupAccrued: string;
15241
+ };
12025
15242
  export type DeleteQuotaMutationVariables = Exact<{
12026
15243
  quotaId: Scalars['BigInt']['input'];
12027
15244
  }>;
@@ -13594,11 +16811,13 @@ export type VoxelUpdateHistoryConnectionQuery = {
13594
16811
  };
13595
16812
  };
13596
16813
  };
16814
+ export declare const AppCodeAdmissionFieldsFragmentDoc: DocumentNode<AppCodeAdmissionFieldsFragment, unknown>;
13597
16815
  export declare const ComputeModuleFieldsFragmentDoc: DocumentNode<ComputeModuleFieldsFragment, unknown>;
13598
16816
  export declare const ComputeVersionFieldsFragmentDoc: DocumentNode<ComputeVersionFieldsFragment, unknown>;
13599
16817
  export declare const ComputeTriggerFieldsFragmentDoc: DocumentNode<ComputeTriggerFieldsFragment, unknown>;
13600
16818
  export declare const ComputePolicyFieldsFragmentDoc: DocumentNode<ComputePolicyFieldsFragment, unknown>;
13601
16819
  export declare const ComputeRunFieldsFragmentDoc: DocumentNode<ComputeRunFieldsFragment, unknown>;
16820
+ export declare const GridOwnershipFieldsFragmentDoc: DocumentNode<GridOwnershipFieldsFragment, unknown>;
13602
16821
  export declare const GmAutomationFieldsFragmentDoc: DocumentNode<GmAutomationFieldsFragment, unknown>;
13603
16822
  export declare const GmAutomationTriggerFieldsFragmentDoc: DocumentNode<GmAutomationTriggerFieldsFragment, unknown>;
13604
16823
  export declare const GmAutomationPolicyFieldsFragmentDoc: DocumentNode<GmAutomationPolicyFieldsFragment, unknown>;
@@ -13608,6 +16827,20 @@ export declare const GmContainerFieldsFragmentDoc: DocumentNode<GmContainerField
13608
16827
  export declare const GmInvokeResultFieldsFragmentDoc: DocumentNode<GmInvokeResultFieldsFragment, unknown>;
13609
16828
  export declare const GmFunctionFieldsFragmentDoc: DocumentNode<GmFunctionFieldsFragment, unknown>;
13610
16829
  export declare const GmPropertyDefFieldsFragmentDoc: DocumentNode<GmPropertyDefFieldsFragment, unknown>;
16830
+ export declare const PlayerCodeListingFieldsFragmentDoc: DocumentNode<PlayerCodeListingFieldsFragment, unknown>;
16831
+ export declare const PlayerCodeListingVersionFieldsFragmentDoc: DocumentNode<PlayerCodeListingVersionFieldsFragment, unknown>;
16832
+ export declare const PlayerCodeAcquisitionFieldsFragmentDoc: DocumentNode<PlayerCodeAcquisitionFieldsFragment, unknown>;
16833
+ export declare const PlayerCodeInstallFieldsFragmentDoc: DocumentNode<PlayerCodeInstallFieldsFragment, unknown>;
16834
+ export declare const GridClaimRequestFieldsFragmentDoc: DocumentNode<GridClaimRequestFieldsFragment, unknown>;
16835
+ export declare const PlayerWasmModuleFieldsFragmentDoc: DocumentNode<PlayerWasmModuleFieldsFragment, unknown>;
16836
+ export declare const PlayerWasmModuleVersionFieldsFragmentDoc: DocumentNode<PlayerWasmModuleVersionFieldsFragment, unknown>;
16837
+ export declare const PlayerWasmModuleRunFieldsFragmentDoc: DocumentNode<PlayerWasmModuleRunFieldsFragment, unknown>;
16838
+ export declare const PlayerWalletFieldsFragmentDoc: DocumentNode<PlayerWalletFieldsFragment, unknown>;
16839
+ export declare const PlayerWalletTransactionFieldsFragmentDoc: DocumentNode<PlayerWalletTransactionFieldsFragment, unknown>;
16840
+ export declare const PlayerSpendCapFieldsFragmentDoc: DocumentNode<PlayerSpendCapFieldsFragment, unknown>;
16841
+ export declare const PlayerAutoBillingFieldsFragmentDoc: DocumentNode<PlayerAutoBillingFieldsFragment, unknown>;
16842
+ export declare const PlayerUsageChargeFieldsFragmentDoc: DocumentNode<PlayerUsageChargeFieldsFragment, unknown>;
16843
+ export declare const PlayerWasmPolicyFieldsFragmentDoc: DocumentNode<PlayerWasmPolicyFieldsFragment, unknown>;
13611
16844
  export declare const ActorDocument: DocumentNode<ActorQuery, ActorQueryVariables>;
13612
16845
  export declare const ActorsDocument: DocumentNode<ActorsQuery, ActorsQueryVariables>;
13613
16846
  export declare const ActorsConnectionDocument: DocumentNode<ActorsConnectionQuery, ActorsConnectionQueryVariables>;
@@ -13633,6 +16866,11 @@ export declare const AppDocument: DocumentNode<AppQuery, AppQueryVariables>;
13633
16866
  export declare const AppBySlugDocument: DocumentNode<AppBySlugQuery, AppBySlugQueryVariables>;
13634
16867
  export declare const AppsForOrgDocument: DocumentNode<AppsForOrgQuery, AppsForOrgQueryVariables>;
13635
16868
  export declare const ArchiveAppDocument: DocumentNode<ArchiveAppMutation, ArchiveAppMutationVariables>;
16869
+ export declare const AppCodeAdmissionModeDocument: DocumentNode<AppCodeAdmissionModeQuery, AppCodeAdmissionModeQueryVariables>;
16870
+ export declare const AppCodeAdmissionsDocument: DocumentNode<AppCodeAdmissionsQuery, AppCodeAdmissionsQueryVariables>;
16871
+ export declare const SetAppCodeAdmissionModeDocument: DocumentNode<SetAppCodeAdmissionModeMutation, SetAppCodeAdmissionModeMutationVariables>;
16872
+ export declare const AdmitAppCodeDocument: DocumentNode<AdmitAppCodeMutation, AdmitAppCodeMutationVariables>;
16873
+ export declare const RevokeAppCodeAdmissionDocument: DocumentNode<RevokeAppCodeAdmissionMutation, RevokeAppCodeAdmissionMutationVariables>;
13636
16874
  export declare const CreateAppDocument: DocumentNode<CreateAppMutation, CreateAppMutationVariables>;
13637
16875
  export declare const MarketplaceAppsDocument: DocumentNode<MarketplaceAppsQuery, MarketplaceAppsQueryVariables>;
13638
16876
  export declare const AppsConnectionDocument: DocumentNode<AppsConnectionQuery, AppsConnectionQueryVariables>;
@@ -13732,6 +16970,7 @@ export declare const EnvironmentDatacentersDocument: DocumentNode<EnvironmentDat
13732
16970
  export declare const EnvironmentFlavorsDocument: DocumentNode<EnvironmentFlavorsQuery, EnvironmentFlavorsQueryVariables>;
13733
16971
  export declare const EnvironmentForwardVersionsDocument: DocumentNode<EnvironmentForwardVersionsQuery, EnvironmentForwardVersionsQueryVariables>;
13734
16972
  export declare const EnvironmentQuoteDocument: DocumentNode<EnvironmentQuoteQuery, EnvironmentQuoteQueryVariables>;
16973
+ export declare const EnvironmentRedeployPlanDocument: DocumentNode<EnvironmentRedeployPlanQuery, EnvironmentRedeployPlanQueryVariables>;
13735
16974
  export declare const EnvironmentVersionsDocument: DocumentNode<EnvironmentVersionsQuery, EnvironmentVersionsQueryVariables>;
13736
16975
  export declare const LinkAppToEnvironmentDocument: DocumentNode<LinkAppToEnvironmentMutation, LinkAppToEnvironmentMutationVariables>;
13737
16976
  export declare const OrgEnvironmentDocument: DocumentNode<OrgEnvironmentQuery, OrgEnvironmentQueryVariables>;
@@ -13742,6 +16981,9 @@ export declare const RestartEnvironmentServicesDocument: DocumentNode<RestartEnv
13742
16981
  export declare const ResumeEnvironmentDocument: DocumentNode<ResumeEnvironmentMutation, ResumeEnvironmentMutationVariables>;
13743
16982
  export declare const UpdateEnvironmentBillingTiersDocument: DocumentNode<UpdateEnvironmentBillingTiersMutation, UpdateEnvironmentBillingTiersMutationVariables>;
13744
16983
  export declare const UpdateEnvironmentScalingDocument: DocumentNode<UpdateEnvironmentScalingMutation, UpdateEnvironmentScalingMutationVariables>;
16984
+ export declare const GridOwnershipDocument: DocumentNode<GridOwnershipQuery, GridOwnershipQueryVariables>;
16985
+ export declare const AssignGridOwnershipDocument: DocumentNode<AssignGridOwnershipMutation, AssignGridOwnershipMutationVariables>;
16986
+ export declare const TransferGridOwnershipDocument: DocumentNode<TransferGridOwnershipMutation, TransferGridOwnershipMutationVariables>;
13745
16987
  export declare const GridUserPermissionsDocument: DocumentNode<GridUserPermissionsQuery, GridUserPermissionsQueryVariables>;
13746
16988
  export declare const NearbyGridPermissionsDocument: DocumentNode<NearbyGridPermissionsQuery, NearbyGridPermissionsQueryVariables>;
13747
16989
  export declare const GridPermissionLimitsDocument: DocumentNode<GridPermissionLimitsQuery, GridPermissionLimitsQueryVariables>;
@@ -13808,6 +17050,44 @@ export declare const GameModelRevokeTierFeatureDocument: DocumentNode<GameModelR
13808
17050
  export declare const GameHostDocument: DocumentNode<GameHostQuery, GameHostQueryVariables>;
13809
17051
  export declare const AmIGameHostDocument: DocumentNode<AmIGameHostQuery, AmIGameHostQueryVariables>;
13810
17052
  export declare const ActorHeartbeatDocument: DocumentNode<ActorHeartbeatMutation, ActorHeartbeatMutationVariables>;
17053
+ export declare const MarketplaceListingsDocument: DocumentNode<MarketplaceListingsQuery, MarketplaceListingsQueryVariables>;
17054
+ export declare const MarketplaceListingVersionsDocument: DocumentNode<MarketplaceListingVersionsQuery, MarketplaceListingVersionsQueryVariables>;
17055
+ export declare const MarketplaceMyAcquisitionsDocument: DocumentNode<MarketplaceMyAcquisitionsQuery, MarketplaceMyAcquisitionsQueryVariables>;
17056
+ export declare const MarketplaceMyInstallsDocument: DocumentNode<MarketplaceMyInstallsQuery, MarketplaceMyInstallsQueryVariables>;
17057
+ export declare const MarketplaceGridClientModsDocument: DocumentNode<MarketplaceGridClientModsQuery, MarketplaceGridClientModsQueryVariables>;
17058
+ export declare const MarketplaceClientArtifactDocument: DocumentNode<MarketplaceClientArtifactQuery, MarketplaceClientArtifactQueryVariables>;
17059
+ export declare const MarketplacePublishListingDocument: DocumentNode<MarketplacePublishListingMutation, MarketplacePublishListingMutationVariables>;
17060
+ export declare const MarketplacePublishVersionDocument: DocumentNode<MarketplacePublishVersionMutation, MarketplacePublishVersionMutationVariables>;
17061
+ export declare const MarketplaceAcquireDocument: DocumentNode<MarketplaceAcquireMutation, MarketplaceAcquireMutationVariables>;
17062
+ export declare const MarketplaceInstallDocument: DocumentNode<MarketplaceInstallMutation, MarketplaceInstallMutationVariables>;
17063
+ export declare const MarketplaceUninstallDocument: DocumentNode<MarketplaceUninstallMutation, MarketplaceUninstallMutationVariables>;
17064
+ export declare const MarketplaceConsentGridClientModDocument: DocumentNode<MarketplaceConsentGridClientModMutation, MarketplaceConsentGridClientModMutationVariables>;
17065
+ export declare const MarketplaceGridClaimPolicyDocument: DocumentNode<MarketplaceGridClaimPolicyQuery, MarketplaceGridClaimPolicyQueryVariables>;
17066
+ export declare const MarketplaceGridClaimRequestsDocument: DocumentNode<MarketplaceGridClaimRequestsQuery, MarketplaceGridClaimRequestsQueryVariables>;
17067
+ export declare const MarketplaceClaimGridOwnershipDocument: DocumentNode<MarketplaceClaimGridOwnershipMutation, MarketplaceClaimGridOwnershipMutationVariables>;
17068
+ export declare const MarketplaceDecideGridClaimDocument: DocumentNode<MarketplaceDecideGridClaimMutation, MarketplaceDecideGridClaimMutationVariables>;
17069
+ export declare const MarketplaceIssueGridClaimInviteDocument: DocumentNode<MarketplaceIssueGridClaimInviteMutation, MarketplaceIssueGridClaimInviteMutationVariables>;
17070
+ export declare const MarketplaceAdmissionQueueDocument: DocumentNode<MarketplaceAdmissionQueueQuery, MarketplaceAdmissionQueueQueryVariables>;
17071
+ export declare const MarketplaceAppListingsDocument: DocumentNode<MarketplaceAppListingsQuery, MarketplaceAppListingsQueryVariables>;
17072
+ export declare const MarketplaceAppAcquisitionsDocument: DocumentNode<MarketplaceAppAcquisitionsQuery, MarketplaceAppAcquisitionsQueryVariables>;
17073
+ export declare const MarketplaceTransferListingDocument: DocumentNode<MarketplaceTransferListingMutation, MarketplaceTransferListingMutationVariables>;
17074
+ export declare const MarketplaceSetListingStatusDocument: DocumentNode<MarketplaceSetListingStatusMutation, MarketplaceSetListingStatusMutationVariables>;
17075
+ export declare const MarketplaceSetGridClaimPolicyDocument: DocumentNode<MarketplaceSetGridClaimPolicyMutation, MarketplaceSetGridClaimPolicyMutationVariables>;
17076
+ export declare const MarketplaceRenewAcquisitionDocument: DocumentNode<MarketplaceRenewAcquisitionMutation, MarketplaceRenewAcquisitionMutationVariables>;
17077
+ export declare const MarketplaceTopUpAcquisitionDocument: DocumentNode<MarketplaceTopUpAcquisitionMutation, MarketplaceTopUpAcquisitionMutationVariables>;
17078
+ export declare const MarketplaceRefundAcquisitionDocument: DocumentNode<MarketplaceRefundAcquisitionMutation, MarketplaceRefundAcquisitionMutationVariables>;
17079
+ export declare const MarketplaceGridListingsDocument: DocumentNode<MarketplaceGridListingsQuery, MarketplaceGridListingsQueryVariables>;
17080
+ export declare const MarketplacePurchaseGridDocument: DocumentNode<MarketplacePurchaseGridMutation, MarketplacePurchaseGridMutationVariables>;
17081
+ export declare const MarketplaceSetListingPricingDocument: DocumentNode<MarketplaceSetListingPricingMutation, MarketplaceSetListingPricingMutationVariables>;
17082
+ export declare const MarketplaceSetOrgShareDocument: DocumentNode<MarketplaceSetOrgShareMutation, MarketplaceSetOrgShareMutationVariables>;
17083
+ export declare const MarketplaceBeginSellerOnboardingDocument: DocumentNode<MarketplaceBeginSellerOnboardingMutation, MarketplaceBeginSellerOnboardingMutationVariables>;
17084
+ export declare const MarketplaceBeginOrgSellerOnboardingDocument: DocumentNode<MarketplaceBeginOrgSellerOnboardingMutation, MarketplaceBeginOrgSellerOnboardingMutationVariables>;
17085
+ export declare const MarketplaceMySellerBalanceDocument: DocumentNode<MarketplaceMySellerBalanceQuery, MarketplaceMySellerBalanceQueryVariables>;
17086
+ export declare const MarketplaceRequestPayoutDocument: DocumentNode<MarketplaceRequestPayoutMutation, MarketplaceRequestPayoutMutationVariables>;
17087
+ export declare const MarketplaceSpendPayoutToWalletDocument: DocumentNode<MarketplaceSpendPayoutToWalletMutation, MarketplaceSpendPayoutToWalletMutationVariables>;
17088
+ export declare const MarketplaceCommerceRiskQueueDocument: DocumentNode<MarketplaceCommerceRiskQueueQuery, MarketplaceCommerceRiskQueueQueryVariables>;
17089
+ export declare const MarketplaceDecideRiskFlagDocument: DocumentNode<MarketplaceDecideRiskFlagMutation, MarketplaceDecideRiskFlagMutationVariables>;
17090
+ export declare const MarketplaceCreateGridListingDocument: DocumentNode<MarketplaceCreateGridListingMutation, MarketplaceCreateGridListingMutationVariables>;
13811
17091
  export declare const CreateOrgRoleDocument: DocumentNode<CreateOrgRoleMutation, CreateOrgRoleMutationVariables>;
13812
17092
  export declare const CreateOrgTokenDocument: DocumentNode<CreateOrgTokenMutation, CreateOrgTokenMutationVariables>;
13813
17093
  export declare const CreateOrganizationDocument: DocumentNode<CreateOrganizationMutation, CreateOrganizationMutationVariables>;
@@ -13836,6 +17116,43 @@ export declare const MyCheckoutsConnectionDocument: DocumentNode<MyCheckoutsConn
13836
17116
  export declare const PaymentEventsDocument: DocumentNode<PaymentEventsQuery, PaymentEventsQueryVariables>;
13837
17117
  export declare const PaymentEventsConnectionDocument: DocumentNode<PaymentEventsConnectionQuery, PaymentEventsConnectionQueryVariables>;
13838
17118
  export declare const PlatformConfigDocument: DocumentNode<PlatformConfigQuery, PlatformConfigQueryVariables>;
17119
+ export declare const PlayerComputeDeployDocument: DocumentNode<PlayerComputeDeployMutation, PlayerComputeDeployMutationVariables>;
17120
+ export declare const PlayerComputeSetEnabledDocument: DocumentNode<PlayerComputeSetEnabledMutation, PlayerComputeSetEnabledMutationVariables>;
17121
+ export declare const PlayerComputeMyModulesDocument: DocumentNode<PlayerComputeMyModulesQuery, PlayerComputeMyModulesQueryVariables>;
17122
+ export declare const PlayerComputeVersionsDocument: DocumentNode<PlayerComputeVersionsQuery, PlayerComputeVersionsQueryVariables>;
17123
+ export declare const PlayerComputeDeleteDocument: DocumentNode<PlayerComputeDeleteMutation, PlayerComputeDeleteMutationVariables>;
17124
+ export declare const PlayerComputeInvokeDocument: DocumentNode<PlayerComputeInvokeMutation, PlayerComputeInvokeMutationVariables>;
17125
+ export declare const PlayerComputeUsageDocument: DocumentNode<PlayerComputeUsageQuery, PlayerComputeUsageQueryVariables>;
17126
+ export declare const PlayerComputeRunsDocument: DocumentNode<PlayerComputeRunsQuery, PlayerComputeRunsQueryVariables>;
17127
+ export declare const PlayerComputeLogsDocument: DocumentNode<PlayerComputeLogsQuery, PlayerComputeLogsQueryVariables>;
17128
+ export declare const PlayerComputeSetSwitchDocument: DocumentNode<PlayerComputeSetSwitchMutation, PlayerComputeSetSwitchMutationVariables>;
17129
+ export declare const PlayerComputeSwitchesDocument: DocumentNode<PlayerComputeSwitchesQuery, PlayerComputeSwitchesQueryVariables>;
17130
+ export declare const PlayerComputeArtifactDocument: DocumentNode<PlayerComputeArtifactQuery, PlayerComputeArtifactQueryVariables>;
17131
+ export declare const PlayerModelContainersDocument: DocumentNode<PlayerModelContainersQuery, PlayerModelContainersQueryVariables>;
17132
+ export declare const PlayerModelContainerDocument: DocumentNode<PlayerModelContainerQuery, PlayerModelContainerQueryVariables>;
17133
+ export declare const PlayerModelCreateContainerDocument: DocumentNode<PlayerModelCreateContainerMutation, PlayerModelCreateContainerMutationVariables>;
17134
+ export declare const PlayerModelSetPropertyDocument: DocumentNode<PlayerModelSetPropertyMutation, PlayerModelSetPropertyMutationVariables>;
17135
+ export declare const PlayerModelDeleteContainerDocument: DocumentNode<PlayerModelDeleteContainerMutation, PlayerModelDeleteContainerMutationVariables>;
17136
+ export declare const PlayerAutomationsDocument: DocumentNode<PlayerAutomationsQuery, PlayerAutomationsQueryVariables>;
17137
+ export declare const PlayerAutomationCreateDocument: DocumentNode<PlayerAutomationCreateMutation, PlayerAutomationCreateMutationVariables>;
17138
+ export declare const PlayerAutomationSetEnabledDocument: DocumentNode<PlayerAutomationSetEnabledMutation, PlayerAutomationSetEnabledMutationVariables>;
17139
+ export declare const PlayerAutomationDeleteDocument: DocumentNode<PlayerAutomationDeleteMutation, PlayerAutomationDeleteMutationVariables>;
17140
+ export declare const PlayerWalletBalanceDocument: DocumentNode<PlayerWalletBalanceQuery, PlayerWalletBalanceQueryVariables>;
17141
+ export declare const PlayerWalletTransactionsDocument: DocumentNode<PlayerWalletTransactionsQuery, PlayerWalletTransactionsQueryVariables>;
17142
+ export declare const PlayerUsageChargesDocument: DocumentNode<PlayerUsageChargesQuery, PlayerUsageChargesQueryVariables>;
17143
+ export declare const PlayerSpendCapsDocument: DocumentNode<PlayerSpendCapsQuery, PlayerSpendCapsQueryVariables>;
17144
+ export declare const SetPlayerSpendCapDocument: DocumentNode<SetPlayerSpendCapMutation, SetPlayerSpendCapMutationVariables>;
17145
+ export declare const PlayerAutoBillingDocument: DocumentNode<PlayerAutoBillingQuery, PlayerAutoBillingQueryVariables>;
17146
+ export declare const BeginPlayerCardSetupDocument: DocumentNode<BeginPlayerCardSetupMutation, BeginPlayerCardSetupMutationVariables>;
17147
+ export declare const SetPlayerAutoBillingDocument: DocumentNode<SetPlayerAutoBillingMutation, SetPlayerAutoBillingMutationVariables>;
17148
+ export declare const PlayerRuntimeStatesDocument: DocumentNode<PlayerRuntimeStatesQuery, PlayerRuntimeStatesQueryVariables>;
17149
+ export declare const PlayerWasmPoliciesDocument: DocumentNode<PlayerWasmPoliciesQuery, PlayerWasmPoliciesQueryVariables>;
17150
+ export declare const SetPlayerWasmPolicyDocument: DocumentNode<SetPlayerWasmPolicyMutation, SetPlayerWasmPolicyMutationVariables>;
17151
+ export declare const DeletePlayerWasmPolicyDocument: DocumentNode<DeletePlayerWasmPolicyMutation, DeletePlayerWasmPolicyMutationVariables>;
17152
+ export declare const PlayerRateMarkupDocument: DocumentNode<PlayerRateMarkupQuery, PlayerRateMarkupQueryVariables>;
17153
+ export declare const SetPlayerRateMarkupDocument: DocumentNode<SetPlayerRateMarkupMutation, SetPlayerRateMarkupMutationVariables>;
17154
+ export declare const AppPlayerUsageDocument: DocumentNode<AppPlayerUsageQuery, AppPlayerUsageQueryVariables>;
17155
+ export declare const AppPlayerMarkupAccruedDocument: DocumentNode<AppPlayerMarkupAccruedQuery, AppPlayerMarkupAccruedQueryVariables>;
13839
17156
  export declare const DeleteQuotaDocument: DocumentNode<DeleteQuotaMutation, DeleteQuotaMutationVariables>;
13840
17157
  export declare const EffectiveQuotaDocument: DocumentNode<EffectiveQuotaQuery, EffectiveQuotaQueryVariables>;
13841
17158
  export declare const QuotasForAppDocument: DocumentNode<QuotasForAppQuery, QuotasForAppQueryVariables>;