@voltro/plugin-rooms 0.87.0 → 0.89.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.
- package/CHANGELOG.md +272 -6
- package/THIRD-PARTY-NOTICES.md +1542 -368
- package/dist/actor.js +1 -2
- package/dist/apiBinding.js +1 -2
- package/dist/apiRegistryBinding.js +1 -2
- package/dist/apiReservations.js +3 -4
- package/dist/baselines.js +1 -2
- package/dist/bots.js +2 -3
- package/dist/catalog.js +1 -2
- package/dist/checkpointJson.js +1 -2
- package/dist/checkpointStore.js +13 -14
- package/dist/client.js +1 -2
- package/dist/clockSync.js +1 -2
- package/dist/collision.js +3 -4
- package/dist/commandDelivery.js +1 -2
- package/dist/commandRecord.js +1 -2
- package/dist/commandWithdrawal.js +1 -2
- package/dist/connection.js +1 -2
- package/dist/controlCarrier.js +1 -2
- package/dist/controlRegistry.js +1 -2
- package/dist/controlTarget.js +1 -2
- package/dist/controlTransport.js +1 -2
- package/dist/developmentBinding.js +1 -2
- package/dist/directory.js +3 -4
- package/dist/directoryProjection.js +1 -2
- package/dist/errors.js +1 -2
- package/dist/fixed32.js +1 -2
- package/dist/fixedCollision.js +1 -2
- package/dist/fixedCollision32.js +1 -2
- package/dist/fixedMath.js +1 -2
- package/dist/fixedRaw.js +1 -2
- package/dist/fixedSlabs.js +1 -2
- package/dist/fixedTrig.js +1 -2
- package/dist/fixedTrig32.js +1 -2
- package/dist/fixedVectors.js +1 -2
- package/dist/fixedVectors32.js +1 -2
- package/dist/fixedWide.js +1 -2
- package/dist/fixedWords.js +1 -2
- package/dist/gateway.js +1 -2
- package/dist/geometryActivation.js +1 -2
- package/dist/geometryActorInventory.js +1 -2
- package/dist/geometryAdminClient.js +1 -2
- package/dist/geometryAdminData.js +1 -2
- package/dist/geometryAdminFixtures.js +1 -2
- package/dist/geometryAdminPorts.js +1 -2
- package/dist/geometryAdminRpc.js +1 -2
- package/dist/geometryAdminRpcRoutes.js +1 -2
- package/dist/geometryAdminSchemas.js +1 -2
- package/dist/geometryAdministration.js +1 -2
- package/dist/geometryAdministrationPorts.js +1 -2
- package/dist/geometryApiBinding.js +1 -2
- package/dist/geometryAppStorage.js +1 -2
- package/dist/geometryArtifacts.js +1 -2
- package/dist/geometryAssetBundle.js +1 -2
- package/dist/geometryAssetClient.js +1 -2
- package/dist/geometryAssetData.js +1 -2
- package/dist/geometryAssetHttp.js +1 -2
- package/dist/geometryAssetPorts.js +1 -2
- package/dist/geometryAssetRpc.js +1 -2
- package/dist/geometryAssetRpcRoutes.js +1 -2
- package/dist/geometryAssetStorageGrant.js +1 -2
- package/dist/geometryBoxOverlap.js +1 -2
- package/dist/geometryCatalogueDigest.js +1 -2
- package/dist/geometryCellCoverage.js +1 -2
- package/dist/geometryCellLoader.js +1 -2
- package/dist/geometryChannel.js +1 -2
- package/dist/geometryChunkHttp.js +1 -2
- package/dist/geometryChunkLeases.js +1 -2
- package/dist/geometryClient.js +1 -2
- package/dist/geometryClientChunks.js +1 -2
- package/dist/geometryClientDelta.js +1 -2
- package/dist/geometryClientHttp.js +1 -2
- package/dist/geometryClientInterest.js +1 -2
- package/dist/geometryClientStatic.js +1 -2
- package/dist/geometryCms.js +1 -2
- package/dist/geometryCommitCoordinator.js +1 -2
- package/dist/geometryCompactionFixture.js +1 -2
- package/dist/geometryCompactionStrategies.js +1 -2
- package/dist/geometryConnectionClient.js +1 -2
- package/dist/geometryDerivationFixtures.js +1 -2
- package/dist/geometryDerivationStrategies.js +1 -2
- package/dist/geometryDigest.js +1 -2
- package/dist/geometryEditChannel.js +1 -2
- package/dist/geometryEditIngress.js +1 -2
- package/dist/geometryEdits.js +1 -2
- package/dist/geometryEnvelope.js +1 -2
- package/dist/geometryGridRaycast.js +1 -2
- package/dist/geometryGridSweep.js +1 -2
- package/dist/geometryHeightfield.js +1 -2
- package/dist/geometryHeightfieldRaycast.js +1 -2
- package/dist/geometryHeightfieldSweep.js +1 -2
- package/dist/geometryHeightfieldVolume.js +1 -2
- package/dist/geometryHost.js +2 -3
- package/dist/geometryHostDirectory.js +1 -2
- package/dist/geometryHostMutations.js +1 -2
- package/dist/geometryHostStreams.js +1 -2
- package/dist/geometryHttpBody.js +1 -2
- package/dist/geometryHttpRoutes.js +1 -2
- package/dist/geometryImportGltf.js +1 -2
- package/dist/geometryImportLdtk.js +1 -2
- package/dist/geometryImportPng.js +1 -2
- package/dist/geometryImportPublication.js +1 -2
- package/dist/geometryImportTiled.js +1 -2
- package/dist/geometryImportTiles.js +1 -2
- package/dist/geometryImportVox.js +1 -2
- package/dist/geometryImportedSource.js +1 -2
- package/dist/geometryInspectEndpoint.js +1 -2
- package/dist/geometryInspection.js +1 -2
- package/dist/geometryInstall.js +1 -2
- package/dist/geometryJournalArchiveData.js +1 -2
- package/dist/geometryJournalArchiveIndex.js +2 -3
- package/dist/geometryJournalArchiveTable.js +1 -2
- package/dist/geometryJournalCompaction.js +1 -2
- package/dist/geometryJournalPatch.js +1 -2
- package/dist/geometryJournalRetention.js +1 -2
- package/dist/geometryJournalRetentionSchemas.js +1 -2
- package/dist/geometryJournalRetentionSweep.js +1 -2
- package/dist/geometryJournalRetentionWorkflow.js +1 -2
- package/dist/geometryJournalRetentionWorkflowData.js +1 -2
- package/dist/geometryJournalStorage.js +1 -2
- package/dist/geometryLoader.js +1 -2
- package/dist/geometryManifest.js +1 -2
- package/dist/geometryManifestChannel.js +1 -2
- package/dist/geometryManifestClient.js +1 -2
- package/dist/geometryManifestData.js +1 -2
- package/dist/geometryManifestPorts.js +1 -2
- package/dist/geometryManifestPublication.js +1 -2
- package/dist/geometryManifestSource.js +1 -2
- package/dist/geometryMigrationJournal.js +1 -2
- package/dist/geometryMigrationStrategies.js +1 -2
- package/dist/geometryMigrations.js +1 -2
- package/dist/geometryNativeMetadata.js +1 -2
- package/dist/geometryPatch.js +1 -2
- package/dist/geometryPersistence.js +1 -2
- package/dist/geometryPersistenceCapture.js +1 -2
- package/dist/geometryPersistenceData.js +1 -2
- package/dist/geometryPersistencePorts.js +1 -2
- package/dist/geometryPlayerAdmission.js +1 -2
- package/dist/geometryPlayerEditOwner.js +1 -2
- package/dist/geometryPlayerEdits.js +1 -2
- package/dist/geometryPrepared.js +1 -2
- package/dist/geometryPrivacyFence.js +1 -2
- package/dist/geometryProceduralPublication.js +1 -2
- package/dist/geometryProceduralWorker.js +1 -2
- package/dist/geometryPublication.js +1 -2
- package/dist/geometryRayAlgebra.js +1 -2
- package/dist/geometryReadClient.js +1 -2
- package/dist/geometryReadPorts.js +1 -2
- package/dist/geometryReadRpc.js +1 -2
- package/dist/geometryReadRpcRoutes.js +1 -2
- package/dist/geometryReliablePublication.js +1 -2
- package/dist/geometryReloadPorts.js +1 -2
- package/dist/geometryReloadSource.js +1 -2
- package/dist/geometryRenderCache.js +1 -2
- package/dist/geometryRenderLod.js +1 -2
- package/dist/geometryRollback.js +1 -2
- package/dist/geometryRollbackCoordinator.js +2 -3
- package/dist/geometryRollbackPorts.js +1 -2
- package/dist/geometryRollbackSource.js +1 -2
- package/dist/geometryRollbackStore.js +1 -2
- package/dist/geometrySchemas.js +1 -2
- package/dist/geometryShapeRaycast.js +1 -2
- package/dist/geometryShapeSegments.js +1 -2
- package/dist/geometryShapes.js +1 -2
- package/dist/geometrySnapshot.js +1 -2
- package/dist/geometrySnapshotChannel.js +1 -2
- package/dist/geometrySnapshotClient.js +1 -2
- package/dist/geometrySnapshotPreparation.js +1 -2
- package/dist/geometrySnapshotServer.js +1 -2
- package/dist/geometrySqlOwner.js +1 -2
- package/dist/geometryStorage.js +1 -2
- package/dist/geometryStorageGrant.js +1 -2
- package/dist/geometryStorageIdentity.js +1 -2
- package/dist/geometryTileArtifact.js +1 -2
- package/dist/geometryTileCodec.js +1 -2
- package/dist/geometryTileCollision.js +1 -2
- package/dist/geometryTileNavigation.js +1 -2
- package/dist/geometryTileView.js +1 -2
- package/dist/geometryVersionActivation.js +1 -2
- package/dist/geometryVersionClient.js +1 -2
- package/dist/geometryVersionCompare.js +1 -2
- package/dist/geometryVersionMigration.js +1 -2
- package/dist/geometryVoxel.js +1 -2
- package/dist/geometryWorldEntitySubject.js +1 -2
- package/dist/geometryWorldExtent.js +1 -2
- package/dist/geometryWorldMetadata.js +1 -2
- package/dist/geometryWorldStrategyFixtures.js +1 -2
- package/dist/geometryWorldView.js +1 -2
- package/dist/host.js +1 -2
- package/dist/hostBinding.js +1 -2
- package/dist/hostCellObservation.js +1 -2
- package/dist/hostClientCapacity.js +1 -2
- package/dist/hostCommandScope.js +1 -2
- package/dist/hostController.js +2 -3
- package/dist/hostDeployment.js +1 -2
- package/dist/hostDrain.js +1 -2
- package/dist/hostDrainPorts.js +1 -2
- package/dist/hostDriver.js +1 -2
- package/dist/hostLane.js +1 -2
- package/dist/hostListener.js +1 -2
- package/dist/hostListenerBinding.js +1 -2
- package/dist/hostLoopObservation.js +1 -2
- package/dist/hostMetrics.js +1 -2
- package/dist/hostRegistryBinding.js +1 -2
- package/dist/hostSelection.js +1 -2
- package/dist/hostShutdown.js +1 -2
- package/dist/hostTurnObservation.js +1 -2
- package/dist/identities.js +1 -2
- package/dist/index.js +1 -2
- package/dist/inputReceipts.js +1 -2
- package/dist/inputRedundancy.js +1 -2
- package/dist/inspect.js +1 -2
- package/dist/lockstep.js +1 -2
- package/dist/lockstepAdmission.js +1 -2
- package/dist/lockstepAdmissionCodec.js +1 -2
- package/dist/lockstepAdmissionPorts.js +1 -2
- package/dist/lockstepClientSession.js +1 -2
- package/dist/lockstepDefinition.js +1 -2
- package/dist/lockstepHostLoop.js +1 -2
- package/dist/lockstepInitialAdmission.js +1 -2
- package/dist/lockstepInitialStrategyFixtures.js +1 -2
- package/dist/lockstepJournal.js +1 -2
- package/dist/lockstepJournalCodec.js +1 -2
- package/dist/lockstepJournalPorts.js +1 -2
- package/dist/lockstepJournalRebuild.js +1 -2
- package/dist/lockstepJournalRows.js +1 -2
- package/dist/lockstepMembers.js +1 -2
- package/dist/lockstepMessages.js +1 -2
- package/dist/lockstepOwnedRoom.js +1 -2
- package/dist/lockstepPolicies.js +1 -2
- package/dist/lockstepReact.js +1 -2
- package/dist/lockstepRecoveryTruth.js +1 -2
- package/dist/lockstepRosterConfig.js +1 -2
- package/dist/lockstepSeed.js +1 -2
- package/dist/lockstepSeedFixture.js +1 -2
- package/dist/lockstepServer.js +1 -2
- package/dist/lockstepServerConfig.js +1 -2
- package/dist/lockstepServerRoles.js +1 -2
- package/dist/lockstepServerStrategyFixtures.js +1 -2
- package/dist/lockstepStrategies.js +1 -2
- package/dist/lockstepStrategyFixtures.js +1 -2
- package/dist/lockstepTerminal.js +1 -2
- package/dist/lockstepTerminalPorts.js +1 -2
- package/dist/lockstepTransport.js +1 -2
- package/dist/lockstepTransportConfig.js +1 -2
- package/dist/lockstepWireRoster.js +1 -2
- package/dist/matchRoomProvider.js +1 -2
- package/dist/matchRooms.js +1 -2
- package/dist/membershipObserver.js +1 -2
- package/dist/moderation.js +1 -2
- package/dist/movementSpecials.js +1 -2
- package/dist/ownership.js +1 -2
- package/dist/ownershipWithdrawal.js +1 -2
- package/dist/pcg32.js +1 -2
- package/dist/ports.js +1 -2
- package/dist/quaternion.js +2 -3
- package/dist/react.js +1 -2
- package/dist/reaper.js +1 -2
- package/dist/reaperSchemas.js +1 -2
- package/dist/reaperWorkflow.js +1 -2
- package/dist/recovery.js +1 -2
- package/dist/recoverySeats.js +1 -2
- package/dist/replay.js +8 -9
- package/dist/replayPorts.js +1 -2
- package/dist/replayRecording.js +2 -3
- package/dist/replaySchema.js +1 -2
- package/dist/replayStorage.js +1 -2
- package/dist/reservationBatch.js +1 -2
- package/dist/reservationSchemas.js +1 -2
- package/dist/reservations.js +1 -2
- package/dist/reservePort.js +1 -2
- package/dist/resolvedOptions.js +1 -2
- package/dist/room.js +1 -2
- package/dist/roomAccessSweep.js +1 -2
- package/dist/roomAppCommandControl.js +1 -2
- package/dist/roomAuthoringStrategy.js +1 -2
- package/dist/roomErasure.js +1 -2
- package/dist/roomPoolRuntimeDefaults.js +1 -2
- package/dist/roomPoolSelection.js +1 -2
- package/dist/roomPoolTopology.js +1 -2
- package/dist/rpc.js +1 -2
- package/dist/rpcClient.js +1 -2
- package/dist/rpcRoutes.js +1 -2
- package/dist/runtime.js +2 -3
- package/dist/schemaHistory.js +1 -2
- package/dist/seatStore.js +1 -2
- package/dist/seatStrategyFixtures.js +1 -2
- package/dist/seatSubject.js +1 -2
- package/dist/seats.js +1 -2
- package/dist/serverSession.js +1 -2
- package/dist/serverSessionConfig.js +1 -2
- package/dist/sessionAdmission.js +1 -2
- package/dist/sidecarAdmission.js +1 -2
- package/dist/sidecarConfig.js +2 -3
- package/dist/sidecarConfigPublication.js +1 -2
- package/dist/sidecarHostListener.js +1 -2
- package/dist/sidecarIpc.js +1 -2
- package/dist/sidecarPeer.js +1 -2
- package/dist/sidecarProcessPort.js +1 -2
- package/dist/sidecarRuntime.js +1 -2
- package/dist/sidecarSelection.js +1 -2
- package/dist/sidecarWire.js +4 -5
- package/dist/sidecarWrites.js +1 -2
- package/dist/simulation.js +1 -2
- package/dist/simulationAuthoring.js +1 -2
- package/dist/simulationBytes.js +1 -2
- package/dist/simulationConformance.js +1 -2
- package/dist/simulationInputHistoryCapture.js +1 -2
- package/dist/simulationInputHistoryWire.js +1 -2
- package/dist/simulationOptionsWire.js +1 -2
- package/dist/simulationRecoveryWire.js +1 -2
- package/dist/simulationReplay.js +1 -2
- package/dist/simulationSnapshotWire.js +1 -2
- package/dist/simulationState.js +1 -2
- package/dist/snapshotBlob.js +2 -3
- package/dist/snapshotBlobCleanup.js +1 -2
- package/dist/snapshotBlobIndex.js +1 -2
- package/dist/snapshotBudget.js +1 -2
- package/dist/snapshotChain.js +1 -2
- package/dist/snapshotErasure.js +1 -2
- package/dist/snapshotInspection.js +1 -2
- package/dist/snapshotSegmentBlobs.js +1 -2
- package/dist/snapshotUploads.js +1 -2
- package/dist/socketTransport.js +1 -2
- package/dist/spatial.js +2 -3
- package/dist/spectatorPolicy.js +3 -4
- package/dist/spectatorProducer.js +2 -3
- package/dist/startFailureCause.js +1 -2
- package/dist/stateCodec.js +2 -3
- package/dist/strategyFixtures.js +1 -2
- package/dist/streamFraming.js +1 -2
- package/dist/streamTransport.js +1 -2
- package/dist/subjectAdmission.js +1 -2
- package/dist/subjectPrivacy.js +1 -2
- package/dist/subjectPrivacyBinding.js +1 -2
- package/dist/systemManifest.js +1 -2
- package/dist/tables.js +1 -2
- package/dist/testHarness.js +1 -2
- package/dist/testing.js +1 -2
- package/dist/testingPorts.js +1 -2
- package/dist/transform.js +4 -5
- package/dist/transform3d.js +1 -2
- package/dist/transformCollection.js +1 -2
- package/dist/transformCollection3d.js +1 -2
- package/dist/transformCollectionCore.js +2 -3
- package/dist/transformFrames.js +1 -2
- package/dist/transformPrediction3d.js +2 -3
- package/dist/transformRules.js +1 -2
- package/dist/transformSchemas.js +1 -2
- package/dist/transport.js +1 -2
- package/dist/transportAuthoring.js +1 -2
- package/dist/transportCleanup.js +1 -2
- package/dist/transportConformance.js +1 -2
- package/dist/transportConnector.js +1 -2
- package/dist/transportEndpoints.js +1 -2
- package/dist/viewProjection.js +1 -2
- package/dist/web.js +1 -2
- package/dist/webTransportClient.js +1 -2
- package/dist/wire.js +4 -5
- package/dist/withdrawalPort.js +1 -2
- package/dist/world.js +8 -9
- package/dist/worldActorReceipts.js +1 -2
- package/dist/worldActorTransferSnapshot.js +1 -2
- package/dist/worldAdmissionPending.js +1 -2
- package/dist/worldBoundaryCoordinator.js +1 -2
- package/dist/worldCatalog.js +3 -4
- package/dist/worldCellAllocation.js +2 -3
- package/dist/worldCellDestination.js +1 -2
- package/dist/worldCells.js +5 -6
- package/dist/worldChange.js +4 -5
- package/dist/worldClient.js +1 -2
- package/dist/worldClientControl.js +6 -7
- package/dist/worldClientPendingInput.js +1 -2
- package/dist/worldClientRpc.js +1 -2
- package/dist/worldClientRpcRoutes.js +1 -2
- package/dist/worldClientSchemas.js +1 -2
- package/dist/worldCommands.js +5 -6
- package/dist/worldData.js +3 -4
- package/dist/worldDefaultBinding.js +1 -2
- package/dist/worldDefaultGroupAdmission.js +1 -2
- package/dist/worldDefaultGroupAppServices.js +1 -2
- package/dist/worldDefaultGroupCompensation.js +1 -2
- package/dist/worldDefaultGroupContinuation.js +1 -2
- package/dist/worldDefaultGroupControl.js +1 -2
- package/dist/worldDefaultGroupMembers.js +1 -2
- package/dist/worldDefaultGroups.js +1 -2
- package/dist/worldDefaultPending.js +1 -2
- package/dist/worldDefaultService.js +1 -2
- package/dist/worldEntities.js +49 -50
- package/dist/worldEntityCodec.js +1 -2
- package/dist/worldEntityHandoffView.js +1 -2
- package/dist/worldGeometry.js +1 -2
- package/dist/worldGhostAdmission.js +1 -2
- package/dist/worldGhostDestination.js +3 -4
- package/dist/worldGhostGateway.js +1 -2
- package/dist/worldGhostHandshake.js +1 -2
- package/dist/worldGhostHost.js +1 -2
- package/dist/worldGhostIngress.js +1 -2
- package/dist/worldGhostNeighborhood.js +1 -2
- package/dist/worldGhostNeighbors.js +1 -2
- package/dist/worldGhostOutbound.js +1 -2
- package/dist/worldGhostPublisher.js +1 -2
- package/dist/worldGhostReceiver.js +1 -2
- package/dist/worldGhostSender.js +1 -2
- package/dist/worldGhostSocket.js +1 -2
- package/dist/worldGhostWire.js +3 -4
- package/dist/worldGroupCommand.js +1 -2
- package/dist/worldGroupDeadline.js +1 -2
- package/dist/worldGroupPreparation.js +1 -2
- package/dist/worldGroupReadyControl.js +8 -9
- package/dist/worldGroupSupervisor.js +3 -4
- package/dist/worldHandoffMetrics.js +1 -2
- package/dist/worldHandoffView.js +1 -2
- package/dist/worldHostSource.js +5 -6
- package/dist/worldInspectEndpoint.js +1 -2
- package/dist/worldInspection.js +1 -2
- package/dist/worldInstanceAdmission.js +1 -2
- package/dist/worldInstanceAllocation.js +1 -2
- package/dist/worldInstanceDestination.js +1 -2
- package/dist/worldInstanceExpiry.js +1 -2
- package/dist/worldInstanceExpirySupervisor.js +1 -2
- package/dist/worldInstanceLifecycle.js +1 -2
- package/dist/worldInstanceState.js +1 -2
- package/dist/worldInstances.js +1 -2
- package/dist/worldJoin.js +1 -2
- package/dist/worldLayers.js +6 -7
- package/dist/worldLeases.js +5 -6
- package/dist/worldManifest.js +1 -2
- package/dist/worldMovement.js +1 -2
- package/dist/worldPersistence.js +4 -5
- package/dist/worldProjection.js +6 -7
- package/dist/worldReact.js +1 -2
- package/dist/worldRecoveryActor.js +1 -2
- package/dist/worldReturnAnchor.js +1 -2
- package/dist/worldRoomHooks.js +5 -6
- package/dist/worldRoomPool.js +2 -3
- package/dist/worldRoomSteps.js +1 -2
- package/dist/worldSeatBinding.js +1 -2
- package/dist/worldSourceSeatPending.js +1 -2
- package/dist/worldStrategyFixtures.js +1 -2
- package/dist/worldTesting.js +1 -2
- package/dist/worldTransitionDefaults.js +1 -2
- package/dist/worldTransitionExecutor.js +9 -10
- package/dist/worldTransitionGroup.js +1 -2
- package/dist/worldTransitionPhysicalSteps.js +1 -2
- package/dist/worldTransitionResolver.js +8 -9
- package/dist/worldTransitionSeatGroup.js +1 -2
- package/dist/worldTransitionSeats.js +2 -3
- package/dist/worldTransitionState.js +1 -2
- package/dist/worldTransitions.js +8 -9
- package/package.json +10 -10
|
@@ -7,7 +7,7 @@ import { captureRoomLockstepServerOptions as u } from "./lockstepServerConfig.js
|
|
|
7
7
|
import { RoomInputCodec as d } from "./stateCodec.js";
|
|
8
8
|
import { RoomLockstepInputRoster as f } from "./lockstepServer.js";
|
|
9
9
|
import { Result as p } from "effect";
|
|
10
|
-
|
|
10
|
+
// src/lockstepServerRoles.ts
|
|
11
11
|
function m(e) {
|
|
12
12
|
throw new t({ detail: e });
|
|
13
13
|
}
|
|
@@ -399,5 +399,4 @@ var _ = class {
|
|
|
399
399
|
});
|
|
400
400
|
}
|
|
401
401
|
}, v = (e, t, n, r, i = {}) => new _(e, t, n, r, i);
|
|
402
|
-
//#endregion
|
|
403
402
|
export { _ as RoomLockstepServer, v as createRoomLockstepServer };
|
|
@@ -3,7 +3,7 @@ import { defaultLockstepRefereeLag as t } from "./lockstepPolicies.js";
|
|
|
3
3
|
import { fieldId as n } from "./room.js";
|
|
4
4
|
import { createRoomLockstepServer as r } from "./lockstepServerRoles.js";
|
|
5
5
|
import { Effect as i, Schema as a } from "effect";
|
|
6
|
-
|
|
6
|
+
// src/lockstepServerStrategyFixtures.ts
|
|
7
7
|
var o = () => e({
|
|
8
8
|
state: a.Struct({ value: a.Int.pipe(n(1)) }),
|
|
9
9
|
input: a.Struct({ move: a.Int }),
|
|
@@ -29,5 +29,4 @@ var o = () => e({
|
|
|
29
29
|
expected: 14
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
|
-
//#endregion
|
|
33
32
|
export { c as lockstepRefereeLagSlotFixture };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { schemaSimulationHash as e } from "./simulationState.js";
|
|
2
2
|
import { defaultLockstepDesync as t, defaultLockstepRefereeLag as n, defaultLockstepStallPolicy as r } from "./lockstepPolicies.js";
|
|
3
|
-
|
|
3
|
+
// src/lockstepStrategies.ts
|
|
4
4
|
var i = (e, t) => e;
|
|
5
|
-
//#endregion
|
|
6
5
|
export { t as defaultLockstepDesync, n as defaultLockstepRefereeLag, r as defaultLockstepStallPolicy, i as repeatLastLockstepInput, e as schemaSimulationHash };
|
|
@@ -5,7 +5,7 @@ import { defaultRoomReconnectPolicy as o, defineRoom as s, fieldId as c } from "
|
|
|
5
5
|
import { repeatLastLockstepInput as l } from "./lockstepStrategies.js";
|
|
6
6
|
import { createLockstepClientSimulation as u } from "./lockstep.js";
|
|
7
7
|
import { Effect as d, Schema as f } from "effect";
|
|
8
|
-
|
|
8
|
+
// src/lockstepStrategyFixtures.ts
|
|
9
9
|
var p = f.Struct({ x: f.Int.pipe(c(1)) }), m = f.Struct({ amount: f.Int }), h = f.Struct({}), g = () => n({
|
|
10
10
|
state: p,
|
|
11
11
|
input: m,
|
|
@@ -133,5 +133,4 @@ var p = f.Struct({ x: f.Int.pipe(c(1)) }), m = f.Struct({ amount: f.Int }), h =
|
|
|
133
133
|
expected: 2468
|
|
134
134
|
}
|
|
135
135
|
};
|
|
136
|
-
//#endregion
|
|
137
136
|
export { S as lockstepDesyncSlotFixture, y as lockstepHashSlotFixture, v as lockstepInputPredictionSlotFixture, C as lockstepReconnectSlotFixture, b as lockstepStallPolicySlotFixture };
|
package/dist/lockstepTerminal.js
CHANGED
|
@@ -7,7 +7,7 @@ import { captureLockstepJournalScope as o, lockstepJournalIdentity as s } from "
|
|
|
7
7
|
import { createRoomLockstepAdmissionCodec as c } from "./lockstepAdmissionCodec.js";
|
|
8
8
|
import { and as l, eq as u } from "@voltro/database";
|
|
9
9
|
import { Effect as d, Layer as f } from "effect";
|
|
10
|
-
|
|
10
|
+
// src/lockstepTerminal.ts
|
|
11
11
|
var p = (n) => {
|
|
12
12
|
let r = t(n, [
|
|
13
13
|
"roomId",
|
|
@@ -86,5 +86,4 @@ var p = (n) => {
|
|
|
86
86
|
}).pipe(d.mapError((t) => t instanceof e ? t : new e({ detail: "Lockstep terminal authorization failed" }))));
|
|
87
87
|
} });
|
|
88
88
|
}, h = (e, t, n) => f.succeed(a, m(e, t, n));
|
|
89
|
-
//#endregion
|
|
90
89
|
export { a as RoomLockstepTerminalPort, p as captureRoomLockstepTerminal, m as dataStoreRoomLockstepTerminal, h as roomLockstepTerminalLayer };
|
|
@@ -15,7 +15,7 @@ import { captureRoomLockstepSessionPort as y } from "./serverSession.js";
|
|
|
15
15
|
import { captureRoomLockstepTransportLimits as b } from "./lockstepTransportConfig.js";
|
|
16
16
|
import { createRoomLockstepHostLoop as x } from "./lockstepHostLoop.js";
|
|
17
17
|
import { Effect as S, Result as C } from "effect";
|
|
18
|
-
|
|
18
|
+
// src/lockstepTransport.ts
|
|
19
19
|
function w(e) {
|
|
20
20
|
throw new t({ detail: e });
|
|
21
21
|
}
|
|
@@ -769,5 +769,4 @@ var T = (e, t) => t !== null && Object.keys(e).every((n) => e[n] === t[n]), E =
|
|
|
769
769
|
return this.#D || this.#t.isDisposed();
|
|
770
770
|
}
|
|
771
771
|
}, D = (e, t, n, r, i, a = {}, o = {}, s = {}) => new E(e, t, n, r, i, a, o, s);
|
|
772
|
-
//#endregion
|
|
773
772
|
export { E as RoomLockstepTransportOwner, D as createRoomLockstepTransportOwner };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RoomAuthoringError as e } from "./errors.js";
|
|
2
2
|
import { simulationOwnData as t } from "./simulationAuthoring.js";
|
|
3
|
-
|
|
3
|
+
// src/lockstepTransportConfig.ts
|
|
4
4
|
function n(n = {}) {
|
|
5
5
|
let r = {
|
|
6
6
|
redundantTicks: 4,
|
|
@@ -28,5 +28,4 @@ function n(n = {}) {
|
|
|
28
28
|
}
|
|
29
29
|
return Object.freeze(o);
|
|
30
30
|
}
|
|
31
|
-
//#endregion
|
|
32
31
|
export { n as captureRoomLockstepTransportLimits };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ProtocolError as e } from "./errors.js";
|
|
2
2
|
import { unsignedWord as t } from "./fixedWords.js";
|
|
3
3
|
import { simulationOwnData as n } from "./simulationAuthoring.js";
|
|
4
|
-
|
|
4
|
+
// src/lockstepWireRoster.ts
|
|
5
5
|
function r(t) {
|
|
6
6
|
throw new e({ detail: t });
|
|
7
7
|
}
|
|
@@ -30,5 +30,4 @@ var i = (e, i = 64) => {
|
|
|
30
30
|
slot: t,
|
|
31
31
|
playerId: 4294967295 - t
|
|
32
32
|
})));
|
|
33
|
-
//#endregion
|
|
34
33
|
export { i as captureRoomLockstepWireRoster, o as roomLockstepStartBudgetRoster, a as roomLockstepWireMask };
|
|
@@ -2,7 +2,7 @@ import { ProtocolError as e, RoomForbidden as t } from "./errors.js";
|
|
|
2
2
|
import { RoomReservePort as n } from "./ports.js";
|
|
3
3
|
import { resolveIdentityAuthority as r } from "@voltro/protocol";
|
|
4
4
|
import { Effect as i } from "effect";
|
|
5
|
-
|
|
5
|
+
// src/matchRoomProvider.ts
|
|
6
6
|
var a = (a) => {
|
|
7
7
|
if (!a?.rooms?.services) throw new e({ detail: "Match Rooms need the installed Rooms plugin" });
|
|
8
8
|
let o = (n, o) => i.flatMap(i.tryPromise({
|
|
@@ -28,5 +28,4 @@ var a = (a) => {
|
|
|
28
28
|
}, r) : i.fail(new e({ detail: "This Rooms binding cannot prepare match Rooms" }))).pipe(i.provide(a.rooms.services)));
|
|
29
29
|
}) });
|
|
30
30
|
};
|
|
31
|
-
//#endregion
|
|
32
31
|
export { a as roomsMatchRooms };
|
package/dist/matchRooms.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ProtocolError as e } from "./errors.js";
|
|
2
2
|
import { canonicalRoomJson as t } from "./checkpointJson.js";
|
|
3
3
|
import { createHash as n } from "node:crypto";
|
|
4
|
-
|
|
4
|
+
// src/matchRooms.ts
|
|
5
5
|
var r = (r, i, a) => {
|
|
6
6
|
if (![
|
|
7
7
|
r,
|
|
@@ -15,5 +15,4 @@ var r = (r, i, a) => {
|
|
|
15
15
|
a
|
|
16
16
|
])).digest("hex");
|
|
17
17
|
};
|
|
18
|
-
//#endregion
|
|
19
18
|
export { r as matchRoomCreationKey };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BudgetExceeded as e, ProtocolError as t } from "./errors.js";
|
|
2
|
-
|
|
2
|
+
// src/membershipObserver.ts
|
|
3
3
|
var n = class {
|
|
4
4
|
membership;
|
|
5
5
|
now;
|
|
@@ -43,5 +43,4 @@ var n = class {
|
|
|
43
43
|
this.hosts.delete(e);
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
|
-
//#endregion
|
|
47
46
|
export { n as RoomMembershipObserver };
|
package/dist/moderation.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ProtocolError as e } from "./errors.js";
|
|
2
2
|
import { captureRoomGeometryRollbackRequest as t } from "./geometryAdminData.js";
|
|
3
3
|
import { Effect as n, Schema as r } from "effect";
|
|
4
|
-
|
|
4
|
+
// src/moderation.ts
|
|
5
5
|
var i = r.NonEmptyString.pipe(r.check(r.isMaxLength(191))), a = r.String.pipe(r.check(r.isMaxLength(200))), o = r.Struct({
|
|
6
6
|
tenantId: i,
|
|
7
7
|
roomId: i,
|
|
@@ -94,5 +94,4 @@ var i = r.NonEmptyString.pipe(r.check(r.isMaxLength(191))), a = r.String.pipe(r.
|
|
|
94
94
|
})
|
|
95
95
|
});
|
|
96
96
|
};
|
|
97
|
-
//#endregion
|
|
98
97
|
export { l as RoomAccessRecheckInputSchema, f as RoomCloseAllInputSchema, c as RoomCloseInputSchema, o as RoomKickInputSchema, a as RoomKickReasonSchema, u as captureRoomAccessRecheckInput, p as captureRoomCloseAllInput, d as captureRoomCloseInput, s as captureRoomKickInput, m as roomModerationService };
|
package/dist/movementSpecials.js
CHANGED
|
@@ -2,7 +2,7 @@ import { RoomAuthoringError as e } from "./errors.js";
|
|
|
2
2
|
import { fieldId as t, precision as n } from "./room.js";
|
|
3
3
|
import { Transform2D as r } from "./transformSchemas.js";
|
|
4
4
|
import { Schema as i } from "effect";
|
|
5
|
-
|
|
5
|
+
// src/movementSpecials.ts
|
|
6
6
|
var a = i.Struct({
|
|
7
7
|
spawnTick: i.Int.pipe(t(1)),
|
|
8
8
|
x: i.Number.pipe(t(2), n("f64")),
|
|
@@ -100,5 +100,4 @@ var c = (e) => Number.isFinite(e) ? e : s("Movement components must be finite"),
|
|
|
100
100
|
attachedTo: void 0,
|
|
101
101
|
t: d(t)
|
|
102
102
|
});
|
|
103
|
-
//#endregion
|
|
104
103
|
export { o as AttachedTransform2D, a as BallisticProjectile2D, g as attachTransform2D, _ as detachTransform2D, m as resolveAttachedTransforms2D, f as sampleBallisticProjectile2D, h as setTransformOwner2D };
|
package/dist/ownership.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ProtocolError as e } from "./errors.js";
|
|
2
|
-
|
|
2
|
+
// src/ownership.ts
|
|
3
3
|
var t = (t, n) => {
|
|
4
4
|
if (!t || t.roomId !== n.roomId || t.tenantId !== n.tenantId || (t.state === "hibernated" ? t.hostId !== null : typeof t.hostId != "string" || !t.hostId.trim() || t.hostId.length > 191) || !Number.isSafeInteger(t.epoch) || t.epoch < n.epoch || ![
|
|
5
5
|
"creating",
|
|
@@ -13,5 +13,4 @@ var t = (t, n) => {
|
|
|
13
13
|
if (t.hostId !== n.hostId && t.epoch === n.epoch && t.state !== "hibernated") throw new e({ detail: "Room owner changed without a newer durable epoch" });
|
|
14
14
|
return t.epoch > n.epoch || t.state === "orphaned" || t.state === "hibernated";
|
|
15
15
|
};
|
|
16
|
-
//#endregion
|
|
17
16
|
export { t as roomOwnershipRevoked };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Schema as e } from "effect";
|
|
2
|
-
|
|
2
|
+
// src/ownershipWithdrawal.ts
|
|
3
3
|
var t = e.String.pipe(e.check(e.isMinLength(1)), e.check(e.isMaxLength(191)), e.check(e.makeFilter((e) => e.trim().length > 0))), n = e.Int.pipe(e.check(e.isGreaterThan(0)), e.check(e.makeFilter(Number.isSafeInteger))), r = e.Struct({
|
|
4
4
|
roomId: t,
|
|
5
5
|
tenantId: t,
|
|
@@ -14,5 +14,4 @@ var t = e.String.pipe(e.check(e.isMinLength(1)), e.check(e.isMaxLength(191)), e.
|
|
|
14
14
|
withdrawnEpoch: n.withdrawnEpoch
|
|
15
15
|
});
|
|
16
16
|
};
|
|
17
|
-
//#endregion
|
|
18
17
|
export { r as RoomHostWithdrawalInputSchema, i as captureRoomHostWithdrawalInput };
|
package/dist/pcg32.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BudgetExceeded as e, RoomAuthoringError as t } from "./errors.js";
|
|
2
2
|
import { addUint64 as n, captureUint64Words as r, multiplyUint64 as i, unsignedWord as a } from "./fixedWords.js";
|
|
3
|
-
|
|
3
|
+
// src/pcg32.ts
|
|
4
4
|
var o = Object.freeze({
|
|
5
5
|
hi: 1481765933,
|
|
6
6
|
lo: 1284865837
|
|
@@ -92,5 +92,4 @@ var d = class t {
|
|
|
92
92
|
this.#e = n(i(r, this.#e), l);
|
|
93
93
|
}
|
|
94
94
|
};
|
|
95
|
-
//#endregion
|
|
96
95
|
export { d as Pcg32 };
|
package/dist/ports.js
CHANGED
|
@@ -5,7 +5,6 @@ import { RoomLockstepJournalPort as r } from "./lockstepJournalPorts.js";
|
|
|
5
5
|
import { RoomLockstepAdmissionPort as i } from "./lockstepAdmissionPorts.js";
|
|
6
6
|
import { RoomLockstepTerminalPort as a } from "./lockstepTerminalPorts.js";
|
|
7
7
|
import { Context as o } from "effect";
|
|
8
|
-
|
|
8
|
+
// src/ports.ts
|
|
9
9
|
var s = class extends o.Service()("@voltro/WorldClientControlPort") {}, c = class extends o.Service()("@voltro/RoomReservePort") {}, l = class extends o.Service()("@voltro/RoomSubjectPrivacyPort") {}, u = class extends o.Service()("@voltro/RoomCheckpointPort") {}, d = class extends o.Service()("@voltro/RoomSnapshotBlobPort") {}, f = class extends o.Service()("@voltro/RoomDirectoryPort") {}, p = class extends o.Service()("@voltro/RoomAppCommandPort") {}, m = class extends o.Service()("@voltro/RoomRecoveryPort") {}, h = class extends o.Service()("@voltro/RoomHostAdoptionPort") {}, g = class extends o.Service()("@voltro/RoomHostControlPort") {}, _ = class extends o.Service()("@voltro/RoomHostWithdrawalPort") {}, v = class extends o.Service()("@voltro/RoomHostKickPort") {}, y = class extends o.Service()("@voltro/RoomExternalWorkWithdrawalPort") {}, b = class extends o.Service()("@voltro/RoomErasurePort") {}, x = class extends o.Service()("@voltro/RoomReaperPort") {};
|
|
10
|
-
//#endregion
|
|
11
10
|
export { p as RoomAppCommandPort, u as RoomCheckpointPort, f as RoomDirectoryPort, b as RoomErasurePort, y as RoomExternalWorkWithdrawalPort, h as RoomHostAdoptionPort, g as RoomHostControlPort, n as RoomHostDrainPort, v as RoomHostKickPort, _ as RoomHostWithdrawalPort, i as RoomLockstepAdmissionPort, r as RoomLockstepJournalPort, a as RoomLockstepTerminalPort, x as RoomReaperPort, m as RoomRecoveryPort, t as RoomReplayPort, c as RoomReservePort, d as RoomSnapshotBlobPort, l as RoomSubjectPrivacyPort, s as WorldClientControlPort, e as roomsSystemContractManifest };
|
package/dist/quaternion.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ProtocolError as e, RoomAuthoringError as t } from "./errors.js";
|
|
2
2
|
import { Result as n } from "effect";
|
|
3
|
-
|
|
3
|
+
// src/quaternion.ts
|
|
4
4
|
var r = [
|
|
5
5
|
"qx",
|
|
6
6
|
"qy",
|
|
@@ -39,7 +39,7 @@ var s = (t) => {
|
|
|
39
39
|
for (let e = 0; e < h.length; e++) h[e] = Number(p & 255n), p >>= 8n;
|
|
40
40
|
return h;
|
|
41
41
|
})), l = (e, t = 10) => (i(t), s(() => {
|
|
42
|
-
|
|
42
|
+
e instanceof Uint8Array && e.length === a(t) || o("Invalid quaternion byte length");
|
|
43
43
|
let n = 0n;
|
|
44
44
|
for (let t = e.length - 1; t >= 0; t--) n = n << 8n | BigInt(e[t]);
|
|
45
45
|
let r = 2 + 3 * t;
|
|
@@ -66,5 +66,4 @@ var s = (t) => {
|
|
|
66
66
|
qw: u[3]
|
|
67
67
|
};
|
|
68
68
|
}));
|
|
69
|
-
//#endregion
|
|
70
69
|
export { l as decodeQuaternionSmallestThree, c as encodeQuaternionSmallestThree, a as quaternionByteLength };
|
package/dist/react.js
CHANGED
|
@@ -3,7 +3,7 @@ import { RoomAnimationFrameLoop as n, RoomTransformFrameLoop2D as r } from "./tr
|
|
|
3
3
|
import { TransitionScreen as i, useWorldTransition as a } from "./worldReact.js";
|
|
4
4
|
import { useLocalInput as o, useLockstepRoom as s, useSimState as c } from "./lockstepReact.js";
|
|
5
5
|
import { createContext as l, createElement as u, useCallback as d, useContext as f, useEffect as p, useLayoutEffect as m, useMemo as h, useRef as g, useState as _ } from "react";
|
|
6
|
-
|
|
6
|
+
// src/react.ts
|
|
7
7
|
var v = class {
|
|
8
8
|
capacity;
|
|
9
9
|
retained = /* @__PURE__ */ new Map();
|
|
@@ -105,5 +105,4 @@ var v = class {
|
|
|
105
105
|
}, [e, i]), t.maxRetainedLoops ?? 16);
|
|
106
106
|
return h(() => Object.assign(r, { lifecycle: a }), [r, a]);
|
|
107
107
|
};
|
|
108
|
-
//#endregion
|
|
109
108
|
export { b as RoomTransformProvider, i as TransitionScreen, o as useLocalInput, s as useLockstepRoom, w as useOwnTransform, c as useSimState, C as useTransform, S as useTransformFrame, a as useWorldTransition };
|
package/dist/reaper.js
CHANGED
|
@@ -9,7 +9,7 @@ import { resolveRoomHostSelection as h } from "./hostSelection.js";
|
|
|
9
9
|
import { resolveRoomPoolHostSelection as g } from "./roomPoolSelection.js";
|
|
10
10
|
import { and as _, eq as v, gt as y, or as b } from "@voltro/database";
|
|
11
11
|
import { Effect as x, Layer as S, Result as C } from "effect";
|
|
12
|
-
|
|
12
|
+
// src/reaper.ts
|
|
13
13
|
var w = (e) => {
|
|
14
14
|
if (typeof e != "string" || !e.trim() || e.length > 191) throw new t({ detail: "Invalid Room reaper identity" });
|
|
15
15
|
return e;
|
|
@@ -239,5 +239,4 @@ var w = (e) => {
|
|
|
239
239
|
catch: (n) => n instanceof t || n instanceof e ? n : new t({ detail: "Room reaper pass failed" })
|
|
240
240
|
}))) });
|
|
241
241
|
}, O = (e, t) => S.succeed(o, D(e, t));
|
|
242
|
-
//#endregion
|
|
243
242
|
export { D as dataStoreRoomReaper, O as roomReaperLayer };
|
package/dist/reaperSchemas.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Schema as e } from "effect";
|
|
2
|
-
|
|
2
|
+
// src/reaperSchemas.ts
|
|
3
3
|
var t = e.NonEmptyString.pipe(e.check(e.isMaxLength(191))), n = e.Int.pipe(e.check(e.isGreaterThanOrEqualTo(0))), r = e.Struct({
|
|
4
4
|
hosts: e.Array(e.Struct({
|
|
5
5
|
hostId: t,
|
|
@@ -38,5 +38,4 @@ var t = e.NonEmptyString.pipe(e.check(e.isMaxLength(191))), n = e.Int.pipe(e.che
|
|
|
38
38
|
waiting: n,
|
|
39
39
|
untrackedHosts: n
|
|
40
40
|
});
|
|
41
|
-
//#endregion
|
|
42
41
|
export { r as RoomReaperReportSchema, i as RoomReaperWorkflowPayload, a as RoomReaperWorkflowResult };
|
package/dist/reaperWorkflow.js
CHANGED
|
@@ -2,7 +2,7 @@ import { BudgetExceeded as e, ProtocolError as t } from "./errors.js";
|
|
|
2
2
|
import { RoomReaperReportSchema as n, RoomReaperWorkflowPayload as r } from "./reaperSchemas.js";
|
|
3
3
|
import { RoomReaperPort as i } from "./ports.js";
|
|
4
4
|
import { Effect as a, Result as o, Schema as s } from "effect";
|
|
5
|
-
|
|
5
|
+
// src/reaperWorkflow.ts
|
|
6
6
|
function c() {
|
|
7
7
|
throw new t({ detail: "Room reaper provider returned invalid or non-advancing pages" });
|
|
8
8
|
}
|
|
@@ -66,5 +66,4 @@ var l = (e, t) => {
|
|
|
66
66
|
untrackedHosts: _
|
|
67
67
|
});
|
|
68
68
|
}), d = (e) => i.pipe(a.flatMap((t) => u(t, e)));
|
|
69
|
-
//#endregion
|
|
70
69
|
export { d as roomReaperWorkflowExecutor, u as runRoomReaperWorkflow };
|
package/dist/recovery.js
CHANGED
|
@@ -12,7 +12,7 @@ import { decodeRoomDirectoryListing as S } from "./directory.js";
|
|
|
12
12
|
import { RoomMembershipObserver as C } from "./membershipObserver.js";
|
|
13
13
|
import { and as w, eq as T, or as E } from "@voltro/database";
|
|
14
14
|
import { Effect as D, Layer as O } from "effect";
|
|
15
|
-
|
|
15
|
+
// src/recovery.ts
|
|
16
16
|
function k(e) {
|
|
17
17
|
throw new t({ detail: e });
|
|
18
18
|
}
|
|
@@ -185,5 +185,4 @@ var A = (e) => typeof e == "string" && e.trim() && e.length <= 191 ? e : k("Inva
|
|
|
185
185
|
})
|
|
186
186
|
});
|
|
187
187
|
}, L = (e, t) => O.succeed(l, I(e, t));
|
|
188
|
-
//#endregion
|
|
189
188
|
export { I as dataStoreRoomRecovery, L as roomRecoveryLayer };
|
package/dist/recoverySeats.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ProtocolError as e } from "./errors.js";
|
|
2
2
|
import "./identities.js";
|
|
3
3
|
import { and as t, eq as n } from "@voltro/database";
|
|
4
|
-
|
|
4
|
+
// src/recoverySeats.ts
|
|
5
5
|
var r = async (r, i, a, o, s, c, l, u, d) => {
|
|
6
6
|
let f = () => {
|
|
7
7
|
throw new e({ detail: "Recovery seat scope, capacity or grace policy is invalid" });
|
|
@@ -22,5 +22,4 @@ var r = async (r, i, a, o, s, c, l, u, d) => {
|
|
|
22
22
|
}
|
|
23
23
|
return (!Number.isSafeInteger(d) || m > d) && f(), m;
|
|
24
24
|
};
|
|
25
|
-
//#endregion
|
|
26
25
|
export { r as fenceRoomRecoverySeats };
|
package/dist/replay.js
CHANGED
|
@@ -4,7 +4,7 @@ import { RoomStateCodec as n } from "./stateCodec.js";
|
|
|
4
4
|
import { decodeRoomFrame as r, encodeRoomFrame as i } from "./wire.js";
|
|
5
5
|
import { restoreReplayCodec as a } from "./replaySchema.js";
|
|
6
6
|
import { Result as o } from "effect";
|
|
7
|
-
|
|
7
|
+
// src/replay.ts
|
|
8
8
|
var s = Object.freeze({
|
|
9
9
|
maxBytes: 67108864,
|
|
10
10
|
maxFrameBytes: 1048576,
|
|
@@ -27,11 +27,11 @@ var d = (e) => Number.isSafeInteger(e) && e >= 0 ? e : u("Replay integers must b
|
|
|
27
27
|
return o.fail(t instanceof e ? t : new e({ detail: "Malformed replay" }));
|
|
28
28
|
}
|
|
29
29
|
}, m = (e) => {
|
|
30
|
-
|
|
30
|
+
typeof e == "object" && e && [Object.prototype, null].includes(Object.getPrototypeOf(e)) || u("Replay limits must be plain data");
|
|
31
31
|
let t = { ...s };
|
|
32
32
|
for (let n of Reflect.ownKeys(e)) {
|
|
33
33
|
let r = Object.getOwnPropertyDescriptor(e, n);
|
|
34
|
-
|
|
34
|
+
typeof n == "string" && Object.hasOwn(s, n) && r && Object.hasOwn(r, "value") && r.enumerable && typeof r.value == "number" || u("Invalid replay limit"), t[n] = r.value;
|
|
35
35
|
}
|
|
36
36
|
for (let e of Object.values(t)) d(e) < 1 && u("Replay limits must be positive");
|
|
37
37
|
return (t.maxBytes > 536870912 || t.maxFrameBytes > t.maxBytes || t.maxFrames > 1e6 || t.maxHighlights > 65536 || t.maxSchemaBytes > 1048576 || t.checkpointEveryMs > 4294967295) && u("Replay allocation budget is too large"), Object.freeze(t);
|
|
@@ -110,7 +110,7 @@ var d = (e) => Number.isSafeInteger(e) && e >= 0 ? e : u("Replay integers must b
|
|
|
110
110
|
return this.at !== this.bytes.length && u("Inconsistent replay size"), this.bytes;
|
|
111
111
|
}
|
|
112
112
|
}, x = (e, t) => {
|
|
113
|
-
|
|
113
|
+
e.take(4).every((e, t) => e === c[t]) && e.u8() === 1 || u("Unknown replay format");
|
|
114
114
|
let n = e.u32(), r = e.u32(), i = e.u32(), a = e.u32(), o = e.u32();
|
|
115
115
|
return (r < 1 || r > t.checkpointEveryMs || i > t.maxSchemaBytes || a < 1 || a > t.maxFrames || o > t.maxHighlights) && u("Replay header exceeds its budgets"), {
|
|
116
116
|
schemaHash: n,
|
|
@@ -258,7 +258,7 @@ var d = (e) => Number.isSafeInteger(e) && e >= 0 ? e : u("Replay integers must b
|
|
|
258
258
|
i === void 0 && u("Invalid replay checkpoint index"), (this.records[i]?.atMs ?? u("Missing replay checkpoint")) <= t ? n = e : r = e - 1;
|
|
259
259
|
}
|
|
260
260
|
let i = this.checkpoints[n], a = i === void 0 ? void 0 : this.records[i];
|
|
261
|
-
|
|
261
|
+
i !== void 0 && a && a.frame.kind === "Full" || u("Replay has no Full checkpoint");
|
|
262
262
|
let o = f(this.codec.decodeFull(a.frame.baseline)), s = a.frame.tick, c = a.frame.epoch, l = a.atMs;
|
|
263
263
|
for (let e = i + 1; e < this.records.length; e++) {
|
|
264
264
|
let n = this.records[e];
|
|
@@ -285,7 +285,7 @@ var d = (e) => Number.isSafeInteger(e) && e >= 0 ? e : u("Replay integers must b
|
|
|
285
285
|
let p = s;
|
|
286
286
|
for (let e = s; e < this.records.length && !((this.records[e]?.atMs ?? u("Missing clip frame")) > o); e++) p = e;
|
|
287
287
|
let h = this.records[s], g = this.records[p];
|
|
288
|
-
|
|
288
|
+
h && h.frame.kind === "Full" && g || u("Clip lost its Full baseline");
|
|
289
289
|
let _ = g.atMs - h.atMs, v = new TextEncoder().encode(this.codec.schemaDescription), y = this.highlights.filter((e) => e.atMs >= h.atMs && e.atMs <= g.atMs);
|
|
290
290
|
(_ > r.maxDurationMs || p - s + 1 > r.maxFrames || y.length > r.maxHighlights || v.length > r.maxSchemaBytes) && u("Replay clip exceeds its timeline or allocation budgets");
|
|
291
291
|
let x = l + v.length;
|
|
@@ -448,11 +448,11 @@ var d = (e) => Number.isSafeInteger(e) && e >= 0 ? e : u("Replay integers must b
|
|
|
448
448
|
let e = a;
|
|
449
449
|
for (; e >= 0 && this.records[e]?.frame.kind !== "Full";) e--;
|
|
450
450
|
let t = this.records[e];
|
|
451
|
-
|
|
451
|
+
t && t.frame.kind === "Full" || u("Spectator history lost its Full baseline");
|
|
452
452
|
let n = f(this.codec.decodeFull(t.frame.baseline));
|
|
453
453
|
for (let t = e + 1; t <= a; t++) {
|
|
454
454
|
let e = this.records[t];
|
|
455
|
-
|
|
455
|
+
e && e.frame.kind === "Delta" || u("Invalid spectator reconstruction chain"), n = f(this.codec.decodeDelta(e.frame.patch, n));
|
|
456
456
|
}
|
|
457
457
|
let r = f(i({
|
|
458
458
|
kind: "Full",
|
|
@@ -481,5 +481,4 @@ var d = (e) => Number.isSafeInteger(e) && e >= 0 ? e : u("Replay integers must b
|
|
|
481
481
|
this.records = [], this.previous = void 0, this.cached = void 0, this.checkpointAt = 0;
|
|
482
482
|
}
|
|
483
483
|
};
|
|
484
|
-
//#endregion
|
|
485
484
|
export { E as ReplayPlayback, C as ReplayPlayer, S as ReplayRecorder, D as SpectatorDelayBuffer, h as captureRoomReplayLimits, T as openArchivedReplay, w as openReplay, a as restoreReplayCodec };
|
package/dist/replayPorts.js
CHANGED
package/dist/replayRecording.js
CHANGED
|
@@ -2,7 +2,7 @@ import { ProtocolError as e } from "./errors.js";
|
|
|
2
2
|
import { ReplayRecorder as t, captureRoomReplayLimits as n, openArchivedReplay as r } from "./replay.js";
|
|
3
3
|
import { captureRoomReplayMetadata as i } from "./replayStorage.js";
|
|
4
4
|
import { Effect as a, Result as o } from "effect";
|
|
5
|
-
|
|
5
|
+
// src/replayRecording.ts
|
|
6
6
|
function s(t) {
|
|
7
7
|
throw new e({ detail: t });
|
|
8
8
|
}
|
|
@@ -23,7 +23,7 @@ var c = (e) => {
|
|
|
23
23
|
poisoned = null;
|
|
24
24
|
summary;
|
|
25
25
|
constructor(e, r, a, o) {
|
|
26
|
-
this.metadata = i(a.metadata), (this.metadata.roomId !== r.roomId || this.metadata.tenantId !== r.tenantId || this.metadata.roomName !== r.name) && s("Recording metadata does not match the admitted host room"),
|
|
26
|
+
this.metadata = i(a.metadata), (this.metadata.roomId !== r.roomId || this.metadata.tenantId !== r.tenantId || this.metadata.roomName !== r.name) && s("Recording metadata does not match the admitted host room"), a.port && typeof a.port.publish == "function" && typeof a.runEffect == "function" || s("Room recording requires the actual Replay Port and app Effect runner"), this.publish = a.port.publish.bind(a.port), this.runEffect = a.runEffect.bind(a);
|
|
27
27
|
let c = n(a.limits ?? {});
|
|
28
28
|
this.limits = c, o > c.checkpointEveryMs && s("Recording checkpoint budget must admit the shared producer cadence"), this.recorder = new t(e, c);
|
|
29
29
|
}
|
|
@@ -63,5 +63,4 @@ var c = (e) => {
|
|
|
63
63
|
this.pending && s("Await accepted replay publication before memory withdrawal"), this.withdrawn = !0, this.sealed = void 0, this.recorder.clear();
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
|
-
//#endregion
|
|
67
66
|
export { l as RoomReplayRecording };
|
package/dist/replaySchema.js
CHANGED
|
@@ -4,7 +4,7 @@ import { captureTransformRules as a } from "./transformRules.js";
|
|
|
4
4
|
import { RoomStateCodec as o } from "./stateCodec.js";
|
|
5
5
|
import { definedOnly as s } from "./resolvedOptions.js";
|
|
6
6
|
import { Result as c, Schema as l } from "effect";
|
|
7
|
-
|
|
7
|
+
// src/replaySchema.ts
|
|
8
8
|
function u() {
|
|
9
9
|
throw new e({ detail: "Invalid or unsupported archived binary schema" });
|
|
10
10
|
}
|
|
@@ -153,5 +153,4 @@ var d = (e) => {
|
|
|
153
153
|
return c.fail(t instanceof e ? t : new e({ detail: "Invalid or unsupported archived binary schema" }));
|
|
154
154
|
}
|
|
155
155
|
};
|
|
156
|
-
//#endregion
|
|
157
156
|
export { S as restoreReplayCodec };
|
package/dist/replayStorage.js
CHANGED
|
@@ -7,7 +7,7 @@ import { captureRoomReplayLimits as a, openArchivedReplay as o } from "./replay.
|
|
|
7
7
|
import { and as s, eq as c, id as l, json as u, table as d, text as f, timestamp as p } from "@voltro/database";
|
|
8
8
|
import { Effect as m, Layer as h, Result as g, Schema as _, Stream as ee } from "effect";
|
|
9
9
|
import { createHash as v } from "node:crypto";
|
|
10
|
-
|
|
10
|
+
// src/replayStorage.ts
|
|
11
11
|
var y = "_voltro_replays", b = d(y, {
|
|
12
12
|
id: l({ prefix: "replay" }),
|
|
13
13
|
tenantId: f().maxLength(191),
|
|
@@ -481,5 +481,4 @@ var S = (e) => v("sha256").update(e).digest("hex"), C = (e) => typeof e == "stri
|
|
|
481
481
|
}
|
|
482
482
|
});
|
|
483
483
|
};
|
|
484
|
-
//#endregion
|
|
485
484
|
export { y as ROOM_REPLAYS_TABLE, n as RoomReplayPort, A as captureRoomReplayMetadata, j as dataStoreRoomReplays, ae as roomReplayLayer, b as roomReplayTable, M as withRoomReplayPrivacy };
|
package/dist/reservationBatch.js
CHANGED
|
@@ -7,7 +7,7 @@ import { roomSeatTokenDigest as u } from "./seats.js";
|
|
|
7
7
|
import { and as d, eq as f } from "@voltro/database";
|
|
8
8
|
import { Effect as p } from "effect";
|
|
9
9
|
import { createHash as m, randomBytes as h } from "node:crypto";
|
|
10
|
-
|
|
10
|
+
// src/reservationBatch.ts
|
|
11
11
|
var g = (t) => new e({ detail: t }), _ = (e) => m("sha256").update(JSON.stringify(e)).digest("hex"), v = (e, t) => {
|
|
12
12
|
if (!e || typeof e != "object" || Array.isArray(e) || ![Object.prototype, null].includes(Object.getPrototypeOf(e))) throw g("Room reservation batch must be plain own data");
|
|
13
13
|
let n = Object.getOwnPropertyDescriptors(e);
|
|
@@ -418,5 +418,4 @@ var g = (t) => new e({ detail: t }), _ = (e) => m("sha256").update(JSON.stringif
|
|
|
418
418
|
});
|
|
419
419
|
};
|
|
420
420
|
};
|
|
421
|
-
//#endregion
|
|
422
421
|
export { j as assertRoomReservationBatchSeatReceipt, C as captureRoomReservationBatch, S as captureRoomReservationBatchOptions, N as makeRoomReservationBatch, P as makeRoomReservationBatchMemberReplay, F as makeRoomReservationBatchReissue, M as makeRoomReservationBatchRelease, E as roomReservationBatchSessionId, w as roomReservationBatchSessionIdentity };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Schema as e } from "effect";
|
|
2
|
-
|
|
2
|
+
// src/reservationSchemas.ts
|
|
3
3
|
var t = e.Struct({
|
|
4
4
|
ws: e.NonEmptyString,
|
|
5
5
|
wt: e.optional(e.NonEmptyString),
|
|
@@ -13,5 +13,4 @@ var t = e.Struct({
|
|
|
13
13
|
transport: e.Union([e.Tuple([e.Literal("ws")]), e.Tuple([e.Literal("ws"), e.Literal("wt")])]),
|
|
14
14
|
expiresAt: e.Number.pipe(e.check(e.isFinite()), e.check(e.isGreaterThan(0)))
|
|
15
15
|
});
|
|
16
|
-
//#endregion
|
|
17
16
|
export { n as RoomReservationSchema, t as RoomTransportEndpointsSchema };
|
package/dist/reservations.js
CHANGED
|
@@ -12,7 +12,7 @@ import { consumeRoomSeatInTransaction as x, dataStoreRoomSeats as S, revalidateR
|
|
|
12
12
|
import { and as w, eq as T, generateId as ne, lte as E, or as D } from "@voltro/database";
|
|
13
13
|
import { Effect as O, Result as k } from "effect";
|
|
14
14
|
import { randomBytes as A } from "node:crypto";
|
|
15
|
-
|
|
15
|
+
// src/reservations.ts
|
|
16
16
|
var j = (e) => Object.freeze({
|
|
17
17
|
tenantId: e.tenantId,
|
|
18
18
|
subjectId: e.subjectId,
|
|
@@ -255,5 +255,4 @@ var j = (e) => Object.freeze({
|
|
|
255
255
|
}))
|
|
256
256
|
});
|
|
257
257
|
};
|
|
258
|
-
//#endregion
|
|
259
258
|
export { R as dataStoreRoomReservations, j as roomReservationIdentity };
|
package/dist/reservePort.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
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, RoomsClosed as c, SeatExpired as l } from "./errors.js";
|
|
2
2
|
import { Effect as u } from "effect";
|
|
3
|
-
|
|
3
|
+
// src/reservePort.ts
|
|
4
4
|
var d = (d) => u.tryPromise({
|
|
5
5
|
try: d,
|
|
6
6
|
catch: (u) => u instanceof e || u instanceof t || u instanceof n || u instanceof r || u instanceof i || u instanceof a || u instanceof o || u instanceof s || u instanceof c || u instanceof l ? u : new n({ detail: "Room API operation failed" })
|
|
@@ -65,5 +65,4 @@ var d = (d) => u.tryPromise({
|
|
|
65
65
|
leave: (e, r, i, a) => n(e, t.leave(r, i, a))
|
|
66
66
|
});
|
|
67
67
|
};
|
|
68
|
-
//#endregion
|
|
69
68
|
export { m as controllerRoomHostControlService, p as hostRoomReserveService };
|
package/dist/resolvedOptions.js
CHANGED
package/dist/room.js
CHANGED
|
@@ -4,7 +4,7 @@ import { retainRoomPolicyOrigin as n } from "./roomPoolRuntimeDefaults.js";
|
|
|
4
4
|
import { roomAuthoringStrategy as r } from "./roomAuthoringStrategy.js";
|
|
5
5
|
import { captureLockstepRoomDefinition as i } from "./lockstepDefinition.js";
|
|
6
6
|
import { defaultRoomSpectatorPolicy as a } from "./spectatorPolicy.js";
|
|
7
|
-
|
|
7
|
+
// src/room.ts
|
|
8
8
|
var o = Symbol.for("@voltro/rooms/fieldId"), s = Symbol.for("@voltro/rooms/quantization"), c = Symbol.for("@voltro/rooms/interpolation"), l = Symbol.for("@voltro/rooms/transform"), u = Symbol.for("@voltro/rooms/nonAuthoritative"), d = Symbol.for("@voltro/rooms/precision");
|
|
9
9
|
function f(t) {
|
|
10
10
|
throw new e({
|
|
@@ -280,5 +280,4 @@ function F(t) {
|
|
|
280
280
|
});
|
|
281
281
|
return P(t);
|
|
282
282
|
}
|
|
283
|
-
//#endregion
|
|
284
283
|
export { o as RoomFieldId, c as RoomInterpolation, u as RoomNonAuthoritative, d as RoomPrecision, s as RoomQuantization, l as RoomTransform, D as captureRoomListing, E as captureRoomSeatAttributes, A as defaultRoomBudgets, j as defaultRoomReconnectPolicy, O as defaultRoomSnapshotPolicy, a as defaultRoomSpectatorPolicy, M as defaultRoomView, F as defineRoom, N as defineRoomExtension, S as dequantize, h as fieldId, y as interpolate, g as nonAuthoritative, b as precision, _ as quantizationStep, x as quantize, v as quantized };
|
package/dist/roomAccessSweep.js
CHANGED
|
@@ -3,7 +3,7 @@ import { ROOMS_TABLE as t, ROOM_SEATS_TABLE as n } from "./identities.js";
|
|
|
3
3
|
import { roomAccessDeadline as r } from "./apiReservations.js";
|
|
4
4
|
import { and as i, eq as a, isNotNull as o, lte as s } from "@voltro/database";
|
|
5
5
|
import { Effect as c, Result as l } from "effect";
|
|
6
|
-
|
|
6
|
+
// src/roomAccessSweep.ts
|
|
7
7
|
var u = (u, d) => {
|
|
8
8
|
let f = d.limit ?? 100;
|
|
9
9
|
if (!Number.isSafeInteger(f) || f < 1 || f > 1e3) throw Error("Room access sweep limit must be 1..1000");
|
|
@@ -91,5 +91,4 @@ var u = (u, d) => {
|
|
|
91
91
|
})
|
|
92
92
|
});
|
|
93
93
|
};
|
|
94
|
-
//#endregion
|
|
95
94
|
export { u as dataStoreRoomAccessSweep };
|
|
@@ -3,7 +3,7 @@ import { ROOM_COMMAND_FAILED as t, applicationRoomCommands as n, roomCommandDefe
|
|
|
3
3
|
import { RoomControlTargetSchema as i, makeRoomControlCarrier as a, sameRoomControlTarget as o } from "./controlCarrier.js";
|
|
4
4
|
import { Effect as s, Option as c, Result as l, Schema as u } from "effect";
|
|
5
5
|
import "node:crypto";
|
|
6
|
-
|
|
6
|
+
// src/roomAppCommandControl.ts
|
|
7
7
|
var d = "app-commands", f = () => new e({ detail: t }), p = (t, r) => s.gen(function* () {
|
|
8
8
|
let c = yield* s.context(), p = (e) => s.runPromiseWith(c)(e), m = yield* s.try({
|
|
9
9
|
try: () => a(r),
|
|
@@ -55,5 +55,4 @@ var d = "app-commands", f = () => new e({ detail: t }), p = (t, r) => s.gen(func
|
|
|
55
55
|
startedAt: t.startedAt
|
|
56
56
|
});
|
|
57
57
|
};
|
|
58
|
-
//#endregion
|
|
59
58
|
export { d as ROOM_APP_COMMAND_TARGET, m as forwardedRoomAppCommands, p as openRoomAppCommandServer, h as roomAppCommandTarget };
|