@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
|
@@ -4,13 +4,14 @@ import { digestCanonicalJson, sha256Digest, } from '../player-host/json-schema.j
|
|
|
4
4
|
import { parseRustcDiagnostics } from './diagnostics.js';
|
|
5
5
|
import { githubNewRepositoryUrl, githubRepositorySlug } from './github/new-repo.js';
|
|
6
6
|
import { cloneCrowdyStudioProject, crowdyStudioFileKey, normalizeCrowdyStudioPath, projectTargets, CrowdyStudioOfflineError, CrowdyStudioRevisionConflictError, } from './models.js';
|
|
7
|
-
import { parseClientTickIntervalMs } from './client-tick-interval.js';
|
|
8
7
|
import { createCrowdyStudioStarterProject, } from './starter-projects.js';
|
|
9
8
|
/** As ck-exec's mod names. */
|
|
10
9
|
const MOD_NAME = /^[a-z0-9_-]{1,48}$/;
|
|
11
10
|
/** As a ck-exec build's crate names. */
|
|
12
11
|
const CRATE_NAME = /^[a-z][a-z0-9_-]{0,63}$/;
|
|
12
|
+
/** ck-exec's server log levels (`ExecLogLine.level`); a CLIENT half's are crowdy-client-sdk's. */
|
|
13
13
|
const LOG_LEVELS = ['error', 'warn', 'info', 'debug'];
|
|
14
|
+
const PREVIEW_LOG_LINES_KEPT = 100;
|
|
14
15
|
class OperationCancelledError extends Error {
|
|
15
16
|
}
|
|
16
17
|
/**
|
|
@@ -22,7 +23,6 @@ export class CrowdyStudioController {
|
|
|
22
23
|
constructor(options) {
|
|
23
24
|
this.options = options;
|
|
24
25
|
this.state = {
|
|
25
|
-
serverEngine: 'player-compute',
|
|
26
26
|
projects: [],
|
|
27
27
|
project: null,
|
|
28
28
|
personalLibraryFiles: [],
|
|
@@ -39,9 +39,7 @@ export class CrowdyStudioController {
|
|
|
39
39
|
buildOutput: '',
|
|
40
40
|
authoritativeDiagnostics: [],
|
|
41
41
|
localDiagnostics: [],
|
|
42
|
-
runs: [],
|
|
43
42
|
logs: [],
|
|
44
|
-
usage: null,
|
|
45
43
|
wallet: null,
|
|
46
44
|
invokeResult: null,
|
|
47
45
|
};
|
|
@@ -61,14 +59,15 @@ export class CrowdyStudioController {
|
|
|
61
59
|
this.pageVisible = true;
|
|
62
60
|
this.destroyed = false;
|
|
63
61
|
this.modConnection = null;
|
|
62
|
+
this.modLogLines = [];
|
|
63
|
+
this.previewLogLines = [];
|
|
64
|
+
this.previewLogSeq = 0;
|
|
64
65
|
// ----- GitHub repository card ------------------------------------------
|
|
65
66
|
this.githubStatusGeneration = 0;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
throw new Error("serverEngine 'ck-exec' needs the mods option (client.exec)");
|
|
67
|
+
if (!options.mods) {
|
|
68
|
+
throw new Error('Crowdy Studio needs mods (client.exec): the SERVER target runs as a ck-exec mod');
|
|
69
69
|
}
|
|
70
|
-
this.mods =
|
|
71
|
-
this.state = { ...this.state, serverEngine };
|
|
70
|
+
this.mods = options.mods;
|
|
72
71
|
if (options.onStateChange)
|
|
73
72
|
this.listeners.add(options.onStateChange);
|
|
74
73
|
}
|
|
@@ -198,14 +197,13 @@ export class CrowdyStudioController {
|
|
|
198
197
|
if (this.state.project && !(await this.saveNow())) {
|
|
199
198
|
throw new Error('Resolve or retry the current project save before creating another');
|
|
200
199
|
}
|
|
201
|
-
const modStarter =
|
|
200
|
+
const modStarter = projectTargets(options.kind).includes('SERVER')
|
|
202
201
|
? await this.mods.modStarter(this.options.appId)
|
|
203
202
|
: undefined;
|
|
204
203
|
const input = createCrowdyStudioStarterProject({
|
|
205
204
|
...options,
|
|
206
205
|
...this.scope(),
|
|
207
206
|
...(modStarter ? { modStarter } : {}),
|
|
208
|
-
engine: this.state.serverEngine,
|
|
209
207
|
});
|
|
210
208
|
const project = await this.options.projectProvider.createProject(input);
|
|
211
209
|
this.installProject(project);
|
|
@@ -295,8 +293,7 @@ export class CrowdyStudioController {
|
|
|
295
293
|
buildOutput: '',
|
|
296
294
|
authoritativeDiagnostics: [],
|
|
297
295
|
localDiagnostics: [],
|
|
298
|
-
|
|
299
|
-
logs: [],
|
|
296
|
+
logs: this.clearLogLines(),
|
|
300
297
|
invokeResult: null,
|
|
301
298
|
github: null,
|
|
302
299
|
githubMessage: undefined,
|
|
@@ -433,13 +430,10 @@ export class CrowdyStudioController {
|
|
|
433
430
|
project.metadata = {
|
|
434
431
|
...project.metadata,
|
|
435
432
|
...patch,
|
|
436
|
-
pairingPreference:
|
|
433
|
+
pairingPreference: project.metadata.pairingPreference,
|
|
437
434
|
};
|
|
438
435
|
this.markEdited();
|
|
439
436
|
}
|
|
440
|
-
setPairingPreference(preference) {
|
|
441
|
-
this.updateSettings({ pairingPreference: preference });
|
|
442
|
-
}
|
|
443
437
|
setLocalDiagnostics(diagnostics) {
|
|
444
438
|
this.update({ localDiagnostics: [...diagnostics] });
|
|
445
439
|
}
|
|
@@ -866,7 +860,7 @@ export class CrowdyStudioController {
|
|
|
866
860
|
try {
|
|
867
861
|
if (targets.length === 1) {
|
|
868
862
|
const target = targets[0];
|
|
869
|
-
const compiled = await this.compileTarget(project, target,
|
|
863
|
+
const compiled = await this.compileTarget(project, target, operation);
|
|
870
864
|
if (!compiled) {
|
|
871
865
|
return {
|
|
872
866
|
deployment: draft ? 'DRAFT' : 'LIVE',
|
|
@@ -885,8 +879,8 @@ export class CrowdyStudioController {
|
|
|
885
879
|
}
|
|
886
880
|
else {
|
|
887
881
|
// Compile the client first so a client failure never publishes a new
|
|
888
|
-
// server version
|
|
889
|
-
const client = await this.compileTarget(project, 'CLIENT',
|
|
882
|
+
// server version.
|
|
883
|
+
const client = await this.compileTarget(project, 'CLIENT', operation);
|
|
890
884
|
if (!client) {
|
|
891
885
|
return {
|
|
892
886
|
deployment: draft ? 'DRAFT' : 'LIVE',
|
|
@@ -896,7 +890,7 @@ export class CrowdyStudioController {
|
|
|
896
890
|
message: this.state.runtime.message ?? 'Client compilation failed',
|
|
897
891
|
};
|
|
898
892
|
}
|
|
899
|
-
const server = await this.compileTarget(project, 'SERVER',
|
|
893
|
+
const server = await this.compileTarget(project, 'SERVER', operation);
|
|
900
894
|
if (!server) {
|
|
901
895
|
return {
|
|
902
896
|
deployment: draft ? 'DRAFT' : 'LIVE',
|
|
@@ -908,17 +902,6 @@ export class CrowdyStudioController {
|
|
|
908
902
|
}
|
|
909
903
|
this.checkOperation(operation);
|
|
910
904
|
// A mod has no client pairing: its players call it by name.
|
|
911
|
-
if (!this.mods) {
|
|
912
|
-
const requiredClientName = project.metadata.pairingPreference === 'REQUIRED'
|
|
913
|
-
? client.name
|
|
914
|
-
: null;
|
|
915
|
-
await this.options.playerCompute.setRequires({
|
|
916
|
-
...this.scope(),
|
|
917
|
-
serverName: server.name,
|
|
918
|
-
requiredClientName,
|
|
919
|
-
});
|
|
920
|
-
this.checkOperation(operation);
|
|
921
|
-
}
|
|
922
905
|
await this.enableServer(server.name, operation);
|
|
923
906
|
await this.runClient(client, operation);
|
|
924
907
|
}
|
|
@@ -969,7 +952,7 @@ export class CrowdyStudioController {
|
|
|
969
952
|
}
|
|
970
953
|
}
|
|
971
954
|
}
|
|
972
|
-
async compileTarget(project, target,
|
|
955
|
+
async compileTarget(project, target, operation) {
|
|
973
956
|
if (!this.canTarget(target, 'write')) {
|
|
974
957
|
throw new Error(`${target} authoring is unavailable on this grid`);
|
|
975
958
|
}
|
|
@@ -984,59 +967,9 @@ export class CrowdyStudioController {
|
|
|
984
967
|
message: `Submitting ${name}`,
|
|
985
968
|
},
|
|
986
969
|
});
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
: this.buildClientHalf(name, files, operation);
|
|
991
|
-
}
|
|
992
|
-
// The server resolves the source from the project itself: the saved
|
|
993
|
-
// files at the project revision, or — for a GITHUB project — the rust at
|
|
994
|
-
// the commit the mirror is at. No file bodies travel with a deploy.
|
|
995
|
-
const deployed = await this.options.playerCompute.deploy({
|
|
996
|
-
...this.scope(),
|
|
997
|
-
projectId: project.projectId,
|
|
998
|
-
name,
|
|
999
|
-
target: target,
|
|
1000
|
-
...(project.github?.sha ? { commitSha: project.github.sha } : {}),
|
|
1001
|
-
tickHz: target === 'SERVER' ? 1 : undefined,
|
|
1002
|
-
draft,
|
|
1003
|
-
});
|
|
1004
|
-
this.checkOperation(operation);
|
|
1005
|
-
const limit = this.options.compilePollLimit ?? 60;
|
|
1006
|
-
const pollMs = this.options.compilePollMs ?? 1500;
|
|
1007
|
-
for (let attempt = 0; attempt < limit; attempt++) {
|
|
1008
|
-
const versions = await this.options.playerCompute.versions({
|
|
1009
|
-
...this.scope(),
|
|
1010
|
-
name,
|
|
1011
|
-
});
|
|
1012
|
-
this.checkOperation(operation);
|
|
1013
|
-
const version = versions.find((candidate) => candidate.versionId === deployed.versionId);
|
|
1014
|
-
const status = version?.compileStatus.toLowerCase();
|
|
1015
|
-
if (status === 'succeeded' || status === 'success') {
|
|
1016
|
-
this.recordBuild(target, version?.compileLog ?? '');
|
|
1017
|
-
return { target, name, versionId: deployed.versionId };
|
|
1018
|
-
}
|
|
1019
|
-
if (status === 'failed' || status === 'error') {
|
|
1020
|
-
const log = version?.compileLog ?? 'Compilation failed without output';
|
|
1021
|
-
this.recordBuild(target, log);
|
|
1022
|
-
this.update({
|
|
1023
|
-
runtime: {
|
|
1024
|
-
phase: 'COMPILE_FAILED',
|
|
1025
|
-
target,
|
|
1026
|
-
message: `${name} failed to compile`,
|
|
1027
|
-
},
|
|
1028
|
-
});
|
|
1029
|
-
return null;
|
|
1030
|
-
}
|
|
1031
|
-
await this.sleep(pollMs);
|
|
1032
|
-
this.checkOperation(operation);
|
|
1033
|
-
}
|
|
1034
|
-
const timeout = `Compilation timed out after ${limit} polls`;
|
|
1035
|
-
this.recordBuild(target, timeout);
|
|
1036
|
-
this.update({
|
|
1037
|
-
runtime: { phase: 'COMPILE_FAILED', target, message: timeout },
|
|
1038
|
-
});
|
|
1039
|
-
return null;
|
|
970
|
+
return target === 'SERVER'
|
|
971
|
+
? this.buildMod(name, files, operation)
|
|
972
|
+
: this.buildClientHalf(name, files, operation);
|
|
1040
973
|
}
|
|
1041
974
|
/**
|
|
1042
975
|
* The SERVER target as a ck-exec mod: the project's server crate files, built on the
|
|
@@ -1239,63 +1172,35 @@ export class CrowdyStudioController {
|
|
|
1239
1172
|
this.checkOperation(operation);
|
|
1240
1173
|
}
|
|
1241
1174
|
async setServerEnabled(name, enabled) {
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
await this.mods.modSetEnabled(appId, gridId, name, enabled);
|
|
1245
|
-
return;
|
|
1246
|
-
}
|
|
1247
|
-
await this.options.playerCompute.setEnabled({
|
|
1248
|
-
...this.scope(),
|
|
1249
|
-
name,
|
|
1250
|
-
enabled,
|
|
1251
|
-
});
|
|
1175
|
+
const { appId, gridId } = this.scope();
|
|
1176
|
+
await this.mods.modSetEnabled(appId, gridId, name, enabled);
|
|
1252
1177
|
}
|
|
1253
1178
|
async runClient(compiled, operation) {
|
|
1254
1179
|
if (!this.canTarget('CLIENT', 'run')) {
|
|
1255
1180
|
throw new Error(`${compiled.name} compiled successfully, but run_client_code is unavailable on this grid`);
|
|
1256
1181
|
}
|
|
1257
1182
|
const runtime = this.clientRuntimeOptions();
|
|
1258
|
-
|
|
1259
|
-
let
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
}
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
});
|
|
1280
|
-
this.checkOperation(operation);
|
|
1281
|
-
if (artifact.versionId !== compiled.versionId ||
|
|
1282
|
-
!artifact.artifactHash ||
|
|
1283
|
-
artifact.bytes.byteLength === 0) {
|
|
1284
|
-
throw new Error('Client artifact did not match the compiled project version');
|
|
1285
|
-
}
|
|
1286
|
-
bytes = artifact.bytes;
|
|
1287
|
-
brokerOptions = {
|
|
1288
|
-
...runtime,
|
|
1289
|
-
artifactHash: artifact.artifactHash,
|
|
1290
|
-
fuelPerDispatch: artifact.fuelPerDispatch,
|
|
1291
|
-
onPresentation: this.options.onPresentation,
|
|
1292
|
-
tickIntervalMs: this.options.clientTickIntervalMs ??
|
|
1293
|
-
parseClientTickIntervalMs(this.requireProject().files.find((file) => file.target === 'CLIENT' && file.path === 'Cargo.toml')?.content),
|
|
1294
|
-
};
|
|
1295
|
-
}
|
|
1296
|
-
const broker = this.options.brokerFactory?.(brokerOptions) ??
|
|
1297
|
-
new PlayerCodeBroker(brokerOptions);
|
|
1298
|
-
await broker.start(bytes);
|
|
1183
|
+
const half = await this.attachClientHalf(compiled, operation);
|
|
1184
|
+
let broker = null;
|
|
1185
|
+
const brokerOptions = {
|
|
1186
|
+
...runtime,
|
|
1187
|
+
engine: 'ck-exec',
|
|
1188
|
+
moduleName: half.name,
|
|
1189
|
+
artifactHash: half.digest,
|
|
1190
|
+
fuelPerDispatch: half.fuelPerDispatch,
|
|
1191
|
+
consentedHostCalls: half.capabilitySummary.hostFunctions,
|
|
1192
|
+
onPresentation: this.options.onPresentation,
|
|
1193
|
+
// Only the preview running now logs into the project's Logs.
|
|
1194
|
+
onLog: (line) => {
|
|
1195
|
+
if (broker && this.broker === broker)
|
|
1196
|
+
this.recordPreviewLog(compiled.name, line);
|
|
1197
|
+
},
|
|
1198
|
+
tickIntervalMs: this.options.clientTickIntervalMs ?? half.tickIntervalMs,
|
|
1199
|
+
};
|
|
1200
|
+
broker =
|
|
1201
|
+
this.options.brokerFactory?.(brokerOptions) ??
|
|
1202
|
+
new PlayerCodeBroker(brokerOptions);
|
|
1203
|
+
await broker.start(half.bytes);
|
|
1299
1204
|
this.checkOperation(operation);
|
|
1300
1205
|
const previous = this.broker;
|
|
1301
1206
|
this.broker = broker;
|
|
@@ -1322,17 +1227,15 @@ export class CrowdyStudioController {
|
|
|
1322
1227
|
this.broker = null;
|
|
1323
1228
|
}
|
|
1324
1229
|
}
|
|
1325
|
-
//
|
|
1326
|
-
//
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
failures.push(`Server: ${errorMessage(error)}`);
|
|
1335
|
-
}
|
|
1230
|
+
// A CLIENT-only project's CLIENT half rides a mod too: switched off, it is no longer served
|
|
1231
|
+
// to visitors.
|
|
1232
|
+
serverStopped = false;
|
|
1233
|
+
try {
|
|
1234
|
+
await this.setServerEnabled(projectModName(project), false);
|
|
1235
|
+
serverStopped = true;
|
|
1236
|
+
}
|
|
1237
|
+
catch (error) {
|
|
1238
|
+
failures.push(`Server: ${errorMessage(error)}`);
|
|
1336
1239
|
}
|
|
1337
1240
|
const result = { serverStopped, clientStopped, failures };
|
|
1338
1241
|
this.update({
|
|
@@ -1355,18 +1258,7 @@ export class CrowdyStudioController {
|
|
|
1355
1258
|
if (!projectTargets(project.kind).includes('SERVER')) {
|
|
1356
1259
|
throw new Error('Invoke requires a SERVER target');
|
|
1357
1260
|
}
|
|
1358
|
-
|
|
1359
|
-
const result = await this.callMod(moduleNameFor(project, 'SERVER'), exportName.trim() || 'state', paramsJson);
|
|
1360
|
-
this.checkAgentOperation(agentOperation);
|
|
1361
|
-
this.update({ invokeResult: result });
|
|
1362
|
-
return result;
|
|
1363
|
-
}
|
|
1364
|
-
const result = await this.options.playerCompute.invoke({
|
|
1365
|
-
...this.scope(),
|
|
1366
|
-
moduleName: moduleNameFor(project, 'SERVER'),
|
|
1367
|
-
exportName: exportName.trim() || 'invoke',
|
|
1368
|
-
paramsJson: paramsJson?.trim() || null,
|
|
1369
|
-
});
|
|
1261
|
+
const result = await this.callMod(moduleNameFor(project, 'SERVER'), exportName.trim() || 'state', paramsJson);
|
|
1370
1262
|
this.checkAgentOperation(agentOperation);
|
|
1371
1263
|
this.update({ invokeResult: result });
|
|
1372
1264
|
return result;
|
|
@@ -1433,54 +1325,47 @@ export class CrowdyStudioController {
|
|
|
1433
1325
|
this.modConnection = null;
|
|
1434
1326
|
void open?.connection.then((connection) => connection.close(), () => { });
|
|
1435
1327
|
}
|
|
1328
|
+
clearLogLines() {
|
|
1329
|
+
this.modLogLines = [];
|
|
1330
|
+
this.previewLogLines = [];
|
|
1331
|
+
return [];
|
|
1332
|
+
}
|
|
1333
|
+
/** The mod's lines and the preview's, newest first. */
|
|
1334
|
+
mergedLogLines() {
|
|
1335
|
+
return [...this.previewLogLines, ...this.modLogLines].sort((a, b) => (Date.parse(b.at) || 0) - (Date.parse(a.at) || 0));
|
|
1336
|
+
}
|
|
1337
|
+
/** A `crowdy::log` line of the CLIENT half this browser previews; the last 100 are kept. */
|
|
1338
|
+
recordPreviewLog(moduleName, line) {
|
|
1339
|
+
if (this.destroyed)
|
|
1340
|
+
return;
|
|
1341
|
+
this.previewLogSeq += 1;
|
|
1342
|
+
this.previewLogLines = [
|
|
1343
|
+
{
|
|
1344
|
+
id: `preview-${this.previewLogSeq}`,
|
|
1345
|
+
source: 'preview',
|
|
1346
|
+
moduleName,
|
|
1347
|
+
level: line.level,
|
|
1348
|
+
at: new Date().toISOString(),
|
|
1349
|
+
text: line.message,
|
|
1350
|
+
},
|
|
1351
|
+
...this.previewLogLines,
|
|
1352
|
+
].slice(0, PREVIEW_LOG_LINES_KEPT);
|
|
1353
|
+
this.update({ logs: this.mergedLogLines() });
|
|
1354
|
+
}
|
|
1436
1355
|
async refreshSurface(surface) {
|
|
1437
1356
|
if (!this.state.project)
|
|
1438
1357
|
return;
|
|
1439
|
-
const serverName = this.state.project.metadata.serverModuleName;
|
|
1440
|
-
if (this.mods && surface !== 'usage') {
|
|
1441
|
-
// ck-exec records no runs; a mod's log is its own `ctx.log` lines.
|
|
1442
|
-
if (surface === 'runs') {
|
|
1443
|
-
this.update({ runs: [] });
|
|
1444
|
-
return;
|
|
1445
|
-
}
|
|
1446
|
-
const modName = projectModNameOrNull(this.state.project);
|
|
1447
|
-
const lines = modName
|
|
1448
|
-
? await this.mods.modLogs(this.options.appId, this.options.gridId, modName, {
|
|
1449
|
-
limit: 50,
|
|
1450
|
-
})
|
|
1451
|
-
: [];
|
|
1452
|
-
this.update({ logs: lines.map((line) => modLogRow(modName, line)) });
|
|
1453
|
-
return;
|
|
1454
|
-
}
|
|
1455
|
-
if (surface === 'runs') {
|
|
1456
|
-
this.update({
|
|
1457
|
-
runs: await this.options.playerCompute.runs({
|
|
1458
|
-
...this.scope(),
|
|
1459
|
-
...(serverName ? { moduleName: serverName } : {}),
|
|
1460
|
-
limit: 50,
|
|
1461
|
-
offset: 0,
|
|
1462
|
-
}),
|
|
1463
|
-
});
|
|
1464
|
-
return;
|
|
1465
|
-
}
|
|
1466
1358
|
if (surface === 'logs') {
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
});
|
|
1359
|
+
// The `ctx.log` lines of the project's mod, which a CLIENT-only project's CLIENT half rides.
|
|
1360
|
+
const name = projectModNameOrNull(this.state.project);
|
|
1361
|
+
const lines = name
|
|
1362
|
+
? await this.mods.modLogs(this.options.appId, this.options.gridId, name, { limit: 50 })
|
|
1363
|
+
: [];
|
|
1364
|
+
this.modLogLines = lines.map((line) => modLogLine(name, line));
|
|
1365
|
+
this.update({ logs: this.mergedLogLines() });
|
|
1474
1366
|
return;
|
|
1475
1367
|
}
|
|
1476
|
-
|
|
1477
|
-
const [usage, wallet] = await Promise.all([
|
|
1478
|
-
!this.mods
|
|
1479
|
-
? this.options.playerCompute.usage({ appId: this.options.appId })
|
|
1480
|
-
: Promise.resolve(null),
|
|
1481
|
-
this.options.playerWallet?.balance() ?? Promise.resolve(null),
|
|
1482
|
-
]);
|
|
1483
|
-
this.update({ usage: usage ? normalizeUsage(usage) : null, wallet });
|
|
1368
|
+
this.update({ wallet: (await this.options.playerWallet?.balance()) ?? null });
|
|
1484
1369
|
}
|
|
1485
1370
|
destroy() {
|
|
1486
1371
|
if (this.destroyed)
|
|
@@ -1783,19 +1668,17 @@ function modNameProblem(project) {
|
|
|
1783
1668
|
const LEGACY_CLIENT_CRATE = 'This CLIENT crate depends on crowdy-compute-sdk, legacy player compute. On ck-exec a CLIENT ' +
|
|
1784
1669
|
'target is a mod\u2019s CLIENT half, one crowdy-client-sdk crate: in Cargo.toml replace the ' +
|
|
1785
1670
|
'crowdy-compute-sdk line with crowdy-client-sdk = "0.1.0", and in src/ use crowdy_client_sdk ' +
|
|
1786
|
-
'in place of crowdy_compute_sdk. Its host calls are the same
|
|
1787
|
-
|
|
1788
|
-
|
|
1671
|
+
'in place of crowdy_compute_sdk. Its host calls are the same less the Game Model, sessions and ' +
|
|
1672
|
+
'grid state (grid_state_get / grid_state_set): the mod\u2019s server half, a hub keyed by the ' +
|
|
1673
|
+
'grid, holds grid state now.';
|
|
1674
|
+
function modLogLine(moduleName, line) {
|
|
1789
1675
|
return {
|
|
1790
|
-
|
|
1676
|
+
id: line.id,
|
|
1677
|
+
source: 'mod',
|
|
1791
1678
|
moduleName,
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
fuelUsed: '0',
|
|
1796
|
-
success: level !== 'error',
|
|
1797
|
-
errorMessage: line.text,
|
|
1798
|
-
level,
|
|
1679
|
+
level: LOG_LEVELS[line.level] ?? 'debug',
|
|
1680
|
+
at: line.at,
|
|
1681
|
+
text: line.text,
|
|
1799
1682
|
};
|
|
1800
1683
|
}
|
|
1801
1684
|
function moduleNameFor(project, target) {
|
|
@@ -1838,18 +1721,6 @@ function upsertReference(files, next) {
|
|
|
1838
1721
|
...files.filter((file) => file.source !== next.source || file.id !== next.id),
|
|
1839
1722
|
];
|
|
1840
1723
|
}
|
|
1841
|
-
function normalizeUsage(value) {
|
|
1842
|
-
return {
|
|
1843
|
-
hourUnitsUsed: String(value.hourUnitsUsed),
|
|
1844
|
-
dayUnitsUsed: String(value.dayUnitsUsed),
|
|
1845
|
-
unitsPerHour: value.unitsPerHour == null ? null : String(value.unitsPerHour),
|
|
1846
|
-
unitsPerDay: value.unitsPerDay == null ? null : String(value.unitsPerDay),
|
|
1847
|
-
compilesThisHour: value.compilesThisHour,
|
|
1848
|
-
maxCompilesPerHour: value.maxCompilesPerHour,
|
|
1849
|
-
gateStatus: value.gateStatus,
|
|
1850
|
-
gateReason: value.gateReason ?? null,
|
|
1851
|
-
};
|
|
1852
|
-
}
|
|
1853
1724
|
function applyValidatedPatch(baseline, input) {
|
|
1854
1725
|
if (input.changes.length < 1 || input.changes.length > 16) {
|
|
1855
1726
|
throw new Error('Atomic patch must contain 1 to 16 file changes');
|
|
@@ -1,19 +1,10 @@
|
|
|
1
1
|
import { type CrowdyStudioTarget } from './models.js';
|
|
2
2
|
export type CrowdyStudioDiagnosticSeverity = 'error' | 'warning' | 'info' | 'hint';
|
|
3
3
|
/**
|
|
4
|
-
* Where a diagnostic came from, which is what an editor filters on.
|
|
5
|
-
*
|
|
6
|
-
* `'runtime'` was already in CrowdyCPP's enum and missing here, so the two SDKs disagreed
|
|
7
|
-
* about the shape they both claim to share; adding `'model-lint'` was the moment to close
|
|
8
|
-
* that rather than widen it.
|
|
9
|
-
*
|
|
10
|
-
* `'model-lint'` is the server's `gameModelLint`, and it is a different kind of answer from
|
|
11
|
-
* the other three. Those describe code the developer is editing. This describes whether the
|
|
12
|
-
* app's game model hangs together at all — a container naming a type nobody defined, a
|
|
13
|
-
* function calling one that does not exist — which has no file and no line, and which no
|
|
14
|
-
* amount of reading the open document would reveal.
|
|
4
|
+
* Where a diagnostic came from, which is what an editor filters on. CrowdyCPP's enum has
|
|
5
|
+
* the same three.
|
|
15
6
|
*/
|
|
16
|
-
export type CrowdyStudioDiagnosticSource = 'rustc' | 'local-advisory' | 'runtime'
|
|
7
|
+
export type CrowdyStudioDiagnosticSource = 'rustc' | 'local-advisory' | 'runtime';
|
|
17
8
|
export interface CrowdyStudioDiagnostic {
|
|
18
9
|
target: CrowdyStudioTarget;
|
|
19
10
|
path: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/crowdy-studio/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,8BAA8B,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnF
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/crowdy-studio/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,8BAA8B,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnF;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GACpC,OAAO,GACP,gBAAgB,GAChB,SAAS,CAAC;AAEd,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,8BAA8B,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,4BAA4B,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,aAAa,EAAE,kBAAkB,GAChC,sBAAsB,EAAE,CA8E1B"}
|
|
@@ -69,11 +69,9 @@ export declare class CrowdyStudioDomShell {
|
|
|
69
69
|
private readonly settingsDescription;
|
|
70
70
|
private readonly serverModuleName;
|
|
71
71
|
private readonly clientModuleName;
|
|
72
|
-
private readonly pairing;
|
|
73
72
|
private readonly problemsPanel;
|
|
74
73
|
private readonly buildPanel;
|
|
75
74
|
private readonly logsPanel;
|
|
76
|
-
private readonly runsPanel;
|
|
77
75
|
private readonly invokePanel;
|
|
78
76
|
private readonly invokeExport;
|
|
79
77
|
private readonly invokeParams;
|
|
@@ -108,7 +106,7 @@ export declare class CrowdyStudioDomShell {
|
|
|
108
106
|
private createMenu;
|
|
109
107
|
private createPanel;
|
|
110
108
|
private activatePanel;
|
|
111
|
-
/** Poll logs
|
|
109
|
+
/** Poll logs only while their panel is both selected and shown. */
|
|
112
110
|
private syncPanelPolling;
|
|
113
111
|
private renderProjects;
|
|
114
112
|
private renderSaveState;
|
|
@@ -125,7 +123,7 @@ export declare class CrowdyStudioDomShell {
|
|
|
125
123
|
private renderSettings;
|
|
126
124
|
private renderProblems;
|
|
127
125
|
private renderBuild;
|
|
128
|
-
private
|
|
126
|
+
private renderLogLines;
|
|
129
127
|
private run;
|
|
130
128
|
}
|
|
131
129
|
//# sourceMappingURL=dom-shell.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom-shell.d.ts","sourceRoot":"","sources":["../../src/crowdy-studio/dom-shell.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EACL,sBAAsB,EAIvB,MAAM,aAAa,CAAC;AAuCrB;;;;;;;GAOG;AACH;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,kDAAkD;IAClD,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/B,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,0EAA0E;IAC1E,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,KAAK,cAAc,CAAC;IAClD,qEAAqE;IACrE,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,sBAAsB,KAAK,IAAI,CAAC;CAC5D;AAED,qBAAa,oBAAoB;
|
|
1
|
+
{"version":3,"file":"dom-shell.d.ts","sourceRoot":"","sources":["../../src/crowdy-studio/dom-shell.ts"],"names":[],"mappings":"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"}
|