@crowdedkingdoms/crowdyjs 8.8.0 → 8.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/MIGRATION.md +43 -0
  2. package/README.md +1 -1
  3. package/dist/domains/compute.d.ts +12 -1
  4. package/dist/domains/compute.d.ts.map +1 -1
  5. package/dist/domains/compute.js +18 -1
  6. package/dist/generated/graphql.d.ts +60 -0
  7. package/dist/generated/graphql.d.ts.map +1 -1
  8. package/dist/generated/graphql.js +2 -0
  9. package/dist/index.d.ts +2 -2
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2 -2
  12. package/dist/kit/abilities.d.ts +66 -0
  13. package/dist/kit/abilities.d.ts.map +1 -0
  14. package/dist/kit/abilities.js +71 -0
  15. package/dist/kit/blueprints/index.d.ts +2 -0
  16. package/dist/kit/blueprints/index.d.ts.map +1 -1
  17. package/dist/kit/blueprints/index.js +2 -0
  18. package/dist/kit/blueprints/liveops.d.ts +42 -0
  19. package/dist/kit/blueprints/liveops.d.ts.map +1 -0
  20. package/dist/kit/blueprints/liveops.js +170 -0
  21. package/dist/kit/blueprints/moderation.d.ts +32 -0
  22. package/dist/kit/blueprints/moderation.d.ts.map +1 -0
  23. package/dist/kit/blueprints/moderation.js +140 -0
  24. package/dist/kit/index.d.ts +9 -2
  25. package/dist/kit/index.d.ts.map +1 -1
  26. package/dist/kit/index.js +9 -2
  27. package/dist/kit/kit.d.ts +44 -0
  28. package/dist/kit/kit.d.ts.map +1 -1
  29. package/dist/kit/kit.js +35 -1
  30. package/dist/kit/liveops.d.ts +112 -0
  31. package/dist/kit/liveops.d.ts.map +1 -0
  32. package/dist/kit/liveops.js +183 -0
  33. package/dist/kit/loot.d.ts +22 -1
  34. package/dist/kit/loot.d.ts.map +1 -1
  35. package/dist/kit/loot.js +41 -1
  36. package/dist/kit/moderation.d.ts +73 -0
  37. package/dist/kit/moderation.d.ts.map +1 -0
  38. package/dist/kit/moderation.js +103 -0
  39. package/dist/kit/movement.d.ts +78 -0
  40. package/dist/kit/movement.d.ts.map +1 -0
  41. package/dist/kit/movement.js +103 -0
  42. package/dist/kit/npcs.d.ts.map +1 -1
  43. package/dist/kit/racing.d.ts +85 -0
  44. package/dist/kit/racing.d.ts.map +1 -0
  45. package/dist/kit/racing.js +99 -0
  46. package/dist/kit/social.d.ts.map +1 -1
  47. package/dist/kit/telemetry.d.ts +66 -0
  48. package/dist/kit/telemetry.d.ts.map +1 -0
  49. package/dist/kit/telemetry.js +133 -0
  50. package/dist/kit/territory.d.ts +97 -0
  51. package/dist/kit/territory.d.ts.map +1 -0
  52. package/dist/kit/territory.js +114 -0
  53. package/dist/kit/wire.d.ts +51 -0
  54. package/dist/kit/wire.d.ts.map +1 -1
  55. package/dist/kit/wire.js +60 -0
  56. package/package.json +1 -1
