com.beamable 5.0.1 → 5.1.0-PREVIEW.RC1

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 (658) hide show
  1. package/.attestation.p7m +0 -0
  2. package/CHANGELOG.md +24 -1
  3. package/Common/README.md +16 -3
  4. package/Common/Runtime/AgnosticAttribute.cs +2 -2
  5. package/Common/Runtime/Api/AliasHelper.cs +2 -2
  6. package/Common/Runtime/Api/Analytics/AnalyticsEventRequest.cs +2 -2
  7. package/Common/Runtime/Api/Analytics/AnalyticsService.cs +2 -2
  8. package/Common/Runtime/Api/Analytics/IBeamAnalyticsService.cs +2 -2
  9. package/Common/Runtime/Api/Analytics/Models/CoreEvent.cs +2 -2
  10. package/Common/Runtime/Api/Analytics/Models/IAnalyticsEvent.cs +2 -2
  11. package/Common/Runtime/Api/Analytics/Models/SampleCustomEvent.cs +2 -2
  12. package/Common/Runtime/Api/Announcements/AbsAnnouncementsApi.cs +2 -2
  13. package/Common/Runtime/Api/Announcements/IAnnouncementsApi.cs +2 -2
  14. package/Common/Runtime/Api/Auth/AuthApi.cs +2 -2
  15. package/Common/Runtime/Api/Auth/IAuthApi.cs +2 -2
  16. package/Common/Runtime/Api/Calendars/AbsCalendarApi.cs +2 -2
  17. package/Common/Runtime/Api/Calendars/ICalendarApi.cs +2 -2
  18. package/Common/Runtime/Api/Chat/ChatApi.cs +2 -2
  19. package/Common/Runtime/Api/Chat/IChatApi.cs +2 -2
  20. package/Common/Runtime/Api/CloudData/CloudDataApi.cs +2 -2
  21. package/Common/Runtime/Api/CloudData/ICloudDataApi.cs +2 -2
  22. package/Common/Runtime/Api/CometClientData.cs +2 -2
  23. package/Common/Runtime/Api/Commerce/ICommerceApi.cs +2 -2
  24. package/Common/Runtime/Api/Content/IContentApi.cs +2 -2
  25. package/Common/Runtime/Api/Events/AbsEventsApi.cs +23 -26
  26. package/Common/Runtime/Api/Events/IEventsApi.cs +2 -2
  27. package/Common/Runtime/Api/Groups/GroupsApi.cs +2 -2
  28. package/Common/Runtime/Api/Groups/IGroupsApi.cs +2 -2
  29. package/Common/Runtime/Api/IAccessToken.cs +2 -2
  30. package/Common/Runtime/Api/IBeamableFilesystemAccessor.cs +2 -2
  31. package/Common/Runtime/Api/IBeamableRequester.cs +2 -2
  32. package/Common/Runtime/Api/IConnectivityChecker.cs +2 -2
  33. package/Common/Runtime/Api/IHasBeamableRequester.cs +2 -2
  34. package/Common/Runtime/Api/IServiceRoutingStrategy.cs +2 -2
  35. package/Common/Runtime/Api/ISupportsGet.cs +2 -2
  36. package/Common/Runtime/Api/IUserContext.cs +2 -2
  37. package/Common/Runtime/Api/IUserDataCache.cs +2 -2
  38. package/Common/Runtime/Api/Inventory/IInventoryApi.cs +71 -4
  39. package/Common/Runtime/Api/Inventory/InventoryApi.cs +136 -37
  40. package/Common/Runtime/Api/Inventory/InventoryUpdateBuilder.cs +2 -2
  41. package/Common/Runtime/Api/Leaderboards/ILeaderboardApi.cs +2 -2
  42. package/Common/Runtime/Api/Leaderboards/LeaderboardApi.cs +2 -2
  43. package/Common/Runtime/Api/Lobbies/ILobbyApi.cs +2 -2
  44. package/Common/Runtime/Api/Lobbies/Lobby.cs +2 -2
  45. package/Common/Runtime/Api/Lobbies/LobbyNotification.cs +2 -2
  46. package/Common/Runtime/Api/Lobbies/LobbyPlayer.cs +2 -2
  47. package/Common/Runtime/Api/Lobbies/LobbyRestriction.cs +2 -2
  48. package/Common/Runtime/Api/Lobbies/LobbyService.cs +2 -2
  49. package/Common/Runtime/Api/Lobbies/LobbyUtils.cs +2 -2
  50. package/Common/Runtime/Api/Lobbies/NotInLobby.cs +2 -2
  51. package/Common/Runtime/Api/Lobbies/Requests/AddTagsRequest.cs +2 -2
  52. package/Common/Runtime/Api/Lobbies/Requests/CreateLobbyRequest.cs +2 -2
  53. package/Common/Runtime/Api/Lobbies/Requests/JoinByPasscodeRequest.cs +2 -2
  54. package/Common/Runtime/Api/Lobbies/Requests/JoinLobbyRequest.cs +2 -2
  55. package/Common/Runtime/Api/Lobbies/Requests/LobbyQueryRequest.cs +2 -2
  56. package/Common/Runtime/Api/Lobbies/Requests/LobbyQueryResponse.cs +2 -2
  57. package/Common/Runtime/Api/Lobbies/Requests/RemoveFromLobbyRequest.cs +2 -2
  58. package/Common/Runtime/Api/Lobbies/Requests/RemoveTagsRequest.cs +2 -2
  59. package/Common/Runtime/Api/Lobbies/Requests/UpdateLobbyRequest.cs +2 -2
  60. package/Common/Runtime/Api/Mail/AbsMailApi.cs +2 -2
  61. package/Common/Runtime/Api/Mail/IMailApi.cs +2 -2
  62. package/Common/Runtime/Api/Notifications/INotificationService.cs +2 -2
  63. package/Common/Runtime/Api/Notifications/PrimitiveStringPayload.cs +2 -2
  64. package/Common/Runtime/Api/Parties/IPartyApi.cs +2 -2
  65. package/Common/Runtime/Api/Parties/NotInParty.cs +2 -2
  66. package/Common/Runtime/Api/Parties/Party.cs +2 -2
  67. package/Common/Runtime/Api/Parties/PartyNotifications.cs +2 -2
  68. package/Common/Runtime/Api/Parties/PartyRestriction.cs +2 -2
  69. package/Common/Runtime/Api/Parties/PartyService.cs +2 -2
  70. package/Common/Runtime/Api/Parties/Requests/CreatePartyRequest.cs +2 -2
  71. package/Common/Runtime/Api/Parties/Requests/PartyQueryResponse.cs +2 -2
  72. package/Common/Runtime/Api/Parties/Requests/PlayerRequest.cs +2 -2
  73. package/Common/Runtime/Api/Parties/Requests/UpdatePartyRequest.cs +2 -2
  74. package/Common/Runtime/Api/Payments/IPaymentsApi.cs +2 -2
  75. package/Common/Runtime/Api/Payments/PaymentsApi.cs +2 -2
  76. package/Common/Runtime/Api/Presence/IPresenceApi.cs +2 -2
  77. package/Common/Runtime/Api/Presence/PresenceService.cs +2 -2
  78. package/Common/Runtime/Api/Push/IPushApi.cs +2 -2
  79. package/Common/Runtime/Api/QueryBuilder.cs +2 -2
  80. package/Common/Runtime/Api/Realms/IAliasService.cs +2 -2
  81. package/Common/Runtime/Api/Realms/IRealmApi.cs +2 -2
  82. package/Common/Runtime/Api/Realms/RealmService.cs +2 -2
  83. package/Common/Runtime/Api/SignedRequesterHelper.cs +2 -2
  84. package/Common/Runtime/Api/Social/ISocialApi.cs +2 -2
  85. package/Common/Runtime/Api/Social/SocialApi.cs +2 -2
  86. package/Common/Runtime/Api/Stats/AbsStatsApi.cs +2 -2
  87. package/Common/Runtime/Api/Stats/IStatsApi.cs +2 -2
  88. package/Common/Runtime/Api/Stats/StatsAccessType.cs +2 -2
  89. package/Common/Runtime/Api/Stats/StatsApiHelper.cs +2 -2
  90. package/Common/Runtime/Api/Stats/StatsDomainType.cs +2 -2
  91. package/Common/Runtime/Api/Tournaments/ITournamentApi.cs +2 -2
  92. package/Common/Runtime/Api/Tournaments/TournamentApi.cs +2 -2
  93. package/Common/Runtime/BeamCli/CliContractTypeAttribute.cs +2 -2
  94. package/Common/Runtime/BeamCli/CliOtelData.cs +2 -2
  95. package/Common/Runtime/BeamCli/Contracts/CliLogMessage.cs +2 -2
  96. package/Common/Runtime/BeamCli/Contracts/CollectorStatus.cs +2 -2
  97. package/Common/Runtime/BeamCli/Contracts/Constants.cs +2 -2
  98. package/Common/Runtime/BeamCli/Contracts/ContentService/AutoSnapshotActionType.cs +2 -2
  99. package/Common/Runtime/BeamCli/Contracts/ContentService/AutoSnapshotType.cs +2 -2
  100. package/Common/Runtime/BeamCli/Contracts/ContentService/ContentSnapshotType.cs +2 -2
  101. package/Common/Runtime/BeamCli/Contracts/ContentService/ContentStatus.cs +2 -2
  102. package/Common/Runtime/BeamCli/Contracts/ContentService/LocalContentManifest.cs +2 -2
  103. package/Common/Runtime/BeamCli/Contracts/ContentService/LocalContentManifestEntry.cs +2 -2
  104. package/Common/Runtime/BeamCli/Contracts/ContentService/ManifestAuthor.cs +2 -2
  105. package/Common/Runtime/BeamCli/Contracts/ContentService/ManifestProjectData.cs +2 -2
  106. package/Common/Runtime/BeamCli/Contracts/ContentService/TagStatus.cs +2 -2
  107. package/Common/Runtime/BeamCli/Contracts/EnvironmentVersionData.cs +2 -2
  108. package/Common/Runtime/BeamCli/Contracts/GenerateEnvOutput.cs +2 -2
  109. package/Common/Runtime/BeamCli/Contracts/ServiceInfo.cs +2 -2
  110. package/Common/Runtime/BeamCli/ErrorOutput.cs +2 -2
  111. package/Common/Runtime/BeamCli/IBeamCommand.cs +2 -2
  112. package/Common/Runtime/BeamCli/Reporting.cs +2 -2
  113. package/Common/Runtime/BeamCli/ServiceInfoHelper.cs +2 -2
  114. package/Common/Runtime/BeamGenerateSchemaAttribute.cs +2 -2
  115. package/Common/Runtime/BeamableColorUtil.cs +2 -2
  116. package/Common/Runtime/BeamableEnumExtensions.cs +2 -2
  117. package/Common/Runtime/BeamableTaskExtensions.cs +2 -2
  118. package/Common/Runtime/Collections/ConcurrentBag.cs +2 -2
  119. package/Common/Runtime/Collections/ConcurrentDictionary.cs +2 -2
  120. package/Common/Runtime/Constants/Constants.cs +3 -3
  121. package/Common/Runtime/Constants/Implementations/ArchiveConstants.cs +2 -2
  122. package/Common/Runtime/Constants/Implementations/ConfigConstants.cs +2 -2
  123. package/Common/Runtime/Constants/Implementations/ContentConstants.cs +2 -2
  124. package/Common/Runtime/Constants/Implementations/ContentManagerConstants.cs +2 -2
  125. package/Common/Runtime/Constants/Implementations/CronConstants.cs +2 -2
  126. package/Common/Runtime/Constants/Implementations/DockerConstants.cs +2 -2
  127. package/Common/Runtime/Constants/Implementations/EnvironmentConstants.cs +2 -2
  128. package/Common/Runtime/Constants/Implementations/LoginBaseConstants.cs +2 -2
  129. package/Common/Runtime/Constants/Implementations/MigrationConstants.cs +2 -2
  130. package/Common/Runtime/Constants/Implementations/NotificationConstants.cs +2 -2
  131. package/Common/Runtime/Constants/Implementations/OtelConstants.cs +32 -2
  132. package/Common/Runtime/Constants/Implementations/PortalExtensionConstants.cs +17 -0
  133. package/Common/Runtime/{OpenApi/BeamServiceplan.gs.cs.meta → Constants/Implementations/PortalExtensionConstants.cs.meta} +1 -1
  134. package/Common/Runtime/Constants/Implementations/RequesterConstants.cs +2 -2
  135. package/Common/Runtime/Constants/Implementations/SchedulesConstants.cs +2 -2
  136. package/Common/Runtime/Constants/Implementations/ServiceConstants.cs +9 -2
  137. package/Common/Runtime/Constants/Implementations/SpewConstants.cs +2 -2
  138. package/Common/Runtime/Constants/Implementations/TestingToolConstants.cs +2 -2
  139. package/Common/Runtime/Constants/Implementations/ToolbarConstants.cs +2 -2
  140. package/Common/Runtime/Constants/Implementations/ToolboxConstants.cs +2 -2
  141. package/Common/Runtime/Constants/Implementations/TooltipConstants.cs +2 -2
  142. package/Common/Runtime/Content/ClientContentSerializer.cs +13 -2
  143. package/Common/Runtime/Content/ClientManifest.cs +2 -2
  144. package/Common/Runtime/Content/ClientPermissions.cs +2 -2
  145. package/Common/Runtime/Content/ContentCorruptedException.cs +2 -2
  146. package/Common/Runtime/Content/ContentDataInfo.cs +2 -2
  147. package/Common/Runtime/Content/ContentDeserializationException.cs +2 -2
  148. package/Common/Runtime/Content/ContentFieldAttribute.cs +2 -2
  149. package/Common/Runtime/Content/ContentFilterType.cs +2 -2
  150. package/Common/Runtime/Content/ContentNotFoundException.cs +2 -2
  151. package/Common/Runtime/Content/ContentObject.cs +47 -8
  152. package/Common/Runtime/Content/ContentQuery.cs +2 -2
  153. package/Common/Runtime/Content/ContentQueryExtensions.cs +2 -2
  154. package/Common/Runtime/Content/ContentRef.cs +2 -2
  155. package/Common/Runtime/Content/ContentSerializer.cs +2 -2
  156. package/Common/Runtime/Content/ContentTypeAttribute.cs +2 -2
  157. package/Common/Runtime/Content/ContentTypeReflectionCache.cs +2 -2
  158. package/Common/Runtime/Content/ContentVisibility.cs +2 -2
  159. package/Common/Runtime/Content/Federation.cs +2 -2
  160. package/Common/Runtime/Content/IContentObject.cs +2 -2
  161. package/Common/Runtime/Content/IContentService.cs +2 -2
  162. package/Common/Runtime/Content/IIgnoreSerializationCallbacks.cs +2 -2
  163. package/Common/Runtime/Content/IgnoreContentFieldAttribute.cs +2 -2
  164. package/Common/Runtime/Content/Optionals.cs +2 -2
  165. package/Common/Runtime/Content/PropertyAttributes/FilePathSelectorAttribute.cs +2 -2
  166. package/Common/Runtime/Content/PropertyAttributes/HideUnlessServerPackageInstalled.cs +2 -2
  167. package/Common/Runtime/Content/PropertyAttributes/ReadonlyIfAttribute.cs +2 -2
  168. package/Common/Runtime/Content/PropertyAttributes/ShowOnlyAttribute.cs +2 -2
  169. package/Common/Runtime/Content/RenderAsRefAttribute.cs +2 -2
  170. package/Common/Runtime/Content/SerializableDictionary.cs +2 -2
  171. package/Common/Runtime/Content/Utility/DateUtility.cs +2 -2
  172. package/Common/Runtime/Content/Validation/AggregateContentValidationException.cs +2 -2
  173. package/Common/Runtime/Content/Validation/CannotBeBlank.cs +2 -2
  174. package/Common/Runtime/Content/Validation/CannotBeEmpty.cs +2 -2
  175. package/Common/Runtime/Content/Validation/ContentValidationException.cs +2 -2
  176. package/Common/Runtime/Content/Validation/FederationMustBeValid.cs +2 -2
  177. package/Common/Runtime/Content/Validation/MustBeComparatorString.cs +2 -2
  178. package/Common/Runtime/Content/Validation/MustBeCurrency.cs +2 -2
  179. package/Common/Runtime/Content/Validation/MustBeCurrencyOrItem.cs +2 -2
  180. package/Common/Runtime/Content/Validation/MustBeDateString.cs +2 -2
  181. package/Common/Runtime/Content/Validation/MustBeItem.cs +2 -2
  182. package/Common/Runtime/Content/Validation/MustBeLeaderboard.cs +2 -2
  183. package/Common/Runtime/Content/Validation/MustBeNonDefault.cs +2 -2
  184. package/Common/Runtime/Content/Validation/MustBeNonNegative.cs +2 -2
  185. package/Common/Runtime/Content/Validation/MustBeOneOf.cs +2 -2
  186. package/Common/Runtime/Content/Validation/MustBePositive.cs +2 -2
  187. package/Common/Runtime/Content/Validation/MustBeSlugString.cs +2 -2
  188. package/Common/Runtime/Content/Validation/MustBeTimeSpanDuration.cs +2 -2
  189. package/Common/Runtime/Content/Validation/MustBeValidCron.cs +2 -2
  190. package/Common/Runtime/Content/Validation/MustContain.cs +2 -2
  191. package/Common/Runtime/Content/Validation/MustReferenceContent.cs +2 -2
  192. package/Common/Runtime/Content/Validation/RouteParametersMustBeValid.cs +2 -2
  193. package/Common/Runtime/Content/Validation/ServiceRouteMustBeValid.cs +2 -2
  194. package/Common/Runtime/Content/Validation/TimeSpanDisplayAttribute.cs +2 -2
  195. package/Common/Runtime/Content/Validation/ValidationAttribute.cs +2 -2
  196. package/Common/Runtime/Content/Validation/ValidationContext.cs +2 -2
  197. package/Common/Runtime/CronExpression/CronLocale.cs +2 -2
  198. package/Common/Runtime/CronExpression/ErrorData.cs +2 -2
  199. package/Common/Runtime/CronExpression/ExpressionParser.cs +2 -2
  200. package/Common/Runtime/CronExpression/Options.cs +2 -2
  201. package/Common/Runtime/Debug.cs +2 -2
  202. package/Common/Runtime/DefaultQuery.cs +2 -2
  203. package/Common/Runtime/Dependencies/DependencyBuilder.cs +2 -2
  204. package/Common/Runtime/Dependencies/DependencyProvider.cs +12 -2
  205. package/Common/Runtime/Dependencies/Exceptions.cs +2 -2
  206. package/Common/Runtime/Dependencies/IDependencyList.cs +2 -2
  207. package/Common/Runtime/Dependencies/IDependencyNameProvider.cs +2 -2
  208. package/Common/Runtime/Dependencies/RegisterBeamableDependenciesAttribute.cs +2 -2
  209. package/Common/Runtime/Dependencies/ServiceStorage.cs +2 -2
  210. package/Common/Runtime/Dependencies/Utils.cs +2 -2
  211. package/Common/Runtime/DocUtils.cs +2 -2
  212. package/Common/Runtime/Environment/PackageVersion.cs +2 -2
  213. package/Common/Runtime/Federation/FederatedGameServer.cs +2 -2
  214. package/Common/Runtime/Federation/FederatedInventory.cs +2 -2
  215. package/Common/Runtime/Federation/FederatedLogin.cs +2 -2
  216. package/Common/Runtime/Federation/FederatedPlayerInit.cs +2 -2
  217. package/Common/Runtime/Federation/Federation.cs +2 -2
  218. package/Common/Runtime/IRuntimeConfigProvider.cs +2 -2
  219. package/Common/Runtime/ISearchableElement.cs +2 -2
  220. package/Common/Runtime/JsonSerializable/DeleteStream.cs +2 -2
  221. package/Common/Runtime/JsonSerializable/DiffStream.cs +2 -2
  222. package/Common/Runtime/JsonSerializable/JsonData.cs +2 -2
  223. package/Common/Runtime/JsonSerializable/JsonSaveStream.cs +2 -2
  224. package/Common/Runtime/JsonSerializable/JsonSerializable.cs +2 -2
  225. package/Common/Runtime/JsonSerializable/LoadStream.cs +2 -2
  226. package/Common/Runtime/JsonSerializable/MessagePackStream.cs +2 -2
  227. package/Common/Runtime/JsonSerializable/SaveStream.cs +2 -2
  228. package/Common/Runtime/JsonSerializable/TypeLookupFactory.cs +2 -2
  229. package/Common/Runtime/Modules/Announcements/AnnouncementApiContent.cs +2 -2
  230. package/Common/Runtime/Modules/Announcements/AnnouncementContent.cs +2 -2
  231. package/Common/Runtime/Modules/Announcements/AnnouncementRef.cs +2 -2
  232. package/Common/Runtime/Modules/Calendars/CalendarContent.cs +2 -2
  233. package/Common/Runtime/Modules/Calendars/CalendarRef.cs +2 -2
  234. package/Common/Runtime/Modules/Groups/GroupDonationContentRef.cs +2 -2
  235. package/Common/Runtime/Modules/Groups/GroupDonationsContent.cs +2 -2
  236. package/Common/Runtime/Modules/Inventory/CurrencyContent.cs +2 -2
  237. package/Common/Runtime/Modules/Inventory/CurrencyRef.cs +2 -2
  238. package/Common/Runtime/Modules/Inventory/ItemContent.cs +2 -2
  239. package/Common/Runtime/Modules/Inventory/ItemRef.cs +2 -2
  240. package/Common/Runtime/Modules/Inventory/VipContent.cs +2 -2
  241. package/Common/Runtime/Modules/Leaderboards/LeaderboardContent.cs +2 -2
  242. package/Common/Runtime/Modules/Leaderboards/LeaderboardRef.cs +2 -2
  243. package/Common/Runtime/Modules/SharedContent/ApiContent.cs +2 -2
  244. package/Common/Runtime/Modules/SharedContent/EmailContent.cs +2 -2
  245. package/Common/Runtime/Modules/SharedContent/EventContent.cs +2 -2
  246. package/Common/Runtime/Modules/SharedContent/PlayerReward.cs +2 -2
  247. package/Common/Runtime/Modules/SharedContent/ScheduleDefinition.cs +2 -2
  248. package/Common/Runtime/Modules/SharedContent/ScheduleExtensions.cs +2 -2
  249. package/Common/Runtime/Modules/SharedContent/SimGameType.cs +2 -2
  250. package/Common/Runtime/Modules/Shop/ListingContent.cs +2 -2
  251. package/Common/Runtime/Modules/Shop/ListingLink.cs +2 -2
  252. package/Common/Runtime/Modules/Shop/ListingRef.cs +2 -2
  253. package/Common/Runtime/Modules/Shop/SKUContent.cs +2 -2
  254. package/Common/Runtime/Modules/Shop/SKURef.cs +2 -2
  255. package/Common/Runtime/Modules/Shop/StoreContent.cs +2 -2
  256. package/Common/Runtime/Modules/Shop/StoreRef.cs +2 -2
  257. package/Common/Runtime/Modules/Steam/ISteamService.cs +2 -2
  258. package/Common/Runtime/Modules/Tournaments/TournamentColorConstants.cs +2 -2
  259. package/Common/Runtime/Modules/Tournaments/TournamentContent.cs +2 -2
  260. package/Common/Runtime/ObjectExtensions.cs +2 -2
  261. package/Common/Runtime/OpenApi/AccountsBasic.gs.cs +2 -2
  262. package/Common/Runtime/OpenApi/AccountsBasicCommon.gs.cs +2 -2
  263. package/Common/Runtime/OpenApi/AccountsObject.gs.cs +2 -2
  264. package/Common/Runtime/OpenApi/AnnouncementsBasic.gs.cs +2 -2
  265. package/Common/Runtime/OpenApi/AnnouncementsBasicCommon.gs.cs +2 -2
  266. package/Common/Runtime/OpenApi/AnnouncementsObject.gs.cs +2 -2
  267. package/Common/Runtime/OpenApi/AuthBasic.gs.cs +2 -2
  268. package/Common/Runtime/OpenApi/AuthBasicCommon.gs.cs +2 -2
  269. package/Common/Runtime/OpenApi/BeamAuth.gs.cs +2 -2
  270. package/Common/Runtime/OpenApi/BeamAuthCommon.gs.cs +2 -2
  271. package/Common/Runtime/OpenApi/BeamBeamo.gs.cs +136 -38
  272. package/Common/Runtime/OpenApi/BeamBeamoCommon.gs.cs +2 -2
  273. package/Common/Runtime/OpenApi/BeamBeamootel.gs.cs +32 -8
  274. package/Common/Runtime/OpenApi/BeamBeamootelCommon.gs.cs +2 -2
  275. package/Common/Runtime/OpenApi/BeamBilling.gs.cs +45 -0
  276. package/Common/Runtime/OpenApi/{BeamAdmin.gs.cs.meta → BeamBilling.gs.cs.meta} +1 -1
  277. package/Common/Runtime/OpenApi/BeamBillingCommon.gs.cs +45 -0
  278. package/Common/Runtime/OpenApi/{BeamServiceplanCommon.gs.cs.meta → BeamBillingCommon.gs.cs.meta} +1 -1
  279. package/Common/Runtime/OpenApi/BeamCustomer.gs.cs +198 -124
  280. package/Common/Runtime/OpenApi/BeamCustomerCommon.gs.cs +2 -2
  281. package/Common/Runtime/OpenApi/BeamLobby.gs.cs +4 -4
  282. package/Common/Runtime/OpenApi/BeamLobbyCommon.gs.cs +2 -2
  283. package/Common/Runtime/OpenApi/BeamMailbox.gs.cs +6 -2
  284. package/Common/Runtime/OpenApi/BeamMailboxCommon.gs.cs +2 -2
  285. package/Common/Runtime/OpenApi/BeamMatchmaking.gs.cs +4 -4
  286. package/Common/Runtime/OpenApi/BeamMatchmakingCommon.gs.cs +2 -2
  287. package/Common/Runtime/OpenApi/BeamParty.gs.cs +6 -6
  288. package/Common/Runtime/OpenApi/BeamPartyCommon.gs.cs +2 -2
  289. package/Common/Runtime/OpenApi/BeamPlayer.gs.cs +20 -8
  290. package/Common/Runtime/OpenApi/BeamPlayerCommon.gs.cs +2 -2
  291. package/Common/Runtime/OpenApi/BeamPlayerlobby.gs.cs +2 -2
  292. package/Common/Runtime/OpenApi/BeamPlayerlobbyCommon.gs.cs +2 -2
  293. package/Common/Runtime/OpenApi/BeamPlayerparty.gs.cs +2 -2
  294. package/Common/Runtime/OpenApi/BeamPlayerpartyCommon.gs.cs +2 -2
  295. package/Common/Runtime/OpenApi/BeamPlayersession.gs.cs +110 -0
  296. package/Common/Runtime/OpenApi/{BeamAdminCommon.gs.cs.meta → BeamPlayersession.gs.cs.meta} +1 -1
  297. package/Common/Runtime/OpenApi/BeamPlayersessionCommon.gs.cs +45 -0
  298. package/Common/Runtime/OpenApi/BeamPlayersessionCommon.gs.cs.meta +11 -0
  299. package/Common/Runtime/OpenApi/BeamPlayerstats.gs.cs +159 -0
  300. package/Common/Runtime/OpenApi/BeamPlayerstats.gs.cs.meta +11 -0
  301. package/Common/Runtime/OpenApi/{BeamServiceplanCommon.gs.cs → BeamPlayerstatsCommon.gs.cs} +6 -6
  302. package/Common/Runtime/OpenApi/BeamPlayerstatsCommon.gs.cs.meta +11 -0
  303. package/Common/Runtime/OpenApi/BeamPlayerticket.gs.cs +2 -2
  304. package/Common/Runtime/OpenApi/BeamPlayerticketCommon.gs.cs +2 -2
  305. package/Common/Runtime/OpenApi/BeamPresence.gs.cs +6 -2
  306. package/Common/Runtime/OpenApi/BeamPresenceCommon.gs.cs +2 -2
  307. package/Common/Runtime/OpenApi/BeamRealmsecrets.gs.cs +255 -0
  308. package/Common/Runtime/OpenApi/BeamRealmsecrets.gs.cs.meta +11 -0
  309. package/Common/Runtime/OpenApi/BeamRealmsecretsCommon.gs.cs +45 -0
  310. package/Common/Runtime/OpenApi/BeamRealmsecretsCommon.gs.cs.meta +11 -0
  311. package/Common/Runtime/OpenApi/BeamScheduler.gs.cs +90 -42
  312. package/Common/Runtime/OpenApi/BeamSchedulerCommon.gs.cs +2 -2
  313. package/Common/Runtime/OpenApi/BeamSession.gs.cs +114 -0
  314. package/Common/Runtime/OpenApi/BeamSession.gs.cs.meta +11 -0
  315. package/Common/Runtime/OpenApi/BeamSessionCommon.gs.cs +45 -0
  316. package/Common/Runtime/OpenApi/BeamSessionCommon.gs.cs.meta +11 -0
  317. package/Common/Runtime/OpenApi/BeamStats.gs.cs +308 -0
  318. package/Common/Runtime/OpenApi/BeamStats.gs.cs.meta +11 -0
  319. package/Common/Runtime/OpenApi/{BeamAdminCommon.gs.cs → BeamStatsCommon.gs.cs} +6 -6
  320. package/Common/Runtime/OpenApi/BeamStatsCommon.gs.cs.meta +11 -0
  321. package/Common/Runtime/OpenApi/BeamoBasic.gs.cs +2 -2
  322. package/Common/Runtime/OpenApi/BeamoBasicCommon.gs.cs +2 -2
  323. package/Common/Runtime/OpenApi/CalendarsObject.gs.cs +2 -2
  324. package/Common/Runtime/OpenApi/CalendarsObjectCommon.gs.cs +2 -2
  325. package/Common/Runtime/OpenApi/CloudsavingBasic.gs.cs +2 -2
  326. package/Common/Runtime/OpenApi/CloudsavingBasicCommon.gs.cs +2 -2
  327. package/Common/Runtime/OpenApi/CommerceBasic.gs.cs +2 -2
  328. package/Common/Runtime/OpenApi/CommerceBasicCommon.gs.cs +2 -2
  329. package/Common/Runtime/OpenApi/CommerceObject.gs.cs +2 -2
  330. package/Common/Runtime/OpenApi/ContentBasic.gs.cs +21 -2
  331. package/Common/Runtime/OpenApi/ContentBasicCommon.gs.cs +2 -2
  332. package/Common/Runtime/OpenApi/Event-playersObject.gs.cs +2 -2
  333. package/Common/Runtime/OpenApi/Event-playersObjectCommon.gs.cs +2 -2
  334. package/Common/Runtime/OpenApi/EventsBasic.gs.cs +2 -2
  335. package/Common/Runtime/OpenApi/EventsBasicCommon.gs.cs +2 -2
  336. package/Common/Runtime/OpenApi/EventsObject.gs.cs +2 -2
  337. package/Common/Runtime/OpenApi/Group-usersObject.gs.cs +2 -2
  338. package/Common/Runtime/OpenApi/Group-usersObjectCommon.gs.cs +2 -2
  339. package/Common/Runtime/OpenApi/GroupsObject.gs.cs +2 -2
  340. package/Common/Runtime/OpenApi/GroupsObjectCommon.gs.cs +2 -2
  341. package/Common/Runtime/OpenApi/InventoryBasic.gs.cs +2 -2
  342. package/Common/Runtime/OpenApi/InventoryBasicCommon.gs.cs +2 -2
  343. package/Common/Runtime/OpenApi/InventoryObject.gs.cs +2 -2
  344. package/Common/Runtime/OpenApi/LeaderboardsBasic.gs.cs +2 -2
  345. package/Common/Runtime/OpenApi/LeaderboardsBasicCommon.gs.cs +2 -2
  346. package/Common/Runtime/OpenApi/LeaderboardsObject.gs.cs +2 -2
  347. package/Common/Runtime/OpenApi/MailBasic.gs.cs +2 -2
  348. package/Common/Runtime/OpenApi/MailBasicCommon.gs.cs +2 -2
  349. package/Common/Runtime/OpenApi/MailObject.gs.cs +2 -2
  350. package/Common/Runtime/OpenApi/Models.gs.cs +1489 -410
  351. package/Common/Runtime/OpenApi/NotificationBasic.gs.cs +21 -2
  352. package/Common/Runtime/OpenApi/NotificationBasicCommon.gs.cs +2 -2
  353. package/Common/Runtime/OpenApi/PaymentsBasic.gs.cs +160 -2
  354. package/Common/Runtime/OpenApi/PaymentsBasicCommon.gs.cs +2 -2
  355. package/Common/Runtime/OpenApi/PaymentsObject.gs.cs +2 -2
  356. package/Common/Runtime/OpenApi/PushBasic.gs.cs +2 -2
  357. package/Common/Runtime/OpenApi/PushBasicCommon.gs.cs +2 -2
  358. package/Common/Runtime/OpenApi/RealmsBasic.gs.cs +12 -12
  359. package/Common/Runtime/OpenApi/RealmsBasicCommon.gs.cs +2 -2
  360. package/Common/Runtime/OpenApi/SessionBasic.gs.cs +16 -16
  361. package/Common/Runtime/OpenApi/SessionBasicCommon.gs.cs +2 -2
  362. package/Common/Runtime/OpenApi/SocialBasic.gs.cs +2 -2
  363. package/Common/Runtime/OpenApi/SocialBasicCommon.gs.cs +2 -2
  364. package/Common/Runtime/OpenApi/StatsBasic.gs.cs +9 -9
  365. package/Common/Runtime/OpenApi/StatsBasicCommon.gs.cs +2 -2
  366. package/Common/Runtime/OpenApi/StatsObject.gs.cs +2 -2
  367. package/Common/Runtime/OpenApi/TournamentsBasic.gs.cs +2 -2
  368. package/Common/Runtime/OpenApi/TournamentsBasicCommon.gs.cs +2 -2
  369. package/Common/Runtime/OpenApi/TournamentsObject.gs.cs +2 -2
  370. package/Common/Runtime/OpenApi/TrialsBasic.gs.cs +2 -2
  371. package/Common/Runtime/OpenApi/TrialsBasicCommon.gs.cs +2 -2
  372. package/Common/Runtime/OpenApiExtensions/BeamoExtensions.cs +2 -2
  373. package/Common/Runtime/OpenApiExtensions/LegacyConverterExtensions.cs +189 -2
  374. package/Common/Runtime/OpenApiSystem.cs +2 -2
  375. package/Common/Runtime/Player/Lazy.cs +2 -2
  376. package/Common/Runtime/Player/Observables.cs +2 -2
  377. package/Common/Runtime/Pooling/ClassPool.cs +2 -2
  378. package/Common/Runtime/Pooling/StringBuilderPool.cs +2 -2
  379. package/Common/Runtime/Promise.cs +66 -43
  380. package/Common/Runtime/ReflectionCache/BeamContextSystemAttribute.cs +2 -2
  381. package/Common/Runtime/ReflectionCache/INamingAttribute.cs +2 -2
  382. package/Common/Runtime/ReflectionCache/IReflectionAttribute.cs +2 -2
  383. package/Common/Runtime/ReflectionCache/PreserveAttribute.cs +2 -2
  384. package/Common/Runtime/ReflectionCache/ReflectionCache.cs +2 -2
  385. package/Common/Runtime/ReflectionCache/ReflectionCache_Attributes.cs +2 -2
  386. package/Common/Runtime/ReflectionCache/ReflectionCache_BaseTypes.cs +2 -2
  387. package/Common/Runtime/ReflectionCache/ReflectionCache_SignatureMatching.cs +2 -2
  388. package/Common/Runtime/Scheduler/BeamScheduler.cs +2 -2
  389. package/Common/Runtime/Scheduler/Cron.cs +2 -2
  390. package/Common/Runtime/Scheduler/CronValidation.cs +2 -2
  391. package/Common/Runtime/Semantics/BeamAccountId.cs +91 -0
  392. package/Common/Runtime/Semantics/BeamAccountId.cs.meta +11 -0
  393. package/Common/Runtime/Semantics/BeamCid.cs +89 -0
  394. package/Common/Runtime/Semantics/BeamCid.cs.meta +11 -0
  395. package/Common/Runtime/Semantics/BeamContentId.cs +55 -0
  396. package/Common/Runtime/Semantics/BeamContentId.cs.meta +11 -0
  397. package/Common/Runtime/Semantics/BeamContentManifestId.cs +49 -0
  398. package/Common/Runtime/Semantics/BeamContentManifestId.cs.meta +11 -0
  399. package/Common/Runtime/Semantics/BeamGamerTag.cs +90 -0
  400. package/Common/Runtime/Semantics/BeamGamerTag.cs.meta +11 -0
  401. package/Common/Runtime/Semantics/BeamPid.cs +49 -0
  402. package/Common/Runtime/Semantics/BeamPid.cs.meta +11 -0
  403. package/Common/Runtime/Semantics/BeamStats.cs +62 -0
  404. package/Common/Runtime/Semantics/BeamStats.cs.meta +11 -0
  405. package/Common/Runtime/Semantics/IBeamSemanticType.cs +16 -0
  406. package/Common/Runtime/Semantics/IBeamSemanticType.cs.meta +11 -0
  407. package/Common/Runtime/Semantics/ServiceName.cs +25 -4
  408. package/Common/Runtime/SmallerJSON/IRawJsonProvider.cs +2 -2
  409. package/Common/Runtime/SmallerJSON/SmallerJSON.ArrayDict.cs +2 -2
  410. package/Common/Runtime/SmallerJSON/SmallerJSON.FromString.cs +2 -2
  411. package/Common/Runtime/SmallerJSON/SmallerJSON.cs +226 -2
  412. package/Common/Runtime/Spew/Logger.cs +2 -2
  413. package/Common/Runtime/Spew/SpewLoggerAttribute.cs +2 -2
  414. package/Common/Runtime/Trie.cs +2 -2
  415. package/Common/Runtime/TypeExtensions.cs +2 -2
  416. package/Common/Runtime/Util/BeamAssemblyVersionUtil.cs +2 -2
  417. package/Common/Runtime/Util/BeamFileUtil.cs +2 -2
  418. package/Common/Runtime/Util/DocsPageHelper.cs +2 -2
  419. package/Common/Runtime/Util/NaturalStringComparer.cs +2 -2
  420. package/Editor/BeamCli/BeamCommand.cs +0 -6
  421. package/Editor/BeamCli/BeamWebCommand.cs +38 -8
  422. package/Editor/BeamCli/Commands/Beam.cs +7 -0
  423. package/Editor/BeamCli/Commands/BeamBeamableTypesSchema.cs +17 -0
  424. package/Editor/BeamCli/Commands/BeamBeamableTypesSchema.cs.meta +11 -0
  425. package/Editor/BeamCli/Commands/BeamComponentExtensionOption.cs +13 -0
  426. package/Editor/BeamCli/Commands/BeamComponentExtensionOption.cs.meta +11 -0
  427. package/Editor/BeamCli/Commands/BeamComponentSelectorOption.cs +13 -0
  428. package/Editor/BeamCli/Commands/BeamComponentSelectorOption.cs.meta +11 -0
  429. package/Editor/BeamCli/Commands/BeamContentFieldEntry.cs +14 -0
  430. package/Editor/BeamCli/Commands/BeamContentFieldEntry.cs.meta +11 -0
  431. package/Editor/BeamCli/Commands/BeamContentHistory.cs +97 -0
  432. package/Editor/BeamCli/Commands/BeamContentHistory.cs.meta +11 -0
  433. package/Editor/BeamCli/Commands/BeamContentHistoryChangelist.cs +11 -0
  434. package/Editor/BeamCli/Commands/BeamContentHistoryChangelist.cs.meta +11 -0
  435. package/Editor/BeamCli/Commands/BeamContentHistoryChangelistEntry.cs +23 -0
  436. package/Editor/BeamCli/Commands/BeamContentHistoryChangelistEntry.cs.meta +11 -0
  437. package/Editor/BeamCli/Commands/BeamContentHistoryChangelistPage.cs +12 -0
  438. package/Editor/BeamCli/Commands/BeamContentHistoryChangelistPage.cs.meta +11 -0
  439. package/Editor/BeamCli/Commands/BeamContentHistoryCommandEvent.cs +16 -0
  440. package/Editor/BeamCli/Commands/BeamContentHistoryCommandEvent.cs.meta +11 -0
  441. package/Editor/BeamCli/Commands/BeamContentHistoryEntriesPage.cs +15 -0
  442. package/Editor/BeamCli/Commands/BeamContentHistoryEntriesPage.cs.meta +11 -0
  443. package/Editor/BeamCli/Commands/BeamContentHistoryEntry.cs +16 -0
  444. package/Editor/BeamCli/Commands/BeamContentHistoryEntry.cs.meta +11 -0
  445. package/Editor/BeamCli/Commands/BeamContentHistoryRestoreCommandOutput.cs +12 -0
  446. package/Editor/BeamCli/Commands/BeamContentHistoryRestoreCommandOutput.cs.meta +11 -0
  447. package/Editor/BeamCli/Commands/BeamContentHistoryRestoreContent.cs +82 -0
  448. package/Editor/BeamCli/Commands/BeamContentHistoryRestoreContent.cs.meta +11 -0
  449. package/Editor/BeamCli/Commands/BeamContentHistorySyncChangelist.cs +71 -0
  450. package/Editor/BeamCli/Commands/BeamContentHistorySyncChangelist.cs.meta +11 -0
  451. package/Editor/BeamCli/Commands/BeamContentHistorySyncChangelistCommandOutput.cs +12 -0
  452. package/Editor/BeamCli/Commands/BeamContentHistorySyncChangelistCommandOutput.cs.meta +11 -0
  453. package/Editor/BeamCli/Commands/BeamContentHistorySyncContent.cs +82 -0
  454. package/Editor/BeamCli/Commands/BeamContentHistorySyncContent.cs.meta +11 -0
  455. package/Editor/BeamCli/Commands/BeamContentHistorySyncContentCommandOutput.cs +12 -0
  456. package/Editor/BeamCli/Commands/BeamContentHistorySyncContentCommandOutput.cs.meta +11 -0
  457. package/Editor/BeamCli/Commands/BeamContentSync.cs +7 -0
  458. package/Editor/BeamCli/Commands/BeamContentTypeEntry.cs +18 -0
  459. package/Editor/BeamCli/Commands/BeamContentTypeEntry.cs.meta +11 -0
  460. package/Editor/BeamCli/Commands/BeamDeployablePlan.cs +2 -0
  461. package/Editor/BeamCli/Commands/BeamDeploymentDiffSummary.cs +3 -0
  462. package/Editor/BeamCli/Commands/BeamDeploymentPlan.cs +7 -0
  463. package/Editor/BeamCli/Commands/BeamDeploymentRelease.cs +7 -0
  464. package/Editor/BeamCli/Commands/BeamFederationMethodEntry.cs +15 -0
  465. package/Editor/BeamCli/Commands/BeamFederationMethodEntry.cs.meta +11 -0
  466. package/Editor/BeamCli/Commands/BeamFederationMethodParam.cs +13 -0
  467. package/Editor/BeamCli/Commands/BeamFederationMethodParam.cs.meta +11 -0
  468. package/Editor/BeamCli/Commands/BeamFederationTypeEntry.cs +17 -0
  469. package/Editor/BeamCli/Commands/BeamFederationTypeEntry.cs.meta +11 -0
  470. package/Editor/BeamCli/Commands/BeamGameWithRealms.cs +14 -0
  471. package/Editor/BeamCli/Commands/BeamGameWithRealms.cs.meta +11 -0
  472. package/Editor/BeamCli/Commands/BeamGenerateSkillDocs.cs +57 -0
  473. package/Editor/BeamCli/Commands/BeamGenerateSkillDocs.cs.meta +11 -0
  474. package/Editor/BeamCli/Commands/BeamGenerateSkillDocsCommandResult.cs +12 -0
  475. package/Editor/BeamCli/Commands/BeamGenerateSkillDocsCommandResult.cs.meta +11 -0
  476. package/Editor/BeamCli/Commands/BeamGenerateTypeSchema.cs +64 -0
  477. package/Editor/BeamCli/Commands/BeamGenerateTypeSchema.cs.meta +11 -0
  478. package/Editor/BeamCli/Commands/BeamHostServiceDescriptor.cs +1 -0
  479. package/Editor/BeamCli/Commands/BeamInitGetRealms.cs +73 -0
  480. package/Editor/BeamCli/Commands/BeamInitGetRealms.cs.meta +11 -0
  481. package/Editor/BeamCli/Commands/BeamInitGetRealmsResult.cs +12 -0
  482. package/Editor/BeamCli/Commands/BeamInitGetRealmsResult.cs.meta +11 -0
  483. package/Editor/BeamCli/Commands/BeamInstallAISkillsCommandResult.cs +17 -0
  484. package/Editor/BeamCli/Commands/BeamInstallAISkillsCommandResult.cs.meta +11 -0
  485. package/Editor/BeamCli/Commands/BeamInstallAiSkill.cs +85 -0
  486. package/Editor/BeamCli/Commands/BeamInstallAiSkill.cs.meta +11 -0
  487. package/Editor/BeamCli/Commands/BeamListMountSitesCommandResults.cs +12 -0
  488. package/Editor/BeamCli/Commands/BeamListMountSitesCommandResults.cs.meta +11 -0
  489. package/Editor/BeamCli/Commands/BeamListReplacementTypeCommandOutput.cs +12 -0
  490. package/Editor/BeamCli/Commands/BeamListReplacementTypeCommandOutput.cs.meta +11 -0
  491. package/Editor/BeamCli/Commands/BeamMcpSetup.cs +58 -0
  492. package/Editor/BeamCli/Commands/BeamMcpSetup.cs.meta +11 -0
  493. package/Editor/BeamCli/Commands/BeamMcpSetupCommandResult.cs +12 -0
  494. package/Editor/BeamCli/Commands/BeamMcpSetupCommandResult.cs.meta +11 -0
  495. package/Editor/BeamCli/Commands/BeamMountSiteConfig.cs +14 -0
  496. package/Editor/BeamCli/Commands/BeamMountSiteConfig.cs.meta +11 -0
  497. package/Editor/BeamCli/Commands/BeamMountSiteSelector.cs +13 -0
  498. package/Editor/BeamCli/Commands/BeamMountSiteSelector.cs.meta +11 -0
  499. package/Editor/BeamCli/Commands/BeamPageExtensionOption.cs +13 -0
  500. package/Editor/BeamCli/Commands/BeamPageExtensionOption.cs.meta +11 -0
  501. package/Editor/BeamCli/Commands/BeamPortalExtensionAddMicroservice.cs +55 -0
  502. package/Editor/BeamCli/Commands/BeamPortalExtensionAddMicroservice.cs.meta +11 -0
  503. package/Editor/BeamCli/Commands/BeamPortalExtensionFileUploadInfo.cs +16 -0
  504. package/Editor/BeamCli/Commands/BeamPortalExtensionFileUploadInfo.cs.meta +11 -0
  505. package/Editor/BeamCli/Commands/BeamPortalExtensionListExtensionOptions.cs +51 -0
  506. package/Editor/BeamCli/Commands/BeamPortalExtensionListExtensionOptions.cs.meta +11 -0
  507. package/Editor/BeamCli/Commands/BeamPortalExtensionListMountSites.cs +51 -0
  508. package/Editor/BeamCli/Commands/BeamPortalExtensionListMountSites.cs.meta +11 -0
  509. package/Editor/BeamCli/Commands/BeamPortalExtensionOptionsResult.cs +13 -0
  510. package/Editor/BeamCli/Commands/BeamPortalExtensionOptionsResult.cs.meta +11 -0
  511. package/Editor/BeamCli/Commands/BeamPortalExtensionPlanFileReference.cs +14 -0
  512. package/Editor/BeamCli/Commands/BeamPortalExtensionPlanFileReference.cs.meta +11 -0
  513. package/Editor/BeamCli/Commands/BeamPortalExtensionPlanReference.cs +16 -0
  514. package/Editor/BeamCli/Commands/BeamPortalExtensionPlanReference.cs.meta +11 -0
  515. package/Editor/BeamCli/Commands/BeamPortalExtensionSetConfig.cs +63 -0
  516. package/Editor/BeamCli/Commands/BeamPortalExtensionSetConfig.cs.meta +11 -0
  517. package/Editor/BeamCli/Commands/BeamPortalExtensionUploadInfo.cs +15 -0
  518. package/Editor/BeamCli/Commands/BeamPortalExtensionUploadInfo.cs.meta +11 -0
  519. package/Editor/BeamCli/Commands/BeamProjectAddReplacementType.cs +81 -0
  520. package/Editor/BeamCli/Commands/BeamProjectAddReplacementType.cs.meta +11 -0
  521. package/Editor/BeamCli/Commands/BeamProjectBuild.cs +7 -0
  522. package/Editor/BeamCli/Commands/BeamProjectGenerateClientOapi.cs +14 -0
  523. package/Editor/BeamCli/Commands/BeamProjectListReplacementType.cs +58 -0
  524. package/Editor/BeamCli/Commands/BeamProjectListReplacementType.cs.meta +11 -0
  525. package/Editor/BeamCli/Commands/BeamProjectNewPortalExtension.cs +121 -0
  526. package/Editor/BeamCli/Commands/BeamProjectNewPortalExtension.cs.meta +11 -0
  527. package/Editor/BeamCli/Commands/BeamProjectRemoveReplacementType.cs +60 -0
  528. package/Editor/BeamCli/Commands/BeamProjectRemoveReplacementType.cs.meta +11 -0
  529. package/Editor/BeamCli/Commands/BeamRealmOption.cs +16 -0
  530. package/Editor/BeamCli/Commands/BeamRealmOption.cs.meta +11 -0
  531. package/Editor/BeamCli/Commands/BeamRemotePortalConfiguration.cs +12 -0
  532. package/Editor/BeamCli/Commands/BeamRemotePortalConfiguration.cs.meta +11 -0
  533. package/Editor/BeamCli/Commands/BeamReplacementTypeInfo.cs +15 -0
  534. package/Editor/BeamCli/Commands/BeamReplacementTypeInfo.cs.meta +11 -0
  535. package/Editor/BeamCli/Commands/BeamSetPortalExtensionConfigCommandResults.cs +11 -0
  536. package/Editor/BeamCli/Commands/BeamSetPortalExtensionConfigCommandResults.cs.meta +11 -0
  537. package/Editor/BeamCli/Commands/BeamUnrealTypeMappingEntry.cs +14 -0
  538. package/Editor/BeamCli/Commands/BeamUnrealTypeMappingEntry.cs.meta +11 -0
  539. package/Editor/BeamCli/Commands/BeamUtilityMemberEntry.cs +16 -0
  540. package/Editor/BeamCli/Commands/BeamUtilityMemberEntry.cs.meta +11 -0
  541. package/Editor/BeamCli/Commands/BeamUtilityMethodEntry.cs +16 -0
  542. package/Editor/BeamCli/Commands/BeamUtilityMethodEntry.cs.meta +11 -0
  543. package/Editor/BeamCli/Commands/BeamUtilityParam.cs +13 -0
  544. package/Editor/BeamCli/Commands/BeamUtilityParam.cs.meta +11 -0
  545. package/Editor/BeamCli/Commands/BeamUtilityTypeEntry.cs +19 -0
  546. package/Editor/BeamCli/Commands/BeamUtilityTypeEntry.cs.meta +11 -0
  547. package/Editor/BeamCli/UI/LogUtil/LogViewUtil.cs +2 -0
  548. package/Editor/ContentService/CliContentService.cs +125 -9
  549. package/Editor/LibraryService.cs +25 -2
  550. package/Editor/Modules/Content/DefaultAssets~/currency/icon.png +0 -0
  551. package/Editor/Modules/Content/UI/ContentObjectEditor.cs +3 -2
  552. package/Editor/Server/MicroserviceConfiguration.cs +3 -0
  553. package/Editor/Server/UI/PublishWindow/UsamPublishWindow.cs +5 -1
  554. package/Editor/Server/Usam/UsamService_GenerateClient.cs +6 -1
  555. package/Editor/UI/AccountWindow/AccountWindow_SignedIn.cs +1 -1
  556. package/Editor/UI/ContentWindow/ContentWindow.cs +8 -1
  557. package/Editor/UI/ContentWindow/ContentWindow_ContentActions.cs +50 -9
  558. package/Editor/UI/ContentWindow/ContentWindow_Header.cs +17 -6
  559. package/Editor/UI/ContentWindow/ContentWindow_ItemsPanel.cs +3 -0
  560. package/Editor/UI/LibraryWindow/BeamLibraryWindow.cs +2 -2
  561. package/Editor/UI/LibraryWindow/BeamLibraryWindow_Main.cs +0 -21
  562. package/Editor/UI/LibraryWindow/BeamLibraryWindow_Samples.cs +87 -38
  563. package/Editor/UI/McpMenuItems.cs +47 -0
  564. package/Editor/UI/McpMenuItems.cs.meta +11 -0
  565. package/Runtime/Beam.cs +2 -0
  566. package/Runtime/BeamContext.cs +9 -2
  567. package/Runtime/Core/Platform/SDK/Events/EventsService.cs +8 -2
  568. package/Runtime/Core/Platform/SDK/Inventory/InventoryService.cs +7 -3
  569. package/Runtime/Environment/Resources/env-default.json +3 -3
  570. package/Runtime/Environment/Resources/versions-default.json +1 -1
  571. package/Runtime/Modules/Console/BeamableAdminConsole.cs +725 -0
  572. package/Runtime/Modules/Console/BeamableAdminConsole.cs.meta +3 -0
  573. package/Runtime/Modules/Console/ConsoleConfiguration.cs +4 -3
  574. package/Runtime/Modules/Console/ConsoleFlow.cs +3 -0
  575. package/Runtime/Modules/Content/ContentConfiguration.cs +11 -1
  576. package/Runtime/Modules/Content/ContentParameterProvider.cs +2 -0
  577. package/Runtime/Modules/Content/ContentService.cs +13 -4
  578. package/Runtime/Server/MicroserviceClient.cs +5 -2
  579. package/Runtime/UI/Lightbeam/LightBeam.cs +18 -0
  580. package/Runtime/UI/Lightbeam/Sprites_v1/BeamLogo.PNG +0 -0
  581. package/Runtime/UI/Lightbeam/Sprites_v1/BeamLogo.PNG.meta +325 -0
  582. package/Runtime/UI/Lightbeam/Sprites_v1/Bg.png +0 -0
  583. package/Runtime/UI/Lightbeam/Sprites_v1/Bg.png.meta +143 -0
  584. package/Runtime/UI/Lightbeam/Sprites_v1/BtBase.png +0 -0
  585. package/Runtime/UI/Lightbeam/Sprites_v1/BtBase.png.meta +143 -0
  586. package/Runtime/UI/Lightbeam/Sprites_v1/IconInfo.png +0 -0
  587. package/Runtime/UI/Lightbeam/Sprites_v1/IconInfo.png.meta +143 -0
  588. package/Runtime/UI/Lightbeam/Sprites_v1/Icon_Link.png +0 -0
  589. package/Runtime/UI/Lightbeam/Sprites_v1/Icon_Link.png.meta +169 -0
  590. package/Runtime/UI/Lightbeam/Sprites_v1/UIBase.png +0 -0
  591. package/Runtime/UI/Lightbeam/Sprites_v1/UIBase.png.meta +143 -0
  592. package/Runtime/UI/Lightbeam/Sprites_v1/UIBaseWhite.png +0 -0
  593. package/Runtime/UI/Lightbeam/Sprites_v1/UIBaseWhite.png.meta +143 -0
  594. package/Runtime/UI/Lightbeam/Sprites_v1.meta +8 -0
  595. package/Samples~/LightBeamSamples/AccountManager/AccountExampleConfig.cs +1 -1
  596. package/Samples~/LightBeamSamples/AccountManager/AccountManager.cs +7 -2
  597. package/Samples~/LightBeamSamples/AccountManager/Prefabs/{AccountDetailsBehaviour → AccountDetailsPage}/AccountDetails.prefab +148 -214
  598. package/Samples~/LightBeamSamples/AccountManager/Prefabs/{AccountDetailsBehaviour/AccountDetailsBehaviour.cs → AccountDetailsPage/AccountDetailsPage.cs} +8 -2
  599. package/Samples~/LightBeamSamples/AccountManager/Prefabs/AccountDisplayBehaviour/AccountDisplay.prefab +551 -76
  600. package/Samples~/LightBeamSamples/AccountManager/Prefabs/AccountSwitchPage/AccountSwitchPage.prefab +324 -88
  601. package/Samples~/LightBeamSamples/AccountManager/Prefabs/HomePage/HomePage.cs +7 -2
  602. package/Samples~/LightBeamSamples/AccountManager/Prefabs/HomePage/HomePage.prefab +469 -280
  603. package/Samples~/LightBeamSamples/AccountManager/Prefabs/RecoverEmailPage/RecoverAccountPage.prefab +183 -110
  604. package/Samples~/LightBeamSamples/AccountManager/Prefabs/RegisterEmailPage/RegisterEmailPage.prefab +157 -84
  605. package/Samples~/LightBeamSamples/AccountManager/Sample_AccountManager.unity +1913 -24
  606. package/Samples~/LightBeamSamples/CloudSaving/CloudSavingManager.cs +4 -0
  607. package/Samples~/LightBeamSamples/CloudSaving/Prefabs/BytePage/BytePage.prefab +1699 -423
  608. package/Samples~/LightBeamSamples/CloudSaving/Prefabs/HomePage/HomePage.cs +4 -1
  609. package/Samples~/LightBeamSamples/CloudSaving/Prefabs/HomePage/HomePage.prefab +740 -342
  610. package/Samples~/LightBeamSamples/CloudSaving/Prefabs/JsonPage/JsonPage.prefab +3448 -1303
  611. package/Samples~/LightBeamSamples/CloudSaving/Prefabs/StringPage/StringPage.prefab +168 -184
  612. package/Samples~/LightBeamSamples/CloudSaving/Sample_CloudSaving.unity +1387 -30
  613. package/Samples~/LightBeamSamples/FriendsManager/FriendsManager.cs +4 -0
  614. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/BlockedDisplay/BlockedDisplay.prefab +71 -29
  615. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/FriendDisplay/FriendDisplay.prefab +84 -31
  616. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/HomePage/HomePage.prefab +446 -182
  617. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/PlayerFriendsDisplay/PlayerDisplay.prefab +349 -127
  618. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/ReceivedInvitesDisplay/ReceivedInviteDisplay.prefab +89 -36
  619. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/SelectorButton.prefab +16 -12
  620. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/SentInvitesDisplay/SentInviteDisplay.prefab +81 -30
  621. package/Samples~/LightBeamSamples/FriendsManager/Sample_FriendsManager.unity +2113 -41
  622. package/Samples~/LightBeamSamples/Inventory/InventoryManager.cs +4 -0
  623. package/Samples~/LightBeamSamples/Inventory/Prefabs/CurrencyDisplay/CurrencyDisplay.prefab +180 -29
  624. package/Samples~/LightBeamSamples/Inventory/Prefabs/CurrencyDisplay/CurrencyDisplayBehaviour.cs +7 -2
  625. package/Samples~/LightBeamSamples/Inventory/Prefabs/CurrencyInfoPage/CurrencyInfoBehaviour.cs +7 -2
  626. package/Samples~/LightBeamSamples/Inventory/Prefabs/CurrencyInfoPage/CurrencyInfoDisplay.prefab +434 -97
  627. package/Samples~/LightBeamSamples/Inventory/Prefabs/HomePage/HomePage.prefab +1300 -279
  628. package/Samples~/LightBeamSamples/Inventory/Prefabs/ItemDisplay/ItemDisplay.prefab +182 -62
  629. package/Samples~/LightBeamSamples/Inventory/Prefabs/ItemDisplay/ItemDisplayBehaviour.cs +7 -2
  630. package/Samples~/LightBeamSamples/Inventory/Prefabs/ItemInfoPage/ItemInfoPage.cs +2 -2
  631. package/Samples~/LightBeamSamples/Inventory/Prefabs/ItemInfoPage/ItemInfoPage.prefab +240 -105
  632. package/Samples~/LightBeamSamples/Inventory/Prefabs/PropertyDisplay/PropertyDisplay.prefab +16 -13
  633. package/Samples~/LightBeamSamples/Inventory/Sample_InventoryManager.unity +1865 -41
  634. package/Samples~/LightBeamSamples/LobbyManager/LobbyManager.cs +4 -0
  635. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/CreateLobbyDisplay/CreateLobbyDisplay.prefab +261 -268
  636. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/FindLobbyDisplay/FindLobbyDisplay.prefab +44 -64
  637. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/HomePage/HomePage.prefab +2337 -185
  638. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/JoinLobbyDisplay/JoinLobbyDisplay.prefab +221 -233
  639. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/LobbyDetailsDisplay/LobbyDetailsDisplay.prefab +273 -440
  640. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/LobbyDisplay/LobbyDisplay.prefab +24 -47
  641. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/PlayerDisplay/PlayerIdDisplay.prefab +18 -14
  642. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/PlayerLobby/PlayerLobby.prefab +234 -238
  643. package/Samples~/LightBeamSamples/LobbyManager/Sample_LobbyManager.unity +1567 -41
  644. package/Samples~/LightBeamSamples/LootBox/Prefabs/LootBoxPage/LootBoxPage.prefab +19 -186
  645. package/Samples~/LightBeamSamples/LootBox/Sample_LootBox.unity +651 -49
  646. package/Samples~/LightBeamSamples/LootBox/Shared/LootboxConstants.cs +1 -1
  647. package/Samples~/LightBeamSamples/SceneLoader/Editor/LightBeamBuilds.cs +16 -6
  648. package/Tests/Runtime/Beamable/Environment/PackageVersionTests/ImplicitConversionTest.cs +2 -2
  649. package/Tests/Runtime/Beamable/Platform/Inventory/InventoryServiceTests/UpdateTests.cs +4 -2
  650. package/Tests/Runtime/Beamable/Player/Inventory/GetItemTests.cs +16 -9
  651. package/package.json +8 -15
  652. package/Common/Runtime/OpenApi/BeamAdmin.gs.cs +0 -77
  653. package/Common/Runtime/OpenApi/BeamServiceplan.gs.cs +0 -96
  654. package/Editor/ContentService/ContentUtils.cs +0 -79
  655. package/Editor/ContentService/ContentUtils.cs.meta +0 -11
  656. /package/Samples~/LightBeamSamples/AccountManager/Prefabs/{AccountDetailsBehaviour → AccountDetailsPage}/AccountDetails.prefab.meta +0 -0
  657. /package/Samples~/LightBeamSamples/AccountManager/Prefabs/{AccountDetailsBehaviour/AccountDetailsBehaviour.cs.meta → AccountDetailsPage/AccountDetailsPage.cs.meta} +0 -0
  658. /package/Samples~/LightBeamSamples/AccountManager/Prefabs/{AccountDetailsBehaviour.meta → AccountDetailsPage.meta} +0 -0
