crowdypy 0.14.1.dev1__tar.gz → 0.14.2.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.14.1.dev1 → crowdypy-0.14.2.dev1}/MIGRATION.md +9 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/PKG-INFO +3 -1
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/README.md +2 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/docs/compatibility.md +1 -1
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/docs/parity-matrix.md +2 -2
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/pyproject.toml +8 -8
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/schema.gql +21 -19
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_generated/enums.py +2 -2
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_generated/inputs.py +1 -1
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_generated/operations.py +1 -1
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/player_wallet.py +10 -3
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_version.py +1 -1
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/player_wallet.py +10 -3
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/player_host/schemas.v1.json +2 -2
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/fixtures/player-host.v1.json +2 -2
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/domains/test_social_domains.py +15 -11
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/uv.lock +154 -154
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/CMakeLists.txt +1 -1
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/PROVENANCE.md +1 -1
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/exec.hpp +12 -3
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/player_wallet.hpp +8 -2
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/users.hpp +10 -2
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/generated/enums.hpp +1 -1
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/generated/operations.hpp +1 -1
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/kit/runtime.hpp +4 -2
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/package.json +7 -7
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/domains/exec.cpp +35 -13
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/kit/runtime.cpp +288 -70
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/crowdy-studio-diagnostics.v1.json +2 -2
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/crowdyjs-studio-layout.v1.json +2 -2
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/.gitattributes +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/.gitignore +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/.gitleaks.toml +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/AGENTS.md +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/CMakeLists.txt +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/LICENSE +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/SECURITY.md +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/benchmarks/README.md +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/benchmarks/bench_replication.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/docs/e2e-coverage.md +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/licenses/OpenSSL-LICENSE.txt +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/native/common.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/native/module.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/native/replication.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/native/replication_binding.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/native/session_binding.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/native/voice_binding.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/native/wire_binding.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/actors/Actor.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/actors/Actors.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/actors/BatchLookupActors.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/actors/CreateActor.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/actors/DeleteActor.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/actors/UpdateActor.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/actors/UpdateActorState.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/appAccess/AppAccessTiers.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/appAccess/AppFeatures.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/appAccess/AppGrantMemberCandidates.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/appAccess/AppUserAccessByApp.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/appAccess/ArchiveAccessTier.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/appAccess/ClaimFreeAppAccess.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/appAccess/CreateAccessTier.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/appAccess/DefineAppFeature.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/appAccess/GrantAppAccess.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/appAccess/GrantMyAppAccess.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/appAccess/GrantTierFeature.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/appAccess/MyAppAccess.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/appAccess/RevokeAppAccess.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/appAccess/RevokeTierFeature.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/appAccess/RuntimePermissions.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/appAccess/SuspendAppAccess.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/appAccess/TierFeatures.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/appAccess/UpdateAccessTier.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/apps/App.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/apps/AppBySlug.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/apps/AppDiscovery.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/apps/AppsForOrg.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/apps/ArchiveApp.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/apps/CodeAdmissions.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/apps/CreateApp.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/apps/MarketplaceApps.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/apps/MyApps.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/apps/PlaceableDatacenters.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/apps/UpdateApp.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/auth/Logout.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/auth/LogoutAllDevices.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/avatars/Avatars.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/billing/AppBudget.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/billing/AppBudgets.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/billing/SetAppBudget.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/billing/WalletBalance.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/billing/WalletTransactions.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/AddChannelMember.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/BanChannelMember.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/Channel.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/ChannelMembers.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/ChannelPolicy.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/ChannelRoles.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/Channels.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/CreateChannel.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/CreateChannelRole.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/DeleteChannel.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/DeleteChannelRole.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/JoinChannel.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/LeaveChannel.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/MyChannels.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/RemoveChannelMember.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/RequestToJoinChannel.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/SetChannelMemberRoles.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/SetChannelPolicy.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/UnbanChannelMember.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/UpdateChannel.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/channels/UpdateChannelRole.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/chunks/GetChunk.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/chunks/GetChunkLods.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/chunks/GetChunksByDistance.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/chunks/GetVoxelList.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/chunks/UpdateChunk.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/chunks/UpdateChunkLods.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/chunks/UpdateChunkState.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/crowdyStudio/CrowdyStudio.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/exec/Exec.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/gameApps/GameApps.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/grids/CreateGridChannel.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/grids/GridChannels.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/grids/MintGridToken.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/host/Host.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/inputLog/InputLogMessages.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/inputLog/InputLogSessions.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/marketplace/Marketplace.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/organizations/CreateOrgRole.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/organizations/CreateOrgToken.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/organizations/CreateOrganization.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/organizations/DeleteOrgRole.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/organizations/InviteOrgMember.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/organizations/MemberRoles.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/organizations/MyOrganizations.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/organizations/OrgMembers.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/organizations/OrgPermissions.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/organizations/OrgRoles.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/organizations/OrgTokens.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/organizations/Organization.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/organizations/OrganizationBySlug.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/organizations/RemoveOrgMember.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/organizations/RevokeOrgToken.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/organizations/UpdateOrgMemberRoles.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/organizations/UpdateOrgRole.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/organizations/UpdateOrgToken.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/payments/CapturePaypalCheckout.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/payments/CreateCheckout.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/payments/MyCheckouts.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/platform/PlatformConfig.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/playerWallet/PlayerWallet.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/quotas/DeleteQuota.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/quotas/EffectiveQuota.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/quotas/QuotasForApp.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/quotas/QuotasForOrg.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/quotas/SetQuota.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/serverStatus/ActiveGraphQLServers.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/serverStatus/GameClientBootstrap.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/serverStatus/GraphqlServers.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/serverStatus/ServerWithLeastClients.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/serverStatus/VersionInfo.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/sharedEnvironment/SharedEnvironment.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/state/DeleteUserAppState.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/state/UpdateUserAppState.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/state/UserAppState.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/state/UserAppStates.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/AddTeamMember.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/BanTeamMember.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/CreateTeam.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/CreateTeamRole.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/DeleteTeam.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/DeleteTeamRole.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/JoinTeam.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/LeaveTeam.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/MyTeams.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/RemoveTeamMember.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/RequestToJoinTeam.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/SetTeamMemberRoles.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/SetTeamPolicy.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/Team.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/TeamMembers.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/TeamPolicy.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/TeamRoles.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/Teams.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/UnbanTeamMember.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/UpdateTeam.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teams/UpdateTeamRole.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/teleport/TeleportRequest.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/usage/AppGraphqlOperations.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/usage/AppUsageSummary.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/usage/PlayerPulse.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/users/DeleteMyAccount.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/users/FreePlayWindow.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/users/Me.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/users/PlayerProfile.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/users/UpdateGamertag.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/users/UpdateUserState.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/users/User.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/voxels/ListVoxelUpdatesByDistance.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/voxels/ListVoxels.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/voxels/RollbackVoxelUpdates.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/voxels/UpdateVoxel.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/operations/voxels/VoxelUpdateHistory.graphql +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/scripts/_pins.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/scripts/ci/assert_default_origin.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/scripts/ci/build_openssl.sh +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/scripts/ci/check_content_policy.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/scripts/ci/check_pin_tiers.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/scripts/ci/cibw_before_all_linux.sh +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/scripts/ci/resolve-release-tier.sh +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/scripts/ci/resolve-release-tier.test.sh +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/scripts/ci/resolve_pypi_version.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/scripts/ci/stamp_version.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/scripts/ci/verify_artifacts.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/scripts/codegen.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/scripts/schema_drift.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/scripts/schema_sync.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/scripts/unasync.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/scripts/vendor_crowdycpp.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/__init__.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_concurrency.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_default_origin.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_generated/__init__.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_grid.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_native.pyi +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_operation.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/__init__.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/client.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/__init__.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/_base.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/actors.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/admin.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/app_access.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/apps.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/auth.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/avatars.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/billing.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/channels.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/chunks.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/crowdy_studio.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/crowdy_studio_agent.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/crowdy_studio_github.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/discovery.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/exec.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/game_apps.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/grids.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/host.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/input_log.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/marketplace.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/organizations.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/payments.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/platform.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/portal.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/quotas.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/server_status.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/shared_environment.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/state.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/teams.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/teleport.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/udp.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/usage.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/users.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/domains/voxels.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/graphql.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/grid_scope.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/__init__.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/actions.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/kit.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/mirror.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/modules/__init__.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/modules/arenas.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/modules/encounters.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/modules/instances.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/modules/leaderboards.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/modules/market.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/modules/matchmaking.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/modules/minigames.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/modules/npcs.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/modules/player.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/modules/presence.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/modules/racing.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/modules/sessions.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/modules/tables.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/modules/tactics.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/modules/territory.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/modules/world.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/protocol.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/realtime.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/runtime.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/social.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/store.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/topology.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/kit/wire.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/rediscover.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/stores.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/_sync/world.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/auth_state.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/client.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/codecs.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/datacenter_redirect.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/__init__.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/_base.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/actors.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/admin.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/app_access.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/apps.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/auth.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/avatars.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/billing.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/channels.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/chunks.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/crowdy_studio.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/crowdy_studio_agent.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/crowdy_studio_github.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/discovery.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/exec.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/game_apps.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/grids.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/host.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/input_log.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/marketplace.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/organizations.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/payments.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/platform.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/portal.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/quotas.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/server_status.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/shared_environment.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/state.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/teams.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/teleport.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/udp.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/usage.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/users.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/domains/voxels.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/enums.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/errors.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/estate.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/exec_gateway.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/graphql.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/grid_scope.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/inputs.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/__init__.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/actions.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/kit.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/mirror.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/modules/__init__.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/modules/arenas.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/modules/encounters.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/modules/instances.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/modules/leaderboards.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/modules/market.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/modules/matchmaking.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/modules/minigames.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/modules/npcs.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/modules/player.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/modules/presence.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/modules/racing.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/modules/sessions.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/modules/tables.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/modules/tactics.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/modules/territory.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/modules/world.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/protocol.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/realtime.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/runtime.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/social.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/store.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/topology.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/kit/wire.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/lb_cookie.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/media.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/pkce.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/player_host/__init__.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/player_host/agent_errors.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/player_host/agent_types.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/player_host/json_schema.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/player_host/schemas.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/player_host/types.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/py.typed +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/rediscover.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/replication.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/session.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/stores.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/studio/__init__.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/studio/client_tick_interval.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/studio/controller.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/studio/diagnostics.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/studio/github_new_repo.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/studio/layout.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/studio/models.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/studio/starter_projects.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/subscriptions.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/sync.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/utils.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/wire.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/src/crowdypy/world.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/conftest.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/e2e/__init__.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/e2e/conftest.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/e2e/test_e2e_identity.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/e2e/test_e2e_input_log.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/e2e/test_e2e_open_grid_exec_gateway.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/e2e/test_e2e_ranged_channel.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/e2e/test_e2e_replication.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/e2e/test_e2e_studio.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/e2e/test_e2e_world.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/e2e/test_e2e_world_data.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/fixtures/README.md +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/fixtures/binary-wire-fixtures.json +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/fixtures/exec-client-frames.json +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/fixtures/kit-protocol.json +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/fixtures/voice-frames.json +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/__init__.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/domains/__init__.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/domains/test_crowdycpp_roots.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/domains/test_input_log_reads.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/domains/test_org_domains.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/domains/test_studio_exec_domains.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/domains/test_world_domains.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_check_pin_tiers.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_core.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_durable_stores.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_estate_moves.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_exec_gateway.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_fixture_provenance.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_grid_scope.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_kit.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_kit_protocol.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_lazy_exports.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_player_host.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_refusals.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_release_versions.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_replication.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_sdk_audience.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_studio_controller.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_studio_diagnostics.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_studio_layout.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_subscriptions.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_transport.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_udp_api.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_voice_frames.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_wire.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tests/unit/test_world_session.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tools/e2e/provision.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tools/fixtures/player_host.mjs +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tools/parity/classifications.toml +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/tools/parity/parity.py +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/LICENSE +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/cmake/CheckPublicHeaders.cmake +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/cmake/CrowdyCPPConfig.cmake.in +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/cmake/CrowdyFindOpus.cmake +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/cmake/studio_layout_fixture.hpp.in +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/client.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/core/base64.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/core/bytes.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/core/clock.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/core/crypto.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/core/logger.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/core/result.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/core/spsc.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/core/uuid.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/crowdy.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/default_origin.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/admin.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/auth.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/crowdy_studio.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/crowdy_studio_agent.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/crowdy_studio_github.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/discovery.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/domain_base.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/game_apps.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/grids.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/groups.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/marketplace.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/portal.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/realtime_control.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/server_status.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/types.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/domains/world_data.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/async_scope.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/auth_state.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/cancel.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/datacenter_redirect.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/dispatcher.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/errors.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/estate.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/graphql_client.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/http.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/json.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/rediscover.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/subscription_client.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/websocket.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/kit/actions.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/kit/economy.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/kit/genres.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/kit/kit.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/kit/mirror.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/kit/modules.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/kit/protocol.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/kit/realtime.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/kit/social.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/kit/topology.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/kit/wire.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/media/opus.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/media/video_frames.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/media/voice_frames.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/adapter.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/player_host.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/schemas.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/types.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/replication/connection.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/replication/session_provider.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/replication/types.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/replication/udp_socket.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/session/chunk_store.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/session/codec.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/session/durable.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/session/keys.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/session/stores.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/session/world_session.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/studio/controller.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/studio/diagnostics.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/studio/editor.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/studio/github.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/studio/github_layout.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/studio/integration.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/studio/layout.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/studio/models.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/studio/runtime.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/wire/codec.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/wire/protocol.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/include/crowdy/world.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/client.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/core/base64.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/core/clock.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/core/crypto_default_unavailable.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/core/crypto_openssl.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/core/crypto_unavailable.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/core/logger.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/core/uuid.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/graphql/async_transport.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/graphql/auth_state.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/graphql/error_extensions.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/graphql/errors.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/graphql/graphql_client.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/graphql/http_curl.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/graphql/http_none.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/graphql/json.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/graphql/subscription_client.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/graphql/websocket_curl.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/graphql/websocket_none.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/kit/economy.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/kit/genres.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/kit/mirror.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/kit/modules.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/kit/protocol.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/kit/topology.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/media/opus.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/player_host/schemas.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/player_host/types.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/replication/connection.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/replication/socket_errors.hpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/replication/udp_socket.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/session/world_session.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/studio/diagnostics.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/studio/editor.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/src/studio/integration.cpp +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/third_party/yyjson/LICENSE +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/third_party/yyjson/yyjson.c +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/third_party/yyjson/yyjson.h +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/exec-client-frames.json +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/exec-gateway-cases.json +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/kit-protocol.json +0 -0
- {crowdypy-0.14.1.dev1 → crowdypy-0.14.2.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/voice-frames.json +0 -0
|
@@ -3,6 +3,15 @@
|
|
|
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.14.2
|
|
7
|
+
|
|
8
|
+
CrowdyJS 18.14.0 and CrowdyCPP 0.67.3. No breaking change. `PlayerWalletAPI.charges()` is
|
|
9
|
+
deprecated and warns (`DeprecationWarning`), as the `playerUsageCharges` field it wraps is: it
|
|
10
|
+
reads the cents-era hourly rows, which the lossless ledger does not write. Read
|
|
11
|
+
`transactions()`: each `usage_debit` entry is one usage charge. The schema's billing
|
|
12
|
+
descriptions are 18.14.0's. The vendored native core moves from CrowdyCPP 0.66.0 to 0.67.3;
|
|
13
|
+
the replication client it binds is unchanged.
|
|
14
|
+
|
|
6
15
|
## 0.14.1
|
|
7
16
|
|
|
8
17
|
CrowdyJS 18.13.0 and CrowdyCPP 0.66.0. Additive. A paused app, an app switched off, and a type switched off used to arrive as a bare denial. They are now `AppPaused`, `AppDisabled`, and `TypeDisabled`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crowdypy
|
|
3
|
-
Version: 0.14.
|
|
3
|
+
Version: 0.14.2.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,8 @@ 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.14.2: CrowdyJS 18.14.0 and CrowdyCPP 0.67.3.** `player_wallet.charges()` is deprecated: read `transactions()`, whose `usage_debit` entries are the usage charges.
|
|
55
|
+
|
|
54
56
|
**v0.14.1: the exec socket names a paused app and a switched-off app or type.** `AppPaused`, `AppDisabled`, and `TypeDisabled`. Still CrowdyJS 18.13.0 and CrowdyCPP 0.66.0.
|
|
55
57
|
|
|
56
58
|
**v0.14.0: the economy (CrowdyJS 18.13.0, CrowdyCPP 0.66.0).** `kit.player`, the caller's own
|
|
@@ -11,6 +11,8 @@ 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.14.2: CrowdyJS 18.14.0 and CrowdyCPP 0.67.3.** `player_wallet.charges()` is deprecated: read `transactions()`, whose `usage_debit` entries are the usage charges.
|
|
15
|
+
|
|
14
16
|
**v0.14.1: the exec socket names a paused app and a switched-off app or type.** `AppPaused`, `AppDisabled`, and `TypeDisabled`. Still CrowdyJS 18.13.0 and CrowdyCPP 0.66.0.
|
|
15
17
|
|
|
16
18
|
**v0.14.0: the economy (CrowdyJS 18.13.0, CrowdyCPP 0.66.0).** `kit.player`, the caller's own
|
|
@@ -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.14.
|
|
8
|
+
- CrowdyPy `0.14.2`
|
|
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
|
|
@@ -4,8 +4,8 @@ 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.14.0` at `9abcdf86c2b0440f113c8b7f15bd38fb23f51117`
|
|
8
|
+
- CrowdyCPP (native core): `0.67.3` at `f09fc0b174b90e739f7128400792d5679e621b9b`
|
|
9
9
|
- schema.gql identical to CrowdyJS's: yes
|
|
10
10
|
- Gate mode: strict portable parity (every portable gap is release-blocking)
|
|
11
11
|
|
|
@@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "crowdypy"
|
|
7
|
-
version = "0.14.
|
|
7
|
+
version = "0.14.2.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"
|
|
@@ -119,19 +119,19 @@ environment = { OPENSSL_ROOT_DIR = "C:/vcpkg/installed/x64-windows-static-md" }
|
|
|
119
119
|
# --------------------------------------------------------------------------------------
|
|
120
120
|
|
|
121
121
|
[tool.crowdypy.crowdyjs]
|
|
122
|
-
version = "18.
|
|
123
|
-
commit = "
|
|
122
|
+
version = "18.14.0"
|
|
123
|
+
commit = "9abcdf86c2b0440f113c8b7f15bd38fb23f51117"
|
|
124
124
|
|
|
125
125
|
[tool.crowdypy.crowdycpp]
|
|
126
|
-
version = "0.
|
|
127
|
-
tag = "dev/v0.
|
|
128
|
-
commit = "
|
|
129
|
-
tree-sha256 = "
|
|
126
|
+
version = "0.67.3"
|
|
127
|
+
tag = "dev/v0.67.3"
|
|
128
|
+
commit = "f09fc0b174b90e739f7128400792d5679e621b9b"
|
|
129
|
+
tree-sha256 = "f0456195cc0948d96f8d7d987f2742722218c35ce60bbe9a34dfa3b9e6303541"
|
|
130
130
|
|
|
131
131
|
# schema.gql and operations/ are CrowdyJS's, copied from the commit pinned above by
|
|
132
132
|
# scripts/schema_sync.py, which records these hashes and re-derives them in CI.
|
|
133
133
|
[tool.crowdypy.graphql]
|
|
134
|
-
schema-sha256 = "
|
|
134
|
+
schema-sha256 = "90d407b44d95416f23384023451b54edf73e18881dcad9ad9f06b20d8bd3fdfd"
|
|
135
135
|
operations-sha256 = "37b1e06dc4e997bb42506968c50698a184934581a6d94d9471a29d2ce74ff3d3"
|
|
136
136
|
|
|
137
137
|
# The SDL the docs site publishes. scripts/schema_drift.py compares the snapshot against it
|
|
@@ -1748,7 +1748,7 @@ type WalletTransaction {
|
|
|
1748
1748
|
"""DEPRECATED. balanceAfterMicrousd / 10,000 truncated toward zero."""
|
|
1749
1749
|
balanceAfter: BigInt! @deprecated(reason: "Derived from balanceAfterMicrousd (truncated toward zero). Read balanceAfterMicrousd.")
|
|
1750
1750
|
"""
|
|
1751
|
-
What produced this transaction. The complete set of values this API writes: "topup" (wallet credit from a completed checkout, positive), "admin_credit" (operator credit applied without a payment provider, positive), "auto_recharge" (off-session automatic wallet recharge, positive), "shared_usage" (
|
|
1751
|
+
What produced this transaction. The complete set of values this API writes: "topup" (wallet credit from a completed checkout, positive), "admin_credit" (operator credit applied without a payment provider, positive), "auto_recharge" (off-session automatic wallet recharge, positive), "shared_usage" (metered shared-environment usage: the increase in what one dimension's period total costs since the last charge for it, negative), "agent_usage" (Crowdy Studio agent run charged at provider cost, negative), "reserved_throughput" (monthly or prorated reserved capacity -- realtime bytes/s or GraphQL operations/s -- charged in addition to metered usage rather than including any of it, negative), "markup_payout" (the app developer's markup on a player's metered usage, credited to the org in the same transaction as the player debit that produced it, positive), "refund" (a payment-provider refund of a top-up, the credited amount leaving the wallet again, negative), "chargeback" (a card dispute on an org top-up, clawed back from the org wallet, negative). No other value is written; earlier versions of this description also listed "usage" and "environment_usage", neither of which was ever produced.
|
|
1752
1752
|
"""
|
|
1753
1753
|
transactionType: String!
|
|
1754
1754
|
"""
|
|
@@ -1888,7 +1888,7 @@ enum CheckoutPurpose {
|
|
|
1888
1888
|
"""
|
|
1889
1889
|
@deprecated Legacy recurring subscription for a paid shared app slot. No longer purchasable via createCheckout; retained for historical checkouts and webhook reconciliation.
|
|
1890
1890
|
"""
|
|
1891
|
-
SHARED_APP_SUBSCRIPTION @deprecated(reason: "Shared apps
|
|
1891
|
+
SHARED_APP_SUBSCRIPTION @deprecated(reason: "Shared apps are billed for metered usage from the org wallet. Publish via publishAppToShared and top up with ORG_WALLET_TOPUP.")
|
|
1892
1892
|
}
|
|
1893
1893
|
|
|
1894
1894
|
"""
|
|
@@ -2144,7 +2144,7 @@ type RateCardBandType {
|
|
|
2144
2144
|
}
|
|
2145
2145
|
|
|
2146
2146
|
"""
|
|
2147
|
-
One priced dimension: its rate and, where it has one, its
|
|
2147
|
+
One priced dimension: its rate and, where it has one, its free allowance and the period that allowance resets on. A dimension with a price of 0 is metered but not charged.
|
|
2148
2148
|
"""
|
|
2149
2149
|
type RateCardEntryType {
|
|
2150
2150
|
"""Which card this row is on."""
|
|
@@ -2192,7 +2192,7 @@ type RateCardEntryType {
|
|
|
2192
2192
|
}
|
|
2193
2193
|
|
|
2194
2194
|
"""
|
|
2195
|
-
Which rate card. SHARED prices organization metered usage
|
|
2195
|
+
Which rate card. SHARED prices an organization's metered usage in shared-environment apps, charged to the org wallet as "shared_usage" entries. PLAYER prices a player's own metered usage (mod compute, egress, model storage and player-paid model tokens), charged to the player wallet as "usage_debit" entries with the app's markup added. Both settle about once a minute: each (payer, dimension, period) is charged what its running total now costs beyond what was already charged for it.
|
|
2196
2196
|
"""
|
|
2197
2197
|
enum RateScope {
|
|
2198
2198
|
SHARED
|
|
@@ -2506,7 +2506,7 @@ type PlayerWallet {
|
|
|
2506
2506
|
}
|
|
2507
2507
|
|
|
2508
2508
|
"""
|
|
2509
|
-
One player-wallet ledger entry: top-ups,
|
|
2509
|
+
One player-wallet ledger entry: top-ups, usage debits, auto-recharges, refunds, purchases, payouts and adjustments. A usage debit carries the app and charges what one dimension's running total for its period now costs beyond what was already charged, the app's markup included, so a period can bring several debits as its usage arrives; its description names the dimension and the period.
|
|
2510
2510
|
"""
|
|
2511
2511
|
type PlayerWalletTransaction {
|
|
2512
2512
|
"""Transaction id."""
|
|
@@ -2524,12 +2524,14 @@ type PlayerWalletTransaction {
|
|
|
2524
2524
|
"""DEPRECATED. balanceAfterMicrousd / 10,000 truncated toward zero."""
|
|
2525
2525
|
balanceAfter: BigInt! @deprecated(reason: "Derived from balanceAfterMicrousd. Read balanceAfterMicrousd.")
|
|
2526
2526
|
"""
|
|
2527
|
-
What produced this entry. The complete set of values this API writes: "topup" (credit from a completed checkout, positive), "auto_recharge" (off-session automatic recharge, positive), "payout_credit" (marketplace seller payout, positive), "refund" (marketplace refund returned to the buyer, positive), "usage_debit" (
|
|
2527
|
+
What produced this entry. The complete set of values this API writes: "topup" (credit from a completed checkout, positive), "auto_recharge" (off-session automatic recharge, positive), "payout_credit" (marketplace seller payout, positive), "refund" (marketplace refund returned to the buyer, positive), "usage_debit" (metered player usage in one app: the increase in what one dimension's period total costs since the last debit for it, markup included, negative), "purchase" (marketplace purchase, negative), "adjustment" (operator or dispute-clawback correction, signed).
|
|
2528
2528
|
"""
|
|
2529
2529
|
transactionType: String!
|
|
2530
2530
|
"""Human description."""
|
|
2531
2531
|
description: String
|
|
2532
|
-
"""
|
|
2532
|
+
"""
|
|
2533
|
+
External reference: the checkout or PaymentIntent id of a top-up, or for a usage debit the ledger charge it settles ("charge:<chargeId>:<n>", the n-th debit of that charge).
|
|
2534
|
+
"""
|
|
2533
2535
|
referenceId: String
|
|
2534
2536
|
"""The app a usage debit covers; null for wallet-level entries."""
|
|
2535
2537
|
appId: BigInt
|
|
@@ -2592,7 +2594,7 @@ type PlayerAutoBilling {
|
|
|
2592
2594
|
}
|
|
2593
2595
|
|
|
2594
2596
|
"""
|
|
2595
|
-
One
|
|
2597
|
+
One player usage charge from the hourly cents-era billing: a (player, app, closed clock hour) row. The lossless ledger, on by default, replaced that billing and writes no rows here, so the list ends where the ledger took over; usage since is in playerWalletTransactions as "usage_debit" entries. amountCents = platformCents + markupCents: what the platform charged and what the studio added.
|
|
2596
2598
|
"""
|
|
2597
2599
|
type PlayerUsageCharge {
|
|
2598
2600
|
"""Charge id."""
|
|
@@ -7102,7 +7104,7 @@ type Query {
|
|
|
7102
7104
|
scope: RateScope!
|
|
7103
7105
|
): [PublicRateCardEntryType!]!
|
|
7104
7106
|
"""
|
|
7105
|
-
OPERATOR ONLY. The metered rate card for a scope: every priced dimension with its unit, price and
|
|
7107
|
+
OPERATOR ONLY. The metered rate card for a scope: every priced dimension with its unit, price, free allowance and the period that allowance resets on. SHARED is organization usage charged to the org wallet as "shared_usage"; PLAYER is a player's own metered usage charged to the player wallet as "usage_debit". A dimension priced at 0 is metered but not charged. Read-only. Customers read the same rates through `meteredRateCard`, which is public and omits the operator note.
|
|
7106
7108
|
"""
|
|
7107
7109
|
billingRateCard(
|
|
7108
7110
|
"""Which card to read."""
|
|
@@ -7287,7 +7289,7 @@ type Query {
|
|
|
7287
7289
|
"""
|
|
7288
7290
|
playerWalletBalance: PlayerWallet!
|
|
7289
7291
|
"""
|
|
7290
|
-
The caller's player-wallet ledger, newest first: top-ups,
|
|
7292
|
+
The caller's player-wallet ledger, newest first: top-ups, usage debits (per app, the app's markup included), auto-recharges, refunds, purchases, payouts and adjustments. Each usage debit names its dimension and period, and an over-charge credited back appears as an adjustment.
|
|
7291
7293
|
"""
|
|
7292
7294
|
playerWalletTransactions(
|
|
7293
7295
|
"""Max entries (default 50, max 200)."""
|
|
@@ -7296,7 +7298,7 @@ type Query {
|
|
|
7296
7298
|
offset: Int
|
|
7297
7299
|
): [PlayerWalletTransaction!]!
|
|
7298
7300
|
"""
|
|
7299
|
-
The caller's
|
|
7301
|
+
The caller's hourly player-usage charges from the cents-era billing, newest first, optionally filtered by app. Nothing has been added since the lossless ledger took over; current usage charges are the "usage_debit" entries in playerWalletTransactions.
|
|
7300
7302
|
"""
|
|
7301
7303
|
playerUsageCharges(
|
|
7302
7304
|
"""Optional: only charges for this app."""
|
|
@@ -7305,7 +7307,7 @@ type Query {
|
|
|
7305
7307
|
Maximum number of charges to return, 1 to 200 (a value outside is clamped). Defaults to 50 when omitted.
|
|
7306
7308
|
"""
|
|
7307
7309
|
limit: Int
|
|
7308
|
-
): [PlayerUsageCharge!]!
|
|
7310
|
+
): [PlayerUsageCharge!]! @deprecated(reason: "Reads the hourly cents-era charge rows, which the lossless ledger does not write. Read playerWalletTransactions: each \"usage_debit\" entry is one charge, per app, markup included.")
|
|
7309
7311
|
"""
|
|
7310
7312
|
The caller's self-set spend caps (global and per-app) with running counters. The effective runtime limit is min(developer policy, self-cap, wallet balance).
|
|
7311
7313
|
"""
|
|
@@ -9079,11 +9081,11 @@ type Mutation {
|
|
|
9079
9081
|
referenceId: String
|
|
9080
9082
|
): WalletTransaction! @requiresPermission(scope: "operator", permission: "is_operator")
|
|
9081
9083
|
"""
|
|
9082
|
-
OPERATOR ONLY. Runs the shared-usage
|
|
9084
|
+
OPERATOR ONLY. Runs the shared-usage tick once instead of waiting for the ~60s cron: reserved-throughput billing, the itemised statement of the last closed clock hour, and the usage-gate evaluation of every shared app. Metered usage is priced and charged by the ledger's settlement, about once a minute, not by this tick. Backdating usage rows is a local-test fixture, not something this mutation does on a live tier.
|
|
9083
9085
|
"""
|
|
9084
9086
|
runSharedUsageBillingTick: Boolean! @requiresPermission(scope: "operator", permission: "is_operator")
|
|
9085
9087
|
"""
|
|
9086
|
-
OPERATOR ONLY. Sets a metered dimension's price, the UNIT that price is quoted in, its free allowances, or any combination, and returns the new row alongside the values that moved. THIS IS THE ONLY SANCTIONED WAY TO CHANGE A PRICE OR A UNIT: the schema seeds use ON CONFLICT DO NOTHING, so a rate reaches a tier once at install and a unit corrected in the declaration never reaches a tier that already exists. Refuses an unknown or unmetered metric (a rate for a dimension nothing meters bills nobody while appearing configured), refuses a negative price, refuses unitLabel without unitQuantity (which would restate the rate card while the arithmetic kept the old divisor), and refuses a call that would change nothing. A unit change that also moves the money needs acknowledgeRepricing: true, so restating a price and cutting it cannot be confused. priceBands sets a graduated schedule (SHARED aggregate_data_volume only; band 1 becomes priceCents) and clearPriceBands returns the dimension to one flat price; while a dimension is banded a bare priceCents or a unit change is refused. NOT RETROACTIVE:
|
|
9088
|
+
OPERATOR ONLY. Sets a metered dimension's price, the UNIT that price is quoted in, its free allowances, or any combination, and returns the new row alongside the values that moved. THIS IS THE ONLY SANCTIONED WAY TO CHANGE A PRICE OR A UNIT: the schema seeds use ON CONFLICT DO NOTHING, so a rate reaches a tier once at install and a unit corrected in the declaration never reaches a tier that already exists. Refuses an unknown or unmetered metric (a rate for a dimension nothing meters bills nobody while appearing configured), refuses a negative price, refuses unitLabel without unitQuantity (which would restate the rate card while the arithmetic kept the old divisor), and refuses a call that would change nothing. A unit change that also moves the money needs acknowledgeRepricing: true, so restating a price and cutting it cannot be confused. priceBands sets a graduated schedule (SHARED aggregate_data_volume only; band 1 becomes priceCents) and clearPriceBands returns the dimension to one flat price; while a dimension is banded a bare priceCents or a unit change is refused. NOT RETROACTIVE: the ledger keeps the rate and allowance in force when a (payer, dimension, period) is first charged, so a change applies from each dimension's next period and nothing already charged is repriced. Takes effect within about a minute — the settlement reloads the card on every run, so no restart is needed.
|
|
9087
9089
|
"""
|
|
9088
9090
|
setBillingRate(
|
|
9089
9091
|
"""Which dimension to reprice, the new price and/or allowance, and why."""
|
|
@@ -9105,7 +9107,7 @@ type Mutation {
|
|
|
9105
9107
|
reason: String!
|
|
9106
9108
|
): BillingExemptOrgType! @requiresPermission(scope: "operator", permission: "is_operator")
|
|
9107
9109
|
"""
|
|
9108
|
-
Publishes an app to the shared game-api environment. Free under the org's app-slot quota (result.free = true); beyond the quota, publish still succeeds and
|
|
9110
|
+
Publishes an app to the shared game-api environment. Free under the org's app-slot quota (result.free = true); beyond the quota, publish still succeeds and metered usage is charged to the org wallet. Requires the 'manage_apps' permission on the app's org. Blocked when SHARED_GAME_API_URL is not configured.
|
|
9109
9111
|
"""
|
|
9110
9112
|
publishAppToShared(
|
|
9111
9113
|
"""App id (BigInt) to publish to the shared environment."""
|
|
@@ -9287,7 +9289,7 @@ type Mutation {
|
|
|
9287
9289
|
markupBps: Int!
|
|
9288
9290
|
): Int! @requiresPermission(scope: "app", permission: "manage_billing", scopeArg: "appId")
|
|
9289
9291
|
"""
|
|
9290
|
-
Operator only.
|
|
9292
|
+
Operator only. Close an over-billed charge (an I3 finding: its priced total fell below what was billed and written off). The billed part of the difference is credited to the payer (a wallet credit and a CREDIT event); a written-off part (an exempt org) was never paid, so no money moves and a WRITE_OFF event of the opposite sign (reason OVERBILL_REVERSAL) offsets it. creditedMicrousd is the wallet credit only. Idempotent per charge state.
|
|
9291
9293
|
"""
|
|
9292
9294
|
cpBillingCreditOverbill(
|
|
9293
9295
|
"""App the charge was billed under."""
|
|
@@ -10987,11 +10989,11 @@ input SetRateCardInput {
|
|
|
10987
10989
|
"""
|
|
10988
10990
|
acknowledgeRepricing: Boolean
|
|
10989
10991
|
"""
|
|
10990
|
-
New hourly free allowance in raw metric units, as a BigInt decimal string. Must be >= 0. Omit to leave the allowance unchanged.
|
|
10992
|
+
New hourly free allowance in raw metric units, as a BigInt decimal string. Must be >= 0. Omit to leave the allowance unchanged. Like a price, it applies from a dimension's next period where a period has already been charged.
|
|
10991
10993
|
"""
|
|
10992
10994
|
freePerHour: BigInt
|
|
10993
10995
|
"""
|
|
10994
|
-
New free allowance in raw metric units per freePeriod, as a BigInt decimal string. Must be >= 0. Leaves the period as it is unless freePeriod is also given. Not combinable with freePerHour, which is the older spelling of freeUnits with freePeriod HOUR.
|
|
10996
|
+
New free allowance in raw metric units per freePeriod, as a BigInt decimal string. Must be >= 0. Leaves the period as it is unless freePeriod is also given. Not combinable with freePerHour, which is the older spelling of freeUnits with freePeriod HOUR. Like a price, it applies from a dimension's next period where a period has already been charged.
|
|
10995
10997
|
"""
|
|
10996
10998
|
freeUnits: BigInt
|
|
10997
10999
|
"""
|
|
@@ -10999,7 +11001,7 @@ input SetRateCardInput {
|
|
|
10999
11001
|
"""
|
|
11000
11002
|
freePeriod: AllowancePeriod
|
|
11001
11003
|
"""
|
|
11002
|
-
New monthly free allowance in raw metric units, as a BigInt decimal string. Must be >= 0. On the PLAYER card with metric player_wasm_compute_units this is the pooled monthly TRIAL BUDGET per (player, app) — the only sanctioned way to change it on a live tier. Omit to leave it unchanged.
|
|
11004
|
+
New monthly free allowance in raw metric units, as a BigInt decimal string. Must be >= 0. On the PLAYER card with metric player_wasm_compute_units this is the pooled monthly TRIAL BUDGET per (player, app) — the only sanctioned way to change it on a live tier. Omit to leave it unchanged. Like a price, it applies from a dimension's next period where a period has already been charged.
|
|
11003
11005
|
"""
|
|
11004
11006
|
freePerMonth: BigInt
|
|
11005
11007
|
"""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""GENERATED by scripts/codegen.py from schema.gql. Do not edit.
|
|
2
2
|
|
|
3
|
-
schema.gql sha256:
|
|
3
|
+
schema.gql sha256: 90d407b44d95416f23384023451b54edf73e18881dcad9ad9f06b20d8bd3fdfd
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
from enum import StrEnum
|
|
@@ -364,7 +364,7 @@ class PlayerCodeOwnerKind(StrEnum):
|
|
|
364
364
|
|
|
365
365
|
|
|
366
366
|
class RateScope(StrEnum):
|
|
367
|
-
'Which rate card. SHARED prices organization metered usage
|
|
367
|
+
'Which rate card. SHARED prices an organization\'s metered usage in shared-environment apps, charged to the org wallet as "shared_usage" entries. PLAYER prices a player\'s own metered usage (mod compute, egress, model storage and player-paid model tokens), charged to the player wallet as "usage_debit" entries with the app\'s markup added. Both settle about once a minute: each (payer, dimension, period) is charged what its running total now costs beyond what was already charged for it.'
|
|
368
368
|
SHARED = 'SHARED'
|
|
369
369
|
PLAYER = 'PLAYER'
|
|
370
370
|
|
|
@@ -4,7 +4,7 @@ Every GraphQL input object as a msgspec Struct. Attributes are snake_case and en
|
|
|
4
4
|
under their GraphQL names; an attribute left at UNSET is omitted from the request,
|
|
5
5
|
which is how the API tells 'not provided' from an explicit null.
|
|
6
6
|
|
|
7
|
-
schema.gql sha256:
|
|
7
|
+
schema.gql sha256: 90d407b44d95416f23384023451b54edf73e18881dcad9ad9f06b20d8bd3fdfd
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
10
|
from __future__ import annotations
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""GENERATED by scripts/codegen.py from schema.gql and operations/. Do not edit.
|
|
2
2
|
|
|
3
|
-
schema.gql sha256:
|
|
3
|
+
schema.gql sha256: 90d407b44d95416f23384023451b54edf73e18881dcad9ad9f06b20d8bd3fdfd
|
|
4
4
|
operations/ sha256: 37b1e06dc4e997bb42506968c50698a184934581a6d94d9471a29d2ce74ff3d3
|
|
5
5
|
"""
|
|
6
6
|
|
|
@@ -59,11 +59,18 @@ class PlayerWalletAPI(Domain):
|
|
|
59
59
|
def charges(
|
|
60
60
|
self, app_id: str | int | None = None, limit: int | None = None
|
|
61
61
|
) -> list[dict[str, Any]]:
|
|
62
|
-
"""
|
|
62
|
+
"""Deprecated: the cents-era charges, which nothing adds to any more. Use
|
|
63
|
+
:meth:`transactions`: its ``usage_debit`` entries are the usage charges.
|
|
63
64
|
|
|
64
|
-
|
|
65
|
-
|
|
65
|
+
The caller's hourly usage charges from before the lossless ledger, newest first,
|
|
66
|
+
optionally for one app. ``limit`` defaults to 50, at most 200.
|
|
66
67
|
"""
|
|
68
|
+
warnings.warn(
|
|
69
|
+
"PlayerWalletAPI.charges is deprecated: nothing is added to it any more; "
|
|
70
|
+
"the usage_debit entries of transactions are the usage charges",
|
|
71
|
+
DeprecationWarning,
|
|
72
|
+
stacklevel=2,
|
|
73
|
+
)
|
|
67
74
|
result: list[dict[str, Any]] = self._request(
|
|
68
75
|
ops.PLAYER_USAGE_CHARGES, omit_none({"appId": _optional_bigint(app_id), "limit": limit})
|
|
69
76
|
)
|
|
@@ -58,11 +58,18 @@ class PlayerWalletAPI(Domain):
|
|
|
58
58
|
async def charges(
|
|
59
59
|
self, app_id: str | int | None = None, limit: int | None = None
|
|
60
60
|
) -> list[dict[str, Any]]:
|
|
61
|
-
"""
|
|
61
|
+
"""Deprecated: the cents-era charges, which nothing adds to any more. Use
|
|
62
|
+
:meth:`transactions`: its ``usage_debit`` entries are the usage charges.
|
|
62
63
|
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
The caller's hourly usage charges from before the lossless ledger, newest first,
|
|
65
|
+
optionally for one app. ``limit`` defaults to 50, at most 200.
|
|
65
66
|
"""
|
|
67
|
+
warnings.warn(
|
|
68
|
+
"PlayerWalletAPI.charges is deprecated: nothing is added to it any more; "
|
|
69
|
+
"the usage_debit entries of transactions are the usage charges",
|
|
70
|
+
DeprecationWarning,
|
|
71
|
+
stacklevel=2,
|
|
72
|
+
)
|
|
66
73
|
result: list[dict[str, Any]] = await self._request(
|
|
67
74
|
ops.PLAYER_USAGE_CHARGES, omit_none({"appId": _optional_bigint(app_id), "limit": limit})
|
|
68
75
|
)
|
|
@@ -5,7 +5,7 @@ no client-side checks), so the contract under test is the operation, the variabl
|
|
|
5
5
|
arguments as decimal strings, omitted optionals, idempotency keys under the document's
|
|
6
6
|
variable name) and the root field handed back untouched. On top of that: the one argument
|
|
7
7
|
whose omission and explicit null differ (``set_auto_billing``'s ``limit_cents``) and the
|
|
8
|
-
deprecated ``app_markup_accrued``.
|
|
8
|
+
deprecated ``app_markup_accrued`` and ``charges``.
|
|
9
9
|
"""
|
|
10
10
|
|
|
11
11
|
from __future__ import annotations
|
|
@@ -435,16 +435,6 @@ CASES: list[Case] = [
|
|
|
435
435
|
{"limit": 20, "offset": 40},
|
|
436
436
|
[ROW],
|
|
437
437
|
),
|
|
438
|
-
Case(PlayerWalletAPI, "charges", (), "PlayerUsageCharges", {}, [ROW]),
|
|
439
|
-
Case(
|
|
440
|
-
PlayerWalletAPI,
|
|
441
|
-
"charges",
|
|
442
|
-
(42,),
|
|
443
|
-
"PlayerUsageCharges",
|
|
444
|
-
{"appId": "42", "limit": 5},
|
|
445
|
-
[ROW],
|
|
446
|
-
{"limit": 5},
|
|
447
|
-
),
|
|
448
438
|
Case(PlayerWalletAPI, "spend_caps", (), "PlayerSpendCaps", {}, [ROW]),
|
|
449
439
|
Case(
|
|
450
440
|
PlayerWalletAPI,
|
|
@@ -546,6 +536,7 @@ def test_method_set_is_crowdyjs_snake_cased_and_every_method_is_covered(
|
|
|
546
536
|
covered = {case.method for case in CASES if case.domain is domain}
|
|
547
537
|
if domain is PlayerWalletAPI:
|
|
548
538
|
covered.add("app_markup_accrued") # test_app_markup_accrued_is_deprecated
|
|
539
|
+
covered.add("charges") # test_charges_is_deprecated
|
|
549
540
|
assert covered == ported
|
|
550
541
|
|
|
551
542
|
|
|
@@ -587,6 +578,19 @@ async def test_app_markup_accrued_is_deprecated(api: MockApi, graphql: AsyncGrap
|
|
|
587
578
|
assert api.last.variables == {"appId": "42"}
|
|
588
579
|
|
|
589
580
|
|
|
581
|
+
async def test_charges_is_deprecated(api: MockApi, graphql: AsyncGraphQLClient) -> None:
|
|
582
|
+
wallet = PlayerWalletAPI(graphql)
|
|
583
|
+
api.reply_with_root([ROW])
|
|
584
|
+
with pytest.warns(DeprecationWarning, match="usage_debit"):
|
|
585
|
+
assert await wallet.charges() == [ROW]
|
|
586
|
+
assert api.last.operation_name == "PlayerUsageCharges"
|
|
587
|
+
assert api.last.query == ops.PLAYER_USAGE_CHARGES.document
|
|
588
|
+
assert api.last.variables == {}
|
|
589
|
+
with pytest.warns(DeprecationWarning, match="usage_debit"):
|
|
590
|
+
await wallet.charges(42, limit=5)
|
|
591
|
+
assert api.last.variables == {"appId": "42", "limit": 5}
|
|
592
|
+
|
|
593
|
+
|
|
590
594
|
async def test_a_bad_id_is_refused_before_anything_is_sent(
|
|
591
595
|
api: MockApi, graphql: AsyncGraphQLClient
|
|
592
596
|
) -> None:
|