@@ -0,0 +1,140 @@
1
+ import { toSnakeCase, trustedAuthorityFields } from './core.js';
2
+ /** Compute the type/function names a moderation blueprint (and its runtime helper) uses. */
3
+ export function moderationNames(typePrefix = '') {
4
+ const fnPrefix = typePrefix ? `${toSnakeCase(typePrefix)}_` : '';
5
+ return {
6
+ reportType: `${typePrefix}ModReport`,
7
+ muteType: `${typePrefix}ModMute`,
8
+ fileReportFn: `${fnPrefix}file_report`,
9
+ resolveReportFn: `${fnPrefix}resolve_report`,
10
+ };
11
+ }
12
+ /**
13
+ * Blueprint for **moderation** (matrix P6) — MODEL + CLIENT, no compute:
14
+ *
15
+ * - `ModReport` containers are the escalation queue: any player files one
16
+ * against a subject (`file_report` is member-instantiable through the
17
+ * runtime helper — the caller's own report row); app admins read the
18
+ * open queue and `resolve_report` with a disposition.
19
+ * - `ModMute` containers are per-player mute lists (client-enforced: the
20
+ * runtime helper filters chat client-side — mutes are personal, not
21
+ * punitive).
22
+ * - ENFORCEMENT stays on existing platform surfaces: admins revoke access
23
+ * tiers / grid permissions; nothing new to trust here.
24
+ *
25
+ * Runtime counterpart: `client.kit(appId).moderation`.
26
+ */
27
+ export function moderationBlueprint(options = {}) {
28
+ const { typePrefix = '' } = options;
29
+ const names = moderationNames(typePrefix);
30
+ const propertyDefinitions = [
31
+ {
32
+ containerTypeName: names.reportType,
33
+ key: 'reporter_user_id',
34
+ valueType: 'string',
35
+ defaultValueJson: '""',
36
+ description: 'Who filed the report.',
37
+ },
38
+ {
39
+ containerTypeName: names.reportType,
40
+ key: 'subject_user_id',
41
+ valueType: 'string',
42
+ defaultValueJson: '""',
43
+ description: 'Who the report is about.',
44
+ },
45
+ {
46
+ containerTypeName: names.reportType,
47
+ key: 'reason',
48
+ valueType: 'string',
49
+ defaultValueJson: '""',
50
+ description: "App-defined category ('harassment', 'cheating', 'spam', ...).",
51
+ },
52
+ {
53
+ containerTypeName: names.reportType,
54
+ key: 'detail',
55
+ valueType: 'string',
56
+ defaultValueJson: '""',
57
+ description: 'Free-text context from the reporter (client-truncated).',
58
+ },
59
+ {
60
+ containerTypeName: names.reportType,
61
+ key: 'status',
62
+ valueType: 'string',
63
+ defaultValueJson: '"open"',
64
+ description: "Queue state: 'open' | 'actioned' | 'dismissed'.",
65
+ },
66
+ {
67
+ containerTypeName: names.reportType,
68
+ key: 'resolution',
69
+ valueType: 'string',
70
+ defaultValueJson: '""',
71
+ description: 'Admin note recorded by resolve_report.',
72
+ },
73
+ {
74
+ containerTypeName: names.reportType,
75
+ key: 'filed_at_ms',
76
+ valueType: 'int',
77
+ defaultValueJson: '0',
78
+ description: 'Client-reported epoch ms (informational; the event log holds server time).',
79
+ },
80
+ {
81
+ containerTypeName: names.muteType,
82
+ key: 'owner_user_id',
83
+ valueType: 'string',
84
+ defaultValueJson: '""',
85
+ description: 'Whose mute list this row belongs to (kit owner mirror).',
86
+ },
87
+ {
88
+ containerTypeName: names.muteType,
89
+ key: 'muted_user_id',
90
+ valueType: 'string',
91
+ defaultValueJson: '""',
92
+ description: 'The muted player (client-side chat filtering).',
93
+ },
94
+ ];
95
+ const functions = [
96
+ {
97
+ name: names.resolveReportFn,
98
+ containerTypeName: names.reportType,
99
+ returnType: 'string',
100
+ parameters: [
101
+ {
102
+ name: 'status',
103
+ valueType: 'string',
104
+ required: true,
105
+ description: "'actioned' or 'dismissed'.",
106
+ },
107
+ {
108
+ name: 'resolution',
109
+ valueType: 'string',
110
+ required: true,
111
+ description: 'Admin disposition note.',
112
+ },
113
+ ],
114
+ mutations: [
115
+ { target: 'self', property: 'status', expression: '$status' },
116
+ { target: 'self', property: 'resolution', expression: '$resolution' },
117
+ ],
118
+ returnExpression: 'self.status',
119
+ ...trustedAuthorityFields('server'),
120
+ description: 'Close a report with a disposition (app admins). Enforcement happens on platform surfaces (tier revocation, grid permissions).',
121
+ },
122
+ ];
123
+ return {
124
+ name: 'moderation',
125
+ containerTypes: [
126
+ {
127
+ typeName: names.reportType,
128
+ displayName: 'Moderation report',
129
+ description: 'One player report in the escalation queue (open/actioned/dismissed).',
130
+ },
131
+ {
132
+ typeName: names.muteType,
133
+ displayName: 'Moderation mute',
134
+ description: 'One personal mute entry (client-enforced chat filtering).',
135
+ },
136
+ ],
137
+ propertyDefinitions,
138
+ functions,
139
+ };
140
+ }
@@ -1,4 +1,4 @@
1
- export { andPolicies, combatBlueprint, combatNames, composeBlueprints, decksBlueprint, decksNames, economyBlueprint, economyCurrencyFn, economyNames, featureGate, guildBlueprint, guildNames, inventoryBlueprint, inventoryNames, kitPolicyJson, leaderboardsBlueprint, leaderboardsNames, lockBlueprint, lockNames, lootBlueprint, lootNames, lootRollFn, matchesBlueprint, matchesNames, mergeBlueprints, npcBehaviorFunctionName, npcBlueprint, ownerEquals, ownerEqualsCaller, ownerMirrorProperty, plotBlueprint, plotNames, progressionBlueprint, progressionNames, questsBlueprint, questsNames, toSnakeCase, trustedAuthorityFields, worldsimBlueprint, worldsimNames, type CombatBlueprintOptions, type CombatNames, type DecksBlueprintOptions, type DecksNames, type EconomyBlueprintOptions, type EconomyNames, type GuildBlueprintOptions, type GuildNames, type InventoryBlueprintOptions, type InventoryNames, type KitAutomationSpec, type KitAutomationTriggerSpec, type KitBlueprint, type KitInvokePolicy, type KitOwnerIdKind, type KitSelectorSpec, type KitTrustedAuthority, type LeaderboardsBlueprintOptions, type LeaderboardsNames, type LockAuthority, type LockBlueprintOptions, type LockNames, type LootBlueprintOptions, type LootDropSpec, type LootEntrySpec, type LootNames, type LootTableSpec, type MatchesBlueprintOptions, type MatchesNames, type MergedBlueprints, type NpcBehaviorSpec, type NpcBehaviorTrigger, type NpcBlueprintOptions, type PlotBlueprintOptions, type PlotNames, type ProgressionBlueprintOptions, type ProgressionNames, type QuestAdvanceSpec, type QuestsBlueprintOptions, type QuestsNames, type SelectorPermissionPredicate, type WorldsimBlueprintOptions, type WorldsimNames, } from './blueprints/index.js';
1
+ export { andPolicies, combatBlueprint, combatNames, composeBlueprints, decksBlueprint, decksNames, economyBlueprint, economyCurrencyFn, economyNames, featureGate, guildBlueprint, guildNames, inventoryBlueprint, inventoryNames, kitPolicyJson, leaderboardsBlueprint, leaderboardsNames, lockBlueprint, lockNames, lootBlueprint, lootNames, lootRollFn, matchesBlueprint, matchesNames, mergeBlueprints, npcBehaviorFunctionName, npcBlueprint, ownerEquals, ownerEqualsCaller, ownerMirrorProperty, plotBlueprint, plotNames, progressionBlueprint, progressionNames, questsBlueprint, questsNames, toSnakeCase, trustedAuthorityFields, worldsimBlueprint, worldsimNames, type CombatBlueprintOptions, type CombatNames, type DecksBlueprintOptions, type DecksNames, type EconomyBlueprintOptions, type EconomyNames, type GuildBlueprintOptions, type GuildNames, type InventoryBlueprintOptions, type InventoryNames, type KitAutomationSpec, type KitAutomationTriggerSpec, type KitBlueprint, type KitInvokePolicy, type KitOwnerIdKind, type KitSelectorSpec, type KitTrustedAuthority, type LeaderboardsBlueprintOptions, type LeaderboardsNames, type LockAuthority, type LockBlueprintOptions, type LockNames, type LootBlueprintOptions, type LootDropSpec, type LootEntrySpec, type LootNames, type LootTableSpec, type MatchesBlueprintOptions, type MatchesNames, type MergedBlueprints, type NpcBehaviorSpec, type NpcBehaviorTrigger, type NpcBlueprintOptions, type PlotBlueprintOptions, type PlotNames, type ProgressionBlueprintOptions, type ProgressionNames, type QuestAdvanceSpec, type QuestsBlueprintOptions, type QuestsNames, type SelectorPermissionPredicate, type WorldsimBlueprintOptions, type WorldsimNames, liveopsBlueprint, liveopsNames, type LiveopsBlueprintOptions, type LiveopsNames, moderationBlueprint, moderationNames, type ModerationBlueprintOptions, type ModerationNames, } from './blueprints/index.js';
2
2
  export { GameKitClient, type GameKitDomains, type GameKitOptions, type KitDeployResult, } from './kit.js';