@@ -0,0 +1,725 @@
1
+ #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
2
+ #if UNITY_2018
3
+ using UnityEngine.Experimental.Input;
4
+ #else
5
+ using UnityEngine.InputSystem;
6
+ #endif
7
+ #endif
8
+
9
+ using Beamable.ConsoleCommands;
10
+ using System;
11
+ using System.Collections.Generic;
12
+ using System.Linq;
13
+ using System.Text;
14
+ using UnityEngine;
15
+
16
+ namespace Beamable.Console
17
+ {
18
+ public class BeamableAdminConsole : MonoBehaviour
19
+ {
20
+ public static BeamableAdminConsole Instance { get; private set; }
21
+ public event Action<string> OnLogLine;
22
+ public bool IsActive => _isActive;
23
+ public bool IsInitialized => _isInitialized;
24
+
25
+
26
+ #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
27
+ /// <summary>
28
+ /// Optional <see cref="InputAction"/> used to toggle the console open/closed
29
+ /// with the new Input System. Falls back to <see cref="ConsoleConfiguration"/>'s
30
+ /// toggle action and then to the Backtick/Grave key if left null.
31
+ /// Call <c>Enable()</c> on the action before assigning it, or set
32
+ /// <see cref="AutoEnableToggleAction"/> to true (default).
33
+ /// </summary>
34
+ public InputAction CustomToggleAction;
35
+
36
+ /// <summary>
37
+ /// When true, <see cref="StartListening"/> automatically calls
38
+ /// <c>CustomToggleAction.Enable()</c> if <see cref="CustomToggleAction"/> is set.
39
+ /// Default: true.
40
+ /// </summary>
41
+ public bool AutoEnableToggleAction = true;
42
+ #endif
43
+
44
+
45
+ #region Private State
46
+
47
+ private bool _isInitialized;
48
+ private bool _isActive;
49
+ private bool _focusInputNextFrame;
50
+
51
+ private string _inputText = string.Empty;
52
+ private string _consoleText = string.Empty;
53
+ private Vector2 _scrollPosition;
54
+
55
+ // 3-finger touch detection for Android
56
+ private int _fingerCount;
57
+ private bool _waitForRelease;
58
+ private Vector2 _averagePositionStart;
59
+
60
+ // Virtual keyboard state tracking
61
+ private bool _wasVirtualKeyboardOpen;
62
+
63
+ private readonly Dictionary<string, ConsoleCommandEntry> _commands =
64
+ new Dictionary<string, ConsoleCommandEntry>(StringComparer.OrdinalIgnoreCase);
65
+
66
+ private ConsoleHistory _history;
67
+ private AutoCompleter _autoCompleter;
68
+ private BeamableConsole _beamableConsole;
69
+ private BeamContext _beamContext;
70
+
71
+ // IMGUI styles — built lazily inside OnGUI so GUI.skin is available
72
+ private GUIStyle _titleStyle;
73
+ private GUIStyle _outputStyle;
74
+ private GUIStyle _inputStyle;
75
+ private GUIStyle _promptStyle;
76
+ private GUIStyle _suggestionStyle;
77
+ private GUIStyle _closeButtonStyle;
78
+ private readonly Color _backgroundColor = new Color(0f, 0f, 0f, 0.85f);
79
+ private readonly float _heightRatio = 0.8f;
80
+
81
+ private const string InputControlName = "SAConsoleInput";
82
+
83
+ private const float ReferenceResolutionHeight = 1080f;
84
+ private float _screenScale = 1f;
85
+ private float _lastScreenScale = -1f;
86
+
87
+ #endregion
88
+
89
+ #region MonoBehaviour Lifecycle
90
+
91
+ private void Awake()
92
+ {
93
+ _history = new ConsoleHistory();
94
+ _autoCompleter = new AutoCompleter(_commands);
95
+ }
96
+
97
+ private void Update()
98
+ {
99
+ if (!_isInitialized) return;
100
+ if (!IsEnabled()) return;
101
+
102
+ if (ShouldShow())
103
+ {
104
+ if (!_isActive)
105
+ {
106
+ ShowConsole();
107
+ }
108
+ }
109
+
110
+ // Handle virtual keyboard confirmation (any platform)
111
+ if (_isActive && !string.IsNullOrEmpty(_inputText))
112
+ {
113
+ bool isKeyboardOpen = TouchScreenKeyboard.visible;
114
+ if (_wasVirtualKeyboardOpen && !isKeyboardOpen)
115
+ {
116
+ // Keyboard was open and is now closed — user pressed confirm
117
+ SubmitInput(_inputText);
118
+ }
119
+ _wasVirtualKeyboardOpen = isKeyboardOpen;
120
+ }
121
+ }
122
+
123
+ #endregion
124
+
125
+ #region Initialization
126
+
127
+ public void InitializeConsole(BeamContext beamContext)
128
+ {
129
+ Instance = this;
130
+
131
+ DetachConsole();
132
+ _beamContext = beamContext;
133
+ _beamableConsole = _beamContext.ServiceProvider.GetService<BeamableConsole>();
134
+ if(_beamableConsole == null)
135
+ {
136
+ Debug.LogError("ConsoleFlow Unable to retrieve BeamableConsole from context.");
137
+ return;
138
+ }
139
+
140
+ AttachConsole();
141
+
142
+ try
143
+ {
144
+ _beamableConsole.LoadCommands();
145
+ }
146
+ catch (Exception)
147
+ {
148
+ Debug.LogError("[StandAloneConsoleFlow] Unable to load console commands.");
149
+ }
150
+
151
+ _isInitialized = true;
152
+ Log("Console ready");
153
+
154
+ // Start Listening Inputs
155
+ StartListening();
156
+ }
157
+
158
+ public void StartListening()
159
+ {
160
+
161
+ #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
162
+ if (AutoEnableToggleAction && CustomToggleAction != null && !CustomToggleAction.enabled)
163
+ CustomToggleAction.Enable();
164
+ #endif
165
+ }
166
+
167
+ #endregion
168
+
169
+ #region Visibility
170
+
171
+ /// <summary>Opens the console window and focuses the input field.</summary>
172
+ public void ShowConsole()
173
+ {
174
+ _isActive = true;
175
+ _inputText = string.Empty;
176
+ _focusInputNextFrame = true;
177
+ _scrollPosition.y = float.MaxValue; // jump to bottom
178
+ }
179
+
180
+ /// <summary>Hides the console window.</summary>
181
+ public void HideConsole()
182
+ {
183
+ _isActive = false;
184
+ _inputText = string.Empty;
185
+ _autoCompleter.Reset();
186
+ }
187
+
188
+ #endregion
189
+
190
+ #region Logging
191
+
192
+ /// <summary>Appends a line to the console output and fires <see cref="OnLogLine"/>.</summary>
193
+ public void Log(string line)
194
+ {
195
+ if (line == null) return;
196
+ _consoleText += Environment.NewLine + line;
197
+ _scrollPosition.y = float.MaxValue;
198
+ TrimConsoleText();
199
+ OnLogLine?.Invoke(line);
200
+ }
201
+
202
+ #endregion
203
+
204
+ #region Update & OnGUI
205
+
206
+ private void OnGUI()
207
+ {
208
+ _screenScale = Screen.height / ReferenceResolutionHeight;
209
+
210
+ if (Event.current.type == EventType.KeyUp && Event.current.keyCode == KeyCode.BackQuote)
211
+ {
212
+ if (!_isActive)
213
+ {
214
+ ShowConsole();
215
+ Event.current.Use();
216
+ return;
217
+ }
218
+ }
219
+
220
+ if (!_isActive) return;
221
+
222
+ MakeStyle();
223
+
224
+ // Keyboard shortcuts processed BEFORE control drawing so we can consume
225
+ // events (e.g. Tab, UpArrow) before the TextField sees them.
226
+ if (Event.current.type == EventType.KeyDown)
227
+ {
228
+ switch (Event.current.keyCode)
229
+ {
230
+ case KeyCode.Return:
231
+ case KeyCode.KeypadEnter:
232
+ if (!string.IsNullOrEmpty(_inputText))
233
+ SubmitInput(_inputText);
234
+ Event.current.Use();
235
+ break;
236
+
237
+ case KeyCode.Tab:
238
+ _autoCompleter.Accept(ref _inputText);
239
+ Event.current.Use();
240
+ break;
241
+
242
+ case KeyCode.UpArrow:
243
+ _inputText = _history.Previous();
244
+ Event.current.Use();
245
+ break;
246
+
247
+ case KeyCode.DownArrow:
248
+ _inputText = _history.Next();
249
+ Event.current.Use();
250
+ break;
251
+
252
+ case KeyCode.Escape:
253
+ HideConsole();
254
+ Event.current.Use();
255
+ break;
256
+ }
257
+ }
258
+
259
+ // Guard: Hide() might have been called by Escape above
260
+ if (!_isActive) return;
261
+
262
+ var windowRect = new Rect(0f, 0f, Screen.width, Screen.height * _heightRatio);
263
+ var prevColor = GUI.color;
264
+ GUI.color = _backgroundColor;
265
+ GUI.DrawTexture(windowRect, Texture2D.whiteTexture);
266
+ GUI.color = prevColor;
267
+
268
+ GUILayout.BeginArea(windowRect);
269
+ DrawConsoleContent();
270
+ GUILayout.EndArea();
271
+
272
+ // Deferred focus — must happen in a Layout event to avoid IMGUI control-ID mismatches.
273
+ if (_focusInputNextFrame && Event.current.type == EventType.Layout)
274
+ {
275
+ GUI.FocusControl(InputControlName);
276
+ _focusInputNextFrame = false;
277
+ }
278
+ }
279
+
280
+ private void DrawConsoleContent()
281
+ {
282
+ var scaledTitleHeight = Mathf.RoundToInt(56 * _screenScale);
283
+ var scaledCloseButtonSize = Mathf.RoundToInt(44 * _screenScale);
284
+ var scaledCloseButtonWidth = Mathf.RoundToInt(100 * _screenScale);
285
+ var scaledPromptWidth = Mathf.RoundToInt(36 * _screenScale);
286
+ var scaledSeparatorHeight = Mathf.Max(1, Mathf.RoundToInt(2 * _screenScale));
287
+ var scaledInputHeight = Mathf.RoundToInt(56 * _screenScale);
288
+ var scaledInputMinHeight = Mathf.RoundToInt(44 * _screenScale);
289
+
290
+ // Title bar
291
+ GUILayout.BeginHorizontal(GUILayout.Height(scaledTitleHeight));
292
+ {
293
+ GUILayout.Label("<b>▶ BEAMABLE ADMIN CONSOLE</b>", _titleStyle);
294
+ GUILayout.FlexibleSpace();
295
+ if (GUILayout.Button("Close", _closeButtonStyle, GUILayout.Width(scaledCloseButtonWidth), GUILayout.Height(scaledCloseButtonSize)))
296
+ {
297
+ HideConsole();
298
+ GUILayout.EndHorizontal();
299
+ return;
300
+ }
301
+ }
302
+ GUILayout.EndHorizontal();
303
+
304
+ // Thin separator
305
+ GUILayout.Box(string.Empty, GUILayout.ExpandWidth(true), GUILayout.Height(scaledSeparatorHeight));
306
+
307
+ // Scrollable output area — reserved space for title + input row
308
+ float reservedHeight = scaledTitleHeight + scaledInputHeight + Mathf.RoundToInt(2 * _screenScale);
309
+ float outputHeight = Mathf.Max(Mathf.RoundToInt(40 * _screenScale), Screen.height * _heightRatio - reservedHeight);
310
+ _scrollPosition = GUILayout.BeginScrollView(
311
+ _scrollPosition, GUILayout.Height(outputHeight), GUILayout.ExpandWidth(true));
312
+ {
313
+ GUILayout.Label(_consoleText, _outputStyle);
314
+ }
315
+ GUILayout.EndScrollView();
316
+
317
+ // Input row: ">" [text field] [suggestion hint]
318
+ GUILayout.BeginHorizontal(GUILayout.Height(scaledInputHeight));
319
+ {
320
+ GUILayout.Label(">", _promptStyle, GUILayout.Width(scaledPromptWidth));
321
+
322
+ GUI.SetNextControlName(InputControlName);
323
+ var prevBg = GUI.backgroundColor;
324
+ GUI.backgroundColor = GUI.GetNameOfFocusedControl() == InputControlName
325
+ ? new Color(0.24f, 0.24f, 0.24f, 1f)
326
+ : new Color(0.18f, 0.18f, 0.18f, 1f);
327
+ var newInput = GUILayout.TextField(_inputText, _inputStyle, GUILayout.MinHeight(scaledInputMinHeight));
328
+ GUI.backgroundColor = prevBg;
329
+ if (newInput != _inputText)
330
+ {
331
+ _inputText = newInput;
332
+ _autoCompleter.Update(_inputText);
333
+ }
334
+
335
+ var suggestion = _autoCompleter.CurrentSuggestion;
336
+ if (!string.IsNullOrEmpty(suggestion))
337
+ {
338
+ GUILayout.Label($"↹ {suggestion}", _suggestionStyle, GUILayout.ExpandWidth(false));
339
+ }
340
+ }
341
+ GUILayout.EndHorizontal();
342
+ }
343
+
344
+ private void MakeStyle()
345
+ {
346
+ if (Mathf.Abs(_lastScreenScale - _screenScale) < 0.01f) return;
347
+ _lastScreenScale = _screenScale;
348
+
349
+ var scaledFontSize = Mathf.RoundToInt(20 * _screenScale);
350
+ var scaledPaddingH = Mathf.RoundToInt(12 * _screenScale);
351
+ var scaledPaddingV = Mathf.RoundToInt(8 * _screenScale);
352
+ var scaledPaddingSmall = Mathf.RoundToInt(4 * _screenScale);
353
+ var scaledPaddingTiny = Mathf.RoundToInt(6 * _screenScale);
354
+
355
+ _titleStyle = new GUIStyle(GUI.skin.label)
356
+ {
357
+ fontSize = scaledFontSize,
358
+ fontStyle = FontStyle.Bold,
359
+ richText = true,
360
+ normal = { textColor = Color.white },
361
+ padding = new RectOffset(scaledPaddingH, scaledPaddingH / 2, scaledPaddingV, scaledPaddingSmall)
362
+ };
363
+
364
+ _outputStyle = new GUIStyle(GUI.skin.label)
365
+ {
366
+ fontSize = scaledFontSize,
367
+ wordWrap = true,
368
+ richText = true,
369
+ stretchWidth = true,
370
+ normal = { textColor = new Color(0.87f, 0.87f, 0.87f) },
371
+ padding = new RectOffset(scaledPaddingH, scaledPaddingH, scaledPaddingSmall, scaledPaddingSmall)
372
+ };
373
+
374
+ _inputStyle = new GUIStyle(GUI.skin.textField)
375
+ {
376
+ fontSize = scaledFontSize,
377
+ normal = { textColor = Color.white },
378
+ hover = { textColor = Color.white },
379
+ focused = { textColor = Color.white },
380
+ active = { textColor = Color.white }
381
+ };
382
+
383
+ _promptStyle = new GUIStyle(GUI.skin.label)
384
+ {
385
+ fontSize = scaledFontSize,
386
+ fontStyle = FontStyle.Bold,
387
+ normal = { textColor = new Color(0.4f, 0.9f, 0.4f) },
388
+ padding = new RectOffset(Mathf.RoundToInt(8 * _screenScale), 0, scaledPaddingTiny, 0)
389
+ };
390
+
391
+ _suggestionStyle = new GUIStyle(GUI.skin.label)
392
+ {
393
+ fontSize = scaledFontSize,
394
+ fontStyle = FontStyle.Italic,
395
+ stretchWidth = false,
396
+ normal = { textColor = new Color(0.55f, 0.78f, 1f) },
397
+ padding = new RectOffset(scaledPaddingH, Mathf.RoundToInt(8 * _screenScale), scaledPaddingTiny, 0)
398
+ };
399
+
400
+ _closeButtonStyle = new GUIStyle(GUI.skin.button)
401
+ {
402
+ fontSize = scaledFontSize,
403
+ normal = { textColor = Color.white },
404
+ hover = { textColor = Color.white },
405
+ active = { textColor = Color.white }
406
+ };
407
+ }
408
+
409
+ #endregion
410
+
411
+ #region Command Execution
412
+
413
+ private void SubmitInput(string txt)
414
+ {
415
+ _history.Push(txt);
416
+ _inputText = string.Empty;
417
+ _autoCompleter.Reset();
418
+
419
+ var parts = txt.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
420
+ if (parts.Length == 0) return;
421
+
422
+ var args = new string[parts.Length - 1];
423
+ for (var i = 1; i < parts.Length; i++) args[i - 1] = parts[i];
424
+
425
+ var result = _beamableConsole.Execute(parts[0], args);
426
+ if (!string.IsNullOrEmpty(result)) Log(result);
427
+ }
428
+
429
+ private void AttachConsole()
430
+ {
431
+ if (_beamableConsole == null) return;
432
+ _beamableConsole.OnLog += Log;
433
+ _beamableConsole.OnExecute += HandleExecute;
434
+ _beamableConsole.OnCommandRegistered += HandleCommandRegistered;
435
+ }
436
+
437
+ private void DetachConsole()
438
+ {
439
+ if (_beamableConsole == null) return;
440
+ _beamableConsole.OnLog -= Log;
441
+ _beamableConsole.OnExecute -= HandleExecute;
442
+ _beamableConsole.OnCommandRegistered -= HandleCommandRegistered;
443
+ }
444
+
445
+ private void HandleCommandRegistered(BeamableConsoleCommandAttribute attr, ConsoleCommandCallback cb)
446
+ {
447
+ foreach (var name in attr.Names)
448
+ _commands[name.ToLower()] = new ConsoleCommandEntry { Attribute = attr, Callback = cb };
449
+
450
+ _autoCompleter.Refresh();
451
+ }
452
+
453
+ private string HandleExecute(string command, string[] args)
454
+ {
455
+ if (string.Equals(command, "help", StringComparison.OrdinalIgnoreCase))
456
+ return BuildHelp(args);
457
+
458
+ if (_commands.TryGetValue(command.ToLower(), out var entry))
459
+ {
460
+ var echo = "> " + command + (args.Length > 0 ? " " + string.Join(" ", args) : string.Empty);
461
+ Log(echo);
462
+ return entry.Callback(args);
463
+ }
464
+
465
+ return "Unknown command: " + command;
466
+ }
467
+
468
+ private string BuildHelp(string[] args)
469
+ {
470
+ if (args.Length == 0)
471
+ {
472
+ var sb = new StringBuilder();
473
+ sb.AppendLine("Available commands:");
474
+ foreach (var entry in _commands.Values.Distinct())
475
+ sb.AppendLine($" {entry.Attribute.Usage} — {entry.Attribute.Description}");
476
+ return sb.ToString();
477
+ }
478
+
479
+ var key = args[0].ToLower();
480
+ return _commands.TryGetValue(key, out var found)
481
+ ? $"{found.Attribute.Usage}\n {found.Attribute.Description}"
482
+ : $"No help found for '{args[0]}'.";
483
+ }
484
+
485
+ #endregion
486
+
487
+ #region Toggle Detection
488
+
489
+ private bool ShouldShow()
490
+ {
491
+ var shouldToggle = false;
492
+
493
+ #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
494
+ // 1. Custom user-supplied InputAction
495
+ if (CustomToggleAction != null && CustomToggleAction.triggered) return true;
496
+
497
+ // 2. Shared ConsoleConfiguration toggle action
498
+ var consoleToggleAction = ConsoleConfiguration.Instance.ToggleAction;
499
+ if (consoleToggleAction?.action != null && consoleToggleAction.action.triggered) return true;
500
+
501
+ // 3. 3-finger touch detection
502
+ if (Touchscreen.current != null)
503
+ {
504
+ var fingerCount = 0;
505
+ var averagePosition = Vector2.zero;
506
+ foreach (var touch in Touchscreen.current.touches)
507
+ {
508
+ var phase = touch.phase.ReadValue();
509
+ if (phase != UnityEngine.InputSystem.TouchPhase.Ended &&
510
+ phase != UnityEngine.InputSystem.TouchPhase.Canceled &&
511
+ phase != UnityEngine.InputSystem.TouchPhase.None)
512
+ {
513
+ fingerCount++;
514
+ averagePosition += touch.position.ReadValue();
515
+ }
516
+ }
517
+
518
+ switch (fingerCount)
519
+ {
520
+ case 3 when !_waitForRelease:
521
+ {
522
+ averagePosition /= 3;
523
+ if (_fingerCount != 3)
524
+ {
525
+ _averagePositionStart = averagePosition;
526
+ }
527
+ else if ((_averagePositionStart - averagePosition).magnitude > 20.0f)
528
+ {
529
+ _waitForRelease = true;
530
+ shouldToggle = true;
531
+ }
532
+ break;
533
+ }
534
+ case 0 when _waitForRelease:
535
+ _waitForRelease = false;
536
+ break;
537
+ }
538
+
539
+ _fingerCount = fingerCount;
540
+ }
541
+
542
+ // 4. Keyboard fallback — Backtick / Grave
543
+ return shouldToggle || (Keyboard.current?.backquoteKey.wasPressedThisFrame ?? false);
544
+ #else
545
+ // 3-finger touch detection (legacy input)
546
+ var fingerCount = 0;
547
+ var averagePosition = Vector2.zero;
548
+ var touchCount = Input.touchCount;
549
+ for (var i = 0; i < touchCount; ++i)
550
+ {
551
+ var touch = Input.GetTouch(i);
552
+ if (touch.phase != TouchPhase.Ended && touch.phase != TouchPhase.Canceled)
553
+ {
554
+ fingerCount++;
555
+ averagePosition += touch.position;
556
+ }
557
+ }
558
+
559
+ switch (fingerCount)
560
+ {
561
+ case 3 when !_waitForRelease:
562
+ {
563
+ averagePosition /= 3;
564
+ if (_fingerCount != 3)
565
+ {
566
+ _averagePositionStart = averagePosition;
567
+ }
568
+ else if ((_averagePositionStart - averagePosition).magnitude > 20.0f)
569
+ {
570
+ _waitForRelease = true;
571
+ shouldToggle = true;
572
+ }
573
+ break;
574
+ }
575
+ case 0 when _waitForRelease:
576
+ _waitForRelease = false;
577
+ break;
578
+ }
579
+
580
+ _fingerCount = fingerCount;
581
+ return shouldToggle;
582
+ #endif
583
+ }
584
+
585
+ private bool IsEnabled()
586
+ {
587
+
588
+ #if UNITY_EDITOR
589
+ return true;
590
+ #else
591
+ return ConsoleConfiguration.Instance.EnableAdminConsole
592
+ || _beamContext.AuthorizedUser.Value.HasScope("cli:console");
593
+ #endif
594
+ }
595
+
596
+ #endregion
597
+
598
+ #region Text Trimming
599
+
600
+ /// Mirrors ConsoleFlow's vertex-budget-based pruning to keep IMGUI from
601
+ /// hitting Unity's 65K-vertex text mesh limit.
602
+ private void TrimConsoleText()
603
+ {
604
+ const int charsPerVertex = 6;
605
+ const int vertexLimit = 65 * 1024;
606
+
607
+ int excess = (_consoleText.Length * charsPerVertex) - vertexLimit;
608
+ if (excess <= 0) return;
609
+
610
+ int cutAt = excess / charsPerVertex;
611
+ int newLine = _consoleText.IndexOf(Environment.NewLine, cutAt, StringComparison.Ordinal);
612
+ _consoleText = newLine >= 0
613
+ ? _consoleText.Substring(newLine + Environment.NewLine.Length)
614
+ : string.Empty;
615
+ }
616
+
617
+ #endregion
618
+
619
+ #region Nested Console Command Entry
620
+
621
+ private struct ConsoleCommandEntry
622
+ {
623
+ public BeamableConsoleCommandAttribute Attribute;
624
+ public ConsoleCommandCallback Callback;
625
+ }
626
+
627
+ #endregion
628
+
629
+ #region Nested Console History
630
+
631
+ private class ConsoleHistory
632
+ {
633
+ private readonly List<string> _items = new List<string>();
634
+ private int _pos;
635
+
636
+ public void Push(string text)
637
+ {
638
+ if (string.IsNullOrEmpty(text)) return;
639
+ _items.Add(text);
640
+ _pos = _items.Count;
641
+ }
642
+
643
+ public string Previous()
644
+ {
645
+ if (_items.Count == 0) return string.Empty;
646
+ _pos = Mathf.Max(0, _pos - 1);
647
+ return _items[_pos];
648
+ }
649
+
650
+ public string Next()
651
+ {
652
+ _pos++;
653
+ if (_pos < _items.Count) return _items[_pos];
654
+ _pos = _items.Count;
655
+ return string.Empty;
656
+ }
657
+ }
658
+
659
+ #endregion
660
+
661
+ #region Nested Auto Completer
662
+
663
+ private class AutoCompleter
664
+ {
665
+ private readonly Dictionary<string, ConsoleCommandEntry> _source;
666
+ private List<string> _matches = new List<string>();
667
+ private int _matchIndex;
668
+ private string _lastInput = string.Empty;
669
+
670
+ public string CurrentSuggestion { get; private set; } = string.Empty;
671
+
672
+ public AutoCompleter(Dictionary<string, ConsoleCommandEntry> source) => _source = source;
673
+
674
+ /// <summary>Re-runs the last search (called after new commands are registered).</summary>
675
+ public void Refresh() => Update(_lastInput);
676
+
677
+ public void Update(string input)
678
+ {
679
+ _lastInput = input;
680
+ _matchIndex = 0;
681
+
682
+ if (string.IsNullOrWhiteSpace(input))
683
+ {
684
+ _matches = _source.Keys.OrderBy(k => k).ToList();
685
+ CurrentSuggestion = string.Empty;
686
+ }
687
+ else
688
+ {
689
+ _matches = _source.Keys
690
+ .Where(k => k.StartsWith(input, StringComparison.OrdinalIgnoreCase))
691
+ .OrderBy(k => k)
692
+ .ToList();
693
+ CurrentSuggestion = _matches.Count > 0 ? _matches[0] : string.Empty;
694
+ }
695
+ }
696
+
697
+ /// <summary>
698
+ /// Accepts the current suggestion (sets <paramref name="inputText"/>).
699
+ /// Pressing Tab again cycles to the next matching command.
700
+ /// </summary>
701
+ public void Accept(ref string inputText)
702
+ {
703
+ if (_matches.Count == 0) return;
704
+
705
+ if (string.Equals(inputText, CurrentSuggestion, StringComparison.OrdinalIgnoreCase))
706
+ {
707
+ _matchIndex = (_matchIndex + 1) % _matches.Count;
708
+ CurrentSuggestion = _matches[_matchIndex];
709
+ }
710
+
711
+ inputText = CurrentSuggestion;
712
+ }
713
+
714
+ public void Reset()
715
+ {
716
+ CurrentSuggestion = string.Empty;
717
+ _matches.Clear();
718
+ _matchIndex = 0;
719
+ }
720
+ }
721
+
722
+ #endregion
723
+ }
724
+
725
+ }