crowdypy 0.8.0.dev1__tar.gz → 0.9.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 (505) hide show
  1. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/MIGRATION.md +12 -0
  2. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/PKG-INFO +7 -1
  3. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/README.md +6 -0
  4. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/docs/compatibility.md +1 -1
  5. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/docs/parity-matrix.md +2 -2
  6. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/exec/Exec.graphql +1 -0
  7. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/pyproject.toml +9 -9
  8. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/schema.gql +5 -1
  9. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_generated/enums.py +1 -1
  10. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_generated/inputs.py +1 -1
  11. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_generated/operations.py +7 -7
  12. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_version.py +1 -1
  13. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/exec.py +4 -1
  14. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/player_host/schemas.v1.json +2 -2
  15. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/fixtures/player-host.v1.json +2 -2
  16. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/domains/test_studio_exec_domains.py +4 -0
  17. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/uv.lock +1 -1
  18. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/CMakeLists.txt +1 -1
  19. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/PROVENANCE.md +1 -1
  20. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/exec.hpp +7 -5
  21. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/generated/enums.hpp +2 -2
  22. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/generated/operations.hpp +8 -2
  23. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/package.json +6 -6
  24. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/crowdy-studio-diagnostics.v1.json +2 -2
  25. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/crowdyjs-studio-layout.v1.json +2 -2
  26. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/.gitattributes +0 -0
  27. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/.gitignore +0 -0
  28. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/.gitleaks.toml +0 -0
  29. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/AGENTS.md +0 -0
  30. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/CMakeLists.txt +0 -0
  31. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/LICENSE +0 -0
  32. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/SECURITY.md +0 -0
  33. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/benchmarks/README.md +0 -0
  34. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/benchmarks/bench_replication.py +0 -0
  35. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/docs/e2e-coverage.md +0 -0
  36. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/licenses/OpenSSL-LICENSE.txt +0 -0
  37. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/native/common.hpp +0 -0
  38. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/native/module.cpp +0 -0
  39. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/native/replication.hpp +0 -0
  40. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/native/replication_binding.cpp +0 -0
  41. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/native/session_binding.cpp +0 -0
  42. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/native/voice_binding.cpp +0 -0
  43. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/native/wire_binding.cpp +0 -0
  44. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/actors/Actor.graphql +0 -0
  45. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/actors/Actors.graphql +0 -0
  46. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/actors/BatchLookupActors.graphql +0 -0
  47. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/actors/CreateActor.graphql +0 -0
  48. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/actors/DeleteActor.graphql +0 -0
  49. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/actors/UpdateActor.graphql +0 -0
  50. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/actors/UpdateActorState.graphql +0 -0
  51. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/appAccess/AppAccessTiers.graphql +0 -0
  52. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/appAccess/AppFeatures.graphql +0 -0
  53. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/appAccess/AppGrantMemberCandidates.graphql +0 -0
  54. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/appAccess/AppUserAccessByApp.graphql +0 -0
  55. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/appAccess/ArchiveAccessTier.graphql +0 -0
  56. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/appAccess/ClaimFreeAppAccess.graphql +0 -0
  57. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/appAccess/CreateAccessTier.graphql +0 -0
  58. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/appAccess/DefineAppFeature.graphql +0 -0
  59. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/appAccess/GrantAppAccess.graphql +0 -0
  60. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/appAccess/GrantMyAppAccess.graphql +0 -0
  61. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/appAccess/GrantTierFeature.graphql +0 -0
  62. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/appAccess/MyAppAccess.graphql +0 -0
  63. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/appAccess/RevokeAppAccess.graphql +0 -0
  64. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/appAccess/RevokeTierFeature.graphql +0 -0
  65. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/appAccess/RuntimePermissions.graphql +0 -0
  66. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/appAccess/SuspendAppAccess.graphql +0 -0
  67. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/appAccess/TierFeatures.graphql +0 -0
  68. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/appAccess/UpdateAccessTier.graphql +0 -0
  69. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/apps/App.graphql +0 -0
  70. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/apps/AppBySlug.graphql +0 -0
  71. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/apps/AppDiscovery.graphql +0 -0
  72. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/apps/AppsForOrg.graphql +0 -0
  73. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/apps/ArchiveApp.graphql +0 -0
  74. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/apps/CodeAdmissions.graphql +0 -0
  75. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/apps/CreateApp.graphql +0 -0
  76. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/apps/MarketplaceApps.graphql +0 -0
  77. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/apps/MyApps.graphql +0 -0
  78. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/apps/PlaceableDatacenters.graphql +0 -0
  79. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/apps/UpdateApp.graphql +0 -0
  80. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/auth/Logout.graphql +0 -0
  81. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/auth/LogoutAllDevices.graphql +0 -0
  82. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/avatars/Avatars.graphql +0 -0
  83. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/billing/AppBudget.graphql +0 -0
  84. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/billing/AppBudgets.graphql +0 -0
  85. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/billing/SetAppBudget.graphql +0 -0
  86. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/billing/WalletBalance.graphql +0 -0
  87. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/billing/WalletTransactions.graphql +0 -0
  88. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/AddChannelMember.graphql +0 -0
  89. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/Channel.graphql +0 -0
  90. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/ChannelMembers.graphql +0 -0
  91. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/ChannelPolicy.graphql +0 -0
  92. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/ChannelRoles.graphql +0 -0
  93. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/Channels.graphql +0 -0
  94. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/CreateChannel.graphql +0 -0
  95. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/CreateChannelRole.graphql +0 -0
  96. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/DeleteChannel.graphql +0 -0
  97. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/DeleteChannelRole.graphql +0 -0
  98. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/JoinChannel.graphql +0 -0
  99. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/LeaveChannel.graphql +0 -0
  100. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/MyChannels.graphql +0 -0
  101. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/RemoveChannelMember.graphql +0 -0
  102. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/RequestToJoinChannel.graphql +0 -0
  103. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/SetChannelMemberRoles.graphql +0 -0
  104. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/SetChannelPolicy.graphql +0 -0
  105. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/UpdateChannel.graphql +0 -0
  106. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/channels/UpdateChannelRole.graphql +0 -0
  107. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/chunks/GetChunk.graphql +0 -0
  108. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/chunks/GetChunkLods.graphql +0 -0
  109. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/chunks/GetChunksByDistance.graphql +0 -0
  110. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/chunks/GetVoxelList.graphql +0 -0
  111. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/chunks/UpdateChunk.graphql +0 -0
  112. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/chunks/UpdateChunkLods.graphql +0 -0
  113. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/chunks/UpdateChunkState.graphql +0 -0
  114. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/crowdyStudio/CrowdyStudio.graphql +0 -0
  115. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/gameApps/GameApps.graphql +0 -0
  116. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/grids/CreateGridChannel.graphql +0 -0
  117. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/grids/GridChannels.graphql +0 -0
  118. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/grids/MintGridToken.graphql +0 -0
  119. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/host/Host.graphql +0 -0
  120. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/inputLog/InputLogMessages.graphql +0 -0
  121. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/inputLog/InputLogSessions.graphql +0 -0
  122. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/marketplace/Marketplace.graphql +0 -0
  123. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/organizations/CreateOrgRole.graphql +0 -0
  124. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/organizations/CreateOrgToken.graphql +0 -0
  125. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/organizations/CreateOrganization.graphql +0 -0
  126. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/organizations/DeleteOrgRole.graphql +0 -0
  127. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/organizations/InviteOrgMember.graphql +0 -0
  128. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/organizations/MemberRoles.graphql +0 -0
  129. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/organizations/MyOrganizations.graphql +0 -0
  130. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/organizations/OrgMembers.graphql +0 -0
  131. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/organizations/OrgPermissions.graphql +0 -0
  132. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/organizations/OrgRoles.graphql +0 -0
  133. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/organizations/OrgTokens.graphql +0 -0
  134. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/organizations/Organization.graphql +0 -0
  135. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/organizations/OrganizationBySlug.graphql +0 -0
  136. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/organizations/RemoveOrgMember.graphql +0 -0
  137. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/organizations/RevokeOrgToken.graphql +0 -0
  138. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/organizations/UpdateOrgMemberRoles.graphql +0 -0
  139. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/organizations/UpdateOrgRole.graphql +0 -0
  140. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/organizations/UpdateOrgToken.graphql +0 -0
  141. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/payments/CapturePaypalCheckout.graphql +0 -0
  142. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/payments/CreateCheckout.graphql +0 -0
  143. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/payments/MyCheckouts.graphql +0 -0
  144. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/platform/PlatformConfig.graphql +0 -0
  145. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/playerWallet/PlayerWallet.graphql +0 -0
  146. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/quotas/DeleteQuota.graphql +0 -0
  147. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/quotas/EffectiveQuota.graphql +0 -0
  148. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/quotas/QuotasForApp.graphql +0 -0
  149. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/quotas/QuotasForOrg.graphql +0 -0
  150. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/quotas/SetQuota.graphql +0 -0
  151. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/serverStatus/ActiveGraphQLServers.graphql +0 -0
  152. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/serverStatus/GameClientBootstrap.graphql +0 -0
  153. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/serverStatus/GraphqlServers.graphql +0 -0
  154. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/serverStatus/ServerWithLeastClients.graphql +0 -0
  155. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/serverStatus/VersionInfo.graphql +0 -0
  156. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/sharedEnvironment/SharedEnvironment.graphql +0 -0
  157. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/state/DeleteUserAppState.graphql +0 -0
  158. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/state/UpdateUserAppState.graphql +0 -0
  159. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/state/UserAppState.graphql +0 -0
  160. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/state/UserAppStates.graphql +0 -0
  161. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/AddTeamMember.graphql +0 -0
  162. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/CreateTeam.graphql +0 -0
  163. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/CreateTeamRole.graphql +0 -0
  164. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/DeleteTeam.graphql +0 -0
  165. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/DeleteTeamRole.graphql +0 -0
  166. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/JoinTeam.graphql +0 -0
  167. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/LeaveTeam.graphql +0 -0
  168. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/MyTeams.graphql +0 -0
  169. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/RemoveTeamMember.graphql +0 -0
  170. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/RequestToJoinTeam.graphql +0 -0
  171. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/SetTeamMemberRoles.graphql +0 -0
  172. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/SetTeamPolicy.graphql +0 -0
  173. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/Team.graphql +0 -0
  174. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/TeamMembers.graphql +0 -0
  175. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/TeamPolicy.graphql +0 -0
  176. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/TeamRoles.graphql +0 -0
  177. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/Teams.graphql +0 -0
  178. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/UpdateTeam.graphql +0 -0
  179. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teams/UpdateTeamRole.graphql +0 -0
  180. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/teleport/TeleportRequest.graphql +0 -0
  181. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/usage/AppGraphqlOperations.graphql +0 -0
  182. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/usage/AppUsageSummary.graphql +0 -0
  183. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/usage/PlayerPulse.graphql +0 -0
  184. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/users/DeleteMyAccount.graphql +0 -0
  185. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/users/FreePlayWindow.graphql +0 -0
  186. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/users/Me.graphql +0 -0
  187. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/users/PlayerProfile.graphql +0 -0
  188. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/users/UpdateGamertag.graphql +0 -0
  189. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/users/UpdateUserState.graphql +0 -0
  190. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/users/User.graphql +0 -0
  191. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/voxels/ListVoxelUpdatesByDistance.graphql +0 -0
  192. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/voxels/ListVoxels.graphql +0 -0
  193. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/voxels/RollbackVoxelUpdates.graphql +0 -0
  194. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/voxels/UpdateVoxel.graphql +0 -0
  195. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/operations/voxels/VoxelUpdateHistory.graphql +0 -0
  196. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/scripts/_pins.py +0 -0
  197. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/scripts/ci/assert_default_origin.py +0 -0
  198. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/scripts/ci/build_openssl.sh +0 -0
  199. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/scripts/ci/check_content_policy.py +0 -0
  200. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/scripts/ci/check_pin_tiers.py +0 -0
  201. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/scripts/ci/cibw_before_all_linux.sh +0 -0
  202. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/scripts/ci/resolve-release-tier.sh +0 -0
  203. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/scripts/ci/resolve-release-tier.test.sh +0 -0
  204. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/scripts/ci/resolve_pypi_version.py +0 -0
  205. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/scripts/ci/stamp_version.py +0 -0
  206. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/scripts/ci/verify_artifacts.py +0 -0
  207. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/scripts/codegen.py +0 -0
  208. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/scripts/schema_drift.py +0 -0
  209. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/scripts/schema_sync.py +0 -0
  210. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/scripts/unasync.py +0 -0
  211. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/scripts/vendor_crowdycpp.py +0 -0
  212. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/__init__.py +0 -0
  213. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_concurrency.py +0 -0
  214. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_default_origin.py +0 -0
  215. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_generated/__init__.py +0 -0
  216. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_grid.py +0 -0
  217. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_native.pyi +0 -0
  218. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_operation.py +0 -0
  219. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/__init__.py +0 -0
  220. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/client.py +0 -0
  221. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/__init__.py +0 -0
  222. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/_base.py +0 -0
  223. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/actors.py +0 -0
  224. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/admin.py +0 -0
  225. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/app_access.py +0 -0
  226. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/apps.py +0 -0
  227. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/auth.py +0 -0
  228. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/avatars.py +0 -0
  229. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/billing.py +0 -0
  230. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/channels.py +0 -0
  231. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/chunks.py +0 -0
  232. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/crowdy_studio.py +0 -0
  233. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/crowdy_studio_agent.py +0 -0
  234. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/crowdy_studio_github.py +0 -0
  235. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/discovery.py +0 -0
  236. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/exec.py +0 -0
  237. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/game_apps.py +0 -0
  238. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/grids.py +0 -0
  239. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/host.py +0 -0
  240. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/input_log.py +0 -0
  241. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/marketplace.py +0 -0
  242. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/organizations.py +0 -0
  243. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/payments.py +0 -0
  244. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/platform.py +0 -0
  245. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/player_wallet.py +0 -0
  246. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/portal.py +0 -0
  247. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/quotas.py +0 -0
  248. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/server_status.py +0 -0
  249. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/shared_environment.py +0 -0
  250. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/state.py +0 -0
  251. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/teams.py +0 -0
  252. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/teleport.py +0 -0
  253. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/udp.py +0 -0
  254. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/usage.py +0 -0
  255. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/users.py +0 -0
  256. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/domains/voxels.py +0 -0
  257. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/graphql.py +0 -0
  258. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/grid_scope.py +0 -0
  259. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/kit/__init__.py +0 -0
  260. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/kit/actions.py +0 -0
  261. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/kit/kit.py +0 -0
  262. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/kit/social.py +0 -0
  263. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/kit/wire.py +0 -0
  264. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/rediscover.py +0 -0
  265. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/stores.py +0 -0
  266. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/_sync/world.py +0 -0
  267. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/auth_state.py +0 -0
  268. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/client.py +0 -0
  269. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/codecs.py +0 -0
  270. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/datacenter_redirect.py +0 -0
  271. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/__init__.py +0 -0
  272. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/_base.py +0 -0
  273. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/actors.py +0 -0
  274. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/admin.py +0 -0
  275. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/app_access.py +0 -0
  276. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/apps.py +0 -0
  277. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/auth.py +0 -0
  278. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/avatars.py +0 -0
  279. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/billing.py +0 -0
  280. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/channels.py +0 -0
  281. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/chunks.py +0 -0
  282. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/crowdy_studio.py +0 -0
  283. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/crowdy_studio_agent.py +0 -0
  284. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/crowdy_studio_github.py +0 -0
  285. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/discovery.py +0 -0
  286. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/game_apps.py +0 -0
  287. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/grids.py +0 -0
  288. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/host.py +0 -0
  289. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/input_log.py +0 -0
  290. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/marketplace.py +0 -0
  291. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/organizations.py +0 -0
  292. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/payments.py +0 -0
  293. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/platform.py +0 -0
  294. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/player_wallet.py +0 -0
  295. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/portal.py +0 -0
  296. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/quotas.py +0 -0
  297. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/server_status.py +0 -0
  298. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/shared_environment.py +0 -0
  299. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/state.py +0 -0
  300. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/teams.py +0 -0
  301. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/teleport.py +0 -0
  302. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/udp.py +0 -0
  303. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/usage.py +0 -0
  304. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/users.py +0 -0
  305. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/domains/voxels.py +0 -0
  306. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/enums.py +0 -0
  307. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/errors.py +0 -0
  308. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/estate.py +0 -0
  309. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/exec_gateway.py +0 -0
  310. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/graphql.py +0 -0
  311. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/grid_scope.py +0 -0
  312. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/inputs.py +0 -0
  313. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/kit/__init__.py +0 -0
  314. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/kit/actions.py +0 -0
  315. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/kit/kit.py +0 -0
  316. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/kit/social.py +0 -0
  317. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/kit/wire.py +0 -0
  318. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/lb_cookie.py +0 -0
  319. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/media.py +0 -0
  320. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/pkce.py +0 -0
  321. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/player_host/__init__.py +0 -0
  322. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/player_host/agent_errors.py +0 -0
  323. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/player_host/agent_types.py +0 -0
  324. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/player_host/json_schema.py +0 -0
  325. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/player_host/schemas.py +0 -0
  326. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/player_host/types.py +0 -0
  327. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/py.typed +0 -0
  328. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/rediscover.py +0 -0
  329. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/replication.py +0 -0
  330. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/session.py +0 -0
  331. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/stores.py +0 -0
  332. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/studio/__init__.py +0 -0
  333. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/studio/client_tick_interval.py +0 -0
  334. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/studio/controller.py +0 -0
  335. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/studio/diagnostics.py +0 -0
  336. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/studio/github_new_repo.py +0 -0
  337. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/studio/layout.py +0 -0
  338. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/studio/models.py +0 -0
  339. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/studio/starter_projects.py +0 -0
  340. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/subscriptions.py +0 -0
  341. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/sync.py +0 -0
  342. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/utils.py +0 -0
  343. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/wire.py +0 -0
  344. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/src/crowdypy/world.py +0 -0
  345. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/conftest.py +0 -0
  346. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/e2e/__init__.py +0 -0
  347. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/e2e/conftest.py +0 -0
  348. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/e2e/test_e2e_identity.py +0 -0
  349. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/e2e/test_e2e_open_grid_exec_gateway.py +0 -0
  350. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/e2e/test_e2e_ranged_channel.py +0 -0
  351. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/e2e/test_e2e_replication.py +0 -0
  352. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/e2e/test_e2e_studio.py +0 -0
  353. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/e2e/test_e2e_world.py +0 -0
  354. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/e2e/test_e2e_world_data.py +0 -0
  355. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/fixtures/README.md +0 -0
  356. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/fixtures/binary-wire-fixtures.json +0 -0
  357. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/fixtures/exec-client-frames.json +0 -0
  358. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/fixtures/voice-frames.json +0 -0
  359. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/__init__.py +0 -0
  360. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/domains/__init__.py +0 -0
  361. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/domains/test_crowdycpp_roots.py +0 -0
  362. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/domains/test_org_domains.py +0 -0
  363. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/domains/test_social_domains.py +0 -0
  364. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/domains/test_world_domains.py +0 -0
  365. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_core.py +0 -0
  366. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_durable_stores.py +0 -0
  367. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_estate_moves.py +0 -0
  368. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_exec_gateway.py +0 -0
  369. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_fixture_provenance.py +0 -0
  370. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_grid_scope.py +0 -0
  371. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_kit.py +0 -0
  372. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_lazy_exports.py +0 -0
  373. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_player_host.py +0 -0
  374. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_refusals.py +0 -0
  375. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_release_versions.py +0 -0
  376. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_replication.py +0 -0
  377. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_sdk_audience.py +0 -0
  378. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_studio_controller.py +0 -0
  379. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_studio_diagnostics.py +0 -0
  380. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_studio_layout.py +0 -0
  381. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_subscriptions.py +0 -0
  382. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_transport.py +0 -0
  383. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_udp_api.py +0 -0
  384. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_voice_frames.py +0 -0
  385. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_wire.py +0 -0
  386. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tests/unit/test_world_session.py +0 -0
  387. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tools/e2e/provision.py +0 -0
  388. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tools/fixtures/player_host.mjs +0 -0
  389. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tools/parity/classifications.toml +0 -0
  390. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/tools/parity/parity.py +0 -0
  391. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/LICENSE +0 -0
  392. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/cmake/CheckPublicHeaders.cmake +0 -0
  393. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/cmake/CrowdyCPPConfig.cmake.in +0 -0
  394. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/cmake/CrowdyFindOpus.cmake +0 -0
  395. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/cmake/studio_layout_fixture.hpp.in +0 -0
  396. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/client.hpp +0 -0
  397. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/base64.hpp +0 -0
  398. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/bytes.hpp +0 -0
  399. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/clock.hpp +0 -0
  400. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/crypto.hpp +0 -0
  401. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/logger.hpp +0 -0
  402. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/result.hpp +0 -0
  403. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/spsc.hpp +0 -0
  404. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/core/uuid.hpp +0 -0
  405. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/crowdy.hpp +0 -0
  406. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/default_origin.hpp +0 -0
  407. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/admin.hpp +0 -0
  408. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/auth.hpp +0 -0
  409. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/crowdy_studio.hpp +0 -0
  410. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/crowdy_studio_agent.hpp +0 -0
  411. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/crowdy_studio_github.hpp +0 -0
  412. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/discovery.hpp +0 -0
  413. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/domain_base.hpp +0 -0
  414. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/game_apps.hpp +0 -0
  415. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/grids.hpp +0 -0
  416. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/groups.hpp +0 -0
  417. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/marketplace.hpp +0 -0
  418. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/player_wallet.hpp +0 -0
  419. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/portal.hpp +0 -0
  420. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/realtime_control.hpp +0 -0
  421. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/server_status.hpp +0 -0
  422. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/types.hpp +0 -0
  423. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/users.hpp +0 -0
  424. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/domains/world_data.hpp +0 -0
  425. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/async_scope.hpp +0 -0
  426. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/auth_state.hpp +0 -0
  427. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/datacenter_redirect.hpp +0 -0
  428. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/dispatcher.hpp +0 -0
  429. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/errors.hpp +0 -0
  430. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/estate.hpp +0 -0
  431. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/graphql_client.hpp +0 -0
  432. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/http.hpp +0 -0
  433. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/json.hpp +0 -0
  434. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/rediscover.hpp +0 -0
  435. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/subscription_client.hpp +0 -0
  436. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/graphql/websocket.hpp +0 -0
  437. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/actions.hpp +0 -0
  438. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/kit.hpp +0 -0
  439. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/social.hpp +0 -0
  440. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/kit/wire.hpp +0 -0
  441. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/media/opus.hpp +0 -0
  442. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/media/video_frames.hpp +0 -0
  443. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/media/voice_frames.hpp +0 -0
  444. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/adapter.hpp +0 -0
  445. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/player_host.hpp +0 -0
  446. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/schemas.hpp +0 -0
  447. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/player_host/types.hpp +0 -0
  448. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/replication/connection.hpp +0 -0
  449. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/replication/session_provider.hpp +0 -0
  450. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/replication/types.hpp +0 -0
  451. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/replication/udp_socket.hpp +0 -0
  452. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/chunk_store.hpp +0 -0
  453. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/codec.hpp +0 -0
  454. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/durable.hpp +0 -0
  455. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/keys.hpp +0 -0
  456. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/stores.hpp +0 -0
  457. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/session/world_session.hpp +0 -0
  458. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/controller.hpp +0 -0
  459. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/diagnostics.hpp +0 -0
  460. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/editor.hpp +0 -0
  461. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/github.hpp +0 -0
  462. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/github_layout.hpp +0 -0
  463. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/integration.hpp +0 -0
  464. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/layout.hpp +0 -0
  465. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/models.hpp +0 -0
  466. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/studio/runtime.hpp +0 -0
  467. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/wire/codec.hpp +0 -0
  468. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/wire/protocol.hpp +0 -0
  469. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/include/crowdy/world.hpp +0 -0
  470. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/client.cpp +0 -0
  471. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/core/base64.cpp +0 -0
  472. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/core/clock.cpp +0 -0
  473. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/core/crypto_default_unavailable.cpp +0 -0
  474. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/core/crypto_openssl.cpp +0 -0
  475. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/core/crypto_unavailable.cpp +0 -0
  476. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/core/logger.cpp +0 -0
  477. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/core/uuid.cpp +0 -0
  478. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/domains/exec.cpp +0 -0
  479. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/graphql/async_transport.cpp +0 -0
  480. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/graphql/auth_state.cpp +0 -0
  481. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/graphql/error_extensions.hpp +0 -0
  482. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/graphql/errors.cpp +0 -0
  483. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/graphql/graphql_client.cpp +0 -0
  484. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/graphql/http_curl.cpp +0 -0
  485. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/graphql/http_none.cpp +0 -0
  486. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/graphql/json.cpp +0 -0
  487. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/graphql/subscription_client.cpp +0 -0
  488. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/graphql/websocket_curl.cpp +0 -0
  489. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/graphql/websocket_none.cpp +0 -0
  490. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/media/opus.cpp +0 -0
  491. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/player_host/schemas.cpp +0 -0
  492. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/player_host/types.cpp +0 -0
  493. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/replication/connection.cpp +0 -0
  494. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/replication/socket_errors.hpp +0 -0
  495. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/replication/udp_socket.cpp +0 -0
  496. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/session/world_session.cpp +0 -0
  497. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/studio/diagnostics.cpp +0 -0
  498. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/studio/editor.cpp +0 -0
  499. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/src/studio/integration.cpp +0 -0
  500. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/third_party/yyjson/LICENSE +0 -0
  501. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/third_party/yyjson/yyjson.c +0 -0
  502. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/third_party/yyjson/yyjson.h +0 -0
  503. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/exec-client-frames.json +0 -0
  504. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/exec-gateway-cases.json +0 -0
  505. {crowdypy-0.8.0.dev1 → crowdypy-0.9.0.dev1}/vendor/CrowdyCPP/tools/parity/fixtures/voice-frames.json +0 -0