3
3
  export { MatchesKit, type KitMatch, type KitMatchScore, type MatchesKitOptions, } from './matches.js';
4
4
  export { InventoryKit, type InventoryKitOptions, type KitItemStack } from './inventory.js';
@@ -13,11 +13,18 @@ export { NpcsKit, type KitNpc, type LiveNpcPose, type NpcsKitOptions, } from './
13
13
  export { MobsKit, type KitAttackResult, type KitMobDef, type KitMobSlot, type MobsKitOptions, } from './mobs.js';
14
14
  export { PetsKit, type KitPet, type KitPetResult, type PetsKitOptions, } from './pets.js';
15
15
  export { EngineDetector, type EngineInvokeResult } from './engine.js';
16
+ export { LiveopsKit, type KitEventWindow, type KitSeason, type LiveopsKitOptions, type ZoneChangeEvent, } from './liveops.js';
17
+ export { AbilitiesKit, type AbilitiesKitOptions, type KitAbility, } from './abilities.js';
18
+ export { MovementKit, type KitViolations, type MovementKitOptions, } from './movement.js';
19
+ export { TerritoryKit, type KitControlPoint, type TerritoryKitOptions, } from './territory.js';
20
+ export { RacingKit, type KitRaceRun, type RacingKitOptions, } from './racing.js';
21
+ export { ModerationKit, type KitModReport, type ModerationKitOptions, } from './moderation.js';
22
+ export { TelemetryKit, telemetryBlueprint, type TelemetryKitOptions, } from './telemetry.js';
16
23
  export { InstancesKit, type InstancesKitOptions, type KitInstance, } from './instances.js';
