crowdypy 0.6.0.dev1__tar.gz → 0.7.0.dev1__tar.gz
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.
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/MIGRATION.md +21 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/PKG-INFO +7 -1
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/README.md +6 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/docs/compatibility.md +1 -1
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/docs/e2e-coverage.md +2 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/docs/parity-matrix.md +24 -4
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/apps/App.graphql +1 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/apps/AppBySlug.graphql +1 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/apps/AppsForOrg.graphql +1 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/apps/CreateApp.graphql +1 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/apps/MyApps.graphql +1 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/apps/UpdateApp.graphql +1 -0
- crowdypy-0.7.0.dev1/operations/inputLog/InputLogMessages.graphql +43 -0
- crowdypy-0.7.0.dev1/operations/inputLog/InputLogSessions.graphql +32 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/pyproject.toml +9 -9
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/schema.gql +528 -1
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/__init__.py +4 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_generated/enums.py +32 -1
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_generated/inputs.py +37 -3
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_generated/operations.py +26 -8
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/client.py +2 -0
- crowdypy-0.7.0.dev1/src/crowdypy/_sync/domains/input_log.py +80 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_version.py +1 -1
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/client.py +2 -0
- crowdypy-0.7.0.dev1/src/crowdypy/domains/input_log.py +79 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/player_host/schemas.v1.json +2 -2
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/e2e/conftest.py +46 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/fixtures/player-host.v1.json +2 -2
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/domains/test_world_domains.py +21 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_sdk_audience.py +6 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tools/e2e/provision.py +32 -1
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tools/parity/classifications.toml +15 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/uv.lock +1 -1
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/CMakeLists.txt +1 -1
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/PROVENANCE.md +1 -1
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/client.hpp +3 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/world_data.hpp +70 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/generated/enums.hpp +87 -2
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/generated/operations.hpp +169 -2
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/package.json +7 -6
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/client.cpp +2 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/crowdy-studio-diagnostics.v1.json +2 -2
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/crowdyjs-studio-layout.v1.json +2 -2
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/.gitattributes +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/.gitignore +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/.gitleaks.toml +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/AGENTS.md +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/CMakeLists.txt +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/LICENSE +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/SECURITY.md +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/benchmarks/README.md +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/benchmarks/bench_replication.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/licenses/OpenSSL-LICENSE.txt +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/native/common.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/native/module.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/native/replication.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/native/replication_binding.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/native/session_binding.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/native/wire_binding.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/actors/Actor.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/actors/Actors.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/actors/BatchLookupActors.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/actors/CreateActor.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/actors/DeleteActor.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/actors/UpdateActor.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/actors/UpdateActorState.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/appAccess/AppAccessTiers.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/appAccess/AppFeatures.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/appAccess/AppGrantMemberCandidates.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/appAccess/AppUserAccessByApp.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/appAccess/ArchiveAccessTier.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/appAccess/ClaimFreeAppAccess.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/appAccess/CreateAccessTier.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/appAccess/DefineAppFeature.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/appAccess/GrantAppAccess.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/appAccess/GrantMyAppAccess.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/appAccess/GrantTierFeature.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/appAccess/MyAppAccess.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/appAccess/RevokeAppAccess.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/appAccess/RevokeTierFeature.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/appAccess/RuntimePermissions.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/appAccess/TierFeatures.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/appAccess/UpdateAccessTier.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/apps/AppDiscovery.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/apps/ArchiveApp.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/apps/CodeAdmissions.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/apps/MarketplaceApps.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/apps/PlaceableDatacenters.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/auth/Logout.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/auth/LogoutAllDevices.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/avatars/Avatars.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/billing/AppBudget.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/billing/AppBudgets.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/billing/SetAppBudget.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/billing/WalletBalance.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/billing/WalletTransactions.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/AddChannelMember.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/Channel.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/ChannelMembers.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/ChannelPolicy.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/ChannelRoles.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/Channels.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/CreateChannel.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/CreateChannelRole.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/DeleteChannel.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/DeleteChannelRole.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/JoinChannel.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/LeaveChannel.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/MyChannels.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/RemoveChannelMember.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/RequestToJoinChannel.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/SetChannelMemberRoles.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/SetChannelPolicy.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/UpdateChannel.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/channels/UpdateChannelRole.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/chunks/GetChunk.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/chunks/GetChunkLods.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/chunks/GetChunksByDistance.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/chunks/GetVoxelList.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/chunks/UpdateChunk.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/chunks/UpdateChunkLods.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/chunks/UpdateChunkState.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/crowdyStudio/CrowdyStudio.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/exec/Exec.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/gameApps/GameApps.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/grids/CreateGridChannel.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/grids/GridChannels.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/grids/MintGridToken.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/host/Host.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/marketplace/Marketplace.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/organizations/CreateOrgRole.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/organizations/CreateOrgToken.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/organizations/CreateOrganization.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/organizations/DeleteOrgRole.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/organizations/InviteOrgMember.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/organizations/MemberRoles.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/organizations/MyOrganizations.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/organizations/OrgMembers.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/organizations/OrgPermissions.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/organizations/OrgRoles.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/organizations/OrgTokens.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/organizations/Organization.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/organizations/OrganizationBySlug.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/organizations/RemoveOrgMember.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/organizations/RevokeOrgToken.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/organizations/UpdateOrgMemberRoles.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/organizations/UpdateOrgRole.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/organizations/UpdateOrgToken.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/payments/CapturePaypalCheckout.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/payments/CreateCheckout.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/payments/MyCheckouts.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/platform/PlatformConfig.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/playerWallet/PlayerWallet.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/quotas/DeleteQuota.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/quotas/EffectiveQuota.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/quotas/QuotasForApp.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/quotas/QuotasForOrg.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/quotas/SetQuota.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/serverStatus/ActiveGraphQLServers.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/serverStatus/GameClientBootstrap.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/serverStatus/GraphqlServers.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/serverStatus/ServerWithLeastClients.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/serverStatus/VersionInfo.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/sharedEnvironment/SharedEnvironment.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/state/DeleteUserAppState.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/state/UpdateUserAppState.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/state/UserAppState.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/state/UserAppStates.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/AddTeamMember.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/CreateTeam.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/CreateTeamRole.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/DeleteTeam.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/DeleteTeamRole.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/JoinTeam.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/LeaveTeam.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/MyTeams.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/RemoveTeamMember.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/RequestToJoinTeam.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/SetTeamMemberRoles.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/SetTeamPolicy.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/Team.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/TeamMembers.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/TeamPolicy.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/TeamRoles.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/Teams.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/UpdateTeam.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teams/UpdateTeamRole.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/teleport/TeleportRequest.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/usage/AppGraphqlOperations.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/usage/AppUsageSummary.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/usage/PlayerPulse.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/users/DeleteMyAccount.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/users/FreePlayWindow.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/users/Me.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/users/UpdateGamertag.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/users/UpdateUserState.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/users/User.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/voxels/ListVoxelUpdatesByDistance.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/voxels/ListVoxels.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/voxels/RollbackVoxelUpdates.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/voxels/UpdateVoxel.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/operations/voxels/VoxelUpdateHistory.graphql +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/scripts/_pins.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/scripts/ci/assert_default_origin.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/scripts/ci/build_openssl.sh +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/scripts/ci/check_content_policy.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/scripts/ci/check_pin_tiers.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/scripts/ci/cibw_before_all_linux.sh +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/scripts/ci/resolve-release-tier.sh +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/scripts/ci/resolve-release-tier.test.sh +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/scripts/ci/resolve_pypi_version.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/scripts/ci/stamp_version.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/scripts/ci/verify_artifacts.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/scripts/codegen.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/scripts/schema_drift.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/scripts/schema_sync.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/scripts/unasync.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/scripts/vendor_crowdycpp.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_concurrency.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_default_origin.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_generated/__init__.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_grid.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_native.pyi +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_operation.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/__init__.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/__init__.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/_base.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/actors.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/admin.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/app_access.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/apps.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/auth.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/avatars.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/billing.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/channels.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/chunks.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/crowdy_studio.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/crowdy_studio_agent.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/crowdy_studio_github.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/discovery.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/exec.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/game_apps.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/grids.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/host.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/marketplace.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/organizations.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/payments.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/platform.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/player_wallet.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/portal.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/quotas.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/server_status.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/shared_environment.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/state.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/teams.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/teleport.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/udp.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/usage.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/users.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/domains/voxels.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/graphql.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/grid_scope.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/kit/__init__.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/kit/actions.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/kit/kit.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/kit/social.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/kit/wire.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/rediscover.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/stores.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/_sync/world.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/auth_state.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/codecs.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/datacenter_redirect.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/__init__.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/_base.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/actors.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/admin.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/app_access.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/apps.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/auth.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/avatars.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/billing.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/channels.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/chunks.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/crowdy_studio.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/crowdy_studio_agent.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/crowdy_studio_github.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/discovery.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/exec.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/game_apps.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/grids.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/host.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/marketplace.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/organizations.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/payments.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/platform.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/player_wallet.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/portal.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/quotas.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/server_status.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/shared_environment.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/state.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/teams.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/teleport.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/udp.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/usage.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/users.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/domains/voxels.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/enums.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/errors.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/estate.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/exec_gateway.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/graphql.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/grid_scope.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/inputs.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/kit/__init__.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/kit/actions.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/kit/kit.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/kit/social.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/kit/wire.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/lb_cookie.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/media.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/pkce.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/player_host/__init__.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/player_host/agent_errors.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/player_host/agent_types.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/player_host/json_schema.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/player_host/schemas.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/player_host/types.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/py.typed +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/rediscover.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/replication.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/session.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/stores.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/studio/__init__.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/studio/client_tick_interval.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/studio/controller.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/studio/diagnostics.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/studio/github_new_repo.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/studio/layout.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/studio/models.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/studio/starter_projects.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/subscriptions.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/sync.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/utils.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/wire.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/src/crowdypy/world.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/conftest.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/e2e/__init__.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/e2e/test_e2e_identity.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/e2e/test_e2e_open_grid_exec_gateway.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/e2e/test_e2e_ranged_channel.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/e2e/test_e2e_replication.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/e2e/test_e2e_studio.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/e2e/test_e2e_world.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/e2e/test_e2e_world_data.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/fixtures/README.md +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/fixtures/binary-wire-fixtures.json +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/fixtures/exec-client-frames.json +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/__init__.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/domains/__init__.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/domains/test_crowdycpp_roots.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/domains/test_org_domains.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/domains/test_social_domains.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/domains/test_studio_exec_domains.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_core.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_durable_stores.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_estate_moves.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_exec_gateway.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_fixture_provenance.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_grid_scope.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_kit.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_lazy_exports.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_player_host.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_release_versions.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_replication.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_studio_controller.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_studio_diagnostics.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_studio_layout.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_subscriptions.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_transport.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_udp_api.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_wire.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tests/unit/test_world_session.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tools/fixtures/player_host.mjs +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/tools/parity/parity.py +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/LICENSE +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/cmake/CheckPublicHeaders.cmake +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/cmake/CrowdyCPPConfig.cmake.in +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/cmake/studio_layout_fixture.hpp.in +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/base64.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/bytes.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/clock.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/crypto.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/logger.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/result.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/spsc.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/uuid.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/crowdy.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/default_origin.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/admin.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/auth.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/crowdy_studio.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/crowdy_studio_agent.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/crowdy_studio_github.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/discovery.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/domain_base.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/exec.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/game_apps.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/grids.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/groups.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/marketplace.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/player_wallet.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/portal.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/realtime_control.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/server_status.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/types.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/users.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/async_scope.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/auth_state.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/datacenter_redirect.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/dispatcher.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/errors.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/estate.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/graphql_client.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/http.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/json.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/rediscover.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/subscription_client.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/websocket.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/actions.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/kit.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/social.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/wire.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/media/video_frames.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/adapter.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/player_host.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/schemas.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/types.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/replication/connection.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/replication/session_provider.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/replication/types.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/replication/udp_socket.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/chunk_store.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/codec.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/durable.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/keys.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/stores.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/world_session.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/controller.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/diagnostics.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/editor.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/github.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/github_layout.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/integration.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/layout.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/models.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/runtime.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/wire/codec.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/wire/protocol.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/include/crowdy/world.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/core/base64.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/core/clock.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/core/crypto_default_unavailable.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/core/crypto_openssl.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/core/crypto_unavailable.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/core/logger.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/core/uuid.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/domains/exec.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/graphql/async_transport.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/graphql/auth_state.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/graphql/error_extensions.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/graphql/errors.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/graphql/graphql_client.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/graphql/http_curl.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/graphql/http_none.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/graphql/json.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/graphql/subscription_client.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/graphql/websocket_curl.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/graphql/websocket_none.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/player_host/schemas.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/player_host/types.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/replication/connection.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/replication/socket_errors.hpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/replication/udp_socket.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/session/world_session.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/studio/diagnostics.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/studio/editor.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/src/studio/integration.cpp +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/third_party/yyjson/LICENSE +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/third_party/yyjson/yyjson.c +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/third_party/yyjson/yyjson.h +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/exec-client-frames.json +0 -0
- {crowdypy-0.6.0.dev1 → crowdypy-0.7.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/exec-gateway-cases.json +0 -0
|
@@ -3,6 +3,27 @@
|
|
|
3
3
|
CrowdyPy is pre-1.0. Within a minor line, patch releases keep source compatibility; each
|
|
4
4
|
new minor may change the API. Read the section for every minor you skip.
|
|
5
5
|
|
|
6
|
+
## 0.7.0
|
|
7
|
+
|
|
8
|
+
CrowdyJS 18.6.0 and CrowdyCPP 0.59.0. Additive.
|
|
9
|
+
|
|
10
|
+
- **The input log.** An app with replay logging on has every client input the realtime
|
|
11
|
+
servers accept recorded. `client.input_log.sessions(app_id, *, first=, after=, filter=)`
|
|
12
|
+
lists the app's recorded sessions, newest first (`edges`, `pageInfo`, `totalCount`; a
|
|
13
|
+
session is one game token's inputs), and `client.input_log.messages(app_id, game_token_id,
|
|
14
|
+
*, first=, after=, filter=)` reads one session's inputs, oldest first. `body` is the client
|
|
15
|
+
message in base64 without its authentication tail (`decode_base64` gives the bytes), and
|
|
16
|
+
`sizeBytes` is what stored input logs are billed on. Keep paging while
|
|
17
|
+
`pageInfo.hasNextPage` is true: a page can be short, or empty, when it reached the server's
|
|
18
|
+
time or scan limit. Both are game plane (the app-scoped client). A player reads their own
|
|
19
|
+
sessions, and a holder of `manage_apps` reads every one; without it, listing another
|
|
20
|
+
user's sessions is `FORBIDDEN` and reading another user's session is `NOT_FOUND`. Both
|
|
21
|
+
answer `INPUT_LOG_UNAVAILABLE` on a deployment without input logging, and `messages` also
|
|
22
|
+
answers it, retryable with the same cursor, when the log cannot be read right now.
|
|
23
|
+
- **`replayLoggingEnabled`** is selected on every app read. Turning it on with
|
|
24
|
+
`client.apps.update` is refused with `INPUT_LOG_FUNDS_NEEDED` unless the org's wallet has a
|
|
25
|
+
spendable balance or the org is exempt from billing.
|
|
26
|
+
|
|
6
27
|
## 0.6.0
|
|
7
28
|
|
|
8
29
|
CrowdyJS 18.5.0 and CrowdyCPP 0.58.0. Additive.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crowdypy
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.0.dev1
|
|
4
4
|
Summary: Official Python SDK for Crowded Kingdoms: typed GraphQL clients and a native UDP replication core
|
|
5
5
|
Keywords: crowded-kingdoms,multiplayer,replication,graphql,sdk,udp
|
|
6
6
|
Author: Crowded Kingdoms
|
|
@@ -51,6 +51,12 @@ CrowdyPy follows the [CrowdyJS](https://github.com/CrowdedKingdoms/CrowdyJS) API
|
|
|
51
51
|
client, bound with [nanobind](https://github.com/wjakob/nanobind) and shipped inside the
|
|
52
52
|
wheel. Python never touches a datagram.
|
|
53
53
|
|
|
54
|
+
**v0.7.0: the input log (CrowdyJS 18.6.0, CrowdyCPP 0.59.0).**
|
|
55
|
+
- `client.input_log.sessions(app_id)` and `messages(app_id, game_token_id)` read the client
|
|
56
|
+
inputs recorded for an app with replay logging on (`replayLoggingEnabled`, now on every app
|
|
57
|
+
read and set with `client.apps.update`). A player reads their own; `manage_apps` reads every
|
|
58
|
+
session. Keep paging while `pageInfo.hasNextPage` is true: a messages page can be short.
|
|
59
|
+
|
|
54
60
|
**v0.6.0: distance-limited channel messages and the terms gate (CrowdyJS 18.5.0, CrowdyCPP 0.58.0).**
|
|
55
61
|
- `client.udp.send_ranged_channel_message(..., chunk=, max_distance=)` publishes to a channel
|
|
56
62
|
but reaches only the members whose own actor is within `max_distance` chunks of `chunk`,
|
|
@@ -11,6 +11,12 @@ CrowdyPy follows the [CrowdyJS](https://github.com/CrowdedKingdoms/CrowdyJS) API
|
|
|
11
11
|
client, bound with [nanobind](https://github.com/wjakob/nanobind) and shipped inside the
|
|
12
12
|
wheel. Python never touches a datagram.
|
|
13
13
|
|
|
14
|
+
**v0.7.0: the input log (CrowdyJS 18.6.0, CrowdyCPP 0.59.0).**
|
|
15
|
+
- `client.input_log.sessions(app_id)` and `messages(app_id, game_token_id)` read the client
|
|
16
|
+
inputs recorded for an app with replay logging on (`replayLoggingEnabled`, now on every app
|
|
17
|
+
read and set with `client.apps.update`). A player reads their own; `manage_apps` reads every
|
|
18
|
+
session. Keep paging while `pageInfo.hasNextPage` is true: a messages page can be short.
|
|
19
|
+
|
|
14
20
|
**v0.6.0: distance-limited channel messages and the terms gate (CrowdyJS 18.5.0, CrowdyCPP 0.58.0).**
|
|
15
21
|
- `client.udp.send_ranged_channel_message(..., chunk=, max_distance=)` publishes to a channel
|
|
16
22
|
but reaches only the members whose own actor is within `max_distance` chunks of `chunk`,
|
|
@@ -5,7 +5,7 @@ are in `pyproject.toml` (`[project].version`, `[tool.crowdypy.crowdyjs]`,
|
|
|
5
5
|
`[tool.crowdypy.crowdycpp]`); `tests/unit/test_release_versions.py` refuses this page when
|
|
6
6
|
its version disagrees.
|
|
7
7
|
|
|
8
|
-
- CrowdyPy `0.
|
|
8
|
+
- CrowdyPy `0.7.0`
|
|
9
9
|
- API surface: CrowdyJS (the pinned version and commit in `pyproject.toml`); the generated
|
|
10
10
|
`docs/parity-matrix.md` lists every covered method, every native equivalent and every
|
|
11
11
|
browser exclusion with its reason. The gate is strict: there are no portable gaps, and a
|
|
@@ -18,6 +18,7 @@ Unconfigured, every suite skips, so `pytest` in CI records skips, not live passe
|
|
|
18
18
|
| `CROWDY_E2E_STUDIO_GRID_ID` | no | a grid in the app that the owner controls (Studio suite) |
|
|
19
19
|
| `CROWDY_E2E_SLOW=1` | no | long-running suites |
|
|
20
20
|
| `CROWDY_E2E_THROWAWAY_OWNER=1` | no | the open-grid suite registers a throwaway owner, org and app (archived afterwards) |
|
|
21
|
+
| `CROWDY_E2E_PROVISIONING_TOKEN` | dev and test | dev and test are staff-only, so a new derived player is refused (`TIER_ACCESS_REQUIRED`) unless `register` carries a provisioning token covering its address. Use the `harness` token (Secrets Manager `infra-cp/<tier>/loadtest/provisioning-token-harness`, `token` key) with `CROWDY_E2E_EMAIL=crowdy-e2e@test.invalid`. Sent on `register` only; other tiers ignore it |
|
|
21
22
|
|
|
22
23
|
```bash
|
|
23
24
|
pytest tests/e2e -q
|
|
@@ -54,6 +55,7 @@ player once and signs it in for the later suites.
|
|
|
54
55
|
| 2026-10-01 | dev tier, app `96701660793088` | `crowdypy 0.4.1.dev1` from PyPI (`pip install crowdypy` in a clean Python 3.12; the first version published by trusted publishing) | 8 passed; Studio skipped |
|
|
55
56
|
| 2026-10-01 | dev tier, app `96701660793088`; the open-grid suite in its own throwaway org and app (`CROWDY_E2E_THROWAWAY_OWNER=1`) | `crowdypy 0.5.0.dev1` from PyPI (`pip install crowdypy` in a clean Python 3.12) | 10 passed; Studio skipped |
|
|
56
57
|
| 2026-10-08 | local stack: ck-api at the distance-limited channel branch (off `dev`), two replication servers serving message type 32, the 3-node Citus lab | 0.6.0 (branch) | identity, ranged channel, replication, world and world data suites: 10 passed |
|
|
58
|
+
| 2026-10-09 | dev tier, app `96701660793088`, after replication server v0.35.0 and ck-api v2.38.0 reached dev | `crowdypy 0.6.0.dev1` from PyPI (installed into a clean Python 3.12 with uv) | identity (incl. the terms gate), ranged channel, replication, world and world data suites: 10 passed |
|
|
57
59
|
|
|
58
60
|
## Not covered here
|
|
59
61
|
|
|
@@ -4,17 +4,17 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
4
4
|
|
|
5
5
|
## Target
|
|
6
6
|
|
|
7
|
-
- CrowdyJS: `18.
|
|
8
|
-
- CrowdyCPP (native core): `0.
|
|
7
|
+
- CrowdyJS: `18.6.0` at `ca9fbb549ed5fa614e0084d962020410061b9c8c`
|
|
8
|
+
- CrowdyCPP (native core): `0.59.0` at `3f2787d412c9eee9a5f2ce8fad06bdc8941cb8a1`
|
|
9
9
|
- schema.gql identical to CrowdyJS's: yes
|
|
10
10
|
- Gate mode: strict portable parity (every portable gap is release-blocking)
|
|
11
11
|
|
|
12
12
|
## Summary
|
|
13
13
|
|
|
14
|
-
- Covered:
|
|
14
|
+
- Covered: 1024
|
|
15
15
|
- Portable gap: 0
|
|
16
16
|
- Native equivalent: 40
|
|
17
|
-
- Browser exclusion:
|
|
17
|
+
- Browser exclusion: 110
|
|
18
18
|
- Deprecated roots: 2
|
|
19
19
|
- Unclassified: 0
|
|
20
20
|
|
|
@@ -26,6 +26,7 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
26
26
|
| `mutation.actorHeartbeat` | covered |
|
|
27
27
|
| `mutation.addChannelMember` | covered |
|
|
28
28
|
| `mutation.addTeamMember` | covered |
|
|
29
|
+
| `mutation.addTierAccessRule` | browser exclusion — super-admin or operator only; the SDK wraps nothing for platform roles (tooling calls it directly) |
|
|
29
30
|
| `mutation.admitAppCode` | covered |
|
|
30
31
|
| `mutation.archiveAccessTier` | covered |
|
|
31
32
|
| `mutation.archiveApp` | covered |
|
|
@@ -64,6 +65,7 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
64
65
|
| `mutation.createPortalAuthorizationCode` | covered |
|
|
65
66
|
| `mutation.createTeam` | covered |
|
|
66
67
|
| `mutation.createTeamRole` | covered |
|
|
68
|
+
| `mutation.createTierAccessProvisioningToken` | browser exclusion — super-admin or operator only; the SDK wraps nothing for platform roles (tooling calls it directly) |
|
|
67
69
|
| `mutation.creditOrgWallet` | browser exclusion — super-admin or operator only; the SDK wraps nothing for platform roles (tooling calls it directly) |
|
|
68
70
|
| `mutation.crowdyStudioCommonPublish` | covered |
|
|
69
71
|
| `mutation.crowdyStudioGitHubBind` | covered |
|
|
@@ -94,6 +96,7 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
94
96
|
| `mutation.deleteTeamRole` | covered |
|
|
95
97
|
| `mutation.deleteUserAppState` | covered |
|
|
96
98
|
| `mutation.disconnectUdpProxy` | native equivalent — client.udp sends and receives this over CrowdyCPP's native UDP connection; the GraphQL UDP proxy exists because a page cannot open a UDP socket |
|
|
99
|
+
| `mutation.endTierAccessSessions` | browser exclusion — super-admin or operator only; the SDK wraps nothing for platform roles (tooling calls it directly) |
|
|
97
100
|
| `mutation.exchangePortalCode` | covered |
|
|
98
101
|
| `mutation.execActivateVersion` | covered |
|
|
99
102
|
| `mutation.execBuild` | covered |
|
|
@@ -124,6 +127,7 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
124
127
|
| `mutation.grantAppAccess` | covered |
|
|
125
128
|
| `mutation.grantGridPermissions` | covered |
|
|
126
129
|
| `mutation.grantMyAppAccess` | covered |
|
|
130
|
+
| `mutation.grantTierAccessByPattern` | browser exclusion — super-admin or operator only; the SDK wraps nothing for platform roles (tooling calls it directly) |
|
|
127
131
|
| `mutation.inviteOrgMember` | covered |
|
|
128
132
|
| `mutation.issueGridClaimInvite` | covered |
|
|
129
133
|
| `mutation.joinChannel` | covered |
|
|
@@ -159,6 +163,8 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
159
163
|
| `mutation.revokeGridPermissions` | covered |
|
|
160
164
|
| `mutation.revokeGroupFromGrid` | covered |
|
|
161
165
|
| `mutation.revokeOrgToken` | covered |
|
|
166
|
+
| `mutation.revokeTierAccessProvisioningToken` | browser exclusion — super-admin or operator only; the SDK wraps nothing for platform roles (tooling calls it directly) |
|
|
167
|
+
| `mutation.revokeTierAccessRule` | browser exclusion — super-admin or operator only; the SDK wraps nothing for platform roles (tooling calls it directly) |
|
|
162
168
|
| `mutation.rollbackVoxelUpdates` | covered |
|
|
163
169
|
| `mutation.runSharedUsageBillingTick` | browser exclusion — operator-only billing control; not a game-client surface |
|
|
164
170
|
| `mutation.sendActorUpdate` | native equivalent — client.udp sends and receives this over CrowdyCPP's native UDP connection; the GraphQL UDP proxy exists because a page cannot open a UDP socket |
|
|
@@ -201,6 +207,8 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
201
207
|
| `mutation.setSuperAdmin` | browser exclusion — super-admin or operator only; the SDK wraps nothing for platform roles (tooling calls it directly) |
|
|
202
208
|
| `mutation.setTeamMemberRoles` | covered |
|
|
203
209
|
| `mutation.setTeamPolicy` | covered |
|
|
210
|
+
| `mutation.setTierAccessMode` | browser exclusion — super-admin or operator only; the SDK wraps nothing for platform roles (tooling calls it directly) |
|
|
211
|
+
| `mutation.setUserTierAccess` | browser exclusion — super-admin or operator only; the SDK wraps nothing for platform roles (tooling calls it directly) |
|
|
204
212
|
| `mutation.setupSharedPaymentMethod` | covered |
|
|
205
213
|
| `mutation.socialLoginComplete` | covered |
|
|
206
214
|
| `mutation.socialLoginStart` | covered |
|
|
@@ -342,6 +350,8 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
342
350
|
| `query.hostedGame` | browser exclusion — catalog of browser games hosted on Crowdy Games; a Python client is not one of them |
|
|
343
351
|
| `query.hostedGamePublishes` | browser exclusion — catalog of browser games hosted on Crowdy Games; a Python client is not one of them |
|
|
344
352
|
| `query.hostedGames` | browser exclusion — catalog of browser games hosted on Crowdy Games; a Python client is not one of them |
|
|
353
|
+
| `query.inputLogMessages` | covered |
|
|
354
|
+
| `query.inputLogSessions` | covered |
|
|
345
355
|
| `query.listVoxelUpdatesByDistance` | covered |
|
|
346
356
|
| `query.listVoxels` | covered |
|
|
347
357
|
| `query.me` | covered |
|
|
@@ -360,6 +370,7 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
360
370
|
| `query.myOrganizations` | covered |
|
|
361
371
|
| `query.myPropertyTokens` | deprecated |
|
|
362
372
|
| `query.myTeams` | covered |
|
|
373
|
+
| `query.myTierAccess` | browser exclusion — the dev/test staff-only gate as sign-in pages show it; CrowdyJS wraps neither |
|
|
363
374
|
| `query.nearbyGridPermissions` | covered |
|
|
364
375
|
| `query.nearbyGrids` | covered |
|
|
365
376
|
| `query.orgAutoBilling` | covered |
|
|
@@ -398,11 +409,17 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
398
409
|
| `query.teamPolicy` | covered |
|
|
399
410
|
| `query.teamRoles` | covered |
|
|
400
411
|
| `query.teams` | covered |
|
|
412
|
+
| `query.tierAccessInventory` | browser exclusion — super-admin or operator only; the SDK wraps nothing for platform roles (tooling calls it directly) |
|
|
413
|
+
| `query.tierAccessPolicy` | browser exclusion — the dev/test staff-only gate as sign-in pages show it; CrowdyJS wraps neither |
|
|
414
|
+
| `query.tierAccessProvisioningTokens` | browser exclusion — super-admin or operator only; the SDK wraps nothing for platform roles (tooling calls it directly) |
|
|
415
|
+
| `query.tierAccessRules` | browser exclusion — super-admin or operator only; the SDK wraps nothing for platform roles (tooling calls it directly) |
|
|
416
|
+
| `query.tierAccessSettings` | browser exclusion — super-admin or operator only; the SDK wraps nothing for platform roles (tooling calls it directly) |
|
|
401
417
|
| `query.udpProxyConnectionStatus` | native equivalent — client.udp sends and receives this over CrowdyCPP's native UDP connection; the GraphQL UDP proxy exists because a page cannot open a UDP socket |
|
|
402
418
|
| `query.user` | covered |
|
|
403
419
|
| `query.userAppState` | covered |
|
|
404
420
|
| `query.userAppStates` | covered |
|
|
405
421
|
| `query.userAvatars` | covered |
|
|
422
|
+
| `query.userTierAccess` | browser exclusion — super-admin or operator only; the SDK wraps nothing for platform roles (tooling calls it directly) |
|
|
406
423
|
| `query.usersConnection` | browser exclusion — super-admin or operator only; the SDK wraps nothing for platform roles (tooling calls it directly) |
|
|
407
424
|
| `query.usersPaginated` | browser exclusion — super-admin or operator only; the SDK wraps nothing for platform roles (tooling calls it directly) |
|
|
408
425
|
| `query.versionInfo` | covered |
|
|
@@ -452,6 +469,7 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
452
469
|
| `HostAPI -> HostAPI` | covered |
|
|
453
470
|
| `HostTracker -> HostTracker` | covered |
|
|
454
471
|
| `HostingAPI -> (none)` | browser exclusion — wrapper over the Crowdy Games hosting roots, which publish browser bundles; no Python client publishes one (CrowdyCPP classifies it the same way) |
|
|
472
|
+
| `InputLogAPI -> InputLogAPI` | covered |
|
|
455
473
|
| `LocalActorStore -> LocalActorStore` | covered |
|
|
456
474
|
| `MarketplaceAPI -> MarketplaceAPI` | covered |
|
|
457
475
|
| `OrganizationsAPI -> OrganizationsAPI` | covered |
|
|
@@ -816,6 +834,8 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
816
834
|
| `HostTracker.hostUserId` | covered |
|
|
817
835
|
| `HostTracker.isHost` | covered |
|
|
818
836
|
| `HostTracker.onHostChanged` | covered |
|
|
837
|
+
| `InputLogAPI.messages` | covered |
|
|
838
|
+
| `InputLogAPI.sessions` | covered |
|
|
819
839
|
| `LocalActorStore.chunk` | covered |
|
|
820
840
|
| `LocalActorStore.join` | covered |
|
|
821
841
|
| `LocalActorStore.lastAck` | covered |
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
query InputLogMessages(
|
|
2
|
+
$appId: BigInt!
|
|
3
|
+
$gameTokenId: BigInt!
|
|
4
|
+
$first: Int
|
|
5
|
+
$after: String
|
|
6
|
+
$filter: InputLogMessageFilter
|
|
7
|
+
) {
|
|
8
|
+
inputLogMessages(
|
|
9
|
+
appId: $appId
|
|
10
|
+
gameTokenId: $gameTokenId
|
|
11
|
+
first: $first
|
|
12
|
+
after: $after
|
|
13
|
+
filter: $filter
|
|
14
|
+
) {
|
|
15
|
+
edges {
|
|
16
|
+
cursor
|
|
17
|
+
node {
|
|
18
|
+
receivedAt
|
|
19
|
+
receivedAtMicros
|
|
20
|
+
userId
|
|
21
|
+
gameTokenId
|
|
22
|
+
messageType
|
|
23
|
+
seq
|
|
24
|
+
fromBundle
|
|
25
|
+
signed
|
|
26
|
+
sizeBytes
|
|
27
|
+
body
|
|
28
|
+
chunkX
|
|
29
|
+
chunkY
|
|
30
|
+
chunkZ
|
|
31
|
+
actorUuid
|
|
32
|
+
channelId
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
pageInfo {
|
|
36
|
+
hasNextPage
|
|
37
|
+
hasPreviousPage
|
|
38
|
+
startCursor
|
|
39
|
+
endCursor
|
|
40
|
+
}
|
|
41
|
+
totalCount
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
query InputLogSessions(
|
|
2
|
+
$appId: BigInt!
|
|
3
|
+
$first: Int
|
|
4
|
+
$after: String
|
|
5
|
+
$filter: InputLogSessionFilter
|
|
6
|
+
) {
|
|
7
|
+
inputLogSessions(appId: $appId, first: $first, after: $after, filter: $filter) {
|
|
8
|
+
edges {
|
|
9
|
+
cursor
|
|
10
|
+
node {
|
|
11
|
+
appId
|
|
12
|
+
gameTokenId
|
|
13
|
+
userId
|
|
14
|
+
datacenter
|
|
15
|
+
startedAt
|
|
16
|
+
lastSeenAt
|
|
17
|
+
endedAt
|
|
18
|
+
endReason
|
|
19
|
+
messageCount
|
|
20
|
+
byteCount
|
|
21
|
+
messageTypes
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
pageInfo {
|
|
25
|
+
hasNextPage
|
|
26
|
+
hasPreviousPage
|
|
27
|
+
startCursor
|
|
28
|
+
endCursor
|
|
29
|
+
}
|
|
30
|
+
totalCount
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "crowdypy"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.7.0.dev1"
|
|
8
8
|
description = "Official Python SDK for Crowded Kingdoms: typed GraphQL clients and a native UDP replication core"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT AND Apache-2.0"
|
|
@@ -117,20 +117,20 @@ environment = { OPENSSL_ROOT_DIR = "C:/vcpkg/installed/x64-windows-static-md" }
|
|
|
117
117
|
# --------------------------------------------------------------------------------------
|
|
118
118
|
|
|
119
119
|
[tool.crowdypy.crowdyjs]
|
|
120
|
-
version = "18.
|
|
121
|
-
commit = "
|
|
120
|
+
version = "18.6.0"
|
|
121
|
+
commit = "ca9fbb549ed5fa614e0084d962020410061b9c8c"
|
|
122
122
|
|
|
123
123
|
[tool.crowdypy.crowdycpp]
|
|
124
|
-
version = "0.
|
|
125
|
-
tag = "dev/v0.
|
|
126
|
-
commit = "
|
|
127
|
-
tree-sha256 = "
|
|
124
|
+
version = "0.59.0"
|
|
125
|
+
tag = "dev/v0.59.0"
|
|
126
|
+
commit = "3f2787d412c9eee9a5f2ce8fad06bdc8941cb8a1"
|
|
127
|
+
tree-sha256 = "84c3f10e6747535b0483490a1cecf2ab9242a1f726ae265770cad86d1b1ebd64"
|
|
128
128
|
|
|
129
129
|
# schema.gql and operations/ are CrowdyJS's, copied from the commit pinned above by
|
|
130
130
|
# scripts/schema_sync.py, which records these hashes and re-derives them in CI.
|
|
131
131
|
[tool.crowdypy.graphql]
|
|
132
|
-
schema-sha256 = "
|
|
133
|
-
operations-sha256 = "
|
|
132
|
+
schema-sha256 = "37865a07e4cde0703fa5c165b25ed309272f02ab96aed8d46439a2afc044f95b"
|
|
133
|
+
operations-sha256 = "3ec8d65ebc668fa33baca555797a837b78de3e0a1eef1ff3b77b7a5db098d424"
|
|
134
134
|
|
|
135
135
|
# The SDL the docs site publishes. scripts/schema_drift.py compares the snapshot against it
|
|
136
136
|
# on a schedule; nothing on the per-commit path reads the network.
|