@@ -3,6 +3,18 @@
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.9.0
7
+
8
+ CrowdyJS 18.8.0 and CrowdyCPP 0.61.0. Additive, with one floor: the build documents select
9
+ `ExecBuild.sdkVersion`, so `exec.build`, `build_status`, `wait_for_build`, `mod_build`,
10
+ `mod_client_build`, `mod_build_status` and `wait_for_mod_build` need ck-api v2.40.2 (an older
11
+ one refuses the selection).
12
+
13
+ - **`ExecBuild.sdk_version`**: the version of `ckx-sdk` the platform compiled the build against
14
+ (`crowdy-client-sdk` for a CLIENT half), from the toolchain of the API instance that ran it. The
15
+ platform points a crate at its own copy of the SDK whatever version the crate names, so this,
16
+ not your manifest, says what your code was checked against. `None` until the build starts.
17
+
6
18
  ## 0.8.0
7
19
 
8
20
  CrowdyJS 18.7.0 and CrowdyCPP 0.60.0. Additive, with reads that change for values they used to
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crowdypy
3
- Version: 0.8.0.dev1
3
+ Version: 0.9.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,9 @@ 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.9.0: builds report the SDK they compiled against (CrowdyJS 18.8.0, CrowdyCPP 0.61.0).** See the 0.9.0
55
+ bullet below.
56
+
54
57
  **v0.8.0: voice, channel audio, wide voxels, and pause and access refusals (CrowdyJS 18.7.0, CrowdyCPP 0.60.0).**
