@voltro/plugin-rooms 0.0.0-stage → 0.88.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 (495) hide show
  1. package/CHANGELOG.md +24492 -0
  2. package/LICENSE +61 -0
  3. package/README.md +9204 -2
  4. package/SECURITY.md +56 -0
  5. package/THIRD-PARTY-NOTICES.md +12496 -0
  6. package/dist/actor.js +1473 -0
  7. package/dist/apiBinding.js +677 -0
  8. package/dist/apiRegistryBinding.js +398 -0
  9. package/dist/apiReservations.js +432 -0
  10. package/dist/baselines.js +72 -0
  11. package/dist/bots.d.ts +1485 -0
  12. package/dist/bots.js +562 -0
  13. package/dist/catalog.js +79 -0
  14. package/dist/checkpointJson.js +23 -0
  15. package/dist/checkpointStore.js +385 -0
  16. package/dist/client.js +55 -0
  17. package/dist/clockSync.js +50 -0
  18. package/dist/collision.js +155 -0
  19. package/dist/commandDelivery.js +100 -0
  20. package/dist/commandRecord.js +10 -0
  21. package/dist/commandWithdrawal.js +182 -0
  22. package/dist/connection.js +496 -0
  23. package/dist/controlCarrier.js +374 -0
  24. package/dist/controlRegistry.js +78 -0
  25. package/dist/controlTarget.js +44 -0
  26. package/dist/controlTransport.js +573 -0
  27. package/dist/developmentBinding.js +112 -0
  28. package/dist/directory.js +322 -0
  29. package/dist/directoryProjection.js +116 -0
  30. package/dist/errors.d.ts +125 -0
  31. package/dist/errors.js +52 -0
  32. package/dist/fixed.d.ts +284 -0
  33. package/dist/fixed.js +10 -0
  34. package/dist/fixed32.js +133 -0
  35. package/dist/fixedCollision.js +59 -0
  36. package/dist/fixedCollision32.js +108 -0
  37. package/dist/fixedMath.js +55 -0
  38. package/dist/fixedRaw.js +10 -0
  39. package/dist/fixedSlabs.js +33 -0
  40. package/dist/fixedTrig.js +47 -0
  41. package/dist/fixedTrig32.js +37 -0
  42. package/dist/fixedVectors.js +112 -0
  43. package/dist/fixedVectors32.js +94 -0
  44. package/dist/fixedWide.js +49 -0
  45. package/dist/fixedWords.js +45 -0
  46. package/dist/gateway.js +56 -0
  47. package/dist/geometry-retention-app/rooms.geometryJournalRetention.workflow.server.tsx +4 -0
  48. package/dist/geometry-retention-app/rooms.geometryJournalRetention.workflow.tsx +14 -0
  49. package/dist/geometry-worker/worker.d.mts +2 -0
  50. package/dist/geometry-worker/worker.mjs +50 -0
  51. package/dist/geometry.d.ts +2249 -0
  52. package/dist/geometry.js +40 -0
  53. package/dist/geometryActivation.js +81 -0
  54. package/dist/geometryActorInventory.js +107 -0
  55. package/dist/geometryAdminClient.js +86 -0
  56. package/dist/geometryAdminData.js +31 -0
  57. package/dist/geometryAdminFixtures.js +49 -0
  58. package/dist/geometryAdminPorts.js +4 -0
  59. package/dist/geometryAdminRpc.js +57 -0
  60. package/dist/geometryAdminRpcRoutes.js +48 -0
  61. package/dist/geometryAdminSchemas.js +38 -0
  62. package/dist/geometryAdministration.js +189 -0
  63. package/dist/geometryAdministrationPorts.js +4 -0
  64. package/dist/geometryApiBinding.js +164 -0
  65. package/dist/geometryAppStorage.js +57 -0
  66. package/dist/geometryArtifacts.js +197 -0
  67. package/dist/geometryAssetBundle.js +116 -0
  68. package/dist/geometryAssetClient.js +24 -0
  69. package/dist/geometryAssetData.js +105 -0
  70. package/dist/geometryAssetHttp.js +122 -0
  71. package/dist/geometryAssetPorts.js +4 -0
  72. package/dist/geometryAssetRpc.js +29 -0
  73. package/dist/geometryAssetRpcRoutes.js +39 -0
  74. package/dist/geometryAssetStorageGrant.js +102 -0
  75. package/dist/geometryBoxOverlap.js +109 -0
  76. package/dist/geometryCatalogueDigest.js +110 -0
  77. package/dist/geometryCellCoverage.js +84 -0
  78. package/dist/geometryCellLoader.js +27 -0
  79. package/dist/geometryChannel.js +133 -0
  80. package/dist/geometryChunkHttp.js +53 -0
  81. package/dist/geometryChunkLeases.js +21 -0
  82. package/dist/geometryClient.d.ts +1429 -0
  83. package/dist/geometryClient.js +148 -0
  84. package/dist/geometryClientChunks.js +329 -0
  85. package/dist/geometryClientDelta.js +24 -0
  86. package/dist/geometryClientHttp.js +36 -0
  87. package/dist/geometryClientInterest.js +108 -0
  88. package/dist/geometryClientStatic.js +33 -0
  89. package/dist/geometryCms.d.ts +763 -0
  90. package/dist/geometryCms.js +216 -0
  91. package/dist/geometryCommitCoordinator.js +240 -0
  92. package/dist/geometryCompactionFixture.js +83 -0
  93. package/dist/geometryCompactionStrategies.js +37 -0
  94. package/dist/geometryConnectionClient.js +22 -0
  95. package/dist/geometryDerivationFixtures.js +140 -0
  96. package/dist/geometryDerivationStrategies.js +26 -0
  97. package/dist/geometryDigest.js +12 -0
  98. package/dist/geometryEditChannel.js +69 -0
  99. package/dist/geometryEditIngress.js +262 -0
  100. package/dist/geometryEdits.js +365 -0
  101. package/dist/geometryEnvelope.js +40 -0
  102. package/dist/geometryGridRaycast.js +91 -0
  103. package/dist/geometryGridSweep.js +91 -0
  104. package/dist/geometryHeightfield.js +165 -0
  105. package/dist/geometryHeightfieldRaycast.js +73 -0
  106. package/dist/geometryHeightfieldSweep.js +84 -0
  107. package/dist/geometryHeightfieldVolume.js +44 -0
  108. package/dist/geometryHost.js +321 -0
  109. package/dist/geometryHostDirectory.js +206 -0
  110. package/dist/geometryHostMutations.js +136 -0
  111. package/dist/geometryHostStreams.js +123 -0
  112. package/dist/geometryHttpBody.js +75 -0
  113. package/dist/geometryHttpRoutes.js +111 -0
  114. package/dist/geometryImportGltf.js +299 -0
  115. package/dist/geometryImportLdtk.js +53 -0
  116. package/dist/geometryImportPng.js +143 -0
  117. package/dist/geometryImportPublication.js +66 -0
  118. package/dist/geometryImportTiled.js +38 -0
  119. package/dist/geometryImportTiles.js +135 -0
  120. package/dist/geometryImportVox.js +129 -0
  121. package/dist/geometryImportedSource.js +100 -0
  122. package/dist/geometryInspectEndpoint.js +247 -0
  123. package/dist/geometryInspection.js +91 -0
  124. package/dist/geometryInstall.js +120 -0
  125. package/dist/geometryJournalArchiveData.js +20 -0
  126. package/dist/geometryJournalArchiveIndex.js +329 -0
  127. package/dist/geometryJournalArchiveTable.js +20 -0
  128. package/dist/geometryJournalCompaction.js +99 -0
  129. package/dist/geometryJournalPatch.js +46 -0
  130. package/dist/geometryJournalRetention.js +111 -0
  131. package/dist/geometryJournalRetentionSchemas.js +35 -0
  132. package/dist/geometryJournalRetentionSweep.js +111 -0
  133. package/dist/geometryJournalRetentionWorkflow.js +27 -0
  134. package/dist/geometryJournalRetentionWorkflowData.js +30 -0
  135. package/dist/geometryJournalStorage.js +147 -0
  136. package/dist/geometryLoader.js +117 -0
  137. package/dist/geometryManifest.js +112 -0
  138. package/dist/geometryManifestChannel.js +92 -0
  139. package/dist/geometryManifestClient.js +121 -0
  140. package/dist/geometryManifestData.js +48 -0
  141. package/dist/geometryManifestPorts.js +4 -0
  142. package/dist/geometryManifestPublication.js +108 -0
  143. package/dist/geometryManifestSource.js +67 -0
  144. package/dist/geometryMigrationJournal.js +13 -0
  145. package/dist/geometryMigrationStrategies.js +6 -0
  146. package/dist/geometryMigrations.js +322 -0
  147. package/dist/geometryNativeMetadata.js +51 -0
  148. package/dist/geometryPatch.js +169 -0
  149. package/dist/geometryPersistence.js +448 -0
  150. package/dist/geometryPersistenceCapture.js +68 -0
  151. package/dist/geometryPersistenceData.js +139 -0
  152. package/dist/geometryPersistencePorts.js +4 -0
  153. package/dist/geometryPlayerAdmission.js +33 -0
  154. package/dist/geometryPlayerEditOwner.js +264 -0
  155. package/dist/geometryPlayerEdits.js +48 -0
  156. package/dist/geometryPrepared.js +187 -0
  157. package/dist/geometryPrivacyFence.js +23 -0
  158. package/dist/geometryProceduralPublication.js +90 -0
  159. package/dist/geometryProceduralWorker.js +163 -0
  160. package/dist/geometryPublication.js +109 -0
  161. package/dist/geometryRayAlgebra.js +115 -0
  162. package/dist/geometryReadClient.js +156 -0
  163. package/dist/geometryReadPorts.js +4 -0
  164. package/dist/geometryReadRpc.js +26 -0
  165. package/dist/geometryReadRpcRoutes.js +46 -0
  166. package/dist/geometryReliablePublication.js +81 -0
  167. package/dist/geometryReloadPorts.js +45 -0
  168. package/dist/geometryReloadSource.js +277 -0
  169. package/dist/geometryRenderCache.js +164 -0
  170. package/dist/geometryRenderLod.js +101 -0
  171. package/dist/geometryRollback.js +124 -0
  172. package/dist/geometryRollbackCoordinator.js +202 -0
  173. package/dist/geometryRollbackPorts.js +45 -0
  174. package/dist/geometryRollbackSource.js +208 -0
  175. package/dist/geometryRollbackStore.js +197 -0
  176. package/dist/geometrySchemas.js +26 -0
  177. package/dist/geometryServer.d.ts +2766 -0
  178. package/dist/geometryServer.js +62 -0
  179. package/dist/geometryShapeRaycast.js +110 -0
  180. package/dist/geometryShapeSegments.js +33 -0
  181. package/dist/geometryShapes.js +222 -0
  182. package/dist/geometrySnapshot.js +75 -0
  183. package/dist/geometrySnapshotChannel.js +159 -0
  184. package/dist/geometrySnapshotClient.js +158 -0
  185. package/dist/geometrySnapshotPreparation.js +75 -0
  186. package/dist/geometrySnapshotServer.js +190 -0
  187. package/dist/geometrySqlOwner.js +20 -0
  188. package/dist/geometryStorage.js +126 -0
  189. package/dist/geometryStorageGrant.js +68 -0
  190. package/dist/geometryStorageIdentity.js +8 -0
  191. package/dist/geometryTileArtifact.js +9 -0
  192. package/dist/geometryTileCodec.js +193 -0
  193. package/dist/geometryTileCollision.js +95 -0
  194. package/dist/geometryTileNavigation.js +127 -0
  195. package/dist/geometryTileView.js +34 -0
  196. package/dist/geometryVersionActivation.js +113 -0
  197. package/dist/geometryVersionClient.js +237 -0
  198. package/dist/geometryVersionCompare.js +39 -0
  199. package/dist/geometryVersionMigration.js +105 -0
  200. package/dist/geometryVoxel.js +252 -0
  201. package/dist/geometryWorldEntitySubject.js +31 -0
  202. package/dist/geometryWorldExtent.js +11 -0
  203. package/dist/geometryWorldMetadata.js +37 -0
  204. package/dist/geometryWorldStrategyFixtures.js +126 -0
  205. package/dist/geometryWorldView.js +306 -0
  206. package/dist/host.js +127 -0
  207. package/dist/hostBinding.js +276 -0
  208. package/dist/hostCellObservation.js +113 -0
  209. package/dist/hostClientCapacity.js +89 -0
  210. package/dist/hostCommandScope.js +63 -0
  211. package/dist/hostController.js +3093 -0
  212. package/dist/hostDeployment.js +64 -0
  213. package/dist/hostDrain.js +151 -0
  214. package/dist/hostDrainPorts.js +4 -0
  215. package/dist/hostDriver.js +178 -0
  216. package/dist/hostLane.js +287 -0
  217. package/dist/hostListener.js +78 -0
  218. package/dist/hostListenerBinding.js +18 -0
  219. package/dist/hostLoopObservation.js +89 -0
  220. package/dist/hostMetrics.js +55 -0
  221. package/dist/hostRegistryBinding.js +417 -0
  222. package/dist/hostSelection.js +15 -0
  223. package/dist/hostShutdown.js +46 -0
  224. package/dist/hostTurnObservation.js +52 -0
  225. package/dist/identities.js +3 -0
  226. package/dist/index.d.ts +8632 -0
  227. package/dist/index.js +231 -0
  228. package/dist/inputReceipts.js +62 -0
  229. package/dist/inputRedundancy.js +54 -0
  230. package/dist/inspect.js +237 -0
  231. package/dist/lockstep.d.ts +436 -0
  232. package/dist/lockstep.js +381 -0
  233. package/dist/lockstepAdmission.js +261 -0
  234. package/dist/lockstepAdmissionCodec.js +93 -0
  235. package/dist/lockstepAdmissionPorts.js +4 -0
  236. package/dist/lockstepClientSession.js +577 -0
  237. package/dist/lockstepDefinition.js +147 -0
  238. package/dist/lockstepHostLoop.js +242 -0
  239. package/dist/lockstepInitialAdmission.js +66 -0
  240. package/dist/lockstepInitialStrategyFixtures.js +44 -0
  241. package/dist/lockstepJournal.js +394 -0
  242. package/dist/lockstepJournalCodec.js +253 -0
  243. package/dist/lockstepJournalPorts.js +4 -0
  244. package/dist/lockstepJournalRebuild.js +207 -0
  245. package/dist/lockstepJournalRows.js +56 -0
  246. package/dist/lockstepMembers.js +130 -0
  247. package/dist/lockstepMessages.js +46 -0
  248. package/dist/lockstepOwnedRoom.js +763 -0
  249. package/dist/lockstepPolicies.js +83 -0
  250. package/dist/lockstepReact.js +46 -0
  251. package/dist/lockstepRecoveryTruth.js +120 -0
  252. package/dist/lockstepRosterConfig.js +31 -0
  253. package/dist/lockstepSeed.js +11 -0
  254. package/dist/lockstepSeedFixture.js +19 -0
  255. package/dist/lockstepServer.d.ts +3897 -0
  256. package/dist/lockstepServer.js +324 -0
  257. package/dist/lockstepServerConfig.js +100 -0
  258. package/dist/lockstepServerRoles.js +402 -0
  259. package/dist/lockstepServerStrategyFixtures.js +32 -0
  260. package/dist/lockstepStrategies.js +5 -0
  261. package/dist/lockstepStrategyFixtures.js +136 -0
  262. package/dist/lockstepTerminal.js +89 -0
  263. package/dist/lockstepTerminalPorts.js +4 -0
  264. package/dist/lockstepTransport.js +772 -0
  265. package/dist/lockstepTransportConfig.js +31 -0
  266. package/dist/lockstepWireRoster.js +33 -0
  267. package/dist/matchRoomProvider.js +31 -0
  268. package/dist/matchRooms.js +18 -0
  269. package/dist/membershipObserver.js +46 -0
  270. package/dist/moderation.js +97 -0
  271. package/dist/movementSpecials.js +103 -0
  272. package/dist/ownership.js +16 -0
  273. package/dist/ownershipWithdrawal.js +17 -0
  274. package/dist/pcg32.js +95 -0
  275. package/dist/ports.d.ts +1241 -0
  276. package/dist/ports.js +10 -0
  277. package/dist/quaternion.js +69 -0
  278. package/dist/react.d.ts +406 -0
  279. package/dist/react.js +108 -0
  280. package/dist/reaper-app/rooms.reaper.workflow.server.tsx +5 -0
  281. package/dist/reaper-app/rooms.reaper.workflow.tsx +13 -0
  282. package/dist/reaper.js +242 -0
  283. package/dist/reaperSchemas.js +41 -0
  284. package/dist/reaperWorkflow.js +69 -0
  285. package/dist/recovery.js +188 -0
  286. package/dist/recoverySeats.js +25 -0
  287. package/dist/replay.d.ts +273 -0
  288. package/dist/replay.js +484 -0
  289. package/dist/replayPorts.js +4 -0
  290. package/dist/replayRecording.js +66 -0
  291. package/dist/replaySchema.js +156 -0
  292. package/dist/replayStorage.d.ts +149 -0
  293. package/dist/replayStorage.js +484 -0
  294. package/dist/reservationBatch.js +421 -0
  295. package/dist/reservationSchemas.js +16 -0
  296. package/dist/reservations.js +258 -0
  297. package/dist/reservePort.js +68 -0
  298. package/dist/resolvedOptions.js +3 -0
  299. package/dist/room.d.ts +1006 -0
  300. package/dist/room.js +283 -0
  301. package/dist/roomAccessSweep.js +94 -0
  302. package/dist/roomAppCommandControl.js +58 -0
  303. package/dist/roomAuthoringStrategy.js +16 -0
  304. package/dist/roomErasure.js +197 -0
  305. package/dist/roomPoolRuntimeDefaults.js +23 -0
  306. package/dist/roomPoolSelection.js +18 -0
  307. package/dist/roomPoolTopology.js +211 -0
  308. package/dist/rpc.d.ts +551 -0
  309. package/dist/rpc.js +111 -0
  310. package/dist/rpcClient.js +151 -0
  311. package/dist/rpcRoutes.js +27 -0
  312. package/dist/runtime.js +1122 -0
  313. package/dist/schemaHistory.js +97 -0
  314. package/dist/seatStore.js +150 -0
  315. package/dist/seatStrategyFixtures.js +51 -0
  316. package/dist/seatSubject.js +31 -0
  317. package/dist/seats.js +129 -0
  318. package/dist/serverSession.js +810 -0
  319. package/dist/serverSessionConfig.js +42 -0
  320. package/dist/sessionAdmission.js +52 -0
  321. package/dist/sidecarAdmission.js +102 -0
  322. package/dist/sidecarConfig.js +115 -0
  323. package/dist/sidecarConfigPublication.js +63 -0
  324. package/dist/sidecarHostListener.js +207 -0
  325. package/dist/sidecarIpc.js +204 -0
  326. package/dist/sidecarPeer.js +309 -0
  327. package/dist/sidecarProcessPort.js +27 -0
  328. package/dist/sidecarRuntime.js +167 -0
  329. package/dist/sidecarSelection.js +141 -0
  330. package/dist/sidecarWire.js +177 -0
  331. package/dist/sidecarWrites.js +162 -0
  332. package/dist/simulation.d.ts +391 -0
  333. package/dist/simulation.js +281 -0
  334. package/dist/simulationAuthoring.js +28 -0
  335. package/dist/simulationBytes.js +26 -0
  336. package/dist/simulationConformance.js +304 -0
  337. package/dist/simulationInputHistoryCapture.js +34 -0
  338. package/dist/simulationInputHistoryWire.js +192 -0
  339. package/dist/simulationOptionsWire.js +77 -0
  340. package/dist/simulationRecoveryWire.js +133 -0
  341. package/dist/simulationReplay.js +126 -0
  342. package/dist/simulationSnapshotWire.js +111 -0
  343. package/dist/simulationState.js +177 -0
  344. package/dist/snapshotBlob.js +125 -0
  345. package/dist/snapshotBlobCleanup.js +92 -0
  346. package/dist/snapshotBlobIndex.js +37 -0
  347. package/dist/snapshotBudget.js +79 -0
  348. package/dist/snapshotChain.js +184 -0
  349. package/dist/snapshotErasure.js +171 -0
  350. package/dist/snapshotInspection.js +104 -0
  351. package/dist/snapshotSegmentBlobs.js +57 -0
  352. package/dist/snapshotUploads.js +165 -0
  353. package/dist/socketTransport.js +252 -0
  354. package/dist/spatial.js +103 -0
  355. package/dist/spectatorPolicy.js +25 -0
  356. package/dist/spectatorProducer.js +88 -0
  357. package/dist/startFailureCause.js +3 -0
  358. package/dist/stateCodec.js +657 -0
  359. package/dist/strategies.d.ts +210 -0
  360. package/dist/strategies.js +8 -0
  361. package/dist/strategiesServer.d.ts +286 -0
  362. package/dist/strategiesServer.js +11 -0
  363. package/dist/strategyFixtures.js +181 -0
  364. package/dist/streamFraming.js +121 -0
  365. package/dist/streamTransport.js +265 -0
  366. package/dist/subjectAdmission.js +49 -0
  367. package/dist/subjectPrivacy.js +280 -0
  368. package/dist/subjectPrivacyBinding.js +89 -0
  369. package/dist/systemManifest.js +181 -0
  370. package/dist/tables.js +158 -0
  371. package/dist/testHarness.js +88 -0
  372. package/dist/testing.d.ts +3684 -0
  373. package/dist/testing.js +220 -0
  374. package/dist/testingPorts.js +270 -0
  375. package/dist/testingServer.d.ts +4060 -0
  376. package/dist/testingServer.js +18 -0
  377. package/dist/transform.d.ts +692 -0
  378. package/dist/transform.js +216 -0
  379. package/dist/transform3d.js +117 -0
  380. package/dist/transformCollection.js +23 -0
  381. package/dist/transformCollection3d.js +23 -0
  382. package/dist/transformCollectionCore.js +155 -0
  383. package/dist/transformFrames.js +120 -0
  384. package/dist/transformPrediction3d.js +126 -0
  385. package/dist/transformRules.js +122 -0
  386. package/dist/transformSchemas.js +19 -0
  387. package/dist/transport.js +31 -0
  388. package/dist/transportAuthoring.js +28 -0
  389. package/dist/transportCleanup.js +21 -0
  390. package/dist/transportConformance.js +123 -0
  391. package/dist/transportConnector.js +81 -0
  392. package/dist/transportEndpoints.js +37 -0
  393. package/dist/transportsServer.d.ts +5515 -0
  394. package/dist/transportsServer.js +6 -0
  395. package/dist/viewProjection.js +15 -0
  396. package/dist/web.d.ts +2286 -0
  397. package/dist/web.js +517 -0
  398. package/dist/webTransportClient.js +172 -0
  399. package/dist/wire.d.ts +992 -0
  400. package/dist/wire.js +491 -0
  401. package/dist/withdrawalPort.js +27 -0
  402. package/dist/world.d.ts +1894 -0
  403. package/dist/world.js +332 -0
  404. package/dist/worldActorReceipts.js +47 -0
  405. package/dist/worldActorTransferSnapshot.js +13 -0
  406. package/dist/worldAdmissionPending.js +7 -0
  407. package/dist/worldBoundaryCoordinator.js +147 -0
  408. package/dist/worldCatalog.js +80 -0
  409. package/dist/worldCellAllocation.js +202 -0
  410. package/dist/worldCellDestination.js +67 -0
  411. package/dist/worldCells.js +488 -0
  412. package/dist/worldChange.js +31 -0
  413. package/dist/worldClient.js +663 -0
  414. package/dist/worldClientControl.js +140 -0
  415. package/dist/worldClientPendingInput.js +15 -0
  416. package/dist/worldClientRpc.js +132 -0
  417. package/dist/worldClientRpcRoutes.js +42 -0
  418. package/dist/worldClientSchemas.js +27 -0
  419. package/dist/worldCommands.js +139 -0
  420. package/dist/worldData.js +41 -0
  421. package/dist/worldDefaultBinding.js +376 -0
  422. package/dist/worldDefaultGroupAdmission.js +81 -0
  423. package/dist/worldDefaultGroupAppServices.js +30 -0
  424. package/dist/worldDefaultGroupCompensation.js +108 -0
  425. package/dist/worldDefaultGroupContinuation.js +95 -0
  426. package/dist/worldDefaultGroupControl.js +71 -0
  427. package/dist/worldDefaultGroupMembers.js +84 -0
  428. package/dist/worldDefaultGroups.js +20 -0
  429. package/dist/worldDefaultPending.js +78 -0
  430. package/dist/worldDefaultService.js +244 -0
  431. package/dist/worldEntities.js +2979 -0
  432. package/dist/worldEntityCodec.js +20 -0
  433. package/dist/worldEntityHandoffView.js +153 -0
  434. package/dist/worldGeometry.js +169 -0
  435. package/dist/worldGhostAdmission.js +64 -0
  436. package/dist/worldGhostDestination.js +117 -0
  437. package/dist/worldGhostGateway.js +131 -0
  438. package/dist/worldGhostHandshake.js +107 -0
  439. package/dist/worldGhostHost.js +41 -0
  440. package/dist/worldGhostIngress.js +131 -0
  441. package/dist/worldGhostNeighborhood.js +69 -0
  442. package/dist/worldGhostNeighbors.js +85 -0
  443. package/dist/worldGhostOutbound.js +109 -0
  444. package/dist/worldGhostPublisher.js +215 -0
  445. package/dist/worldGhostReceiver.js +212 -0
  446. package/dist/worldGhostSender.js +145 -0
  447. package/dist/worldGhostSocket.js +77 -0
  448. package/dist/worldGhostWire.js +171 -0
  449. package/dist/worldGroupCommand.js +48 -0
  450. package/dist/worldGroupDeadline.js +114 -0
  451. package/dist/worldGroupPreparation.js +114 -0
  452. package/dist/worldGroupReadyControl.js +127 -0
  453. package/dist/worldGroupSupervisor.js +119 -0
  454. package/dist/worldHandoffMetrics.js +58 -0
  455. package/dist/worldHandoffView.js +99 -0
  456. package/dist/worldHostSource.js +68 -0
  457. package/dist/worldInspectEndpoint.js +249 -0
  458. package/dist/worldInspection.js +108 -0
  459. package/dist/worldInstanceAdmission.js +30 -0
  460. package/dist/worldInstanceAllocation.js +115 -0
  461. package/dist/worldInstanceDestination.js +63 -0
  462. package/dist/worldInstanceExpiry.js +281 -0
  463. package/dist/worldInstanceExpirySupervisor.js +87 -0
  464. package/dist/worldInstanceLifecycle.js +102 -0
  465. package/dist/worldInstanceState.js +51 -0
  466. package/dist/worldInstances.js +477 -0
  467. package/dist/worldJoin.js +55 -0
  468. package/dist/worldLayers.js +150 -0
  469. package/dist/worldLeases.js +77 -0
  470. package/dist/worldManifest.js +24 -0
  471. package/dist/worldMovement.js +62 -0
  472. package/dist/worldPersistence.js +133 -0
  473. package/dist/worldProjection.js +220 -0
  474. package/dist/worldReact.js +109 -0
  475. package/dist/worldRecoveryActor.js +34 -0
  476. package/dist/worldReturnAnchor.js +48 -0
  477. package/dist/worldRoomHooks.js +56 -0
  478. package/dist/worldRoomPool.js +26 -0
  479. package/dist/worldRoomSteps.js +132 -0
  480. package/dist/worldSeatBinding.js +35 -0
  481. package/dist/worldServer.d.ts +6936 -0
  482. package/dist/worldServer.js +48 -0
  483. package/dist/worldSourceSeatPending.js +8 -0
  484. package/dist/worldStrategyFixtures.js +163 -0
  485. package/dist/worldTesting.js +26 -0
  486. package/dist/worldTransitionDefaults.js +197 -0
  487. package/dist/worldTransitionExecutor.js +518 -0
  488. package/dist/worldTransitionGroup.js +112 -0
  489. package/dist/worldTransitionPhysicalSteps.js +39 -0
  490. package/dist/worldTransitionResolver.js +227 -0
  491. package/dist/worldTransitionSeatGroup.js +63 -0
  492. package/dist/worldTransitionSeats.js +259 -0
  493. package/dist/worldTransitionState.js +94 -0
  494. package/dist/worldTransitions.js +100 -0
  495. package/package.json +189 -4
