crowdypy 0.13.0.dev1__tar.gz → 0.14.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.13.0.dev1 → crowdypy-0.14.0.dev1}/MIGRATION.md +19 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/PKG-INFO +8 -1
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/README.md +7 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/docs/compatibility.md +1 -1
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/docs/parity-matrix.md +94 -3
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/pyproject.toml +8 -8
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/schema.gql +6 -4
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_generated/enums.py +1 -1
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_generated/inputs.py +1 -1
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_generated/operations.py +1 -1
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/__init__.py +36 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/kit.py +100 -1
- crowdypy-0.14.0.dev1/src/crowdypy/_sync/kit/modules/market.py +209 -0
- crowdypy-0.14.0.dev1/src/crowdypy/_sync/kit/modules/player.py +362 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/protocol.py +2 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/runtime.py +11 -1
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_version.py +1 -1
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/__init__.py +36 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/kit.py +100 -1
- crowdypy-0.14.0.dev1/src/crowdypy/kit/modules/market.py +208 -0
- crowdypy-0.14.0.dev1/src/crowdypy/kit/modules/player.py +361 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/protocol.py +2 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/runtime.py +11 -1
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/player_host/schemas.v1.json +2 -2
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/fixtures/kit-protocol.json +2192 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/fixtures/player-host.v1.json +2 -2
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_kit_protocol.py +106 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/uv.lock +1 -1
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/CMakeLists.txt +1 -1
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/PROVENANCE.md +1 -1
- crowdypy-0.14.0.dev1/vendor/CrowdyCPP/include/crowdy/kit/economy.hpp +313 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/kit.hpp +48 -2
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/protocol.hpp +2 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/package.json +3 -3
- crowdypy-0.14.0.dev1/vendor/CrowdyCPP/src/kit/economy.cpp +356 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/kit/runtime.cpp +10 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/crowdy-studio-diagnostics.v1.json +2 -2
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/crowdyjs-studio-layout.v1.json +2 -2
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/kit-protocol.json +2192 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/.gitattributes +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/.gitignore +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/.gitleaks.toml +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/AGENTS.md +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/CMakeLists.txt +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/LICENSE +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/SECURITY.md +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/benchmarks/README.md +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/benchmarks/bench_replication.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/docs/e2e-coverage.md +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/licenses/OpenSSL-LICENSE.txt +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/native/common.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/native/module.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/native/replication.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/native/replication_binding.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/native/session_binding.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/native/voice_binding.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/native/wire_binding.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/actors/Actor.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/actors/Actors.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/actors/BatchLookupActors.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/actors/CreateActor.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/actors/DeleteActor.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/actors/UpdateActor.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/actors/UpdateActorState.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/appAccess/AppAccessTiers.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/appAccess/AppFeatures.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/appAccess/AppGrantMemberCandidates.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/appAccess/AppUserAccessByApp.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/appAccess/ArchiveAccessTier.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/appAccess/ClaimFreeAppAccess.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/appAccess/CreateAccessTier.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/appAccess/DefineAppFeature.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/appAccess/GrantAppAccess.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/appAccess/GrantMyAppAccess.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/appAccess/GrantTierFeature.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/appAccess/MyAppAccess.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/appAccess/RevokeAppAccess.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/appAccess/RevokeTierFeature.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/appAccess/RuntimePermissions.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/appAccess/SuspendAppAccess.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/appAccess/TierFeatures.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/appAccess/UpdateAccessTier.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/apps/App.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/apps/AppBySlug.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/apps/AppDiscovery.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/apps/AppsForOrg.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/apps/ArchiveApp.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/apps/CodeAdmissions.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/apps/CreateApp.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/apps/MarketplaceApps.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/apps/MyApps.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/apps/PlaceableDatacenters.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/apps/UpdateApp.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/auth/Logout.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/auth/LogoutAllDevices.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/avatars/Avatars.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/billing/AppBudget.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/billing/AppBudgets.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/billing/SetAppBudget.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/billing/WalletBalance.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/billing/WalletTransactions.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/AddChannelMember.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/BanChannelMember.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/Channel.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/ChannelMembers.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/ChannelPolicy.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/ChannelRoles.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/Channels.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/CreateChannel.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/CreateChannelRole.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/DeleteChannel.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/DeleteChannelRole.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/JoinChannel.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/LeaveChannel.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/MyChannels.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/RemoveChannelMember.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/RequestToJoinChannel.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/SetChannelMemberRoles.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/SetChannelPolicy.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/UnbanChannelMember.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/UpdateChannel.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/channels/UpdateChannelRole.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/chunks/GetChunk.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/chunks/GetChunkLods.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/chunks/GetChunksByDistance.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/chunks/GetVoxelList.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/chunks/UpdateChunk.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/chunks/UpdateChunkLods.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/chunks/UpdateChunkState.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/crowdyStudio/CrowdyStudio.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/exec/Exec.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/gameApps/GameApps.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/grids/CreateGridChannel.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/grids/GridChannels.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/grids/MintGridToken.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/host/Host.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/inputLog/InputLogMessages.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/inputLog/InputLogSessions.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/marketplace/Marketplace.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/organizations/CreateOrgRole.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/organizations/CreateOrgToken.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/organizations/CreateOrganization.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/organizations/DeleteOrgRole.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/organizations/InviteOrgMember.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/organizations/MemberRoles.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/organizations/MyOrganizations.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/organizations/OrgMembers.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/organizations/OrgPermissions.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/organizations/OrgRoles.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/organizations/OrgTokens.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/organizations/Organization.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/organizations/OrganizationBySlug.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/organizations/RemoveOrgMember.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/organizations/RevokeOrgToken.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/organizations/UpdateOrgMemberRoles.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/organizations/UpdateOrgRole.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/organizations/UpdateOrgToken.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/payments/CapturePaypalCheckout.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/payments/CreateCheckout.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/payments/MyCheckouts.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/platform/PlatformConfig.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/playerWallet/PlayerWallet.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/quotas/DeleteQuota.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/quotas/EffectiveQuota.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/quotas/QuotasForApp.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/quotas/QuotasForOrg.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/quotas/SetQuota.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/serverStatus/ActiveGraphQLServers.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/serverStatus/GameClientBootstrap.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/serverStatus/GraphqlServers.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/serverStatus/ServerWithLeastClients.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/serverStatus/VersionInfo.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/sharedEnvironment/SharedEnvironment.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/state/DeleteUserAppState.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/state/UpdateUserAppState.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/state/UserAppState.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/state/UserAppStates.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/AddTeamMember.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/BanTeamMember.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/CreateTeam.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/CreateTeamRole.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/DeleteTeam.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/DeleteTeamRole.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/JoinTeam.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/LeaveTeam.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/MyTeams.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/RemoveTeamMember.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/RequestToJoinTeam.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/SetTeamMemberRoles.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/SetTeamPolicy.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/Team.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/TeamMembers.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/TeamPolicy.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/TeamRoles.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/Teams.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/UnbanTeamMember.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/UpdateTeam.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teams/UpdateTeamRole.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/teleport/TeleportRequest.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/usage/AppGraphqlOperations.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/usage/AppUsageSummary.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/usage/PlayerPulse.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/users/DeleteMyAccount.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/users/FreePlayWindow.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/users/Me.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/users/PlayerProfile.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/users/UpdateGamertag.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/users/UpdateUserState.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/users/User.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/voxels/ListVoxelUpdatesByDistance.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/voxels/ListVoxels.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/voxels/RollbackVoxelUpdates.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/voxels/UpdateVoxel.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/operations/voxels/VoxelUpdateHistory.graphql +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/scripts/_pins.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/scripts/ci/assert_default_origin.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/scripts/ci/build_openssl.sh +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/scripts/ci/check_content_policy.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/scripts/ci/check_pin_tiers.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/scripts/ci/cibw_before_all_linux.sh +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/scripts/ci/resolve-release-tier.sh +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/scripts/ci/resolve-release-tier.test.sh +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/scripts/ci/resolve_pypi_version.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/scripts/ci/stamp_version.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/scripts/ci/verify_artifacts.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/scripts/codegen.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/scripts/schema_drift.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/scripts/schema_sync.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/scripts/unasync.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/scripts/vendor_crowdycpp.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/__init__.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_concurrency.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_default_origin.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_generated/__init__.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_grid.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_native.pyi +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_operation.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/__init__.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/client.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/__init__.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/_base.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/actors.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/admin.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/app_access.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/apps.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/auth.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/avatars.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/billing.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/channels.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/chunks.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/crowdy_studio.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/crowdy_studio_agent.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/crowdy_studio_github.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/discovery.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/exec.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/game_apps.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/grids.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/host.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/input_log.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/marketplace.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/organizations.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/payments.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/platform.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/player_wallet.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/portal.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/quotas.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/server_status.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/shared_environment.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/state.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/teams.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/teleport.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/udp.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/usage.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/users.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/domains/voxels.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/graphql.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/grid_scope.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/actions.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/mirror.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/modules/__init__.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/modules/arenas.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/modules/encounters.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/modules/instances.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/modules/leaderboards.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/modules/matchmaking.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/modules/minigames.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/modules/npcs.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/modules/presence.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/modules/racing.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/modules/sessions.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/modules/tables.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/modules/tactics.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/modules/territory.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/modules/world.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/realtime.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/social.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/store.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/topology.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/kit/wire.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/rediscover.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/stores.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/_sync/world.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/auth_state.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/client.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/codecs.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/datacenter_redirect.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/__init__.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/_base.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/actors.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/admin.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/app_access.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/apps.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/auth.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/avatars.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/billing.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/channels.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/chunks.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/crowdy_studio.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/crowdy_studio_agent.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/crowdy_studio_github.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/discovery.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/exec.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/game_apps.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/grids.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/host.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/input_log.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/marketplace.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/organizations.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/payments.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/platform.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/player_wallet.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/portal.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/quotas.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/server_status.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/shared_environment.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/state.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/teams.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/teleport.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/udp.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/usage.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/users.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/domains/voxels.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/enums.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/errors.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/estate.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/exec_gateway.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/graphql.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/grid_scope.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/inputs.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/actions.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/mirror.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/modules/__init__.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/modules/arenas.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/modules/encounters.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/modules/instances.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/modules/leaderboards.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/modules/matchmaking.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/modules/minigames.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/modules/npcs.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/modules/presence.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/modules/racing.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/modules/sessions.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/modules/tables.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/modules/tactics.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/modules/territory.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/modules/world.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/realtime.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/social.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/store.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/topology.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/kit/wire.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/lb_cookie.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/media.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/pkce.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/player_host/__init__.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/player_host/agent_errors.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/player_host/agent_types.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/player_host/json_schema.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/player_host/schemas.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/player_host/types.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/py.typed +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/rediscover.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/replication.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/session.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/stores.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/studio/__init__.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/studio/client_tick_interval.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/studio/controller.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/studio/diagnostics.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/studio/github_new_repo.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/studio/layout.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/studio/models.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/studio/starter_projects.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/subscriptions.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/sync.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/utils.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/wire.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/src/crowdypy/world.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/conftest.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/e2e/__init__.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/e2e/conftest.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/e2e/test_e2e_identity.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/e2e/test_e2e_input_log.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/e2e/test_e2e_open_grid_exec_gateway.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/e2e/test_e2e_ranged_channel.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/e2e/test_e2e_replication.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/e2e/test_e2e_studio.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/e2e/test_e2e_world.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/e2e/test_e2e_world_data.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/fixtures/README.md +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/fixtures/binary-wire-fixtures.json +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/fixtures/exec-client-frames.json +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/fixtures/voice-frames.json +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/__init__.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/domains/__init__.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/domains/test_crowdycpp_roots.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/domains/test_input_log_reads.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/domains/test_org_domains.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/domains/test_social_domains.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/domains/test_studio_exec_domains.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/domains/test_world_domains.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_check_pin_tiers.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_core.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_durable_stores.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_estate_moves.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_exec_gateway.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_fixture_provenance.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_grid_scope.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_kit.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_lazy_exports.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_player_host.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_refusals.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_release_versions.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_replication.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_sdk_audience.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_studio_controller.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_studio_diagnostics.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_studio_layout.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_subscriptions.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_transport.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_udp_api.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_voice_frames.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_wire.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tests/unit/test_world_session.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tools/e2e/provision.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tools/fixtures/player_host.mjs +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tools/parity/classifications.toml +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/tools/parity/parity.py +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/LICENSE +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/cmake/CheckPublicHeaders.cmake +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/cmake/CrowdyCPPConfig.cmake.in +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/cmake/CrowdyFindOpus.cmake +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/cmake/studio_layout_fixture.hpp.in +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/client.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/base64.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/bytes.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/clock.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/crypto.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/logger.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/result.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/spsc.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/uuid.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/crowdy.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/default_origin.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/admin.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/auth.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/crowdy_studio.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/crowdy_studio_agent.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/crowdy_studio_github.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/discovery.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/domain_base.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/exec.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/game_apps.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/grids.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/groups.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/marketplace.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/player_wallet.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/portal.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/realtime_control.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/server_status.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/types.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/users.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/world_data.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/generated/enums.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/generated/operations.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/async_scope.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/auth_state.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/cancel.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/datacenter_redirect.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/dispatcher.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/errors.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/estate.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/graphql_client.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/http.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/json.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/rediscover.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/subscription_client.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/websocket.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/actions.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/genres.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/mirror.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/modules.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/realtime.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/runtime.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/social.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/topology.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/wire.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/media/opus.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/media/video_frames.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/media/voice_frames.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/adapter.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/player_host.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/schemas.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/types.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/replication/connection.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/replication/session_provider.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/replication/types.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/replication/udp_socket.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/chunk_store.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/codec.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/durable.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/keys.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/stores.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/world_session.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/controller.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/diagnostics.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/editor.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/github.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/github_layout.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/integration.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/layout.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/models.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/runtime.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/wire/codec.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/wire/protocol.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/include/crowdy/world.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/client.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/core/base64.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/core/clock.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/core/crypto_default_unavailable.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/core/crypto_openssl.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/core/crypto_unavailable.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/core/logger.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/core/uuid.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/domains/exec.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/graphql/async_transport.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/graphql/auth_state.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/graphql/error_extensions.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/graphql/errors.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/graphql/graphql_client.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/graphql/http_curl.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/graphql/http_none.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/graphql/json.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/graphql/subscription_client.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/graphql/websocket_curl.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/graphql/websocket_none.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/kit/genres.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/kit/mirror.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/kit/modules.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/kit/protocol.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/kit/topology.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/media/opus.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/player_host/schemas.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/player_host/types.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/replication/connection.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/replication/socket_errors.hpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/replication/udp_socket.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/session/world_session.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/studio/diagnostics.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/studio/editor.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/src/studio/integration.cpp +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/third_party/yyjson/LICENSE +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/third_party/yyjson/yyjson.c +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/third_party/yyjson/yyjson.h +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/exec-client-frames.json +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/exec-gateway-cases.json +0 -0
- {crowdypy-0.13.0.dev1 → crowdypy-0.14.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/voice-frames.json +0 -0
|
@@ -3,6 +3,25 @@
|
|
|
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.0
|
|
7
|
+
|
|
8
|
+
CrowdyJS 18.13.0 and CrowdyCPP 0.66.0. Additive: the economy, which lives in hub state and is
|
|
9
|
+
not a ledger (HS-52); the `player` and `market` starters need ckx-sdk 0.12.0.
|
|
10
|
+
|
|
11
|
+
- **`kit.player`** (`PlayerKit`), the caller's own hub, keyed by `player_id` (pass it to
|
|
12
|
+
`client.kit()` or let the kit ask who the player is): `watch(*parts)`, `me`, `rules`,
|
|
13
|
+
`profile_of`, `on_event`, and the stores `profile`, `inventory`, `wallet`, `progress`, filled
|
|
14
|
+
as they are read. Its views: `kit.inventory` (`items`, `count`, `discard`, `take_mail`),
|
|
15
|
+
`kit.wallet` (`balances`, `balance`), `kit.progression` (`on_level`, `profile_of`),
|
|
16
|
+
`kit.achievements` (`list`, `on_unlock`), `kit.quests` (`list`, `accept`, `claim`, `step`),
|
|
17
|
+
`kit.crafting` (`recipes`, `craft(recipe, times)`), `kit.loot` (`tables`, `open`),
|
|
18
|
+
`kit.production` (`view`, `collect`).
|
|
19
|
+
- **Markets**: `kit.shops.at(key)` (`vendors`, `buy`, `sell`), `kit.market.at(key)` (`book`,
|
|
20
|
+
`order(item=, side=, price=, count=)`, `cancel`, `orders` mirrored) and `kit.trades.at(key)`
|
|
21
|
+
(`open`, `offer`, `accept`, `decline`, `mine` mirrored).
|
|
22
|
+
- **`KIT_CODES["UNAVAILABLE"]`**: a hub refuses a change it could not finish because another hub
|
|
23
|
+
did not answer and keeps no receipt; the kit sends a call with an action id again.
|
|
24
|
+
|
|
6
25
|
## 0.13.0
|
|
7
26
|
|
|
8
27
|
CrowdyJS 18.12.0 and CrowdyCPP 0.65.0. Additive: a kit module per ck-exec genre starter
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crowdypy
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.14.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,13 @@ 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.0: the economy (CrowdyJS 18.13.0, CrowdyCPP 0.66.0).** `kit.player`, the caller's own
|
|
55
|
+
`player` hub, and its views `kit.inventory`, `kit.wallet`, `kit.progression`,
|
|
56
|
+
`kit.achievements`, `kit.quests`, `kit.crafting`, `kit.loot` and `kit.production`; markets by
|
|
57
|
+
name: `kit.shops.at(key)`, `kit.market.at(key)` and `kit.trades.at(key)`. It lives in hub state
|
|
58
|
+
and is not a ledger. A change refused `unavailable` is sent again with its action id. They need
|
|
59
|
+
ckx-sdk 0.12.1 in the tier's compute toolchain (dev: v1.15.0).
|
|
60
|
+
|
|
54
61
|
**v0.13.0: the genre starters (CrowdyJS 18.12.0, CrowdyCPP 0.65.0).** Nine more kit modules,
|
|
55
62
|
one per ck-exec genre starter: `kit.leaderboards.board(name)`, `kit.tables.table(key)` (the
|
|
56
63
|
caller's hand as private state), `kit.tactics.battle(key)`, `kit.encounters.encounter(key)`,
|
|
@@ -11,6 +11,13 @@ 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.0: the economy (CrowdyJS 18.13.0, CrowdyCPP 0.66.0).** `kit.player`, the caller's own
|
|
15
|
+
`player` hub, and its views `kit.inventory`, `kit.wallet`, `kit.progression`,
|
|
16
|
+
`kit.achievements`, `kit.quests`, `kit.crafting`, `kit.loot` and `kit.production`; markets by
|
|
17
|
+
name: `kit.shops.at(key)`, `kit.market.at(key)` and `kit.trades.at(key)`. It lives in hub state
|
|
18
|
+
and is not a ledger. A change refused `unavailable` is sent again with its action id. They need
|
|
19
|
+
ckx-sdk 0.12.1 in the tier's compute toolchain (dev: v1.15.0).
|
|
20
|
+
|
|
14
21
|
**v0.13.0: the genre starters (CrowdyJS 18.12.0, CrowdyCPP 0.65.0).** Nine more kit modules,
|
|
15
22
|
one per ck-exec genre starter: `kit.leaderboards.board(name)`, `kit.tables.table(key)` (the
|
|
16
23
|
caller's hand as private state), `kit.tactics.battle(key)`, `kit.encounters.encounter(key)`,
|
|
@@ -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.14.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
|
|
@@ -4,14 +4,14 @@ 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.13.0` at `7aeee709ad661c836a045f2d396c9a867f1d278a`
|
|
8
|
+
- CrowdyCPP (native core): `0.66.0` at `d57cafe80c48c45fdf9ae14309d59b80d466d308`
|
|
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: 1352
|
|
15
15
|
- Portable gap: 0
|
|
16
16
|
- Native equivalent: 44
|
|
17
17
|
- Browser exclusion: 113
|
|
@@ -448,6 +448,7 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
448
448
|
|
|
449
449
|
| CrowdyJS -> CrowdyPy | Status |
|
|
450
450
|
|---|---|
|
|
451
|
+
| `AchievementsKit -> AchievementsKit` | covered |
|
|
451
452
|
| `ActorClient -> ActorClient` | covered |
|
|
452
453
|
| `ActorInbox -> ActorInbox` | covered |
|
|
453
454
|
| `ActorsAPI -> ActorsAPI` | covered |
|
|
@@ -467,6 +468,7 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
467
468
|
| `ChunkStore -> ChunkStore` | covered |
|
|
468
469
|
| `ChunksAPI -> ChunksAPI` | covered |
|
|
469
470
|
| `CollectionMirror -> CollectionMirror` | covered |
|
|
471
|
+
| `CraftingKit -> CraftingKit` | covered |
|
|
470
472
|
| `CrowdyClient -> AsyncCrowdyClient` | covered |
|
|
471
473
|
| `CrowdyStudioAPI -> CrowdyStudioAPI` | covered |
|
|
472
474
|
| `CrowdyStudioController -> CrowdyStudioController` | covered |
|
|
@@ -497,13 +499,18 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
497
499
|
| `InputLogAPI -> InputLogAPI` | covered |
|
|
498
500
|
| `InstanceRun -> InstanceRun` | covered |
|
|
499
501
|
| `InstancesKit -> InstancesKit` | covered |
|
|
502
|
+
| `InventoryKit -> InventoryKit` | covered |
|
|
500
503
|
| `KitError -> KitError` | covered |
|
|
501
504
|
| `KitRuntime -> KitRuntime` | covered |
|
|
502
505
|
| `KitTopology -> KitTopology` | covered |
|
|
503
506
|
| `LeaderboardHandle -> LeaderboardHandle` | covered |
|
|
504
507
|
| `LeaderboardsKit -> LeaderboardsKit` | covered |
|
|
505
508
|
| `LocalActorStore -> LocalActorStore` | covered |
|
|
509
|
+
| `LootKit -> LootKit` | covered |
|
|
510
|
+
| `MarketCore -> MarketCore` | covered |
|
|
511
|
+
| `MarketHandle -> MarketHandle` | covered |
|
|
506
512
|
| `MarketplaceAPI -> MarketplaceAPI` | covered |
|
|
513
|
+
| `MarketsKit -> MarketsKit` | covered |
|
|
507
514
|
| `MatchQueue -> MatchQueue` | covered |
|
|
508
515
|
| `MatchmakingKit -> MatchmakingKit` | covered |
|
|
509
516
|
| `MinigamesKit -> MinigamesKit` | covered |
|
|
@@ -512,9 +519,13 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
512
519
|
| `OrganizationsAPI -> OrganizationsAPI` | covered |
|
|
513
520
|
| `PaymentsAPI -> PaymentsAPI` | covered |
|
|
514
521
|
| `PlatformAPI -> PlatformAPI` | covered |
|
|
522
|
+
| `PlayerKit -> PlayerKit` | covered |
|
|
515
523
|
| `PlayerWalletAPI -> PlayerWalletAPI` | covered |
|
|
516
524
|
| `PortalAPI -> PortalAPI` | covered |
|
|
517
525
|
| `PrivateState -> PrivateState` | covered |
|
|
526
|
+
| `ProductionKit -> ProductionKit` | covered |
|
|
527
|
+
| `ProgressionKit -> ProgressionKit` | covered |
|
|
528
|
+
| `QuestsKit -> QuestsKit` | covered |
|
|
518
529
|
| `QuotasAPI -> QuotasAPI` | covered |
|
|
519
530
|
| `Race -> Race` | covered |
|
|
520
531
|
| `RacingKit -> RacingKit` | covered |
|
|
@@ -525,6 +536,8 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
525
536
|
| `SessionsKit -> SessionsKit` | covered |
|
|
526
537
|
| `ShardKit -> ShardKit` | covered |
|
|
527
538
|
| `SharedEnvironmentAPI -> SharedEnvironmentAPI` | covered |
|
|
539
|
+
| `ShopHandle -> ShopHandle` | covered |
|
|
540
|
+
| `ShopsKit -> ShopsKit` | covered |
|
|
528
541
|
| `SocialKit -> SocialKit` | covered |
|
|
529
542
|
| `SpectateKit -> SpectateKit` | covered |
|
|
530
543
|
| `SpectatorHeartbeat -> SpectatorHeartbeat` | covered |
|
|
@@ -537,12 +550,15 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
537
550
|
| `TeleportAPI -> TeleportAPI` | covered |
|
|
538
551
|
| `TerritoryKit -> TerritoryKit` | covered |
|
|
539
552
|
| `TerritoryMap -> TerritoryMap` | covered |
|
|
553
|
+
| `TradeDesk -> TradeDesk` | covered |
|
|
554
|
+
| `TradesKit -> TradesKit` | covered |
|
|
540
555
|
| `UdpAPI -> UdpAPI` | covered |
|
|
541
556
|
| `UsageAPI -> UsageAPI` | covered |
|
|
542
557
|
| `UsersAPI -> UsersAPI` | covered |
|
|
543
558
|
| `VfsLimitError -> (none)` | browser exclusion — the bounded Monaco / browser-language-worker document workspace |
|
|
544
559
|
| `VirtualFileSystem -> (none)` | browser exclusion — the bounded Monaco / browser-language-worker document workspace |
|
|
545
560
|
| `VoxelsAPI -> VoxelsAPI` | covered |
|
|
561
|
+
| `WalletKit -> WalletKit` | covered |
|
|
546
562
|
| `WorkerLanguageClient -> (none)` | browser exclusion — binds vscode-jsonrpc to browser Web Worker messaging |
|
|
547
563
|
| `WorkerMessageReader -> (none)` | browser exclusion — binds vscode-jsonrpc to browser Web Worker messaging |
|
|
548
564
|
| `WorkerMessageWriter -> (none)` | browser exclusion — binds vscode-jsonrpc to browser Web Worker messaging |
|
|
@@ -556,6 +572,9 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
556
572
|
|
|
557
573
|
| CrowdyJS method | Status |
|
|
558
574
|
|---|---|
|
|
575
|
+
| `AchievementsKit.list` | covered |
|
|
576
|
+
| `AchievementsKit.onUnlock` | covered |
|
|
577
|
+
| `AchievementsKit.watch` | covered |
|
|
559
578
|
| `ActorClient.join` | covered |
|
|
560
579
|
| `ActorClient.sendEvent` | covered |
|
|
561
580
|
| `ActorClient.sendState` | covered |
|
|
@@ -731,6 +750,8 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
731
750
|
| `ChunksAPI.voxelList` | covered |
|
|
732
751
|
| `CollectionMirror.list` | covered |
|
|
733
752
|
| `CollectionMirror.member` | covered |
|
|
753
|
+
| `CraftingKit.craft` | covered |
|
|
754
|
+
| `CraftingKit.recipes` | covered |
|
|
734
755
|
| `CrowdyClient.close` | native equivalent — AsyncCrowdyClient.aclose(), the asyncio spelling; the blocking CrowdyClient has close() |
|
|
735
756
|
| `CrowdyClient.getToken` | covered |
|
|
736
757
|
| `CrowdyClient.graphqlEndpoint` | covered |
|
|
@@ -905,23 +926,35 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
905
926
|
| `GameAppsAPI.setPermissionLimits` | covered |
|
|
906
927
|
| `GameAppsAPI.transferOwnership` | covered |
|
|
907
928
|
| `GameAppsAPI.userPermissions` | covered |
|
|
929
|
+
| `GameKitClient.achievements` | covered |
|
|
908
930
|
| `GameKitClient.arenas` | covered |
|
|
909
931
|
| `GameKitClient.close` | covered |
|
|
932
|
+
| `GameKitClient.crafting` | covered |
|
|
910
933
|
| `GameKitClient.emotes` | covered |
|
|
911
934
|
| `GameKitClient.encounters` | covered |
|
|
912
935
|
| `GameKitClient.instances` | covered |
|
|
936
|
+
| `GameKitClient.inventory` | covered |
|
|
913
937
|
| `GameKitClient.leaderboards` | covered |
|
|
938
|
+
| `GameKitClient.loot` | covered |
|
|
939
|
+
| `GameKitClient.market` | covered |
|
|
914
940
|
| `GameKitClient.matchmaking` | covered |
|
|
915
941
|
| `GameKitClient.minigames` | covered |
|
|
916
942
|
| `GameKitClient.npcs` | covered |
|
|
943
|
+
| `GameKitClient.player` | covered |
|
|
944
|
+
| `GameKitClient.production` | covered |
|
|
945
|
+
| `GameKitClient.progression` | covered |
|
|
946
|
+
| `GameKitClient.quests` | covered |
|
|
917
947
|
| `GameKitClient.racing` | covered |
|
|
918
948
|
| `GameKitClient.sessions` | covered |
|
|
919
949
|
| `GameKitClient.shards` | covered |
|
|
950
|
+
| `GameKitClient.shops` | covered |
|
|
920
951
|
| `GameKitClient.spectate` | covered |
|
|
921
952
|
| `GameKitClient.tables` | covered |
|
|
922
953
|
| `GameKitClient.tactics` | covered |
|
|
923
954
|
| `GameKitClient.territory` | covered |
|
|
924
955
|
| `GameKitClient.topology` | covered |
|
|
956
|
+
| `GameKitClient.trades` | covered |
|
|
957
|
+
| `GameKitClient.wallet` | covered |
|
|
925
958
|
| `GameKitClient.world` | covered |
|
|
926
959
|
| `GameSessionHandle.act` | covered |
|
|
927
960
|
| `GameSessionHandle.configure` | covered |
|
|
@@ -974,6 +1007,11 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
974
1007
|
| `InstanceRun.unwatch` | covered |
|
|
975
1008
|
| `InstanceRun.watch` | covered |
|
|
976
1009
|
| `InstancesKit.run` | covered |
|
|
1010
|
+
| `InventoryKit.count` | covered |
|
|
1011
|
+
| `InventoryKit.discard` | covered |
|
|
1012
|
+
| `InventoryKit.items` | covered |
|
|
1013
|
+
| `InventoryKit.takeMail` | covered |
|
|
1014
|
+
| `InventoryKit.watch` | covered |
|
|
977
1015
|
| `KitError.from` | native equivalent — KitError.from_error(error): `from` is a Python keyword |
|
|
978
1016
|
| `KitRuntime.call` | covered |
|
|
979
1017
|
| `KitRuntime.close` | covered |
|
|
@@ -1009,6 +1047,16 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
1009
1047
|
| `LocalActorStore.setState` | covered |
|
|
1010
1048
|
| `LocalActorStore.state` | covered |
|
|
1011
1049
|
| `LocalActorStore.status` | covered |
|
|
1050
|
+
| `LootKit.open` | covered |
|
|
1051
|
+
| `LootKit.tables` | covered |
|
|
1052
|
+
| `MarketCore.change` | covered |
|
|
1053
|
+
| `MarketHandle.book` | covered |
|
|
1054
|
+
| `MarketHandle.cancel` | covered |
|
|
1055
|
+
| `MarketHandle.order` | covered |
|
|
1056
|
+
| `MarketHandle.orders` | covered |
|
|
1057
|
+
| `MarketHandle.unwatch` | covered |
|
|
1058
|
+
| `MarketHandle.view` | covered |
|
|
1059
|
+
| `MarketHandle.watch` | covered |
|
|
1012
1060
|
| `MarketplaceAPI.admissionQueue` | covered |
|
|
1013
1061
|
| `MarketplaceAPI.appAcquisitions` | covered |
|
|
1014
1062
|
| `MarketplaceAPI.appListings` | covered |
|
|
@@ -1022,6 +1070,7 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
1022
1070
|
| `MarketplaceAPI.setGridClaimPolicy` | covered |
|
|
1023
1071
|
| `MarketplaceAPI.setListingStatus` | covered |
|
|
1024
1072
|
| `MarketplaceAPI.transferListing` | covered |
|
|
1073
|
+
| `MarketsKit.at` | covered |
|
|
1025
1074
|
| `MatchQueue.accept` | covered |
|
|
1026
1075
|
| `MatchQueue.configure` | covered |
|
|
1027
1076
|
| `MatchQueue.decline` | covered |
|
|
@@ -1073,6 +1122,18 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
1073
1122
|
| `PaymentsAPI.mine` | covered |
|
|
1074
1123
|
| `PaymentsAPI.mineConnection` | covered |
|
|
1075
1124
|
| `PlatformAPI.config` | covered |
|
|
1125
|
+
| `PlayerKit.call` | covered |
|
|
1126
|
+
| `PlayerKit.inventory` | covered |
|
|
1127
|
+
| `PlayerKit.key` | covered |
|
|
1128
|
+
| `PlayerKit.me` | covered |
|
|
1129
|
+
| `PlayerKit.onEvent` | covered |
|
|
1130
|
+
| `PlayerKit.profile` | covered |
|
|
1131
|
+
| `PlayerKit.profileOf` | covered |
|
|
1132
|
+
| `PlayerKit.progress` | covered |
|
|
1133
|
+
| `PlayerKit.rules` | covered |
|
|
1134
|
+
| `PlayerKit.unwatch` | covered |
|
|
1135
|
+
| `PlayerKit.wallet` | covered |
|
|
1136
|
+
| `PlayerKit.watch` | covered |
|
|
1076
1137
|
| `PlayerWalletAPI.appMarkupAccrued` | covered |
|
|
1077
1138
|
| `PlayerWalletAPI.appMarkupAccruedMicrousd` | covered |
|
|
1078
1139
|
| `PlayerWalletAPI.appPlayerUsage` | covered |
|
|
@@ -1107,6 +1168,18 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
1107
1168
|
| `PrivateState.start` | covered |
|
|
1108
1169
|
| `PrivateState.stop` | covered |
|
|
1109
1170
|
| `PrivateState.subscribe` | covered |
|
|
1171
|
+
| `ProductionKit.collect` | covered |
|
|
1172
|
+
| `ProductionKit.view` | covered |
|
|
1173
|
+
| `ProgressionKit.onLevel` | covered |
|
|
1174
|
+
| `ProgressionKit.profile` | covered |
|
|
1175
|
+
| `ProgressionKit.profileOf` | covered |
|
|
1176
|
+
| `ProgressionKit.progress` | covered |
|
|
1177
|
+
| `ProgressionKit.watch` | covered |
|
|
1178
|
+
| `QuestsKit.accept` | covered |
|
|
1179
|
+
| `QuestsKit.claim` | covered |
|
|
1180
|
+
| `QuestsKit.list` | covered |
|
|
1181
|
+
| `QuestsKit.step` | covered |
|
|
1182
|
+
| `QuestsKit.watch` | covered |
|
|
1110
1183
|
| `QuotasAPI.effective` | covered |
|
|
1111
1184
|
| `QuotasAPI.forApp` | covered |
|
|
1112
1185
|
| `QuotasAPI.forOrg` | covered |
|
|
@@ -1172,6 +1245,13 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
1172
1245
|
| `SharedEnvironmentAPI.setReservedThroughput` | covered |
|
|
1173
1246
|
| `SharedEnvironmentAPI.setSpendCaps` | covered |
|
|
1174
1247
|
| `SharedEnvironmentAPI.setupPaymentMethod` | covered |
|
|
1248
|
+
| `ShopHandle.buy` | covered |
|
|
1249
|
+
| `ShopHandle.sell` | covered |
|
|
1250
|
+
| `ShopHandle.unwatch` | covered |
|
|
1251
|
+
| `ShopHandle.vendors` | covered |
|
|
1252
|
+
| `ShopHandle.view` | covered |
|
|
1253
|
+
| `ShopHandle.watch` | covered |
|
|
1254
|
+
| `ShopsKit.at` | covered |
|
|
1175
1255
|
| `SocialKit.chat.join` | covered |
|
|
1176
1256
|
| `SocialKit.chat.onMessage` | covered |
|
|
1177
1257
|
| `SocialKit.chat.room` | covered |
|
|
@@ -1242,6 +1322,14 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
1242
1322
|
| `TerritoryMap.reset` | covered |
|
|
1243
1323
|
| `TerritoryMap.unwatch` | covered |
|
|
1244
1324
|
| `TerritoryMap.watch` | covered |
|
|
1325
|
+
| `TradeDesk.accept` | covered |
|
|
1326
|
+
| `TradeDesk.decline` | covered |
|
|
1327
|
+
| `TradeDesk.mine` | covered |
|
|
1328
|
+
| `TradeDesk.offer` | covered |
|
|
1329
|
+
| `TradeDesk.open` | covered |
|
|
1330
|
+
| `TradeDesk.unwatch` | covered |
|
|
1331
|
+
| `TradeDesk.watch` | covered |
|
|
1332
|
+
| `TradesKit.at` | covered |
|
|
1245
1333
|
| `UdpAPI.connect` | covered |
|
|
1246
1334
|
| `UdpAPI.connectionStatus` | covered |
|
|
1247
1335
|
| `UdpAPI.disconnect` | covered |
|
|
@@ -1281,6 +1369,9 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
|
|
|
1281
1369
|
| `VoxelsAPI.listByDistance` | covered |
|
|
1282
1370
|
| `VoxelsAPI.rollback` | covered |
|
|
1283
1371
|
| `VoxelsAPI.update` | covered |
|
|
1372
|
+
| `WalletKit.balance` | covered |
|
|
1373
|
+
| `WalletKit.balances` | covered |
|
|
1374
|
+
| `WalletKit.watch` | covered |
|
|
1284
1375
|
| `WorldClient.actor` | covered |
|
|
1285
1376
|
| `WorldClient.subscribe` | covered |
|
|
1286
1377
|
| `WorldKit.cancel` | covered |
|
|
@@ -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.14.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"
|
|
@@ -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.13.0"
|
|
123
|
+
commit = "7aeee709ad661c836a045f2d396c9a867f1d278a"
|
|
124
124
|
|
|
125
125
|
[tool.crowdypy.crowdycpp]
|
|
126
|
-
version = "0.
|
|
127
|
-
tag = "dev/v0.
|
|
128
|
-
commit = "
|
|
129
|
-
tree-sha256 = "
|
|
126
|
+
version = "0.66.0"
|
|
127
|
+
tag = "dev/v0.66.0"
|
|
128
|
+
commit = "d57cafe80c48c45fdf9ae14309d59b80d466d308"
|
|
129
|
+
tree-sha256 = "e92629e7d769516bdb126b9ad39f489b6d98d6c2f5f03743437127d370a689cf"
|
|
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 = "b8d487684433c99556979ed20283a9abc6b16bb02b9f6508f07600a662265ca0"
|
|
135
135
|
operations-sha256 = "37b1e06dc4e997bb42506968c50698a184934581a6d94d9471a29d2ce74ff3d3"
|
|
136
136
|
|
|
137
137
|
# The SDL the docs site publishes. scripts/schema_drift.py compares the snapshot against it
|
|
@@ -5998,14 +5998,16 @@ type ExecStarter {
|
|
|
5998
5998
|
}
|
|
5999
5999
|
|
|
6000
6000
|
"""
|
|
6001
|
-
The starter packs:
|
|
6001
|
+
The starter packs: the starter crates, and a manifest that deploys them as one app.
|
|
6002
6002
|
"""
|
|
6003
6003
|
type ExecStarterPack {
|
|
6004
6004
|
"""
|
|
6005
|
-
The manifest for `execDeploy` with the build’s id: the root `world` hub
|
|
6005
|
+
The manifest for `execDeploy` with the build’s id: the root `world` hub and the types under it, each naming its crate.
|
|
6006
6006
|
"""
|
|
6007
6007
|
manifestJson: String!
|
|
6008
|
-
"""
|
|
6008
|
+
"""
|
|
6009
|
+
One entry per node type of the manifest: a crate that serves two types appears twice, so build each crate once.
|
|
6010
|
+
"""
|
|
6009
6011
|
starters: [ExecStarter!]!
|
|
6010
6012
|
"""
|
|
6011
6013
|
The mod starter: a player’s code on a grid they own, built with `execModBuild` and deployed with `execModDeploy` rather than in the manifest. Null on a toolchain without it.
|
|
@@ -7877,7 +7879,7 @@ type Query {
|
|
|
7877
7879
|
appId: BigInt!
|
|
7878
7880
|
): ExecAppStatus! @requiresPermission(scope: "app", permission: "view_compute_diagnostics", scopeArg: "appId")
|
|
7879
7881
|
"""
|
|
7880
|
-
The starter packs, which replace the compute templates: ckx-sdk hub crates for a root world, matchmaking, game sessions, NPCs and mobs,
|
|
7882
|
+
The starter packs, which replace the compute templates: ckx-sdk hub crates for a root world, matchmaking, game sessions, NPCs and mobs, game genres (leaderboards, cards, tactics, waves, duels, private runs, arenas, races, territory), and the economy (a player's own hub, markets), to pass to `execBuild`, with a manifest for `execDeploy`. `starters` has one entry per node type, so a crate that serves two types appears twice: build it once. Requires the org 'manage_compute' permission.
|
|
7881
7883
|
"""
|
|
7882
7884
|
execStarters(
|
|
7883
7885
|
"""The app they are for."""
|
|
@@ -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: b8d487684433c99556979ed20283a9abc6b16bb02b9f6508f07600a662265ca0
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
from enum import StrEnum
|
|
@@ -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: b8d487684433c99556979ed20283a9abc6b16bb02b9f6508f07600a662265ca0
|
|
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: b8d487684433c99556979ed20283a9abc6b16bb02b9f6508f07600a662265ca0
|
|
4
4
|
operations/ sha256: 37b1e06dc4e997bb42506968c50698a184934581a6d94d9471a29d2ce74ff3d3
|
|
5
5
|
"""
|
|
6
6
|
|
|
@@ -10,9 +10,29 @@ from crowdypy._sync.kit.modules.arenas import ArenaMatch, ArenasKit
|
|
|
10
10
|
from crowdypy._sync.kit.modules.encounters import Encounter, EncountersKit
|
|
11
11
|
from crowdypy._sync.kit.modules.instances import InstanceRun, InstancesKit
|
|
12
12
|
from crowdypy._sync.kit.modules.leaderboards import LeaderboardHandle, LeaderboardsKit
|
|
13
|
+
from crowdypy._sync.kit.modules.market import (
|
|
14
|
+
MarketCore,
|
|
15
|
+
MarketHandle,
|
|
16
|
+
MarketsKit,
|
|
17
|
+
ShopHandle,
|
|
18
|
+
ShopsKit,
|
|
19
|
+
TradeDesk,
|
|
20
|
+
TradesKit,
|
|
21
|
+
)
|
|
13
22
|
from crowdypy._sync.kit.modules.matchmaking import MatchmakingKit, MatchQueue
|
|
14
23
|
from crowdypy._sync.kit.modules.minigames import Duel, MinigamesKit
|
|
15
24
|
from crowdypy._sync.kit.modules.npcs import NpcArea, NpcsKit
|
|
25
|
+
from crowdypy._sync.kit.modules.player import (
|
|
26
|
+
AchievementsKit,
|
|
27
|
+
CraftingKit,
|
|
28
|
+
InventoryKit,
|
|
29
|
+
LootKit,
|
|
30
|
+
PlayerKit,
|
|
31
|
+
ProductionKit,
|
|
32
|
+
ProgressionKit,
|
|
33
|
+
QuestsKit,
|
|
34
|
+
WalletKit,
|
|
35
|
+
)
|
|
16
36
|
from crowdypy._sync.kit.modules.presence import EmotesKit, SpectateKit, SpectatorHeartbeat
|
|
17
37
|
from crowdypy._sync.kit.modules.racing import BallMatch, Race, RacingKit
|
|
18
38
|
from crowdypy._sync.kit.modules.sessions import GameSessionHandle, SessionsKit, session_turn
|
|
@@ -141,6 +161,7 @@ __all__ = [
|
|
|
141
161
|
"KIT_SUBSCRIPTIONS_MAX",
|
|
142
162
|
"POSE_BYTES",
|
|
143
163
|
"AbilityEvent",
|
|
164
|
+
"AchievementsKit",
|
|
144
165
|
"ArenaMatch",
|
|
145
166
|
"ArenasKit",
|
|
146
167
|
"BallMatch",
|
|
@@ -148,6 +169,7 @@ __all__ = [
|
|
|
148
169
|
"CollectionMirror",
|
|
149
170
|
"ContactDamageEvent",
|
|
150
171
|
"ControlPointEvent",
|
|
172
|
+
"CraftingKit",
|
|
151
173
|
"Duel",
|
|
152
174
|
"EmoteEvent",
|
|
153
175
|
"EmotesKit",
|
|
@@ -160,6 +182,7 @@ __all__ = [
|
|
|
160
182
|
"HubState",
|
|
161
183
|
"InstanceRun",
|
|
162
184
|
"InstancesKit",
|
|
185
|
+
"InventoryKit",
|
|
163
186
|
"KitActorState",
|
|
164
187
|
"KitChatMessage",
|
|
165
188
|
"KitContainer",
|
|
@@ -173,6 +196,10 @@ __all__ = [
|
|
|
173
196
|
"KitTopologyPlan",
|
|
174
197
|
"LeaderboardHandle",
|
|
175
198
|
"LeaderboardsKit",
|
|
199
|
+
"LootKit",
|
|
200
|
+
"MarketCore",
|
|
201
|
+
"MarketHandle",
|
|
202
|
+
"MarketsKit",
|
|
176
203
|
"MatchQueue",
|
|
177
204
|
"MatchmakingKit",
|
|
178
205
|
"MinigamesKit",
|
|
@@ -180,15 +207,21 @@ __all__ = [
|
|
|
180
207
|
"NpcArea",
|
|
181
208
|
"NpcsKit",
|
|
182
209
|
"OptimisticActionOutcome",
|
|
210
|
+
"PlayerKit",
|
|
183
211
|
"PossessionEvent",
|
|
184
212
|
"PrivateState",
|
|
213
|
+
"ProductionKit",
|
|
214
|
+
"ProgressionKit",
|
|
185
215
|
"ProposalEvent",
|
|
216
|
+
"QuestsKit",
|
|
186
217
|
"Race",
|
|
187
218
|
"RaceTimingEvent",
|
|
188
219
|
"RacingKit",
|
|
189
220
|
"ScoreEvent",
|
|
190
221
|
"SessionsKit",
|
|
191
222
|
"ShardKit",
|
|
223
|
+
"ShopHandle",
|
|
224
|
+
"ShopsKit",
|
|
192
225
|
"SocialKit",
|
|
193
226
|
"SpectateKit",
|
|
194
227
|
"SpectatorHeartbeat",
|
|
@@ -198,7 +231,10 @@ __all__ = [
|
|
|
198
231
|
"TerritoryKit",
|
|
199
232
|
"TerritoryMap",
|
|
200
233
|
"TopicMirror",
|
|
234
|
+
"TradeDesk",
|
|
235
|
+
"TradesKit",
|
|
201
236
|
"TurnEvent",
|
|
237
|
+
"WalletKit",
|
|
202
238
|
"WeatherEvent",
|
|
203
239
|
"WorldKit",
|
|
204
240
|
"WritableKitStore",
|
|
@@ -10,9 +10,21 @@ from crowdypy._sync.kit.modules.arenas import ArenasKit
|
|
|
10
10
|
from crowdypy._sync.kit.modules.encounters import EncountersKit
|
|
11
11
|
from crowdypy._sync.kit.modules.instances import InstancesKit
|
|
12
12
|
from crowdypy._sync.kit.modules.leaderboards import LeaderboardsKit
|
|
13
|
+
from crowdypy._sync.kit.modules.market import MarketCore, MarketsKit, ShopsKit, TradesKit
|
|
13
14
|
from crowdypy._sync.kit.modules.matchmaking import MatchmakingKit
|
|
14
15
|
from crowdypy._sync.kit.modules.minigames import MinigamesKit
|
|
15
16
|
from crowdypy._sync.kit.modules.npcs import NpcsKit
|
|
17
|
+
from crowdypy._sync.kit.modules.player import (
|
|
18
|
+
AchievementsKit,
|
|
19
|
+
CraftingKit,
|
|
20
|
+
InventoryKit,
|
|
21
|
+
LootKit,
|
|
22
|
+
PlayerKit,
|
|
23
|
+
ProductionKit,
|
|
24
|
+
ProgressionKit,
|
|
25
|
+
QuestsKit,
|
|
26
|
+
WalletKit,
|
|
27
|
+
)
|
|
16
28
|
from crowdypy._sync.kit.modules.presence import EmotesKit, SpectateKit
|
|
17
29
|
from crowdypy._sync.kit.modules.racing import RacingKit
|
|
18
30
|
from crowdypy._sync.kit.modules.sessions import SessionsKit
|
|
@@ -65,7 +77,9 @@ class GameKitClient:
|
|
|
65
77
|
``player_id`` are :class:`~crowdypy.kit.runtime.KitRuntime`'s; ``nodes`` renames the starter
|
|
66
78
|
types a game deployed under other names (``world``, ``matchmaker``, ``session``, ``npcs``,
|
|
67
79
|
``leaderboard``, ``deck``, ``tactics``, ``director``, ``minigame``, ``instance``, ``arena``,
|
|
68
|
-
``race``, ``ball``, ``territory``, ``zone``).
|
|
80
|
+
``race``, ``ball``, ``territory``, ``zone``, ``player``, ``market``). The economy
|
|
81
|
+
(:attr:`player` and its views, :attr:`market`, :attr:`shops`, :attr:`trades`) lives in hub
|
|
82
|
+
state and is not a ledger.
|
|
69
83
|
"""
|
|
70
84
|
|
|
71
85
|
def __init__(
|
|
@@ -123,6 +137,9 @@ class GameKitClient:
|
|
|
123
137
|
self._arenas: ArenasKit | None = None
|
|
124
138
|
self._racing: RacingKit | None = None
|
|
125
139
|
self._territory: TerritoryKit | None = None
|
|
140
|
+
self._player: PlayerKit | None = None
|
|
141
|
+
self._views: dict[str, Any] = {}
|
|
142
|
+
self._markets: dict[str, MarketCore] = {}
|
|
126
143
|
self._topology: KitTopology | None = None
|
|
127
144
|
self._spectate: SpectateKit | None = None
|
|
128
145
|
self._emotes: EmotesKit | None = None
|
|
@@ -234,6 +251,88 @@ class GameKitClient:
|
|
|
234
251
|
)
|
|
235
252
|
return self._territory
|
|
236
253
|
|
|
254
|
+
@property
|
|
255
|
+
def player(self) -> PlayerKit:
|
|
256
|
+
"""The caller's own ``player`` hub: what they own and what they did."""
|
|
257
|
+
if self._player is None:
|
|
258
|
+
self._player = PlayerKit(self.runtime, node_type=self._node("player"))
|
|
259
|
+
return self._player
|
|
260
|
+
|
|
261
|
+
def _view(self, name: str, make: Callable[[], Any]) -> Any:
|
|
262
|
+
if name not in self._views:
|
|
263
|
+
self._views[name] = make()
|
|
264
|
+
return self._views[name]
|
|
265
|
+
|
|
266
|
+
@property
|
|
267
|
+
def inventory(self) -> InventoryKit:
|
|
268
|
+
"""The player's items: stacks in slots, and mail for what did not fit."""
|
|
269
|
+
view: InventoryKit = self._view("inventory", lambda: InventoryKit(self.player))
|
|
270
|
+
return view
|
|
271
|
+
|
|
272
|
+
@property
|
|
273
|
+
def wallet(self) -> WalletKit:
|
|
274
|
+
"""The player's soft currencies."""
|
|
275
|
+
view: WalletKit = self._view("wallet", lambda: WalletKit(self.player))
|
|
276
|
+
return view
|
|
277
|
+
|
|
278
|
+
@property
|
|
279
|
+
def progression(self) -> ProgressionKit:
|
|
280
|
+
"""Experience, levels and public profiles."""
|
|
281
|
+
view: ProgressionKit = self._view("progression", lambda: ProgressionKit(self.player))
|
|
282
|
+
return view
|
|
283
|
+
|
|
284
|
+
@property
|
|
285
|
+
def achievements(self) -> AchievementsKit:
|
|
286
|
+
view: AchievementsKit = self._view("achievements", lambda: AchievementsKit(self.player))
|
|
287
|
+
return view
|
|
288
|
+
|
|
289
|
+
@property
|
|
290
|
+
def quests(self) -> QuestsKit:
|
|
291
|
+
"""Quests, first-session tutorials among them."""
|
|
292
|
+
view: QuestsKit = self._view("quests", lambda: QuestsKit(self.player))
|
|
293
|
+
return view
|
|
294
|
+
|
|
295
|
+
@property
|
|
296
|
+
def crafting(self) -> CraftingKit:
|
|
297
|
+
view: CraftingKit = self._view("crafting", lambda: CraftingKit(self.player))
|
|
298
|
+
return view
|
|
299
|
+
|
|
300
|
+
@property
|
|
301
|
+
def loot(self) -> LootKit:
|
|
302
|
+
"""Loot tables with pity."""
|
|
303
|
+
view: LootKit = self._view("loot", lambda: LootKit(self.player))
|
|
304
|
+
return view
|
|
305
|
+
|
|
306
|
+
@property
|
|
307
|
+
def production(self) -> ProductionKit:
|
|
308
|
+
"""Idle production that catches up on the time away."""
|
|
309
|
+
view: ProductionKit = self._view("production", lambda: ProductionKit(self.player))
|
|
310
|
+
return view
|
|
311
|
+
|
|
312
|
+
def _market(self, key: str) -> MarketCore:
|
|
313
|
+
core = self._markets.get(key)
|
|
314
|
+
if core is None:
|
|
315
|
+
core = self._markets[key] = MarketCore(self.runtime, self._node("market"), key)
|
|
316
|
+
return core
|
|
317
|
+
|
|
318
|
+
@property
|
|
319
|
+
def market(self) -> MarketsKit:
|
|
320
|
+
"""Markets' order books."""
|
|
321
|
+
view: MarketsKit = self._view("market", lambda: MarketsKit(self._market))
|
|
322
|
+
return view
|
|
323
|
+
|
|
324
|
+
@property
|
|
325
|
+
def shops(self) -> ShopsKit:
|
|
326
|
+
"""Markets' vendors."""
|
|
327
|
+
view: ShopsKit = self._view("shops", lambda: ShopsKit(self._market))
|
|
328
|
+
return view
|
|
329
|
+
|
|
330
|
+
@property
|
|
331
|
+
def trades(self) -> TradesKit:
|
|
332
|
+
"""Trades between two players at a market."""
|
|
333
|
+
view: TradesKit = self._view("trades", lambda: TradesKit(self._market))
|
|
334
|
+
return view
|
|
335
|
+
|
|
237
336
|
@property
|
|
238
337
|
def topology(self) -> KitTopology:
|
|
239
338
|
"""Composing and deploying the app's tree of starter hubs (developers)."""
|