55
58
  - Voice: `crowdypy.media`'s voice helpers (an optional 10-byte header per codec frame,
56
59
  `VoicePacketizer`, `VoiceJitterBuffer`), and `client.udp.send_channel_audio()` with the
@@ -63,6 +66,9 @@ wheel. Python never touches a datagram.
63
66
  carry, and `app_paused_of`, `access_refusal_of` and `actor_exists_of` read the new refusals.
64
67
  - New calls: `users.player_profile(s)`, `app_access.suspend` and `unsuspend`, and
65
68
  `exec.restart_type`.
69
+ - 0.9.0: every build (`exec.build`, `build_status`, `wait_for_build` and the mod builds) carries
70
+ `sdk_version`, the `ckx-sdk` (CLIENT half: `crowdy-client-sdk`) version the platform compiled it
71
+ against, whatever the crate names. It needs ck-api v2.40.2, since the build documents select it.
66
72
  - 0.8.0 needs the ck-api release after v2.39.0, since the token mutations select
67
73
  `runtimeGate`. Channel audio and the voxel echo need replication server v0.37.0.
68
74
  - 0.7.0 brought the input log (`client.input_log.sessions()` and `messages()`, and
@@ -11,6 +11,9 @@ 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.9.0: builds report the SDK they compiled against (CrowdyJS 18.8.0, CrowdyCPP 0.61.0).** See the 0.9.0
15
+ bullet below.
16
+
14
17
  **v0.8.0: voice, channel audio, wide voxels, and pause and access refusals (CrowdyJS 18.7.0, CrowdyCPP 0.60.0).**
15
18
  - Voice: `crowdypy.media`'s voice helpers (an optional 10-byte header per codec frame,
16
19
  `VoicePacketizer`, `VoiceJitterBuffer`), and `client.udp.send_channel_audio()` with the
