mcp-lp-server 0.1.1__py3-none-any.whl → 0.1.2__py3-none-any.whl

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 (278) hide show
  1. mcp_lp_server/__init__.py +0 -0
  2. mcp_lp_server/__main__.py +4 -0
  3. mcp_lp_server/gs_web_server.py +236 -0
  4. mcp_lp_server/main.py +22 -0
  5. mcp_lp_server/main_debug.py +13 -0
  6. {mcp_lp_server-0.1.1.dist-info → mcp_lp_server-0.1.2.dist-info}/METADATA +2 -5
  7. mcp_lp_server-0.1.2.dist-info/RECORD +144 -0
  8. mcp_lp_server-0.1.2.dist-info/top_level.txt +1 -0
  9. gravi/cms/cms_content_pb2.py +0 -110
  10. gravi/cms/cms_content_pb2.pyi +0 -231
  11. gravi/common/gravi_common_pb2.py +0 -44
  12. gravi/common/gravi_common_pb2.pyi +0 -51
  13. gravi/gsfile/asset/persistence/asset_pb2.py +0 -40
  14. gravi/gsfile/asset/persistence/asset_pb2.pyi +0 -16
  15. gravi/gsfile/layergroup/persistence/layer_group_pb2.py +0 -40
  16. gravi/gsfile/layergroup/persistence/layer_group_pb2.pyi +0 -16
  17. gravi/gsfile/legacy/legacy_gsfile_pb2.py +0 -53
  18. gravi/gsfile/legacy/legacy_gsfile_pb2.pyi +0 -58
  19. gravi/gsfile/metadata/persistence/metadata_pb2.py +0 -45
  20. gravi/gsfile/metadata/persistence/metadata_pb2.pyi +0 -32
  21. gravi/gsfile/sketch_gsfile_pb2.py +0 -160
  22. gravi/gsfile/sketch_gsfile_pb2.pyi +0 -546
  23. gravi/gsfile/strokelayer/persistence/layer_pb2.py +0 -41
  24. gravi/gsfile/strokelayer/persistence/layer_pb2.pyi +0 -25
  25. gravi/library/material_library_pb2.py +0 -38
  26. gravi/library/material_library_pb2.pyi +0 -16
  27. gravi/localization/localization_pb2.py +0 -51
  28. gravi/localization/localization_pb2.pyi +0 -71
  29. gravi/models/bot_export_pb2.py +0 -54
  30. gravi/models/bot_export_pb2.pyi +0 -77
  31. gravi/models/gravi_model_pb2.py +0 -322
  32. gravi/models/gravi_model_pb2.pyi +0 -1450
  33. gravi/models/notifications_pb2.py +0 -105
  34. gravi/models/notifications_pb2.pyi +0 -169
  35. gravi/models/preferences_pb2.py +0 -193
  36. gravi/models/preferences_pb2.pyi +0 -839
  37. gravi/models/rhino_compute_pb2.py +0 -54
  38. gravi/models/rhino_compute_pb2.pyi +0 -57
  39. gravi/proxy/control_pb2.py +0 -44
  40. gravi/proxy/control_pb2.pyi +0 -23
  41. gravi/release/release_pb2.py +0 -45
  42. gravi/release/release_pb2.pyi +0 -50
  43. gravi/rest/ai/ask_pb2.py +0 -60
  44. gravi/rest/ai/ask_pb2.pyi +0 -54
  45. gravi/rest/ai/image_pb2.py +0 -69
  46. gravi/rest/ai/image_pb2.pyi +0 -92
  47. gravi/rest/auth/auth_pb2.py +0 -281
  48. gravi/rest/auth/auth_pb2.pyi +0 -717
  49. gravi/rest/common/async_pb2.py +0 -40
  50. gravi/rest/common/async_pb2.pyi +0 -12
  51. gravi/rest/doc/comment_pb2.py +0 -92
  52. gravi/rest/doc/comment_pb2.pyi +0 -172
  53. gravi/rest/doc/doc_rest_pb2.py +0 -385
  54. gravi/rest/doc/doc_rest_pb2.pyi +0 -1005
  55. gravi/rest/doc/export_pb2.py +0 -127
  56. gravi/rest/doc/export_pb2.pyi +0 -278
  57. gravi/rest/doc/revision_pb2.py +0 -51
  58. gravi/rest/doc/revision_pb2.pyi +0 -41
  59. gravi/rest/doc/room_pb2.py +0 -207
  60. gravi/rest/doc/room_pb2.pyi +0 -443
  61. gravi/rest/model/achievement_pb2.py +0 -46
  62. gravi/rest/model/achievement_pb2.pyi +0 -119
  63. gravi/rest/model/activate_code_pb2.py +0 -51
  64. gravi/rest/model/activate_code_pb2.pyi +0 -119
  65. gravi/rest/model/collab_pb2.py +0 -57
  66. gravi/rest/model/collab_pb2.pyi +0 -72
  67. gravi/rest/model/login_pb2.py +0 -49
  68. gravi/rest/model/login_pb2.pyi +0 -115
  69. gravi/rest/model/online_sketch_pb2.py +0 -104
  70. gravi/rest/model/online_sketch_pb2.pyi +0 -208
  71. gravi/rest/model/organisation_pb2.py +0 -45
  72. gravi/rest/model/organisation_pb2.pyi +0 -29
  73. gravi/rest/model/pair_device_pb2.py +0 -81
  74. gravi/rest/model/pair_device_pb2.pyi +0 -108
  75. gravi/rest/model/platform_rest_pb2.py +0 -568
  76. gravi/rest/model/platform_rest_pb2.pyi +0 -2442
  77. gravi/rest/model/signup_pb2.py +0 -88
  78. gravi/rest/model/signup_pb2.pyi +0 -177
  79. gravi/rest/org/invitation_pb2.py +0 -86
  80. gravi/rest/org/invitation_pb2.pyi +0 -123
  81. gravi/rest/org/management_pb2.py +0 -68
  82. gravi/rest/org/management_pb2.pyi +0 -136
  83. gravi/rest/org/team_member_pb2.py +0 -76
  84. gravi/rest/org/team_member_pb2.pyi +0 -99
  85. gravi/rest/org/team_pb2.py +0 -255
  86. gravi/rest/org/team_pb2.pyi +0 -625
  87. gravi/rest/sketch/sketch_pb2.py +0 -83
  88. gravi/rest/sketch/sketch_pb2.pyi +0 -114
  89. gravi/rest/user/account_pb2.py +0 -47
  90. gravi/rest/user/account_pb2.pyi +0 -28
  91. gravi/rest/user/connections_pb2.py +0 -115
  92. gravi/rest/user/connections_pb2.pyi +0 -199
  93. gravi/rest/user/profile_pb2.py +0 -98
  94. gravi/rest/user/profile_pb2.pyi +0 -194
  95. gravi/rest/user/update_check_pb2.py +0 -46
  96. gravi/rest/user/update_check_pb2.pyi +0 -64
  97. gravi/rest/voicechat/transcribe_pb2.py +0 -53
  98. gravi/rest/voicechat/transcribe_pb2.pyi +0 -36
  99. gravi/rest/voicechat/voice_pb2.py +0 -69
  100. gravi/rest/voicechat/voice_pb2.pyi +0 -77
  101. gravi/rpc/cosketch_rpc_pb2.py +0 -354
  102. gravi/rpc/cosketch_rpc_pb2.pyi +0 -1518
  103. gravi/rpc/cosketch_serverpush_pb2.py +0 -54
  104. gravi/rpc/cosketch_serverpush_pb2.pyi +0 -68
  105. gravi/rpc/files/file_upload_pb2.py +0 -43
  106. gravi/rpc/files/file_upload_pb2.pyi +0 -68
  107. gravi/rpc/model/collab_tools_pb2.py +0 -111
  108. gravi/rpc/model/collab_tools_pb2.pyi +0 -199
  109. gravi/rpc/model/common/sketch_common_pb2.py +0 -161
  110. gravi/rpc/model/common/sketch_common_pb2.pyi +0 -647
  111. gravi/rpc/model/common/sketch_configurable_ui_pb2.py +0 -54
  112. gravi/rpc/model/common/sketch_configurable_ui_pb2.pyi +0 -244
  113. gravi/rpc/model/common/sketch_interactions_pb2.py +0 -79
  114. gravi/rpc/model/common/sketch_interactions_pb2.pyi +0 -294
  115. gravi/rpc/model/deprecated/deprecated_sketch_model_pb2.py +0 -40
  116. gravi/rpc/model/deprecated/deprecated_sketch_model_pb2.pyi +0 -33
  117. gravi/rpc/model/extra/sketch_extra_pb2.py +0 -121
  118. gravi/rpc/model/extra/sketch_extra_pb2.pyi +0 -315
  119. gravi/rpc/model/incremental/sketch_incremental_pb2.py +0 -56
  120. gravi/rpc/model/incremental/sketch_incremental_pb2.pyi +0 -76
  121. gravi/rpc/model/inputs/sketch_inputs_pb2.py +0 -79
  122. gravi/rpc/model/inputs/sketch_inputs_pb2.pyi +0 -179
  123. gravi/rpc/model/sketch_model_pb2.py +0 -163
  124. gravi/rpc/model/sketch_model_pb2.pyi +0 -472
  125. gravi/runtime/config/runtime_config_pb2.py +0 -84
  126. gravi/runtime/config/runtime_config_pb2.pyi +0 -203
  127. gravi/ui/model/ui_event_pb2.py +0 -46
  128. gravi/ui/model/ui_event_pb2.pyi +0 -35
  129. gravi/ui/model/ui_model_pb2.py +0 -284
  130. gravi/ui/model/ui_model_pb2.pyi +0 -901
  131. gravi/unity/analytics/analytics_pb2.py +0 -325
  132. gravi/unity/analytics/analytics_pb2.pyi +0 -1688
  133. gravi/unity/gravi_unity_pb2.py +0 -48
  134. gravi/unity/gravi_unity_pb2.pyi +0 -59
  135. gravi/unity/unity_log_pb2.py +0 -42
  136. gravi/unity/unity_log_pb2.pyi +0 -62
  137. gravi/webanalytics/web_pb2.py +0 -590
  138. gravi/webanalytics/web_pb2.pyi +0 -1165
  139. gravi/wrapper/wrappers_pb2.py +0 -72
  140. gravi/wrapper/wrappers_pb2.pyi +0 -78
  141. mcp_lp_server-0.1.1.dist-info/RECORD +0 -271
  142. mcp_lp_server-0.1.1.dist-info/top_level.txt +0 -2
  143. {codegens → mcp_lp_server/codegens}/gravi/cms/cms_content_pb2.py +0 -0
  144. {codegens → mcp_lp_server/codegens}/gravi/cms/cms_content_pb2.pyi +0 -0
  145. {codegens → mcp_lp_server/codegens}/gravi/common/gravi_common_pb2.py +0 -0
  146. {codegens → mcp_lp_server/codegens}/gravi/common/gravi_common_pb2.pyi +0 -0
  147. {codegens → mcp_lp_server/codegens}/gravi/gsfile/asset/persistence/asset_pb2.py +0 -0
  148. {codegens → mcp_lp_server/codegens}/gravi/gsfile/asset/persistence/asset_pb2.pyi +0 -0
  149. {codegens → mcp_lp_server/codegens}/gravi/gsfile/layergroup/persistence/layer_group_pb2.py +0 -0
  150. {codegens → mcp_lp_server/codegens}/gravi/gsfile/layergroup/persistence/layer_group_pb2.pyi +0 -0
  151. {codegens → mcp_lp_server/codegens}/gravi/gsfile/legacy/legacy_gsfile_pb2.py +0 -0
  152. {codegens → mcp_lp_server/codegens}/gravi/gsfile/legacy/legacy_gsfile_pb2.pyi +0 -0
  153. {codegens → mcp_lp_server/codegens}/gravi/gsfile/metadata/persistence/metadata_pb2.py +0 -0
  154. {codegens → mcp_lp_server/codegens}/gravi/gsfile/metadata/persistence/metadata_pb2.pyi +0 -0
  155. {codegens → mcp_lp_server/codegens}/gravi/gsfile/sketch_gsfile_pb2.py +0 -0
  156. {codegens → mcp_lp_server/codegens}/gravi/gsfile/sketch_gsfile_pb2.pyi +0 -0
  157. {codegens → mcp_lp_server/codegens}/gravi/gsfile/strokelayer/persistence/layer_pb2.py +0 -0
  158. {codegens → mcp_lp_server/codegens}/gravi/gsfile/strokelayer/persistence/layer_pb2.pyi +0 -0
  159. {codegens → mcp_lp_server/codegens}/gravi/library/material_library_pb2.py +0 -0
  160. {codegens → mcp_lp_server/codegens}/gravi/library/material_library_pb2.pyi +0 -0
  161. {codegens → mcp_lp_server/codegens}/gravi/localization/localization_pb2.py +0 -0
  162. {codegens → mcp_lp_server/codegens}/gravi/localization/localization_pb2.pyi +0 -0
  163. {codegens → mcp_lp_server/codegens}/gravi/models/bot_export_pb2.py +0 -0
  164. {codegens → mcp_lp_server/codegens}/gravi/models/bot_export_pb2.pyi +0 -0
  165. {codegens → mcp_lp_server/codegens}/gravi/models/gravi_model_pb2.py +0 -0
  166. {codegens → mcp_lp_server/codegens}/gravi/models/gravi_model_pb2.pyi +0 -0
  167. {codegens → mcp_lp_server/codegens}/gravi/models/notifications_pb2.py +0 -0
  168. {codegens → mcp_lp_server/codegens}/gravi/models/notifications_pb2.pyi +0 -0
  169. {codegens → mcp_lp_server/codegens}/gravi/models/preferences_pb2.py +0 -0
  170. {codegens → mcp_lp_server/codegens}/gravi/models/preferences_pb2.pyi +0 -0
  171. {codegens → mcp_lp_server/codegens}/gravi/models/rhino_compute_pb2.py +0 -0
  172. {codegens → mcp_lp_server/codegens}/gravi/models/rhino_compute_pb2.pyi +0 -0
  173. {codegens → mcp_lp_server/codegens}/gravi/proxy/control_pb2.py +0 -0
  174. {codegens → mcp_lp_server/codegens}/gravi/proxy/control_pb2.pyi +0 -0
  175. {codegens → mcp_lp_server/codegens}/gravi/release/release_pb2.py +0 -0
  176. {codegens → mcp_lp_server/codegens}/gravi/release/release_pb2.pyi +0 -0
  177. {codegens → mcp_lp_server/codegens}/gravi/rest/ai/ask_pb2.py +0 -0
  178. {codegens → mcp_lp_server/codegens}/gravi/rest/ai/ask_pb2.pyi +0 -0
  179. {codegens → mcp_lp_server/codegens}/gravi/rest/ai/image_pb2.py +0 -0
  180. {codegens → mcp_lp_server/codegens}/gravi/rest/ai/image_pb2.pyi +0 -0
  181. {codegens → mcp_lp_server/codegens}/gravi/rest/auth/auth_pb2.py +0 -0
  182. {codegens → mcp_lp_server/codegens}/gravi/rest/auth/auth_pb2.pyi +0 -0
  183. {codegens → mcp_lp_server/codegens}/gravi/rest/common/async_pb2.py +0 -0
  184. {codegens → mcp_lp_server/codegens}/gravi/rest/common/async_pb2.pyi +0 -0
  185. {codegens → mcp_lp_server/codegens}/gravi/rest/doc/comment_pb2.py +0 -0
  186. {codegens → mcp_lp_server/codegens}/gravi/rest/doc/comment_pb2.pyi +0 -0
  187. {codegens → mcp_lp_server/codegens}/gravi/rest/doc/doc_rest_pb2.py +0 -0
  188. {codegens → mcp_lp_server/codegens}/gravi/rest/doc/doc_rest_pb2.pyi +0 -0
  189. {codegens → mcp_lp_server/codegens}/gravi/rest/doc/export_pb2.py +0 -0
  190. {codegens → mcp_lp_server/codegens}/gravi/rest/doc/export_pb2.pyi +0 -0
  191. {codegens → mcp_lp_server/codegens}/gravi/rest/doc/revision_pb2.py +0 -0
  192. {codegens → mcp_lp_server/codegens}/gravi/rest/doc/revision_pb2.pyi +0 -0
  193. {codegens → mcp_lp_server/codegens}/gravi/rest/doc/room_pb2.py +0 -0
  194. {codegens → mcp_lp_server/codegens}/gravi/rest/doc/room_pb2.pyi +0 -0
  195. {codegens → mcp_lp_server/codegens}/gravi/rest/model/achievement_pb2.py +0 -0
  196. {codegens → mcp_lp_server/codegens}/gravi/rest/model/achievement_pb2.pyi +0 -0
  197. {codegens → mcp_lp_server/codegens}/gravi/rest/model/activate_code_pb2.py +0 -0
  198. {codegens → mcp_lp_server/codegens}/gravi/rest/model/activate_code_pb2.pyi +0 -0
  199. {codegens → mcp_lp_server/codegens}/gravi/rest/model/collab_pb2.py +0 -0
  200. {codegens → mcp_lp_server/codegens}/gravi/rest/model/collab_pb2.pyi +0 -0
  201. {codegens → mcp_lp_server/codegens}/gravi/rest/model/login_pb2.py +0 -0
  202. {codegens → mcp_lp_server/codegens}/gravi/rest/model/login_pb2.pyi +0 -0
  203. {codegens → mcp_lp_server/codegens}/gravi/rest/model/online_sketch_pb2.py +0 -0
  204. {codegens → mcp_lp_server/codegens}/gravi/rest/model/online_sketch_pb2.pyi +0 -0
  205. {codegens → mcp_lp_server/codegens}/gravi/rest/model/organisation_pb2.py +0 -0
  206. {codegens → mcp_lp_server/codegens}/gravi/rest/model/organisation_pb2.pyi +0 -0
  207. {codegens → mcp_lp_server/codegens}/gravi/rest/model/pair_device_pb2.py +0 -0
  208. {codegens → mcp_lp_server/codegens}/gravi/rest/model/pair_device_pb2.pyi +0 -0
  209. {codegens → mcp_lp_server/codegens}/gravi/rest/model/platform_rest_pb2.py +0 -0
  210. {codegens → mcp_lp_server/codegens}/gravi/rest/model/platform_rest_pb2.pyi +0 -0
  211. {codegens → mcp_lp_server/codegens}/gravi/rest/model/signup_pb2.py +0 -0
  212. {codegens → mcp_lp_server/codegens}/gravi/rest/model/signup_pb2.pyi +0 -0
  213. {codegens → mcp_lp_server/codegens}/gravi/rest/org/invitation_pb2.py +0 -0
  214. {codegens → mcp_lp_server/codegens}/gravi/rest/org/invitation_pb2.pyi +0 -0
  215. {codegens → mcp_lp_server/codegens}/gravi/rest/org/management_pb2.py +0 -0
  216. {codegens → mcp_lp_server/codegens}/gravi/rest/org/management_pb2.pyi +0 -0
  217. {codegens → mcp_lp_server/codegens}/gravi/rest/org/team_member_pb2.py +0 -0
  218. {codegens → mcp_lp_server/codegens}/gravi/rest/org/team_member_pb2.pyi +0 -0
  219. {codegens → mcp_lp_server/codegens}/gravi/rest/org/team_pb2.py +0 -0
  220. {codegens → mcp_lp_server/codegens}/gravi/rest/org/team_pb2.pyi +0 -0
  221. {codegens → mcp_lp_server/codegens}/gravi/rest/sketch/sketch_pb2.py +0 -0
  222. {codegens → mcp_lp_server/codegens}/gravi/rest/sketch/sketch_pb2.pyi +0 -0
  223. {codegens → mcp_lp_server/codegens}/gravi/rest/user/account_pb2.py +0 -0
  224. {codegens → mcp_lp_server/codegens}/gravi/rest/user/account_pb2.pyi +0 -0
  225. {codegens → mcp_lp_server/codegens}/gravi/rest/user/connections_pb2.py +0 -0
  226. {codegens → mcp_lp_server/codegens}/gravi/rest/user/connections_pb2.pyi +0 -0
  227. {codegens → mcp_lp_server/codegens}/gravi/rest/user/profile_pb2.py +0 -0
  228. {codegens → mcp_lp_server/codegens}/gravi/rest/user/profile_pb2.pyi +0 -0
  229. {codegens → mcp_lp_server/codegens}/gravi/rest/user/update_check_pb2.py +0 -0
  230. {codegens → mcp_lp_server/codegens}/gravi/rest/user/update_check_pb2.pyi +0 -0
  231. {codegens → mcp_lp_server/codegens}/gravi/rest/voicechat/transcribe_pb2.py +0 -0
  232. {codegens → mcp_lp_server/codegens}/gravi/rest/voicechat/transcribe_pb2.pyi +0 -0
  233. {codegens → mcp_lp_server/codegens}/gravi/rest/voicechat/voice_pb2.py +0 -0
  234. {codegens → mcp_lp_server/codegens}/gravi/rest/voicechat/voice_pb2.pyi +0 -0
  235. {codegens → mcp_lp_server/codegens}/gravi/rpc/cosketch_rpc_pb2.py +0 -0
  236. {codegens → mcp_lp_server/codegens}/gravi/rpc/cosketch_rpc_pb2.pyi +0 -0
  237. {codegens → mcp_lp_server/codegens}/gravi/rpc/cosketch_serverpush_pb2.py +0 -0
  238. {codegens → mcp_lp_server/codegens}/gravi/rpc/cosketch_serverpush_pb2.pyi +0 -0
  239. {codegens → mcp_lp_server/codegens}/gravi/rpc/files/file_upload_pb2.py +0 -0
  240. {codegens → mcp_lp_server/codegens}/gravi/rpc/files/file_upload_pb2.pyi +0 -0
  241. {codegens → mcp_lp_server/codegens}/gravi/rpc/model/collab_tools_pb2.py +0 -0
  242. {codegens → mcp_lp_server/codegens}/gravi/rpc/model/collab_tools_pb2.pyi +0 -0
  243. {codegens → mcp_lp_server/codegens}/gravi/rpc/model/common/sketch_common_pb2.py +0 -0
  244. {codegens → mcp_lp_server/codegens}/gravi/rpc/model/common/sketch_common_pb2.pyi +0 -0
  245. {codegens → mcp_lp_server/codegens}/gravi/rpc/model/common/sketch_configurable_ui_pb2.py +0 -0
  246. {codegens → mcp_lp_server/codegens}/gravi/rpc/model/common/sketch_configurable_ui_pb2.pyi +0 -0
  247. {codegens → mcp_lp_server/codegens}/gravi/rpc/model/common/sketch_interactions_pb2.py +0 -0
  248. {codegens → mcp_lp_server/codegens}/gravi/rpc/model/common/sketch_interactions_pb2.pyi +0 -0
  249. {codegens → mcp_lp_server/codegens}/gravi/rpc/model/deprecated/deprecated_sketch_model_pb2.py +0 -0
  250. {codegens → mcp_lp_server/codegens}/gravi/rpc/model/deprecated/deprecated_sketch_model_pb2.pyi +0 -0
  251. {codegens → mcp_lp_server/codegens}/gravi/rpc/model/extra/sketch_extra_pb2.py +0 -0
  252. {codegens → mcp_lp_server/codegens}/gravi/rpc/model/extra/sketch_extra_pb2.pyi +0 -0
  253. {codegens → mcp_lp_server/codegens}/gravi/rpc/model/incremental/sketch_incremental_pb2.py +0 -0
  254. {codegens → mcp_lp_server/codegens}/gravi/rpc/model/incremental/sketch_incremental_pb2.pyi +0 -0
  255. {codegens → mcp_lp_server/codegens}/gravi/rpc/model/inputs/sketch_inputs_pb2.py +0 -0
  256. {codegens → mcp_lp_server/codegens}/gravi/rpc/model/inputs/sketch_inputs_pb2.pyi +0 -0
  257. {codegens → mcp_lp_server/codegens}/gravi/rpc/model/sketch_model_pb2.py +0 -0
  258. {codegens → mcp_lp_server/codegens}/gravi/rpc/model/sketch_model_pb2.pyi +0 -0
  259. {codegens → mcp_lp_server/codegens}/gravi/runtime/config/runtime_config_pb2.py +0 -0
  260. {codegens → mcp_lp_server/codegens}/gravi/runtime/config/runtime_config_pb2.pyi +0 -0
  261. {codegens → mcp_lp_server/codegens}/gravi/ui/model/ui_event_pb2.py +0 -0
  262. {codegens → mcp_lp_server/codegens}/gravi/ui/model/ui_event_pb2.pyi +0 -0
  263. {codegens → mcp_lp_server/codegens}/gravi/ui/model/ui_model_pb2.py +0 -0
  264. {codegens → mcp_lp_server/codegens}/gravi/ui/model/ui_model_pb2.pyi +0 -0
  265. {codegens → mcp_lp_server/codegens}/gravi/unity/analytics/analytics_pb2.py +0 -0
  266. {codegens → mcp_lp_server/codegens}/gravi/unity/analytics/analytics_pb2.pyi +0 -0
  267. {codegens → mcp_lp_server/codegens}/gravi/unity/gravi_unity_pb2.py +0 -0
  268. {codegens → mcp_lp_server/codegens}/gravi/unity/gravi_unity_pb2.pyi +0 -0
  269. {codegens → mcp_lp_server/codegens}/gravi/unity/unity_log_pb2.py +0 -0
  270. {codegens → mcp_lp_server/codegens}/gravi/unity/unity_log_pb2.pyi +0 -0
  271. {codegens → mcp_lp_server/codegens}/gravi/webanalytics/web_pb2.py +0 -0
  272. {codegens → mcp_lp_server/codegens}/gravi/webanalytics/web_pb2.pyi +0 -0
  273. {codegens → mcp_lp_server/codegens}/gravi/wrapper/wrappers_pb2.py +0 -0
  274. {codegens → mcp_lp_server/codegens}/gravi/wrapper/wrappers_pb2.pyi +0 -0
  275. {codegens → mcp_lp_server/codegens}/gs_options_pb2.py +0 -0
  276. {codegens → mcp_lp_server/codegens}/gs_options_pb2.pyi +0 -0
  277. {mcp_lp_server-0.1.1.dist-info → mcp_lp_server-0.1.2.dist-info}/WHEEL +0 -0
  278. {mcp_lp_server-0.1.1.dist-info → mcp_lp_server-0.1.2.dist-info}/entry_points.txt +0 -0