17
24
  export { DirectorKit, type DirectorKitOptions, type KitDirectorRun, type KitWaveSpec, } from './director.js';
18
25
  export { MatchmakingKit, type KitQueueStatus, type MatchmakingKitOptions, } from './matchmaking.js';
19
26
  export { MinigamesKit, type MinigamesKitOptions } from './minigames.js';
20
- export { EVENT_CONTACT_DAMAGE, EVENT_WEATHER, FLAG_GROUNDED, FLAG_MOB, FLAG_NPC, FLAG_RESERVED3, POSE_BYTES, decodeEnginePose, encodeEnginePose, engineLanes, enginePoseCodec, parseContactDamage, parseEngineEvent, parseProposalEvent, parseScoreEvent, parseTurnEvent, parseWeatherEvent, poseSuffix, EVENT_PROPOSAL, EVENT_SCORE, EVENT_TURN, type ContactDamageEvent, type EnginePose, type ProposalEvent, type ScoreEvent, type TurnEvent, type WeatherEvent, } from './wire.js';
27
+ export { EVENT_CONTACT_DAMAGE, EVENT_WEATHER, FLAG_GROUNDED, FLAG_MOB, FLAG_NPC, FLAG_RESERVED3, POSE_BYTES, decodeEnginePose, encodeEnginePose, engineLanes, enginePoseCodec, parseAbilityEvent, parseContactDamage, parseControlPointEvent, parseEngineEvent, parseMovementViolation, parseProposalEvent, parseRaceTimingEvent, parseScoreEvent, parseTurnEvent, parseWeatherEvent, poseSuffix, EVENT_ABILITY, EVENT_CONTROL_POINT, EVENT_MOVEMENT_VIOLATION, EVENT_PROPOSAL, EVENT_RACE_TIMING, EVENT_SCORE, EVENT_TURN, EVENT_ZONE_CHANGE, type AbilityEvent, type ContactDamageEvent, type ControlPointEvent, type EnginePose, type MovementViolationEvent, type ProposalEvent, type RaceTimingEvent, type ScoreEvent, type TurnEvent, type WeatherEvent, } from './wire.js';
21
28
  export { PlotsKit, type PlotsKitOptions, type KitPlot } from './plots.js';
22
29
  export { QuestsKit, type KitQuestDef, type KitQuestProgress, type QuestsKitOptions, } from './quests.js';
23
30
  export { ProgressionKit, type KitAchievementDef, type KitAchievementUnlock, type KitProgress, type KitSkillDef, type KitSkillRank, type ProgressionKitOptions, } from './progression.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kit/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kit/index.ts"],"names":[],"mappings":"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"}
package/dist/kit/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { andPolicies, combatBlueprint, combatNames, composeBlueprints, decksBlueprint, decksNames, economyBlueprint, economyCurrencyFn, economyNames, featureGate, guildBlueprint, guildNames, inventoryBlueprint, inventoryNames, kitPolicyJson, leaderboardsBlueprint, leaderboardsNames, lockBlueprint, lockNames, lootBlueprint, lootNames, lootRollFn, matchesBlueprint, matchesNames, mergeBlueprints, npcBehaviorFunctionName, npcBlueprint, ownerEquals, ownerEqualsCaller, ownerMirrorProperty, plotBlueprint, plotNames, progressionBlueprint, progressionNames, questsBlueprint, questsNames, toSnakeCase, trustedAuthorityFields, worldsimBlueprint, worldsimNames, } from './blueprints/index.js';
1
+ export { andPolicies, combatBlueprint, combatNames, composeBlueprints, decksBlueprint, decksNames, economyBlueprint, economyCurrencyFn, economyNames, featureGate, guildBlueprint, guildNames, inventoryBlueprint, inventoryNames, kitPolicyJson, leaderboardsBlueprint, leaderboardsNames, lockBlueprint, lockNames, lootBlueprint, lootNames, lootRollFn, matchesBlueprint, matchesNames, mergeBlueprints, npcBehaviorFunctionName, npcBlueprint, ownerEquals, ownerEqualsCaller, ownerMirrorProperty, plotBlueprint, plotNames, progressionBlueprint, progressionNames, questsBlueprint, questsNames, toSnakeCase, trustedAuthorityFields, worldsimBlueprint, worldsimNames, liveopsBlueprint, liveopsNames, moderationBlueprint, moderationNames, } from './blueprints/index.js';
2
2
  export { GameKitClient, } from './kit.js';
