@crowdedkingdoms/crowdyjs 17.14.0-dev.1 → 18.0.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/MIGRATION.md +92 -1
- package/README.md +93 -162
- package/dist/crowdy-client.d.ts +12 -31
- package/dist/crowdy-client.d.ts.map +1 -1
- package/dist/crowdy-client.js +15 -37
- package/dist/crowdy-dsh/bridge.d.ts.map +1 -1
- package/dist/crowdy-dsh/bridge.js +3 -6
- package/dist/crowdy-studio/controller.d.ts +34 -59
- package/dist/crowdy-studio/controller.d.ts.map +1 -1
- package/dist/crowdy-studio/controller.js +96 -225
- package/dist/crowdy-studio/diagnostics.d.ts +3 -12
- package/dist/crowdy-studio/diagnostics.d.ts.map +1 -1
- package/dist/crowdy-studio/dom-shell.d.ts +2 -4
- package/dist/crowdy-studio/dom-shell.d.ts.map +1 -1
- package/dist/crowdy-studio/dom-shell.js +16 -49
- package/dist/crowdy-studio/embed/hud-layer.d.ts +1 -2
- package/dist/crowdy-studio/embed/hud-layer.d.ts.map +1 -1
- package/dist/crowdy-studio/embed/panel.d.ts +3 -13
- package/dist/crowdy-studio/embed/panel.d.ts.map +1 -1
- package/dist/crowdy-studio/embed/panel.js +3 -6
- package/dist/crowdy-studio/index.d.ts +1 -3
- package/dist/crowdy-studio/index.d.ts.map +1 -1
- package/dist/crowdy-studio/index.js +0 -2
- package/dist/crowdy-studio/models.d.ts +3 -4
- package/dist/crowdy-studio/models.d.ts.map +1 -1
- package/dist/crowdy-studio/starter-projects.d.ts +8 -12
- package/dist/crowdy-studio/starter-projects.d.ts.map +1 -1
- package/dist/crowdy-studio/starter-projects.js +12 -103
- package/dist/domains/appAccess.d.ts +14 -1
- package/dist/domains/appAccess.d.ts.map +1 -1
- package/dist/domains/appAccess.js +37 -1
- package/dist/domains/host.d.ts +3 -3
- package/dist/domains/host.js +3 -3
- package/dist/domains/marketplace.d.ts +9 -70
- package/dist/domains/marketplace.d.ts.map +1 -1
- package/dist/domains/marketplace.js +9 -120
- package/dist/domains/playerWallet.d.ts +6 -12
- package/dist/domains/playerWallet.d.ts.map +1 -1
- package/dist/domains/playerWallet.js +6 -21
- package/dist/errors.d.ts +7 -13
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +6 -10
- package/dist/generated/graphql.d.ts +141 -7083
- package/dist/generated/graphql.d.ts.map +1 -1
- package/dist/generated/graphql.js +5 -313
- package/dist/grid-mods/exec-client-halves.d.ts +19 -3
- package/dist/grid-mods/exec-client-halves.d.ts.map +1 -1
- package/dist/grid-mods/exec-client-halves.js +17 -2
- package/dist/grid-mods/grid-host-calls.d.ts +29 -17
- package/dist/grid-mods/grid-host-calls.d.ts.map +1 -1
- package/dist/grid-mods/grid-host-calls.js +40 -46
- package/dist/grid-mods/mod-runtime.d.ts +18 -11
- package/dist/grid-mods/mod-runtime.d.ts.map +1 -1
- package/dist/grid-mods/mod-runtime.js +4 -2
- package/dist/grid-scope.d.ts +0 -189
- package/dist/grid-scope.d.ts.map +1 -1
- package/dist/grid-scope.js +0 -70
- package/dist/index.d.ts +11 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -16
- package/dist/kit/actions.d.ts +5 -9
- package/dist/kit/actions.d.ts.map +1 -1
- package/dist/kit/actions.js +5 -9
- package/dist/kit/index.d.ts +2 -33
- package/dist/kit/index.d.ts.map +1 -1
- package/dist/kit/index.js +1 -32
- package/dist/kit/kit.d.ts +8 -208
- package/dist/kit/kit.d.ts.map +1 -1
- package/dist/kit/kit.js +5 -163
- package/dist/kit/social.d.ts +1 -3
- package/dist/kit/social.d.ts.map +1 -1
- package/dist/kit/social.js +1 -3
- package/dist/kit/wire.d.ts +16 -5
- package/dist/kit/wire.d.ts.map +1 -1
- package/dist/kit/wire.js +19 -5
- package/dist/live-coding/assets/browser-authoring-index.json +1 -1
- package/dist/live-coding/assets/manifest.json +1 -1
- package/dist/live-coding/browser-authoring-index.generated.d.ts.map +1 -1
- package/dist/live-coding/browser-authoring-index.generated.js +1496 -4386
- package/dist/live-coding/rust-analysis.d.ts.map +1 -1
- package/dist/live-coding/rust-analysis.js +30 -34
- package/dist/player-runtime/client-host-calls.d.ts +8 -0
- package/dist/player-runtime/client-host-calls.d.ts.map +1 -0
- package/dist/player-runtime/client-host-calls.js +28 -0
- package/dist/player-runtime/glue-runtime.d.ts +24 -20
- package/dist/player-runtime/glue-runtime.d.ts.map +1 -1
- package/dist/player-runtime/glue-runtime.js +26 -55
- package/dist/player-runtime/glue-sab.d.ts +2 -2
- package/dist/player-runtime/glue-sab.js +2 -2
- package/dist/player-runtime/player-code-broker.d.ts +70 -43
- package/dist/player-runtime/player-code-broker.d.ts.map +1 -1
- package/dist/player-runtime/player-code-broker.js +159 -64
- package/dist/player-runtime/player-glue-worker.d.ts +8 -9
- package/dist/player-runtime/player-glue-worker.d.ts.map +1 -1
- package/dist/player-runtime/player-glue-worker.js +26 -11
- package/dist/stores/inbox.d.ts +1 -1
- package/dist/stores/inbox.d.ts.map +1 -1
- package/dist/stores/index.d.ts +0 -11
- package/dist/stores/index.d.ts.map +1 -1
- package/dist/stores/index.js +0 -4
- package/dist/stores/session.d.ts +0 -2
- package/dist/stores/session.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/crowdy-studio/model-lint-log.d.ts +0 -76
- package/dist/crowdy-studio/model-lint-log.d.ts.map +0 -1
- package/dist/crowdy-studio/model-lint-log.js +0 -93
- package/dist/crowdy-studio/model-lint.d.ts +0 -61
- package/dist/crowdy-studio/model-lint.d.ts.map +0 -1
- package/dist/crowdy-studio/model-lint.js +0 -45
- package/dist/domains/compute.d.ts +0 -208
- package/dist/domains/compute.d.ts.map +0 -1
- package/dist/domains/compute.js +0 -274
- package/dist/domains/controlPlane.d.ts +0 -38
- package/dist/domains/controlPlane.d.ts.map +0 -1
- package/dist/domains/controlPlane.js +0 -43
- package/dist/domains/gameModel.d.ts +0 -1174
- package/dist/domains/gameModel.d.ts.map +0 -1
- package/dist/domains/gameModel.js +0 -1333
- package/dist/domains/playerCompute.d.ts +0 -91
- package/dist/domains/playerCompute.d.ts.map +0 -1
- package/dist/domains/playerCompute.js +0 -136
- package/dist/domains/playerModel.d.ts +0 -20
- package/dist/domains/playerModel.d.ts.map +0 -1
- package/dist/domains/playerModel.js +0 -54
- package/dist/kit/abilities.d.ts +0 -66
- package/dist/kit/abilities.d.ts.map +0 -1
- package/dist/kit/abilities.js +0 -71
- package/dist/kit/blueprints/combat.d.ts +0 -81
- package/dist/kit/blueprints/combat.d.ts.map +0 -1
- package/dist/kit/blueprints/combat.js +0 -357
- package/dist/kit/blueprints/core.d.ts +0 -222
- package/dist/kit/blueprints/core.d.ts.map +0 -1
- package/dist/kit/blueprints/core.js +0 -185
- package/dist/kit/blueprints/decks.d.ts +0 -50
- package/dist/kit/blueprints/decks.d.ts.map +0 -1
- package/dist/kit/blueprints/decks.js +0 -163
- package/dist/kit/blueprints/economy.d.ts +0 -88
- package/dist/kit/blueprints/economy.d.ts.map +0 -1
- package/dist/kit/blueprints/economy.js +0 -533
- package/dist/kit/blueprints/guild.d.ts +0 -51
- package/dist/kit/blueprints/guild.d.ts.map +0 -1
- package/dist/kit/blueprints/guild.js +0 -50
- package/dist/kit/blueprints/index.d.ts +0 -23
- package/dist/kit/blueprints/index.d.ts.map +0 -1
- package/dist/kit/blueprints/index.js +0 -22
- package/dist/kit/blueprints/inventory.d.ts +0 -84
- package/dist/kit/blueprints/inventory.d.ts.map +0 -1
- package/dist/kit/blueprints/inventory.js +0 -257
- package/dist/kit/blueprints/leaderboards.d.ts +0 -49
- package/dist/kit/blueprints/leaderboards.d.ts.map +0 -1
- package/dist/kit/blueprints/leaderboards.js +0 -126
- package/dist/kit/blueprints/liveops.d.ts +0 -42
- package/dist/kit/blueprints/liveops.d.ts.map +0 -1
- package/dist/kit/blueprints/liveops.js +0 -170
- package/dist/kit/blueprints/locks.d.ts +0 -82
- package/dist/kit/blueprints/locks.d.ts.map +0 -1
- package/dist/kit/blueprints/locks.js +0 -155
- package/dist/kit/blueprints/loot.d.ts +0 -90
- package/dist/kit/blueprints/loot.d.ts.map +0 -1
- package/dist/kit/blueprints/loot.js +0 -229
- package/dist/kit/blueprints/matches.d.ts +0 -84
- package/dist/kit/blueprints/matches.d.ts.map +0 -1
- package/dist/kit/blueprints/matches.js +0 -349
- package/dist/kit/blueprints/moderation.d.ts +0 -32
- package/dist/kit/blueprints/moderation.d.ts.map +0 -1
- package/dist/kit/blueprints/moderation.js +0 -140
- package/dist/kit/blueprints/npcs.d.ts +0 -78
- package/dist/kit/blueprints/npcs.d.ts.map +0 -1
- package/dist/kit/blueprints/npcs.js +0 -125
- package/dist/kit/blueprints/plots.d.ts +0 -63
- package/dist/kit/blueprints/plots.d.ts.map +0 -1
- package/dist/kit/blueprints/plots.js +0 -151
- package/dist/kit/blueprints/progression.d.ts +0 -68
- package/dist/kit/blueprints/progression.d.ts.map +0 -1
- package/dist/kit/blueprints/progression.js +0 -324
- package/dist/kit/blueprints/quests.d.ts +0 -72
- package/dist/kit/blueprints/quests.d.ts.map +0 -1
- package/dist/kit/blueprints/quests.js +0 -285
- package/dist/kit/blueprints/worldsim.d.ts +0 -91
- package/dist/kit/blueprints/worldsim.d.ts.map +0 -1
- package/dist/kit/blueprints/worldsim.js +0 -468
- package/dist/kit/combat.d.ts +0 -141
- package/dist/kit/combat.d.ts.map +0 -1
- package/dist/kit/combat.js +0 -196
- package/dist/kit/decks.d.ts +0 -157
- package/dist/kit/decks.d.ts.map +0 -1
- package/dist/kit/decks.js +0 -186
- package/dist/kit/director.d.ts +0 -88
- package/dist/kit/director.d.ts.map +0 -1
- package/dist/kit/director.js +0 -86
- package/dist/kit/economy.d.ts +0 -289
- package/dist/kit/economy.d.ts.map +0 -1
- package/dist/kit/economy.js +0 -427
- package/dist/kit/engine.d.ts +0 -48
- package/dist/kit/engine.d.ts.map +0 -1
- package/dist/kit/engine.js +0 -113
- package/dist/kit/features.d.ts +0 -60
- package/dist/kit/features.d.ts.map +0 -1
- package/dist/kit/features.js +0 -65
- package/dist/kit/instances.d.ts +0 -52
- package/dist/kit/instances.d.ts.map +0 -1
- package/dist/kit/instances.js +0 -60
- package/dist/kit/inventory.d.ts +0 -129
- package/dist/kit/inventory.d.ts.map +0 -1
- package/dist/kit/inventory.js +0 -200
- package/dist/kit/leaderboards.d.ts +0 -86
- package/dist/kit/leaderboards.d.ts.map +0 -1
- package/dist/kit/leaderboards.js +0 -133
- package/dist/kit/liveops.d.ts +0 -112
- package/dist/kit/liveops.d.ts.map +0 -1
- package/dist/kit/liveops.js +0 -183
- package/dist/kit/loot.d.ts +0 -128
- package/dist/kit/loot.d.ts.map +0 -1
- package/dist/kit/loot.js +0 -160
- package/dist/kit/matches.d.ts +0 -301
- package/dist/kit/matches.d.ts.map +0 -1
- package/dist/kit/matches.js +0 -458
- package/dist/kit/matchmaking.d.ts +0 -57
- package/dist/kit/matchmaking.d.ts.map +0 -1
- package/dist/kit/matchmaking.js +0 -59
- package/dist/kit/minigames.d.ts +0 -30
- package/dist/kit/minigames.d.ts.map +0 -1
- package/dist/kit/minigames.js +0 -38
- package/dist/kit/mobs.d.ts +0 -90
- package/dist/kit/mobs.d.ts.map +0 -1
- package/dist/kit/mobs.js +0 -98
- package/dist/kit/moderation.d.ts +0 -73
- package/dist/kit/moderation.d.ts.map +0 -1
- package/dist/kit/moderation.js +0 -103
- package/dist/kit/movement.d.ts +0 -78
- package/dist/kit/movement.d.ts.map +0 -1
- package/dist/kit/movement.js +0 -103
- package/dist/kit/notifications.d.ts +0 -45
- package/dist/kit/notifications.d.ts.map +0 -1
- package/dist/kit/notifications.js +0 -67
- package/dist/kit/npcs.d.ts +0 -226
- package/dist/kit/npcs.d.ts.map +0 -1
- package/dist/kit/npcs.js +0 -141
- package/dist/kit/objects.d.ts +0 -116
- package/dist/kit/objects.d.ts.map +0 -1
- package/dist/kit/objects.js +0 -119
- package/dist/kit/pets.d.ts +0 -85
- package/dist/kit/pets.d.ts.map +0 -1
- package/dist/kit/pets.js +0 -96
- package/dist/kit/plots.d.ts +0 -85
- package/dist/kit/plots.d.ts.map +0 -1
- package/dist/kit/plots.js +0 -113
- package/dist/kit/progression.d.ts +0 -181
- package/dist/kit/progression.d.ts.map +0 -1
- package/dist/kit/progression.js +0 -265
- package/dist/kit/quests.d.ts +0 -171
- package/dist/kit/quests.d.ts.map +0 -1
- package/dist/kit/quests.js +0 -237
- package/dist/kit/racing.d.ts +0 -85
- package/dist/kit/racing.d.ts.map +0 -1
- package/dist/kit/racing.js +0 -99
- package/dist/kit/shared.d.ts +0 -73
- package/dist/kit/shared.d.ts.map +0 -1
- package/dist/kit/shared.js +0 -101
- package/dist/kit/telemetry.d.ts +0 -66
- package/dist/kit/telemetry.d.ts.map +0 -1
- package/dist/kit/telemetry.js +0 -133
- package/dist/kit/territory.d.ts +0 -97
- package/dist/kit/territory.d.ts.map +0 -1
- package/dist/kit/territory.js +0 -114
- package/dist/kit/worldsim.d.ts +0 -263
- package/dist/kit/worldsim.d.ts.map +0 -1
- package/dist/kit/worldsim.js +0 -268
- package/dist/stores/model.d.ts +0 -81
- package/dist/stores/model.d.ts.map +0 -1
- package/dist/stores/model.js +0 -163
package/dist/domains/host.d.ts
CHANGED
|
@@ -8,8 +8,8 @@ import { type GameHostQuery, type AmIGameHostQuery, type ActorHeartbeatMutation
|
|
|
8
8
|
* first wins). {@link heartbeat} refreshes the caller's actor freshness (keeping
|
|
9
9
|
* them host-eligible) and returns the freshly-elected host in one round-trip —
|
|
10
10
|
* call it on an interval shorter than the server's freshness window.
|
|
11
|
-
* {@link amIHost} is a UI convenience (not authoritative for mutations —
|
|
12
|
-
*
|
|
11
|
+
* {@link amIHost} is a UI convenience (not authoritative for mutations — a hub
|
|
12
|
+
* decides that from the caller). All require a valid session;
|
|
13
13
|
* `appId` is a `BigInt` decimal string.
|
|
14
14
|
*
|
|
15
15
|
* @throws {CrowdyGraphQLError} `UNAUTHENTICATED` without a session.
|
|
@@ -28,7 +28,7 @@ export declare class HostAPI {
|
|
|
28
28
|
/**
|
|
29
29
|
* Return whether the authenticated caller is the currently elected host for
|
|
30
30
|
* the app. Convenience for UI only — not authoritative for server mutations
|
|
31
|
-
* (
|
|
31
|
+
* (a hub decides those from the caller).
|
|
32
32
|
*
|
|
33
33
|
* @param appId - The app to check host election for.
|
|
34
34
|
* @returns `true` if the caller is the elected host; otherwise `false`.
|
package/dist/domains/host.js
CHANGED
|
@@ -7,8 +7,8 @@ import { GameHostDocument, AmIGameHostDocument, ActorHeartbeatDocument, } from '
|
|
|
7
7
|
* first wins). {@link heartbeat} refreshes the caller's actor freshness (keeping
|
|
8
8
|
* them host-eligible) and returns the freshly-elected host in one round-trip —
|
|
9
9
|
* call it on an interval shorter than the server's freshness window.
|
|
10
|
-
* {@link amIHost} is a UI convenience (not authoritative for mutations —
|
|
11
|
-
*
|
|
10
|
+
* {@link amIHost} is a UI convenience (not authoritative for mutations — a hub
|
|
11
|
+
* decides that from the caller). All require a valid session;
|
|
12
12
|
* `appId` is a `BigInt` decimal string.
|
|
13
13
|
*
|
|
14
14
|
* @throws {CrowdyGraphQLError} `UNAUTHENTICATED` without a session.
|
|
@@ -31,7 +31,7 @@ export class HostAPI {
|
|
|
31
31
|
/**
|
|
32
32
|
* Return whether the authenticated caller is the currently elected host for
|
|
33
33
|
* the app. Convenience for UI only — not authoritative for server mutations
|
|
34
|
-
* (
|
|
34
|
+
* (a hub decides those from the caller).
|
|
35
35
|
*
|
|
36
36
|
* @param appId - The app to check host election for.
|
|
37
37
|
* @returns `true` if the caller is the elected host; otherwise `false`.
|
|
@@ -1,77 +1,17 @@
|
|
|
1
1
|
import type { GraphQLClient } from '../client.js';
|
|
2
|
-
import { type
|
|
2
|
+
import { type MarketplaceGridClaimPolicyQuery, type MarketplaceGridClaimPolicyQueryVariables, type MarketplaceGridClaimRequestsQuery, type MarketplaceGridClaimRequestsQueryVariables, type MarketplaceClaimGridOwnershipMutation, type MarketplaceClaimGridOwnershipMutationVariables, type MarketplaceClaimGridChunkMutation, type MarketplaceClaimGridChunkMutationVariables, type MarketplaceReleaseClaimedGridMutation, type MarketplaceReleaseClaimedGridMutationVariables, type MarketplaceDecideGridClaimMutation, type MarketplaceDecideGridClaimMutationVariables, type MarketplaceIssueGridClaimInviteMutationVariables, type MarketplaceAdmissionQueueQuery, type MarketplaceAdmissionQueueQueryVariables, type MarketplaceAppListingsQuery, type MarketplaceAppListingsQueryVariables, type MarketplaceAppAcquisitionsQuery, type MarketplaceAppAcquisitionsQueryVariables, type MarketplaceTransferListingMutation, type MarketplaceTransferListingMutationVariables, type MarketplaceSetListingStatusMutation, type MarketplaceSetListingStatusMutationVariables, type MarketplaceSetGridClaimPolicyMutation, type MarketplaceSetGridClaimPolicyMutationVariables } from '../generated/graphql.js';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* `client.marketplace
|
|
6
|
-
*
|
|
7
|
-
* administration, ownership transfer, claim-policy config).
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* an acquisition is an entitlement write, and the paid modes ship with P4b.
|
|
12
|
-
* Publishing snapshots artifact hashes and the DERIVED capability summary —
|
|
13
|
-
* never source; installs consent to the summary's hash.
|
|
4
|
+
* Grid claims and the app's player-code administration — exposed as
|
|
5
|
+
* `client.marketplace`: the D4 grid claim flows (policy, requests, chunk and
|
|
6
|
+
* ownership claims, invites) and studio moderation (admission queue, catalog
|
|
7
|
+
* administration, ownership transfer, claim-policy config). The player-facing
|
|
8
|
+
* listings (publish, acquire, install) and grid-attached client mods went with
|
|
9
|
+
* legacy player compute; ck-exec mods publish and install with
|
|
10
|
+
* `client.exec.modPublish` / `modInstall`.
|
|
14
11
|
*/
|
|
15
12
|
export declare class MarketplaceAPI {
|
|
16
13
|
private readonly game;
|
|
17
14
|
constructor(game: GraphQLClient);
|
|
18
|
-
/** Browse the app's active listings with admission standing per listing. */
|
|
19
|
-
listings(variables: MarketplaceListingsQueryVariables): Promise<MarketplaceListingsQuery['playerCodeListings']>;
|
|
20
|
-
/** Published versions of one listing (capability summaries + consent hashes). */
|
|
21
|
-
versions(variables: MarketplaceListingVersionsQueryVariables): Promise<MarketplaceListingVersionsQuery['playerCodeListingVersions']>;
|
|
22
|
-
/** The caller's entitlements in this app. */
|
|
23
|
-
myAcquisitions(variables: MarketplaceMyAcquisitionsQueryVariables): Promise<MarketplaceMyAcquisitionsQuery['myPlayerCodeAcquisitions']>;
|
|
24
|
-
/** The caller's active installs in this app. */
|
|
25
|
-
myInstalls(variables: MarketplaceMyInstallsQueryVariables): Promise<MarketplaceMyInstallsQuery['myPlayerCodeInstalls']>;
|
|
26
|
-
/** Create a listing (personal, or org-owned via input.ownerOrgId). */
|
|
27
|
-
publishListing(variables: MarketplacePublishListingMutationVariables): Promise<MarketplacePublishListingMutation['publishPlayerCode']>;
|
|
28
|
-
/** Publish an immutable version from compiled module versions (hashes only). */
|
|
29
|
-
publishVersion(variables: MarketplacePublishVersionMutationVariables): Promise<MarketplacePublishVersionMutation['publishPlayerCodeVersion']>;
|
|
30
|
-
/** Free acquisition (entitlement write; idempotent per listing+caller). */
|
|
31
|
-
acquire(variables: MarketplaceAcquireMutationVariables): Promise<MarketplaceAcquireMutation['acquirePlayerCode']>;
|
|
32
|
-
/**
|
|
33
|
-
* Install an acquisition after consenting to the version's capability
|
|
34
|
-
* hash. Server/bundled listings need an owned target gridId.
|
|
35
|
-
*/
|
|
36
|
-
install(variables: MarketplaceInstallMutationVariables): Promise<MarketplaceInstallMutation['installPlayerCode']>;
|
|
37
|
-
/** Remove instances/attachments/fetch rights; the acquisition is retained. */
|
|
38
|
-
uninstall(variables: MarketplaceUninstallMutationVariables): Promise<boolean>;
|
|
39
|
-
/**
|
|
40
|
-
* Client mods attached to a grid, with the caller's consent state.
|
|
41
|
-
* @deprecated Superseded by `client.exec.gridClientMods` (a ck-exec mod's CLIENT half); removed in 18.0.
|
|
42
|
-
*/
|
|
43
|
-
gridClientMods(variables: MarketplaceGridClientModsQueryVariables): Promise<MarketplaceGridClientModsQuery['gridClientMods']>;
|
|
44
|
-
/**
|
|
45
|
-
* Consent to one attachment's exact capability hash (per player).
|
|
46
|
-
* @deprecated Superseded by `client.exec.consentClientMod`; removed in 18.0.
|
|
47
|
-
*/
|
|
48
|
-
consentGridClientMod(variables: MarketplaceConsentGridClientModMutationVariables): Promise<boolean>;
|
|
49
|
-
/**
|
|
50
|
-
* Trust one author's active attachments in a grid at the exact aggregate
|
|
51
|
-
* capability hash returned by `gridClientMods`. Capability widening changes
|
|
52
|
-
* the hash and requires another explicit call.
|
|
53
|
-
* @deprecated Superseded by `client.exec.trustAuthor`; removed in 18.0.
|
|
54
|
-
*/
|
|
55
|
-
trustGridAuthor(variables: MarketplaceTrustGridAuthorMutationVariables): Promise<MarketplaceTrustGridAuthorMutation['trustGridAuthor']>;
|
|
56
|
-
/**
|
|
57
|
-
* Fetch an acquired/attached listing's client artifact (base64 + metadata).
|
|
58
|
-
* @deprecated Superseded by `client.exec.modClientArtifact`; removed in 18.0.
|
|
59
|
-
*/
|
|
60
|
-
clientArtifact(variables: MarketplaceClientArtifactQueryVariables): Promise<MarketplaceClientArtifactQuery['playerCodeClientArtifact']>;
|
|
61
|
-
/**
|
|
62
|
-
* Fetch and decode a client artifact into broker inputs (bytes, content
|
|
63
|
-
* hash, per-dispatch fuel budget) — the marketplace twin of
|
|
64
|
-
* `playerCompute.artifactBytes` for acquired and grid-attached mods.
|
|
65
|
-
* @deprecated Superseded by `client.exec.modClientArtifactBytes`, which also checks the
|
|
66
|
-
* bytes against their digest; `ExecClientHalves` runs a grid's CLIENT halves. Removed in 18.0.
|
|
67
|
-
*/
|
|
68
|
-
clientArtifactBytes(variables: MarketplaceClientArtifactQueryVariables): Promise<{
|
|
69
|
-
bytes: ArrayBuffer;
|
|
70
|
-
artifactHash: string;
|
|
71
|
-
fuelPerDispatch: bigint;
|
|
72
|
-
contractJson: string | null;
|
|
73
|
-
versionId: string;
|
|
74
|
-
}>;
|
|
75
15
|
/** The app's claim policy (self_claim / approval / invite / marketplace_only). */
|
|
76
16
|
gridClaimPolicy(variables: MarketplaceGridClaimPolicyQueryVariables): Promise<MarketplaceGridClaimPolicyQuery['gridClaimPolicy']>;
|
|
77
17
|
/** Pending claim requests (approvers see the app queue; players their own). */
|
|
@@ -103,8 +43,7 @@ export declare class MarketplaceAPI {
|
|
|
103
43
|
transferListing(variables: MarketplaceTransferListingMutationVariables): Promise<MarketplaceTransferListingMutation['transferPlayerCodeListing']>;
|
|
104
44
|
/**
|
|
105
45
|
* Catalog status: DELISTED/ACTIVE are owner actions; KILLED is the studio
|
|
106
|
-
* catalog kill
|
|
107
|
-
* also disable running installs fleet-wide.
|
|
46
|
+
* catalog kill.
|
|
108
47
|
*/
|
|
109
48
|
setListingStatus(variables: MarketplaceSetListingStatusMutationVariables): Promise<MarketplaceSetListingStatusMutation['setPlayerCodeListingStatus']>;
|
|
110
49
|
/** Configure the app's D4 grid claim policy (manage_apps). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketplace.d.ts","sourceRoot":"","sources":["../../src/domains/marketplace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"marketplace.d.ts","sourceRoot":"","sources":["../../src/domains/marketplace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAcL,KAAK,+BAA+B,EACpC,KAAK,wCAAwC,EAC7C,KAAK,iCAAiC,EACtC,KAAK,0CAA0C,EAC/C,KAAK,qCAAqC,EAC1C,KAAK,8CAA8C,EACnD,KAAK,iCAAiC,EACtC,KAAK,0CAA0C,EAC/C,KAAK,qCAAqC,EAC1C,KAAK,8CAA8C,EACnD,KAAK,kCAAkC,EACvC,KAAK,2CAA2C,EAChD,KAAK,gDAAgD,EACrD,KAAK,8BAA8B,EACnC,KAAK,uCAAuC,EAC5C,KAAK,2BAA2B,EAChC,KAAK,oCAAoC,EACzC,KAAK,+BAA+B,EACpC,KAAK,wCAAwC,EAC7C,KAAK,kCAAkC,EACvC,KAAK,2CAA2C,EAChD,KAAK,mCAAmC,EACxC,KAAK,4CAA4C,EACjD,KAAK,qCAAqC,EAC1C,KAAK,8CAA8C,EACpD,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;GAQG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAIhD,kFAAkF;IAC5E,eAAe,CACnB,SAAS,EAAE,wCAAwC,GAClD,OAAO,CAAC,+BAA+B,CAAC,iBAAiB,CAAC,CAAC;IAQ9D,+EAA+E;IACzE,iBAAiB,CACrB,SAAS,EAAE,0CAA0C,GACpD,OAAO,CAAC,iCAAiC,CAAC,mBAAmB,CAAC,CAAC;IAQlE,yEAAyE;IACnE,kBAAkB,CACtB,SAAS,EAAE,8CAA8C,GACxD,OAAO,CAAC,qCAAqC,CAAC,oBAAoB,CAAC,CAAC;IAQvE;;;;OAIG;IACG,cAAc,CAClB,SAAS,EAAE,0CAA0C,GACpD,OAAO,CAAC,iCAAiC,CAAC,gBAAgB,CAAC,CAAC;IAQ/D;;;OAGG;IACG,kBAAkB,CACtB,SAAS,EAAE,8CAA8C,GACxD,OAAO,CAAC,qCAAqC,CAAC,oBAAoB,CAAC,CAAC;IAQvE,iEAAiE;IAC3D,eAAe,CACnB,SAAS,EAAE,2CAA2C,GACrD,OAAO,CAAC,kCAAkC,CAAC,iBAAiB,CAAC,CAAC;IAQjE,oEAAoE;IAC9D,oBAAoB,CACxB,SAAS,EAAE,gDAAgD,GAC1D,OAAO,CAAC,OAAO,CAAC;IAWnB,qEAAqE;IAC/D,cAAc,CAClB,SAAS,EAAE,uCAAuC,GACjD,OAAO,CAAC,8BAA8B,CAAC,uBAAuB,CAAC,CAAC;IAQnE,gFAAgF;IAC1E,WAAW,CACf,SAAS,EAAE,oCAAoC,GAC9C,OAAO,CAAC,2BAA2B,CAAC,uBAAuB,CAAC,CAAC;IAQhE,uDAAuD;IACjD,eAAe,CACnB,SAAS,EAAE,wCAAwC,GAClD,OAAO,CAAC,+BAA+B,CAAC,2BAA2B,CAAC,CAAC;IASxE,sDAAsD;IAChD,eAAe,CACnB,SAAS,EAAE,2CAA2C,GACrD,OAAO,CAAC,kCAAkC,CAAC,2BAA2B,CAAC,CAAC;IAS3E;;;OAGG;IACG,gBAAgB,CACpB,SAAS,EAAE,4CAA4C,GACtD,OAAO,CAAC,mCAAmC,CAAC,4BAA4B,CAAC,CAAC;IAS7E,8DAA8D;IACxD,kBAAkB,CACtB,SAAS,EAAE,8CAA8C,GACxD,OAAO,CAAC,qCAAqC,CAAC,uBAAuB,CAAC,CAAC;CAQ3E"}
|
|
@@ -1,127 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MarketplaceGridClaimPolicyDocument, MarketplaceGridClaimRequestsDocument, MarketplaceClaimGridOwnershipDocument, MarketplaceClaimGridChunkDocument, MarketplaceReleaseClaimedGridDocument, MarketplaceDecideGridClaimDocument, MarketplaceIssueGridClaimInviteDocument, MarketplaceAdmissionQueueDocument, MarketplaceAppListingsDocument, MarketplaceAppAcquisitionsDocument, MarketplaceTransferListingDocument, MarketplaceSetListingStatusDocument, MarketplaceSetGridClaimPolicyDocument, } from '../generated/graphql.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* `client.marketplace
|
|
5
|
-
*
|
|
6
|
-
* administration, ownership transfer, claim-policy config).
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* an acquisition is an entitlement write, and the paid modes ship with P4b.
|
|
11
|
-
* Publishing snapshots artifact hashes and the DERIVED capability summary —
|
|
12
|
-
* never source; installs consent to the summary's hash.
|
|
3
|
+
* Grid claims and the app's player-code administration — exposed as
|
|
4
|
+
* `client.marketplace`: the D4 grid claim flows (policy, requests, chunk and
|
|
5
|
+
* ownership claims, invites) and studio moderation (admission queue, catalog
|
|
6
|
+
* administration, ownership transfer, claim-policy config). The player-facing
|
|
7
|
+
* listings (publish, acquire, install) and grid-attached client mods went with
|
|
8
|
+
* legacy player compute; ck-exec mods publish and install with
|
|
9
|
+
* `client.exec.modPublish` / `modInstall`.
|
|
13
10
|
*/
|
|
14
11
|
export class MarketplaceAPI {
|
|
15
12
|
constructor(game) {
|
|
16
13
|
this.game = game;
|
|
17
14
|
}
|
|
18
|
-
// -- Store ---------------------------------------------------------
|
|
19
|
-
/** Browse the app's active listings with admission standing per listing. */
|
|
20
|
-
async listings(variables) {
|
|
21
|
-
const data = await this.game.request(MarketplaceListingsDocument, variables);
|
|
22
|
-
return data.playerCodeListings;
|
|
23
|
-
}
|
|
24
|
-
/** Published versions of one listing (capability summaries + consent hashes). */
|
|
25
|
-
async versions(variables) {
|
|
26
|
-
const data = await this.game.request(MarketplaceListingVersionsDocument, variables);
|
|
27
|
-
return data.playerCodeListingVersions;
|
|
28
|
-
}
|
|
29
|
-
/** The caller's entitlements in this app. */
|
|
30
|
-
async myAcquisitions(variables) {
|
|
31
|
-
const data = await this.game.request(MarketplaceMyAcquisitionsDocument, variables);
|
|
32
|
-
return data.myPlayerCodeAcquisitions;
|
|
33
|
-
}
|
|
34
|
-
/** The caller's active installs in this app. */
|
|
35
|
-
async myInstalls(variables) {
|
|
36
|
-
const data = await this.game.request(MarketplaceMyInstallsDocument, variables);
|
|
37
|
-
return data.myPlayerCodeInstalls;
|
|
38
|
-
}
|
|
39
|
-
/** Create a listing (personal, or org-owned via input.ownerOrgId). */
|
|
40
|
-
async publishListing(variables) {
|
|
41
|
-
const data = await this.game.request(MarketplacePublishListingDocument, variables);
|
|
42
|
-
return data.publishPlayerCode;
|
|
43
|
-
}
|
|
44
|
-
/** Publish an immutable version from compiled module versions (hashes only). */
|
|
45
|
-
async publishVersion(variables) {
|
|
46
|
-
const data = await this.game.request(MarketplacePublishVersionDocument, variables);
|
|
47
|
-
return data.publishPlayerCodeVersion;
|
|
48
|
-
}
|
|
49
|
-
/** Free acquisition (entitlement write; idempotent per listing+caller). */
|
|
50
|
-
async acquire(variables) {
|
|
51
|
-
const data = await this.game.request(MarketplaceAcquireDocument, variables);
|
|
52
|
-
return data.acquirePlayerCode;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Install an acquisition after consenting to the version's capability
|
|
56
|
-
* hash. Server/bundled listings need an owned target gridId.
|
|
57
|
-
*/
|
|
58
|
-
async install(variables) {
|
|
59
|
-
const data = await this.game.request(MarketplaceInstallDocument, variables);
|
|
60
|
-
return data.installPlayerCode;
|
|
61
|
-
}
|
|
62
|
-
/** Remove instances/attachments/fetch rights; the acquisition is retained. */
|
|
63
|
-
async uninstall(variables) {
|
|
64
|
-
const data = await this.game.request(MarketplaceUninstallDocument, variables);
|
|
65
|
-
return data.uninstallPlayerCode;
|
|
66
|
-
}
|
|
67
|
-
// -- Grid-attached client mods (D2) --------------------------------------------
|
|
68
|
-
// Superseded by ck-exec mods' CLIENT halves (`client.exec`, 17.14.0) and removed with the
|
|
69
|
-
// legacy engines in 18.0.
|
|
70
|
-
/**
|
|
71
|
-
* Client mods attached to a grid, with the caller's consent state.
|
|
72
|
-
* @deprecated Superseded by `client.exec.gridClientMods` (a ck-exec mod's CLIENT half); removed in 18.0.
|
|
73
|
-
*/
|
|
74
|
-
async gridClientMods(variables) {
|
|
75
|
-
const data = await this.game.request(MarketplaceGridClientModsDocument, variables);
|
|
76
|
-
return data.gridClientMods;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Consent to one attachment's exact capability hash (per player).
|
|
80
|
-
* @deprecated Superseded by `client.exec.consentClientMod`; removed in 18.0.
|
|
81
|
-
*/
|
|
82
|
-
async consentGridClientMod(variables) {
|
|
83
|
-
const data = await this.game.request(MarketplaceConsentGridClientModDocument, variables);
|
|
84
|
-
return data.consentGridClientMod;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Trust one author's active attachments in a grid at the exact aggregate
|
|
88
|
-
* capability hash returned by `gridClientMods`. Capability widening changes
|
|
89
|
-
* the hash and requires another explicit call.
|
|
90
|
-
* @deprecated Superseded by `client.exec.trustAuthor`; removed in 18.0.
|
|
91
|
-
*/
|
|
92
|
-
async trustGridAuthor(variables) {
|
|
93
|
-
const data = await this.game.request(MarketplaceTrustGridAuthorDocument, variables);
|
|
94
|
-
return data.trustGridAuthor;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Fetch an acquired/attached listing's client artifact (base64 + metadata).
|
|
98
|
-
* @deprecated Superseded by `client.exec.modClientArtifact`; removed in 18.0.
|
|
99
|
-
*/
|
|
100
|
-
async clientArtifact(variables) {
|
|
101
|
-
const data = await this.game.request(MarketplaceClientArtifactDocument, variables);
|
|
102
|
-
return data.playerCodeClientArtifact;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Fetch and decode a client artifact into broker inputs (bytes, content
|
|
106
|
-
* hash, per-dispatch fuel budget) — the marketplace twin of
|
|
107
|
-
* `playerCompute.artifactBytes` for acquired and grid-attached mods.
|
|
108
|
-
* @deprecated Superseded by `client.exec.modClientArtifactBytes`, which also checks the
|
|
109
|
-
* bytes against their digest; `ExecClientHalves` runs a grid's CLIENT halves. Removed in 18.0.
|
|
110
|
-
*/
|
|
111
|
-
async clientArtifactBytes(variables) {
|
|
112
|
-
const a = await this.clientArtifact(variables);
|
|
113
|
-
const binary = atob(a.artifactBase64);
|
|
114
|
-
const bytes = new Uint8Array(binary.length);
|
|
115
|
-
for (let i = 0; i < binary.length; i++)
|
|
116
|
-
bytes[i] = binary.charCodeAt(i);
|
|
117
|
-
return {
|
|
118
|
-
bytes: bytes.buffer,
|
|
119
|
-
artifactHash: a.artifactHash,
|
|
120
|
-
fuelPerDispatch: BigInt(a.clientFuelPerDispatch),
|
|
121
|
-
contractJson: a.contractJson ?? null,
|
|
122
|
-
versionId: a.versionId,
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
15
|
// -- D4 grid claim flows (Game API) ---------------------------------------------
|
|
126
16
|
/** The app's claim policy (self_claim / approval / invite / marketplace_only). */
|
|
127
17
|
async gridClaimPolicy(variables) {
|
|
@@ -188,8 +78,7 @@ export class MarketplaceAPI {
|
|
|
188
78
|
}
|
|
189
79
|
/**
|
|
190
80
|
* Catalog status: DELISTED/ACTIVE are owner actions; KILLED is the studio
|
|
191
|
-
* catalog kill
|
|
192
|
-
* also disable running installs fleet-wide.
|
|
81
|
+
* catalog kill.
|
|
193
82
|
*/
|
|
194
83
|
async setListingStatus(variables) {
|
|
195
84
|
const data = await this.game.request(MarketplaceSetListingStatusDocument, variables);
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import type { GraphQLClient } from "../client.js";
|
|
2
|
-
import { type BeginPlayerCardSetupMutation, type PlayerWalletBalanceQuery, type PlayerWalletTransactionsQuery, type PlayerWalletTransactionsQueryVariables, type PlayerUsageChargesQuery, type PlayerUsageChargesQueryVariables, type PlayerSpendCapsQuery, type SetPlayerSpendCapMutation, type SetPlayerSpendCapMutationVariables, type PlayerAutoBillingQuery, type SetPlayerAutoBillingMutation, type SetPlayerAutoBillingMutationVariables, type PlayerRuntimeStatesQuery, type
|
|
2
|
+
import { type BeginPlayerCardSetupMutation, type PlayerWalletBalanceQuery, type PlayerWalletTransactionsQuery, type PlayerWalletTransactionsQueryVariables, type PlayerUsageChargesQuery, type PlayerUsageChargesQueryVariables, type PlayerSpendCapsQuery, type SetPlayerSpendCapMutation, type SetPlayerSpendCapMutationVariables, type PlayerAutoBillingQuery, type SetPlayerAutoBillingMutation, type SetPlayerAutoBillingMutationVariables, type PlayerRuntimeStatesQuery, type PlayerRateMarkupQuery, type PlayerRateMarkupQueryVariables, type SetPlayerRateMarkupMutation, type SetPlayerRateMarkupMutationVariables, type AppPlayerUsageQuery, type AppPlayerUsageQueryVariables, type AppPlayerMarkupAccruedQuery, type AppPlayerMarkupAccruedQueryVariables, type AppPlayerMarkupAccruedMicrousdQuery, type AppPlayerMarkupAccruedMicrousdQueryVariables } from "../generated/graphql.js";
|
|
3
3
|
/**
|
|
4
|
-
* The player wallet and player-billing surface (
|
|
5
|
-
*
|
|
4
|
+
* The player wallet and player-billing surface (DN-5) — exposed as
|
|
5
|
+
* `client.playerWallet`. A ck-exec mod's compute is billed here, to its owner.
|
|
6
6
|
*
|
|
7
7
|
* Every viewer-scoped call operates on the CALLER's own wallet: balance,
|
|
8
8
|
* ledger, hourly usage charges (platform vs studio-markup split), self-set
|
|
9
9
|
* spend caps, auto-recharge config, and per-app gate states. Fund the wallet
|
|
10
10
|
* via `client.payments.createCheckout` with purpose `PLAYER_WALLET_TOPUP`.
|
|
11
11
|
*
|
|
12
|
-
* The studio-scoped calls (
|
|
13
|
-
*
|
|
14
|
-
* `
|
|
12
|
+
* The studio-scoped calls (markup, per-player usage, accrued markup) require
|
|
13
|
+
* the corresponding org permissions (`manage_billing`,
|
|
14
|
+
* `view_compute_diagnostics`, `view_billing`).
|
|
15
15
|
*/
|
|
16
16
|
export declare class PlayerWalletAPI {
|
|
17
17
|
private readonly graphql;
|
|
@@ -46,12 +46,6 @@ export declare class PlayerWalletAPI {
|
|
|
46
46
|
beginCardSetup(): Promise<BeginPlayerCardSetupMutation["beginPlayerCardSetup"]>;
|
|
47
47
|
/** The caller's per-app gate states (absence means active). */
|
|
48
48
|
runtimeStates(): Promise<PlayerRuntimeStatesQuery["playerRuntimeStates"]>;
|
|
49
|
-
/** Studio: list an app's player policy rows (`view_compute_diagnostics`). */
|
|
50
|
-
policies(variables: PlayerWasmPoliciesQueryVariables): Promise<PlayerWasmPoliciesQuery["playerWasmPolicies"]>;
|
|
51
|
-
/** Studio: upsert a player policy row (`manage_compute`). */
|
|
52
|
-
setPolicy(variables: SetPlayerWasmPolicyMutationVariables): Promise<SetPlayerWasmPolicyMutation["setPlayerWasmPolicy"]>;
|
|
53
|
-
/** Studio: delete a player policy row (`manage_compute`). */
|
|
54
|
-
deletePolicy(variables: DeletePlayerWasmPolicyMutationVariables): Promise<DeletePlayerWasmPolicyMutation["deletePlayerWasmPolicy"]>;
|
|
55
49
|
/** Studio: read the app's player rate-card markup in bps (`view_billing`). */
|
|
56
50
|
rateMarkup(variables: PlayerRateMarkupQueryVariables): Promise<PlayerRateMarkupQuery["playerRateMarkup"]>;
|
|
57
51
|
/** Studio: set the app's player rate-card markup in bps (`manage_billing`). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playerWallet.d.ts","sourceRoot":"","sources":["../../src/domains/playerWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EASL,KAAK,4BAA4B,
|
|
1
|
+
{"version":3,"file":"playerWallet.d.ts","sourceRoot":"","sources":["../../src/domains/playerWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EASL,KAAK,4BAA4B,EAOjC,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EAClC,KAAK,sCAAsC,EAC3C,KAAK,uBAAuB,EAC5B,KAAK,gCAAgC,EACrC,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,kCAAkC,EACvC,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,qCAAqC,EAC1C,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,8BAA8B,EACnC,KAAK,2BAA2B,EAChC,KAAK,oCAAoC,EACzC,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,oCAAoC,EACzC,KAAK,mCAAmC,EACxC,KAAK,4CAA4C,EAClD,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;;;GAYG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,aAAa;IAEnD;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;IAKzE,gDAAgD;IAC1C,YAAY,CAChB,SAAS,GAAE,sCAA2C,GACrD,OAAO,CAAC,6BAA6B,CAAC,0BAA0B,CAAC,CAAC;IAQrE;;;OAGG;IACG,OAAO,CACX,SAAS,GAAE,gCAAqC,GAC/C,OAAO,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,CAAC;IAQzD,8DAA8D;IACxD,SAAS,IAAI,OAAO,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IAKnE,0EAA0E;IACpE,WAAW,CACf,SAAS,EAAE,kCAAkC,GAC5C,OAAO,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;IAQ1D,2CAA2C;IACrC,WAAW,IAAI,OAAO,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;IAKzE,6EAA6E;IACvE,cAAc,CAClB,SAAS,EAAE,qCAAqC,GAC/C,OAAO,CAAC,4BAA4B,CAAC,sBAAsB,CAAC,CAAC;IAQhE;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAC7B,4BAA4B,CAAC,sBAAsB,CAAC,CACrD;IAKD,+DAA+D;IACzD,aAAa,IAAI,OAAO,CAC5B,wBAAwB,CAAC,qBAAqB,CAAC,CAChD;IAKD,8EAA8E;IACxE,UAAU,CACd,SAAS,EAAE,8BAA8B,GACxC,OAAO,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IAQrD,+EAA+E;IACzE,aAAa,CACjB,SAAS,EAAE,oCAAoC,GAC9C,OAAO,CAAC,2BAA2B,CAAC,qBAAqB,CAAC,CAAC;IAQ9D,uEAAuE;IACjE,cAAc,CAClB,SAAS,EAAE,4BAA4B,GACtC,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAKjD;;;OAGG;IACG,gBAAgB,CACpB,SAAS,EAAE,oCAAoC,GAC9C,OAAO,CAAC,2BAA2B,CAAC,wBAAwB,CAAC,CAAC;IAQjE,gFAAgF;IAC1E,wBAAwB,CAC5B,SAAS,EAAE,4CAA4C,GACtD,OAAO,CACR,mCAAmC,CAAC,gCAAgC,CAAC,CACtE;CAOF"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { PlayerWalletBalanceDocument, PlayerWalletTransactionsDocument, PlayerUsageChargesDocument, PlayerSpendCapsDocument, SetPlayerSpendCapDocument, PlayerAutoBillingDocument, SetPlayerAutoBillingDocument, BeginPlayerCardSetupDocument, PlayerRuntimeStatesDocument,
|
|
1
|
+
import { PlayerWalletBalanceDocument, PlayerWalletTransactionsDocument, PlayerUsageChargesDocument, PlayerSpendCapsDocument, SetPlayerSpendCapDocument, PlayerAutoBillingDocument, SetPlayerAutoBillingDocument, BeginPlayerCardSetupDocument, PlayerRuntimeStatesDocument, PlayerRateMarkupDocument, SetPlayerRateMarkupDocument, AppPlayerUsageDocument, AppPlayerMarkupAccruedDocument, AppPlayerMarkupAccruedMicrousdDocument, } from "../generated/graphql.js";
|
|
2
2
|
/**
|
|
3
|
-
* The player wallet and player-billing surface (
|
|
4
|
-
*
|
|
3
|
+
* The player wallet and player-billing surface (DN-5) — exposed as
|
|
4
|
+
* `client.playerWallet`. A ck-exec mod's compute is billed here, to its owner.
|
|
5
5
|
*
|
|
6
6
|
* Every viewer-scoped call operates on the CALLER's own wallet: balance,
|
|
7
7
|
* ledger, hourly usage charges (platform vs studio-markup split), self-set
|
|
8
8
|
* spend caps, auto-recharge config, and per-app gate states. Fund the wallet
|
|
9
9
|
* via `client.payments.createCheckout` with purpose `PLAYER_WALLET_TOPUP`.
|
|
10
10
|
*
|
|
11
|
-
* The studio-scoped calls (
|
|
12
|
-
*
|
|
13
|
-
* `
|
|
11
|
+
* The studio-scoped calls (markup, per-player usage, accrued markup) require
|
|
12
|
+
* the corresponding org permissions (`manage_billing`,
|
|
13
|
+
* `view_compute_diagnostics`, `view_billing`).
|
|
14
14
|
*/
|
|
15
15
|
export class PlayerWalletAPI {
|
|
16
16
|
constructor(graphql) {
|
|
@@ -73,21 +73,6 @@ export class PlayerWalletAPI {
|
|
|
73
73
|
const data = await this.graphql.request(PlayerRuntimeStatesDocument, {});
|
|
74
74
|
return data.playerRuntimeStates;
|
|
75
75
|
}
|
|
76
|
-
/** Studio: list an app's player policy rows (`view_compute_diagnostics`). */
|
|
77
|
-
async policies(variables) {
|
|
78
|
-
const data = await this.graphql.request(PlayerWasmPoliciesDocument, variables);
|
|
79
|
-
return data.playerWasmPolicies;
|
|
80
|
-
}
|
|
81
|
-
/** Studio: upsert a player policy row (`manage_compute`). */
|
|
82
|
-
async setPolicy(variables) {
|
|
83
|
-
const data = await this.graphql.request(SetPlayerWasmPolicyDocument, variables);
|
|
84
|
-
return data.setPlayerWasmPolicy;
|
|
85
|
-
}
|
|
86
|
-
/** Studio: delete a player policy row (`manage_compute`). */
|
|
87
|
-
async deletePolicy(variables) {
|
|
88
|
-
const data = await this.graphql.request(DeletePlayerWasmPolicyDocument, variables);
|
|
89
|
-
return data.deletePlayerWasmPolicy;
|
|
90
|
-
}
|
|
91
76
|
/** Studio: read the app's player rate-card markup in bps (`view_billing`). */
|
|
92
77
|
async rateMarkup(variables) {
|
|
93
78
|
const data = await this.graphql.request(PlayerRateMarkupDocument, variables);
|
package/dist/errors.d.ts
CHANGED
|
@@ -175,9 +175,7 @@ export type CrowdyFaultBlame = 'PLATFORM' | 'AUTHOR' | 'BUDGET';
|
|
|
175
175
|
* reads the full detail in the Crowdy console. Treat it as an open union: the server may
|
|
176
176
|
* add a code, and a client that switches on it should have a default branch.
|
|
177
177
|
*/
|
|
178
|
-
export type CrowdyFaultCode = 'USER_CODE_ERROR' | 'USER_CODE_TOO_SLOW' | 'USER_CODE_LIMIT_EXCEEDED' | 'PLATFORM_BUSY' | 'PLATFORM_ERROR' | 'BUDGET_EXCEEDED' | 'RATE_LIMITED' | 'QUOTA_EXHAUSTED' | 'CIRCUIT_OPEN' | 'TEMPORARILY_DISABLED' | 'INVALID_REQUEST' | 'NOT_ALLOWED' | 'NOT_FOUND' | 'UNAUTHENTICATED' | 'WRONG_DATACENTER' | 'APP_UNAVAILABLE'
|
|
179
|
-
/** The tier switched the legacy engine off (compute, player compute, game model); never retryable. */
|
|
180
|
-
| 'ENGINE_SWITCHED_OFF' | (string & {});
|
|
178
|
+
export type CrowdyFaultCode = 'USER_CODE_ERROR' | 'USER_CODE_TOO_SLOW' | 'USER_CODE_LIMIT_EXCEEDED' | 'PLATFORM_BUSY' | 'PLATFORM_ERROR' | 'BUDGET_EXCEEDED' | 'RATE_LIMITED' | 'QUOTA_EXHAUSTED' | 'CIRCUIT_OPEN' | 'TEMPORARILY_DISABLED' | 'INVALID_REQUEST' | 'NOT_ALLOWED' | 'NOT_FOUND' | 'UNAUTHENTICATED' | 'WRONG_DATACENTER' | 'APP_UNAVAILABLE' | (string & {});
|
|
181
179
|
/** What the platform says about a failure, in the only vocabulary a player is shown. */
|
|
182
180
|
export interface CrowdyPlayerFault {
|
|
183
181
|
/** A stable, enumerated reason. Branch on this, never on a message. */
|
|
@@ -211,7 +209,7 @@ export interface CrowdyPlayerFault {
|
|
|
211
209
|
* @example
|
|
212
210
|
* ```ts
|
|
213
211
|
* try {
|
|
214
|
-
* await client.
|
|
212
|
+
* await client.graphql.request(SomeDocument, variables);
|
|
215
213
|
* } catch (err) {
|
|
216
214
|
* const fault = playerFaultOf(err);
|
|
217
215
|
* if (!fault) throw err;
|
|
@@ -232,13 +230,10 @@ export declare class CrowdyUserCodeFaultError extends CrowdyGraphQLError {
|
|
|
232
230
|
/**
|
|
233
231
|
* Read the platform's attribution from EITHER carrier, so a game branches once.
|
|
234
232
|
*
|
|
235
|
-
* There are two
|
|
236
|
-
*
|
|
237
|
-
*
|
|
238
|
-
*
|
|
239
|
-
* apply, so it comes back as `success: false` with a `fault` field. Forcing either into
|
|
240
|
-
* the other's shape would lose something real, so this function accepts both and gives
|
|
241
|
-
* you one thing to switch on.
|
|
233
|
+
* There are two. A refused or failed call THROWS, and the fault arrives in the GraphQL
|
|
234
|
+
* error's extensions. A result may instead RETURN one: a verdict that still carries
|
|
235
|
+
* whatever did apply comes back as `success: false` with a `fault` field. This function
|
|
236
|
+
* accepts both and gives you one thing to switch on.
|
|
242
237
|
*
|
|
243
238
|
* Returns `null` when there is no fault: a successful result, or an error that is not an
|
|
244
239
|
* attributed one (a network drop, a timeout, an ordinary validation error elsewhere in
|
|
@@ -247,8 +242,7 @@ export declare class CrowdyUserCodeFaultError extends CrowdyGraphQLError {
|
|
|
247
242
|
*
|
|
248
243
|
* @example
|
|
249
244
|
* ```ts
|
|
250
|
-
* const
|
|
251
|
-
* const fault = playerFaultOf(result);
|
|
245
|
+
* const fault = playerFaultOf(errorOrResult);
|
|
252
246
|
* if (fault?.retryable) scheduleRetry();
|
|
253
247
|
* ```
|
|
254
248
|
*/
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,iFAAiF;AACjF,MAAM,WAAW,yBAAyB;IACxC,mFAAmF;IACnF,OAAO,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,SAAS,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAC/B,2EAA2E;IAC3E,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACpC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,oEAAoE;AACpE,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,yDAAyD;IACzD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;gBAEb,OAAO,EAAE,kBAAkB;CAKxC;AAED;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAKzC;AAED;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,oEAAoE;IACpE,QAAQ,CAAC,aAAa,EAAE,yBAAyB,EAAE,CAAC;gBAExC,MAAM,EAAE,yBAAyB,EAAE;IAK/C;;;;;;OAMG;IACH,IAAI,IAAI,IAAI,OAAO,CAElB;IAED;;;;OAIG;IACH,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAEpD;CACF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAEtD,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,yBAA0B,SAAQ,kBAAkB;IAC/D,8DAA8D;IAC9D,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAG9B;IAED;;;OAGG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAGtC;IAED;;;;;OAKG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;CACF;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GACvB,iBAAiB,GACjB,oBAAoB,GACpB,0BAA0B,GAC1B,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,cAAc,GACd,iBAAiB,GACjB,cAAc,GACd,sBAAsB,GACtB,iBAAiB,GACjB,aAAa,GACb,WAAW,GACX,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.js
CHANGED
|
@@ -169,7 +169,7 @@ export class CrowdyAppUnavailableError extends CrowdyGraphQLError {
|
|
|
169
169
|
* @example
|
|
170
170
|
* ```ts
|
|
171
171
|
* try {
|
|
172
|
-
* await client.
|
|
172
|
+
* await client.graphql.request(SomeDocument, variables);
|
|
173
173
|
* } catch (err) {
|
|
174
174
|
* const fault = playerFaultOf(err);
|
|
175
175
|
* if (!fault) throw err;
|
|
@@ -209,13 +209,10 @@ function faultFields(code, blame, retryable, cause) {
|
|
|
209
209
|
/**
|
|
210
210
|
* Read the platform's attribution from EITHER carrier, so a game branches once.
|
|
211
211
|
*
|
|
212
|
-
* There are two
|
|
213
|
-
*
|
|
214
|
-
*
|
|
215
|
-
*
|
|
216
|
-
* apply, so it comes back as `success: false` with a `fault` field. Forcing either into
|
|
217
|
-
* the other's shape would lose something real, so this function accepts both and gives
|
|
218
|
-
* you one thing to switch on.
|
|
212
|
+
* There are two. A refused or failed call THROWS, and the fault arrives in the GraphQL
|
|
213
|
+
* error's extensions. A result may instead RETURN one: a verdict that still carries
|
|
214
|
+
* whatever did apply comes back as `success: false` with a `fault` field. This function
|
|
215
|
+
* accepts both and gives you one thing to switch on.
|
|
219
216
|
*
|
|
220
217
|
* Returns `null` when there is no fault: a successful result, or an error that is not an
|
|
221
218
|
* attributed one (a network drop, a timeout, an ordinary validation error elsewhere in
|
|
@@ -224,8 +221,7 @@ function faultFields(code, blame, retryable, cause) {
|
|
|
224
221
|
*
|
|
225
222
|
* @example
|
|
226
223
|
* ```ts
|
|
227
|
-
* const
|
|
228
|
-
* const fault = playerFaultOf(result);
|
|
224
|
+
* const fault = playerFaultOf(errorOrResult);
|
|
229
225
|
* if (fault?.retryable) scheduleRetry();
|
|
230
226
|
* ```
|
|
231
227
|
*/
|