File without changes
@@ -0,0 +1,4 @@
1
+ from mcp_lp_server import main
2
+
3
+ if __name__ == "__main__":
4
+ main.main()
@@ -0,0 +1,236 @@
1
+ import sys
2
+ import os
3
+
4
+ # Get the absolute path of the codegens folder
5
+ codegens_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "codegens"))
6
+
7
+ # Add it to sys.path
8
+ if codegens_path not in sys.path:
9
+ sys.path.append(codegens_path)
10
+
11
+ from mcp.server.fastmcp import FastMCP
12
+ from google.protobuf.json_format import MessageToJson
13
+ import json
14
+ import requests
15
+ import codegens.gravi.rest.model.platform_rest_pb2 as platform_rest
16
+ import codegens.gravi.rest.model.login_pb2 as login_rest
17
+ import codegens.gravi.rest.auth.auth_pb2 as auth_rest
18
+ from codegens.gravi.models import gravi_model_pb2 as gravi_model
19
+
20
+
21
+ mcp = FastMCP("landingpad")
22
+
23
+ endpoint = "https://platform-dev.landingpad.me/platform/api"
24
+ # endpoint = "http://localhost:8080/platform/api"
25
+ class AuthTicket:
26
+ def __init__(self, stoken: str | None = None, userId: str=""):
27
+ self.stoken = stoken
28
+ self.userId = userId
29
+
30
+ from enum import Enum
31
+ class WorkSpace(Enum):
32
+ PRIVATE = 1
33
+ SHARED = 2
34
+
35
+ authTicket = AuthTicket()
36
+
37
+ def make_request(req: platform_rest.PlatformRestRequest) -> platform_rest.PlatformRestResponse | None:
38
+ global authTicket
39
+
40
+ """
41
+ Sends a serialized protobuf request to a specified endpoint via an HTTP POST request
42
+ and deserializes the response into a PlatformRestResponse object.
43
+ Args:
44
+ req (platform_rest.PlatformRestRequest): The protobuf request object to be serialized and sent.
45
+ Returns:
46
+ platform_rest.PlatformRestResponse | None: The deserialized response object if the request is successful
47
+ (HTTP 200), or None if an error occurs.
48
+ """
49
+ from codegens.gravi.models import gravi_model_pb2 as gravi_model
50
+ import uuid
51
+
52
+ # req.deviceInfo = gravi_model.DeviceInfo(browser = "gs-cli", os = "MacOS")
53
+ req.deviceInfo.deviceId = "gs-cli"
54
+ req.deviceInfo.browser = "gs-cli"
55
+ req.deviceInfo.os = "MacOS"
56
+
57
+ if authTicket.stoken is not None:
58
+ req.ticket.stoken = authTicket.stoken
59
+ req.clientVersion = "6.4.6-gscli"
60
+ req.reqId = uuid.uuid4().hex
61
+
62
+ # Serialize the protobuf object to a byte array
63
+ serialized_req = req.SerializeToString()
64
+
65
+ # Send the serialized data in the HTTP POST request
66
+ headers = {"Content-Type": "application/octet-stream"}
67
+ response = requests.post(endpoint, data=serialized_req, headers=headers)
68
+
69
+ # Deserialize the response binary stream into a PlatformRestResponse object
70
+ if response.status_code == 200:
71
+ platform_response = platform_rest.PlatformRestResponse()
72
+ platform_response.ParseFromString(response.content)
73
+ return platform_response
74
+ else:
75
+ print(f"Error: {response.status_code}, {response.text}")
76
+ return None
77
+
78
+ @mcp.tool("authentication-status")
79
+ def authentication_status():
80
+ """
81
+ Returns the authentication status of the user.
82
+ Returns:
83
+ dict: A json dictionary containing the authentication status of the user in key called status.
84
+ """
85
+ global authTicket
86
+ if authTicket.stoken is not None:
87
+ return """{"status": "authenticated"}"""
88
+ return """{"status": "unauthenticated"}"""
89
+
90
+ @mcp.tool("login")
91
+ def login(email: str, password: str):
92
+ """
93
+ Logs in the user with the specified email and password to Gravity Sketch Cloud.
94
+ Args:
95
+ email (str): The email of the user.
96
+ password (str): The password of the user.
97
+ Returns:
98
+ dict: A json dictionary containing:
99
+ result: the result of the login operation,
100
+ ticket: the authentication ticket if the login is successful and the expiry time of the ticket.
101
+ authDetail: the authentication details of the user if the login is successful, which includes the user ID.
102
+ """
103
+ global authTicket # Declare stoken as global to modify its value
104
+ req = platform_rest.PlatformRestRequest()
105
+ req.restType = platform_rest.PlatformRestType.LoginByEmail
106
+ req.loginByEmailRequest.email = email
107
+ req.loginByEmailRequest.password = password
108
+
109
+ platform_response = make_request(req)
110
+
111
+ # Deserialize the response binary stream into a PlatformRestResponse object
112
+ if platform_response is not None:
113
+ if platform_response.loginResponse.result == login_rest.LoginResult.LoginSuccess:
114
+ authTicket.stoken = platform_response.loginResponse.ticket.stoken
115
+ authTicket.userId = platform_response.loginResponse.authDetail.userId
116
+ return MessageToJson(platform_response.loginResponse)
117
+ return """{"result": %s}""" % login_rest.LoginResult.LoginFailure
118
+
119
+ @mcp.tool("logout")
120
+ def logout():
121
+ """
122
+ Logs out the user from Gravity Sketch Cloud.
123
+ Returns:
124
+ dict: A json dictionary containing the result of the logout operation.
125
+ """
126
+ global authTicket
127
+ if authTicket.stoken is None:
128
+ return {"result": "NotAuthenticated", "errorMessage": "User is not authenticated."}
129
+
130
+ req = platform_rest.PlatformRestRequest()
131
+ req.restType = platform_rest.PlatformRestType.Logout
132
+
133
+ platform_response = make_request(req)
134
+ if platform_response is not None and platform_response.errorCode == platform_rest.PlatformRestError.Ok:
135
+ authTicket.stoken = None
136
+ authTicket.userId = ""
137
+ return """{"result": "success"}"""
138
+ return """{"result": "failure"}"""
139
+
140
+ @mcp.tool("get-user-profile")
141
+ def get_user_profile():
142
+ """
143
+ Gets the user profile of the logged-in user.
144
+ Returns:
145
+ dict: A json dictionary containing
146
+ result: the result of the operation
147
+ userProfile: the user profile if the operation is successful.
148
+ """
149
+ req = platform_rest.PlatformRestRequest()
150
+ req.restType = platform_rest.PlatformRestType.GetLoggedInUserV2
151
+
152
+ platform_response = make_request(req)
153
+ if platform_response is not None and platform_response.errorCode == platform_rest.PlatformRestError.Ok:
154
+ return """{"result": "success", "userProfile": %s}""" % MessageToJson(platform_response.getLoggedInUserResponseV2)
155
+ return """{"result": "failure"}"""
156
+
157
+
158
+ @mcp.tool("list-docs")
159
+ def list_docs(folder: str, workspace: WorkSpace = WorkSpace.PRIVATE, page_size: int = 10, offset: int = 0):
160
+ """
161
+ Lists the documents in the specified folder from Gravity Sketch Cloud.
162
+ Args:
163
+ folder (str): The folder to list the documents from. Default is an empty string for the root folder.
164
+ workspace (WorkSpace): The workspace to list the documents from. Default is WorkSpace.PRIVATE.
165
+ page_size (int): The number of documents to list per page.
166
+ offset (int): The offset of the documents to list.
167
+ Returns:
168
+ dict: A json dictionary containing:
169
+ result: the result of the operation,
170
+ docs: the list of documents if the operation is successful.
171
+ """
172
+ req = platform_rest.PlatformRestRequest()
173
+ req.restType = platform_rest.PlatformRestType.ListDocs
174
+ req.listDocsRequest.spaceId.ownerId = authTicket.userId
175
+ req.listDocsRequest.spaceId.ownerIdType = gravi_model.IdType.UserId
176
+ if workspace == WorkSpace.PRIVATE:
177
+ req.listDocsRequest.spaceId.partitionId = authTicket.userId
178
+ req.listDocsRequest.spaceId.partitionIdType = gravi_model.IdType.UserId
179
+ else:
180
+ # Shared workspace is not unsupported currently as orgs and teams are not exposed by mcp
181
+ req.listDocsRequest.spaceId.partitionId = authTicket.userId
182
+ # req.listDocsRequest.spaceId.partitionIdType = gravi_model.IdType.OrgTeamId
183
+ req.listDocsRequest.spaceId.partitionIdType = gravi_model.IdType.UserId
184
+
185
+ req.listDocsRequest.folder = folder
186
+ req.listDocsRequest.pageSize = page_size
187
+ req.listDocsRequest.offset = offset
188
+
189
+ platform_response = make_request(req)
190
+
191
+ def summariseDoc(doc: gravi_model.DocumentTO):
192
+ return {"documentId": doc.documentId, "name": doc.docName, "type": doc.docType, "size": doc.fileSize, "created": doc.createdBy}
193
+
194
+ if platform_response is not None and platform_response.errorCode == platform_rest.PlatformRestError.Ok:
195
+ response_summary = [summariseDoc(doc) for doc in platform_response.listDocsResponse.docs]
196
+ return """{"result": "success", "documents": %s}""" % json.dumps(response_summary) # MessageToJson(platform_response.listDocsResponse)
197
+ return """{"result": "failure"}"""
198
+
199
+ @mcp.tool("download-doc")
200
+ def download_doc(doc_id: str, destination_path: str):
201
+ """
202
+ Downloads the document with the specified ID to the specified destination path from Gravity Sketch Cloud.
203
+ Args:
204
+ doc_id (str): The ID of the document to download.
205
+ destination_path (str): The path to save the downloaded document.
206
+ Returns:
207
+ dict: A json dictionary containing:
208
+ result: the result of the operation,
209
+ message: the message indicating the result of the operation.
210
+ """
211
+ req = platform_rest.PlatformRestRequest()
212
+ req.restType = platform_rest.PlatformRestType.DownloadDoc
213
+ req.downloadDocRequest.docId = doc_id
214
+
215
+ platform_response = make_request(req)
216
+ if platform_response is not None and platform_response.errorCode == platform_rest.PlatformRestError.Ok:
217
+ download_url = platform_response.DownloadDocResponse.downloadUrl
218
+ response = requests.get(download_url, stream=True)
219
+ if response.status_code == 200:
220
+ with open(destination_path, 'wb') as file:
221
+ for chunk in response.iter_content(chunk_size=8192):
222
+ file.write(chunk)
223
+ return """{"result": "success", "message": f"File downloaded to {%s}"}""" % destination_path
224
+ else:
225
+ return """{"result": "failure", "errorMessage": f"Failed to download file. HTTP {%s}"}""" % response.status_code
226
+
227
+ return """{"result": "failure to get doc url"}"""
228
+
229
+ # Main execution
230
+
231
+ def main():
232
+ """Run the MCP server"""
233
+ mcp.run()
234
+
235
+ if __name__ == "__main__":
236
+ main()
mcp_lp_server/main.py ADDED
@@ -0,0 +1,22 @@
1
+ import sys
2
+ import os
3
+
4
+ # Get the absolute path of the codegens folder
5
+ module_folder = os.path.abspath(os.path.join(os.path.dirname(__file__)))
6
+
7
+ # Add it to sys.path
8
+ if module_folder not in sys.path:
9
+ sys.path.append(module_folder)
10
+ print("Added %s to sys.path" % module_folder)
11
+
12
+
13
+ from gs_web_server import main as server_main
14
+
15
+ def main():
16
+ """Entry point for the lp mcp package"""
17
+ print("Starting mcp server...")
18
+ server_main()
19
+
20
+
21
+ if __name__ == "__main__":
22
+ main()
@@ -0,0 +1,13 @@
1
+ import gs_web_server as gs
2
+
3
+ def main():
4
+ print(gs.login("ke+1@gravitysketch.com", "Password1"))
5
+ print(gs.get_user_profile())
6
+ print(gs.list_docs(""))
7
+ # print(gs.download_doc("4b2d0126-b558-4b7c-8cb7-477d485a744c", "test.png"))
8
+ print(gs.logout())
9
+ print(gs.authentication_status())
10
+
11
+
12
+ if __name__ == "__main__":
13
+ main()
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-lp-server
3
- Version: 0.1.1
4
- Summary: Add your description here
3
+ Version: 0.1.2
4
+ Summary: Gravity Sketch Cloud Integration through MCP
5
5
  Requires-Python: >=3.12