3
3
  export { MatchesKit, } from './matches.js';
4
4
  export { InventoryKit } from './inventory.js';
@@ -13,11 +13,18 @@ export { NpcsKit, } from './npcs.js';
13
13
  export { MobsKit, } from './mobs.js';
14
14
  export { PetsKit, } from './pets.js';
15
15
  export { EngineDetector } from './engine.js';
16
+ export { LiveopsKit, } from './liveops.js';
17
+ export { AbilitiesKit, } from './abilities.js';
18
+ export { MovementKit, } from './movement.js';
19
+ export { TerritoryKit, } from './territory.js';
20
+ export { RacingKit, } from './racing.js';
21
+ export { ModerationKit, } from './moderation.js';
22
+ export { TelemetryKit, telemetryBlueprint, } from './telemetry.js';
16
23
  export { InstancesKit, } from './instances.js';
17
24
  export { DirectorKit, } from './director.js';
18
25
  export { MatchmakingKit, } from './matchmaking.js';
19
26
  export { MinigamesKit } from './minigames.js';
20
- export { EVENT_CONTACT_DAMAGE, EVENT_WEATHER, FLAG_GROUNDED, FLAG_MOB, FLAG_NPC, FLAG_RESERVED3, POSE_BYTES, decodeEnginePose, encodeEnginePose, engineLanes, enginePoseCodec, parseContactDamage, parseEngineEvent, parseProposalEvent, parseScoreEvent, parseTurnEvent, parseWeatherEvent, poseSuffix, EVENT_PROPOSAL, EVENT_SCORE, EVENT_TURN, } from './wire.js';
27
+ export { EVENT_CONTACT_DAMAGE, EVENT_WEATHER, FLAG_GROUNDED, FLAG_MOB, FLAG_NPC, FLAG_RESERVED3, POSE_BYTES, decodeEnginePose, encodeEnginePose, engineLanes, enginePoseCodec, parseAbilityEvent, parseContactDamage, parseControlPointEvent, parseEngineEvent, parseMovementViolation, parseProposalEvent, parseRaceTimingEvent, parseScoreEvent, parseTurnEvent, parseWeatherEvent, poseSuffix, EVENT_ABILITY, EVENT_CONTROL_POINT, EVENT_MOVEMENT_VIOLATION, EVENT_PROPOSAL, EVENT_RACE_TIMING, EVENT_SCORE, EVENT_TURN, EVENT_ZONE_CHANGE, } from './wire.js';
21
28
  export { PlotsKit } from './plots.js';
22
29
  export { QuestsKit, } from './quests.js';
23
30
  export { ProgressionKit, } from './progression.js';
package/dist/kit/kit.d.ts CHANGED
@@ -27,6 +27,13 @@ import { MatchesKit, type MatchesKitOptions } from './matches.js';
27
27
  import { ProgressionKit, type ProgressionKitOptions } from './progression.js';
28
28
  import { QuestsKit, type QuestsKitOptions } from './quests.js';
29
29
  import { SocialKit, type SocialKitOptions } from './social.js';
30
+ import { AbilitiesKit, type AbilitiesKitOptions } from './abilities.js';
31
+ import { LiveopsKit, type LiveopsKitOptions } from './liveops.js';
32
+ import { MovementKit, type MovementKitOptions } from './movement.js';
33
+ import { RacingKit, type RacingKitOptions } from './racing.js';
34
+ import { TerritoryKit, type TerritoryKitOptions } from './territory.js';
35
+ import { ModerationKit, type ModerationKitOptions } from './moderation.js';
36
+ import { TelemetryKit, type TelemetryKitOptions } from './telemetry.js';
30
37
  import { WorldsimKit, type WorldsimKitOptions } from './worldsim.js';
31
38
  /** Options for {@link GameKitClient}, configuring the runtime helpers to match your deployed blueprints. */
