@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
package/dist/worldEntities.js
CHANGED
|
@@ -22,7 +22,7 @@ import { captureWorldActorTransferSnapshot as fe } from "./worldActorTransferSna
|
|
|
22
22
|
import { and as C, eq as w, generateId as pe, gt as me, id as T, inSet as he, integer as ge, json as _e, lt as ve, neq as ye, table as be, text as E, timestamp as xe } from "@voltro/database";
|
|
23
23
|
import { Effect as D, Result as Se } from "effect";
|
|
24
24
|
import { createHash as Ce } from "node:crypto";
|
|
25
|
-
|
|
25
|
+
// src/worldEntities.ts
|
|
26
26
|
var O = "_voltro_world_entities", k = "_voltro_world_journal", we = be(O, {
|
|
27
27
|
id: T({ prefix: "went" }),
|
|
28
28
|
tenantId: E().maxLength(191),
|
|
@@ -82,10 +82,10 @@ function j(e) {
|
|
|
82
82
|
throw new n({ detail: e });
|
|
83
83
|
}
|
|
84
84
|
var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A-Za-z0-9_.:-]*$/.test(e) ? e : j("Invalid World entity identity"), N = (e, t = 1) => typeof e == "number" && Number.isSafeInteger(e) && e >= t && e <= 2147483647 ? e : j("Invalid World entity integer"), P = (e, t) => {
|
|
85
|
-
|
|
85
|
+
e && typeof e == "object" && Object.getPrototypeOf(e) === Object.prototype || j("World entity input requires plain own data");
|
|
86
86
|
for (let n of Reflect.ownKeys(e)) {
|
|
87
87
|
let r = Object.getOwnPropertyDescriptor(e, n);
|
|
88
|
-
|
|
88
|
+
typeof n == "string" && t.includes(n) && r?.enumerable && "value" in r || j("Invalid World entity field");
|
|
89
89
|
}
|
|
90
90
|
}, De = (e) => Object.freeze({
|
|
91
91
|
tenantId: M(e.tenantId),
|
|
@@ -146,7 +146,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
146
146
|
...n === void 0 ? {} : { proceed: n }
|
|
147
147
|
});
|
|
148
148
|
}
|
|
149
|
-
|
|
149
|
+
be.size && typeof Ee == "function" && typeof je == "function" && typeof Me == "function" && we !== 2147483647 && Te !== 2147483647 && A !== 2147483647 || j("World entity store requires complete configuration and privacy coordination");
|
|
150
150
|
let z = (e) => be.get(e) ?? j("Unconfigured World entity World"), B = () => {
|
|
151
151
|
let e = Ee();
|
|
152
152
|
return (!Number.isSafeInteger(e) || e < 0 || e > 864e13) && j("Invalid World entity clock"), e;
|
|
@@ -225,7 +225,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
225
225
|
],
|
|
226
226
|
lock: "update"
|
|
227
227
|
}), l = c[0];
|
|
228
|
-
|
|
228
|
+
c.length === 1 && l && l.epoch === r.epoch && l.state === "live" && typeof l.hostId == "string" || j("World entity location lost current SQL Room authority"), await g(t, a, l, !0);
|
|
229
229
|
let u = a.instances.filter((e) => e.room === l.name);
|
|
230
230
|
if (u.length) {
|
|
231
231
|
a.zones.some((e) => e.room === l.name) && j("World entity Room cannot ambiguously name a zone and an instance");
|
|
@@ -238,7 +238,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
238
238
|
projection: void 0,
|
|
239
239
|
lock: "update"
|
|
240
240
|
}), s = o[0];
|
|
241
|
-
if (
|
|
241
|
+
if (o.length === 1 && s && u.some((e) => e.id === s.instance) && s.state === "live" && s.epoch === r.epoch && s.hostId === l.hostId || j("World entity location lost current SQL instance authority"), i) {
|
|
242
242
|
let e = s.expiresAt instanceof Date ? s.expiresAt.getTime() : typeof s.expiresAt == "string" ? Date.parse(s.expiresAt) : NaN;
|
|
243
243
|
(!Number.isSafeInteger(e) || B() >= e) && j("Expired World instances refuse new entity ownership");
|
|
244
244
|
}
|
|
@@ -383,7 +383,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
383
383
|
let u = await F(t, o, !0);
|
|
384
384
|
u.length !== 1 && j("World entity write requires one durable entity");
|
|
385
385
|
let d = H(u[0]);
|
|
386
|
-
u[0].activeTransitionId !== null && u[0].activeTransitionId !== a && j("World entity is fenced by an active SQL transition"),
|
|
386
|
+
u[0].activeTransitionId !== null && u[0].activeTransitionId !== a && j("World entity is fenced by an active SQL transition"), d.tenantId === o.tenantId && d.entityId === o.entityId && d.revision === o.expectedRevision && W(d, s) && d.revision !== 2147483647 || j("World entity write lost its SQL owner or revision");
|
|
387
387
|
let f = d.returnAnchor ?? null;
|
|
388
388
|
if (n === "transfer") {
|
|
389
389
|
let n = z(c.worldId).instances.length ? await t.query({
|
|
@@ -410,7 +410,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
410
410
|
(n.kind === "return" || n.kind === "instance") && j("Instance intention lacks its actual instance or return anchor");
|
|
411
411
|
}
|
|
412
412
|
if (r || f) {
|
|
413
|
-
|
|
413
|
+
a && L || j("Instance entry/return requires an actual fenced transition");
|
|
414
414
|
let e = await t.query({
|
|
415
415
|
table: l,
|
|
416
416
|
predicate: C(w("tenantId", o.tenantId), w("id", a)),
|
|
@@ -469,14 +469,14 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
469
469
|
}
|
|
470
470
|
return G(e, i.captured, () => I(() => v.transactional(async (t) => (await U(t, i.captured.tenantId, [i.source, i.target]), He(t, e, i)))));
|
|
471
471
|
}, We = (e) => {
|
|
472
|
-
if (
|
|
472
|
+
if (Array.isArray(e) && Object.getPrototypeOf(e) === Array.prototype && Reflect.ownKeys(e).length === e.length + 1 || j("World entity batch requires own entries"), e.length > A) throw new t({
|
|
473
473
|
budget: "worldEntityBatchRows",
|
|
474
474
|
limit: A
|
|
475
475
|
});
|
|
476
476
|
let n = [], r = /* @__PURE__ */ new Set();
|
|
477
477
|
for (let t = 0; t < e.length; t++) {
|
|
478
478
|
let i = Object.getOwnPropertyDescriptor(e, String(t));
|
|
479
|
-
|
|
479
|
+
i?.enumerable && "value" in i || j("World entity batch requires own entries");
|
|
480
480
|
let a = K("persist", i.value), o = JSON.stringify([a.captured.tenantId, a.captured.entityId]);
|
|
481
481
|
(r.has(o) || n.length && n[0].captured.tenantId !== a.captured.tenantId) && j("World entity batch requires unique entities in one tenant"), r.add(o), n.push(a);
|
|
482
482
|
}
|
|
@@ -540,7 +540,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
540
540
|
let s = new Map(r.map((e) => [e.captured.entityId, e]));
|
|
541
541
|
for (let t of i) {
|
|
542
542
|
let n = M(t.entityId), r = s.get(n);
|
|
543
|
-
|
|
543
|
+
r && t.tenantId === a.tenantId && t.requestDigest === o.requestDigest && t.operation === e && t.revision === r.captured.expectedRevision + 1 || j("World entity command identity or payload conflicts with its receipt"), s.delete(n);
|
|
544
544
|
}
|
|
545
545
|
return s.size && j("World entity command receipts omit accepted entities"), !0;
|
|
546
546
|
};
|
|
@@ -667,7 +667,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
667
667
|
subjectId: a?.id ?? null,
|
|
668
668
|
subjectKind: a?.kind ?? null,
|
|
669
669
|
updatedAt: new Date(n.updatedAt)
|
|
670
|
-
}),
|
|
670
|
+
}), S.tenantId === t.tenantId && S.entityId === l && S.revision === d && W(S, i) && S.subject?.id === h?.id && S.subject?.kind === h?.kind || j("World transition commit receipt escaped its entity");
|
|
671
671
|
}
|
|
672
672
|
let ce = c === "committed" || c === "settled";
|
|
673
673
|
(_ < g || ce !== (ee !== null) || ce !== (S !== null) || (c === "failed" || c === "rolledBack") != (v !== null) || ee !== null && (ee < g || ee > _)) && j("Contradictory World transition commit boundary");
|
|
@@ -806,7 +806,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
806
806
|
let n = await D.runPromise(D.result($e(e, t)));
|
|
807
807
|
if (Se.isFailure(n)) throw n.failure;
|
|
808
808
|
}, tt = async (e, t, n, r = !1) => {
|
|
809
|
-
|
|
809
|
+
t.group && t.subject !== null && n.tenantId === t.origin.tenantId && n.subjectId === t.subject.id && n.roomId === t.target.roomId && n.epoch === t.target.epoch || j("World target session evidence escaped its group Subject/target");
|
|
810
810
|
let i = await e.query({
|
|
811
811
|
table: s,
|
|
812
812
|
predicate: C(w("id", n.roomId), w("tenantId", n.tenantId)),
|
|
@@ -845,7 +845,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
845
845
|
}), o = a[0];
|
|
846
846
|
(a.length !== 1 || o.sessionId !== n.sessionId || o.tenantId !== n.tenantId || o.subjectId !== n.subjectId || o.roomId !== n.roomId || o.epoch !== n.epoch || o.role !== "player" || o.state !== "connected" || o.nonce !== n.nonce || o.token !== n.credentialDigest) && j("World target Seat is not the actual connected credential"), await et(t, n);
|
|
847
847
|
}, nt = async (e, t) => {
|
|
848
|
-
|
|
848
|
+
R && t.group || j("World ready member requires a durable complete group");
|
|
849
849
|
let n = await e.query({
|
|
850
850
|
table: l,
|
|
851
851
|
predicate: C(w("tenantId", t.origin.tenantId), w("groupKey", t.group.key)),
|
|
@@ -904,7 +904,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
904
904
|
let e = await Q(v, t.origin);
|
|
905
905
|
e.length !== 1 && j("World ready player requires one original transition");
|
|
906
906
|
let n = Z(e[0]);
|
|
907
|
-
|
|
907
|
+
n.group && n.subject?.id === t.subject.id && n.subject.kind === t.subject.kind && n.phase === "switching" || j("World ready intention belongs to no matching switching player");
|
|
908
908
|
let r = await nt(v, n), i = await D.runPromise(D.result(Qe("ready", r)));
|
|
909
909
|
if (Se.isFailure(i)) throw i.failure;
|
|
910
910
|
return v.transactional(async (e) => {
|
|
@@ -915,7 +915,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
915
915
|
}, !0), i = await Q(e, t.origin, !0);
|
|
916
916
|
(r.length !== 1 || i.length !== 1) && j("World ready intention lost its locked source");
|
|
917
917
|
let a = Z(i[0]), o = H(r[0]);
|
|
918
|
-
|
|
918
|
+
a.id === n.id && a.phase === "switching" && a.subject?.id === t.subject.id && a.subject.kind === t.subject.kind && a.group?.key === n.group.key && a.group?.digest === n.group.digest && r[0].activeTransitionId === a.id && o.revision === a.entityRevision && W(o, V(a.source)) || j("World ready intention lost its current source/group fence"), await tt(e, a, t.evidence, !0);
|
|
919
919
|
let s = i[0].readySession == null ? void 0 : m(i[0].readySession);
|
|
920
920
|
if (s && J(s) === J(t.evidence) && a.revision === t.expectedRevision + 1) return a;
|
|
921
921
|
(a.revision !== t.expectedRevision || a.revision >= 2147483645) && j("World ready intention lost its phase revision");
|
|
@@ -940,7 +940,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
940
940
|
let n = [];
|
|
941
941
|
for (let t = 0; t < e.length; t++) {
|
|
942
942
|
let r = Object.getOwnPropertyDescriptor(e, t);
|
|
943
|
-
|
|
943
|
+
r && "value" in r || j("World group readiness requires own origins"), n.push(q(r.value));
|
|
944
944
|
}
|
|
945
945
|
new Set(n.map(Y)).size !== n.length && j("World ready group origins must be unique"), t = Object.freeze(n);
|
|
946
946
|
} catch {
|
|
@@ -1059,7 +1059,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
1059
1059
|
let n = /* @__PURE__ */ new Set(), r = [];
|
|
1060
1060
|
for (let t = 0; t < e.members.length; t++) {
|
|
1061
1061
|
let i = Object.getOwnPropertyDescriptor(e.members, t);
|
|
1062
|
-
|
|
1062
|
+
i && "value" in i || j("World group cancellation requires own member values");
|
|
1063
1063
|
let a = i.value;
|
|
1064
1064
|
P(a, ["origin", "expectedRevision"]);
|
|
1065
1065
|
let o = q(a.origin), s = Y(o);
|
|
@@ -1305,7 +1305,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
1305
1305
|
if (!i.length) return null;
|
|
1306
1306
|
i.length > R.maxRows && j("World group command exceeds its complete inventory budget");
|
|
1307
1307
|
let a = i.map(Z), o = S(a), s = a[0].groupCommand;
|
|
1308
|
-
return
|
|
1308
|
+
return o && s && J(s.origin) === J(t) && !a.some((e) => !e.groupCommand || J(e.groupCommand) !== J(s)) || j("World group command receipt or membership is incomplete"), Object.freeze({
|
|
1309
1309
|
command: s,
|
|
1310
1310
|
records: Object.freeze([...a].sort((e, t) => e.group.ordinal - t.group.ordinal))
|
|
1311
1311
|
});
|
|
@@ -1451,7 +1451,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
1451
1451
|
let n = yield* I(() => nt(v, e.records[0]));
|
|
1452
1452
|
return yield* Qe("completeCommand", n), yield* I(() => v.transactional(async (e) => {
|
|
1453
1453
|
let n = await lt(e, t.origin, !0);
|
|
1454
|
-
|
|
1454
|
+
n && n.records.length === t.members.length && new Set(t.members.map((e) => Y(e.origin))).size === t.members.length && n.records.every((e) => t.members.some((t) => Y(t.origin) === Y(e.origin) && t.expectedRevision === e.revision)) && (n.records.every((e) => e.phase === "settled") || n.records.every((e) => e.phase === "rolledBack")) || j("World group driving acknowledgment requires the exact complete terminal group");
|
|
1455
1455
|
let r = n.records[0].groupDriveAcknowledgedAt;
|
|
1456
1456
|
if (r !== void 0) return n.records.every((e) => e.groupDriveAcknowledgedAt === r) || j("World group driving acknowledgment is partial"), n;
|
|
1457
1457
|
n.records.some((e) => e.groupDriveAcknowledgedAt !== void 0) && j("World group driving acknowledgment is partial");
|
|
@@ -1463,7 +1463,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
1463
1463
|
}, mt = (e) => {
|
|
1464
1464
|
if (!e.some((e) => e.groupProceed)) return;
|
|
1465
1465
|
let t = S(e), n = e[0]?.groupCommand, r = e[0]?.groupProceed?.at;
|
|
1466
|
-
return
|
|
1466
|
+
return t && n && r !== void 0 && !e.some((e) => e.groupProceed?.at !== r || !e.groupCommand || J(e.groupCommand) !== J(n)) || j("World deferred readiness requires the complete original decision"), Object.freeze({
|
|
1467
1467
|
command: n,
|
|
1468
1468
|
records: Object.freeze([...e])
|
|
1469
1469
|
});
|
|
@@ -1546,7 +1546,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
1546
1546
|
});
|
|
1547
1547
|
}
|
|
1548
1548
|
let s = await lt(n, t);
|
|
1549
|
-
if (
|
|
1549
|
+
if (s && J(s.command) === J(e.command) && J(S(s.records)) === J(S(e.records)) || j("World proceed command/group changed under locks"), r(s)) return s;
|
|
1550
1550
|
let c = B();
|
|
1551
1551
|
c < s.command.waitUntil && j("World proceed cannot waive readiness before its original deadline");
|
|
1552
1552
|
for (let { record: e } of o) {
|
|
@@ -1581,9 +1581,9 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
1581
1581
|
let t = [];
|
|
1582
1582
|
for (let n = 0; n < e.members.length; n++) {
|
|
1583
1583
|
let r = Object.getOwnPropertyDescriptor(e.members, n);
|
|
1584
|
-
|
|
1584
|
+
r && "value" in r || j("World group begin requires own member data");
|
|
1585
1585
|
let i = st(r.value);
|
|
1586
|
-
|
|
1586
|
+
i.captured.expectedSubject && i.captured.tenantId === e.tenantId || j("World group begin requires every expected Subject"), t.push(i);
|
|
1587
1587
|
}
|
|
1588
1588
|
new Set(t.map((e) => e.captured.entityId)).size !== t.length && j("World group begin entities must be distinct");
|
|
1589
1589
|
let n = t[0].captured.target;
|
|
@@ -1763,7 +1763,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
1763
1763
|
let f = Z(l[0]), p = r === "target" ? "committed" : o.operation === "rollback" ? "failed" : f.mode === "portal" ? "detaching" : "switching";
|
|
1764
1764
|
(f.id !== n.id || f.phase !== p || !f.actorSnapshot && (r !== "source" || o.operation !== "rollback") || r === "target" && !f.result || c.length !== 1 || c[0].activeTransitionId !== (r === "source" ? f.id : null)) && j("World actor operation lost its phase, snapshot or active entity fence");
|
|
1765
1765
|
let m = H(c[0]);
|
|
1766
|
-
return
|
|
1766
|
+
return m.revision === f.entityRevision && W(m, V(f[r])) && m.subject?.id === f.subject?.id && m.subject?.kind === f.subject?.kind || j("World actor entity advanced beyond its transition receipt"), f;
|
|
1767
1767
|
});
|
|
1768
1768
|
}));
|
|
1769
1769
|
}, bt = (e) => {
|
|
@@ -1818,7 +1818,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
1818
1818
|
subjectId: M(e.subjectId),
|
|
1819
1819
|
subjectKind: e.subjectKind ?? "user",
|
|
1820
1820
|
credentialDigest: e.credentialDigest
|
|
1821
|
-
}),
|
|
1821
|
+
}), typeof t.credentialDigest == "string" && /^[a-f0-9]{64}$/.test(t.credentialDigest) && t.binding.sourceRoomId === t.origin.roomId && t.binding.requestId === t.origin.requestId || j("World Seat admission scope differs from its durable origin");
|
|
1822
1822
|
} catch {
|
|
1823
1823
|
return D.fail(new n({ detail: "Invalid World target Seat admission" }));
|
|
1824
1824
|
}
|
|
@@ -1937,7 +1937,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
1937
1937
|
let i = await F(e, t, !0);
|
|
1938
1938
|
i.length !== 1 && j("World projection lost its persisted entity");
|
|
1939
1939
|
let a = H(i[0]);
|
|
1940
|
-
return
|
|
1940
|
+
return a.revision === n.revision && W(a, n) || j("World projection changed ownership"), await St(e, a, i[0]), a;
|
|
1941
1941
|
});
|
|
1942
1942
|
}));
|
|
1943
1943
|
}, wt = (e) => {
|
|
@@ -2059,7 +2059,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
2059
2059
|
let i = await F(e, t, !0);
|
|
2060
2060
|
i.length !== 1 && j("World player lost its persisted entity");
|
|
2061
2061
|
let a = H(i[0]);
|
|
2062
|
-
if (
|
|
2062
|
+
if (a.revision === n.revision && W(a, n) && a.subject?.id === t.subject.id && a.subject.kind === t.subject.kind || j("World player changed identity or ownership"), i[0].activeTransitionId != null) {
|
|
2063
2063
|
let n = await e.query({
|
|
2064
2064
|
table: l,
|
|
2065
2065
|
predicate: C(w("id", i[0].activeTransitionId), w("tenantId", t.tenantId)),
|
|
@@ -2145,7 +2145,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
2145
2145
|
let l = Z(c[0]), u = H(o[0]);
|
|
2146
2146
|
(l.id !== n.id || l.entityId !== n.entityId || l.phase !== "settled" || !l.groupProceed || !l.groupCommand || J(l.groupProceed) !== J(n.groupProceed) || J(l.groupCommand) !== J(n.groupCommand) || J(l.target) !== J(n.target) || l.subject?.id !== r.subjectId || l.subject.kind !== r.subjectKind || u.subject?.id !== r.subjectId || u.subject.kind !== r.subjectKind || u.revision < l.entityRevision || !W(u, i) || o[0].activeTransitionId != null) && j("World follower lost current settled entity ownership");
|
|
2147
2147
|
let d = await lt(e, l.groupCommand.origin);
|
|
2148
|
-
|
|
2148
|
+
d && mt(d.records) && d.records.some((e) => e.id === l.id) || j("World follower lost its complete original group decision");
|
|
2149
2149
|
let f = await t(e, l), p = await F(e, {
|
|
2150
2150
|
tenantId: r.origin.tenantId,
|
|
2151
2151
|
entityId: l.entityId
|
|
@@ -2174,7 +2174,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
2174
2174
|
let e = await Q(v, t.origin);
|
|
2175
2175
|
e.length !== 1 && j("World ghost requires an actual transition");
|
|
2176
2176
|
let n = Z(e[0]);
|
|
2177
|
-
return
|
|
2177
|
+
return n.mode === "seamless" && n.phase === "ghosting" && n.actorSnapshot && n.target.roomId === t.roomId && n.target.epoch === t.epoch || j("World ghost differs from its prepared seamless target"), v.transactional(async (e) => {
|
|
2178
2178
|
await U(e, t.origin.tenantId, [V(n.source), V(n.target)]);
|
|
2179
2179
|
let r = await e.query({
|
|
2180
2180
|
table: s,
|
|
@@ -2192,7 +2192,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
2192
2192
|
}, !0), a = await Q(e, t.origin, !0);
|
|
2193
2193
|
(a.length !== 1 || i.length !== 1) && j("World ghost lost its fenced source entity");
|
|
2194
2194
|
let o = Z(a[0]), c = H(i[0]);
|
|
2195
|
-
return
|
|
2195
|
+
return o.id === n.id && o.revision === n.revision && o.phase === "ghosting" && o.mode === "seamless" && o.actorSnapshot && !o.actorFinalSnapshot && i[0].activeTransitionId === o.id && c.revision === o.entityRevision && W(c, V(o.source)) && c.subject?.id === o.subject?.id && c.subject?.kind === o.subject?.kind || j("World ghost no longer belongs to its current source transition"), o;
|
|
2196
2196
|
});
|
|
2197
2197
|
}));
|
|
2198
2198
|
}, Ot = (e) => yt(e, "target"), kt = (e, t) => yt(e, "source", !0, t), At = (e) => yt(e, "source"), jt = (e) => {
|
|
@@ -2222,7 +2222,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
2222
2222
|
}, !0), a = await Q(e, r.origin, !0);
|
|
2223
2223
|
a.length !== 1 && j("World actor snapshot lost its transition");
|
|
2224
2224
|
let o = Z(a[0]);
|
|
2225
|
-
return o.id !== t.id && j("World actor snapshot transition identity changed"), n(o) ? o : (
|
|
2225
|
+
return o.id !== t.id && j("World actor snapshot transition identity changed"), n(o) ? o : (o.phase === "reserving" && o.revision === r.expectedRevision && o.entityId === r.snapshot.entity.id && i.length === 1 && i[0].activeTransitionId === o.id && H(i[0]).revision === o.entityRevision && W(H(i[0]), V(o.source)) || j("World actor snapshot lost its reserving phase, source owner or entity fence"), await e.updateMany("_voltro_world_transitions", {
|
|
2226
2226
|
actorSnapshot: r.snapshot,
|
|
2227
2227
|
actorSnapshotRevision: r.expectedRevision
|
|
2228
2228
|
}, { where: C(w("id", o.id), w("tenantId", r.origin.tenantId), w("revision", o.revision), w("phase", "reserving")) }) !== 1 && j("World actor snapshot CAS lost its transition"), Z({
|
|
@@ -2255,7 +2255,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
2255
2255
|
a.length !== 1 && j("World portal departure lost its transition");
|
|
2256
2256
|
let o = Z(a[0]);
|
|
2257
2257
|
if (o.id !== n.id && j("World portal departure changed identity"), r(o)) return o;
|
|
2258
|
-
|
|
2258
|
+
o.mode === "portal" && o.phase === "detaching" && o.revision === t.expectedRevision && o.actorSnapshot && i.length === 1 && i[0].activeTransitionId === o.id && H(i[0]).revision === o.entityRevision && W(H(i[0]), V(o.source)) || j("World portal departure lost its source owner, snapshot or entity fence"), await Xe(e, o, !0);
|
|
2259
2259
|
let s = { actorDepartureRevision: t.expectedRevision };
|
|
2260
2260
|
return await e.updateMany("_voltro_world_transitions", s, { where: C(w("id", o.id), w("tenantId", t.origin.tenantId), w("revision", o.revision), w("phase", "detaching")) }) !== 1 && j("World portal departure lost its phase CAS"), Z({
|
|
2261
2261
|
...a[0],
|
|
@@ -2296,7 +2296,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
2296
2296
|
}, !0), o = await Q(e, i.origin, !0);
|
|
2297
2297
|
o.length !== 1 && j("World final snapshot lost its transition");
|
|
2298
2298
|
let s = Z(o[0]);
|
|
2299
|
-
return s.id !== t.id && j("World final snapshot transition identity changed"), r(s) ? s : (
|
|
2299
|
+
return s.id !== t.id && j("World final snapshot transition identity changed"), r(s) ? s : (s.mode === "seamless" && s.phase === "switching" && s.revision === i.expectedRevision && s.actorSnapshot && s.source.worldId === s.target.worldId && s.actorSnapshot.schemaHash === i.snapshot.schemaHash && s.entityId === i.snapshot.entity.id && a.length === 1 && a[0].activeTransitionId === s.id && H(a[0]).revision === s.entityRevision && W(H(a[0]), V(s.source)) || j("World final snapshot lost its switching phase, schema, source owner or entity fence"), await Xe(e, s, !0), await e.updateMany("_voltro_world_transitions", { actorFinalSnapshot: n }, { where: C(w("id", s.id), w("tenantId", i.origin.tenantId), w("revision", s.revision), w("phase", "switching")) }) !== 1 && j("World final snapshot CAS lost its transition"), Z({
|
|
2300
2300
|
...o[0],
|
|
2301
2301
|
actorFinalSnapshot: n
|
|
2302
2302
|
}));
|
|
@@ -2310,7 +2310,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
2310
2310
|
"expectedRevision",
|
|
2311
2311
|
"phase",
|
|
2312
2312
|
"failure"
|
|
2313
|
-
]),
|
|
2313
|
+
]), a.includes(e.phase) && e.phase === "failed" == (e.failure !== void 0) || j("Invalid World transition phase or failure reason"), t = Object.freeze({
|
|
2314
2314
|
origin: q(e.origin),
|
|
2315
2315
|
expectedRevision: N(e.expectedRevision),
|
|
2316
2316
|
phase: e.phase,
|
|
@@ -2341,9 +2341,9 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
2341
2341
|
"failed",
|
|
2342
2342
|
"rolledBack"
|
|
2343
2343
|
].includes(t.phase) && j("Grouped World transition forbids individual commit or cancellation"), l.id !== n.id && j("World transition identity changed during phase admission"), l.revision === t.expectedRevision + 1 && l.phase === t.phase && (t.phase !== "failed" || l.failure === t.failure)) return l;
|
|
2344
|
-
|
|
2344
|
+
l.revision === t.expectedRevision && l.revision !== 2147483647 && ee(l.mode, l.phase, t.phase) || j("World transition lost its phase revision or legal edge");
|
|
2345
2345
|
let u = B();
|
|
2346
|
-
u < l.updatedAt && j("World transition clock moved backwards"), l.phase
|
|
2346
|
+
u < l.updatedAt && j("World transition clock moved backwards"), l.phase === "committed" || s.length === 1 && s[0].activeTransitionId === l.id && H(s[0]).revision === l.entityRevision && W(H(s[0]), r) || j("World transition lost its durable source fence");
|
|
2347
2347
|
let d = l.entityRevision, f = l.result, p = l.committedAt;
|
|
2348
2348
|
if (t.phase === "detaching") {
|
|
2349
2349
|
let t = await He(e, "persist", K("persist", {
|
|
@@ -2395,14 +2395,14 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
2395
2395
|
}, It = (e) => {
|
|
2396
2396
|
let i, a, o;
|
|
2397
2397
|
try {
|
|
2398
|
-
if (
|
|
2398
|
+
if (Array.isArray(e) && Object.getPrototypeOf(e) === Array.prototype && Reflect.ownKeys(e).length === e.length + 1 && e.length || j("World commit batch requires bounded own entries"), e.length > A) throw new t({
|
|
2399
2399
|
budget: "worldTransitionBatchRows",
|
|
2400
2400
|
limit: A
|
|
2401
2401
|
});
|
|
2402
2402
|
let n = [], r = /* @__PURE__ */ new Set();
|
|
2403
2403
|
for (let t = 0; t < e.length; t++) {
|
|
2404
2404
|
let i = Object.getOwnPropertyDescriptor(e, String(t));
|
|
2405
|
-
|
|
2405
|
+
i?.enumerable && "value" in i || j("World commit batch refuses accessor entries");
|
|
2406
2406
|
let a = i.value;
|
|
2407
2407
|
P(a, ["origin", "expectedRevision"]);
|
|
2408
2408
|
let o = q(a.origin), s = N(a.expectedRevision), c = Y(o);
|
|
@@ -2460,7 +2460,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
2460
2460
|
n.some((e) => e.record.phase !== "switching" || e.record.revision !== e.input.expectedRevision) && j("World batch is not wholly ready for its original commit");
|
|
2461
2461
|
let c = s !== void 0 && R?.readiness !== void 0 || n.some((e) => e.record.group?.requiresReadiness || e.record.ready !== void 0), l = mt(n.map((e) => e.record));
|
|
2462
2462
|
if (c) {
|
|
2463
|
-
if (
|
|
2463
|
+
if (s && R?.readiness || j("World group readiness provider cannot be withdrawn before commit"), l) {
|
|
2464
2464
|
let e = await D.runPromise(D.result(ht(l)));
|
|
2465
2465
|
if (Se.isFailure(e)) throw e.failure;
|
|
2466
2466
|
await gt(v, l.records, B(), !1);
|
|
@@ -2495,7 +2495,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
2495
2495
|
}
|
|
2496
2496
|
for (let e of f) {
|
|
2497
2497
|
let t = d.get(e.record.entityId), n = H(t);
|
|
2498
|
-
|
|
2498
|
+
e.record.phase === "switching" && e.record.revision === e.input.expectedRevision && e.record.revision !== 2147483647 && n.tenantId === e.input.origin.tenantId && n.entityId === e.record.entityId && t.activeTransitionId === e.record.id && n.revision === e.record.entityRevision && W(n, V(e.record.source)) || j("World batch lost an original source/phase fence");
|
|
2499
2499
|
}
|
|
2500
2500
|
if (c) {
|
|
2501
2501
|
let t = mt(f.map((e) => e.record));
|
|
@@ -2588,7 +2588,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
2588
2588
|
projection: void 0,
|
|
2589
2589
|
lock: "update"
|
|
2590
2590
|
}), n = t[0];
|
|
2591
|
-
return
|
|
2591
|
+
return t.length === 1 && n.hostId === a.hostId && n.epoch === a.epoch && ["creating", "live"].includes(String(n.state)) && n.erasure == null && n.snapshotErasure == null || j("World recovery lost its claimed Room owner"), n;
|
|
2592
2592
|
}, d = async (t, n) => {
|
|
2593
2593
|
if ([...be.values()].filter((e) => e.instances.some((e) => e.room === n.name)).length) {
|
|
2594
2594
|
[...be.values()].some((e) => e.zones.some((e) => e.room === n.name)) && j("World recovery Room has ambiguous zone and instance declarations");
|
|
@@ -2601,7 +2601,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
2601
2601
|
projection: void 0,
|
|
2602
2602
|
lock: "update"
|
|
2603
2603
|
}), i = r[0];
|
|
2604
|
-
|
|
2604
|
+
r.length === 1 && i || j("World recovery requires one durable instance placement");
|
|
2605
2605
|
let o = z(M(i.worldId, 120)), s = N(i.epoch);
|
|
2606
2606
|
return (!o.instances.some((e) => e.id === i.instance && e.room === n.name) || ![
|
|
2607
2607
|
"creating",
|
|
@@ -2654,7 +2654,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
2654
2654
|
});
|
|
2655
2655
|
for (let e of i) {
|
|
2656
2656
|
let t = H(e);
|
|
2657
|
-
|
|
2657
|
+
t.tenantId === a.tenantId && t.roomId === a.roomId && [n, a.epoch].includes(t.epoch) || j("World recovery entity escaped its claimed scope");
|
|
2658
2658
|
}
|
|
2659
2659
|
return i;
|
|
2660
2660
|
};
|
|
@@ -2710,7 +2710,7 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
2710
2710
|
let t = await u(e), { cell: n, epoch: r, instance: i, table: o } = await d(e, t), s = await f(e, r, !0), c = B();
|
|
2711
2711
|
for (let o of s) {
|
|
2712
2712
|
let s = H(o);
|
|
2713
|
-
if (
|
|
2713
|
+
if (s.worldId === n.worldId && (i || s.zoneId === n.zoneId && s.cellId === n.cellId && s.layer === n.layer) || j("World recovery requires matching cells and reconciled transitions"), s.epoch === a.epoch) continue;
|
|
2714
2714
|
(o.activeTransitionId !== null || s.epoch !== r || s.revision === 2147483647 || c < s.updatedAt || t.state !== "creating") && j("World entity recovery lost its prior revision or unpublished owner");
|
|
2715
2715
|
let l = Object.freeze({
|
|
2716
2716
|
...s,
|
|
@@ -2867,12 +2867,12 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
2867
2867
|
subjectKind: n?.kind ?? null,
|
|
2868
2868
|
updatedAt: new Date(t.updatedAt)
|
|
2869
2869
|
}));
|
|
2870
|
-
return
|
|
2870
|
+
return e.tenantId === i.tenantId && e.entityId === i.entityId && e.revision === i.revision && e.subjectId === n?.id && e.subjectKind === n?.kind && [
|
|
2871
2871
|
"create",
|
|
2872
2872
|
"persist",
|
|
2873
2873
|
"transfer",
|
|
2874
2874
|
"recover"
|
|
2875
|
-
].includes(String(e.operation))
|
|
2875
|
+
].includes(String(e.operation)) || j("Contradictory World journal scope"), Object.freeze({
|
|
2876
2876
|
operation: e.operation,
|
|
2877
2877
|
snapshot: i
|
|
2878
2878
|
});
|
|
@@ -2962,19 +2962,18 @@ var M = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
2962
2962
|
onErase: e.onErase.bind(e),
|
|
2963
2963
|
onExport: e.onExport.bind(e)
|
|
2964
2964
|
}), Ne = (e, t) => {
|
|
2965
|
-
|
|
2965
|
+
t && typeof t.persistBatchFromCommand == "function" || j("World entity persistence command requires an actual source");
|
|
2966
2966
|
let n = M(e), r = t.persistBatchFromCommand.bind(t);
|
|
2967
2967
|
return Object.freeze({
|
|
2968
2968
|
run: Object.freeze({ [n]: (e, t) => r(e, t) }),
|
|
2969
2969
|
publish: Object.freeze({})
|
|
2970
2970
|
});
|
|
2971
2971
|
}, L = (e, t) => {
|
|
2972
|
-
|
|
2972
|
+
t && typeof t.transferFromCommand == "function" || j("World entity transfer command requires an actual source");
|
|
2973
2973
|
let n = M(e), r = t.transferFromCommand.bind(t);
|
|
2974
2974
|
return Object.freeze({
|
|
2975
2975
|
run: Object.freeze({ [n]: (e, t) => r(e, t) }),
|
|
2976
2976
|
publish: Object.freeze({})
|
|
2977
2977
|
});
|
|
2978
2978
|
};
|
|
2979
|
-
//#endregion
|
|
2980
2979
|
export { O as WORLD_ENTITIES_TABLE, k as WORLD_JOURNAL_TABLE, je as dataStoreWorldEntities, Me as worldEntitiesContribution, we as worldEntitiesTable, Ne as worldEntityPersistenceCommandBindings, A as worldEntityTables, L as worldEntityTransferCommandBindings, Te as worldJournalTable, Ee as worldTransitionTables };
|
package/dist/worldEntityCodec.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RoomAuthoringError as e } from "./errors.js";
|
|
2
2
|
import { RoomStateCodec as t } from "./stateCodec.js";
|
|
3
3
|
import { Schema as n } from "effect";
|
|
4
|
-
|
|
4
|
+
// src/worldEntityCodec.ts
|
|
5
5
|
var r = (r, i = {}) => {
|
|
6
6
|
let a = () => {
|
|
7
7
|
throw new e({
|
|
@@ -17,5 +17,4 @@ var r = (r, i = {}) => {
|
|
|
17
17
|
let u = l.indexSignatures[0];
|
|
18
18
|
return u.parameter._tag === "String" ? new t(n.make(u.type), i) : a();
|
|
19
19
|
};
|
|
20
|
-
//#endregion
|
|
21
20
|
export { r as roomWorldEntityCodec };
|
|
@@ -3,7 +3,7 @@ import { simulationOwnData as n } from "./simulationAuthoring.js";
|
|
|
3
3
|
import { captureWorldData as r } from "./worldData.js";
|
|
4
4
|
import { encodeRoomFrame as i } from "./wire.js";
|
|
5
5
|
import { Result as a } from "effect";
|
|
6
|
-
|
|
6
|
+
// src/worldEntityHandoffView.ts
|
|
7
7
|
var o = () => new t({ detail: "Entity handoff presentation requires bounded exact delivered views" }), s = (e) => typeof e == "string" && /^[A-Za-z0-9][A-Za-z0-9_.:-]{0,190}$/.test(e), c = (t) => {
|
|
8
8
|
let c = [
|
|
9
9
|
"maxEntities",
|
|
@@ -150,5 +150,4 @@ var o = () => new t({ detail: "Entity handoff presentation requires bounded exac
|
|
|
150
150
|
close: A
|
|
151
151
|
});
|
|
152
152
|
};
|
|
153
|
-
//#endregion
|
|
154
153
|
export { c as makeWorldEntityHandoffView };
|
package/dist/worldGeometry.js
CHANGED
|
@@ -4,7 +4,7 @@ import { captureGeometryEditStrategies as n } from "./geometryEdits.js";
|
|
|
4
4
|
import { captureGeometryDerivationStrategies as r } from "./geometryDerivationStrategies.js";
|
|
5
5
|
import { defaultGeometryMigrateDelta as i } from "./geometryMigrationStrategies.js";
|
|
6
6
|
import { captureGeometryCompactionStrategies as a } from "./geometryCompactionStrategies.js";
|
|
7
|
-
|
|
7
|
+
// src/worldGeometry.ts
|
|
8
8
|
var o = /* @__PURE__ */ new WeakSet(), s = /* @__PURE__ */ new WeakMap();
|
|
9
9
|
function c() {
|
|
10
10
|
throw new e({
|
|
@@ -166,5 +166,4 @@ var l = (e, t = 96) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A-
|
|
|
166
166
|
});
|
|
167
167
|
return s.set(Q, o), Q;
|
|
168
168
|
};
|
|
169
|
-
//#endregion
|
|
170
169
|
export { g as captureGeometrySource, x as captureWorldGeometry, p as cmsGeometry, m as importedGeometry, h as procedural };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ProtocolError as e } from "./errors.js";
|
|
2
2
|
import { captureRoomTransportDataMethod as t } from "./transportAuthoring.js";
|
|
3
|
-
|
|
3
|
+
// src/worldGhostAdmission.ts
|
|
4
4
|
var n = () => new e({ detail: "World ghost connection admission refused" }), r = (e, r) => {
|
|
5
5
|
let i = [
|
|
6
6
|
"carrier",
|
|
@@ -61,5 +61,4 @@ var n = () => new e({ detail: "World ghost connection admission refused" }), r =
|
|
|
61
61
|
}))
|
|
62
62
|
});
|
|
63
63
|
};
|
|
64
|
-
//#endregion
|
|
65
64
|
export { r as makeWorldGhostAdmission };
|
|
@@ -6,7 +6,7 @@ import { ROOMS_TABLE as i, ROOM_HOSTS_TABLE as a } from "./identities.js";
|
|
|
6
6
|
import { WORLD_CELLS_TABLE as o } from "./worldCells.js";
|
|
7
7
|
import { and as s, eq as c } from "@voltro/database";
|
|
8
8
|
import { Effect as l } from "effect";
|
|
9
|
-
|
|
9
|
+
// src/worldGhostDestination.ts
|
|
10
10
|
function u() {
|
|
11
11
|
throw new e({ detail: "World ghost destination is not currently admitted" });
|
|
12
12
|
}
|
|
@@ -60,7 +60,7 @@ var d = (e) => typeof e == "string" && e.length > 0 && e.length <= 191 && e.trim
|
|
|
60
60
|
return Object.freeze({ resolve: (t) => {
|
|
61
61
|
let a;
|
|
62
62
|
try {
|
|
63
|
-
a = n(t, 4096),
|
|
63
|
+
a = n(t, 4096), a && a.tenantId === g && a.state === "live" && a.hostId !== null || u();
|
|
64
64
|
for (let e of [
|
|
65
65
|
a.id,
|
|
66
66
|
a.worldId,
|
|
@@ -80,7 +80,7 @@ var d = (e) => typeof e == "string" && e.length > 0 && e.length <= 191 && e.trim
|
|
|
80
80
|
return l.uninterruptible(l.tryPromise({
|
|
81
81
|
try: async () => {
|
|
82
82
|
let e = x(a);
|
|
83
|
-
|
|
83
|
+
l.isEffect(e) && await l.runPromise(e) === void 0 || u();
|
|
84
84
|
let t = async () => {
|
|
85
85
|
let e = await C(o, s(c("id", a.id), c("tenantId", g)));
|
|
86
86
|
for (let t of [
|
|
@@ -114,5 +114,4 @@ var d = (e) => typeof e == "string" && e.length > 0 && e.length <= 191 && e.trim
|
|
|
114
114
|
}));
|
|
115
115
|
} });
|
|
116
116
|
};
|
|
117
|
-
//#endregion
|
|
118
117
|
export { p as dataStoreWorldGhostDestination };
|
|
@@ -4,7 +4,7 @@ import { captureWorldData as n } from "./worldData.js";
|
|
|
4
4
|
import { captureRoomTransportDataMethod as r } from "./transportAuthoring.js";
|
|
5
5
|
import { gatewayRoomTransport as i } from "./transport.js";
|
|
6
6
|
import { defineWebSocket as a } from "@voltro/protocol";
|
|
7
|
-
|
|
7
|
+
// src/worldGhostGateway.ts
|
|
8
8
|
var o = () => new e({ detail: "World ghost gateway acquisition remains incomplete" }), s = (e, s) => {
|
|
9
9
|
let c = [
|
|
10
10
|
"path",
|
|
@@ -128,5 +128,4 @@ var o = () => new e({ detail: "World ghost gateway acquisition remains incomplet
|
|
|
128
128
|
})
|
|
129
129
|
});
|
|
130
130
|
};
|
|
131
|
-
//#endregion
|
|
132
131
|
export { s as makeWorldGhostGateway };
|
|
@@ -7,7 +7,7 @@ import { RoomControlTargetSchema as a } from "./controlCarrier.js";
|
|
|
7
7
|
import { Schema as o } from "effect";
|
|
8
8
|
import { randomUUID as s } from "node:crypto";
|
|
9
9
|
import { signSession as c, verifySessionKeyed as l } from "@voltro/protocol/session";
|
|
10
|
-
|
|
10
|
+
// src/worldGhostHandshake.ts
|
|
11
11
|
var u = o.NonEmptyString.pipe(o.check(o.isMaxLength(191))), d = o.Int.pipe(o.check(o.isGreaterThan(0))), f = o.Struct({
|
|
12
12
|
source: a,
|
|
13
13
|
target: a,
|
|
@@ -104,5 +104,4 @@ var h = (e) => {
|
|
|
104
104
|
}
|
|
105
105
|
});
|
|
106
106
|
};
|
|
107
|
-
//#endregion
|
|
108
107
|
export { h as makeWorldGhostHandshake };
|
package/dist/worldGhostHost.js
CHANGED
|
@@ -2,7 +2,7 @@ import { ProtocolError as e } from "./errors.js";
|
|
|
2
2
|
import { captureWorldData as t } from "./worldData.js";
|
|
3
3
|
import { makeWorldGhostReceiver as n } from "./worldGhostReceiver.js";
|
|
4
4
|
import { Effect as r } from "effect";
|
|
5
|
-
|
|
5
|
+
// src/worldGhostHost.ts
|
|
6
6
|
var i = (i, a) => {
|
|
7
7
|
let o = [
|
|
8
8
|
"tenantId",
|
|
@@ -38,5 +38,4 @@ var i = (i, a) => {
|
|
|
38
38
|
});
|
|
39
39
|
return i.ownWorldGhostReceiver(s.roomId, c, s.epoch, f, a.ttlMs);
|
|
40
40
|
};
|
|
41
|
-
//#endregion
|
|
42
41
|
export { i as makeRoomWorldGhostReceiver };
|
|
@@ -5,7 +5,7 @@ import { captureWorldGhostWithdrawal as r } from "./worldGhostReceiver.js";
|
|
|
5
5
|
import { makeWorldGhostWireCodec as i } from "./worldGhostWire.js";
|
|
6
6
|
import { Effect as a } from "effect";
|
|
7
7
|
import { createHash as o } from "node:crypto";
|
|
8
|
-
|
|
8
|
+
// src/worldGhostIngress.ts
|
|
9
9
|
var s = () => new e({ detail: "World ghost ingress remains incomplete" }), c = (e, c) => {
|
|
10
10
|
let l = [
|
|
11
11
|
"state",
|
|
@@ -128,5 +128,4 @@ var s = () => new e({ detail: "World ghost ingress remains incomplete" }), c = (
|
|
|
128
128
|
})
|
|
129
129
|
});
|
|
130
130
|
};
|
|
131
|
-
//#endregion
|
|
132
131
|
export { c as bindWorldGhostIngress };
|
|
@@ -2,7 +2,7 @@ import { BudgetExceeded as e, ProtocolError as t } from "./errors.js";
|
|
|
2
2
|
import { captureWorldData as n } from "./worldData.js";
|
|
3
3
|
import { worldBoundsShareEdge as r } from "./worldTransitions.js";
|
|
4
4
|
import { captureWorldCatalog as i, worldCellAt as a } from "./world.js";
|
|
5
|
-
|
|
5
|
+
// src/worldGhostNeighborhood.ts
|
|
6
6
|
var o = (o) => {
|
|
7
7
|
let s = () => {
|
|
8
8
|
throw new t({ detail: "World ghost neighborhood requires bounded declared coordinates" });
|
|
@@ -66,5 +66,4 @@ var o = (o) => {
|
|
|
66
66
|
return m.sort((e, t) => (e.cell.zone < t.cell.zone ? -1 : +(e.cell.zone > t.cell.zone)) || e.cell.row - t.cell.row || e.cell.column - t.cell.column), Object.freeze(m);
|
|
67
67
|
};
|
|
68
68
|
};
|
|
69
|
-
//#endregion
|
|
70
69
|
export { o as makeWorldGhostNeighborhood };
|