6
6
  Description-Content-Type: text/markdown
7
7
  Requires-Dist: httpx>=0.28.1
@@ -40,6 +40,3 @@ protoc --python_out=codegens \
40
40
  Build: `uv build`
41
41
  Publish: `uv pip install .`
42
42
  Validate: `uv pip list | grep mcp-lp-server`
43
-
44
- ## Token
45
- `pypi-AgEIcHlwaS5vcmcCJGFjZWI4ODBkLTAyMzQtNDk1ZS1iOWJmLWVhMDI0NjJhNGViNQACKlszLCI2MmI0NmIwNy03YzFjLTQ0YmItOTQ3My01NmUzNWY0ODQyZGEiXQAABiCBdmopWAnOc9qEvGyLcxJSbNoKvibzXsNp9HMG4mPwzQ`
@@ -0,0 +1,144 @@
1
+ mcp_lp_server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ mcp_lp_server/__main__.py,sha256=Usk-Zv6qZ8FJGG_Q69lfojrDzIlJVIm4TCXt8OPg1l8,74
3
+ mcp_lp_server/gs_web_server.py,sha256=J-lhMW-S7fv_pmMXAqaTVjoDK7wYDerHY4Fv_ceBQ9U,9856
4
+ mcp_lp_server/main.py,sha256=rjG-fCDhxL-ym0I-WsMOj5QXpsqS62cufOtjt7u3rnI,487
5
+ mcp_lp_server/main_debug.py,sha256=FR_WrzTGPFKWKcyv-Nfs3S3hQHKbWyTmttKB5UljdDU,342
6
+ mcp_lp_server/codegens/gs_options_pb2.py,sha256=-2_cOd21aDBRkZAQbIIC-ojES_N2D8k9O4-tQt83D0k,6867
7
+ mcp_lp_server/codegens/gs_options_pb2.pyi,sha256=OyybWWcRZu6SuIfGUTNR_eg1qa69VHG2oPblswtaS2Y,8593
8
+ mcp_lp_server/codegens/gravi/cms/cms_content_pb2.py,sha256=0dCzbY14kW80AgyTPaS_S8a31fRcWaymH4jqstndHu4,9930
9
+ mcp_lp_server/codegens/gravi/cms/cms_content_pb2.pyi,sha256=2i3JPyN_Lx0bCGpavmkR5_ey1YoWV6qgcz8BceM3obY,10276
10
+ mcp_lp_server/codegens/gravi/common/gravi_common_pb2.py,sha256=_2TTQAANoqP8s3ouJ7wS0iyKhqfxcsxDYcwKsx50HQI,2407
11
+ mcp_lp_server/codegens/gravi/common/gravi_common_pb2.pyi,sha256=Dkxlvh4s-rAwoCk7OImDIX646dquLm0J82Cod4fH03w,1323
12
+ mcp_lp_server/codegens/gravi/gsfile/sketch_gsfile_pb2.py,sha256=_vMOE1bV2nwvrTtsgIzktjrqVeEcwKCktRK4DGFPphE,25444
13
+ mcp_lp_server/codegens/gravi/gsfile/sketch_gsfile_pb2.pyi,sha256=PGt0sO_iiljbubHpAbAu_Ulwb32OEytqLR0XCqgpYQA,37016
14
+ mcp_lp_server/codegens/gravi/gsfile/asset/persistence/asset_pb2.py,sha256=Z8spgeGjd25AUrWrOnuSnUG4iWtaEY5E6XBhEewlXLk,1992
15
+ mcp_lp_server/codegens/gravi/gsfile/asset/persistence/asset_pb2.pyi,sha256=GKq-b_haAlCWTsQSJC26J4KvsHWSUgwGkj6by3CsMVw,609
16
+ mcp_lp_server/codegens/gravi/gsfile/layergroup/persistence/layer_group_pb2.py,sha256=Pp0TOsyQXv2Kt9EF-M7fWza6zOx5vfeSuLeNiFvRPOY,2065
17
+ mcp_lp_server/codegens/gravi/gsfile/layergroup/persistence/layer_group_pb2.pyi,sha256=OiTj8EjfOWfdF-POk4wUCaDRuwCzodvDluulW6QLpp0,724
18
+ mcp_lp_server/codegens/gravi/gsfile/legacy/legacy_gsfile_pb2.py,sha256=FjJa0MdAWVMeohsufh1-u5RLEBkwgHA-_Tek80pYjtg,4965
19
+ mcp_lp_server/codegens/gravi/gsfile/legacy/legacy_gsfile_pb2.pyi,sha256=k0rmIHqiua_HWxjiUaaeNO19fCAOmfBfBv99ULdBiBM,4546
20
+ mcp_lp_server/codegens/gravi/gsfile/metadata/persistence/metadata_pb2.py,sha256=82hO8sG_MnP3hY_dWhYB5S9fBwi8k6cjM3YwKcqDJoU,3289
21
+ mcp_lp_server/codegens/gravi/gsfile/metadata/persistence/metadata_pb2.pyi,sha256=PToTEdboq6KzbXmhurgkLocAM9jDJdaRFrofbNPtRVc,2281
22
+ mcp_lp_server/codegens/gravi/gsfile/strokelayer/persistence/layer_pb2.py,sha256=hhTf4iJsaOMFPJAu9HjviLlgwjr65IOqlRVXavvuK7c,2400
23
+ mcp_lp_server/codegens/gravi/gsfile/strokelayer/persistence/layer_pb2.pyi,sha256=1UqLwi2dqr1QLP1WuvaTdTbeLzdQJ5anNTqNsdkmvO4,1174
24
+ mcp_lp_server/codegens/gravi/library/material_library_pb2.py,sha256=m3rELwRXaGRfmplo-ybWOKj9OjENg4dEZ3HCEXVQITE,1872
25
+ mcp_lp_server/codegens/gravi/library/material_library_pb2.pyi,sha256=KVUdvJHArwe-L_rcK0WBM2FPki-0ASrE-cKYOAtTaH8,858
26
+ mcp_lp_server/codegens/gravi/localization/localization_pb2.py,sha256=w7AdfoFqmokiv57PAG5oM9TcDVLDc_fYBCZVIg8Bd1M,3457
27
+ mcp_lp_server/codegens/gravi/localization/localization_pb2.pyi,sha256=e74Csrs1V5nG1LotYaA21Csm_GeOvv_Fz5KMhHsBL3M,2866
28
+ mcp_lp_server/codegens/gravi/models/bot_export_pb2.py,sha256=3l0vgal7-I1DE2DXjQOVd8wQWZjzb_msNiTcZUl8iIU,4189
29
+ mcp_lp_server/codegens/gravi/models/bot_export_pb2.pyi,sha256=82fEyDmIlGznLHJl4sppRdEK1g4mUzqvsxPTTdD3ys0,4030
30
+ mcp_lp_server/codegens/gravi/models/gravi_model_pb2.py,sha256=n38YUgdLUKBJQE1sntrsMgERDSHd9rHDiqdFaOrtKvs,50698
31
+ mcp_lp_server/codegens/gravi/models/gravi_model_pb2.pyi,sha256=Mbg7rAlzsBO1Tj3BjA6zpIbuRvF-Aq2rcSCQP6XbMpw,77807
32
+ mcp_lp_server/codegens/gravi/models/notifications_pb2.py,sha256=I_vnFZwfP8I-8uVVZZtt59mZ662NcVTN_zmsYbH5tzw,10234
33
+ mcp_lp_server/codegens/gravi/models/notifications_pb2.pyi,sha256=tBoWUnMnO76KINJf8tXdgnMTQeEUM1F6F5lKbb1hnsQ,9620
34
+ mcp_lp_server/codegens/gravi/models/preferences_pb2.py,sha256=8-J5h2iF7nIO6k8SNvRblm0p7KDCv1St_h-ZRNXwgAc,30160
35
+ mcp_lp_server/codegens/gravi/models/preferences_pb2.pyi,sha256=u3G2Dxz1dJjuhd5ObkyQRci9TA3yiUJvRM_cDD-HMuU,46172
36
+ mcp_lp_server/codegens/gravi/models/rhino_compute_pb2.py,sha256=rugg-VhAahyhLbVfFqk9dM6LBPd1nECQApgpblasGbE,3587
37
+ mcp_lp_server/codegens/gravi/models/rhino_compute_pb2.pyi,sha256=-KkKtCv9xZmE0Xwey1rKR_yfyVzYuGpjyc6x3dW9utI,2608
38
+ mcp_lp_server/codegens/gravi/proxy/control_pb2.py,sha256=PteXrmXqTXw7Icn2fVwtlpQgf9mYv7dhsH05Fc4LXR0,2342
39
+ mcp_lp_server/codegens/gravi/proxy/control_pb2.pyi,sha256=2VbEOF05PB9RXvhIAmHOGFy7LKFYhGIuXkc0e-ghW1Y,1110
40
+ mcp_lp_server/codegens/gravi/release/release_pb2.py,sha256=s7XiGNU7oK9W4bW0gmX5rc37oyghqvFgvLC_nIMHWJQ,2750
41
+ mcp_lp_server/codegens/gravi/release/release_pb2.pyi,sha256=IPhmx_C3lTpNYn6hDTz38f436eVi_gjgxSLpdU9KKFU,2438
42
+ mcp_lp_server/codegens/gravi/rest/ai/ask_pb2.py,sha256=TBKh3av94ILpihZWIY4IYD4ZJ4X0O2OFfBgOVanVjho,3757
43
+ mcp_lp_server/codegens/gravi/rest/ai/ask_pb2.pyi,sha256=uV7XfuKDs1RSZGUJajxUHkz_sV0PMF6-J1xsqjklCC4,2331
44
+ mcp_lp_server/codegens/gravi/rest/ai/image_pb2.py,sha256=l7Oa8et-zLRLrjCoVt---2B8_hcmhQbYittnuAUWy6w,5486
45
+ mcp_lp_server/codegens/gravi/rest/ai/image_pb2.pyi,sha256=NTOGt7Y9KSaFik-C6QBEhRtw8UpLWzNQ70ynJkWs7KM,4579
46
+ mcp_lp_server/codegens/gravi/rest/auth/auth_pb2.py,sha256=zAffu-I0ktiAjf1ZG5EDui4i4OSDwCrcL0ai5IOpR6g,35446
47
+ mcp_lp_server/codegens/gravi/rest/auth/auth_pb2.pyi,sha256=IXgrChvqEDoVkQY_zY_ZWkB68-CRJZeuoBRhJdGTrLE,39153
48
+ mcp_lp_server/codegens/gravi/rest/common/async_pb2.py,sha256=zm8zhV-NEXXNgjGsop0BNPeUxdQUApIepRcMz3U6fUk,1769
49
+ mcp_lp_server/codegens/gravi/rest/common/async_pb2.pyi,sha256=qblCkZuvHG2MGea7_w-UW_5GfblA33KJSb88hnDjJ-U,416
50
+ mcp_lp_server/codegens/gravi/rest/doc/comment_pb2.py,sha256=lZrpYZGxvZ0QlFGqcIwF6y_XkCkuxrZuasMdDKJE87Y,8957
51
+ mcp_lp_server/codegens/gravi/rest/doc/comment_pb2.pyi,sha256=2DncV8C6hDJtN1odSXhWsSSSX0dmj8QlGTWfcZfpFZM,9318
52
+ mcp_lp_server/codegens/gravi/rest/doc/doc_rest_pb2.py,sha256=xpye7u0mUVo4Aitl4pttxvFBZGrQHT-3asqdyHJZOPI,48145
53
+ mcp_lp_server/codegens/gravi/rest/doc/doc_rest_pb2.pyi,sha256=rRfxAJk0rQuf8o2f6lQMnJ2994FVeypkDnknhWLB79s,54091
54
+ mcp_lp_server/codegens/gravi/rest/doc/export_pb2.py,sha256=fqtPH6OXDLF5digFVfD4xX7aVwUiCUxfku7KjYDy3Fo,13827
55
+ mcp_lp_server/codegens/gravi/rest/doc/export_pb2.pyi,sha256=_o_mPma2NA-2yCYkUUAa617n6CQS9nMFrrQnxzayIzk,15135
56
+ mcp_lp_server/codegens/gravi/rest/doc/revision_pb2.py,sha256=pwO8Q3PiurPwILlrJo7N5qr34Y26TNl0NHDEilLO92o,3154
57
+ mcp_lp_server/codegens/gravi/rest/doc/revision_pb2.pyi,sha256=plLt_6A8apzBMiMXenZ0qVtjgTJNjIlUylLNCUZZ7C0,1912
58
+ mcp_lp_server/codegens/gravi/rest/doc/room_pb2.py,sha256=KKdOnOrYWDHVQgjpV07x0QNoc0KxryesyQyzfJrj0go,22982
59
+ mcp_lp_server/codegens/gravi/rest/doc/room_pb2.pyi,sha256=LiaaE1KuopEQVu0r6wBqaSMrUaF_AsjqQGRMyE7_sps,22542
60
+ mcp_lp_server/codegens/gravi/rest/model/achievement_pb2.py,sha256=HWolsUBBllOHZfX3gHv2CnAGlsX2F5OIpqUt7VKoibI,4894
61
+ mcp_lp_server/codegens/gravi/rest/model/achievement_pb2.pyi,sha256=gBMdLVJRBkT9xzjzsMyMJGa5LRbph1CalYyTAopXecI,5788
62
+ mcp_lp_server/codegens/gravi/rest/model/activate_code_pb2.py,sha256=Nh0m5IPxDW67-TDJgaeFEgXgO6Pq7qNlLobzuMYMsG8,5443
63
+ mcp_lp_server/codegens/gravi/rest/model/activate_code_pb2.pyi,sha256=4S5o7HBPQNooR54wtS3Ix_r45isqeUxCEEphUhnClp4,7147
64
+ mcp_lp_server/codegens/gravi/rest/model/collab_pb2.py,sha256=LmFMKnj028-tSCHHGVm2uFrGpA7Ya8EQXfJaAK4B1aM,4760
65
+ mcp_lp_server/codegens/gravi/rest/model/collab_pb2.pyi,sha256=e0cI832xrkRK__qCKmTsEvzqPP4_i0b3Fwhh0XxL9vE,4379
66
+ mcp_lp_server/codegens/gravi/rest/model/login_pb2.py,sha256=L8UDxD2r0hddgveImav7CquLZWy7G99qtzDClvQR8cM,4581
67
+ mcp_lp_server/codegens/gravi/rest/model/login_pb2.pyi,sha256=1KXfA8z9_ieP8wjzWk6H6v5FiLDIOvZEqjycN0uKW2Q,5498
68
+ mcp_lp_server/codegens/gravi/rest/model/online_sketch_pb2.py,sha256=rgtn_u8S1Xmgm-wveQGGlz-KvDz-2hHIA83aKpFgG10,12950
69
+ mcp_lp_server/codegens/gravi/rest/model/online_sketch_pb2.pyi,sha256=Iy1VhNOuJO6X_yE6kcZp-o3sAa9Hve5EcDh1ffZCtH0,14692
70
+ mcp_lp_server/codegens/gravi/rest/model/organisation_pb2.py,sha256=kvpvHU5wfAz0uBritmAr7QOLcE0oAL04roQ39aGxrgk,2655
71
+ mcp_lp_server/codegens/gravi/rest/model/organisation_pb2.pyi,sha256=eJG1KfXNJlK8XH7cUjkdLbQsw3IOMqaT2P8vmU0H5Vo,1519
72
+ mcp_lp_server/codegens/gravi/rest/model/pair_device_pb2.py,sha256=zjeUVUqqyZwNlDhOtRArHPKURKwjnDkpBEEiG8_3mvs,7007
73
+ mcp_lp_server/codegens/gravi/rest/model/pair_device_pb2.pyi,sha256=TG4Q4WcDi5sdpok75ZSn39_xPjwyjWm1z_NyVnag5RI,5994
74
+ mcp_lp_server/codegens/gravi/rest/model/platform_rest_pb2.py,sha256=a-FKrgE7pjYZvDbf4rhzzhGhQ6aZmj6oTK9QF7BAc0s,115582
75
+ mcp_lp_server/codegens/gravi/rest/model/platform_rest_pb2.pyi,sha256=DbUwYd6-NSNUr56lPRtG4mE_D4woBjyF2OFAJu0z50Y,174666
76
+ mcp_lp_server/codegens/gravi/rest/model/signup_pb2.py,sha256=CsDtExg8mo1tIxEzmkDTncdL1LrP2BfIaqhdBsW4wM8,8848
77
+ mcp_lp_server/codegens/gravi/rest/model/signup_pb2.pyi,sha256=hr50SF5MXJ9qe5sMu6L6Zei-ClBLE1xj4zlLbZOw0YY,9072
78
+ mcp_lp_server/codegens/gravi/rest/org/invitation_pb2.py,sha256=4m31OlvjnhR_MFeOFU-0MeU8GmklLTlTMmvb3v15vw4,8128
79
+ mcp_lp_server/codegens/gravi/rest/org/invitation_pb2.pyi,sha256=_NvdevTN3IxLOKEazAuTLjxQ26058IlVYRUnDwGW2h8,7265
80
+ mcp_lp_server/codegens/gravi/rest/org/management_pb2.py,sha256=8vMYYL6o3pwBVevlJv4hKu3ZDx3MXWWUrU6LCwUVM1I,6240
81
+ mcp_lp_server/codegens/gravi/rest/org/management_pb2.pyi,sha256=xGe51y0eoCV125RAPkyyrPvObRXiju-Zxj9rE8R_1fY,7292
82
+ mcp_lp_server/codegens/gravi/rest/org/team_member_pb2.py,sha256=o8WHjsSe-wGuUd6g_sBLgqsoTXcZLJk_jGb9y6FxZyI,6334
83
+ mcp_lp_server/codegens/gravi/rest/org/team_member_pb2.pyi,sha256=8WKSn3tS_2M2sQc_A7qdo0_mR5q1sarWC_q-d5-Rzs8,5079
84
+ mcp_lp_server/codegens/gravi/rest/org/team_pb2.py,sha256=P9tbcxQZGA50fb3lnzdz_MsDpexe3JIRGJkcji-CTvI,28908
85
+ mcp_lp_server/codegens/gravi/rest/org/team_pb2.pyi,sha256=09ge3TYNZBuf0HXkFcS4fg-o1kKyLCFQKCd6OcJJclM,31579
86
+ mcp_lp_server/codegens/gravi/rest/sketch/sketch_pb2.py,sha256=WeLzFYdMq0NuXLsxsdmc8NY7qA_v-1METKlcYc5J6oc,7602
87
+ mcp_lp_server/codegens/gravi/rest/sketch/sketch_pb2.pyi,sha256=BkjfkHD-DfuFDBNHre7-EGNnocvjHBM7nEHhdNZ5-l0,6404
88
+ mcp_lp_server/codegens/gravi/rest/user/account_pb2.py,sha256=8zkWOU9wPGSLDTKDOcZ49itc1JhFnjrvXT321mlRxjc,2584
89
+ mcp_lp_server/codegens/gravi/rest/user/account_pb2.pyi,sha256=m8x1zdqZwTDTVFB47v5TMf5gYpOMsmTNaUmjyxRPNK8,1133
90
+ mcp_lp_server/codegens/gravi/rest/user/connections_pb2.py,sha256=KRzRXQBEdQpOYAwo0Kgdu1qolaK3li4EAEOGlAo6PPc,11872
91
+ mcp_lp_server/codegens/gravi/rest/user/connections_pb2.pyi,sha256=2CzSX3Or8uMjqzixVpCHeL9ylfRwBe3DHfZ460PHOpk,11765
92
+ mcp_lp_server/codegens/gravi/rest/user/profile_pb2.py,sha256=Xa2xMyV5IB9Z55Gdm1KctIxiultoMg3cKL6o8_qzm9I,10181
93
+ mcp_lp_server/codegens/gravi/rest/user/profile_pb2.pyi,sha256=YPKAZCTu2nwWPRx78Jdz_wKjx7vuiZX55Rd1wPHF3Ts,11435
94
+ mcp_lp_server/codegens/gravi/rest/user/update_check_pb2.py,sha256=r34pBWN7B73eOArCRtVqmhsMm01uMl8m8Uo8ByfkFXA,4002
95
+ mcp_lp_server/codegens/gravi/rest/user/update_check_pb2.pyi,sha256=cR2nM2kCH5FWMYh7X7SNT9lLLieRv3X5DhxlpdB8qzY,5149
96
+ mcp_lp_server/codegens/gravi/rest/voicechat/transcribe_pb2.py,sha256=kY0U8MeUZh4JjAD9sbCZtVOyUs0_XVtlgHPgnfDw1hs,3390
97
+ mcp_lp_server/codegens/gravi/rest/voicechat/transcribe_pb2.pyi,sha256=vEyPZ2qotvFpX_ILXjBnZ6DyObam6pXLZ_6OB30LjFY,1738
98
+ mcp_lp_server/codegens/gravi/rest/voicechat/voice_pb2.py,sha256=_f9Efg9Xdf3peEmiXeaLUqit9s3eqNL8wWqDfEV4-t0,5120
99
+ mcp_lp_server/codegens/gravi/rest/voicechat/voice_pb2.pyi,sha256=30nWHDh7k4kuA_JxjMDUeivTphHZNxvd88_twgn2QxY,3507
100
+ mcp_lp_server/codegens/gravi/rpc/cosketch_rpc_pb2.py,sha256=fPIhEC8CrATRXzXC-4FhnyCq2qrhFKUZyZRBenaZ-OM,60441
101
+ mcp_lp_server/codegens/gravi/rpc/cosketch_rpc_pb2.pyi,sha256=w5JvpJJUCfcoY4ocqxt5pzixM4cO_2j0ndi-s3dzAnI,92719
102
+ mcp_lp_server/codegens/gravi/rpc/cosketch_serverpush_pb2.py,sha256=pGvrrrPqCladcfOwyJpwTx2j9dh6lfuUN2Hs_jdoYME,4102
103
+ mcp_lp_server/codegens/gravi/rpc/cosketch_serverpush_pb2.pyi,sha256=QGsZsoTlvWT9lM-IE4ae9oArmZGI5XKuSKSdKQHwqkg,3649
104
+ mcp_lp_server/codegens/gravi/rpc/files/file_upload_pb2.py,sha256=QsY7uVMc73Ca9zBim3nF-S9kRhALPyX12C6M-xRJqAA,2899
105
+ mcp_lp_server/codegens/gravi/rpc/files/file_upload_pb2.pyi,sha256=q5skUoldnAfdkgid-rGRet_BAcxLSU89mrHdCk66Jj8,2794
106
+ mcp_lp_server/codegens/gravi/rpc/model/collab_tools_pb2.py,sha256=4dK05qM_mvrqBRhUiC3H_DNfmKQd-OC1QDSnGbzgJx8,10560
107
+ mcp_lp_server/codegens/gravi/rpc/model/collab_tools_pb2.pyi,sha256=Njr-PSzd2YgVrvn-jEeixZgFq_u_NOVbONGauINOmgY,10185
108
+ mcp_lp_server/codegens/gravi/rpc/model/sketch_model_pb2.py,sha256=wGODlXNGZSXOAsVW5ezMy5GLea8y0cQK9aULgLstA9A,22995
109
+ mcp_lp_server/codegens/gravi/rpc/model/sketch_model_pb2.pyi,sha256=0KWiOrJsfg0dwM5DQ-lrRKLWuJPrH-stgfva6oSL4O4,29020
110
+ mcp_lp_server/codegens/gravi/rpc/model/common/sketch_common_pb2.py,sha256=O7DW4CffQ_eDEPuF63hxdUc5SMPP7j1oqEi27vlTs1Y,20608
111
+ mcp_lp_server/codegens/gravi/rpc/model/common/sketch_common_pb2.pyi,sha256=TVWSNiQyatbAryoDljt3_4h5fEm9aSLbWr6rRepujN4,27361
112
+ mcp_lp_server/codegens/gravi/rpc/model/common/sketch_configurable_ui_pb2.py,sha256=Wybz3LlURb-VXrPe5RCbXDWP1mtN28PtTkyfWoWbS_A,7281
113
+ mcp_lp_server/codegens/gravi/rpc/model/common/sketch_configurable_ui_pb2.pyi,sha256=sk1o3PLNRd43xXwaaqeiWesOO0y_4F1YNHCkbqkMgBI,10793
114
+ mcp_lp_server/codegens/gravi/rpc/model/common/sketch_interactions_pb2.py,sha256=SlOPH_XoRxaSRBTm3UgLIwOkVkLpj_qm5lZbmTeRG_k,9586
115
+ mcp_lp_server/codegens/gravi/rpc/model/common/sketch_interactions_pb2.pyi,sha256=f67hg0DLduJSWz7-sTWxaizDiELn3kpEAof4BJygB0I,13459
116
+ mcp_lp_server/codegens/gravi/rpc/model/deprecated/deprecated_sketch_model_pb2.py,sha256=5JWc7wyPCB7e8_WQ2-_wIimSoz3RvZAHJaOafmC65Hc,2731
117
+ mcp_lp_server/codegens/gravi/rpc/model/deprecated/deprecated_sketch_model_pb2.pyi,sha256=CpjLk-4R_Tjo3pCyJk1X-RBDT-a75eo5q6KSKubC72I,1969
118
+ mcp_lp_server/codegens/gravi/rpc/model/extra/sketch_extra_pb2.py,sha256=FUwylCX-C4i7O8IOqPz5SUwgUu6icuyxbU91UlTyjf4,15132
119
+ mcp_lp_server/codegens/gravi/rpc/model/extra/sketch_extra_pb2.pyi,sha256=cDA9LC7oNSG86ai1X59jaY3YEIFlX9cBRg4zdZvcfWs,17806
120
+ mcp_lp_server/codegens/gravi/rpc/model/incremental/sketch_incremental_pb2.py,sha256=RaH4196gPZKszOc97Ymtyv8erZDLILFDGtYxyo5uf60,4804
121
+ mcp_lp_server/codegens/gravi/rpc/model/incremental/sketch_incremental_pb2.pyi,sha256=sdhkeaf5qwS9zybfqa87Kpw-fMlu0cPr2-BLL2pHEd0,4598
122
+ mcp_lp_server/codegens/gravi/rpc/model/inputs/sketch_inputs_pb2.py,sha256=lQL9Qse7rNwUu1Xd5eyZKhdlsheImbgsrsOTIoSxJb8,7046
123
+ mcp_lp_server/codegens/gravi/rpc/model/inputs/sketch_inputs_pb2.pyi,sha256=-X_A2RgXzCKNKsVVuwqqWtY0RgGUxZguNUmakIpRymE,6729
124
+ mcp_lp_server/codegens/gravi/runtime/config/runtime_config_pb2.py,sha256=0wihK9dEv3Y2ZG0HH5fLJXAEHUH1HuMiXx9NChJy1es,9244
125
+ mcp_lp_server/codegens/gravi/runtime/config/runtime_config_pb2.pyi,sha256=uouYxLkryAS1U6CYYyu_GLNL0Ql1qCHpt99tW0yIAzc,10659
126
+ mcp_lp_server/codegens/gravi/ui/model/ui_event_pb2.py,sha256=AdU1AVyB1Bqnu17mGgCjhDQgvGEKVBYNhCULQN1KgwY,2455
127
+ mcp_lp_server/codegens/gravi/ui/model/ui_event_pb2.pyi,sha256=8jB_2odqNelAsnnNwTR3BkAoS3qm4dIt4nyEPiUdTis,1362
128
+ mcp_lp_server/codegens/gravi/ui/model/ui_model_pb2.py,sha256=bw4PNzyiN3V539rYn6uFUr3t2bDDCUkEk-QxuYwmakc,34896
129
+ mcp_lp_server/codegens/gravi/ui/model/ui_model_pb2.pyi,sha256=7Jk0L7CF80n6gdEVBdCVBrTZvkT-OJFuTZ_scF40qQA,43906
130
+ mcp_lp_server/codegens/gravi/unity/gravi_unity_pb2.py,sha256=6vsapxsQSwzGwKTVsT-S2Gvrzzz9axatdEyqp1jAw6M,3193
131
+ mcp_lp_server/codegens/gravi/unity/gravi_unity_pb2.pyi,sha256=XKASIME1iUfl_zKPdqHthUpnMdszuxnpIDK7gr_rD4w,2931
132
+ mcp_lp_server/codegens/gravi/unity/unity_log_pb2.py,sha256=5HY7VkcyT4TvyBfLNB6Dx64Ng1YjF_ltOR6_jqutRMg,2803
133
+ mcp_lp_server/codegens/gravi/unity/unity_log_pb2.pyi,sha256=5jC4EVZ1dfG-7b5udfEB8qkBozoNLdWvnUf8OauKM5k,3101
134
+ mcp_lp_server/codegens/gravi/unity/analytics/analytics_pb2.py,sha256=1LzzwSHdFemLtMXTUrDuRmDyq-WKm1DdHbprs_xfbDw,76412
135
+ mcp_lp_server/codegens/gravi/unity/analytics/analytics_pb2.pyi,sha256=yAQJ9V4Uxqqs-_VbBalQvQUSFBbLLv_cPl16knVpe0o,88312
136
+ mcp_lp_server/codegens/gravi/webanalytics/web_pb2.py,sha256=UobNV5S64ihOFNgK5BISpDnZOv_asjoxmAyw67preYU,90622
137
+ mcp_lp_server/codegens/gravi/webanalytics/web_pb2.pyi,sha256=PyV0UoSC0rU0VZLiacOkoa0KyZPhbIM6oEzn9vSJSfw,60554
138
+ mcp_lp_server/codegens/gravi/wrapper/wrappers_pb2.py,sha256=VTBMYcaDurRH1cYxkFchbe7ZuTQhgawtEVuIaqdlOUA,4504
139
+ mcp_lp_server/codegens/gravi/wrapper/wrappers_pb2.pyi,sha256=N6Do7jWqi9d14vT6PykTsddVpVUV5lFBHrsrd6bo1to,2593
140
+ mcp_lp_server-0.1.2.dist-info/METADATA,sha256=ndm3HVD1QGoiBASrv8D3W4sGftFDAjIz9hikj5oHGC4,1118
141
+ mcp_lp_server-0.1.2.dist-info/WHEEL,sha256=DK49LOLCYiurdXXOXwGJm6U4DkHkg4lcxjhqwRa0CP4,91
142
+ mcp_lp_server-0.1.2.dist-info/entry_points.txt,sha256=D9u2v04G51YIeUN7q8ia44YDfiQrHrF9CgcrH_EvewM,58
143
+ mcp_lp_server-0.1.2.dist-info/top_level.txt,sha256=yQq_5LfDjxquRIrjBZckc_NpR9CpDPfwDGXm-mWCgHY,14
144
+ mcp_lp_server-0.1.2.dist-info/RECORD,,
@@ -0,0 +1 @@
1
+ mcp_lp_server
@@ -1,110 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # NO CHECKED-IN PROTOBUF GENCODE
4
- # source: gravi/cms/cms-content.proto
5
- # Protobuf Python Version: 6.30.1
6
- """Generated protocol buffer code."""
7
- from google.protobuf import descriptor as _descriptor
8
- from google.protobuf import descriptor_pool as _descriptor_pool
9
- from google.protobuf import runtime_version as _runtime_version
10
- from google.protobuf import symbol_database as _symbol_database
11
- from google.protobuf.internal import builder as _builder
12
- _runtime_version.ValidateProtobufRuntimeVersion(
13
- _runtime_version.Domain.PUBLIC,
14
- 6,
15
- 30,
16
- 1,
17
- '',
18
- 'gravi/cms/cms-content.proto'
19
- )
20
- # @@protoc_insertion_point(imports)
21
-
22
- _sym_db = _symbol_database.Default()
23
-
24
-
25
- import gs_options_pb2 as gs__options__pb2
26
-
27
-
28
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bgravi/cms/cms-content.proto\x12\tgravi.cms\x1a\x10gs-options.proto\"\xfd\x03\n\nCmsContent\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x18\n\x10\x63\x61naryVersionUrl\x18\x02 \x01(\t\x12M\n\x14\x63osketchRoomPolicies\x18\n \x03(\x0b\x32/.gravi.cms.CmsContent.CosketchRoomPoliciesEntry\x12G\n\x11priceTierPolicies\x18\x0b \x03(\x0b\x32,.gravi.cms.CmsContent.PriceTierPoliciesEntry\x12@\n\x11\x63oSketchRoomCosts\x18\x33 \x03(\x0b\x32\x1b.gravi.cms.CoSketchRoomCostB\x08\x8a\xa6\x1d\x04size\x12\x32\n\x0emarketingPopup\x18\x96\x01 \x01(\x0b\x32\x19.gravi.cms.MarketingPopup\x1aZ\n\x19\x43osketchRoomPoliciesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.gravi.cms.CoSketchRoomPolicy:\x02\x38\x01\x1aT\n\x16PriceTierPoliciesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.gravi.cms.PriceTierPolicy:\x02\x38\x01:\x04\x88\xb5\x18\x01\"\xd5\x01\n\x08\x43msAsset\x12\r\n\x05title\x18\x01 \x01(\t\x12\x13\n\x0b\x64ownloadUrl\x18\x02 \x01(\t\x12\x14\n\x0cthumbnailUrl\x18\x03 \x01(\t\x12\'\n\tassetType\x18\x04 \x01(\x0e\x32\x14.gravi.cms.AssetType\x12\'\n\tvideoType\x18\x05 \x01(\x0e\x32\x14.gravi.cms.VideoType\x12\x17\n\x0fiPadTutorialKey\x18\x06 \x01(\t\x12\x10\n\x08priority\x18\x07 \x01(\x05\x12\x0c\n\x04hash\x18\x08 \x01(\t:\x04\x88\xb5\x18\x01\"s\n\x0eMarketingPopup\x12\r\n\x05title\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\"\n\x05video\x18\x03 \x01(\x0b\x32\x13.gravi.cms.CmsAsset\x12\r\n\x05start\x18\x04 \x01(\x03\x12\x0b\n\x03\x65nd\x18\x05 \x01(\x03:\x04\x88\xb5\x18\x01\"C\n\x10\x43oSketchRoomCost\x12)\n\x04size\x18\x01 \x01(\x0e\x32\x1b.gravi.cms.CoSketchRoomSize:\x04\x88\xb5\x18\x01\"\xa4\x01\n\x12\x43oSketchRoomPolicy\x12\n\n\x02id\x18\x01 \x01(\t\x12\x19\n\x11maxUserCapPerRoom\x18\x02 \x01(\x05\x12\x18\n\x10maxCoSketchRooms\x18\x03 \x01(\x05\x12-\n\x08roomSize\x18\x04 \x01(\x0e\x32\x1b.gravi.cms.CoSketchRoomSize\x12\x18\n\x10maxLaunchedRooms\x18\x05 \x01(\x05:\x04\x88\xb5\x18\x01\";\n\x0fPriceTierPolicy\x12\n\n\x02id\x18\x01 \x01(\t\x12\x16\n\x0espaceAllowance\x18\x02 \x01(\x03:\x04\x88\xb5\x18\x01\"P\n\x0bMenuGallery\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12\x16\n\x0eimageFolderUrl\x18\x02 \x01(\t\x12\x12\n\nimageNames\x18\x03 \x03(\t:\x04\x88\xb5\x18\x01\"~\n\x0fNoticeBoardLang\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12\x0f\n\x07langNum\x18\x02 \x01(\x05\x12\x12\n\npanelTitle\x18\x03 \x01(\t\x12\x11\n\tpageTitle\x18\x04 \x01(\t\x12\r\n\x05page1\x18\x05 \x01(\t\x12\r\n\x05page2\x18\x06 \x01(\t:\x04\x88\xb5\x18\x01\"?\n\x0bNoticeBoard\x12*\n\x06\x62oards\x18\x01 \x03(\x0b\x32\x1a.gravi.cms.NoticeBoardLang:\x04\x88\xb5\x18\x01\"P\n\x08ObjAsset\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64ownloadUrl\x18\x02 \x01(\t\x12\x0e\n\x06zipped\x18\x03 \x01(\x08\x12\x0b\n\x03grs\x18\x04 \x01(\x08:\x04\x88\xb5\x18\x01\"8\n\rGallerySketch\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64ownloadUrl\x18\x02 \x01(\t:\x04\x88\xb5\x18\x01\"\\\n\x0cVideoDetails\x12\r\n\x05title\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12*\n\x08\x63\x61tegory\x18\x03 \x01(\x0e\x32\x18.gravi.cms.VideoCategory:\x04\x88\xb5\x18\x01\"L\n\x0f\x43msFeatureFlags\x12\x14\n\x0ctoolBeltBeta\x18\x02 \x01(\x08\x12\x1d\n\x15\x63onvertSubDRPCEnabled\x18\x03 \x01(\x08:\x04\x88\xb5\x18\x01\"2\n\x0b\x46ontDetails\x12\x10\n\x08\x66ontName\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t:\x04\x88\xb5\x18\x01*u\n\tAssetType\x12\x15\n\x11\x41ssetType_Unknown\x10\x00\x12\x11\n\rAssetType_Obj\x10\x01\x12\x14\n\x10\x41ssetType_Sketch\x10\x02\x12\x13\n\x0f\x41ssetType_Video\x10\x03\x12\x13\n\x0f\x41ssetType_Image\x10\x04*\xb6\x01\n\tVideoType\x12\x15\n\x11VideoType_Unknown\x10\x00\x12\x14\n\x10VideoType_Skills\x10\x01\x12\x17\n\x13VideoType_Tutorials\x10\x02\x12\x16\n\x12VideoType_Beginner\x10\x03\x12\x17\n\x13VideoType_Marketing\x10\x04\x12\x1b\n\x17VideoType_Pad_Tutorials\x10\x05\x12\x15\n\x11VideoType_VR_Tips\x10\x06*Q\n\x10\x43oSketchRoomSize\x12\x0b\n\x07Unknown\x10\x00\x12\t\n\x05Small\x10\x01\x12\n\n\x06Medium\x10\x02\x12\t\n\x05Large\x10\x03\x12\x0e\n\nExtraLarge\x10\x04*_\n\rVideoCategory\x12\x17\n\x13VideoCategorySkills\x10\x00\x12\x1a\n\x16VideoCategoryTutorials\x10\x02\x12\x19\n\x15VideoCategoryBeginner\x10\x03\x42J\n\x15\x63om.gravitysketch.cmsP\x01Z/gravitysketch.com/platform/go/vrproto/gravi/cmsb\x06proto3')
29
-
30
- _globals = globals()
31
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
32
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'gravi.cms.cms_content_pb2', _globals)
33
- if not _descriptor._USE_C_DESCRIPTORS:
34
- _globals['DESCRIPTOR']._loaded_options = None
35
- _globals['DESCRIPTOR']._serialized_options = b'\n\025com.gravitysketch.cmsP\001Z/gravitysketch.com/platform/go/vrproto/gravi/cms'
36
- _globals['_CMSCONTENT_COSKETCHROOMPOLICIESENTRY']._loaded_options = None
37
- _globals['_CMSCONTENT_COSKETCHROOMPOLICIESENTRY']._serialized_options = b'8\001'
38
- _globals['_CMSCONTENT_PRICETIERPOLICIESENTRY']._loaded_options = None
39
- _globals['_CMSCONTENT_PRICETIERPOLICIESENTRY']._serialized_options = b'8\001'
40
- _globals['_CMSCONTENT'].fields_by_name['coSketchRoomCosts']._loaded_options = None
41
- _globals['_CMSCONTENT'].fields_by_name['coSketchRoomCosts']._serialized_options = b'\212\246\035\004size'
42
- _globals['_CMSCONTENT']._loaded_options = None
43
- _globals['_CMSCONTENT']._serialized_options = b'\210\265\030\001'
44
- _globals['_CMSASSET']._loaded_options = None
45
- _globals['_CMSASSET']._serialized_options = b'\210\265\030\001'
46
- _globals['_MARKETINGPOPUP']._loaded_options = None
47
- _globals['_MARKETINGPOPUP']._serialized_options = b'\210\265\030\001'
48
- _globals['_COSKETCHROOMCOST']._loaded_options = None
49
- _globals['_COSKETCHROOMCOST']._serialized_options = b'\210\265\030\001'
50
- _globals['_COSKETCHROOMPOLICY']._loaded_options = None
51
- _globals['_COSKETCHROOMPOLICY']._serialized_options = b'\210\265\030\001'
52
- _globals['_PRICETIERPOLICY']._loaded_options = None
53
- _globals['_PRICETIERPOLICY']._serialized_options = b'\210\265\030\001'
54
- _globals['_MENUGALLERY']._loaded_options = None
55
- _globals['_MENUGALLERY']._serialized_options = b'\210\265\030\001'
56
- _globals['_NOTICEBOARDLANG']._loaded_options = None
57
- _globals['_NOTICEBOARDLANG']._serialized_options = b'\210\265\030\001'
58
- _globals['_NOTICEBOARD']._loaded_options = None
59
- _globals['_NOTICEBOARD']._serialized_options = b'\210\265\030\001'
60
- _globals['_OBJASSET']._loaded_options = None
61
- _globals['_OBJASSET']._serialized_options = b'\210\265\030\001'
62
- _globals['_GALLERYSKETCH']._loaded_options = None
63
- _globals['_GALLERYSKETCH']._serialized_options = b'\210\265\030\001'
64
- _globals['_VIDEODETAILS']._loaded_options = None
65
- _globals['_VIDEODETAILS']._serialized_options = b'\210\265\030\001'
66
- _globals['_CMSFEATUREFLAGS']._loaded_options = None
67
- _globals['_CMSFEATUREFLAGS']._serialized_options = b'\210\265\030\001'
68
- _globals['_FONTDETAILS']._loaded_options = None
69
- _globals['_FONTDETAILS']._serialized_options = b'\210\265\030\001'
70
- _globals['_ASSETTYPE']._serialized_start=1841
71
- _globals['_ASSETTYPE']._serialized_end=1958
72
- _globals['_VIDEOTYPE']._serialized_start=1961
73
- _globals['_VIDEOTYPE']._serialized_end=2143
74
- _globals['_COSKETCHROOMSIZE']._serialized_start=2145
75
- _globals['_COSKETCHROOMSIZE']._serialized_end=2226
76
- _globals['_VIDEOCATEGORY']._serialized_start=2228
77
- _globals['_VIDEOCATEGORY']._serialized_end=2323
78
- _globals['_CMSCONTENT']._serialized_start=61
79
- _globals['_CMSCONTENT']._serialized_end=570
80
- _globals['_CMSCONTENT_COSKETCHROOMPOLICIESENTRY']._serialized_start=388
81
- _globals['_CMSCONTENT_COSKETCHROOMPOLICIESENTRY']._serialized_end=478
82
- _globals['_CMSCONTENT_PRICETIERPOLICIESENTRY']._serialized_start=480
83
- _globals['_CMSCONTENT_PRICETIERPOLICIESENTRY']._serialized_end=564
84
- _globals['_CMSASSET']._serialized_start=573
85
- _globals['_CMSASSET']._serialized_end=786
86
- _globals['_MARKETINGPOPUP']._serialized_start=788
87
- _globals['_MARKETINGPOPUP']._serialized_end=903
88
- _globals['_COSKETCHROOMCOST']._serialized_start=905
89
- _globals['_COSKETCHROOMCOST']._serialized_end=972
90
- _globals['_COSKETCHROOMPOLICY']._serialized_start=975
91
- _globals['_COSKETCHROOMPOLICY']._serialized_end=1139
92
- _globals['_PRICETIERPOLICY']._serialized_start=1141
93
- _globals['_PRICETIERPOLICY']._serialized_end=1200
94
- _globals['_MENUGALLERY']._serialized_start=1202
95
- _globals['_MENUGALLERY']._serialized_end=1282
96
- _globals['_NOTICEBOARDLANG']._serialized_start=1284
97
- _globals['_NOTICEBOARDLANG']._serialized_end=1410
98
- _globals['_NOTICEBOARD']._serialized_start=1412
99
- _globals['_NOTICEBOARD']._serialized_end=1475
100
- _globals['_OBJASSET']._serialized_start=1477
101
- _globals['_OBJASSET']._serialized_end=1557
102
- _globals['_GALLERYSKETCH']._serialized_start=1559
103
- _globals['_GALLERYSKETCH']._serialized_end=1615
104
- _globals['_VIDEODETAILS']._serialized_start=1617
105
- _globals['_VIDEODETAILS']._serialized_end=1709
106
- _globals['_CMSFEATUREFLAGS']._serialized_start=1711
107
- _globals['_CMSFEATUREFLAGS']._serialized_end=1787
108
- _globals['_FONTDETAILS']._serialized_start=1789
109
- _globals['_FONTDETAILS']._serialized_end=1839
110
- # @@protoc_insertion_point(module_scope)