@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.
Files changed (271) hide show
  1. package/MIGRATION.md +92 -1
  2. package/README.md +93 -162
  3. package/dist/crowdy-client.d.ts +12 -31
  4. package/dist/crowdy-client.d.ts.map +1 -1
  5. package/dist/crowdy-client.js +15 -37
  6. package/dist/crowdy-dsh/bridge.d.ts.map +1 -1
  7. package/dist/crowdy-dsh/bridge.js +3 -6
  8. package/dist/crowdy-studio/controller.d.ts +34 -59
  9. package/dist/crowdy-studio/controller.d.ts.map +1 -1
  10. package/dist/crowdy-studio/controller.js +96 -225
  11. package/dist/crowdy-studio/diagnostics.d.ts +3 -12
  12. package/dist/crowdy-studio/diagnostics.d.ts.map +1 -1
  13. package/dist/crowdy-studio/dom-shell.d.ts +2 -4
  14. package/dist/crowdy-studio/dom-shell.d.ts.map +1 -1
  15. package/dist/crowdy-studio/dom-shell.js +16 -49
  16. package/dist/crowdy-studio/embed/hud-layer.d.ts +1 -2
  17. package/dist/crowdy-studio/embed/hud-layer.d.ts.map +1 -1
  18. package/dist/crowdy-studio/embed/panel.d.ts +3 -13
  19. package/dist/crowdy-studio/embed/panel.d.ts.map +1 -1
  20. package/dist/crowdy-studio/embed/panel.js +3 -6
  21. package/dist/crowdy-studio/index.d.ts +1 -3
  22. package/dist/crowdy-studio/index.d.ts.map +1 -1
  23. package/dist/crowdy-studio/index.js +0 -2
  24. package/dist/crowdy-studio/models.d.ts +3 -4
  25. package/dist/crowdy-studio/models.d.ts.map +1 -1
  26. package/dist/crowdy-studio/starter-projects.d.ts +8 -12
  27. package/dist/crowdy-studio/starter-projects.d.ts.map +1 -1
  28. package/dist/crowdy-studio/starter-projects.js +12 -103
  29. package/dist/domains/appAccess.d.ts +14 -1
  30. package/dist/domains/appAccess.d.ts.map +1 -1
  31. package/dist/domains/appAccess.js +37 -1
  32. package/dist/domains/host.d.ts +3 -3
  33. package/dist/domains/host.js +3 -3
  34. package/dist/domains/marketplace.d.ts +9 -70
  35. package/dist/domains/marketplace.d.ts.map +1 -1
  36. package/dist/domains/marketplace.js +9 -120
  37. package/dist/domains/playerWallet.d.ts +6 -12
  38. package/dist/domains/playerWallet.d.ts.map +1 -1
  39. package/dist/domains/playerWallet.js +6 -21
  40. package/dist/errors.d.ts +7 -13
  41. package/dist/errors.d.ts.map +1 -1
  42. package/dist/errors.js +6 -10
  43. package/dist/generated/graphql.d.ts +141 -7083
  44. package/dist/generated/graphql.d.ts.map +1 -1
  45. package/dist/generated/graphql.js +5 -313
  46. package/dist/grid-mods/exec-client-halves.d.ts +19 -3
  47. package/dist/grid-mods/exec-client-halves.d.ts.map +1 -1
  48. package/dist/grid-mods/exec-client-halves.js +17 -2
  49. package/dist/grid-mods/grid-host-calls.d.ts +29 -17
  50. package/dist/grid-mods/grid-host-calls.d.ts.map +1 -1
  51. package/dist/grid-mods/grid-host-calls.js +40 -46
  52. package/dist/grid-mods/mod-runtime.d.ts +18 -11
  53. package/dist/grid-mods/mod-runtime.d.ts.map +1 -1
  54. package/dist/grid-mods/mod-runtime.js +4 -2
  55. package/dist/grid-scope.d.ts +0 -189
  56. package/dist/grid-scope.d.ts.map +1 -1
  57. package/dist/grid-scope.js +0 -70
  58. package/dist/index.d.ts +11 -17
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +10 -16
  61. package/dist/kit/actions.d.ts +5 -9
  62. package/dist/kit/actions.d.ts.map +1 -1
  63. package/dist/kit/actions.js +5 -9
  64. package/dist/kit/index.d.ts +2 -33
  65. package/dist/kit/index.d.ts.map +1 -1
  66. package/dist/kit/index.js +1 -32
  67. package/dist/kit/kit.d.ts +8 -208
  68. package/dist/kit/kit.d.ts.map +1 -1
  69. package/dist/kit/kit.js +5 -163
  70. package/dist/kit/social.d.ts +1 -3
  71. package/dist/kit/social.d.ts.map +1 -1
  72. package/dist/kit/social.js +1 -3
  73. package/dist/kit/wire.d.ts +16 -5
  74. package/dist/kit/wire.d.ts.map +1 -1
  75. package/dist/kit/wire.js +19 -5
  76. package/dist/live-coding/assets/browser-authoring-index.json +1 -1
  77. package/dist/live-coding/assets/manifest.json +1 -1
  78. package/dist/live-coding/browser-authoring-index.generated.d.ts.map +1 -1
  79. package/dist/live-coding/browser-authoring-index.generated.js +1496 -4386
  80. package/dist/live-coding/rust-analysis.d.ts.map +1 -1
  81. package/dist/live-coding/rust-analysis.js +30 -34
  82. package/dist/player-runtime/client-host-calls.d.ts +8 -0
  83. package/dist/player-runtime/client-host-calls.d.ts.map +1 -0
  84. package/dist/player-runtime/client-host-calls.js +28 -0
  85. package/dist/player-runtime/glue-runtime.d.ts +24 -20
  86. package/dist/player-runtime/glue-runtime.d.ts.map +1 -1
  87. package/dist/player-runtime/glue-runtime.js +26 -55
  88. package/dist/player-runtime/glue-sab.d.ts +2 -2
  89. package/dist/player-runtime/glue-sab.js +2 -2
  90. package/dist/player-runtime/player-code-broker.d.ts +70 -43
  91. package/dist/player-runtime/player-code-broker.d.ts.map +1 -1
  92. package/dist/player-runtime/player-code-broker.js +159 -64
  93. package/dist/player-runtime/player-glue-worker.d.ts +8 -9
  94. package/dist/player-runtime/player-glue-worker.d.ts.map +1 -1
  95. package/dist/player-runtime/player-glue-worker.js +26 -11
  96. package/dist/stores/inbox.d.ts +1 -1
  97. package/dist/stores/inbox.d.ts.map +1 -1
  98. package/dist/stores/index.d.ts +0 -11
  99. package/dist/stores/index.d.ts.map +1 -1
  100. package/dist/stores/index.js +0 -4
  101. package/dist/stores/session.d.ts +0 -2
  102. package/dist/stores/session.d.ts.map +1 -1
  103. package/package.json +1 -1
  104. package/dist/crowdy-studio/model-lint-log.d.ts +0 -76
  105. package/dist/crowdy-studio/model-lint-log.d.ts.map +0 -1
  106. package/dist/crowdy-studio/model-lint-log.js +0 -93
  107. package/dist/crowdy-studio/model-lint.d.ts +0 -61
  108. package/dist/crowdy-studio/model-lint.d.ts.map +0 -1
  109. package/dist/crowdy-studio/model-lint.js +0 -45
  110. package/dist/domains/compute.d.ts +0 -208
  111. package/dist/domains/compute.d.ts.map +0 -1
  112. package/dist/domains/compute.js +0 -274
  113. package/dist/domains/controlPlane.d.ts +0 -38
  114. package/dist/domains/controlPlane.d.ts.map +0 -1
  115. package/dist/domains/controlPlane.js +0 -43
  116. package/dist/domains/gameModel.d.ts +0 -1174
  117. package/dist/domains/gameModel.d.ts.map +0 -1
  118. package/dist/domains/gameModel.js +0 -1333
  119. package/dist/domains/playerCompute.d.ts +0 -91
  120. package/dist/domains/playerCompute.d.ts.map +0 -1
  121. package/dist/domains/playerCompute.js +0 -136
  122. package/dist/domains/playerModel.d.ts +0 -20
  123. package/dist/domains/playerModel.d.ts.map +0 -1
  124. package/dist/domains/playerModel.js +0 -54
  125. package/dist/kit/abilities.d.ts +0 -66
  126. package/dist/kit/abilities.d.ts.map +0 -1
  127. package/dist/kit/abilities.js +0 -71
  128. package/dist/kit/blueprints/combat.d.ts +0 -81
  129. package/dist/kit/blueprints/combat.d.ts.map +0 -1
  130. package/dist/kit/blueprints/combat.js +0 -357
  131. package/dist/kit/blueprints/core.d.ts +0 -222
  132. package/dist/kit/blueprints/core.d.ts.map +0 -1
  133. package/dist/kit/blueprints/core.js +0 -185
  134. package/dist/kit/blueprints/decks.d.ts +0 -50
  135. package/dist/kit/blueprints/decks.d.ts.map +0 -1
  136. package/dist/kit/blueprints/decks.js +0 -163
  137. package/dist/kit/blueprints/economy.d.ts +0 -88
  138. package/dist/kit/blueprints/economy.d.ts.map +0 -1
  139. package/dist/kit/blueprints/economy.js +0 -533
  140. package/dist/kit/blueprints/guild.d.ts +0 -51
  141. package/dist/kit/blueprints/guild.d.ts.map +0 -1
  142. package/dist/kit/blueprints/guild.js +0 -50
  143. package/dist/kit/blueprints/index.d.ts +0 -23
  144. package/dist/kit/blueprints/index.d.ts.map +0 -1
  145. package/dist/kit/blueprints/index.js +0 -22
  146. package/dist/kit/blueprints/inventory.d.ts +0 -84
  147. package/dist/kit/blueprints/inventory.d.ts.map +0 -1
  148. package/dist/kit/blueprints/inventory.js +0 -257
  149. package/dist/kit/blueprints/leaderboards.d.ts +0 -49
  150. package/dist/kit/blueprints/leaderboards.d.ts.map +0 -1
  151. package/dist/kit/blueprints/leaderboards.js +0 -126
  152. package/dist/kit/blueprints/liveops.d.ts +0 -42
  153. package/dist/kit/blueprints/liveops.d.ts.map +0 -1
  154. package/dist/kit/blueprints/liveops.js +0 -170
  155. package/dist/kit/blueprints/locks.d.ts +0 -82
  156. package/dist/kit/blueprints/locks.d.ts.map +0 -1
  157. package/dist/kit/blueprints/locks.js +0 -155
  158. package/dist/kit/blueprints/loot.d.ts +0 -90
  159. package/dist/kit/blueprints/loot.d.ts.map +0 -1
  160. package/dist/kit/blueprints/loot.js +0 -229
  161. package/dist/kit/blueprints/matches.d.ts +0 -84
  162. package/dist/kit/blueprints/matches.d.ts.map +0 -1
  163. package/dist/kit/blueprints/matches.js +0 -349
  164. package/dist/kit/blueprints/moderation.d.ts +0 -32
  165. package/dist/kit/blueprints/moderation.d.ts.map +0 -1
  166. package/dist/kit/blueprints/moderation.js +0 -140
  167. package/dist/kit/blueprints/npcs.d.ts +0 -78
  168. package/dist/kit/blueprints/npcs.d.ts.map +0 -1
  169. package/dist/kit/blueprints/npcs.js +0 -125
  170. package/dist/kit/blueprints/plots.d.ts +0 -63
  171. package/dist/kit/blueprints/plots.d.ts.map +0 -1
  172. package/dist/kit/blueprints/plots.js +0 -151
  173. package/dist/kit/blueprints/progression.d.ts +0 -68
  174. package/dist/kit/blueprints/progression.d.ts.map +0 -1
  175. package/dist/kit/blueprints/progression.js +0 -324
  176. package/dist/kit/blueprints/quests.d.ts +0 -72
  177. package/dist/kit/blueprints/quests.d.ts.map +0 -1
  178. package/dist/kit/blueprints/quests.js +0 -285
  179. package/dist/kit/blueprints/worldsim.d.ts +0 -91
  180. package/dist/kit/blueprints/worldsim.d.ts.map +0 -1
  181. package/dist/kit/blueprints/worldsim.js +0 -468
  182. package/dist/kit/combat.d.ts +0 -141
  183. package/dist/kit/combat.d.ts.map +0 -1
  184. package/dist/kit/combat.js +0 -196
  185. package/dist/kit/decks.d.ts +0 -157
  186. package/dist/kit/decks.d.ts.map +0 -1
  187. package/dist/kit/decks.js +0 -186
  188. package/dist/kit/director.d.ts +0 -88
  189. package/dist/kit/director.d.ts.map +0 -1
  190. package/dist/kit/director.js +0 -86
  191. package/dist/kit/economy.d.ts +0 -289
  192. package/dist/kit/economy.d.ts.map +0 -1
  193. package/dist/kit/economy.js +0 -427
  194. package/dist/kit/engine.d.ts +0 -48
  195. package/dist/kit/engine.d.ts.map +0 -1
  196. package/dist/kit/engine.js +0 -113
  197. package/dist/kit/features.d.ts +0 -60
  198. package/dist/kit/features.d.ts.map +0 -1
  199. package/dist/kit/features.js +0 -65
  200. package/dist/kit/instances.d.ts +0 -52
  201. package/dist/kit/instances.d.ts.map +0 -1
  202. package/dist/kit/instances.js +0 -60
  203. package/dist/kit/inventory.d.ts +0 -129
  204. package/dist/kit/inventory.d.ts.map +0 -1
  205. package/dist/kit/inventory.js +0 -200
  206. package/dist/kit/leaderboards.d.ts +0 -86
  207. package/dist/kit/leaderboards.d.ts.map +0 -1
  208. package/dist/kit/leaderboards.js +0 -133
  209. package/dist/kit/liveops.d.ts +0 -112
  210. package/dist/kit/liveops.d.ts.map +0 -1
  211. package/dist/kit/liveops.js +0 -183
  212. package/dist/kit/loot.d.ts +0 -128
  213. package/dist/kit/loot.d.ts.map +0 -1
  214. package/dist/kit/loot.js +0 -160
  215. package/dist/kit/matches.d.ts +0 -301
  216. package/dist/kit/matches.d.ts.map +0 -1
  217. package/dist/kit/matches.js +0 -458
  218. package/dist/kit/matchmaking.d.ts +0 -57
  219. package/dist/kit/matchmaking.d.ts.map +0 -1
  220. package/dist/kit/matchmaking.js +0 -59
  221. package/dist/kit/minigames.d.ts +0 -30
  222. package/dist/kit/minigames.d.ts.map +0 -1
  223. package/dist/kit/minigames.js +0 -38
  224. package/dist/kit/mobs.d.ts +0 -90
  225. package/dist/kit/mobs.d.ts.map +0 -1
  226. package/dist/kit/mobs.js +0 -98
  227. package/dist/kit/moderation.d.ts +0 -73
  228. package/dist/kit/moderation.d.ts.map +0 -1
  229. package/dist/kit/moderation.js +0 -103
  230. package/dist/kit/movement.d.ts +0 -78
  231. package/dist/kit/movement.d.ts.map +0 -1
  232. package/dist/kit/movement.js +0 -103
  233. package/dist/kit/notifications.d.ts +0 -45
  234. package/dist/kit/notifications.d.ts.map +0 -1
  235. package/dist/kit/notifications.js +0 -67
  236. package/dist/kit/npcs.d.ts +0 -226
  237. package/dist/kit/npcs.d.ts.map +0 -1
  238. package/dist/kit/npcs.js +0 -141
  239. package/dist/kit/objects.d.ts +0 -116
  240. package/dist/kit/objects.d.ts.map +0 -1
  241. package/dist/kit/objects.js +0 -119
  242. package/dist/kit/pets.d.ts +0 -85
  243. package/dist/kit/pets.d.ts.map +0 -1
  244. package/dist/kit/pets.js +0 -96
  245. package/dist/kit/plots.d.ts +0 -85
  246. package/dist/kit/plots.d.ts.map +0 -1
  247. package/dist/kit/plots.js +0 -113
  248. package/dist/kit/progression.d.ts +0 -181
  249. package/dist/kit/progression.d.ts.map +0 -1
  250. package/dist/kit/progression.js +0 -265
  251. package/dist/kit/quests.d.ts +0 -171
  252. package/dist/kit/quests.d.ts.map +0 -1
  253. package/dist/kit/quests.js +0 -237
  254. package/dist/kit/racing.d.ts +0 -85
  255. package/dist/kit/racing.d.ts.map +0 -1
  256. package/dist/kit/racing.js +0 -99
  257. package/dist/kit/shared.d.ts +0 -73
  258. package/dist/kit/shared.d.ts.map +0 -1
  259. package/dist/kit/shared.js +0 -101
  260. package/dist/kit/telemetry.d.ts +0 -66
  261. package/dist/kit/telemetry.d.ts.map +0 -1
  262. package/dist/kit/telemetry.js +0 -133
  263. package/dist/kit/territory.d.ts +0 -97
  264. package/dist/kit/territory.d.ts.map +0 -1
  265. package/dist/kit/territory.js +0 -114
  266. package/dist/kit/worldsim.d.ts +0 -263
  267. package/dist/kit/worldsim.d.ts.map +0 -1
  268. package/dist/kit/worldsim.js +0 -268
  269. package/dist/stores/model.d.ts +0 -81
  270. package/dist/stores/model.d.ts.map +0 -1
  271. package/dist/stores/model.js +0 -163
