@crowdedkingdoms/crowdyjs 17.13.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 +163 -1
- package/README.md +142 -146
- 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 +59 -57
- package/dist/crowdy-studio/controller.d.ts.map +1 -1
- package/dist/crowdy-studio/controller.js +268 -206
- 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 -47
- package/dist/crowdy-studio/embed/hud-layer.d.ts +1 -1
- package/dist/crowdy-studio/embed/panel.d.ts +3 -12
- 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 -4
- package/dist/crowdy-studio/starter-projects.d.ts.map +1 -1
- package/dist/crowdy-studio/starter-projects.js +83 -100
- 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/exec.d.ts +162 -15
- package/dist/domains/exec.d.ts.map +1 -1
- package/dist/domains/exec.js +180 -18
- package/dist/domains/host.d.ts +3 -3
- package/dist/domains/host.js +3 -3
- package/dist/domains/marketplace.d.ts +9 -58
- package/dist/domains/marketplace.d.ts.map +1 -1
- package/dist/domains/marketplace.js +9 -106
- 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 +1384 -7977
- package/dist/generated/graphql.d.ts.map +1 -1
- package/dist/generated/graphql.js +22 -321
- package/dist/grid-mods/exec-client-halves.d.ts +156 -0
- package/dist/grid-mods/exec-client-halves.d.ts.map +1 -0
- package/dist/grid-mods/exec-client-halves.js +356 -0
- package/dist/grid-mods/grid-host-calls.d.ts +29 -15
- package/dist/grid-mods/grid-host-calls.d.ts.map +1 -1
- package/dist/grid-mods/grid-host-calls.js +40 -44
- package/dist/grid-mods/index.d.ts +1 -0
- package/dist/grid-mods/index.d.ts.map +1 -1
- package/dist/grid-mods/index.js +1 -0
- package/dist/grid-mods/mod-runtime.d.ts +21 -6
- package/dist/grid-mods/mod-runtime.d.ts.map +1 -1
- package/dist/grid-mods/mod-runtime.js +6 -2
- package/dist/grid-scope.d.ts +0 -188
- package/dist/grid-scope.d.ts.map +1 -1
- package/dist/grid-scope.js +0 -69
- package/dist/index.d.ts +12 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -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 +31 -23
- 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 +27 -10
- package/dist/player-runtime/glue-runtime.d.ts.map +1 -1
- package/dist/player-runtime/glue-runtime.js +40 -45
- 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 +80 -24
- package/dist/player-runtime/player-code-broker.d.ts.map +1 -1
- package/dist/player-runtime/player-code-broker.js +169 -41
- package/dist/player-runtime/player-glue-worker.d.ts +8 -8
- package/dist/player-runtime/player-glue-worker.d.ts.map +1 -1
- package/dist/player-runtime/player-glue-worker.js +26 -9
- package/dist/stores/actors.d.ts +12 -2
- package/dist/stores/actors.d.ts.map +1 -1
- package/dist/stores/actors.js +43 -18
- package/dist/stores/chunks.d.ts +12 -0
- package/dist/stores/chunks.d.ts.map +1 -1
- package/dist/stores/chunks.js +112 -39
- package/dist/stores/durable.d.ts.map +1 -1
- package/dist/stores/durable.js +2 -1
- 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
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
import { projectTargets, } from './models.js';
|
|
2
|
-
|
|
2
|
+
/** crowdy-client-sdk, what a ck-exec mod's CLIENT half builds on; the build points it at the platform's copy. */
|
|
3
|
+
const CLIENT_SDK_VERSION = '0.1.0';
|
|
3
4
|
/** A mod's name is at most 48 characters, and the SERVER module name is `<base>-server`. */
|
|
4
5
|
const MOD_BASE_MAX = 48 - '-server'.length;
|
|
5
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Create a compile-oriented starter without introducing a raw JSON source map. The project is a
|
|
8
|
+
* ck-exec mod: the SERVER target is the mod starter's crate, the CLIENT target a
|
|
9
|
+
* `crowdy-client-sdk` crate (the mod's CLIENT half), and both module names fit a mod's (a mod has
|
|
10
|
+
* no client pairing, so the preference is `NONE`).
|
|
11
|
+
*/
|
|
6
12
|
export function createCrowdyStudioStarterProject(options) {
|
|
7
13
|
const mod = options.modStarter;
|
|
8
|
-
const base = mod ? modModuleBase(options.name) : moduleName(options.name);
|
|
9
14
|
const targets = projectTargets(options.kind);
|
|
15
|
+
if (targets.includes('SERVER') && !mod) {
|
|
16
|
+
throw new Error('A SERVER target starts from the mod starter (client.exec.modStarter)');
|
|
17
|
+
}
|
|
18
|
+
const base = modModuleBase(options.name);
|
|
10
19
|
const metadata = {
|
|
11
20
|
name: options.name.trim() || 'Untitled mod',
|
|
12
21
|
...(options.description?.trim()
|
|
@@ -18,7 +27,7 @@ export function createCrowdyStudioStarterProject(options) {
|
|
|
18
27
|
...(targets.includes('CLIENT')
|
|
19
28
|
? { clientModuleName: `${base}-client` }
|
|
20
29
|
: {}),
|
|
21
|
-
pairingPreference:
|
|
30
|
+
pairingPreference: 'NONE',
|
|
22
31
|
};
|
|
23
32
|
return {
|
|
24
33
|
appId: options.appId,
|
|
@@ -26,12 +35,76 @@ export function createCrowdyStudioStarterProject(options) {
|
|
|
26
35
|
kind: options.kind,
|
|
27
36
|
metadata,
|
|
28
37
|
files: targets.flatMap((target) => target === 'SERVER'
|
|
29
|
-
? mod
|
|
30
|
-
|
|
31
|
-
: starterFiles(target, metadata.serverModuleName)
|
|
32
|
-
: starterFiles(target, metadata.clientModuleName)),
|
|
38
|
+
? modStarterFiles(mod, metadata.serverModuleName)
|
|
39
|
+
: clientHalfStarterFiles(metadata.clientModuleName)),
|
|
33
40
|
};
|
|
34
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* A ck-exec mod's CLIENT half: one `crowdy-client-sdk` crate within the build's rules (only
|
|
44
|
+
* `[package]`, `[lib]` as a cdylib, the SDK and serde dependencies, and
|
|
45
|
+
* `[package.metadata.crowdy] tick_interval_ms`).
|
|
46
|
+
*/
|
|
47
|
+
function clientHalfStarterFiles(name) {
|
|
48
|
+
return [
|
|
49
|
+
{
|
|
50
|
+
target: 'CLIENT',
|
|
51
|
+
path: 'Cargo.toml',
|
|
52
|
+
content: `[package]
|
|
53
|
+
name = "${name}"
|
|
54
|
+
version = "0.1.0"
|
|
55
|
+
edition = "2021"
|
|
56
|
+
|
|
57
|
+
[lib]
|
|
58
|
+
crate-type = ["cdylib"]
|
|
59
|
+
|
|
60
|
+
# How often visitors' browsers call tick (clamped 16–1000 ms).
|
|
61
|
+
# 1000 = HUD/text. 50 = physics minigames (pool). 16 = shooters, if a tick stays cheap.
|
|
62
|
+
[package.metadata.crowdy]
|
|
63
|
+
tick_interval_ms = 1000
|
|
64
|
+
|
|
65
|
+
[dependencies]
|
|
66
|
+
crowdy-client-sdk = "${CLIENT_SDK_VERSION}"
|
|
67
|
+
serde_json = "1"
|
|
68
|
+
`,
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
target: 'CLIENT',
|
|
72
|
+
path: 'src/lib.rs',
|
|
73
|
+
content: `use crowdy_client_sdk as crowdy;
|
|
74
|
+
|
|
75
|
+
fn init() {
|
|
76
|
+
// Runs once in each visitor's browser, after they consent to this CLIENT half
|
|
77
|
+
// (or trust you) and while they stand in this grid.
|
|
78
|
+
crowdy::log(1, "ready");
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
fn tick(_dt_ms: u32) {
|
|
82
|
+
// Every tick_interval_ms (Cargo.toml). The state blob lasts as long as the page's worker.
|
|
83
|
+
let ticks = u32::from_le_bytes(crowdy::state_get().try_into().unwrap_or([0; 4])).wrapping_add(1);
|
|
84
|
+
crowdy::state_set(&ticks.to_le_bytes());
|
|
85
|
+
// Host calls cross the page's broker as the visiting player, inside this grid: the HUD and
|
|
86
|
+
// overlay, chunk and actor reads, voxel writes, spatial and channel sends, grid events.
|
|
87
|
+
// Type "crowdy::api::" for the rest. The page's DOM and tokens are never reachable.
|
|
88
|
+
let _ = crowdy::api::hud_set(serde_json::json!({ "text": format!("Ticks here: {ticks}") }));
|
|
89
|
+
//
|
|
90
|
+
// Mouse (holodeck canvas only; Studio chrome is omitted). Drain every tick:
|
|
91
|
+
// let data = crowdy::api::pointer_clicks().unwrap_or(serde_json::json!({}));
|
|
92
|
+
// data["clicks"] = [{ "t": "down"|"up", "button": 0, "atMs", "heldMs", "nx", "ny" }]
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
fn invoke(payload: &[u8]) -> Vec<u8> {
|
|
96
|
+
payload.to_vec()
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
fn event(_payload: &[u8]) {
|
|
100
|
+
// Grid events from the other CLIENT halves on this page (crowdy::api::emit_event).
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
crowdy::register_module!(init: init, tick: tick, invoke: invoke, event: event);
|
|
104
|
+
`,
|
|
105
|
+
},
|
|
106
|
+
];
|
|
107
|
+
}
|
|
35
108
|
function modStarterFiles(starter, name) {
|
|
36
109
|
const paths = new Set(starter.files.map((file) => file.path));
|
|
37
110
|
if (!paths.has('Cargo.toml') || !paths.has('src/lib.rs')) {
|
|
@@ -66,8 +139,8 @@ function renamePackage(manifest, name) {
|
|
|
66
139
|
.join('\n');
|
|
67
140
|
}
|
|
68
141
|
/**
|
|
69
|
-
* A mod module base: short enough for `<base>-server` to be
|
|
70
|
-
* letter, as a build's crate names must.
|
|
142
|
+
* A mod module base: short enough for `<base>-server` and `<base>-client` to be mod names, and
|
|
143
|
+
* starting with a letter, as a build's crate names must.
|
|
71
144
|
*/
|
|
72
145
|
function modModuleBase(value) {
|
|
73
146
|
const slug = slugModuleName(value);
|
|
@@ -77,96 +150,6 @@ function modModuleBase(value) {
|
|
|
77
150
|
// The slug has no runs of dashes, so the cut leaves at most one at the end.
|
|
78
151
|
return cut.endsWith('-') ? cut.slice(0, -1) : cut;
|
|
79
152
|
}
|
|
80
|
-
function starterFiles(target, name) {
|
|
81
|
-
return [
|
|
82
|
-
{
|
|
83
|
-
target,
|
|
84
|
-
path: 'Cargo.toml',
|
|
85
|
-
content: cargoToml(target, name),
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
target,
|
|
89
|
-
path: 'src/lib.rs',
|
|
90
|
-
content: target === 'SERVER' ? serverSource() : clientSource(),
|
|
91
|
-
},
|
|
92
|
-
];
|
|
93
|
-
}
|
|
94
|
-
function cargoToml(target, name) {
|
|
95
|
-
const clientTick = target === 'CLIENT'
|
|
96
|
-
? `
|
|
97
|
-
# How often the browser calls CLIENT on_tick (clamped 16–1000 ms).
|
|
98
|
-
# 1000 = HUD/text. 50 = physics minigames (pool). 16 = shooters, if a tick stays cheap.
|
|
99
|
-
[package.metadata.crowdy]
|
|
100
|
-
tick_interval_ms = 1000
|
|
101
|
-
`
|
|
102
|
-
: '';
|
|
103
|
-
return `[package]
|
|
104
|
-
name = "${name}"
|
|
105
|
-
version = "0.1.0"
|
|
106
|
-
edition = "2021"
|
|
107
|
-
|
|
108
|
-
[lib]
|
|
109
|
-
crate-type = ["cdylib"]
|
|
110
|
-
${clientTick}
|
|
111
|
-
[dependencies]
|
|
112
|
-
crowdy-compute-sdk = "${SDK_VERSION}"
|
|
113
|
-
serde_json = "1"
|
|
114
|
-
`;
|
|
115
|
-
}
|
|
116
|
-
function serverSource() {
|
|
117
|
-
return `use crowdy_compute_sdk as crowdy;
|
|
118
|
-
|
|
119
|
-
fn on_init() {
|
|
120
|
-
// Runs once when this SERVER module starts on the owned grid.
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
fn on_tick(_dt_ms: u32) {
|
|
124
|
-
// The host only ticks when tickIntervalMs is set (omit/0 = invoke-only).
|
|
125
|
-
// Server host calls are permission checked and clamped to the owned grid.
|
|
126
|
-
// Type "crowdy::" for the platform-indexed host-call surface.
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
fn on_invoke(payload: &[u8]) -> Vec<u8> {
|
|
130
|
-
// Called by Crowdy Studio's Invoke panel or an allowed game caller.
|
|
131
|
-
payload.to_vec()
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
crowdy::register_module!(init: on_init, tick: on_tick, invoke: on_invoke);
|
|
135
|
-
`;
|
|
136
|
-
}
|
|
137
|
-
function clientSource() {
|
|
138
|
-
return `use crowdy_compute_sdk as crowdy;
|
|
139
|
-
|
|
140
|
-
fn on_init() {
|
|
141
|
-
// Runs after the hash-bound CLIENT artifact enters the browser sandbox.
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
fn on_tick(_dt_ms: u32) {
|
|
145
|
-
// dt_ms is wall time since the last tick. The host interval comes from
|
|
146
|
-
// Cargo.toml [package.metadata.crowdy] tick_interval_ms (default 1000).
|
|
147
|
-
// Client host calls are allow-listed by PlayerCodeBroker. Presentation
|
|
148
|
-
// effects (for example HUD updates) never receive the page's app token.
|
|
149
|
-
// Type "crowdy::" for lifecycle and host-call completions.
|
|
150
|
-
//
|
|
151
|
-
// Mouse (holodeck canvas only; Studio chrome is omitted). Drain every tick:
|
|
152
|
-
// let data = crowdy::api::pointer_clicks().unwrap_or(serde_json::json!({}));
|
|
153
|
-
// data["clicks"] = [{ "t": "down"|"up", "button": 0, "atMs", "heldMs", "nx", "ny" }]
|
|
154
|
-
// data["buttons"] is MouseEvent.buttons (1 = left held).
|
|
155
|
-
// data["holdingMs"]["0"] is ms the left button has been down (power meter).
|
|
156
|
-
// Click-to-charge: start on left down, read holdingMs while held, fire on up.
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
fn on_invoke(payload: &[u8]) -> Vec<u8> {
|
|
160
|
-
payload.to_vec()
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
crowdy::register_module!(init: on_init, tick: on_tick, invoke: on_invoke);
|
|
164
|
-
`;
|
|
165
|
-
}
|
|
166
|
-
function moduleName(value) {
|
|
167
|
-
const slug = slugModuleName(value).slice(0, 48);
|
|
168
|
-
return slug || 'player-mod';
|
|
169
|
-
}
|
|
170
153
|
/**
|
|
171
154
|
* Same span as trim + lower + `/[^a-z0-9]+/gu` → `-`, then `/^-+|-+$/gu`.
|
|
172
155
|
* Linear scan; non-ASCII and punctuation collapse to a single dash.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { GraphQLClient } from '../client.js';
|
|
2
|
-
import { type AppAccessTiersQuery, type MyAppAccessQuery, type AppUserAccessByAppQuery, type AppUserAccessConnectionQuery, type AppUserAccessConnectionQueryVariables, type RuntimePermissionsQuery, type AppGrantMemberCandidatesQuery, type ClaimFreeAppAccessMutation, type GrantMyAppAccessMutation, type CreateAccessTierMutation, type UpdateAccessTierMutation, type ArchiveAccessTierMutation, type GrantAppAccessMutation, type RevokeAppAccessMutation, type CreateAccessTierInput, type UpdateAccessTierInput, type GrantAppAccessInput } from '../generated/graphql.js';
|
|
2
|
+
import { type DefineAppFeatureInput, type DefineAppFeatureMutation, type AppFeaturesQuery, type GrantTierFeatureInput, type GrantTierFeatureMutation, type TierFeaturesQuery, type AppAccessTiersQuery, type MyAppAccessQuery, type AppUserAccessByAppQuery, type AppUserAccessConnectionQuery, type AppUserAccessConnectionQueryVariables, type RuntimePermissionsQuery, type AppGrantMemberCandidatesQuery, type ClaimFreeAppAccessMutation, type GrantMyAppAccessMutation, type CreateAccessTierMutation, type UpdateAccessTierMutation, type ArchiveAccessTierMutation, type GrantAppAccessMutation, type RevokeAppAccessMutation, type CreateAccessTierInput, type UpdateAccessTierInput, type GrantAppAccessInput } from '../generated/graphql.js';
|
|
3
3
|
/**
|
|
4
4
|
* App access tiers + per-user access grants — exposed as `client.appAccess`
|
|
5
5
|
* (and grouped under `client.admin`).
|
|
@@ -137,5 +137,18 @@ export declare class AppAccessAPI {
|
|
|
137
137
|
* @returns `true` on success.
|
|
138
138
|
*/
|
|
139
139
|
revoke(appId: string, userId: string): Promise<RevokeAppAccessMutation['revokeAppAccess']>;
|
|
140
|
+
/**
|
|
141
|
+
* Define (or re-describe) a feature key for an app. Idempotent on `(appId, featureKey)`.
|
|
142
|
+
* Requires the app-admin `manage_apps` permission.
|
|
143
|
+
*/
|
|
144
|
+
defineFeature(input: DefineAppFeatureInput): Promise<DefineAppFeatureMutation['gameModelDefineFeature']>;
|
|
145
|
+
/** The feature keys defined for an app. Requires `manage_apps`. */
|
|
146
|
+
features(appId: string): Promise<AppFeaturesQuery['gameModelFeatures']>;
|
|
147
|
+
/** Grant a feature key to an access tier. Requires `manage_apps`. */
|
|
148
|
+
grantTierFeature(input: GrantTierFeatureInput): Promise<GrantTierFeatureMutation['gameModelGrantTierFeature']>;
|
|
149
|
+
/** Revoke a feature key from an access tier; `true` if a grant was removed. Requires `manage_apps`. */
|
|
150
|
+
revokeTierFeature(input: GrantTierFeatureInput): Promise<boolean>;
|
|
151
|
+
/** Tier-to-feature grants for an app, optionally for one tier. Requires `manage_apps`. */
|
|
152
|
+
tierFeatures(appId: string, tierId?: string): Promise<TierFeaturesQuery['gameModelTierFeatures']>;
|
|
140
153
|
}
|
|
141
154
|
//# sourceMappingURL=appAccess.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appAccess.d.ts","sourceRoot":"","sources":["../../src/domains/appAccess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"appAccess.d.ts","sourceRoot":"","sources":["../../src/domains/appAccess.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AppAccessTiersDocument, MyAppAccessDocument, AppUserAccessByAppDocument, AppUserAccessConnectionDocument, RuntimePermissionsDocument, AppGrantMemberCandidatesDocument, ClaimFreeAppAccessDocument, GrantMyAppAccessDocument, CreateAccessTierDocument, UpdateAccessTierDocument, ArchiveAccessTierDocument, GrantAppAccessDocument, RevokeAppAccessDocument, } from '../generated/graphql.js';
|
|
1
|
+
import { AppAccessTiersDocument, MyAppAccessDocument, AppUserAccessByAppDocument, AppUserAccessConnectionDocument, RuntimePermissionsDocument, AppGrantMemberCandidatesDocument, ClaimFreeAppAccessDocument, GrantMyAppAccessDocument, CreateAccessTierDocument, UpdateAccessTierDocument, ArchiveAccessTierDocument, GrantAppAccessDocument, RevokeAppAccessDocument, DefineAppFeatureDocument, AppFeaturesDocument, GrantTierFeatureDocument, RevokeTierFeatureDocument, TierFeaturesDocument, } from '../generated/graphql.js';
|
|
2
2
|
/**
|
|
3
3
|
* App access tiers + per-user access grants — exposed as `client.appAccess`
|
|
4
4
|
* (and grouped under `client.admin`).
|
|
@@ -195,4 +195,40 @@ export class AppAccessAPI {
|
|
|
195
195
|
});
|
|
196
196
|
return data.revokeAppAccess;
|
|
197
197
|
}
|
|
198
|
+
// -- Tier features -----------------------------------------------------------
|
|
199
|
+
//
|
|
200
|
+
// Feature keys an access tier grants. A ck-exec hub checks a player's with the node API's
|
|
201
|
+
// `players.features`. The fields keep the game model's names (`gameModelDefineFeature`,
|
|
202
|
+
// ...); they are served beside access tiers.
|
|
203
|
+
/**
|
|
204
|
+
* Define (or re-describe) a feature key for an app. Idempotent on `(appId, featureKey)`.
|
|
205
|
+
* Requires the app-admin `manage_apps` permission.
|
|
206
|
+
*/
|
|
207
|
+
async defineFeature(input) {
|
|
208
|
+
const data = await this.api.request(DefineAppFeatureDocument, { input });
|
|
209
|
+
return data.gameModelDefineFeature;
|
|
210
|
+
}
|
|
211
|
+
/** The feature keys defined for an app. Requires `manage_apps`. */
|
|
212
|
+
async features(appId) {
|
|
213
|
+
const data = await this.api.request(AppFeaturesDocument, { appId });
|
|
214
|
+
return data.gameModelFeatures;
|
|
215
|
+
}
|
|
216
|
+
/** Grant a feature key to an access tier. Requires `manage_apps`. */
|
|
217
|
+
async grantTierFeature(input) {
|
|
218
|
+
const data = await this.api.request(GrantTierFeatureDocument, { input });
|
|
219
|
+
return data.gameModelGrantTierFeature;
|
|
220
|
+
}
|
|
221
|
+
/** Revoke a feature key from an access tier; `true` if a grant was removed. Requires `manage_apps`. */
|
|
222
|
+
async revokeTierFeature(input) {
|
|
223
|
+
const data = await this.api.request(RevokeTierFeatureDocument, { input });
|
|
224
|
+
return data.gameModelRevokeTierFeature;
|
|
225
|
+
}
|
|
226
|
+
/** Tier-to-feature grants for an app, optionally for one tier. Requires `manage_apps`. */
|
|
227
|
+
async tierFeatures(appId, tierId) {
|
|
228
|
+
const data = await this.api.request(TierFeaturesDocument, {
|
|
229
|
+
appId,
|
|
230
|
+
...(tierId !== undefined ? { tierId } : {}),
|
|
231
|
+
});
|
|
232
|
+
return data.gameModelTierFeatures;
|
|
233
|
+
}
|
|
198
234
|
}
|
package/dist/domains/exec.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { DecoderOptions } from '@msgpack/msgpack';
|
|
2
2
|
import type { GraphQLClient } from '../client.js';
|
|
3
3
|
import { CrowdyError } from '../errors.js';
|
|
4
|
-
import { type ExecAppStatusFieldsFragment, type ExecBuildFieldsFragment, type ExecEndpointStatsQuery, type ExecInstancesQuery, type ExecLogsQuery, type ExecModFieldsFragment, type ExecModListingFieldsFragment, ExecModScope, type ExecModSwitchFieldsFragment, type ExecVersionsQuery } from '../generated/graphql.js';
|
|
4
|
+
import { type ExecAppStatusFieldsFragment, type ExecBuildFieldsFragment, type ExecEndpointStatsQuery, type ExecGridClientModFieldsFragment, type ExecInstancesQuery, type ExecLogsQuery, type ExecModClientArtifactQuery, type ExecModClientFieldsFragment, type ExecModFieldsFragment, type ExecModListingFieldsFragment, ExecModScope, type ExecModSwitchFieldsFragment, type ExecVersionsQuery } from '../generated/graphql.js';
|
|
5
5
|
export { ExecModScope };
|
|
6
6
|
/**
|
|
7
7
|
* ck-exec, the hub-and-spoke execution service (dev-tier preview).
|
|
@@ -220,13 +220,39 @@ export interface ExecSourceFile {
|
|
|
220
220
|
path: string;
|
|
221
221
|
content: string;
|
|
222
222
|
}
|
|
223
|
-
/**
|
|
223
|
+
/**
|
|
224
|
+
* A CLIENT half's capability summary, which the build derives from the module and its author
|
|
225
|
+
* cannot declare: the module's imports, the client host calls it can reach, their capability
|
|
226
|
+
* groups, its presentation hooks and exports. Visitors consent to its hash.
|
|
227
|
+
*/
|
|
228
|
+
export interface ExecClientCapabilitySummary {
|
|
229
|
+
version: number;
|
|
230
|
+
target: 'client';
|
|
231
|
+
/** The module's WASM imports as `module.name`. */
|
|
232
|
+
imports: string[];
|
|
233
|
+
/** The client host calls it can reach. */
|
|
234
|
+
hostFunctions: string[];
|
|
235
|
+
/** The host catalog groups of those calls. */
|
|
236
|
+
capabilityGroups: string[];
|
|
237
|
+
/** HUD and overlay hooks among them. */
|
|
238
|
+
presentationHooks: string[];
|
|
239
|
+
/** The functions the module exports. */
|
|
240
|
+
exportedFunctions: string[];
|
|
241
|
+
[field: string]: unknown;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* One module of a build. A CLIENT build's (`kind` `client`) carries its capability summary,
|
|
245
|
+
* the hash visitors consent to and its tick interval; a ck-exec module's are null.
|
|
246
|
+
*/
|
|
247
|
+
export type ExecBuildArtifact = Omit<ExecBuildFieldsFragment['artifacts'][number], '__typename'> & {
|
|
248
|
+
capabilitySummary: ExecClientCapabilitySummary | null;
|
|
249
|
+
};
|
|
250
|
+
/**
|
|
251
|
+
* A build: `queued`, `building`, `succeeded` or `failed`, its log, and one module per crate.
|
|
252
|
+
* `kind` is `exec` for ck-exec modules and `client` for the CLIENT half of a mod.
|
|
253
|
+
*/
|
|
224
254
|
export type ExecBuild = Omit<ExecBuildFieldsFragment, '__typename' | 'artifacts'> & {
|
|
225
|
-
artifacts:
|
|
226
|
-
crate: string;
|
|
227
|
-
digest: string;
|
|
228
|
-
sizeBytes: number;
|
|
229
|
-
}>;
|
|
255
|
+
artifacts: ExecBuildArtifact[];
|
|
230
256
|
};
|
|
231
257
|
/** A starter crate, with its files ready for {@link ExecAPI.build}. */
|
|
232
258
|
export interface ExecStarter {
|
|
@@ -288,10 +314,64 @@ export type ExecAppStatus = Omit<ExecAppStatusFieldsFragment, '__typename'>;
|
|
|
288
314
|
* (call it with {@link execModType}). It runs as its owner while `enabled` and `blocked` is null.
|
|
289
315
|
*/
|
|
290
316
|
export type ExecMod = Omit<ExecModFieldsFragment, '__typename'>;
|
|
291
|
-
/**
|
|
292
|
-
|
|
317
|
+
/**
|
|
318
|
+
* A published mod other grid owners may install (no payments). `clientDigest` and the other
|
|
319
|
+
* `client*` fields describe the CLIENT half it had when published (null without one), which an
|
|
320
|
+
* install attaches to the installer's mod; `clientCapabilitySummary` is that summary parsed,
|
|
321
|
+
* for an installer to review first.
|
|
322
|
+
*/
|
|
323
|
+
export type ExecModListing = Omit<ExecModListingFieldsFragment, '__typename'> & {
|
|
324
|
+
clientCapabilitySummary: ExecClientCapabilitySummary | null;
|
|
325
|
+
};
|
|
293
326
|
/** A rung of the app's mods kill ladder that is off. */
|
|
294
327
|
export type ExecModSwitch = Omit<ExecModSwitchFieldsFragment, '__typename'>;
|
|
328
|
+
/**
|
|
329
|
+
* The CLIENT half attached to a mod: browser WASM built from a `crowdy-client-sdk` crate, which
|
|
330
|
+
* the mod's grid serves to visitors who consent to its `capabilityHash` or trust its author.
|
|
331
|
+
*/
|
|
332
|
+
export type ExecModClient = Omit<ExecModClientFieldsFragment, '__typename'> & {
|
|
333
|
+
capabilitySummary: ExecClientCapabilitySummary | null;
|
|
334
|
+
};
|
|
335
|
+
/**
|
|
336
|
+
* A CLIENT half a grid serves, with the caller's consent and their trust in its author.
|
|
337
|
+
* `capabilitySummary` and `authorCapabilitySummary` are the two JSON fields parsed (null when
|
|
338
|
+
* they do not parse); the author's is the union a one-per-author trust prompt shows.
|
|
339
|
+
*/
|
|
340
|
+
export type ExecGridClientMod = Omit<ExecGridClientModFieldsFragment, '__typename'> & {
|
|
341
|
+
capabilitySummary: ExecClientCapabilitySummary | null;
|
|
342
|
+
authorCapabilitySummary: ExecClientCapabilitySummary | null;
|
|
343
|
+
};
|
|
344
|
+
/**
|
|
345
|
+
* A served CLIENT half's module as the game API returns it: `wasmBase64`, the `digest` to check
|
|
346
|
+
* it against, and `fuelPerDispatch` (a decimal string) to load into its `ck_fuel` global.
|
|
347
|
+
*/
|
|
348
|
+
export type ExecModClientArtifact = Omit<ExecModClientArtifactQuery['execModClientArtifact'], '__typename'> & {
|
|
349
|
+
capabilitySummary: ExecClientCapabilitySummary | null;
|
|
350
|
+
};
|
|
351
|
+
/** {@link ExecModClientArtifact} decoded and checked for `PlayerCodeBroker` (`engine: 'ck-exec'`). */
|
|
352
|
+
export interface ExecModClientArtifactBytes {
|
|
353
|
+
modId: string;
|
|
354
|
+
/** The mod's name: its name on the page's grid event bus. */
|
|
355
|
+
name: string;
|
|
356
|
+
gridId: string;
|
|
357
|
+
clientVersion: number;
|
|
358
|
+
/** The module; its SHA-256 is `digest`. */
|
|
359
|
+
bytes: ArrayBuffer;
|
|
360
|
+
/** SHA-256 of `bytes`, lowercase hex. */
|
|
361
|
+
digest: string;
|
|
362
|
+
sizeBytes: number;
|
|
363
|
+
/** Fuel for each dispatch (init, tick, invoke, event). */
|
|
364
|
+
fuelPerDispatch: bigint;
|
|
365
|
+
/** How often to tick it, in milliseconds (16-1000). */
|
|
366
|
+
tickIntervalMs: number;
|
|
367
|
+
capabilitySummaryJson: string;
|
|
368
|
+
/** What the player consented to; its `hostFunctions` bound the module in the broker. */
|
|
369
|
+
capabilitySummary: ExecClientCapabilitySummary;
|
|
370
|
+
capabilityHash: string;
|
|
371
|
+
abiVersion: number;
|
|
372
|
+
}
|
|
373
|
+
/** The CLIENT ABI version the player runtime's glue implements (crowdy-client-sdk `ABI_VERSION`). */
|
|
374
|
+
export declare const EXEC_CLIENT_ABI_VERSION = 0;
|
|
295
375
|
/** The node type players call a mod by: `mod:<name>`, keyed by its grid id. */
|
|
296
376
|
export declare function execModType(name: string): string;
|
|
297
377
|
export interface ExecLogsOptions {
|
|
@@ -314,8 +394,8 @@ export interface ExecEndpointStatsOptions {
|
|
|
314
394
|
}
|
|
315
395
|
/**
|
|
316
396
|
* `client.exec`: connecting players to ck-exec, building and deploying an app's nodes (and
|
|
317
|
-
* the starter packs),
|
|
318
|
-
*
|
|
397
|
+
* the starter packs), operating them (logs, instances, versions, rollback, the kill switch,
|
|
398
|
+
* developer connections), and players' mods with their CLIENT halves.
|
|
319
399
|
*/
|
|
320
400
|
export declare class ExecAPI {
|
|
321
401
|
private readonly graphql;
|
|
@@ -393,9 +473,9 @@ export declare class ExecAPI {
|
|
|
393
473
|
* player. Requires `write_server_code` in the app.
|
|
394
474
|
*/
|
|
395
475
|
modBuild(appId: string, crate: ExecCrate): Promise<ExecBuild>;
|
|
396
|
-
/** A mod build of yours. */
|
|
476
|
+
/** A mod build of yours: a mod's (`kind` `exec`) or a CLIENT half's (`kind` `client`). */
|
|
397
477
|
modBuildStatus(appId: string, buildId: string): Promise<ExecBuild>;
|
|
398
|
-
/** Polls a mod build until it succeeds or fails, like {@link waitForBuild}. */
|
|
478
|
+
/** Polls a mod build, server or CLIENT, until it succeeds or fails, like {@link waitForBuild}. */
|
|
399
479
|
waitForModBuild(appId: string, buildId: string, options?: {
|
|
400
480
|
intervalMs?: number;
|
|
401
481
|
timeoutMs?: number;
|
|
@@ -421,11 +501,14 @@ export declare class ExecAPI {
|
|
|
421
501
|
modLogs(appId: string, gridId: string, name: string, options?: Omit<ExecLogsOptions, 'nodeType' | 'key'>): Promise<ExecLogLine[]>;
|
|
422
502
|
/** Publishes a mod of yours, at its current version, for other grid owners to install. */
|
|
423
503
|
modPublish(appId: string, gridId: string, name: string, title: string, description?: string): Promise<ExecModListing>;
|
|
424
|
-
/** The app's listed mods, most installed first. */
|
|
504
|
+
/** The app's listed mods, most installed first, each with the CLIENT half it carries, if any. */
|
|
425
505
|
modListings(appId: string): Promise<ExecModListing[]>;
|
|
426
506
|
/** Delists a listing you published; installed copies keep running. */
|
|
427
507
|
modUnpublish(appId: string, listingId: string): Promise<boolean>;
|
|
428
|
-
/**
|
|
508
|
+
/**
|
|
509
|
+
* Installs a listing onto a grid you own as your own mod, switched off, with the listing's
|
|
510
|
+
* CLIENT half if it has one; visitors, you too, consent to that CLIENT half afresh.
|
|
511
|
+
*/
|
|
429
512
|
modInstall(appId: string, gridId: string, name: string, listingId: string): Promise<ExecMod>;
|
|
430
513
|
/** The app's mods by grid or owner, or all of them. Requires `view_compute_diagnostics`. */
|
|
431
514
|
appMods(appId: string, options?: {
|
|
@@ -443,6 +526,70 @@ export declare class ExecAPI {
|
|
|
443
526
|
target?: string;
|
|
444
527
|
reason?: string;
|
|
445
528
|
}): Promise<ExecModSwitch[]>;
|
|
529
|
+
/**
|
|
530
|
+
* Builds the CLIENT half of a mod from one `crowdy-client-sdk` crate: compiled for
|
|
531
|
+
* `wasm32-unknown-unknown` in the build sandbox, fuel-metered and optimized there, checked
|
|
532
|
+
* against the CLIENT ABI and at most 512 KiB, with its capability summary derived from the
|
|
533
|
+
* module. Its `Cargo.toml` may have only `[package]`, `[lib]` as a cdylib, `[dependencies]` on
|
|
534
|
+
* `crowdy-client-sdk`, `serde` and `serde_json`, and `[package.metadata.crowdy]
|
|
535
|
+
* tick_interval_ms`. Returns at once with the build queued (`kind` `client`); wait with
|
|
536
|
+
* {@link waitForModBuild}, then attach it with {@link modClientDeploy}. One build, server or
|
|
537
|
+
* CLIENT, at a time per player. Requires `write_client_code` in the app.
|
|
538
|
+
*/
|
|
539
|
+
modClientBuild(appId: string, crate: ExecCrate): Promise<ExecBuild>;
|
|
540
|
+
/**
|
|
541
|
+
* Attaches a succeeded CLIENT build of yours to your mod `name` on a grid you own, replacing
|
|
542
|
+
* the CLIENT half it had; its `clientVersion` rises by one. The mod must exist and run as
|
|
543
|
+
* you. A visitor's consent carries over only while the capability hash is unchanged.
|
|
544
|
+
* Requires being the grid's owner, `write_client_code` on the app tier and the grid, and the
|
|
545
|
+
* app's code admission admitting the new CLIENT version.
|
|
546
|
+
*/
|
|
547
|
+
modClientDeploy(appId: string, gridId: string, name: string, buildId: string): Promise<ExecModClient>;
|
|
548
|
+
/** Detaches the CLIENT half of a mod on your grid, with every visitor's consent to it; the mod keeps running. */
|
|
549
|
+
modClientDelete(appId: string, gridId: string, name: string): Promise<boolean>;
|
|
550
|
+
/**
|
|
551
|
+
* The CLIENT halves a grid serves: those of its mods that are switched on, not stopped by the
|
|
552
|
+
* kill ladder, running as the grid's owner and admitted. Each has its capability summary and
|
|
553
|
+
* hash and whether you consented to it, and its author's union summary and hash and whether
|
|
554
|
+
* you trust them. Prompt once per author ({@link trustAuthor}) or per CLIENT half
|
|
555
|
+
* ({@link consentClientMod}), fetch with {@link modClientArtifactBytes}, cache by `digest`, and
|
|
556
|
+
* poll this to stop the CLIENT halves that are no longer listed or whose digest changed:
|
|
557
|
+
* `ExecClientHalves` does all of that for a game. Requires access to the app.
|
|
558
|
+
*/
|
|
559
|
+
gridClientMods(appId: string, gridId: string): Promise<ExecGridClientMod[]>;
|
|
560
|
+
/**
|
|
561
|
+
* Consents to run one mod's CLIENT half in your browser at `capabilityHash`, the one
|
|
562
|
+
* {@link gridClientMods} showed you. A CLIENT half whose capabilities change carries a new hash,
|
|
563
|
+
* and the consent stops holding until you consent again; a hash that is not the current one
|
|
564
|
+
* is refused as `CONFLICT` (`CrowdyGraphQLError.code`). Requires access to the app.
|
|
565
|
+
*/
|
|
566
|
+
consentClientMod(appId: string, modId: string, capabilityHash: string): Promise<boolean>;
|
|
567
|
+
/**
|
|
568
|
+
* Trusts one author's CLIENT halves on a grid you stand in, at the hash of their union
|
|
569
|
+
* (`authorCapabilityHash`): the trust covers their CLIENT halves there while the union is no
|
|
570
|
+
* wider, and consents to each current one at its own hash. A hash that is not the current one
|
|
571
|
+
* is `CONFLICT`; not standing in the grid, or an author with nothing served there, is
|
|
572
|
+
* `NOT_FOUND`. Requires access to the app.
|
|
573
|
+
*/
|
|
574
|
+
trustAuthor(appId: string, gridId: string, authorId: string, capabilityHash: string): Promise<boolean>;
|
|
575
|
+
/**
|
|
576
|
+
* A served CLIENT half's module, base64, with what the broker needs to run it. Served only to a
|
|
577
|
+
* player holding `run_client_code` in the app, standing in the mod's grid now, who consented
|
|
578
|
+
* to it at its current hash or trusts its author at a union no wider; every refusal is
|
|
579
|
+
* `NOT_FOUND`. At most 12 fetches a minute per player and mod on each API instance
|
|
580
|
+
* (`RATE_LIMITED`): the module never changes for its digest, so cache it by `digest`.
|
|
581
|
+
*/
|
|
582
|
+
modClientArtifact(appId: string, modId: string): Promise<ExecModClientArtifact>;
|
|
583
|
+
/**
|
|
584
|
+
* {@link modClientArtifact} decoded for `PlayerCodeBroker`: the module's bytes, their SHA-256
|
|
585
|
+
* recomputed with WebCrypto, and the fuel budget as a bigint; the exec twin of
|
|
586
|
+
* `marketplace.clientArtifactBytes`. Bytes that differ from `digest`, a module built for a
|
|
587
|
+
* CLIENT ABI other than {@link EXEC_CLIENT_ABI_VERSION}, or a capability summary that does not
|
|
588
|
+
* parse are refused with a {@link CrowdyProtocolError} and never returned. Start the broker
|
|
589
|
+
* with `engine: 'ck-exec'`, `artifactHash: digest`, `fuelPerDispatch`, `tickIntervalMs` and
|
|
590
|
+
* `consentedHostCalls: capabilitySummary.hostFunctions`.
|
|
591
|
+
*/
|
|
592
|
+
modClientArtifactBytes(appId: string, modId: string): Promise<ExecModClientArtifactBytes>;
|
|
446
593
|
/** A host for this player and its connect token (valid for about a minute). */
|
|
447
594
|
endpoint(appId: string, options?: {
|
|
448
595
|
nodeType?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/domains/exec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/domains/exec.ts"],"names":[],"mappings":"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"}
|