@@ -23,6 +26,9 @@ wheel. Python never touches a datagram.
23
26
  carry, and `app_paused_of`, `access_refusal_of` and `actor_exists_of` read the new refusals.
24
27
  - New calls: `users.player_profile(s)`, `app_access.suspend` and `unsuspend`, and
25
28
  `exec.restart_type`.
29
+ - 0.9.0: every build (`exec.build`, `build_status`, `wait_for_build` and the mod builds) carries
30
+ `sdk_version`, the `ckx-sdk` (CLIENT half: `crowdy-client-sdk`) version the platform compiled it
31
+ against, whatever the crate names. It needs ck-api v2.40.2, since the build documents select it.
26
32
  - 0.8.0 needs the ck-api release after v2.39.0, since the token mutations select
27
33
  `runtimeGate`. Channel audio and the voxel echo need replication server v0.37.0.
28
34
  - 0.7.0 brought the input log (`client.input_log.sessions()` and `messages()`, and
@@ -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.0`
8
+ - CrowdyPy `0.9.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,8 +4,8 @@ Generated by `tools/parity/parity.py`; do not edit by hand. Classifications live
4
4
 
5
5
  ## Target
6
6
 
7
- - CrowdyJS: `18.7.0` at `1ff76217bf396325f3c2774ca4d89644ab4ce352`
8
- - CrowdyCPP (native core): `0.60.0` at `995e34ffaab9ecf0ca6c17a59707cc0ed4a88086`
7
+ - CrowdyJS: `18.8.0` at `d7b755abe73bd9e157673325cbfcfb3975f71cc3`
8
+ - CrowdyCPP (native core): `0.61.0` at `72f4a154a8defde1f99d6dfd983cb6629c26d233`
9
9
  - schema.gql identical to CrowdyJS's: yes
10
10
  - Gate mode: strict portable parity (every portable gap is release-blocking)
11
11
 
@@ -152,6 +152,7 @@ fragment ExecBuildFields on ExecBuild {
152
152
  status
153
153
  kind
154
154
  log
155
+ sdkVersion
155
156
  createdAt
156
157
  startedAt
157
158
  finishedAt
@@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build"
4
4
 
5
5
  [project]
6
6
  name = "crowdypy"
7
- version = "0.8.0.dev1"
7
+ version = "0.9.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,20 +119,20 @@ environment = { OPENSSL_ROOT_DIR = "C:/vcpkg/installed/x64-windows-static-md" }
119
119
  # --------------------------------------------------------------------------------------
120
120
 
121
121
  [tool.crowdypy.crowdyjs]
122
- version = "18.7.0"
123
- commit = "1ff76217bf396325f3c2774ca4d89644ab4ce352"
122
+ version = "18.8.0"
123
+ commit = "d7b755abe73bd9e157673325cbfcfb3975f71cc3"
124
124
 
125
125
  [tool.crowdypy.crowdycpp]
126
- version = "0.60.0"
127
- tag = "dev/v0.60.0"
128
- commit = "995e34ffaab9ecf0ca6c17a59707cc0ed4a88086"
129
- tree-sha256 = "cee4e9d4db822b6f6ae06d5fd257ba354ee94d3100a345dd5048d37c14ea7cc9"
126
+ version = "0.61.0"
127
+ tag = "dev/v0.61.0"
128
+ commit = "72f4a154a8defde1f99d6dfd983cb6629c26d233"
129
+ tree-sha256 = "559bbbcc37455ae020abdf7e128cb84e05bead6e8f52b4f4a8e4293a6f1f0a18"
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 = "d2e735887acea223a7ce95e009cb17a894a3954012b939ce05e5ccf5693dedcd"
135
- operations-sha256 = "15ab08f0f194e6355b3dcb28eb7d3a0a4ac9f064af457b054a60e4b403e6519e"
134
+ schema-sha256 = "61f99f99fc80be9de388e7295faa247fe508cc0d2f7d2b832a2709ed76c464b2"
135
+ operations-sha256 = "e9e0ad2ac5f585815d3f3b2b2f3b4443736f9ae602905fbe82b236b7cc4bfd66"
136
136
 
137
137
  # The SDL the docs site publishes. scripts/schema_drift.py compares the snapshot against it
138
138
  # on a schedule; nothing on the per-commit path reads the network.
@@ -5936,9 +5936,13 @@ type ExecBuild {
5936
5936
  """
5937
5937
  kind: String!
5938
5938
  """
5939
- The compiler’s output once the build finishes, at most 64 KB (the end is kept).
5939
+ The compiler’s output once the build finishes, at most 64 KB (the end is kept). Its first line names the toolchain the build ran with.
5940
5940
  """
5941
5941
  log: String
5942
+ """
5943
+ The SDK version the build compiled against, from the toolchain of the API instance that ran it: `ckx-sdk` for a ck-exec build, `crowdy-client-sdk` for a CLIENT half. A crate’s own version requirement for the SDK is not what decides this. Null until the build starts, and for builds from before it was recorded.
5944
+ """
5945
+ sdkVersion: String
5942
5946
  """When the build was requested."""
5943
5947
  createdAt: DateTime!
5944
5948
  """When it started compiling."""
@@ -1,6 +1,6 @@
1
1
  """GENERATED by scripts/codegen.py from schema.gql. Do not edit.
2
2
 
3
- schema.gql sha256: d2e735887acea223a7ce95e009cb17a894a3954012b939ce05e5ccf5693dedcd
3
+ schema.gql sha256: 61f99f99fc80be9de388e7295faa247fe508cc0d2f7d2b832a2709ed76c464b2
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: d2e735887acea223a7ce95e009cb17a894a3954012b939ce05e5ccf5693dedcd
7
+ schema.gql sha256: 61f99f99fc80be9de388e7295faa247fe508cc0d2f7d2b832a2709ed76c464b2
8
8
  """
9
9
 
10
10
  from __future__ import annotations
@@ -1,7 +1,7 @@
1
1
  """GENERATED by scripts/codegen.py from schema.gql and operations/. Do not edit.
2
2
 
3
- schema.gql sha256: d2e735887acea223a7ce95e009cb17a894a3954012b939ce05e5ccf5693dedcd
4
- operations/ sha256: 15ab08f0f194e6355b3dcb28eb7d3a0a4ac9f064af457b054a60e4b403e6519e
3
+ schema.gql sha256: 61f99f99fc80be9de388e7295faa247fe508cc0d2f7d2b832a2709ed76c464b2
4
+ operations/ sha256: e9e0ad2ac5f585815d3f3b2b2f3b4443736f9ae602905fbe82b236b7cc4bfd66
5
5
  """
6
6
 
7
7
  from crowdypy._operation import Operation
@@ -692,7 +692,7 @@ EXEC_BUILD = Operation(
692
692
  name='ExecBuild',
693
693
  kind='mutation',
694
694
  root_fields=('execBuild',),
695
- document='mutation ExecBuild($input: ExecBuildInput!) {\n execBuild(input: $input) {\n ...ExecBuildFields\n }\n}\n\nfragment ExecBuildFields on ExecBuild {\n buildId\n status\n kind\n log\n createdAt\n startedAt\n finishedAt\n artifacts {\n crate\n digest\n sizeBytes\n capabilitySummaryJson\n capabilityHash\n tickIntervalMs\n }\n}',
695
+ document='mutation ExecBuild($input: ExecBuildInput!) {\n execBuild(input: $input) {\n ...ExecBuildFields\n }\n}\n\nfragment ExecBuildFields on ExecBuild {\n buildId\n status\n kind\n log\n sdkVersion\n createdAt\n startedAt\n finishedAt\n artifacts {\n crate\n digest\n sizeBytes\n capabilitySummaryJson\n capabilityHash\n tickIntervalMs\n }\n}',
696
696
  )
697
697
 
698
698
  # exec/Exec.graphql
@@ -700,7 +700,7 @@ EXEC_BUILD_STATUS = Operation(
700
700
  name='ExecBuildStatus',
701
701
  kind='query',
702
702
  root_fields=('execBuildStatus',),
703
- document='query ExecBuildStatus($appId: BigInt!, $buildId: String!) {\n execBuildStatus(appId: $appId, buildId: $buildId) {\n ...ExecBuildFields\n }\n}\n\nfragment ExecBuildFields on ExecBuild {\n buildId\n status\n kind\n log\n createdAt\n startedAt\n finishedAt\n artifacts {\n crate\n digest\n sizeBytes\n capabilitySummaryJson\n capabilityHash\n tickIntervalMs\n }\n}',
703
+ document='query ExecBuildStatus($appId: BigInt!, $buildId: String!) {\n execBuildStatus(appId: $appId, buildId: $buildId) {\n ...ExecBuildFields\n }\n}\n\nfragment ExecBuildFields on ExecBuild {\n buildId\n status\n kind\n log\n sdkVersion\n createdAt\n startedAt\n finishedAt\n artifacts {\n crate\n digest\n sizeBytes\n capabilitySummaryJson\n capabilityHash\n tickIntervalMs\n }\n}',
704
704
  )
705
705
 
706
706
  # exec/Exec.graphql
@@ -772,7 +772,7 @@ EXEC_MOD_BUILD = Operation(
772
772
  name='ExecModBuild',
773
773
  kind='mutation',
774
774
  root_fields=('execModBuild',),
775
- document='mutation ExecModBuild($appId: BigInt!, $crate: ExecBuildCrateInput!) {\n execModBuild(appId: $appId, crate: $crate) {\n ...ExecBuildFields\n }\n}\n\nfragment ExecBuildFields on ExecBuild {\n buildId\n status\n kind\n log\n createdAt\n startedAt\n finishedAt\n artifacts {\n crate\n digest\n sizeBytes\n capabilitySummaryJson\n capabilityHash\n tickIntervalMs\n }\n}',
775
+ document='mutation ExecModBuild($appId: BigInt!, $crate: ExecBuildCrateInput!) {\n execModBuild(appId: $appId, crate: $crate) {\n ...ExecBuildFields\n }\n}\n\nfragment ExecBuildFields on ExecBuild {\n buildId\n status\n kind\n log\n sdkVersion\n createdAt\n startedAt\n finishedAt\n artifacts {\n crate\n digest\n sizeBytes\n capabilitySummaryJson\n capabilityHash\n tickIntervalMs\n }\n}',
776
776
  )
777
777
 
778
778
  # exec/Exec.graphql
@@ -780,7 +780,7 @@ EXEC_MOD_BUILD_STATUS = Operation(
780
780
  name='ExecModBuildStatus',
781
781
  kind='query',
782
782
  root_fields=('execModBuildStatus',),
783
- document='query ExecModBuildStatus($appId: BigInt!, $buildId: String!) {\n execModBuildStatus(appId: $appId, buildId: $buildId) {\n ...ExecBuildFields\n }\n}\n\nfragment ExecBuildFields on ExecBuild {\n buildId\n status\n kind\n log\n createdAt\n startedAt\n finishedAt\n artifacts {\n crate\n digest\n sizeBytes\n capabilitySummaryJson\n capabilityHash\n tickIntervalMs\n }\n}',
783
+ document='query ExecModBuildStatus($appId: BigInt!, $buildId: String!) {\n execModBuildStatus(appId: $appId, buildId: $buildId) {\n ...ExecBuildFields\n }\n}\n\nfragment ExecBuildFields on ExecBuild {\n buildId\n status\n kind\n log\n sdkVersion\n createdAt\n startedAt\n finishedAt\n artifacts {\n crate\n digest\n sizeBytes\n capabilitySummaryJson\n capabilityHash\n tickIntervalMs\n }\n}',
784
784
  )
785
785
 
786
786
  # exec/Exec.graphql
@@ -796,7 +796,7 @@ EXEC_MOD_CLIENT_BUILD = Operation(
796
796
  name='ExecModClientBuild',
797
797
  kind='mutation',
798
798
  root_fields=('execModClientBuild',),
799
- document='mutation ExecModClientBuild($appId: BigInt!, $crate: ExecBuildCrateInput!) {\n execModClientBuild(appId: $appId, crate: $crate) {\n ...ExecBuildFields\n }\n}\n\nfragment ExecBuildFields on ExecBuild {\n buildId\n status\n kind\n log\n createdAt\n startedAt\n finishedAt\n artifacts {\n crate\n digest\n sizeBytes\n capabilitySummaryJson\n capabilityHash\n tickIntervalMs\n }\n}',
799
+ document='mutation ExecModClientBuild($appId: BigInt!, $crate: ExecBuildCrateInput!) {\n execModClientBuild(appId: $appId, crate: $crate) {\n ...ExecBuildFields\n }\n}\n\nfragment ExecBuildFields on ExecBuild {\n buildId\n status\n kind\n log\n sdkVersion\n createdAt\n startedAt\n finishedAt\n artifacts {\n crate\n digest\n sizeBytes\n capabilitySummaryJson\n capabilityHash\n tickIntervalMs\n }\n}',
800
800
  )
801
801
 
802
802
  # exec/Exec.graphql
@@ -1,3 +1,3 @@
1
1
  """The CrowdyPy release this source tree builds."""
2
2
 
3
- __version__ = "0.8.0"
3
+ __version__ = "0.9.0"
@@ -337,13 +337,16 @@ class ExecBuild(msgspec.Struct, rename="camel", frozen=True, kw_only=True):
337
337
  """A build, its log and one module per crate.
338
338
 
339
339
  ``status`` is ``queued``, ``building``, ``succeeded`` or ``failed``; ``kind`` is ``exec``
340
- for ck-exec modules and ``client`` for the CLIENT half of a mod.
340
+ for ck-exec modules and ``client`` for the CLIENT half of a mod. ``sdk_version`` is the
341
+ ``ckx-sdk`` version the platform compiled against (``crowdy-client-sdk``'s for a CLIENT
342
+ half), whatever version the crate names; ``None`` until the build starts (ck-api v2.40.2).
341
343
  """
342
344
 
343
345
  build_id: str
344
346
  status: str
345
347
  kind: str
346
348
  log: str | None = None
349
+ sdk_version: str | None = None
347
350
  created_at: str
348
351
  started_at: str | None = None
349
352
  finished_at: str | None = None
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "crowdyJs": {
3
- "version": "18.7.0",
4
- "commit": "1ff76217bf396325f3c2774ca4d89644ab4ce352"
3
+ "version": "18.8.0",
4
+ "commit": "d7b755abe73bd9e157673325cbfcfb3975f71cc3"
5
5
  },
6
6
  "schemas": {
7
7
  "GAME_COMMAND_RESULT_SCHEMA_V1": {
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "fixtureVersion": 1,
3
3
  "crowdyJs": {
4
- "version": "18.7.0",
5
- "commit": "1ff76217bf396325f3c2774ca4d89644ab4ce352"
4
+ "version": "18.8.0",
5
+ "commit": "d7b755abe73bd9e157673325cbfcfb3975f71cc3"
6
6
  },
7
7
  "errorCodes": [
8
8
  "AGENT_DISABLED",
@@ -1194,6 +1194,7 @@ BUILD = {
1194
1194
  "status": "queued",
1195
1195
  "kind": "exec",
1196
1196
  "log": None,
1197
+ "sdkVersion": None,
1197
1198
  "createdAt": "t",
1198
1199
  "startedAt": None,
1199
1200
  "finishedAt": None,
@@ -1446,6 +1447,7 @@ async def test_starters_build_and_the_build_poll(
1446
1447
  "ExecBuildStatus": lambda _: {
1447
1448
  **BUILD,
1448
1449
  "status": statuses.pop(0),
1450
+ "sdkVersion": "0.9.0",
1449
1451
  "artifacts": [artifact],
1450
1452
  },
1451
1453
  },
@@ -1475,6 +1477,8 @@ async def test_starters_build_and_the_build_poll(
1475
1477
  assert msgspec.to_builtins(queued) == BUILD
1476
1478
  done = await exec_api.wait_for_build("77", "b1", interval_ms=250)
1477
1479
  assert done.status == "succeeded"
1480
+ # The SDK the platform compiled against, whatever the crate names (ck-api v2.40.2).
1481
+ assert done.sdk_version == "0.9.0"
1478
1482
  assert msgspec.to_builtins(done.artifacts) == [{**artifact, "capabilitySummary": None}]
1479
1483
  assert slept == [0.25, 0.25]
1480
1484
 
@@ -103,7 +103,7 @@ wheels = [
103
103
 
104
104
  [[package]]
105
105
  name = "crowdypy"
106
- version = "0.8.0"
106
+ version = "0.9.0"
107
107
  source = { editable = "." }
108
108
  dependencies = [
109
109
  { name = "httpx" },
@@ -1,5 +1,5 @@
1
1
  cmake_minimum_required(VERSION 3.22)
2
- project(CrowdyCPP VERSION 0.60.0 LANGUAGES C CXX)
2
+ project(CrowdyCPP VERSION 0.61.0 LANGUAGES C CXX)
3
3
 
4
4
  set(CMAKE_CXX_STANDARD 20)
5
5
  set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -5,4 +5,4 @@ pins under `[tool.crowdypy.crowdycpp]`. It is written by
5
5
  `scripts/vendor_crowdycpp.py` and checked in CI by re-deriving it from that commit.
6
6
  Do not edit it: change CrowdyCPP, release it on the same tier, and re-vendor.
7
7
 
8
- Vendored from `dev/v0.60.0` (`995e34ffaab9ecf0ca6c17a59707cc0ed4a88086`).
8
+ Vendored from `dev/v0.61.0` (`72f4a154a8defde1f99d6dfd983cb6629c26d233`).
@@ -338,11 +338,13 @@ class ExecAPI : public DomainBase {
338
338
  graphql::Json starters(std::string appId) const;
339
339
  void startersAsync(std::string appId, graphql::GraphQLCallback done) const;
340
340
  /// Build crates into modules on the platform (`execBuild`), so you need no Rust
341
- /// toolchain. Returns the build at once, queued: `{ buildId, status, kind, log, createdAt,
342
- /// startedAt, finishedAt, artifacts: [{ crate, digest, sizeBytes, capabilitySummaryJson,
343
- /// capabilityHash, tickIntervalMs }] }`. `kind` is `exec` here and `client` for a CLIENT half
344
- /// (`modClientBuild`), whose artifact alone carries the three capability fields. Requires
345
- /// `manage_compute`.
341
+ /// toolchain. Returns the build at once, queued: `{ buildId, status, kind, log, sdkVersion,
342
+ /// createdAt, startedAt, finishedAt, artifacts: [{ crate, digest, sizeBytes,
343
+ /// capabilitySummaryJson, capabilityHash, tickIntervalMs }] }`. `kind` is `exec` here and
344
+ /// `client` for a CLIENT half (`modClientBuild`), whose artifact alone carries the three
345
+ /// capability fields. `sdkVersion` is the `ckx-sdk` (CLIENT half: `crowdy-client-sdk`) version
346
+ /// the platform compiled against, whatever version the crate names; null until the build
347
+ /// starts (ck-api v2.40.2 or later). Requires `manage_compute`.
346
348
  graphql::Json build(std::string appId, const std::vector<ExecCrate>& crates) const;
347
349
  void buildAsync(std::string appId, const std::vector<ExecCrate>& crates, graphql::GraphQLCallback done) const;
348
350
  /// A build's status, log and modules (`execBuildStatus`), or null. Requires
@@ -2,8 +2,8 @@
2
2
  // Regenerate with: node scripts/codegen.mjs
3
3
  // Inputs: operations/**/*.graphql and schema.gql (synced from the published
4
4
  // SDL at https://docs.crowdedkingdoms.com/schema/game-api.graphql).
5
- // schema.gql sha256: 8b9776b0f2bfc4658d3c7afad6beef116eeefde83eda6f904d43e8b5fff4c7a8
6
- // operations sha256: feb13d90ee1376c2c925e197413ed238c43c7091cad515bbde1292a9214e775b
5
+ // schema.gql sha256: 4b9c470a996a1c6c423849546fc23eda164605753e2aa2083485156b27a8da1c
6
+ // operations sha256: 56c3830a074c020782259846f3597932060a419b7b0868ad6b0d1b70e166fa21
7
7
 
8
8
  #pragma once
9
9
 
@@ -2,8 +2,8 @@
2
2
  // Regenerate with: node scripts/codegen.mjs
3
3
  // Inputs: operations/**/*.graphql and schema.gql (synced from the published
4
4
  // SDL at https://docs.crowdedkingdoms.com/schema/game-api.graphql).
5
- // schema.gql sha256: 8b9776b0f2bfc4658d3c7afad6beef116eeefde83eda6f904d43e8b5fff4c7a8
6
- // operations sha256: feb13d90ee1376c2c925e197413ed238c43c7091cad515bbde1292a9214e775b
5
+ // schema.gql sha256: 4b9c470a996a1c6c423849546fc23eda164605753e2aa2083485156b27a8da1c
6
+ // operations sha256: 56c3830a074c020782259846f3597932060a419b7b0868ad6b0d1b70e166fa21
7
7
 
8
8
  #pragma once
9
9
 
@@ -4634,6 +4634,7 @@ fragment ExecBuildFields on ExecBuild {
4634
4634
  status
4635
4635
  kind
4636
4636
  log
4637
+ sdkVersion
4637
4638
  createdAt
4638
4639
  startedAt
4639
4640
  finishedAt
@@ -5133,6 +5134,7 @@ fragment ExecBuildFields on ExecBuild {
5133
5134
  status
5134
5135
  kind
5135
5136
  log
5137
+ sdkVersion
5136
5138
  createdAt
5137
5139
  startedAt
5138
5140
  finishedAt
@@ -5157,6 +5159,7 @@ fragment ExecBuildFields on ExecBuild {
5157
5159
  status
5158
5160
  kind
5159
5161
  log
5162
+ sdkVersion
5160
5163
  createdAt
5161
5164
  startedAt
5162
5165
  finishedAt
@@ -5193,6 +5196,7 @@ fragment ExecBuildFields on ExecBuild {
5193
5196
  status
5194
5197
  kind
5195
5198
  log
5199
+ sdkVersion
5196
5200
  createdAt
5197
5201
  startedAt
5198
5202
  finishedAt
@@ -5217,6 +5221,7 @@ fragment ExecBuildFields on ExecBuild {
5217
5221
  status
5218
5222
  kind
5219
5223
  log
5224
+ sdkVersion
5220
5225
  createdAt
5221
5226
  startedAt
5222
5227
  finishedAt
@@ -5485,6 +5490,7 @@ fragment ExecBuildFields on ExecBuild {
5485
5490
  status
5486
5491
  kind
5487
5492
  log
5493
+ sdkVersion
5488
5494
  createdAt
5489
5495
  startedAt
5490
5496
  finishedAt
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "crowdycpp-maintainer-tools",
3
- "version": "0.60.0",
3
+ "version": "0.61.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Offline parity and schema maintenance tools for CrowdyCPP",
7
7
  "crowdyjsParityTarget": {
8
- "version": "18.7.0",
9
- "commit": "1ff76217bf396325f3c2774ca4d89644ab4ce352"
8
+ "version": "18.8.0",
9
+ "commit": "d7b755abe73bd9e157673325cbfcfb3975f71cc3"
10
10
  },
11
11
  "scripts": {
12
12
  "codegen": "node scripts/codegen.mjs",
@@ -29,8 +29,8 @@
29
29
  },
30
30
  "publishedSchemaSnapshot": {
31
31
  "url": "https://docs.crowdedkingdoms.com/schema/game-api.graphql",
32
- "sourceBlob": "6588b254ed9f36cb244fe31aeedbeeba0aadb44f",
33
- "snapshotSha256": "8b9776b0f2bfc4658d3c7afad6beef116eeefde83eda6f904d43e8b5fff4c7a8",
34
- "syncedAt": "2026-10-10T06:40:51.235Z"
32
+ "sourceBlob": "9f307b0d7564e4decf33076a028fbd4b17aff87a",
33
+ "snapshotSha256": "4b9c470a996a1c6c423849546fc23eda164605753e2aa2083485156b27a8da1c",
34
+ "syncedAt": "2026-10-10T21:36:46.786Z"
35
35
  }
36
36
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "contractVersion": "crowdy.studio-diagnostics/1",
3
3
  "crowdyJs": {
4
- "version": "18.7.0",
5
- "commit": "1ff76217bf396325f3c2774ca4d89644ab4ce352"
4
+ "version": "18.8.0",
5
+ "commit": "d7b755abe73bd9e157673325cbfcfb3975f71cc3"
6
6
  },
7
7
  "cases": [
8
8
  {
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "fixtureVersion": 1,
3
3
  "crowdyJs": {
4
- "version": "18.7.0",
5
- "commit": "1ff76217bf396325f3c2774ca4d89644ab4ce352"
4
+ "version": "18.8.0",
5
+ "commit": "d7b755abe73bd9e157673325cbfcfb3975f71cc3"
6
6
  },
7
7
  "storageKey": "ck:crowdy-studio:layout:v1",
8
8
  "paneIds": [
File without changes
File without changes
File without changes
File without changes