@@ -1,85 +0,0 @@
1
- import type { GameModelAPI } from '../domains/gameModel.js';
2
- import type { Scalars, SeedPropertyInput } from '../generated/graphql.js';
3
- import type { EngineDetector } from './engine.js';
4
- /** Options for {@link PetsKit}. Must match the deployed npc engine. */
5
- export interface PetsKitOptions {
6
- /** The compute module serving summon/dismiss/rename. Defaults to `'npc-engine'`. */
7
- moduleName?: string;
8
- /** The pet container type. Defaults to `'Pet'`. */
9
- typeName?: string;
10
- }
11
- /** A parsed pet container. */
12
- export interface KitPet {
13
- containerId: string;
14
- displayName: string;
15
- species: string;
16
- name: string;
17
- ownerUserId: string | null;
18
- bond: number;
19
- active: boolean;
20
- actorUuid: string;
21
- x: number;
22
- y: number;
23
- z: number;
24
- properties: Record<string, unknown>;
25
- }
26
- /** An engine verdict for a pet invoke. */
27
- export interface KitPetResult {
28
- success: boolean;
29
- reason?: string;
30
- }
31
- /**
32
- * Runtime helpers for engine-driven pets (the Wave 1 npc-engine template):
33
- * `Pet` containers hold species/name/owner/bond; the engine walks active
34
- * pets after their owner (kit-ai `follow_owner`) and streams FLAG_NPC actor
35
- * poses with the pet's container id as the payload suffix — decode the lane
36
- * with `kit/wire` and match `pose.suffix` to the container id.
37
- *
38
- * Obtained via `client.kit(appId).pets`.
39
- */
40
- export declare class PetsKit {
41
- private readonly appId;
42
- private readonly gameModel;
43
- private readonly engines;
44
- private readonly moduleName;
45
- private readonly typeName;
46
- constructor(appId: Scalars['BigInt']['input'], gameModel: GameModelAPI, engines: EngineDetector, options?: PetsKitOptions);
47
- /** Is the pet-driving npc engine deployed + enabled (cached per session)? */
48
- engineAvailable(): Promise<boolean>;
49
- /**
50
- * Adopt a pet: creates the caller-owned Pet container (active). Member
51
- * instantiation defaults the owner to the caller; admin tokens must pass
52
- * `ownerUserId` explicitly (the engine validates ownership on every
53
- * summon/dismiss/rename).
54
- */
55
- adopt(input: {
56
- species: string;
57
- name: string;
58
- ownerUserId?: Scalars['BigInt']['input'];
59
- position?: {
60
- x: number;
61
- y: number;
62
- z: number;
63
- };
64
- properties?: SeedPropertyInput[];
65
- }): Promise<{
66
- __typename?: "GmContainer";
67
- containerId: string;
68
- appId: string;
69
- sessionId: string | null;
70
- typeName: string;
71
- displayName: string;
72
- description: string | null;
73
- ownerUserId: string | null;
74
- metadataJson: string;
75
- }>;
76
- /** List pets (all, or one owner's with `ownerUserId`). */
77
- list(ownerUserId?: Scalars['BigInt']['input']): Promise<KitPet[]>;
78
- /** Summon your pet: it starts following you (owner-validated engine-side). */
79
- summon(containerId: string): Promise<KitPetResult>;
80
- /** Dismiss your pet: it stops simulating until summoned again. */
81
- dismiss(containerId: string): Promise<KitPetResult>;
82
- /** Rename your pet (1-32 chars; owner-validated engine-side). */
83
- rename(containerId: string, name: string): Promise<KitPetResult>;
84
- }
85
- //# sourceMappingURL=pets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pets.d.ts","sourceRoot":"","sources":["../../src/kit/pets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,8BAA8B;AAC9B,MAAM,WAAW,MAAM;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,qBAAa,OAAO;IAKhB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAGf,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EACjC,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,cAAc,EACxC,OAAO,GAAE,cAAmB;IAM9B,6EAA6E;IAC7E,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAInC;;;;;OAKG;IACG,KAAK,CAAC,KAAK,EAAE;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;QACzC,QAAQ,CAAC,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;KAClC;;;;;;;;;;;IAuBD,0DAA0D;IACpD,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoCvE,8EAA8E;IACxE,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAKxD,kEAAkE;IAC5D,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAKzD,iEAAiE;IAC3D,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAOvE"}
package/dist/kit/pets.js DELETED
@@ -1,96 +0,0 @@
1
- import { kitContainerProperties } from './shared.js';
2
- /**
3
- * Runtime helpers for engine-driven pets (the Wave 1 npc-engine template):
4
- * `Pet` containers hold species/name/owner/bond; the engine walks active
5
- * pets after their owner (kit-ai `follow_owner`) and streams FLAG_NPC actor
6
- * poses with the pet's container id as the payload suffix — decode the lane
7
- * with `kit/wire` and match `pose.suffix` to the container id.
8
- *
9
- * Obtained via `client.kit(appId).pets`.
10
- */
11
- export class PetsKit {
12
- constructor(appId, gameModel, engines, options = {}) {
13
- this.appId = appId;
14
- this.gameModel = gameModel;
15
- this.engines = engines;
16
- this.moduleName = options.moduleName ?? 'npc-engine';
17
- this.typeName = options.typeName ?? 'Pet';
18
- }
19
- /** Is the pet-driving npc engine deployed + enabled (cached per session)? */
20
- engineAvailable() {
21
- return this.engines.has(this.moduleName);
22
- }
23
- /**
24
- * Adopt a pet: creates the caller-owned Pet container (active). Member
25
- * instantiation defaults the owner to the caller; admin tokens must pass
26
- * `ownerUserId` explicitly (the engine validates ownership on every
27
- * summon/dismiss/rename).
28
- */
29
- async adopt(input) {
30
- return this.gameModel.createContainer({
31
- appId: this.appId,
32
- typeName: this.typeName,
33
- displayName: input.name,
34
- ...(input.ownerUserId !== undefined ? { ownerUserId: input.ownerUserId } : {}),
35
- properties: [
36
- { key: 'species', valueType: 'string', valueJson: JSON.stringify(input.species) },
37
- { key: 'name', valueType: 'string', valueJson: JSON.stringify(input.name) },
38
- { key: 'bond', valueType: 'int', valueJson: '0' },
39
- { key: 'active', valueType: 'string', valueJson: '"true"' },
40
- ...(input.position
41
- ? [
42
- { key: 'x', valueType: 'int', valueJson: String(Math.round(input.position.x)) },
43
- { key: 'y', valueType: 'int', valueJson: String(Math.round(input.position.y)) },
44
- { key: 'z', valueType: 'int', valueJson: String(Math.round(input.position.z)) },
45
- ]
46
- : []),
47
- ...(input.properties ?? []),
48
- ],
49
- });
50
- }
51
- /** List pets (all, or one owner's with `ownerUserId`). */
52
- async list(ownerUserId) {
53
- const containers = await this.gameModel.containers({
54
- appId: this.appId,
55
- typeName: this.typeName,
56
- });
57
- const filtered = ownerUserId === undefined
58
- ? containers
59
- : containers.filter((c) => c.ownerUserId != null && String(c.ownerUserId) === String(ownerUserId));
60
- return Promise.all(filtered.map(async (c) => {
61
- const props = await kitContainerProperties(this.gameModel, String(this.appId), c.containerId);
62
- return {
63
- containerId: c.containerId,
64
- displayName: c.displayName,
65
- species: String(props.species ?? ''),
66
- name: String(props.name ?? c.displayName),
67
- ownerUserId: c.ownerUserId != null ? String(c.ownerUserId) : null,
68
- bond: Number(props.bond ?? 0),
69
- active: props.active !== 'false' && props.active !== false,
70
- actorUuid: String(props.actor_uuid ?? ''),
71
- x: Number(props.x ?? 0),
72
- y: Number(props.y ?? 0),
73
- z: Number(props.z ?? 0),
74
- properties: props,
75
- };
76
- }));
77
- }
78
- /** Summon your pet: it starts following you (owner-validated engine-side). */
79
- async summon(containerId) {
80
- const result = await this.engines.invoke(this.moduleName, 'summon', { containerId });
81
- return { success: result.success, reason: result.reason };
82
- }
83
- /** Dismiss your pet: it stops simulating until summoned again. */
84
- async dismiss(containerId) {
85
- const result = await this.engines.invoke(this.moduleName, 'dismiss', { containerId });
86
- return { success: result.success, reason: result.reason };
87
- }
88
- /** Rename your pet (1-32 chars; owner-validated engine-side). */
89
- async rename(containerId, name) {
90
- const result = await this.engines.invoke(this.moduleName, 'rename_pet', {
91
- containerId,
92
- name,
93
- });
94
- return { success: result.success, reason: result.reason };
95
- }
96
- }
@@ -1,85 +0,0 @@
1
- import type { GameAppsAPI } from '../domains/gameApps.js';
2
- import type { GameModelAPI } from '../domains/gameModel.js';
3
- import type { Scalars, SeedPropertyInput } from '../generated/graphql.js';
4
- import { type KitInvokeResult } from './shared.js';
5
- /** Options for {@link PlotsKit}. Must match the deployed plot blueprint. */
6
- export interface PlotsKitOptions {
7
- /** The `typeName` the plot blueprint was deployed with. Defaults to `'Plot'`. */
8
- typeName?: string;
9
- }
10
- /** A parsed view of one plot. */
11
- export interface KitPlot {
12
- containerId: string;
13
- displayName: string;
14
- gridId: number;
15
- price: number;
16
- /**
17
- * 0 when unowned. Parsed numerically for both owner-mirror kinds: with
18
- * `ownerIdKind: 'string'` blueprints the stored decimal string converts,
19
- * and the for-sale sentinel `""` parses to 0.
20
- */
21
- ownerUserId: number;
22
- rentPrice?: number;
23
- rentTtlSeconds?: number;
24
- }
25
- /**
26
- * Runtime helpers for the {@link plotBlueprint} conventions: list/create
27
- * plots and drive the buy/rent/evict functions whose permission effects grant
28
- * or revoke real, replication-enforced grid permissions transactionally with
29
- * the currency mutation. Authorization (wallet ownership, price, plot
30
- * ownership) is enforced server-side — a denial resolves with
31
- * `success: false`, never an exception.
32
- *
33
- * Obtained via `client.kit(appId).plots`.
34
- */
35
- export declare class PlotsKit {
36
- private readonly appId;
37
- private readonly gameModel;
38
- private readonly gameApps;
39
- private readonly names;
40
- constructor(appId: Scalars['BigInt']['input'], gameModel: GameModelAPI, gameApps: GameAppsAPI, options?: PlotsKitOptions);
41
- /**
42
- * Instantiate a plot over an existing grid (admin — the type is
43
- * admin-instantiable). Create the grid first (`client.gameApps.createGrid`)
44
- * and pass its id here.
45
- */
46
- create(input: {
47
- displayName: string;
48
- gridId: Scalars['BigInt']['input'];
49
- price: number;
50
- rentPrice?: number;
51
- rentTtlSeconds?: number;
52
- properties?: SeedPropertyInput[];
53
- }): Promise<{
54
- __typename?: "GmContainer";
55
- containerId: string;
56
- appId: string;
57
- sessionId: string | null;
58
- typeName: string;
59
- displayName: string;
60
- description: string | null;
61
- ownerUserId: string | null;
62
- metadataJson: string;
63
- }>;
64
- /** List plots with parsed state (grid, price, current owner). */
65
- list(): Promise<KitPlot[]>;
66
- /**
67
- * Buy a plot: spends the price from the caller's wallet AND grants the
68
- * blueprint's grid permissions in one transaction. Resolves with the
69
- * wallet's remaining balance.
70
- */
71
- buy(plotId: string, walletId: string): Promise<KitInvokeResult<number>>;
72
- /**
73
- * Rent a plot (blueprint deployed with `rentable: true`): like {@link buy}
74
- * but the grant expires after the plot's `rent_ttl_seconds`.
75
- */
76
- rent(plotId: string, walletId: string): Promise<KitInvokeResult<number>>;
77
- /** Revoke a user's permissions on a plot (plot owner or app admin). */
78
- evict(plotId: string, targetUserId: Scalars['BigInt']['input']): Promise<KitInvokeResult>;
79
- /**
80
- * A user's effective permission keys on a plot's grid (for HUD display —
81
- * enforcement happens server-side regardless).
82
- */
83
- accessOf(userId: Scalars['BigInt']['input'], gridId: Scalars['BigInt']['input']): Promise<string[]>;
84
- }
85
- //# sourceMappingURL=plots.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plots.d.ts","sourceRoot":"","sources":["../../src/kit/plots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAErB,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,iCAAiC;AACjC,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,qBAAa,QAAQ;IAIjB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAL3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;gBAGf,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EACjC,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,WAAW,EACtC,OAAO,GAAE,eAAoB;IAK/B;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;QACnC,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;KAClC;;;;;;;;;;;IA0BD,iEAAiE;IAC3D,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IA2BhC;;;;OAIG;IACG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAS7E;;;OAGG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAS9E,uEAAuE;IACjE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAS/F;;;OAGG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAClC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GACjC,OAAO,CAAC,MAAM,EAAE,CAAC;CAQrB"}
package/dist/kit/plots.js DELETED
@@ -1,113 +0,0 @@
1
- import { plotNames } from './blueprints/index.js';
2
- import { kitContainerProperties, kitInvoke, } from './shared.js';
3
- /**
4
- * Runtime helpers for the {@link plotBlueprint} conventions: list/create
5
- * plots and drive the buy/rent/evict functions whose permission effects grant
6
- * or revoke real, replication-enforced grid permissions transactionally with
7
- * the currency mutation. Authorization (wallet ownership, price, plot
8
- * ownership) is enforced server-side — a denial resolves with
9
- * `success: false`, never an exception.
10
- *
11
- * Obtained via `client.kit(appId).plots`.
12
- */
13
- export class PlotsKit {
14
- constructor(appId, gameModel, gameApps, options = {}) {
15
- this.appId = appId;
16
- this.gameModel = gameModel;
17
- this.gameApps = gameApps;
18
- this.names = plotNames(options.typeName);
19
- }
20
- /**
21
- * Instantiate a plot over an existing grid (admin — the type is
22
- * admin-instantiable). Create the grid first (`client.gameApps.createGrid`)
23
- * and pass its id here.
24
- */
25
- async create(input) {
26
- const properties = [
27
- { key: 'grid_id', valueType: 'int', valueJson: String(input.gridId) },
28
- { key: 'price', valueType: 'int', valueJson: String(input.price) },
29
- ...(input.rentPrice !== undefined
30
- ? [{ key: 'rent_price', valueType: 'int', valueJson: String(input.rentPrice) }]
31
- : []),
32
- ...(input.rentTtlSeconds !== undefined
33
- ? [
34
- {
35
- key: 'rent_ttl_seconds',
36
- valueType: 'int',
37
- valueJson: String(input.rentTtlSeconds),
38
- },
39
- ]
40
- : []),
41
- ...(input.properties ?? []),
42
- ];
43
- return this.gameModel.createContainer({
44
- appId: this.appId,
45
- typeName: this.names.plotType,
46
- displayName: input.displayName,
47
- properties,
48
- });
49
- }
50
- /** List plots with parsed state (grid, price, current owner). */
51
- async list() {
52
- const containers = await this.gameModel.containers({
53
- appId: this.appId,
54
- typeName: this.names.plotType,
55
- });
56
- return Promise.all(containers.map(async (c) => {
57
- const props = await kitContainerProperties(this.gameModel, String(this.appId), c.containerId);
58
- return {
59
- containerId: c.containerId,
60
- displayName: c.displayName,
61
- gridId: Number(props.grid_id ?? 0),
62
- price: Number(props.price ?? 0),
63
- ownerUserId: Number(props.owner_user_id ?? 0),
64
- ...(props.rent_price !== undefined ? { rentPrice: Number(props.rent_price) } : {}),
65
- ...(props.rent_ttl_seconds !== undefined
66
- ? { rentTtlSeconds: Number(props.rent_ttl_seconds) }
67
- : {}),
68
- };
69
- }));
70
- }
71
- /**
72
- * Buy a plot: spends the price from the caller's wallet AND grants the
73
- * blueprint's grid permissions in one transaction. Resolves with the
74
- * wallet's remaining balance.
75
- */
76
- async buy(plotId, walletId) {
77
- return kitInvoke(this.gameModel, {
78
- appId: String(this.appId),
79
- functionName: this.names.buyFn,
80
- selfContainerId: plotId,
81
- params: { wallet_id: walletId },
82
- });
83
- }
84
- /**
85
- * Rent a plot (blueprint deployed with `rentable: true`): like {@link buy}
86
- * but the grant expires after the plot's `rent_ttl_seconds`.
87
- */
88
- async rent(plotId, walletId) {
89
- return kitInvoke(this.gameModel, {
90
- appId: String(this.appId),
91
- functionName: this.names.rentFn,
92
- selfContainerId: plotId,
93
- params: { wallet_id: walletId },
94
- });
95
- }
96
- /** Revoke a user's permissions on a plot (plot owner or app admin). */
97
- async evict(plotId, targetUserId) {
98
- return kitInvoke(this.gameModel, {
99
- appId: String(this.appId),
100
- functionName: this.names.evictFn,
101
- selfContainerId: plotId,
102
- params: { target_user_id: Number(targetUserId) },
103
- });
104
- }
105
- /**
106
- * A user's effective permission keys on a plot's grid (for HUD display —
107
- * enforcement happens server-side regardless).
108
- */
109
- async accessOf(userId, gridId) {
110
- const res = await this.gameApps.userPermissions(String(this.appId), String(gridId), String(userId));
111
- return [...res.permissionKeys];
112
- }
113
- }
@@ -1,181 +0,0 @@
1
- import type { GameModelAPI } from '../domains/gameModel.js';
2
- import type { Scalars, SeedPropertyInput } from '../generated/graphql.js';
3
- import { type KitInvokeResult } from './shared.js';
4
- /** Options for {@link ProgressionKit}. Must match the deployed blueprint. */
5
- export interface ProgressionKitOptions {
6
- /** The `typePrefix` the progression blueprint was deployed with. */
7
- typePrefix?: string;
8
- }
9
- /** A parsed view of one player's progression. */
10
- export interface KitProgress {
11
- containerId: string;
12
- displayName: string;
13
- ownerUserId: string | null;
14
- xp: number;
15
- level: number;
16
- skillPoints: number;
17
- rating: number;
18
- }
19
- /** A parsed view of one skill catalog row. */
20
- export interface KitSkillDef {
21
- containerId: string;
22
- displayName: string;
23
- skillId: string;
24
- cost: number;
25
- requiresSkillId: string;
26
- maxRank: number;
27
- }
28
- /** A parsed view of one player skill rank. */
29
- export interface KitSkillRank {
30
- containerId: string;
31
- displayName: string;
32
- ownerUserId: string | null;
33
- skillId: string;
34
- rank: number;
35
- }
36
- /** A parsed view of one achievement definition. */
37
- export interface KitAchievementDef {
38
- containerId: string;
39
- displayName: string;
40
- achievementId: string;
41
- threshold: number;
42
- }
43
- /** A parsed view of one player achievement unlock. */
44
- export interface KitAchievementUnlock {
45
- containerId: string;
46
- displayName: string;
47
- ownerUserId: string | null;
48
- achievementId: string;
49
- unlocked: boolean;
50
- }
51
- /**
52
- * Runtime helpers for the {@link progressionBlueprint} conventions: ensure a
53
- * player's `Progress`, grant XP (trusted — app admins by default), buy
54
- * skills against the catalog's costs and prerequisites, unlock threshold
55
- * achievements, and apply match rating results. Everything is
56
- * authority-checked server-side; denials resolve with `success: false`.
57
- *
58
- * Obtained via `client.kit(appId).progression`.
59
- */
60
- export declare class ProgressionKit {
61
- private readonly appId;
62
- private readonly gameModel;
63
- private readonly names;
64
- constructor(appId: Scalars['BigInt']['input'], gameModel: GameModelAPI, options?: ProgressionKitOptions);
65
- /**
66
- * Find the player's Progress container, creating it when absent (with the
67
- * `owner_user_id` mirror the guards read).
68
- */
69
- ensure(ownerUserId: Scalars['BigInt']['input'], options?: {
70
- displayName?: string;
71
- sessionId?: string;
72
- }): Promise<{
73
- __typename?: "GmContainer";
74
- containerId: string;
75
- appId: string;
76
- sessionId: string | null;
77
- typeName: string;
78
- displayName: string;
79
- description: string | null;
80
- ownerUserId: string | null;
81
- metadataJson: string;
82
- }>;
83
- /** Read one player's progression state. */
84
- state(progressId: string): Promise<KitProgress>;
85
- /**
86
- * Grant XP — a **trusted** call (default blueprint authority: app admins
87
- * via server scope; or drive it from an event automation). Awards skill
88
- * points and levels up when the curve is crossed. Resolves with the new
89
- * level.
90
- */
91
- grantXp(progressId: string, amount: number): Promise<KitInvokeResult<number>>;
92
- /** List the skill catalog (admin-seeded SkillDef containers). */
93
- skillCatalog(): Promise<KitSkillDef[]>;
94
- /** Define a skill (admin — the catalog type is admin-instantiable). */
95
- defineSkill(input: {
96
- skillId: string;
97
- cost?: number;
98
- requiresSkillId?: string;
99
- maxRank?: number;
100
- displayName?: string;
101
- properties?: SeedPropertyInput[];
102
- }): Promise<{
103
- __typename?: "GmContainer";
104
- containerId: string;
105
- appId: string;
106
- sessionId: string | null;
107
- typeName: string;
108
- displayName: string;
109
- description: string | null;
110
- ownerUserId: string | null;
111
- metadataJson: string;
112
- }>;
113
- /**
114
- * Find-or-create the caller's SkillRank row for a skill (rank 0 until
115
- * bought).
116
- */
117
- ensureSkillRank(ownerUserId: Scalars['BigInt']['input'], skillId: string, options?: {
118
- displayName?: string;
119
- }): Promise<{
120
- __typename?: "GmContainer";
121
- containerId: string;
122
- appId: string;
123
- sessionId: string | null;
124
- typeName: string;
125
- displayName: string;
126
- description: string | null;
127
- ownerUserId: string | null;
128
- metadataJson: string;
129
- }>;
130
- /**
131
- * Buy one rank of a skill. `prereqRankId` is the caller's SkillRank for
132
- * the prerequisite skill; omit it for skills without one (the rank row
133
- * itself is passed to satisfy the required param — the condition ignores
134
- * it when the def declares no prerequisite).
135
- */
136
- buySkill(input: {
137
- skillRankId: string;
138
- progressId: string;
139
- skillDefId: string;
140
- prereqRankId?: string;
141
- }): Promise<KitInvokeResult<number>>;
142
- /** List a player's skill ranks. */
143
- skills(ownerUserId: Scalars['BigInt']['input']): Promise<KitSkillRank[]>;
144
- /** List the achievement catalog (admin-seeded AchievementDef containers). */
145
- achievementCatalog(): Promise<KitAchievementDef[]>;
146
- /** Define an achievement (admin). */
147
- defineAchievement(input: {
148
- achievementId: string;
149
- threshold: number;
150
- displayName?: string;
151
- }): Promise<{
152
- __typename?: "GmContainer";
153
- containerId: string;
154
- appId: string;
155
- sessionId: string | null;
156
- typeName: string;
157
- displayName: string;
158
- description: string | null;
159
- ownerUserId: string | null;
160
- metadataJson: string;
161
- }>;
162
- /** List a player's achievement unlocks. */
163
- achievements(ownerUserId: Scalars['BigInt']['input']): Promise<KitAchievementUnlock[]>;
164
- /**
165
- * Unlock an achievement once its xp threshold is met. Creates the caller's
166
- * unlock row when absent, then invokes the gated function (idempotent).
167
- */
168
- unlockAchievement(input: {
169
- ownerUserId: Scalars['BigInt']['input'];
170
- progressId: string;
171
- achievementDefId: string;
172
- achievementId: string;
173
- }): Promise<KitInvokeResult<boolean>>;
174
- /**
175
- * Apply a match result as a rating delta (trusted — host-gated by
176
- * default; `kit.matches` computes the delta). Resolves with the new
177
- * rating.
178
- */
179
- applyMatchResult(progressId: string, delta: number): Promise<KitInvokeResult<number>>;
180
- }
181
- //# sourceMappingURL=progression.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"progression.d.ts","sourceRoot":"","sources":["../../src/kit/progression.ts"],"names":[],"mappings":"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"}