crowdypy 0.12.0.dev1__tar.gz → 0.13.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.
Files changed (573) hide show
  1. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/AGENTS.md +3 -1
  2. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/MIGRATION.md +22 -0
  3. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/PKG-INFO +8 -1
  4. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/README.md +7 -0
  5. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/docs/compatibility.md +1 -1
  6. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/docs/parity-matrix.md +118 -3
  7. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/pyproject.toml +8 -8
  8. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/schema.gql +2 -2
  9. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_generated/enums.py +1 -1
  10. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_generated/inputs.py +1 -1
  11. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_generated/operations.py +1 -1
  12. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/kit/__init__.py +31 -2
  13. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/kit/kit.py +95 -3
  14. crowdypy-0.13.0.dev1/src/crowdypy/_sync/kit/modules/arenas.py +86 -0
  15. crowdypy-0.13.0.dev1/src/crowdypy/_sync/kit/modules/encounters.py +74 -0
  16. crowdypy-0.13.0.dev1/src/crowdypy/_sync/kit/modules/instances.py +97 -0
  17. crowdypy-0.13.0.dev1/src/crowdypy/_sync/kit/modules/leaderboards.py +110 -0
  18. crowdypy-0.13.0.dev1/src/crowdypy/_sync/kit/modules/minigames.py +70 -0
  19. crowdypy-0.13.0.dev1/src/crowdypy/_sync/kit/modules/racing.py +145 -0
  20. crowdypy-0.13.0.dev1/src/crowdypy/_sync/kit/modules/tables.py +89 -0
  21. crowdypy-0.13.0.dev1/src/crowdypy/_sync/kit/modules/tactics.py +80 -0
  22. crowdypy-0.13.0.dev1/src/crowdypy/_sync/kit/modules/territory.py +104 -0
  23. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_version.py +1 -1
  24. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/kit/__init__.py +31 -2
  25. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/kit/kit.py +95 -3
  26. crowdypy-0.13.0.dev1/src/crowdypy/kit/modules/arenas.py +85 -0
  27. crowdypy-0.13.0.dev1/src/crowdypy/kit/modules/encounters.py +73 -0
  28. crowdypy-0.13.0.dev1/src/crowdypy/kit/modules/instances.py +96 -0
  29. crowdypy-0.13.0.dev1/src/crowdypy/kit/modules/leaderboards.py +109 -0
  30. crowdypy-0.13.0.dev1/src/crowdypy/kit/modules/minigames.py +69 -0
  31. crowdypy-0.13.0.dev1/src/crowdypy/kit/modules/racing.py +144 -0
  32. crowdypy-0.13.0.dev1/src/crowdypy/kit/modules/tables.py +88 -0
  33. crowdypy-0.13.0.dev1/src/crowdypy/kit/modules/tactics.py +79 -0
  34. crowdypy-0.13.0.dev1/src/crowdypy/kit/modules/territory.py +103 -0
  35. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/player_host/schemas.v1.json +2 -2
  36. crowdypy-0.13.0.dev1/tests/fixtures/kit-protocol.json +9086 -0
  37. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/fixtures/player-host.v1.json +2 -2
  38. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_kit_protocol.py +299 -2
  39. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/uv.lock +1 -1
  40. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/CMakeLists.txt +1 -1
  41. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/PROVENANCE.md +1 -1
  42. crowdypy-0.13.0.dev1/vendor/CrowdyCPP/include/crowdy/kit/genres.hpp +517 -0
  43. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/kit.hpp +59 -1
  44. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/package.json +3 -3
  45. crowdypy-0.13.0.dev1/vendor/CrowdyCPP/src/kit/genres.cpp +309 -0
  46. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/crowdy-studio-diagnostics.v1.json +2 -2
  47. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/crowdyjs-studio-layout.v1.json +2 -2
  48. crowdypy-0.13.0.dev1/vendor/CrowdyCPP/tools/parity/fixtures/kit-protocol.json +9086 -0
  49. crowdypy-0.12.0.dev1/tests/fixtures/kit-protocol.json +0 -2360
  50. crowdypy-0.12.0.dev1/vendor/CrowdyCPP/tools/parity/fixtures/kit-protocol.json +0 -2360
  51. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/.gitattributes +0 -0
  52. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/.gitignore +0 -0
  53. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/.gitleaks.toml +0 -0
  54. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/CMakeLists.txt +0 -0
  55. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/LICENSE +0 -0
  56. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/SECURITY.md +0 -0
  57. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/benchmarks/README.md +0 -0
  58. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/benchmarks/bench_replication.py +0 -0
  59. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/docs/e2e-coverage.md +0 -0
  60. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/licenses/OpenSSL-LICENSE.txt +0 -0
  61. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/native/common.hpp +0 -0
  62. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/native/module.cpp +0 -0
  63. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/native/replication.hpp +0 -0
  64. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/native/replication_binding.cpp +0 -0
  65. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/native/session_binding.cpp +0 -0
  66. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/native/voice_binding.cpp +0 -0
  67. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/native/wire_binding.cpp +0 -0
  68. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/actors/Actor.graphql +0 -0
  69. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/actors/Actors.graphql +0 -0
  70. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/actors/BatchLookupActors.graphql +0 -0
  71. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/actors/CreateActor.graphql +0 -0
  72. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/actors/DeleteActor.graphql +0 -0
  73. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/actors/UpdateActor.graphql +0 -0
  74. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/actors/UpdateActorState.graphql +0 -0
  75. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/appAccess/AppAccessTiers.graphql +0 -0
  76. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/appAccess/AppFeatures.graphql +0 -0
  77. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/appAccess/AppGrantMemberCandidates.graphql +0 -0
  78. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/appAccess/AppUserAccessByApp.graphql +0 -0
  79. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/appAccess/ArchiveAccessTier.graphql +0 -0
  80. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/appAccess/ClaimFreeAppAccess.graphql +0 -0
  81. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/appAccess/CreateAccessTier.graphql +0 -0
  82. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/appAccess/DefineAppFeature.graphql +0 -0
  83. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/appAccess/GrantAppAccess.graphql +0 -0
  84. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/appAccess/GrantMyAppAccess.graphql +0 -0
  85. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/appAccess/GrantTierFeature.graphql +0 -0
  86. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/appAccess/MyAppAccess.graphql +0 -0
  87. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/appAccess/RevokeAppAccess.graphql +0 -0
  88. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/appAccess/RevokeTierFeature.graphql +0 -0
  89. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/appAccess/RuntimePermissions.graphql +0 -0
  90. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/appAccess/SuspendAppAccess.graphql +0 -0
  91. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/appAccess/TierFeatures.graphql +0 -0
  92. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/appAccess/UpdateAccessTier.graphql +0 -0
  93. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/apps/App.graphql +0 -0
  94. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/apps/AppBySlug.graphql +0 -0
  95. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/apps/AppDiscovery.graphql +0 -0
  96. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/apps/AppsForOrg.graphql +0 -0
  97. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/apps/ArchiveApp.graphql +0 -0
  98. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/apps/CodeAdmissions.graphql +0 -0
  99. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/apps/CreateApp.graphql +0 -0
  100. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/apps/MarketplaceApps.graphql +0 -0
  101. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/apps/MyApps.graphql +0 -0
  102. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/apps/PlaceableDatacenters.graphql +0 -0
  103. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/apps/UpdateApp.graphql +0 -0
  104. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/auth/Logout.graphql +0 -0
  105. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/auth/LogoutAllDevices.graphql +0 -0
  106. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/avatars/Avatars.graphql +0 -0
  107. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/billing/AppBudget.graphql +0 -0
  108. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/billing/AppBudgets.graphql +0 -0
  109. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/billing/SetAppBudget.graphql +0 -0
  110. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/billing/WalletBalance.graphql +0 -0
  111. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/billing/WalletTransactions.graphql +0 -0
  112. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/AddChannelMember.graphql +0 -0
  113. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/BanChannelMember.graphql +0 -0
  114. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/Channel.graphql +0 -0
  115. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/ChannelMembers.graphql +0 -0
  116. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/ChannelPolicy.graphql +0 -0
  117. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/ChannelRoles.graphql +0 -0
  118. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/Channels.graphql +0 -0
  119. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/CreateChannel.graphql +0 -0
  120. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/CreateChannelRole.graphql +0 -0
  121. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/DeleteChannel.graphql +0 -0
  122. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/DeleteChannelRole.graphql +0 -0
  123. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/JoinChannel.graphql +0 -0
  124. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/LeaveChannel.graphql +0 -0
  125. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/MyChannels.graphql +0 -0
  126. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/RemoveChannelMember.graphql +0 -0
  127. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/RequestToJoinChannel.graphql +0 -0
  128. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/SetChannelMemberRoles.graphql +0 -0
  129. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/SetChannelPolicy.graphql +0 -0
  130. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/UnbanChannelMember.graphql +0 -0
  131. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/UpdateChannel.graphql +0 -0
  132. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/channels/UpdateChannelRole.graphql +0 -0
  133. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/chunks/GetChunk.graphql +0 -0
  134. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/chunks/GetChunkLods.graphql +0 -0
  135. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/chunks/GetChunksByDistance.graphql +0 -0
  136. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/chunks/GetVoxelList.graphql +0 -0
  137. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/chunks/UpdateChunk.graphql +0 -0
  138. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/chunks/UpdateChunkLods.graphql +0 -0
  139. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/chunks/UpdateChunkState.graphql +0 -0
  140. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/crowdyStudio/CrowdyStudio.graphql +0 -0
  141. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/exec/Exec.graphql +0 -0
  142. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/gameApps/GameApps.graphql +0 -0
  143. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/grids/CreateGridChannel.graphql +0 -0
  144. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/grids/GridChannels.graphql +0 -0
  145. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/grids/MintGridToken.graphql +0 -0
  146. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/host/Host.graphql +0 -0
  147. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/inputLog/InputLogMessages.graphql +0 -0
  148. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/inputLog/InputLogSessions.graphql +0 -0
  149. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/marketplace/Marketplace.graphql +0 -0
  150. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/organizations/CreateOrgRole.graphql +0 -0
  151. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/organizations/CreateOrgToken.graphql +0 -0
  152. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/organizations/CreateOrganization.graphql +0 -0
  153. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/organizations/DeleteOrgRole.graphql +0 -0
  154. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/organizations/InviteOrgMember.graphql +0 -0
  155. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/organizations/MemberRoles.graphql +0 -0
  156. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/organizations/MyOrganizations.graphql +0 -0
  157. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/organizations/OrgMembers.graphql +0 -0
  158. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/organizations/OrgPermissions.graphql +0 -0
  159. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/organizations/OrgRoles.graphql +0 -0
  160. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/organizations/OrgTokens.graphql +0 -0
  161. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/organizations/Organization.graphql +0 -0
  162. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/organizations/OrganizationBySlug.graphql +0 -0
  163. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/organizations/RemoveOrgMember.graphql +0 -0
  164. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/organizations/RevokeOrgToken.graphql +0 -0
  165. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/organizations/UpdateOrgMemberRoles.graphql +0 -0
  166. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/organizations/UpdateOrgRole.graphql +0 -0
  167. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/organizations/UpdateOrgToken.graphql +0 -0
  168. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/payments/CapturePaypalCheckout.graphql +0 -0
  169. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/payments/CreateCheckout.graphql +0 -0
  170. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/payments/MyCheckouts.graphql +0 -0
  171. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/platform/PlatformConfig.graphql +0 -0
  172. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/playerWallet/PlayerWallet.graphql +0 -0
  173. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/quotas/DeleteQuota.graphql +0 -0
  174. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/quotas/EffectiveQuota.graphql +0 -0
  175. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/quotas/QuotasForApp.graphql +0 -0
  176. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/quotas/QuotasForOrg.graphql +0 -0
  177. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/quotas/SetQuota.graphql +0 -0
  178. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/serverStatus/ActiveGraphQLServers.graphql +0 -0
  179. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/serverStatus/GameClientBootstrap.graphql +0 -0
  180. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/serverStatus/GraphqlServers.graphql +0 -0
  181. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/serverStatus/ServerWithLeastClients.graphql +0 -0
  182. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/serverStatus/VersionInfo.graphql +0 -0
  183. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/sharedEnvironment/SharedEnvironment.graphql +0 -0
  184. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/state/DeleteUserAppState.graphql +0 -0
  185. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/state/UpdateUserAppState.graphql +0 -0
  186. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/state/UserAppState.graphql +0 -0
  187. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/state/UserAppStates.graphql +0 -0
  188. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/AddTeamMember.graphql +0 -0
  189. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/BanTeamMember.graphql +0 -0
  190. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/CreateTeam.graphql +0 -0
  191. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/CreateTeamRole.graphql +0 -0
  192. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/DeleteTeam.graphql +0 -0
  193. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/DeleteTeamRole.graphql +0 -0
  194. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/JoinTeam.graphql +0 -0
  195. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/LeaveTeam.graphql +0 -0
  196. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/MyTeams.graphql +0 -0
  197. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/RemoveTeamMember.graphql +0 -0
  198. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/RequestToJoinTeam.graphql +0 -0
  199. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/SetTeamMemberRoles.graphql +0 -0
  200. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/SetTeamPolicy.graphql +0 -0
  201. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/Team.graphql +0 -0
  202. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/TeamMembers.graphql +0 -0
  203. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/TeamPolicy.graphql +0 -0
  204. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/TeamRoles.graphql +0 -0
  205. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/Teams.graphql +0 -0
  206. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/UnbanTeamMember.graphql +0 -0
  207. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/UpdateTeam.graphql +0 -0
  208. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teams/UpdateTeamRole.graphql +0 -0
  209. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/teleport/TeleportRequest.graphql +0 -0
  210. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/usage/AppGraphqlOperations.graphql +0 -0
  211. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/usage/AppUsageSummary.graphql +0 -0
  212. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/usage/PlayerPulse.graphql +0 -0
  213. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/users/DeleteMyAccount.graphql +0 -0
  214. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/users/FreePlayWindow.graphql +0 -0
  215. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/users/Me.graphql +0 -0
  216. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/users/PlayerProfile.graphql +0 -0
  217. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/users/UpdateGamertag.graphql +0 -0
  218. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/users/UpdateUserState.graphql +0 -0
  219. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/users/User.graphql +0 -0
  220. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/voxels/ListVoxelUpdatesByDistance.graphql +0 -0
  221. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/voxels/ListVoxels.graphql +0 -0
  222. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/voxels/RollbackVoxelUpdates.graphql +0 -0
  223. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/voxels/UpdateVoxel.graphql +0 -0
  224. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/operations/voxels/VoxelUpdateHistory.graphql +0 -0
  225. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/scripts/_pins.py +0 -0
  226. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/scripts/ci/assert_default_origin.py +0 -0
  227. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/scripts/ci/build_openssl.sh +0 -0
  228. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/scripts/ci/check_content_policy.py +0 -0
  229. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/scripts/ci/check_pin_tiers.py +0 -0
  230. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/scripts/ci/cibw_before_all_linux.sh +0 -0
  231. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/scripts/ci/resolve-release-tier.sh +0 -0
  232. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/scripts/ci/resolve-release-tier.test.sh +0 -0
  233. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/scripts/ci/resolve_pypi_version.py +0 -0
  234. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/scripts/ci/stamp_version.py +0 -0
  235. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/scripts/ci/verify_artifacts.py +0 -0
  236. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/scripts/codegen.py +0 -0
  237. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/scripts/schema_drift.py +0 -0
  238. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/scripts/schema_sync.py +0 -0
  239. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/scripts/unasync.py +0 -0
  240. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/scripts/vendor_crowdycpp.py +0 -0
  241. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/__init__.py +0 -0
  242. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_concurrency.py +0 -0
  243. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_default_origin.py +0 -0
  244. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_generated/__init__.py +0 -0
  245. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_grid.py +0 -0
  246. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_native.pyi +0 -0
  247. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_operation.py +0 -0
  248. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/__init__.py +0 -0
  249. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/client.py +0 -0
  250. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/__init__.py +0 -0
  251. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/_base.py +0 -0
  252. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/actors.py +0 -0
  253. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/admin.py +0 -0
  254. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/app_access.py +0 -0
  255. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/apps.py +0 -0
  256. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/auth.py +0 -0
  257. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/avatars.py +0 -0
  258. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/billing.py +0 -0
  259. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/channels.py +0 -0
  260. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/chunks.py +0 -0
  261. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/crowdy_studio.py +0 -0
  262. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/crowdy_studio_agent.py +0 -0
  263. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/crowdy_studio_github.py +0 -0
  264. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/discovery.py +0 -0
  265. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/exec.py +0 -0
  266. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/game_apps.py +0 -0
  267. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/grids.py +0 -0
  268. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/host.py +0 -0
  269. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/input_log.py +0 -0
  270. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/marketplace.py +0 -0
  271. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/organizations.py +0 -0
  272. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/payments.py +0 -0
  273. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/platform.py +0 -0
  274. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/player_wallet.py +0 -0
  275. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/portal.py +0 -0
  276. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/quotas.py +0 -0
  277. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/server_status.py +0 -0
  278. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/shared_environment.py +0 -0
  279. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/state.py +0 -0
  280. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/teams.py +0 -0
  281. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/teleport.py +0 -0
  282. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/udp.py +0 -0
  283. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/usage.py +0 -0
  284. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/users.py +0 -0
  285. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/domains/voxels.py +0 -0
  286. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/graphql.py +0 -0
  287. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/grid_scope.py +0 -0
  288. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/kit/actions.py +0 -0
  289. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/kit/mirror.py +0 -0
  290. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/kit/modules/__init__.py +0 -0
  291. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/kit/modules/matchmaking.py +0 -0
  292. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/kit/modules/npcs.py +0 -0
  293. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/kit/modules/presence.py +0 -0
  294. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/kit/modules/sessions.py +0 -0
  295. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/kit/modules/world.py +0 -0
  296. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/kit/protocol.py +0 -0
  297. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/kit/realtime.py +0 -0
  298. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/kit/runtime.py +0 -0
  299. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/kit/social.py +0 -0
  300. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/kit/store.py +0 -0
  301. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/kit/topology.py +0 -0
  302. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/kit/wire.py +0 -0
  303. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/rediscover.py +0 -0
  304. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/stores.py +0 -0
  305. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/_sync/world.py +0 -0
  306. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/auth_state.py +0 -0
  307. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/client.py +0 -0
  308. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/codecs.py +0 -0
  309. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/datacenter_redirect.py +0 -0
  310. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/__init__.py +0 -0
  311. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/_base.py +0 -0
  312. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/actors.py +0 -0
  313. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/admin.py +0 -0
  314. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/app_access.py +0 -0
  315. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/apps.py +0 -0
  316. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/auth.py +0 -0
  317. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/avatars.py +0 -0
  318. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/billing.py +0 -0
  319. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/channels.py +0 -0
  320. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/chunks.py +0 -0
  321. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/crowdy_studio.py +0 -0
  322. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/crowdy_studio_agent.py +0 -0
  323. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/crowdy_studio_github.py +0 -0
  324. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/discovery.py +0 -0
  325. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/exec.py +0 -0
  326. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/game_apps.py +0 -0
  327. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/grids.py +0 -0
  328. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/host.py +0 -0
  329. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/input_log.py +0 -0
  330. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/marketplace.py +0 -0
  331. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/organizations.py +0 -0
  332. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/payments.py +0 -0
  333. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/platform.py +0 -0
  334. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/player_wallet.py +0 -0
  335. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/portal.py +0 -0
  336. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/quotas.py +0 -0
  337. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/server_status.py +0 -0
  338. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/shared_environment.py +0 -0
  339. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/state.py +0 -0
  340. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/teams.py +0 -0
  341. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/teleport.py +0 -0
  342. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/udp.py +0 -0
  343. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/usage.py +0 -0
  344. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/users.py +0 -0
  345. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/domains/voxels.py +0 -0
  346. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/enums.py +0 -0
  347. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/errors.py +0 -0
  348. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/estate.py +0 -0
  349. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/exec_gateway.py +0 -0
  350. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/graphql.py +0 -0
  351. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/grid_scope.py +0 -0
  352. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/inputs.py +0 -0
  353. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/kit/actions.py +0 -0
  354. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/kit/mirror.py +0 -0
  355. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/kit/modules/__init__.py +0 -0
  356. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/kit/modules/matchmaking.py +0 -0
  357. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/kit/modules/npcs.py +0 -0
  358. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/kit/modules/presence.py +0 -0
  359. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/kit/modules/sessions.py +0 -0
  360. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/kit/modules/world.py +0 -0
  361. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/kit/protocol.py +0 -0
  362. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/kit/realtime.py +0 -0
  363. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/kit/runtime.py +0 -0
  364. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/kit/social.py +0 -0
  365. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/kit/store.py +0 -0
  366. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/kit/topology.py +0 -0
  367. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/kit/wire.py +0 -0
  368. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/lb_cookie.py +0 -0
  369. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/media.py +0 -0
  370. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/pkce.py +0 -0
  371. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/player_host/__init__.py +0 -0
  372. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/player_host/agent_errors.py +0 -0
  373. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/player_host/agent_types.py +0 -0
  374. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/player_host/json_schema.py +0 -0
  375. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/player_host/schemas.py +0 -0
  376. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/player_host/types.py +0 -0
  377. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/py.typed +0 -0
  378. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/rediscover.py +0 -0
  379. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/replication.py +0 -0
  380. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/session.py +0 -0
  381. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/stores.py +0 -0
  382. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/studio/__init__.py +0 -0
  383. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/studio/client_tick_interval.py +0 -0
  384. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/studio/controller.py +0 -0
  385. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/studio/diagnostics.py +0 -0
  386. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/studio/github_new_repo.py +0 -0
  387. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/studio/layout.py +0 -0
  388. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/studio/models.py +0 -0
  389. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/studio/starter_projects.py +0 -0
  390. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/subscriptions.py +0 -0
  391. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/sync.py +0 -0
  392. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/utils.py +0 -0
  393. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/wire.py +0 -0
  394. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/src/crowdypy/world.py +0 -0
  395. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/conftest.py +0 -0
  396. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/e2e/__init__.py +0 -0
  397. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/e2e/conftest.py +0 -0
  398. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/e2e/test_e2e_identity.py +0 -0
  399. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/e2e/test_e2e_input_log.py +0 -0
  400. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/e2e/test_e2e_open_grid_exec_gateway.py +0 -0
  401. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/e2e/test_e2e_ranged_channel.py +0 -0
  402. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/e2e/test_e2e_replication.py +0 -0
  403. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/e2e/test_e2e_studio.py +0 -0
  404. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/e2e/test_e2e_world.py +0 -0
  405. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/e2e/test_e2e_world_data.py +0 -0
  406. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/fixtures/README.md +0 -0
  407. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/fixtures/binary-wire-fixtures.json +0 -0
  408. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/fixtures/exec-client-frames.json +0 -0
  409. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/fixtures/voice-frames.json +0 -0
  410. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/__init__.py +0 -0
  411. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/domains/__init__.py +0 -0
  412. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/domains/test_crowdycpp_roots.py +0 -0
  413. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/domains/test_input_log_reads.py +0 -0
  414. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/domains/test_org_domains.py +0 -0
  415. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/domains/test_social_domains.py +0 -0
  416. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/domains/test_studio_exec_domains.py +0 -0
  417. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/domains/test_world_domains.py +0 -0
  418. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_check_pin_tiers.py +0 -0
  419. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_core.py +0 -0
  420. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_durable_stores.py +0 -0
  421. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_estate_moves.py +0 -0
  422. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_exec_gateway.py +0 -0
  423. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_fixture_provenance.py +0 -0
  424. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_grid_scope.py +0 -0
  425. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_kit.py +0 -0
  426. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_lazy_exports.py +0 -0
  427. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_player_host.py +0 -0
  428. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_refusals.py +0 -0
  429. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_release_versions.py +0 -0
  430. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_replication.py +0 -0
  431. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_sdk_audience.py +0 -0
  432. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_studio_controller.py +0 -0
  433. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_studio_diagnostics.py +0 -0
  434. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_studio_layout.py +0 -0
  435. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_subscriptions.py +0 -0
  436. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_transport.py +0 -0
  437. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_udp_api.py +0 -0
  438. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_voice_frames.py +0 -0
  439. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_wire.py +0 -0
  440. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tests/unit/test_world_session.py +0 -0
  441. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tools/e2e/provision.py +0 -0
  442. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tools/fixtures/player_host.mjs +0 -0
  443. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tools/parity/classifications.toml +0 -0
  444. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/tools/parity/parity.py +0 -0
  445. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/LICENSE +0 -0
  446. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/cmake/CheckPublicHeaders.cmake +0 -0
  447. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/cmake/CrowdyCPPConfig.cmake.in +0 -0
  448. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/cmake/CrowdyFindOpus.cmake +0 -0
  449. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/cmake/studio_layout_fixture.hpp.in +0 -0
  450. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/client.hpp +0 -0
  451. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/base64.hpp +0 -0
  452. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/bytes.hpp +0 -0
  453. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/clock.hpp +0 -0
  454. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/crypto.hpp +0 -0
  455. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/logger.hpp +0 -0
  456. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/result.hpp +0 -0
  457. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/spsc.hpp +0 -0
  458. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/uuid.hpp +0 -0
  459. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/crowdy.hpp +0 -0
  460. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/default_origin.hpp +0 -0
  461. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/admin.hpp +0 -0
  462. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/auth.hpp +0 -0
  463. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/crowdy_studio.hpp +0 -0
  464. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/crowdy_studio_agent.hpp +0 -0
  465. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/crowdy_studio_github.hpp +0 -0
  466. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/discovery.hpp +0 -0
  467. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/domain_base.hpp +0 -0
  468. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/exec.hpp +0 -0
  469. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/game_apps.hpp +0 -0
  470. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/grids.hpp +0 -0
  471. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/groups.hpp +0 -0
  472. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/marketplace.hpp +0 -0
  473. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/player_wallet.hpp +0 -0
  474. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/portal.hpp +0 -0
  475. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/realtime_control.hpp +0 -0
  476. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/server_status.hpp +0 -0
  477. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/types.hpp +0 -0
  478. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/users.hpp +0 -0
  479. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/world_data.hpp +0 -0
  480. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/generated/enums.hpp +0 -0
  481. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/generated/operations.hpp +0 -0
  482. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/async_scope.hpp +0 -0
  483. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/auth_state.hpp +0 -0
  484. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/cancel.hpp +0 -0
  485. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/datacenter_redirect.hpp +0 -0
  486. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/dispatcher.hpp +0 -0
  487. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/errors.hpp +0 -0
  488. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/estate.hpp +0 -0
  489. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/graphql_client.hpp +0 -0
  490. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/http.hpp +0 -0
  491. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/json.hpp +0 -0
  492. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/rediscover.hpp +0 -0
  493. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/subscription_client.hpp +0 -0
  494. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/websocket.hpp +0 -0
  495. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/actions.hpp +0 -0
  496. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/mirror.hpp +0 -0
  497. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/modules.hpp +0 -0
  498. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/protocol.hpp +0 -0
  499. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/realtime.hpp +0 -0
  500. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/runtime.hpp +0 -0
  501. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/social.hpp +0 -0
  502. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/topology.hpp +0 -0
  503. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/wire.hpp +0 -0
  504. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/media/opus.hpp +0 -0
  505. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/media/video_frames.hpp +0 -0
  506. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/media/voice_frames.hpp +0 -0
  507. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/adapter.hpp +0 -0
  508. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/player_host.hpp +0 -0
  509. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/schemas.hpp +0 -0
  510. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/types.hpp +0 -0
  511. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/replication/connection.hpp +0 -0
  512. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/replication/session_provider.hpp +0 -0
  513. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/replication/types.hpp +0 -0
  514. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/replication/udp_socket.hpp +0 -0
  515. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/chunk_store.hpp +0 -0
  516. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/codec.hpp +0 -0
  517. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/durable.hpp +0 -0
  518. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/keys.hpp +0 -0
  519. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/stores.hpp +0 -0
  520. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/world_session.hpp +0 -0
  521. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/controller.hpp +0 -0
  522. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/diagnostics.hpp +0 -0
  523. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/editor.hpp +0 -0
  524. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/github.hpp +0 -0
  525. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/github_layout.hpp +0 -0
  526. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/integration.hpp +0 -0
  527. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/layout.hpp +0 -0
  528. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/models.hpp +0 -0
  529. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/runtime.hpp +0 -0
  530. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/wire/codec.hpp +0 -0
  531. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/wire/protocol.hpp +0 -0
  532. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/include/crowdy/world.hpp +0 -0
  533. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/client.cpp +0 -0
  534. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/core/base64.cpp +0 -0
  535. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/core/clock.cpp +0 -0
  536. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/core/crypto_default_unavailable.cpp +0 -0
  537. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/core/crypto_openssl.cpp +0 -0
  538. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/core/crypto_unavailable.cpp +0 -0
  539. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/core/logger.cpp +0 -0
  540. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/core/uuid.cpp +0 -0
  541. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/domains/exec.cpp +0 -0
  542. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/graphql/async_transport.cpp +0 -0
  543. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/graphql/auth_state.cpp +0 -0
  544. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/graphql/error_extensions.hpp +0 -0
  545. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/graphql/errors.cpp +0 -0
  546. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/graphql/graphql_client.cpp +0 -0
  547. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/graphql/http_curl.cpp +0 -0
  548. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/graphql/http_none.cpp +0 -0
  549. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/graphql/json.cpp +0 -0
  550. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/graphql/subscription_client.cpp +0 -0
  551. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/graphql/websocket_curl.cpp +0 -0
  552. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/graphql/websocket_none.cpp +0 -0
  553. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/kit/mirror.cpp +0 -0
  554. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/kit/modules.cpp +0 -0
  555. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/kit/protocol.cpp +0 -0
  556. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/kit/runtime.cpp +0 -0
  557. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/kit/topology.cpp +0 -0
  558. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/media/opus.cpp +0 -0
  559. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/player_host/schemas.cpp +0 -0
  560. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/player_host/types.cpp +0 -0
  561. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/replication/connection.cpp +0 -0
  562. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/replication/socket_errors.hpp +0 -0
  563. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/replication/udp_socket.cpp +0 -0
  564. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/session/world_session.cpp +0 -0
  565. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/studio/diagnostics.cpp +0 -0
  566. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/studio/editor.cpp +0 -0
  567. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/src/studio/integration.cpp +0 -0
  568. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/third_party/yyjson/LICENSE +0 -0
  569. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/third_party/yyjson/yyjson.c +0 -0
  570. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/third_party/yyjson/yyjson.h +0 -0
  571. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/exec-client-frames.json +0 -0
  572. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/exec-gateway-cases.json +0 -0
  573. {crowdypy-0.12.0.dev1 → crowdypy-0.13.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/voice-frames.json +0 -0
@@ -142,7 +142,9 @@ Merging a PR from the command line: `gh pr merge` fails its preflight on this or
142
142
 
143
143
  `src/crowdypy/kit/` is the client half of `ckx_sdk::kit`, ported from CrowdyJS `src/kit/` (the
144
144
  parity gate reads `src/kit/modules/` too since 0.12.0): one `KitRuntime` per kit, mirrors
145
- (`mirror.py`), the typed modules (`modules/`), `topology.py` and `realtime.py`. It is async source
145
+ (`mirror.py`), the typed modules (`modules/`, the genre starters' since 0.13.0; a keyword name
146
+ takes a trailing underscore, `pass_`, which the parity gate's `norm()` matches), `topology.py`
147
+ and `realtime.py`. It is async source
146
148
  like the rest of the client, so `scripts/unasync.py` generates the blocking kit, and it may use no
147
149
  asyncio beyond `asyncio.sleep`. **A push or reconnect handler never waits on a call.** The
148
150
  blocking `ExecConnection` runs them on its reader thread, so a call made there would wait on a
@@ -3,6 +3,28 @@
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.13.0
7
+
8
+ CrowdyJS 18.12.0 and CrowdyCPP 0.65.0. Additive: a kit module per ck-exec genre starter
9
+ (ckx-sdk 0.11.0, which the tier's compute toolchain must carry; `kit.topology` lists, builds and
10
+ deploys them like the others). Against an app that does not run one, its calls are refused with
11
+ `NotFound` (the app has no such node type).
12
+
13
+ - **The modules.** `kit.leaderboards.board(name)` (`view` mirrored, `top(limit=, offset=)`,
14
+ `around(player=, radius=)`, `me`, `season`; `submit`, `configure`, `roll` for developers),
15
+ `kit.tables.table(key)` (`table` mirrored, `hand` private, `join`, `start`, `play(card, suit)`,
16
+ `draw`, `pass_`), `kit.tactics.battle(key)` (`move(x, z)`, `attack`, `end_turn`, `my_units`),
17
+ `kit.encounters.encounter(key)` (`build(x, z)`, `hit`), `kit.minigames.duel(key)` (`throw`,
18
+ `rematch`), `kit.instances.run(key)` (`open(seed=, party=)`, `invite`, `join`, `enter`,
19
+ `descend`, `abandon`), `kit.arenas.arena(key)` (`join(hero_class)`, `start`, `move(x, z)`,
20
+ `cast(ability, x, z)`), `kit.racing.race(key)` (`pos`, `ghost`) and `kit.racing.ball(key)`
21
+ (`claim`, `pass_`, `shoot`), `kit.territory.map(key)` (`join(faction)`, `reset`) and
22
+ `kit.territory.zone(key)`. `pass` is a Python keyword, so it is `pass_`.
23
+ - **Node types** a game deployed under other names go in `nodes=`: `leaderboard`, `deck`,
24
+ `tactics`, `director`, `minigame`, `instance`, `arena`, `race`, `ball`, `territory`, `zone`.
25
+ - **Positions the hub keeps.** `move` / `pos` answer `[x, z]`, the position the hub's movement
26
+ warden kept, and go without an action id: the next report replaces a lost one.
27
+
6
28
  ## 0.12.0
7
29
 
8
30
  CrowdyJS 18.11.0 and CrowdyCPP 0.64.0. Additive. The kit's typed clients drive the ck-exec
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crowdypy
3
- Version: 0.12.0.dev1
3
+ Version: 0.13.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.13.0: the genre starters (CrowdyJS 18.12.0, CrowdyCPP 0.65.0).** Nine more kit modules,
55
+ one per ck-exec genre starter: `kit.leaderboards.board(name)`, `kit.tables.table(key)` (the
56
+ caller's hand as private state), `kit.tactics.battle(key)`, `kit.encounters.encounter(key)`,
57
+ `kit.minigames.duel(key)`, `kit.instances.run(key)`, `kit.arenas.arena(key)`,
58
+ `kit.racing.race(key)` / `ball(key)` and `kit.territory.map(key)` / `zone(key)`, in both clients.
59
+ They need a compute toolchain with ckx-sdk 0.11.0 on the tier.
60
+
54
61
  **v0.12.0: the Game Kit on ck-exec (CrowdyJS 18.11.0, CrowdyCPP 0.64.0).** `client.kit(app_id)`
55
62
  gains typed clients for the ck-exec starter hubs, the client half of the game kit whose server
56
63
  half is `ckx_sdk::kit`: `kit.world` (conditions and resource nodes mirrored, harvests, liveops for
@@ -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.13.0: the genre starters (CrowdyJS 18.12.0, CrowdyCPP 0.65.0).** Nine more kit modules,
15
+ one per ck-exec genre starter: `kit.leaderboards.board(name)`, `kit.tables.table(key)` (the
16
+ caller's hand as private state), `kit.tactics.battle(key)`, `kit.encounters.encounter(key)`,
17
+ `kit.minigames.duel(key)`, `kit.instances.run(key)`, `kit.arenas.arena(key)`,
18
+ `kit.racing.race(key)` / `ball(key)` and `kit.territory.map(key)` / `zone(key)`, in both clients.
19
+ They need a compute toolchain with ckx-sdk 0.11.0 on the tier.
20
+
14
21
  **v0.12.0: the Game Kit on ck-exec (CrowdyJS 18.11.0, CrowdyCPP 0.64.0).** `client.kit(app_id)`
15
22
  gains typed clients for the ck-exec starter hubs, the client half of the game kit whose server
16
23
  half is `ckx_sdk::kit`: `kit.world` (conditions and resource nodes mirrored, harvests, liveops for
@@ -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.12.0`
8
+ - CrowdyPy `0.13.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.11.0` at `5167437788a8ea683d2fde6d3bafa2639feaa45e`
8
- - CrowdyCPP (native core): `0.64.0` at `78ac8396d4bd0b3bfdd271c867f480e471488095`
7
+ - CrowdyJS: `18.12.0` at `43faedd482469ba520b17097b3a67509d029a59d`
8
+ - CrowdyCPP (native core): `0.65.0` at `866804861bd319a6f376db2dd24b9b6d2f14900c`
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: 1146
14
+ - Covered: 1261
15
15
  - Portable gap: 0
16
16
  - Native equivalent: 44
17
17
  - Browser exclusion: 113
@@ -453,11 +453,15 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
453
453
  | `ActorsAPI -> ActorsAPI` | covered |
454
454
  | `AppAccessAPI -> AppAccessAPI` | covered |
455
455
  | `AppsAPI -> AppsAPI` | covered |
456
+ | `ArenaMatch -> ArenaMatch` | covered |
457
+ | `ArenasKit -> ArenasKit` | covered |
456
458
  | `AuthAPI -> AuthAPI` | covered |
457
459
  | `AvatarStateStore -> AvatarStateStore` | covered |
458
460
  | `AvatarsAPI -> AvatarsAPI` | covered |
461
+ | `BallMatch -> BallMatch` | covered |
459
462
  | `BillingAPI -> BillingAPI` | covered |
460
463
  | `BrowserSessionPkceStore -> (none)` | browser exclusion — sessionStorage-backed PKCE verifier store; a Python application keeps verifiers in MemoryPkceStore or its own PkceStore |
464
+ | `CardTable -> CardTable` | covered |
461
465
  | `ChannelInbox -> ChannelInbox` | covered |
462
466
  | `ChannelsAPI -> ChannelsAPI` | covered |
463
467
  | `ChunkStore -> ChunkStore` | covered |
@@ -472,8 +476,11 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
472
476
  | `CrowdyStudioGitHubTransport -> CrowdyStudioGitHubTransport` | covered |
473
477
  | `CrowdyStudioTextHud -> (none)` | browser exclusion — HUD layer renders text-only player presentation into game-owned DOM |
474
478
  | `DiscoveryDomain -> DiscoveryDomain` | covered |
479
+ | `Duel -> Duel` | covered |
475
480
  | `EmbeddedHost -> (none)` | browser exclusion — iframe/postMessage bridge to the first-party shell page; there is no frame around a Python client |
476
481
  | `EmotesKit -> EmotesKit` | covered |
482
+ | `Encounter -> Encounter` | covered |
483
+ | `EncountersKit -> EncountersKit` | covered |
477
484
  | `ErrorStore -> ErrorStore` | covered |
478
485
  | `EventRouter -> EventRouter` | covered |
479
486
  | `ExecAPI -> ExecAPI` | covered |
@@ -488,13 +495,18 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
488
495
  | `HostTracker -> HostTracker` | covered |
489
496
  | `HostingAPI -> (none)` | browser exclusion — wrapper over the Crowdy Games hosting roots, which publish browser bundles; no Python client publishes one (CrowdyCPP classifies it the same way) |
490
497
  | `InputLogAPI -> InputLogAPI` | covered |
498
+ | `InstanceRun -> InstanceRun` | covered |
499
+ | `InstancesKit -> InstancesKit` | covered |
491
500
  | `KitError -> KitError` | covered |
492
501
  | `KitRuntime -> KitRuntime` | covered |
493
502
  | `KitTopology -> KitTopology` | covered |
503
+ | `LeaderboardHandle -> LeaderboardHandle` | covered |
504
+ | `LeaderboardsKit -> LeaderboardsKit` | covered |
494
505
  | `LocalActorStore -> LocalActorStore` | covered |
495
506
  | `MarketplaceAPI -> MarketplaceAPI` | covered |
496
507
  | `MatchQueue -> MatchQueue` | covered |
497
508
  | `MatchmakingKit -> MatchmakingKit` | covered |
509
+ | `MinigamesKit -> MinigamesKit` | covered |
498
510
  | `NpcArea -> NpcArea` | covered |
499
511
  | `NpcsKit -> NpcsKit` | covered |
500
512
  | `OrganizationsAPI -> OrganizationsAPI` | covered |
@@ -504,6 +516,8 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
504
516
  | `PortalAPI -> PortalAPI` | covered |
505
517
  | `PrivateState -> PrivateState` | covered |
506
518
  | `QuotasAPI -> QuotasAPI` | covered |
519
+ | `Race -> Race` | covered |
520
+ | `RacingKit -> RacingKit` | covered |
507
521
  | `RemoteActorLane -> RemoteActorLane` | covered |
508
522
  | `RemoteActorStore -> RemoteActorStore` | covered |
509
523
  | `SaveStateStore -> SaveStateStore` | covered |
@@ -516,8 +530,13 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
516
530
  | `SpectatorHeartbeat -> SpectatorHeartbeat` | covered |
517
531
  | `StateAPI -> StateAPI` | covered |
518
532
  | `StudioLayoutController -> StudioLayoutController` | covered |
533
+ | `TablesKit -> TablesKit` | covered |
534
+ | `TacticsBattle -> TacticsBattle` | covered |
535
+ | `TacticsKit -> TacticsKit` | covered |
519
536
  | `TeamsAPI -> TeamsAPI` | covered |
520
537
  | `TeleportAPI -> TeleportAPI` | covered |
538
+ | `TerritoryKit -> TerritoryKit` | covered |
539
+ | `TerritoryMap -> TerritoryMap` | covered |
521
540
  | `UdpAPI -> UdpAPI` | covered |
522
541
  | `UsageAPI -> UsageAPI` | covered |
523
542
  | `UsersAPI -> UsersAPI` | covered |
@@ -531,6 +550,7 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
531
550
  | `WorldKit -> WorldKit` | covered |
532
551
  | `WorldSessionCore -> WorldSessionCore` | covered |
533
552
  | `WritableKitStore -> WritableKitStore` | covered |
553
+ | `ZoneMatch -> ZoneMatch` | covered |
534
554
 
535
555
  ## Methods
536
556
 
@@ -592,6 +612,14 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
592
612
  | `AppsAPI.routeFor` | covered |
593
613
  | `AppsAPI.setCodeAdmissionMode` | covered |
594
614
  | `AppsAPI.update` | covered |
615
+ | `ArenaMatch.cast` | covered |
616
+ | `ArenaMatch.join` | covered |
617
+ | `ArenaMatch.leave` | covered |
618
+ | `ArenaMatch.move` | covered |
619
+ | `ArenaMatch.start` | covered |
620
+ | `ArenaMatch.unwatch` | covered |
621
+ | `ArenaMatch.watch` | covered |
622
+ | `ArenasKit.arena` | covered |
595
623
  | `AuthAPI.availableLoginProviders` | covered |
596
624
  | `AuthAPI.changePassword` | covered |
597
625
  | `AuthAPI.checkAuthMethod` | covered |
@@ -630,12 +658,28 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
630
658
  | `AvatarsAPI.update` | covered |
631
659
  | `AvatarsAPI.updateAppState` | covered |
632
660
  | `AvatarsAPI.updateState` | covered |
661
+ | `BallMatch.claim` | covered |
662
+ | `BallMatch.join` | covered |
663
+ | `BallMatch.pass` | covered |
664
+ | `BallMatch.pos` | covered |
665
+ | `BallMatch.shoot` | covered |
666
+ | `BallMatch.start` | covered |
667
+ | `BallMatch.unwatch` | covered |
668
+ | `BallMatch.watch` | covered |
633
669
  | `BillingAPI.appBudget` | covered |
634
670
  | `BillingAPI.appBudgets` | covered |
635
671
  | `BillingAPI.setAppBudget` | covered |
636
672
  | `BillingAPI.walletBalance` | covered |
637
673
  | `BillingAPI.walletTransactions` | covered |
638
674
  | `BillingAPI.walletTransactionsConnection` | covered |
675
+ | `CardTable.draw` | covered |
676
+ | `CardTable.join` | covered |
677
+ | `CardTable.leave` | covered |
678
+ | `CardTable.pass` | covered |
679
+ | `CardTable.play` | covered |
680
+ | `CardTable.start` | covered |
681
+ | `CardTable.unwatch` | covered |
682
+ | `CardTable.watch` | covered |
639
683
  | `ChannelInbox.channels` | covered |
640
684
  | `ChannelInbox.clear` | covered |
641
685
  | `ChannelInbox.decodeFailures` | covered |
@@ -765,8 +809,21 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
765
809
  | `CrowdyStudioGitHubTransport.unbind` | covered |
766
810
  | `DiscoveryDomain.app` | covered |
767
811
  | `DiscoveryDomain.apps` | covered |
812
+ | `Duel.join` | covered |
813
+ | `Duel.leave` | covered |
814
+ | `Duel.rematch` | covered |
815
+ | `Duel.throw` | covered |
816
+ | `Duel.unwatch` | covered |
817
+ | `Duel.watch` | covered |
768
818
  | `EmotesKit.parse` | covered |
769
819
  | `EmotesKit.send` | covered |
820
+ | `Encounter.build` | covered |
821
+ | `Encounter.hit` | covered |
822
+ | `Encounter.join` | covered |
823
+ | `Encounter.start` | covered |
824
+ | `Encounter.unwatch` | covered |
825
+ | `Encounter.watch` | covered |
826
+ | `EncountersKit.encounter` | covered |
770
827
  | `ErrorStore.clear` | covered |
771
828
  | `ErrorStore.last` | covered |
772
829
  | `ErrorStore.lastFor` | covered |
@@ -848,13 +905,22 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
848
905
  | `GameAppsAPI.setPermissionLimits` | covered |
849
906
  | `GameAppsAPI.transferOwnership` | covered |
850
907
  | `GameAppsAPI.userPermissions` | covered |
908
+ | `GameKitClient.arenas` | covered |
851
909
  | `GameKitClient.close` | covered |
852
910
  | `GameKitClient.emotes` | covered |
911
+ | `GameKitClient.encounters` | covered |
912
+ | `GameKitClient.instances` | covered |
913
+ | `GameKitClient.leaderboards` | covered |
853
914
  | `GameKitClient.matchmaking` | covered |
915
+ | `GameKitClient.minigames` | covered |
854
916
  | `GameKitClient.npcs` | covered |
917
+ | `GameKitClient.racing` | covered |
855
918
  | `GameKitClient.sessions` | covered |
856
919
  | `GameKitClient.shards` | covered |
857
920
  | `GameKitClient.spectate` | covered |
921
+ | `GameKitClient.tables` | covered |
922
+ | `GameKitClient.tactics` | covered |
923
+ | `GameKitClient.territory` | covered |
858
924
  | `GameKitClient.topology` | covered |
859
925
  | `GameKitClient.world` | covered |
860
926
  | `GameSessionHandle.act` | covered |
@@ -899,6 +965,15 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
899
965
  | `HostTracker.onHostChanged` | covered |
900
966
  | `InputLogAPI.messages` | covered |
901
967
  | `InputLogAPI.sessions` | covered |
968
+ | `InstanceRun.abandon` | covered |
969
+ | `InstanceRun.descend` | covered |
970
+ | `InstanceRun.enter` | covered |
971
+ | `InstanceRun.invite` | covered |
972
+ | `InstanceRun.join` | covered |
973
+ | `InstanceRun.open` | covered |
974
+ | `InstanceRun.unwatch` | covered |
975
+ | `InstanceRun.watch` | covered |
976
+ | `InstancesKit.run` | covered |
902
977
  | `KitError.from` | native equivalent — KitError.from_error(error): `from` is a Python keyword |
903
978
  | `KitRuntime.call` | covered |
904
979
  | `KitRuntime.close` | covered |
@@ -912,6 +987,16 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
912
987
  | `KitTopology.pack` | covered |
913
988
  | `KitTopology.plan` | covered |
914
989
  | `KitTopology.types` | covered |
990
+ | `LeaderboardHandle.around` | covered |
991
+ | `LeaderboardHandle.configure` | covered |
992
+ | `LeaderboardHandle.me` | covered |
993
+ | `LeaderboardHandle.roll` | covered |
994
+ | `LeaderboardHandle.season` | covered |
995
+ | `LeaderboardHandle.submit` | covered |
996
+ | `LeaderboardHandle.top` | covered |
997
+ | `LeaderboardHandle.unwatch` | covered |
998
+ | `LeaderboardHandle.watch` | covered |
999
+ | `LeaderboardsKit.board` | covered |
915
1000
  | `LocalActorStore.chunk` | covered |
916
1001
  | `LocalActorStore.join` | covered |
917
1002
  | `LocalActorStore.lastAck` | covered |
@@ -948,6 +1033,7 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
948
1033
  | `MatchQueue.unwatch` | covered |
949
1034
  | `MatchQueue.watch` | covered |
950
1035
  | `MatchmakingKit.queue` | covered |
1036
+ | `MinigamesKit.duel` | covered |
951
1037
  | `NpcArea.adopt` | covered |
952
1038
  | `NpcArea.attack` | covered |
953
1039
  | `NpcArea.dismiss` | covered |
@@ -1026,6 +1112,15 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
1026
1112
  | `QuotasAPI.forOrg` | covered |
1027
1113
  | `QuotasAPI.remove` | covered |
1028
1114
  | `QuotasAPI.set` | covered |
1115
+ | `Race.ghost` | covered |
1116
+ | `Race.join` | covered |
1117
+ | `Race.leave` | covered |
1118
+ | `Race.pos` | covered |
1119
+ | `Race.start` | covered |
1120
+ | `Race.unwatch` | covered |
1121
+ | `Race.watch` | covered |
1122
+ | `RacingKit.ball` | covered |
1123
+ | `RacingKit.race` | covered |
1029
1124
  | `RemoteActorLane.apply` | covered |
1030
1125
  | `RemoteActorLane.clear` | covered |
1031
1126
  | `RemoteActorLane.count` | covered |
@@ -1109,6 +1204,16 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
1109
1204
  | `StudioLayoutController.setVisible` | covered |
1110
1205
  | `StudioLayoutController.subscribe` | covered |
1111
1206
  | `StudioLayoutController.toggle` | covered |
1207
+ | `TablesKit.table` | covered |
1208
+ | `TacticsBattle.attack` | covered |
1209
+ | `TacticsBattle.endTurn` | covered |
1210
+ | `TacticsBattle.join` | covered |
1211
+ | `TacticsBattle.move` | covered |
1212
+ | `TacticsBattle.myUnits` | covered |
1213
+ | `TacticsBattle.start` | covered |
1214
+ | `TacticsBattle.unwatch` | covered |
1215
+ | `TacticsBattle.watch` | covered |
1216
+ | `TacticsKit.battle` | covered |
1112
1217
  | `TeamsAPI.addMember` | covered |
1113
1218
  | `TeamsAPI.ban` | covered |
1114
1219
  | `TeamsAPI.create` | covered |
@@ -1131,6 +1236,12 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
1131
1236
  | `TeamsAPI.update` | covered |
1132
1237
  | `TeamsAPI.updateRole` | covered |
1133
1238
  | `TeleportAPI.request` | covered |
1239
+ | `TerritoryKit.map` | covered |
1240
+ | `TerritoryKit.zone` | covered |
1241
+ | `TerritoryMap.join` | covered |
1242
+ | `TerritoryMap.reset` | covered |
1243
+ | `TerritoryMap.unwatch` | covered |
1244
+ | `TerritoryMap.watch` | covered |
1134
1245
  | `UdpAPI.connect` | covered |
1135
1246
  | `UdpAPI.connectionStatus` | covered |
1136
1247
  | `UdpAPI.disconnect` | covered |
@@ -1184,6 +1295,10 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
1184
1295
  | `WritableKitStore.get` | covered |
1185
1296
  | `WritableKitStore.set` | covered |
1186
1297
  | `WritableKitStore.subscribe` | covered |
1298
+ | `ZoneMatch.join` | covered |
1299
+ | `ZoneMatch.start` | covered |
1300
+ | `ZoneMatch.unwatch` | covered |
1301
+ | `ZoneMatch.watch` | covered |
1187
1302
 
1188
1303
  ## Package exports
1189
1304
 
@@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build"
4
4
 
5
5
  [project]
6
6
  name = "crowdypy"
7
- version = "0.12.0.dev1"
7
+ version = "0.13.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.11.0"
123
- commit = "5167437788a8ea683d2fde6d3bafa2639feaa45e"
122
+ version = "18.12.0"
123
+ commit = "43faedd482469ba520b17097b3a67509d029a59d"
124
124
 
125
125
  [tool.crowdypy.crowdycpp]
126
- version = "0.64.0"
127
- tag = "dev/v0.64.0"
128
- commit = "78ac8396d4bd0b3bfdd271c867f480e471488095"
129
- tree-sha256 = "db5facc1d3ad24f049623916e71a1020d9f6cdb79bc8fa9df091f926f67aa053"
126
+ version = "0.65.0"
127
+ tag = "dev/v0.65.0"
128
+ commit = "866804861bd319a6f376db2dd24b9b6d2f14900c"
129
+ tree-sha256 = "92c909a4bb760548d9745860eb56cfb5f25f578e8d5614fb9c93dc0648082a37"
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 = "3cdc1b7196de4a006ab595401e7ff09b6549a79e346d43356e2162653e59c43e"
134
+ schema-sha256 = "acdebaf09f49900f18b4c6e213f47058aa19512f16ca4de4de6343c39ecd492d"
135
135
  operations-sha256 = "37b1e06dc4e997bb42506968c50698a184934581a6d94d9471a29d2ce74ff3d3"
136
136
 
137
137
  # The SDL the docs site publishes. scripts/schema_drift.py compares the snapshot against it
@@ -7877,7 +7877,7 @@ type Query {
7877
7877
  appId: BigInt!
7878
7878
  ): ExecAppStatus! @requiresPermission(scope: "app", permission: "view_compute_diagnostics", scopeArg: "appId")
7879
7879
  """
7880
- The starter packs, which replace the compute templates: a world tick (the root hub: clock, weather, resource nodes, liveops events), a matchmaker, game sessions (lobby, host, turns, scores) and an NPC and mob engine, as ckx-sdk crates to pass to `execBuild` and a manifest for `execDeploy`. Requires the org 'manage_compute' permission.
7880
+ The starter packs, which replace the compute templates: ckx-sdk hub crates for a root world, matchmaking, game sessions, NPCs and mobs, and game genres (leaderboards, cards, tactics, waves, duels, private runs, arenas, races, territory), 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
7881
  """
7882
7882
  execStarters(
7883
7883
  """The app they are for."""
@@ -9441,7 +9441,7 @@ type Mutation {
9441
9441
  """
9442
9442
  updateVoxel(input: UpdateVoxelInput!): Voxel! @requiresPermission(scope: "runtime", permission: "update_voxel_data", scopeArg: "input.appId")
9443
9443
  """
9444
- Reverts every voxel edit made by `userId` in `appId` between `from` and `to`, returning one RollbackVoxelEventResult per affected voxel (`applied` tells you whether each was actually changed). DEFAULTS to dryRun=true, which only PREVIEWS the planned reversions without writing; pass dryRun=false to actually apply them (DESTRUCTIVE — mutates world state). A reverted voxel’s edit-log row takes the earlier edit’s type, state and author and the ROLLBACK’s time as its createdAt, so a client reading edits `since` its last sync sees the revert. Requires a valid bearer token AND the `manage_apps` permission on the org that owns `appId` (super admins bypass).
9444
+ Reverts every voxel edit made by `userId` in `appId` between `from` and `to`, returning one RollbackVoxelEventResult per affected voxel (`applied` tells you whether each was actually changed). DEFAULTS to dryRun=true, which only PREVIEWS the planned reversions without writing; pass dryRun=false to actually apply them (DESTRUCTIVE — mutates world state). A reverted voxel’s edit-log row takes the earlier edit’s type, state and author and the ROLLBACK’s time as its createdAt, so a client reading edits `since` its last sync sees the revert. When the app’s wilderness is closed (`wildernessOpen` false), an applied rollback that would write any chunk of closed, unclaimed wilderness is refused (403) before it writes anything; a dry run is not. Requires a valid bearer token AND the `manage_apps` permission on the org that owns `appId` (super admins bypass).
9445
9445
  """
9446
9446
  rollbackVoxelUpdates(input: RollbackVoxelUpdatesInput!): [RollbackVoxelEventResult!]! @requiresPermission(scope: "app", permission: "manage_apps", scopeArg: "input.appId")
9447
9447
  """
@@ -1,6 +1,6 @@
1
1
  """GENERATED by scripts/codegen.py from schema.gql. Do not edit.
2
2
 
3
- schema.gql sha256: 3cdc1b7196de4a006ab595401e7ff09b6549a79e346d43356e2162653e59c43e
3
+ schema.gql sha256: acdebaf09f49900f18b4c6e213f47058aa19512f16ca4de4de6343c39ecd492d
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: 3cdc1b7196de4a006ab595401e7ff09b6549a79e346d43356e2162653e59c43e
7
+ schema.gql sha256: acdebaf09f49900f18b4c6e213f47058aa19512f16ca4de4de6343c39ecd492d
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: 3cdc1b7196de4a006ab595401e7ff09b6549a79e346d43356e2162653e59c43e
3
+ schema.gql sha256: acdebaf09f49900f18b4c6e213f47058aa19512f16ca4de4de6343c39ecd492d
4
4
  operations/ sha256: 37b1e06dc4e997bb42506968c50698a184934581a6d94d9471a29d2ce74ff3d3
5
5
  """
6
6
 
@@ -1,15 +1,24 @@
1
1
  # GENERATED by scripts/unasync.py from src/crowdypy/kit/__init__.py. Do not edit.
2
- """The Game Kit (CrowdyJS's ``kit``): typed clients for the ck-exec starter hubs over one shared
3
- connection, mirrors of hub topics, the kit protocol, social helpers over teams and channels, the
2
+ """The Game Kit (CrowdyJS's ``kit``): typed clients for the ck-exec starter hubs (the genre
3
+ starters' too) over one shared connection, mirrors of hub topics, the kit protocol, social helpers over teams and channels, the
4
4
  realtime wire formats, and optimistic actions."""
5
5
 
6
6
  from crowdypy._sync.kit.actions import OptimisticActionOutcome, run_optimistic_action
7
7
  from crowdypy._sync.kit.kit import GameKitClient, ShardKit
8
8
  from crowdypy._sync.kit.mirror import CollectionMirror, HubState, KitContainer, PrivateState, TopicMirror
9
+ from crowdypy._sync.kit.modules.arenas import ArenaMatch, ArenasKit
10
+ from crowdypy._sync.kit.modules.encounters import Encounter, EncountersKit
11
+ from crowdypy._sync.kit.modules.instances import InstanceRun, InstancesKit
12
+ from crowdypy._sync.kit.modules.leaderboards import LeaderboardHandle, LeaderboardsKit
9
13
  from crowdypy._sync.kit.modules.matchmaking import MatchmakingKit, MatchQueue
14
+ from crowdypy._sync.kit.modules.minigames import Duel, MinigamesKit
10
15
  from crowdypy._sync.kit.modules.npcs import NpcArea, NpcsKit
11
16
  from crowdypy._sync.kit.modules.presence import EmotesKit, SpectateKit, SpectatorHeartbeat
17
+ from crowdypy._sync.kit.modules.racing import BallMatch, Race, RacingKit
12
18
  from crowdypy._sync.kit.modules.sessions import GameSessionHandle, SessionsKit, session_turn
19
+ from crowdypy._sync.kit.modules.tables import CardTable, TablesKit
20
+ from crowdypy._sync.kit.modules.tactics import TacticsBattle, TacticsKit
21
+ from crowdypy._sync.kit.modules.territory import TerritoryKit, TerritoryMap, ZoneMatch
13
22
  from crowdypy._sync.kit.modules.world import WorldKit
14
23
  from crowdypy._sync.kit.protocol import (
15
24
  KIT_ACTION_ID_MAX,
@@ -132,16 +141,25 @@ __all__ = [
132
141
  "KIT_SUBSCRIPTIONS_MAX",
133
142
  "POSE_BYTES",
134
143
  "AbilityEvent",
144
+ "ArenaMatch",
145
+ "ArenasKit",
146
+ "BallMatch",
147
+ "CardTable",
135
148
  "CollectionMirror",
136
149
  "ContactDamageEvent",
137
150
  "ControlPointEvent",
151
+ "Duel",
138
152
  "EmoteEvent",
139
153
  "EmotesKit",
154
+ "Encounter",
140
155
  "EncounterEvent",
156
+ "EncountersKit",
141
157
  "EnginePose",
142
158
  "GameKitClient",
143
159
  "GameSessionHandle",
144
160
  "HubState",
161
+ "InstanceRun",
162
+ "InstancesKit",
145
163
  "KitActorState",
146
164
  "KitChatMessage",
147
165
  "KitContainer",
@@ -153,8 +171,11 @@ __all__ = [
153
171
  "KitStore",
154
172
  "KitTopology",
155
173
  "KitTopologyPlan",
174
+ "LeaderboardHandle",
175
+ "LeaderboardsKit",
156
176
  "MatchQueue",
157
177
  "MatchmakingKit",
178
+ "MinigamesKit",
158
179
  "MovementViolationEvent",
159
180
  "NpcArea",
160
181
  "NpcsKit",
@@ -162,19 +183,27 @@ __all__ = [
162
183
  "PossessionEvent",
163
184
  "PrivateState",
164
185
  "ProposalEvent",
186
+ "Race",
165
187
  "RaceTimingEvent",
188
+ "RacingKit",
166
189
  "ScoreEvent",
167
190
  "SessionsKit",
168
191
  "ShardKit",
169
192
  "SocialKit",
170
193
  "SpectateKit",
171
194
  "SpectatorHeartbeat",
195
+ "TablesKit",
196
+ "TacticsBattle",
197
+ "TacticsKit",
198
+ "TerritoryKit",
199
+ "TerritoryMap",
172
200
  "TopicMirror",
173
201
  "TurnEvent",
174
202
  "WeatherEvent",
175
203
  "WorldKit",
176
204
  "WritableKitStore",
177
205
  "ZoneChangeEvent",
206
+ "ZoneMatch",
178
207
  "decode_engine_pose",
179
208
  "decode_kit_actor_state",
180
209
  "encode_engine_pose",