32
39
  export interface GameKitOptions {
@@ -42,6 +49,13 @@ export interface GameKitOptions {
42
49
  matches?: MatchesKitOptions;
43
50
  decks?: DecksKitOptions;
44
51
  worldsim?: WorldsimKitOptions;
52
+ liveops?: LiveopsKitOptions;
53
+ moderation?: ModerationKitOptions;
54
+ telemetry?: TelemetryKitOptions;
55
+ abilities?: AbilitiesKitOptions;
56
+ movement?: MovementKitOptions;
57
+ territory?: TerritoryKitOptions;
58
+ racing?: RacingKitOptions;
45
59
  social?: SocialKitOptions;
46
60
  leaderboards?: LeaderboardsKitOptions;
47
61
  mobs?: MobsKitOptions;
@@ -68,6 +82,12 @@ export interface KitDeployResult {
68
82
  seed: GameModelSeedMutation['gameModelSeed'];
69
83
  automations: GameModelUpsertAutomationMutation['gameModelUpsertAutomation'][];
70
84
  automationTriggers: GameModelUpsertAutomationTriggerMutation['gameModelUpsertAutomationTrigger'][];
85
+ /** Engine templates deployed alongside (when `engines` was passed). */
86
+ engines: Array<{
87
+ templateName: string;
88
+ moduleName: string;
89
+ compileStatus: string;
90
+ }>;
71
91
  /** Non-fatal static-analysis warnings from the seed. */
72
92
  warnings: string[];
73
93
  }
@@ -136,6 +156,20 @@ export declare class GameKitClient {
136
156
  readonly decks: DecksKit;
137
157
  /** World simulation helpers (clock/weather, nodes, crops, wave counters). */
138
158
  readonly worldsim: WorldsimKit;
159
+ /** Liveops helpers (event windows, seasons, battle-pass composition). */
160
+ readonly liveops: LiveopsKit;
161
+ /** Moderation helpers (reports, admin queue, personal mutes). */
162
+ readonly moderation: ModerationKit;
163
+ /** Telemetry helpers (track + sampled counters). */
164
+ readonly telemetry: TelemetryKit;
165
+ /** Realtime ability casts (abilities engine, type-94 events). */
166
+ readonly abilities: AbilitiesKit;
167
+ /** Movement-warden reads (observe/flag posture, type-95 events). */
168
+ readonly movement: MovementKit;
169
+ /** Control points + factions (territory engine, type-96 events). */
170
+ readonly territory: TerritoryKit;
171
+ /** Racing + possession (type-97 events, ghosts, the ball). */
172
+ readonly racing: RacingKit;
139
173
  /** Social helpers (parties, guilds, chat over teams + channels). */
140
174
  readonly social: SocialKit;
141
175
  /** Leaderboard helpers (trusted submits, client-side ranking, seasons). */
@@ -156,6 +190,7 @@ export declare class GameKitClient {
156
190
  readonly pets: PetsKit;
157
191
  /** Compute-engine capability detection shared by the engine-aware kits. */
158
192
  readonly engines: EngineDetector;
193
+ private readonly compute?;
159
194
  constructor(appId: Scalars['BigInt']['input'], gameModel: GameModelAPI, gameApps: GameAppsAPI, options?: GameKitOptions, domains?: GameKitDomains);
160
195
  /**
161
196
  * Helpers for an additional lockable object type deployed under a different
@@ -182,6 +217,15 @@ export declare class GameKitClient {
182
217
  */
183
218
  deploy(blueprints: KitBlueprint | KitBlueprint[], options?: {
184
219
  sessionId?: string;
220
+ /**
221
+ * Engine templates to deploy from the platform registry alongside the
222
+ * blueprints (`computeDeployTemplate` — requires the compute domain +
223
+ * 'manage_compute'). Each entry is a template name, optionally
224
+ * `'template:module'` to override the module name.
225
+ */
226
+ engines?: string[];
227
+ /** Wait for engine compiles (default true). */
228
+ waitForEngines?: boolean;
185
229
  }): Promise<KitDeployResult>;
186
230
  }
187
231
  //# sourceMappingURL=kit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kit.d.ts","sourceRoot":"","sources":["../../src/kit/kit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EACV,qBAAqB,EACrB,iCAAiC,EACjC,wCAAwC,EACxC,OAAO,EACR,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAErE,4GAA4G;AAC5G,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAED,0GAA0G;AAC1G,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAC7C,WAAW,EAAE,iCAAiC,CAAC,2BAA2B,CAAC,EAAE,CAAC;IAC9E,kBAAkB,EAAE,wCAAwC,CAAC,kCAAkC,CAAC,EAAE,CAAC;IACnG,wDAAwD;IACxD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBAAa,aAAa;IA+CtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IA/C5B,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,uDAAuD;IACvD,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC,oEAAoE;IACpE,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;gBAGd,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EACjC,SAAS,EAAE,YAAY,EACxC,QAAQ,EAAE,WAAW,EACrB,OAAO,GAAE,cAAmB,EAC5B,OAAO,GAAE,cAAmB;IAwC9B;;;OAGG;IACH,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU;IAOpE;;;;;;;;;;;;;;;;;OAiBG;IACG,MAAM,CACV,UAAU,EAAE,YAAY,GAAG,YAAY,EAAE,EACzC,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GACnC,OAAO,CAAC,eAAe,CAAC;CAsB5B"}
1
+ {"version":3,"file":"kit.d.ts","sourceRoot":"","sources":["../../src/kit/kit.ts"],"names":[],"mappings":"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"}
package/dist/kit/kit.js CHANGED
@@ -20,6 +20,13 @@ import { MatchesKit } from './matches.js';
20
20
  import { ProgressionKit } from './progression.js';
21
21
  import { QuestsKit } from './quests.js';
22
22
  import { SocialKit } from './social.js';
23
+ import { AbilitiesKit } from './abilities.js';
24
+ import { LiveopsKit } from './liveops.js';
25
+ import { MovementKit } from './movement.js';
26
+ import { RacingKit } from './racing.js';
27
+ import { TerritoryKit } from './territory.js';
28
+ import { ModerationKit } from './moderation.js';
29
+ import { TelemetryKit } from './telemetry.js';
23
30
  import { WorldsimKit } from './worldsim.js';
24
31
  /**
25
32
  * App-scoped **Game Kit** facade returned by `client.kit(appId)` — high-level
@@ -63,6 +70,7 @@ export class GameKitClient {
63
70
  constructor(appId, gameModel, gameApps, options = {}, domains = {}) {
64
71
  this.appId = appId;
65
72
  this.gameModel = gameModel;
73
+ this.compute = domains.compute;
66
74
  this.engines = new EngineDetector(String(appId), domains.compute);
67
75
  this.inventory = new InventoryKit(appId, gameModel, options.inventory);
68
76
  this.objects = new ObjectsKit(appId, gameModel, options.objects);
@@ -70,12 +78,19 @@ export class GameKitClient {
70
78
  this.plots = new PlotsKit(appId, gameModel, gameApps, options.plots);
71
79
  this.economy = new EconomyKit(appId, gameModel, options.economy, this.engines);
72
80
  this.progression = new ProgressionKit(appId, gameModel, options.progression);
73
- this.loot = new LootKit(appId, gameModel, options.loot);
81
+ this.loot = new LootKit(appId, gameModel, options.loot, this.engines);
74
82
  this.quests = new QuestsKit(appId, gameModel, options.quests);
75
83
  this.combat = new CombatKit(appId, gameModel, options.combat, this.engines);
76
84
  this.matches = new MatchesKit(appId, gameModel, domains.channels, domains.udp, options.matches, this.engines);
77
85
  this.decks = new DecksKit(appId, gameModel, options.decks, this.engines);
78
86
  this.worldsim = new WorldsimKit(appId, gameModel, options.worldsim, this.engines);
87
+ this.liveops = new LiveopsKit(appId, gameModel, options.liveops, this.engines);
88
+ this.moderation = new ModerationKit(appId, gameModel, options.moderation);
89
+ this.telemetry = new TelemetryKit(appId, gameModel, options.telemetry);
90
+ this.abilities = new AbilitiesKit(appId, gameModel, this.engines, options.abilities);
91
+ this.movement = new MovementKit(appId, gameModel, this.engines, options.movement);
92
+ this.territory = new TerritoryKit(appId, gameModel, this.engines, options.territory);
93
+ this.racing = new RacingKit(appId, gameModel, this.engines, options.racing);
79
94
  this.mobs = new MobsKit(appId, gameModel, this.engines, options.mobs);
80
95
  this.pets = new PetsKit(appId, gameModel, this.engines, options.pets);
81
96
  this.instances = new InstancesKit(appId, this.engines, options.instances);
@@ -126,10 +141,29 @@ export class GameKitClient {
126
141
  for (const trigger of merged.automationTriggers) {
127
142
  automationTriggers.push(await this.gameModel.upsertAutomationTrigger(trigger));
128
143
  }
144
+ const engines = [];
145
+ for (const entry of options.engines ?? []) {
146
+ if (!this.compute) {
147
+ throw new Error('kit.deploy engines requires the compute domain (createCrowdyClient default)');
148
+ }
149
+ const [templateName, moduleOverride] = entry.split(':');
150
+ const module = await this.compute.deployTemplate({
151
+ appId: this.appId,
152
+ templateName,
153
+ ...(moduleOverride ? { moduleName: moduleOverride } : {}),
154
+ });
155
+ let compileStatus = 'pending';
156
+ if (options.waitForEngines !== false) {
157
+ const compiled = await this.compute.waitForCompile(this.appId, module.name);
158
+ compileStatus = compiled.compileStatus;
159
+ }
160
+ engines.push({ templateName, moduleName: module.name, compileStatus });
161
+ }
129
162
  return {
130
163
  seed,
131
164
  automations,
132
165
  automationTriggers,
166
+ engines,
133
167
  warnings: [...(seed.warnings ?? [])],
134
168
  };
135
169
  }
@@ -0,0 +1,112 @@
1
+ import type { GameModelAPI } from '../domains/gameModel.js';
2
+ import type { Scalars } from '../generated/graphql.js';
3
+ import type { EngineDetector } from './engine.js';
4
+ /** Options for {@link LiveopsKit}. */
5
+ export interface LiveopsKitOptions {
6
+ /** The `typePrefix` the liveops blueprint was deployed with. */
7
+ typePrefix?: string;
8
+ /** The scheduler engine module name. Defaults to `'liveops-scheduler'`. */
9
+ moduleName?: string;
10
+ }
11
+ /** A parsed event window. */
12
+ export interface KitEventWindow {
13
+ containerId: string;
14
+ windowId: string;
15
+ active: boolean;
16
+ opensAtMs: number;
17
+ closesAtMs: number;
18
+ modifiers: Record<string, unknown>;
19
+ }
20
+ /** A parsed season definition (+ its battle-pass composition). */
21
+ export interface KitSeason {
22
+ containerId: string;
23
+ seasonId: string;
24
+ active: boolean;
25
+ startsAtMs: number;
26
+ endsAtMs: number;
27
+ passTrack: string;
28
+ passFeatures: string[];
29
+ }
30
+ /** A parsed type-98 zone-change event (BR circles, event areas). */
31
+ export interface ZoneChangeEvent {
32
+ kind: string;
33
+ phase: number | null;
34
+ radiusNow: number;
35
+ centerX: number;
36
+ centerZ: number;
37
+ body: Record<string, unknown>;
38
+ }
39
+ /**
40
+ * Runtime helpers for the liveops blueprint: event windows (admin CRUD +
41
+ * active reads — engine-backed when the liveops-scheduler is deployed),
42
+ * seasons with battle-pass composition, and the type-98 zone-change parser.
43
+ *
44
+ * Obtained via `client.kit(appId).liveops`.
45
+ */
46
+ export declare class LiveopsKit {
47
+ private readonly appId;
48
+ private readonly gameModel;
49
+ private readonly engines?;
50
+ private readonly names;
51
+ private readonly moduleName;
52
+ constructor(appId: Scalars['BigInt']['input'], gameModel: GameModelAPI, options?: LiveopsKitOptions, engines?: EngineDetector | undefined);
53
+ /** Is the liveops-scheduler engine deployed + enabled (cached)? */
54
+ engineAvailable(): Promise<boolean>;
55
+ /** STUDIO (admin) — create an event window. */
56
+ defineWindow(input: {
57
+ windowId: string;
58
+ displayName?: string;
59
+ opensAtMs?: number;
60
+ closesAtMs?: number;
61
+ modifiers?: Record<string, unknown>;
62
+ }): Promise<{
63
+ __typename?: "GmContainer";
64
+ containerId: string;
65
+ appId: string;
66
+ sessionId: string | null;
67
+ typeName: string;
68
+ displayName: string;
69
+ description: string | null;
70
+ ownerUserId: string | null;
71
+ metadataJson: string;
72
+ }>;
73
+ /** Every window (model read). */
74
+ windows(): Promise<KitEventWindow[]>;
75
+ /**
76
+ * The ACTIVE windows. Engine path (scheduler deployed): the module's
77
+ * authoritative view; otherwise filters the model read.
78
+ */
79
+ activeWindows(): Promise<KitEventWindow[]>;
80
+ /** STUDIO (admin/automation) — open a window through the model function. */
81
+ openWindow(windowContainerId: string, sessionId?: string): Promise<import("./shared.js").KitInvokeResult<boolean>>;
82
+ /** STUDIO (admin/automation) — close a window through the model function. */
83
+ closeWindow(windowContainerId: string, sessionId?: string): Promise<import("./shared.js").KitInvokeResult<boolean>>;
84
+ /** STUDIO (admin) — create a season (+ battle-pass composition). */
85
+ defineSeason(input: {
86
+ seasonId: string;
87
+ displayName?: string;
88
+ startsAtMs?: number;
89
+ endsAtMs?: number;
90
+ passTrack?: string;
91
+ passFeatures?: string[];
92
+ }): Promise<{
93
+ __typename?: "GmContainer";
94
+ containerId: string;
95
+ appId: string;
96
+ sessionId: string | null;
97
+ typeName: string;
98
+ displayName: string;
99
+ description: string | null;
100
+ ownerUserId: string | null;
101
+ metadataJson: string;
102
+ }>;
103
+ /** Every season (model read). */
104
+ seasons(): Promise<KitSeason[]>;
105
+ /** The active season, when one exists. */
106
+ currentSeason(): Promise<KitSeason | null>;
107
+ /** STUDIO (admin/automation) — activate a season through the model function. */
108
+ activateSeason(seasonContainerId: string, sessionId?: string): Promise<import("./shared.js").KitInvokeResult<boolean>>;
109
+ /** Parse a type-98 zone-change server event (BR circles, event areas). */
110
+ parseZoneChange(bytes: Uint8Array): ZoneChangeEvent | null;
111
+ }
112
+ //# sourceMappingURL=liveops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liveops.d.ts","sourceRoot":"","sources":["../../src/kit/liveops.ts"],"names":[],"mappings":"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"}