# Most things have moved to base's `templates.py` now. This exists # as an alias module to ease transition. import dataclasses import importlib import logging from typing import * # noqa import hippolyzer.lib.base.templates try: # Most of our templates come from here, so we need to # reload this to pull in fresh templates with `import *` importlib.reload(hippolyzer.lib.base.templates) # type: ignore except: logging.exception("Failed to reload base templates lib") from hippolyzer.lib.base.templates import * @dataclasses.dataclass class CAPTemplate: cap_name: str method: str body: Any query: Set[str] = dataclasses.field(default_factory=set) path: str = "" # Cap request templates for message builder prefills CAP_TEMPLATES: List[CAPTemplate] = [ CAPTemplate(cap_name='Seed', method='POST', body=b'\n\n\n \n \n\n', query=set()), CAPTemplate(cap_name='SimulatorFeatures', method='GET', body=b'', query=set()), CAPTemplate(cap_name='EventQueueGet', method='POST', body=b'\n\n\n ack\n \n done\n \n \n\n', query=set()), CAPTemplate(cap_name='NavMeshGenerationStatus', method='GET', body=b'', query=set()), CAPTemplate(cap_name='AgentState', method='GET', body=b'', query=set()), CAPTemplate(cap_name='AgentPreferences', method='POST', body=b'\n\n\n default_object_perm_masks\n \n Everyone\n \n Group\n \n NextOwner\n \n \n \n\n', query=set()), CAPTemplate(cap_name='ExtEnvironment', method='GET', body=b'', query={'parcelid'}), CAPTemplate(cap_name='UpdateAgentLanguage', method='POST', body=b'\n\n\n language\n en\n language_is_public\n 1\n \n\n', query=set()), CAPTemplate(cap_name='DirectDelivery', method='GET', body=b'', query=set(), path="/listings"), CAPTemplate(cap_name='ViewerStats', method='POST', body=b'\n\n\n AgentPositionSnaps\n \n DisplayNamesEnabled\n \n DisplayNamesShowUsername\n \n MinimalSkin\n \n agent\n \n agents_in_view\n \n fps\n \n language\n \n mem_use\n \n meters_traveled\n \n ping\n \n regions_visited\n \n run_time\n \n sim_fps\n \n start_time\n \n version\n \n \n downloads\n \n mesh_kbytes\n \n object_kbytes\n \n texture_kbytes\n \n world_kbytes\n \n \n misc\n \n Version\n \n Vertex Buffers Enabled\n \n \n session_id\n \n stats\n \n failures\n \n dropped\n \n failed_resends\n \n invalid\n \n missing_updater\n \n off_circuit\n \n resent\n \n send_packet\n \n \n misc\n \n int_1\n \n int_2\n \n string_1\n \n string_2\n \n \n net\n \n in\n \n compressed_packets\n \n kbytes\n \n packets\n \n savings\n \n \n out\n \n compressed_packets\n \n kbytes\n \n packets\n \n savings\n \n \n \n voice\n \n connect_attempts\n \n connect_cycles\n \n connect_time\n \n establish_attempts\n \n establish_time\n \n provision_attempts\n \n provision_time\n \n \n \n system\n \n address_size\n \n cpu\n \n gl\n \n ati_offset_vertical_lines\n \n ati_old_driver\n \n debug_gpu\n \n gl_renderer\n \n gpu_vendor\n \n gpu_version\n \n has_anisotropic\n \n has_arb_env_combine\n \n has_ati_mem_info\n \n has_blend_func_separate\n \n has_compressed_textures\n \n has_cube_map\n \n has_debug_output\n \n has_depth_clamp\n \n has_draw_buffers\n \n has_flush_buffer_range\n \n has_fragment_shader\n \n has_framebuffer_object\n \n has_map_buffer_range\n \n has_mip_map_generation\n \n has_multitexture\n \n has_nvx_mem_info\n \n has_occlusion_query\n \n has_occlusion_query2\n \n has_pbuffer\n \n has_point_parameters\n \n has_requirements\n \n has_separate_specular_color\n \n has_shader_objects\n \n has_srgb_framebuffer\n \n has_srgb_texture\n \n has_sync\n \n has_texture_multisample\n \n has_texture_rectangle\n \n has_texture_srgb_decode\n \n has_timer_query\n \n has_transform_feedback\n \n has_vertex_array_object\n \n has_vertex_buffer_object\n \n has_vertex_shader\n \n is_ati\n \n is_gf2or4mx\n \n is_gf3\n \n is_gf_gfx\n \n is_intel\n \n is_nvidia\n \n max_color_texture_samples\n \n max_depth_texture_samples\n \n max_index_range\n \n max_integer_samples\n \n max_sample_mask_words\n \n max_samples\n \n max_texture_size\n \n max_vertex_range\n \n num_texture_image_units\n \n num_texture_units\n \n opengl_version\n \n vram\n \n \n gpu\n \n gpu_class\n \n gpu_vendor\n \n gpu_version\n \n mac_address\n \n opengl_version\n \n os\n \n ram\n \n serial_number\n \n shader_level\n \n \n \n\n', query=set()), CAPTemplate(cap_name='GetDisplayNames', method='GET', body=b'', query={'ids'}), CAPTemplate(cap_name='FetchInventory2', method='POST', body=b'\n\n\n agent_id\n \n cap_name\n \n items\n \n \n item_id\n \n owner_id\n \n \n \n \n\n', query=set()), CAPTemplate(cap_name='FetchLib2', method='POST', body=b'\n\n\n agent_id\n \n cap_name\n \n items\n \n \n item_id\n \n owner_id\n \n \n \n \n\n', query=set()), CAPTemplate(cap_name='FetchInventoryDescendents2', method='POST', body=b'\n\n\n folders\n \n \n fetch_folders\n \n fetch_items\n \n folder_id\n \n owner_id\n \n sort_order\n \n \n \n \n\n', query=set()), CAPTemplate(cap_name='ProvisionVoiceAccountRequest', method='POST', body=b'\n\n\n\n', query=set()), CAPTemplate(cap_name='AvatarRenderInfo', method='GET', body=b'', query=set()), CAPTemplate(cap_name='ReadOfflineMsgs', method='GET', body=b'', query=set()), CAPTemplate(cap_name='MapImageService', method='GET', body=b'', query=set()), CAPTemplate(cap_name='RenderMaterials', method='GET', body=b'', query=set()), CAPTemplate(cap_name='AvatarRenderInfo', method='POST', body=b'\n\n\n agents\n \n \n \n tooComplex\n \n weight\n \n \n \n \n\n', query=set()), CAPTemplate(cap_name='ParcelVoiceInfoRequest', method='POST', body=b'\n\n\n\n', query=set()), CAPTemplate(cap_name='ProductInfoRequest', method='GET', body=b'', query=set()), CAPTemplate(cap_name='ObjectMedia', method='POST', body=b'\n\n\n object_id\n \n verb\n GET\n \n\n', query=set()), CAPTemplate(cap_name='GetObjectCost', method='POST', body=b'\n\n\n object_ids\n \n \n \n \n\n', query=set()), CAPTemplate(cap_name='GetObjectPhysicsData', method='POST', body=b'\n\n\n object_ids\n \n \n \n \n\n', query=set()), CAPTemplate(cap_name='RenderMaterials', method='PUT', body=b'\n\n\n Zipped\n \n \n\n', query=set()), CAPTemplate(cap_name='RenderMaterials', method='POST', body=b'\n\n\n Zipped\n \n \n\n', query=set()), CAPTemplate(cap_name='GetExperienceInfo', method='GET', body=b'', query={'public_id', 'page_size'}, path="/id/"), CAPTemplate(cap_name='LSLSyntax', method='GET', body=b'', query=set()), CAPTemplate(cap_name='GetCreatorExperiences', method='GET', body=b'', query=set()), CAPTemplate(cap_name='GetMetadata', method='POST', body=b'\n\n\n fields\n \n experience\n \n item-id\n \n object-id\n \n \n\n', query=set()), CAPTemplate(cap_name='UpdateScriptTask', method='POST', body=b'\n\n\n experience\n \n is_script_running\n 1\n item_id\n \n target\n mono\n task_id\n \n \n\n', query=set()), CAPTemplate(cap_name='EstateAccess', method='GET', body=b'', query=set()), CAPTemplate(cap_name='RegionExperiences', method='GET', body=b'', query=set()), CAPTemplate(cap_name='SimConsoleAsync', method='POST', body=b'\n\n\n\n', query=set()), CAPTemplate(cap_name='FindExperienceByName', method='GET', body=b'', query={'query', 'page', 'page_size'}), CAPTemplate(cap_name='ViewerMetrics', method='POST', body=b'\n\n\n agent_id\n \n break\n \n duration\n \n initial\n \n message\n \n nearby\n \n cloud\n \n downloading\n \n full\n \n gray\n \n \n rez_status\n \n sequence\n \n session_id\n \n timers\n \n \n central_bake_version\n \n completed\n \n grid_x\n \n grid_y\n \n is_self\n \n is_using_server_bakes\n \n stats\n \n count\n \n max\n \n mean\n \n min\n \n std_dev\n \n \n timer_name\n \n \n \n central_bake_version\n \n completed\n \n grid_x\n \n grid_y\n \n is_self\n \n is_using_server_bakes\n \n stats\n \n count\n \n max\n \n mean\n \n min\n \n std_dev\n \n \n timer_name\n \n \n \n central_bake_version\n \n completed\n \n grid_x\n \n grid_y\n \n is_self\n \n is_using_server_bakes\n \n stats\n \n count\n \n max\n \n mean\n \n min\n \n std_dev\n \n \n timer_name\n \n \n \n central_bake_version\n \n completed\n \n grid_x\n \n grid_y\n \n is_self\n \n is_using_server_bakes\n \n stats\n \n count\n \n max\n \n mean\n \n min\n \n std_dev\n \n \n timer_name\n \n \n \n central_bake_version\n \n completed\n \n grid_x\n \n grid_y\n \n is_self\n \n is_using_server_bakes\n \n stats\n \n count\n \n max\n \n mean\n \n min\n \n std_dev\n \n \n timer_name\n \n \n \n central_bake_version\n \n completed\n \n grid_x\n \n grid_y\n \n is_self\n \n is_using_server_bakes\n \n stats\n \n count\n \n max\n \n mean\n \n min\n \n std_dev\n \n \n timer_name\n \n \n \n central_bake_version\n \n completed\n \n grid_x\n \n grid_y\n \n is_self\n \n is_using_server_bakes\n \n stats\n \n count\n \n max\n \n mean\n \n min\n \n std_dev\n \n \n timer_name\n \n \n \n central_bake_version\n \n completed\n \n grid_x\n \n grid_y\n \n is_self\n \n is_using_server_bakes\n \n stats\n \n count\n \n max\n \n mean\n \n min\n \n std_dev\n \n \n timer_name\n \n \n \n central_bake_version\n \n completed\n \n grid_x\n \n grid_y\n \n is_self\n \n is_using_server_bakes\n \n stats\n \n count\n \n max\n \n mean\n \n min\n \n std_dev\n \n \n timer_name\n \n \n \n central_bake_version\n \n completed\n \n grid_x\n \n grid_y\n \n is_self\n \n is_using_server_bakes\n \n stats\n \n count\n \n max\n \n mean\n \n min\n \n std_dev\n \n \n timer_name\n \n \n \n central_bake_version\n \n completed\n \n grid_x\n \n grid_y\n \n is_self\n \n is_using_server_bakes\n \n stats\n \n count\n \n max\n \n mean\n \n min\n \n std_dev\n \n \n timer_name\n \n \n \n central_bake_version\n \n completed\n \n grid_x\n \n grid_y\n \n is_self\n \n is_using_server_bakes\n \n stats\n \n count\n \n max\n \n mean\n \n min\n \n std_dev\n \n \n timer_name\n \n \n \n central_bake_version\n \n completed\n \n grid_x\n \n grid_y\n \n is_self\n \n is_using_server_bakes\n \n stats\n \n count\n \n max\n \n mean\n \n min\n \n std_dev\n \n \n timer_name\n \n \n \n \n\n', query=set()), CAPTemplate(cap_name='InventoryAPIv3', method='PATCH', body=b'\n\n\n name\n \n \n\n', query={'tid'}, path="/item/SOME_ID"), CAPTemplate(cap_name='RemoteParcelRequest', method='POST', body=b'\n\n\n location\n \n \n \n \n \n region_handle\n \n region_id\n \n \n\n', query=set()), CAPTemplate(cap_name='ParcelPropertiesUpdate', method='POST', body=b'\n\n \n local_id\n \n any_av_sounds\n true\n auth_buyer_id\n \n auto_scale\n 0\n category\n 0\n description\n \n flags\n AAAAAQ==\n group_av_sounds\n true\n group_id\n \n landing_type\n 2\n media_allow_navigate\n 1\n media_current_url\n \n media_desc\n \n media_height\n 0\n media_id\n \n media_loop\n 0\n media_prevent_camera_zoom\n 0\n media_type\n none/none\n media_url\n \n media_url_timeout\n 0.0\n media_width\n 0\n music_url\n \n name\n \n obscure_media\n false\n obscure_music\n false\n parcel_flags\n fiQASw==\n pass_hours\n 1.0\n pass_price\n 10\n sale_price\n 10000\n see_avs\n true\n snapshot_id\n \n user_location\n \n 0.0\n 0.0\n 0.0\n \n user_look_at\n \n 0.0\n 0.0\n 0.0\n \n \n\n', query=set()), CAPTemplate(cap_name='UpdateScriptAgent', method='POST', body=b'\n\n\n item_id\n \n target\n mono\n \n\n', query=set()), CAPTemplate(cap_name='NewFileAgentInventory', method='POST', body=b'\n\n\n asset_type\n \n description\n \n everyone_mask\n \n folder_id\n \n group_mask\n \n inventory_type\n \n name\n \n next_owner_mask\n \n \n\n', query=set()), CAPTemplate(cap_name='UpdateNotecardAgentInventory', method='POST', body=b'\n\n\n item_id\n \n \n\n', query=set()), CAPTemplate(cap_name='UpdateNotecardTaskInventory', method='POST', body=b'\n\n\n item_id\n \n task_id\n \n \n\n', query=set()), CAPTemplate(cap_name='UpdateGestureAgentInventory', method='POST', body=b'\n\n\n item_id\n \n \n\n', query=set()), CAPTemplate(cap_name='UpdateGestureTaskInventory', method='POST', body=b'\n\n\n item_id\n \n task_id\n \n \n\n', query=set()), CAPTemplate(cap_name='MeshUploadFlag', method='GET', body=b'', query=set()), CAPTemplate(cap_name='UntrustedSimulatorMessage', method='POST', body=b'\n\n\n message\n ChatFromViewer\n body\n \n AgentData\n \n \n AgentID\n \n SessionID\n \n \n \n ChatData\n \n \n Channel\n 0\n Message\n test \n Type\n 1\n \n \n \n \n\n', query=set()), CAPTemplate(cap_name='UpdateAvatarAppearance', method='POST', body=b'\n\n\n cof_version\n \n \n\n', query=set()), CAPTemplate(cap_name='ServerReleaseNotes', method='GET', body=b'', query=set()), CAPTemplate(cap_name='UserInfo', method='GET', body=b'', query=set()), CAPTemplate(cap_name='SendPostcard', method='POST', body=b'\n\n\n msg\n \n name\n \n pos-global\n \n \n \n \n \n subject\n \n to\n \n \n\n', query=set()), CAPTemplate(cap_name='GetAdminExperiences', method='GET', body=b'', query=set()), CAPTemplate(cap_name='GetExperiences', method='GET', body=b'', query=set()), CAPTemplate(cap_name='AgentExperiences', method='GET', body=b'', query=set()), CAPTemplate(cap_name='ExperiencePreferences', method='GET', body=b'', query={'SOME_ID'}), CAPTemplate(cap_name='IsExperienceAdmin', method='GET', body=b'', query={'experience_id'}), CAPTemplate(cap_name='UpdateExperience', method='POST', body=b'\n\n\n description\n \n extended_metadata\n \n group_id\n \n slurl\n \n \n\n', query=set()), CAPTemplate(cap_name='AttachmentResources', method='GET', body=b'', query=set()), CAPTemplate(cap_name='DispatchRegionInfo', method='POST', body=b'\n\n\n agent_limit\n \n allow_damage\n \n allow_land_resell\n \n allow_parcel_changes\n \n block_fly\n \n block_fly_over\n \n block_parcel_search\n \n block_terraform\n \n prim_bonus\n \n restrict_pushobject\n \n sim_access\n \n \n\n', query=set()), CAPTemplate(cap_name='AvatarPickerSearch', method='GET', body=b'', query={'names', 'page_size'}), CAPTemplate(cap_name='LandResources', method='POST', body=b'\n\n\n parcel_id\n \n \n\n', query=set()), CAPTemplate(cap_name='ResourceCostSelected', method='POST', body=b'\n\n\n selected_roots\n \n \n \n \n\n', query=set()), CAPTemplate(cap_name='GroupMemberData', method='POST', body=b'\n\n\n group_id\n \n \n\n', query=set()), CAPTemplate(cap_name='GroupExperiences', method='GET', body=b'', query={'SOME_ID'}), CAPTemplate(cap_name='CopyInventoryFromNotecard', method='POST', body=b'\n\n\n callback-id\n \n folder-id\n \n item-id\n \n notecard-id\n \n object-id\n \n \n\n', query=set()), CAPTemplate(cap_name='HomeLocation', method='POST', body=b'\n\n\n HomeLocation\n \n LocationId\n 1\n LocationLookAt\n \n X\n \n Y\n \n Z\n \n \n LocationPos\n \n X\n \n Y\n \n Z\n \n \n \n \n\n', query=set()), CAPTemplate(cap_name='CharacterProperties', method='GET', body=b'', query=set()), CAPTemplate(cap_name='ObjectNavMeshProperties', method='GET', body=b'', query=set()), CAPTemplate(cap_name='TerrainNavMeshProperties', method='GET', body=b'', query=set()), CAPTemplate(cap_name='ObjectNavMeshProperties', method='PUT', body=b'\n\n\n \n \n A\n \n B\n \n C\n \n D\n \n navmesh_category\n \n phantom\n \n \n \n\n', query=set()), CAPTemplate(cap_name='RetrieveNavMeshSrc', method='POST', body=b'\n\n\n\n', query=set()), CAPTemplate(cap_name='MapLayer', method='POST', body=b'\n\n\n\n', query=set()), CAPTemplate(cap_name='GroupAPIv1', method='GET', body=b'', query={'group_id'}), CAPTemplate(cap_name='ChatSessionRequest', method='POST', body=b'\n\n\n method\n \n session-id\n \n \n\n', query=set()), CAPTemplate(cap_name='ViewerBenefits', method='GET', body=b'', query=set(), path=''), CAPTemplate(cap_name='SetDisplayName', method='POST', body=b'\n\n\n display_name\n \n OLD_DISPLAY_NAME\n NEW_DISPLAY_NAME\n \n \n\n', query=set(), path=''), CAPTemplate(cap_name='ObjectMediaNavigate', method='POST', body=b'\n\n\n current_url\n \n object_id\n \n texture_index\n \n \n\n', query=set(), path=''), CAPTemplate(cap_name='AgentProfile', method='GET', body=b'', query=set(), path='/'), CAPTemplate(cap_name='InterestList', method='POST', body=b'\n\n\n mode\n 360\n \n', query=set(), path='/'), CAPTemplate(cap_name='RegionObjects', method='GET', body=b'', query=set(), path=''), ]