package/dist/rpc.d.ts ADDED
@@ -0,0 +1,551 @@
1
+ import { ActionProcedureDescriptor } from '@voltro/protocol';
2
+ import { PluginRpcClientDescriptor } from '@voltro/protocol';
3
+ import { QueryProcedureDescriptor } from '@voltro/protocol';
4
+ import { Schema } from 'effect';
5
+ import { YieldableError } from 'effect/Cause';
6
+
7
+ export declare const BASE_NAME = "@voltro/plugin-rooms";
8
+
9
+ export declare class BudgetExceeded extends BudgetExceeded_base {
10
+ get message(): string;
11
+ }
12
+
13
+ declare const BudgetExceeded_base: Schema.Class<BudgetExceeded, Schema.TaggedStruct<"BudgetExceeded", {
14
+ readonly budget: Schema.String;
15
+ readonly limit: Schema.Number;
16
+ }>, YieldableError>;
17
+
18
+ export declare const geometryAssetUrlDescriptor: ActionProcedureDescriptor<"rooms.geometry.assetUrl", Schema.Struct<{
19
+ readonly worldId: Schema.String;
20
+ readonly layerSetId: Schema.String;
21
+ readonly version: Schema.String;
22
+ readonly key: Schema.String;
23
+ }>, Schema.Struct<{
24
+ readonly url: Schema.String;
25
+ readonly checksum: Schema.String;
26
+ readonly size: Schema.Int;
27
+ readonly contentType: Schema.String;
28
+ }>, typeof ProtocolError>;
29
+
30
+ /** The changed chunks a World cell Room owns, live from the chunk delta table (`_voltro_geo_chunk_deltas`). */
31
+ export declare const geometryChunksDescriptor: QueryProcedureDescriptor<"rooms.geometry.chunks", Schema.Struct<{
32
+ readonly roomId: Schema.String;
33
+ }>, Schema.Struct<{
34
+ readonly roomId: Schema.String;
35
+ readonly worldId: Schema.String;
36
+ readonly zoneId: Schema.String;
37
+ readonly cellId: Schema.String;
38
+ readonly truncated: Schema.Boolean;
39
+ readonly chunks: Schema.$Array<Schema.Struct<{
40
+ readonly cx: Schema.Int;
41
+ readonly cy: Schema.Int;
42
+ readonly cz: Schema.optional<Schema.Int>;
43
+ readonly layerSetId: Schema.String;
44
+ readonly version: Schema.String;
45
+ readonly revision: Schema.Int;
46
+ readonly changed: Schema.Boolean;
47
+ readonly updatedAt: Schema.Int;
48
+ }>>;
49
+ }>, Schema.Union<readonly [typeof ProtocolError, typeof BudgetExceeded]>>;
50
+
51
+ /** Browser-safe workflow control/results; no patch, Subject or credentials. */
52
+ export declare const GeometryJournalRetentionWorkflowPayload: Schema.Struct<{
53
+ readonly runKey: Schema.NonEmptyString;
54
+ readonly maxPages: Schema.Int;
55
+ }>;
56
+
57
+ export declare type GeometryJournalRetentionWorkflowPayload = typeof GeometryJournalRetentionWorkflowPayload.Type;
58
+
59
+ export declare const GeometryJournalRetentionWorkflowResult: Schema.Struct<{
60
+ readonly scopes: Schema.Int;
61
+ readonly pages: Schema.Int;
62
+ readonly selected: Schema.Int;
63
+ readonly compacted: Schema.Int;
64
+ readonly alreadyArchived: Schema.Int;
65
+ readonly skipped: Schema.Int;
66
+ }>;
67
+
68
+ export declare type GeometryJournalRetentionWorkflowResult = typeof GeometryJournalRetentionWorkflowResult.Type;
69
+
70
+ export declare const geometryReloadDescriptor: ActionProcedureDescriptor<"rooms.geometry.reload", Schema.Struct<{
71
+ readonly roomId: Schema.String;
72
+ readonly request: Schema.Struct<{
73
+ readonly version: Schema.String;
74
+ readonly requestId: Schema.String;
75
+ }>;
76
+ }>, Schema.Struct<{
77
+ readonly ok: Schema.Literal<true>;
78
+ }>, Schema.Union<readonly [typeof ProtocolError, typeof BudgetExceeded]>>;
79
+
80
+ export declare const geometryRollbackDescriptor: ActionProcedureDescriptor<"rooms.geometry.rollback", Schema.Struct<{
81
+ readonly roomId: Schema.String;
82
+ readonly request: Schema.Struct<{
83
+ readonly cx: Schema.Int;
84
+ readonly cy: Schema.Int;
85
+ readonly cz: Schema.optional<Schema.Int>;
86
+ readonly target: Schema.NullOr<Schema.Struct<{
87
+ readonly id: Schema.String;
88
+ readonly kind: Schema.Literals<readonly ["user", "guest"]>;
89
+ }>>;
90
+ readonly requestId: Schema.String;
91
+ }>;
92
+ }>, Schema.Struct<{
93
+ readonly ok: Schema.Literal<true>;
94
+ }>, Schema.Union<readonly [typeof ProtocolError, typeof BudgetExceeded]>>;
95
+
96
+ export declare const geometryStaticUrlDescriptor: ActionProcedureDescriptor<"rooms.geometry.staticUrl", Schema.Struct<{
97
+ readonly worldId: Schema.String;
98
+ readonly layerSetId: Schema.String;
99
+ readonly version: Schema.String;
100
+ readonly cx: Schema.Int;
101
+ readonly cy: Schema.Int;
102
+ readonly cz: Schema.optional<Schema.Int>;
103
+ }>, Schema.Struct<{
104
+ readonly url: Schema.String;
105
+ }>, typeof ProtocolError>;
106
+
107
+ export declare const leaveDescriptor: ActionProcedureDescriptor<"rooms.leave", Schema.Struct<{
108
+ readonly sessionId: Schema.NonEmptyString;
109
+ readonly token: Schema.Uint8Array;
110
+ }>, Schema.Struct<{
111
+ readonly ok: Schema.Literal<true>;
112
+ }>, Schema.Union<readonly [typeof BudgetExceeded, typeof NotRoomMember, typeof ProtocolError, typeof RoomAuthoringError, typeof RoomForbidden, typeof RoomFull, typeof RoomGone, typeof RoomLocked, typeof RoomPoolWaking, typeof RoomsClosed, typeof SeatExpired]>>;
113
+
114
+ export declare const listDescriptor: QueryProcedureDescriptor<"rooms.list", Schema.Struct<{
115
+ readonly room: Schema.NonEmptyString;
116
+ readonly limit: Schema.optional<Schema.Int>;
117
+ }>, Schema.$Array<Schema.Struct<{
118
+ readonly id: Schema.String;
119
+ readonly name: Schema.String;
120
+ readonly metadata: Schema.$Record<Schema.String, Schema.Unknown>;
121
+ readonly clients: Schema.Int;
122
+ readonly maxClients: Schema.Int;
123
+ readonly locked: Schema.Boolean;
124
+ }>>, Schema.Union<readonly [typeof BudgetExceeded, typeof NotRoomMember, typeof ProtocolError, typeof RoomAuthoringError, typeof RoomForbidden, typeof RoomFull, typeof RoomGone, typeof RoomLocked, typeof RoomPoolWaking, typeof RoomsClosed, typeof SeatExpired]>>;
125
+
126
+ declare class NotRoomMember extends NotRoomMember_base {
127
+ }
128
+
129
+ declare const NotRoomMember_base: Schema.Class<NotRoomMember, Schema.TaggedStruct<"NotRoomMember", {
130
+ readonly sessionId: Schema.String;
131
+ }>, YieldableError>;
132
+
133
+ export declare class ProtocolError extends ProtocolError_base {
134
+ get message(): string;
135
+ }
136
+
137
+ declare const ProtocolError_base: Schema.Class<ProtocolError, Schema.TaggedStruct<"ProtocolError", {
138
+ readonly detail: Schema.String;
139
+ }>, YieldableError>;
140
+
141
+ /** Action, not mutation: the host owns the room/seat transaction and admission
142
+ * spans host control. Wrapping it in an unrelated API transaction is incorrect. */
143
+ export declare const reserveDescriptor: ActionProcedureDescriptor<"rooms.reserve", Schema.Union<readonly [Schema.Struct<{
144
+ readonly mode: Schema.Literals<readonly ["join", "create"]>;
145
+ readonly room: Schema.NonEmptyString;
146
+ readonly options: Schema.Unknown;
147
+ readonly pool: Schema.optional<Schema.String>;
148
+ }>, Schema.Struct<{
149
+ readonly mode: Schema.Literal<"joinById">;
150
+ readonly roomId: Schema.NonEmptyString;
151
+ readonly role: Schema.optional<Schema.Literals<readonly ["player", "spectator"]>>;
152
+ }>]>, Schema.Struct<{
153
+ readonly roomId: Schema.NonEmptyString;
154
+ readonly sessionId: Schema.NonEmptyString;
155
+ readonly token: Schema.Uint8Array;
156
+ readonly address: Schema.NonEmptyString;
157
+ readonly endpoints: Schema.optional<Schema.Struct<{
158
+ readonly ws: Schema.NonEmptyString;
159
+ readonly wt: Schema.optional<Schema.NonEmptyString>;
160
+ readonly wtCertificateHash: Schema.optional<Schema.NonEmptyString>;
161
+ }>>;
162
+ readonly transport: Schema.Union<readonly [Schema.Tuple<readonly [Schema.Literal<"ws">]>, Schema.Tuple<readonly [Schema.Literal<"ws">, Schema.Literal<"wt">]>]>;
163
+ readonly expiresAt: Schema.Number;
164
+ }>, Schema.Union<readonly [typeof BudgetExceeded, typeof NotRoomMember, typeof ProtocolError, typeof RoomAuthoringError, typeof RoomForbidden, typeof RoomFull, typeof RoomGone, typeof RoomLocked, typeof RoomPoolWaking, typeof RoomsClosed, typeof SeatExpired]>>;
165
+
166
+ export declare const ReserveRoomInput: Schema.Union<readonly [Schema.Struct<{
167
+ readonly mode: Schema.Literals<readonly ["join", "create"]>;
168
+ readonly room: Schema.NonEmptyString;
169
+ readonly options: Schema.Unknown;
170
+ readonly pool: Schema.optional<Schema.String>;
171
+ }>, Schema.Struct<{
172
+ readonly mode: Schema.Literal<"joinById">;
173
+ readonly roomId: Schema.NonEmptyString;
174
+ readonly role: Schema.optional<Schema.Literals<readonly ["player", "spectator"]>>;
175
+ }>]>;
176
+
177
+ export declare type ReserveRoomInput = typeof ReserveRoomInput.Type;
178
+
179
+ export declare const resumeDescriptor: ActionProcedureDescriptor<"rooms.resume", Schema.Struct<{
180
+ readonly sessionId: Schema.NonEmptyString;
181
+ }>, Schema.Struct<{
182
+ readonly roomId: Schema.NonEmptyString;
183
+ readonly sessionId: Schema.NonEmptyString;
184
+ readonly token: Schema.Uint8Array;
185
+ readonly address: Schema.NonEmptyString;
186
+ readonly endpoints: Schema.optional<Schema.Struct<{
187
+ readonly ws: Schema.NonEmptyString;
188
+ readonly wt: Schema.optional<Schema.NonEmptyString>;
189
+ readonly wtCertificateHash: Schema.optional<Schema.NonEmptyString>;
190
+ }>>;
191
+ readonly transport: Schema.Union<readonly [Schema.Tuple<readonly [Schema.Literal<"ws">]>, Schema.Tuple<readonly [Schema.Literal<"ws">, Schema.Literal<"wt">]>]>;
192
+ readonly expiresAt: Schema.Number;
193
+ }>, Schema.Union<readonly [typeof BudgetExceeded, typeof NotRoomMember, typeof ProtocolError, typeof RoomAuthoringError, typeof RoomForbidden, typeof RoomFull, typeof RoomGone, typeof RoomLocked, typeof RoomPoolWaking, typeof RoomsClosed, typeof SeatExpired]>>;
194
+
195
+ declare class RoomAuthoringError extends RoomAuthoringError_base {
196
+ get message(): string;
197
+ }
198
+
199
+ declare const RoomAuthoringError_base: Schema.Class<RoomAuthoringError, Schema.TaggedStruct<"RoomAuthoringError", {
200
+ readonly room: Schema.String;
201
+ readonly detail: Schema.String;
202
+ }>, YieldableError>;
203
+
204
+ declare class RoomForbidden extends RoomForbidden_base {
205
+ }
206
+
207
+ declare const RoomForbidden_base: Schema.Class<RoomForbidden, Schema.TaggedStruct<"RoomForbidden", {
208
+ readonly roomId: Schema.String;
209
+ }>, YieldableError>;
210
+
211
+ declare class RoomFull extends RoomFull_base {
212
+ }
213
+
214
+ declare const RoomFull_base: Schema.Class<RoomFull, Schema.TaggedStruct<"RoomFull", {
215
+ readonly roomId: Schema.String;
216
+ }>, YieldableError>;
217
+
218
+ declare class RoomGone extends RoomGone_base {
219
+ }
220
+
221
+ declare const RoomGone_base: Schema.Class<RoomGone, Schema.TaggedStruct<"RoomGone", {
222
+ readonly roomId: Schema.String;
223
+ }>, YieldableError>;
224
+
225
+ declare class RoomLocked extends RoomLocked_base {
226
+ }
227
+
228
+ declare const RoomLocked_base: Schema.Class<RoomLocked, Schema.TaggedStruct<"RoomLocked", {
229
+ readonly roomId: Schema.String;
230
+ }>, YieldableError>;
231
+
232
+ /** The pool has no host because it scaled to zero; one is starting. Reserve again after `retryAfterMs`. */
233
+ declare class RoomPoolWaking extends RoomPoolWaking_base {
234
+ }
235
+
236
+ declare const RoomPoolWaking_base: Schema.Class<RoomPoolWaking, Schema.TaggedStruct<"RoomPoolWaking", {
237
+ readonly pool: Schema.String;
238
+ readonly retryAfterMs: Schema.Number;
239
+ }>, YieldableError>;
240
+
241
+ export declare const RoomReaperWorkflowPayload: Schema.Struct<{
242
+ readonly runKey: Schema.NonEmptyString;
243
+ readonly maxPages: Schema.Int;
244
+ }>;
245
+
246
+ export declare type RoomReaperWorkflowPayload = typeof RoomReaperWorkflowPayload.Type;
247
+
248
+ export declare const RoomReaperWorkflowResult: Schema.Struct<{
249
+ readonly pages: Schema.Int;
250
+ readonly hostsObserved: Schema.Int;
251
+ readonly roomsObserved: Schema.Int;
252
+ readonly adopted: Schema.Int;
253
+ readonly disposed: Schema.Int;
254
+ readonly waiting: Schema.Int;
255
+ readonly untrackedHosts: Schema.Int;
256
+ }>;
257
+
258
+ export declare type RoomReaperWorkflowResult = typeof RoomReaperWorkflowResult.Type;
259
+
260
+ export declare const RoomReservationSchema: Schema.Struct<{
261
+ readonly roomId: Schema.NonEmptyString;
262
+ readonly sessionId: Schema.NonEmptyString;
263
+ readonly token: Schema.Uint8Array;
264
+ readonly address: Schema.NonEmptyString;
265
+ readonly endpoints: Schema.optional<Schema.Struct<{
266
+ readonly ws: Schema.NonEmptyString;
267
+ readonly wt: Schema.optional<Schema.NonEmptyString>;
268
+ readonly wtCertificateHash: Schema.optional<Schema.NonEmptyString>;
269
+ }>>;
270
+ readonly transport: Schema.Union<readonly [Schema.Tuple<readonly [Schema.Literal<"ws">]>, Schema.Tuple<readonly [Schema.Literal<"ws">, Schema.Literal<"wt">]>]>;
271
+ readonly expiresAt: Schema.Number;
272
+ }>;
273
+
274
+ export declare const RoomRpcError: Schema.Union<readonly [typeof BudgetExceeded, typeof NotRoomMember, typeof ProtocolError, typeof RoomAuthoringError, typeof RoomForbidden, typeof RoomFull, typeof RoomGone, typeof RoomLocked, typeof RoomPoolWaking, typeof RoomsClosed, typeof SeatExpired]>;
275
+
276
+ /** New Room reservations are closed for this caller (maintenance, a kill switch...): the app's
277
+ * `admission` refused. `until`: epoch ms when they reopen, if known; `messageKey`: the app's text. */
278
+ declare class RoomsClosed extends RoomsClosed_base {
279
+ }
280
+
281
+ declare const RoomsClosed_base: Schema.Class<RoomsClosed, Schema.TaggedStruct<"RoomsClosed", {
282
+ readonly until: Schema.NullOr<Schema.Number>;
283
+ readonly messageKey: Schema.String;
284
+ }>, YieldableError>;
285
+
286
+ export declare const roomsRpcClientImports: ReadonlyArray<PluginRpcClientDescriptor>;
287
+
288
+ export declare const RoomTransportEndpointsSchema: Schema.Struct<{
289
+ readonly ws: Schema.NonEmptyString;
290
+ readonly wt: Schema.optional<Schema.NonEmptyString>;
291
+ readonly wtCertificateHash: Schema.optional<Schema.NonEmptyString>;
292
+ }>;
293
+
294
+ declare class SeatExpired extends SeatExpired_base {
295
+ }
296
+
297
+ declare const SeatExpired_base: Schema.Class<SeatExpired, Schema.TaggedStruct<"SeatExpired", {
298
+ readonly sessionId: Schema.String;
299
+ }>, YieldableError>;
300
+
301
+ export declare const worldCancelDescriptor: ActionProcedureDescriptor<"rooms.world.cancel", Schema.Struct<{
302
+ readonly requestId: Schema.String;
303
+ }>, Schema.Struct<{
304
+ readonly ticket: Schema.Struct<{
305
+ readonly requestId: Schema.String;
306
+ readonly transitionId: Schema.String;
307
+ readonly mode: Schema.Literals<readonly ["seamless", "portal"]>;
308
+ readonly target: Schema.Struct<{
309
+ readonly worldId: Schema.String;
310
+ readonly cellId: Schema.String;
311
+ readonly layer: Schema.Int;
312
+ readonly roomId: Schema.String;
313
+ readonly epoch: Schema.Int;
314
+ }>;
315
+ }>;
316
+ readonly phase: Schema.Literals<readonly ["prepared", "committed", "settled", "rolledBack"]>;
317
+ readonly entityRevision: Schema.NullOr<Schema.Int>;
318
+ }>, typeof ProtocolError>;
319
+
320
+ /** The caller's local connection context, never permission to read another entity. */
321
+ export declare const WorldClientPendingInputSchema: Schema.Struct<{
322
+ readonly entityId: Schema.String;
323
+ readonly roomId: Schema.String;
324
+ }>;
325
+
326
+ export declare const WorldClientReceiptSchema: Schema.Struct<{
327
+ readonly ticket: Schema.Struct<{
328
+ readonly requestId: Schema.String;
329
+ readonly transitionId: Schema.String;
330
+ readonly mode: Schema.Literals<readonly ["seamless", "portal"]>;
331
+ readonly target: Schema.Struct<{
332
+ readonly worldId: Schema.String;
333
+ readonly cellId: Schema.String;
334
+ readonly layer: Schema.Int;
335
+ readonly roomId: Schema.String;
336
+ readonly epoch: Schema.Int;
337
+ }>;
338
+ }>;
339
+ readonly phase: Schema.Literals<readonly ["prepared", "committed", "settled", "rolledBack"]>;
340
+ readonly entityRevision: Schema.NullOr<Schema.Int>;
341
+ }>;
342
+
343
+ /** SQL origin IDs include the group command hash and full entity identity. */
344
+ export declare const WorldClientRequestIdSchema: Schema.String;
345
+
346
+ export declare const WorldClientTicketSchema: Schema.Struct<{
347
+ readonly requestId: Schema.String;
348
+ readonly transitionId: Schema.String;
349
+ readonly mode: Schema.Literals<readonly ["seamless", "portal"]>;
350
+ readonly target: Schema.Struct<{
351
+ readonly worldId: Schema.String;
352
+ readonly cellId: Schema.String;
353
+ readonly layer: Schema.Int;
354
+ readonly roomId: Schema.String;
355
+ readonly epoch: Schema.Int;
356
+ }>;
357
+ }>;
358
+
359
+ export declare const worldCommitDescriptor: ActionProcedureDescriptor<"rooms.world.commit", Schema.Struct<{
360
+ readonly ticket: Schema.Struct<{
361
+ readonly requestId: Schema.String;
362
+ readonly transitionId: Schema.String;
363
+ readonly mode: Schema.Literals<readonly ["seamless", "portal"]>;
364
+ readonly target: Schema.Struct<{
365
+ readonly worldId: Schema.String;
366
+ readonly cellId: Schema.String;
367
+ readonly layer: Schema.Int;
368
+ readonly roomId: Schema.String;
369
+ readonly epoch: Schema.Int;
370
+ }>;
371
+ }>;
372
+ }>, Schema.Struct<{
373
+ readonly ticket: Schema.Struct<{
374
+ readonly requestId: Schema.String;
375
+ readonly transitionId: Schema.String;
376
+ readonly mode: Schema.Literals<readonly ["seamless", "portal"]>;
377
+ readonly target: Schema.Struct<{
378
+ readonly worldId: Schema.String;
379
+ readonly cellId: Schema.String;
380
+ readonly layer: Schema.Int;
381
+ readonly roomId: Schema.String;
382
+ readonly epoch: Schema.Int;
383
+ }>;
384
+ }>;
385
+ readonly phase: Schema.Literals<readonly ["prepared", "committed", "settled", "rolledBack"]>;
386
+ readonly entityRevision: Schema.NullOr<Schema.Int>;
387
+ }>, typeof ProtocolError>;
388
+
389
+ export declare const worldFollowDescriptor: ActionProcedureDescriptor<"rooms.world.follow", Schema.Struct<{
390
+ readonly requestId: Schema.String;
391
+ }>, Schema.Struct<{
392
+ readonly roomId: Schema.NonEmptyString;
393
+ readonly sessionId: Schema.NonEmptyString;
394
+ readonly token: Schema.Uint8Array;
395
+ readonly address: Schema.NonEmptyString;
396
+ readonly endpoints: Schema.optional<Schema.Struct<{
397
+ readonly ws: Schema.NonEmptyString;
398
+ readonly wt: Schema.optional<Schema.NonEmptyString>;
399
+ readonly wtCertificateHash: Schema.optional<Schema.NonEmptyString>;
400
+ }>>;
401
+ readonly transport: Schema.Union<readonly [Schema.Tuple<readonly [Schema.Literal<"ws">]>, Schema.Tuple<readonly [Schema.Literal<"ws">, Schema.Literal<"wt">]>]>;
402
+ readonly expiresAt: Schema.Number;
403
+ }>, typeof ProtocolError>;
404
+
405
+ export declare const worldJoinDescriptor: ActionProcedureDescriptor<"rooms.world.join", Schema.Struct<{
406
+ readonly world: Schema.NonEmptyString;
407
+ }>, Schema.Struct<{
408
+ readonly entityId: Schema.NonEmptyString;
409
+ readonly reservation: Schema.Struct<{
410
+ readonly roomId: Schema.NonEmptyString;
411
+ readonly sessionId: Schema.NonEmptyString;
412
+ readonly token: Schema.Uint8Array;
413
+ readonly address: Schema.NonEmptyString;
414
+ readonly endpoints: Schema.optional<Schema.Struct<{
415
+ readonly ws: Schema.NonEmptyString;
416
+ readonly wt: Schema.optional<Schema.NonEmptyString>;
417
+ readonly wtCertificateHash: Schema.optional<Schema.NonEmptyString>;
418
+ }>>;
419
+ readonly transport: Schema.Union<readonly [Schema.Tuple<readonly [Schema.Literal<"ws">]>, Schema.Tuple<readonly [Schema.Literal<"ws">, Schema.Literal<"wt">]>]>;
420
+ readonly expiresAt: Schema.Number;
421
+ }>;
422
+ }>, typeof ProtocolError>;
423
+
424
+ /** First visit: server spawn + entity; every visit: a Seat in the entity's current Room. */
425
+ export declare const WorldJoinResultSchema: Schema.Struct<{
426
+ readonly entityId: Schema.NonEmptyString;
427
+ readonly reservation: Schema.Struct<{
428
+ readonly roomId: Schema.NonEmptyString;
429
+ readonly sessionId: Schema.NonEmptyString;
430
+ readonly token: Schema.Uint8Array;
431
+ readonly address: Schema.NonEmptyString;
432
+ readonly endpoints: Schema.optional<Schema.Struct<{
433
+ readonly ws: Schema.NonEmptyString;
434
+ readonly wt: Schema.optional<Schema.NonEmptyString>;
435
+ readonly wtCertificateHash: Schema.optional<Schema.NonEmptyString>;
436
+ }>>;
437
+ readonly transport: Schema.Union<readonly [Schema.Tuple<readonly [Schema.Literal<"ws">]>, Schema.Tuple<readonly [Schema.Literal<"ws">, Schema.Literal<"wt">]>]>;
438
+ readonly expiresAt: Schema.Number;
439
+ }>;
440
+ }>;
441
+
442
+ export declare const worldObserveDescriptor: QueryProcedureDescriptor<"rooms.world.observe", Schema.Struct<{
443
+ readonly requestId: Schema.String;
444
+ }>, Schema.Struct<{
445
+ readonly ticket: Schema.Struct<{
446
+ readonly requestId: Schema.String;
447
+ readonly transitionId: Schema.String;
448
+ readonly mode: Schema.Literals<readonly ["seamless", "portal"]>;
449
+ readonly target: Schema.Struct<{
450
+ readonly worldId: Schema.String;
451
+ readonly cellId: Schema.String;
452
+ readonly layer: Schema.Int;
453
+ readonly roomId: Schema.String;
454
+ readonly epoch: Schema.Int;
455
+ }>;
456
+ }>;
457
+ readonly phase: Schema.Literals<readonly ["prepared", "committed", "settled", "rolledBack"]>;
458
+ readonly entityRevision: Schema.NullOr<Schema.Int>;
459
+ }>, typeof ProtocolError>;
460
+
461
+ export declare const worldPendingDescriptor: QueryProcedureDescriptor<"rooms.world.pending", Schema.Struct<{
462
+ readonly entityId: Schema.String;
463
+ readonly roomId: Schema.String;
464
+ }>, Schema.NullOr<Schema.Struct<{
465
+ readonly ticket: Schema.Struct<{
466
+ readonly requestId: Schema.String;
467
+ readonly transitionId: Schema.String;
468
+ readonly mode: Schema.Literals<readonly ["seamless", "portal"]>;
469
+ readonly target: Schema.Struct<{
470
+ readonly worldId: Schema.String;
471
+ readonly cellId: Schema.String;
472
+ readonly layer: Schema.Int;
473
+ readonly roomId: Schema.String;
474
+ readonly epoch: Schema.Int;
475
+ }>;
476
+ }>;
477
+ readonly phase: Schema.Literals<readonly ["prepared", "committed", "settled", "rolledBack"]>;
478
+ readonly entityRevision: Schema.NullOr<Schema.Int>;
479
+ }>>, typeof ProtocolError>;
480
+
481
+ export declare const worldPrepareDescriptor: ActionProcedureDescriptor<"rooms.world.prepare", Schema.Struct<{
482
+ readonly requestId: Schema.String;
483
+ readonly intention: Schema.Struct<{
484
+ readonly entityId: Schema.String;
485
+ readonly target: Schema.Union<readonly [Schema.Struct<{
486
+ readonly kind: Schema.Literal<"cell">;
487
+ readonly zone: Schema.String;
488
+ readonly at: Schema.Tuple<readonly [Schema.Number, Schema.Number]>;
489
+ }>, Schema.Struct<{
490
+ readonly kind: Schema.Literal<"zone">;
491
+ readonly zone: Schema.String;
492
+ readonly at: Schema.Tuple<readonly [Schema.Number, Schema.Number]>;
493
+ }>, Schema.Struct<{
494
+ readonly kind: Schema.Literal<"layer">;
495
+ readonly layer: Schema.Number;
496
+ }>, Schema.Struct<{
497
+ readonly kind: Schema.Literal<"world">;
498
+ readonly world: Schema.String;
499
+ readonly spawn: Schema.String;
500
+ }>, Schema.Struct<{
501
+ readonly kind: Schema.Literal<"instance">;
502
+ readonly instance: Schema.String;
503
+ readonly group: Schema.String;
504
+ }>, Schema.Struct<{
505
+ readonly kind: Schema.Literal<"return">;
506
+ }>]>;
507
+ readonly options: Schema.Struct<{
508
+ readonly mode: Schema.Literals<readonly ["auto", "seamless", "portal"]>;
509
+ readonly reason: Schema.String;
510
+ readonly crossPool: Schema.Boolean;
511
+ readonly returnTo: Schema.optional<Schema.Literal<"here">>;
512
+ }>;
513
+ }>;
514
+ }>, Schema.Struct<{
515
+ readonly requestId: Schema.String;
516
+ readonly transitionId: Schema.String;
517
+ readonly mode: Schema.Literals<readonly ["seamless", "portal"]>;
518
+ readonly target: Schema.Struct<{
519
+ readonly worldId: Schema.String;
520
+ readonly cellId: Schema.String;
521
+ readonly layer: Schema.Int;
522
+ readonly roomId: Schema.String;
523
+ readonly epoch: Schema.Int;
524
+ }>;
525
+ }>, Schema.Union<readonly [typeof ProtocolError, typeof WorldTransitionCooldown]>>;
526
+
527
+ export declare const worldReservationDescriptor: ActionProcedureDescriptor<"rooms.world.reservation", Schema.Struct<{
528
+ readonly requestId: Schema.String;
529
+ }>, Schema.Struct<{
530
+ readonly roomId: Schema.NonEmptyString;
531
+ readonly sessionId: Schema.NonEmptyString;
532
+ readonly token: Schema.Uint8Array;
533
+ readonly address: Schema.NonEmptyString;
534
+ readonly endpoints: Schema.optional<Schema.Struct<{
535
+ readonly ws: Schema.NonEmptyString;
536
+ readonly wt: Schema.optional<Schema.NonEmptyString>;
537
+ readonly wtCertificateHash: Schema.optional<Schema.NonEmptyString>;
538
+ }>>;
539
+ readonly transport: Schema.Union<readonly [Schema.Tuple<readonly [Schema.Literal<"ws">]>, Schema.Tuple<readonly [Schema.Literal<"ws">, Schema.Literal<"wt">]>]>;
540
+ readonly expiresAt: Schema.Number;
541
+ }>, typeof ProtocolError>;
542
+
543
+ /** A World transition asked for inside the World's `transitionCooldownMs`; retry after `retryAfterMs`. */
544
+ declare class WorldTransitionCooldown extends WorldTransitionCooldown_base {
545
+ }
546
+
547
+ declare const WorldTransitionCooldown_base: Schema.Class<WorldTransitionCooldown, Schema.TaggedStruct<"WorldTransitionCooldown", {
548
+ readonly retryAfterMs: Schema.Number;
549
+ }>, YieldableError>;
550
+
551
+ export { }
package/dist/rpc.js ADDED
@@ -0,0 +1,111 @@
1
+ import { BudgetExceeded as e, NotRoomMember as t, ProtocolError as n, RoomAuthoringError as r, RoomForbidden as i, RoomFull as a, RoomGone as o, RoomLocked as s, RoomPoolWaking as c, RoomsClosed as l, SeatExpired as u } from "./errors.js";
2
+ import { geometryChunksDescriptor as d, geometryReloadDescriptor as f, geometryRollbackDescriptor as p } from "./geometryAdminRpc.js";
3
+ import { WorldClientReceiptSchema as m, WorldClientRequestIdSchema as h, WorldClientTicketSchema as g } from "./worldClientSchemas.js";
4
+ import { WorldClientPendingInputSchema as _ } from "./worldClientPendingInput.js";
5
+ import { RoomReservationSchema as v, RoomTransportEndpointsSchema as y } from "./reservationSchemas.js";
6
+ import { ROOMS_TABLE as b } from "./identities.js";
7
+ import { RoomReaperWorkflowPayload as x, RoomReaperWorkflowResult as S } from "./reaperSchemas.js";
8
+ import { WorldJoinResultSchema as C, worldCancelDescriptor as w, worldCommitDescriptor as T, worldFollowDescriptor as E, worldJoinDescriptor as D, worldObserveDescriptor as O, worldPendingDescriptor as k, worldPrepareDescriptor as A, worldReservationDescriptor as j } from "./worldClientRpc.js";
9
+ import { geometryStaticUrlDescriptor as M } from "./geometryReadRpc.js";
10
+ import { geometryAssetUrlDescriptor as N } from "./geometryAssetRpc.js";
11
+ import { GeometryJournalRetentionWorkflowPayload as P, GeometryJournalRetentionWorkflowResult as F } from "./geometryJournalRetentionSchemas.js";
12
+ import { defineAction as I, defineQuery as L } from "@voltro/protocol";
13
+ import { Schema as R } from "effect";
14
+ // src/rpc.ts
15
+ var z = "@voltro/plugin-rooms", B = R.Union([
16
+ e,
17
+ t,
18
+ n,
19
+ r,
20
+ i,
21
+ a,
22
+ o,
23
+ s,
24
+ c,
25
+ l,
26
+ u
27
+ ]), V = R.Union([R.Struct({
28
+ mode: R.Literals(["join", "create"]),
29
+ room: R.NonEmptyString,
30
+ options: R.Unknown,
31
+ pool: R.optional(R.String.pipe(R.check(R.isPattern(/^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,95}$/))))
32
+ }), R.Struct({
33
+ mode: R.Literal("joinById"),
34
+ roomId: R.NonEmptyString,
35
+ role: R.optional(R.Literals(["player", "spectator"]))
36
+ })]), H = "Room descriptors enforce their normal guards; identity and tenant come only from the resolved caller, including explicitly public rooms", U = I({
37
+ name: "rooms.reserve",
38
+ input: V,
39
+ output: v,
40
+ error: B,
41
+ openAccess: H
42
+ }), W = I({
43
+ name: "rooms.resume",
44
+ input: R.Struct({ sessionId: R.NonEmptyString }),
45
+ output: v,
46
+ error: B,
47
+ openAccess: H
48
+ }), G = I({
49
+ name: "rooms.leave",
50
+ input: R.Struct({
51
+ sessionId: R.NonEmptyString,
52
+ token: R.Uint8Array
53
+ }),
54
+ output: R.Struct({ ok: R.Literal(!0) }),
55
+ error: B,
56
+ openAccess: "Withdrawal is bound to the resolved identity, tenant, session and current credential digest; revoked room scopes cannot strand a seat"
57
+ }), K = L({
58
+ name: "rooms.list",
59
+ source: b,
60
+ input: R.Struct({
61
+ room: R.NonEmptyString,
62
+ limit: R.optional(R.Int.pipe(R.check(R.isBetween({
63
+ minimum: 1,
64
+ maximum: 256
65
+ }))))
66
+ }),
67
+ output: R.Array(R.Struct({
68
+ id: R.String,
69
+ name: R.String,
70
+ metadata: R.Record(R.String, R.Unknown),
71
+ clients: R.Int,
72
+ maxClients: R.Int,
73
+ locked: R.Boolean
74
+ })),
75
+ error: B,
76
+ openAccess: H
77
+ }), q = [
78
+ {
79
+ tag: "rooms.reserve",
80
+ kind: "action",
81
+ import: {
82
+ module: "@voltro/plugin-rooms/rpc",
83
+ name: "reserveDescriptor"
84
+ }
85
+ },
86
+ {
87
+ tag: "rooms.resume",
88
+ kind: "action",
89
+ import: {
90
+ module: "@voltro/plugin-rooms/rpc",
91
+ name: "resumeDescriptor"
92
+ }
93
+ },
94
+ {
95
+ tag: "rooms.leave",
96
+ kind: "action",
97
+ import: {
98
+ module: "@voltro/plugin-rooms/rpc",
99
+ name: "leaveDescriptor"
100
+ }
101
+ },
102
+ {
103
+ tag: "rooms.list",
104
+ kind: "query",
105
+ import: {
106
+ module: "@voltro/plugin-rooms/rpc",
107
+ name: "listDescriptor"
108
+ }
109
+ }
110
+ ];
111
+ export { z as BASE_NAME, e as BudgetExceeded, P as GeometryJournalRetentionWorkflowPayload, F as GeometryJournalRetentionWorkflowResult, n as ProtocolError, V as ReserveRoomInput, x as RoomReaperWorkflowPayload, S as RoomReaperWorkflowResult, v as RoomReservationSchema, B as RoomRpcError, y as RoomTransportEndpointsSchema, _ as WorldClientPendingInputSchema, m as WorldClientReceiptSchema, h as WorldClientRequestIdSchema, g as WorldClientTicketSchema, C as WorldJoinResultSchema, N as geometryAssetUrlDescriptor, d as geometryChunksDescriptor, f as geometryReloadDescriptor, p as geometryRollbackDescriptor, M as geometryStaticUrlDescriptor, G as leaveDescriptor, K as listDescriptor, U as reserveDescriptor, W as resumeDescriptor, q as roomsRpcClientImports, w as worldCancelDescriptor, T as worldCommitDescriptor, E as worldFollowDescriptor, D as worldJoinDescriptor, O as worldObserveDescriptor, k as worldPendingDescriptor, A as worldPrepareDescriptor, j as worldReservationDescriptor };