cmdop 0.1.22__tar.gz → 0.1.23__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. {cmdop-0.1.22 → cmdop-0.1.23}/PKG-INFO +43 -4
  2. {cmdop-0.1.22 → cmdop-0.1.23}/README.md +42 -3
  3. {cmdop-0.1.22 → cmdop-0.1.23}/pyproject.toml +1 -1
  4. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/__init__.py +1 -1
  5. cmdop-0.1.23/src/cmdop/_generated/rpc_messages/browser_pb2.py +183 -0
  6. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/browser_pb2.pyi +270 -2
  7. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages_pb2.pyi +25 -0
  8. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/service_pb2.py +2 -2
  9. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/service_pb2_grpc.py +345 -0
  10. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/capabilities/__init__.py +2 -0
  11. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/capabilities/fetch.py +1 -2
  12. cmdop-0.1.23/src/cmdop/services/browser/capabilities/network.py +245 -0
  13. cmdop-0.1.23/src/cmdop/services/browser/models.py +220 -0
  14. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/service/sync.py +204 -4
  15. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/session.py +32 -4
  16. cmdop-0.1.22/src/cmdop/_generated/rpc_messages/browser_pb2.py +0 -133
  17. cmdop-0.1.22/src/cmdop/services/browser/models.py +0 -117
  18. {cmdop-0.1.22 → cmdop-0.1.23}/.gitignore +0 -0
  19. {cmdop-0.1.22 → cmdop-0.1.23}/LICENSE +0 -0
  20. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/__init__.py +0 -0
  21. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/agent_messages_pb2.py +0 -0
  22. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/agent_messages_pb2.pyi +0 -0
  23. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/agent_messages_pb2_grpc.py +0 -0
  24. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/common_types_pb2.py +0 -0
  25. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/common_types_pb2.pyi +0 -0
  26. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/common_types_pb2_grpc.py +0 -0
  27. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/control_messages_pb2.py +0 -0
  28. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/control_messages_pb2.pyi +0 -0
  29. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/control_messages_pb2_grpc.py +0 -0
  30. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/__init__.py +0 -0
  31. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/archive_pb2.py +0 -0
  32. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/archive_pb2.pyi +0 -0
  33. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/archive_pb2_grpc.py +0 -0
  34. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/changes_pb2.py +0 -0
  35. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/changes_pb2.pyi +0 -0
  36. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/changes_pb2_grpc.py +0 -0
  37. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/common_pb2.py +0 -0
  38. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/common_pb2.pyi +0 -0
  39. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/common_pb2_grpc.py +0 -0
  40. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/directory_pb2.py +0 -0
  41. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/directory_pb2.pyi +0 -0
  42. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/directory_pb2_grpc.py +0 -0
  43. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/file_crud_pb2.py +0 -0
  44. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/file_crud_pb2.pyi +0 -0
  45. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/file_crud_pb2_grpc.py +0 -0
  46. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/hls_pb2.py +0 -0
  47. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/hls_pb2.pyi +0 -0
  48. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/hls_pb2_grpc.py +0 -0
  49. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/requests_pb2.py +0 -0
  50. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/requests_pb2.pyi +0 -0
  51. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/requests_pb2_grpc.py +0 -0
  52. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/search_pb2.py +0 -0
  53. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/search_pb2.pyi +0 -0
  54. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/search_pb2_grpc.py +0 -0
  55. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/transfer_pb2.py +0 -0
  56. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/transfer_pb2.pyi +0 -0
  57. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations/transfer_pb2_grpc.py +0 -0
  58. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations_pb2.py +0 -0
  59. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations_pb2.pyi +0 -0
  60. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_operations_pb2_grpc.py +0 -0
  61. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc/__init__.py +0 -0
  62. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc/archive_pb2.py +0 -0
  63. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc/archive_pb2.pyi +0 -0
  64. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc/archive_pb2_grpc.py +0 -0
  65. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc/directory_pb2.py +0 -0
  66. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc/directory_pb2.pyi +0 -0
  67. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc/directory_pb2_grpc.py +0 -0
  68. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc/file_crud_pb2.py +0 -0
  69. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc/file_crud_pb2.pyi +0 -0
  70. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc/file_crud_pb2_grpc.py +0 -0
  71. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc/hls_pb2.py +0 -0
  72. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc/hls_pb2.pyi +0 -0
  73. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc/hls_pb2_grpc.py +0 -0
  74. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc/search_pb2.py +0 -0
  75. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc/search_pb2.pyi +0 -0
  76. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc/search_pb2_grpc.py +0 -0
  77. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc_pb2.py +0 -0
  78. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc_pb2.pyi +0 -0
  79. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/file_rpc_pb2_grpc.py +0 -0
  80. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/message_pool.py +0 -0
  81. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/py.typed +0 -0
  82. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/__init__.py +0 -0
  83. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/agent_pb2.py +0 -0
  84. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/agent_pb2.pyi +0 -0
  85. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/agent_pb2_grpc.py +0 -0
  86. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/browser_pb2_grpc.py +0 -0
  87. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/device_pb2.py +0 -0
  88. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/device_pb2.pyi +0 -0
  89. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/device_pb2_grpc.py +0 -0
  90. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/extract_pb2.py +0 -0
  91. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/extract_pb2.pyi +0 -0
  92. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/extract_pb2_grpc.py +0 -0
  93. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/health_pb2.py +0 -0
  94. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/health_pb2.pyi +0 -0
  95. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/health_pb2_grpc.py +0 -0
  96. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/history_pb2.py +0 -0
  97. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/history_pb2.pyi +0 -0
  98. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/history_pb2_grpc.py +0 -0
  99. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/lifecycle_pb2.py +0 -0
  100. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/lifecycle_pb2.pyi +0 -0
  101. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/lifecycle_pb2_grpc.py +0 -0
  102. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/push_pb2.py +0 -0
  103. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/push_pb2.pyi +0 -0
  104. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/push_pb2_grpc.py +0 -0
  105. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/session_pb2.py +0 -0
  106. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/session_pb2.pyi +0 -0
  107. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/session_pb2_grpc.py +0 -0
  108. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/terminal_pb2.py +0 -0
  109. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/terminal_pb2.pyi +0 -0
  110. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages/terminal_pb2_grpc.py +0 -0
  111. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages_pb2.py +0 -0
  112. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/rpc_messages_pb2_grpc.py +0 -0
  113. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/service_pb2.pyi +0 -0
  114. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/tunnel_pb2.py +0 -0
  115. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/tunnel_pb2.pyi +0 -0
  116. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/_generated/tunnel_pb2_grpc.py +0 -0
  117. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/__init__.py +0 -0
  118. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/__init__.py +0 -0
  119. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/machines/__init__.py +0 -0
  120. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/machines/client.py +0 -0
  121. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/machines/enums.py +0 -0
  122. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/machines/logger.py +0 -0
  123. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/machines/machines__api__machine_sharing/__init__.py +0 -0
  124. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/machines/machines__api__machine_sharing/client.py +0 -0
  125. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/machines/machines__api__machine_sharing/models.py +0 -0
  126. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/machines/machines__api__machine_sharing/sync_client.py +0 -0
  127. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/machines/machines__api__machines/__init__.py +0 -0
  128. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/machines/machines__api__machines/client.py +0 -0
  129. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/machines/machines__api__machines/models.py +0 -0
  130. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/machines/machines__api__machines/sync_client.py +0 -0
  131. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/machines/retry.py +0 -0
  132. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/machines/schema.json +0 -0
  133. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/machines/sync_client.py +0 -0
  134. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/system/__init__.py +0 -0
  135. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/system/client.py +0 -0
  136. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/system/enums.py +0 -0
  137. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/system/logger.py +0 -0
  138. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/system/retry.py +0 -0
  139. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/system/schema.json +0 -0
  140. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/system/sync_client.py +0 -0
  141. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/system/system__api__oauth/__init__.py +0 -0
  142. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/system/system__api__oauth/client.py +0 -0
  143. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/system/system__api__oauth/models.py +0 -0
  144. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/system/system__api__oauth/sync_client.py +0 -0
  145. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/system/system__api__system/__init__.py +0 -0
  146. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/system/system__api__system/client.py +0 -0
  147. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/system/system__api__system/models.py +0 -0
  148. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/system/system__api__system/sync_client.py +0 -0
  149. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/workspaces/__init__.py +0 -0
  150. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/workspaces/client.py +0 -0
  151. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/workspaces/enums.py +0 -0
  152. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/workspaces/logger.py +0 -0
  153. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/workspaces/retry.py +0 -0
  154. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/workspaces/schema.json +0 -0
  155. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/workspaces/sync_client.py +0 -0
  156. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/workspaces/workspaces__api__workspaces/__init__.py +0 -0
  157. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/workspaces/workspaces__api__workspaces/client.py +0 -0
  158. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/workspaces/workspaces__api__workspaces/models.py +0 -0
  159. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/api/generated/workspaces/workspaces__api__workspaces/sync_client.py +0 -0
  160. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/client.py +0 -0
  161. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/config.py +0 -0
  162. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/discovery.py +0 -0
  163. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/exceptions.py +0 -0
  164. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/helpers/__init__.py +0 -0
  165. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/helpers/cleaner.py +0 -0
  166. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/helpers/formatting.py +0 -0
  167. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/logging.py +0 -0
  168. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/models/__init__.py +0 -0
  169. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/models/agent.py +0 -0
  170. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/models/base.py +0 -0
  171. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/models/config.py +0 -0
  172. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/models/extract.py +0 -0
  173. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/models/files.py +0 -0
  174. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/models/terminal.py +0 -0
  175. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/py.typed +0 -0
  176. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/__init__.py +0 -0
  177. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/agent.py +0 -0
  178. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/base.py +0 -0
  179. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/__init__.py +0 -0
  180. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/capabilities/_base.py +0 -0
  181. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/capabilities/_helpers.py +0 -0
  182. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/capabilities/dom.py +0 -0
  183. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/capabilities/input.py +0 -0
  184. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/capabilities/scroll.py +0 -0
  185. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/capabilities/timing.py +0 -0
  186. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/js/__init__.py +0 -0
  187. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/js/core.py +0 -0
  188. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/js/fetch.py +0 -0
  189. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/js/interaction.py +0 -0
  190. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/js/scroll.py +0 -0
  191. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/parsing.py +0 -0
  192. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/service/__init__.py +0 -0
  193. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/service/_helpers.py +0 -0
  194. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/browser/service/aio.py +0 -0
  195. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/extract.py +0 -0
  196. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/files.py +0 -0
  197. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/services/terminal.py +0 -0
  198. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/streaming/__init__.py +0 -0
  199. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/streaming/base.py +0 -0
  200. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/streaming/handlers.py +0 -0
  201. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/streaming/terminal.py +0 -0
  202. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/transport/__init__.py +0 -0
  203. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/transport/auth.py +0 -0
  204. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/transport/base.py +0 -0
  205. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/transport/discovery.py +0 -0
  206. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/transport/local.py +0 -0
  207. {cmdop-0.1.22 → cmdop-0.1.23}/src/cmdop/transport/remote.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cmdop
3
- Version: 0.1.22
3
+ Version: 0.1.23
4
4
  Summary: Python SDK for CMDOP agent interaction
5
5
  Project-URL: Homepage, https://cmdop.com
6
6
  Project-URL: Documentation, https://cmdop.com
@@ -148,8 +148,10 @@ health: Health = result.output # Typed!
148
148
  Capability-based API for browser automation.
149
149
 
150
150
  ```python
151
+ from cmdop.services.browser.models import WaitUntil
152
+
151
153
  with client.browser.create_session() as s:
152
- s.navigate("https://shop.com/products")
154
+ s.navigate("https://shop.com/products", wait_until=WaitUntil.NETWORKIDLE)
153
155
  s.dom.close_modal() # Close popups
154
156
 
155
157
  # BeautifulSoup parsing
@@ -182,7 +184,7 @@ with client.browser.create_session() as s:
182
184
 
183
185
  | Method | Description |
184
186
  |--------|-------------|
185
- | `navigate(url)` | Go to URL |
187
+ | `navigate(url, wait_until)` | Go to URL (wait_until: LOAD, DOMCONTENTLOADED, NETWORKIDLE, COMMIT) |
186
188
  | `click(selector, move_cursor)` | Click element |
187
189
  | `type(selector, text)` | Type text |
188
190
  | `wait_for(selector)` | Wait for element |
@@ -238,7 +240,44 @@ with client.browser.create_session() as s:
238
240
  |--------|-------------|
239
241
  | `json(url)` | Fetch JSON |
240
242
  | `all(requests)` | Parallel fetch |
241
- | `execute(method, url, ...)` | Custom request |
243
+ | `execute(js_code)` | Custom JS fetch code |
244
+
245
+ **`session.network`** - Network capture (v2.19.0)
246
+ | Method | Description |
247
+ |--------|-------------|
248
+ | `enable(max_exchanges)` | Start capturing HTTP traffic |
249
+ | `disable()` | Stop capturing |
250
+ | `get_all()` | Get all captured exchanges |
251
+ | `filter(url_pattern, methods, status_codes)` | Filter exchanges |
252
+ | `last(url_pattern)` | Get most recent matching exchange |
253
+ | `api_calls(url_pattern)` | Get XHR/Fetch calls matching pattern |
254
+ | `last_json(url_pattern)` | Get JSON body from last matching response |
255
+ | `wait_for(url_pattern, timeout_ms)` | Wait for matching request |
256
+ | `stats()` | Capture statistics |
257
+ | `export_har()` | Export to HAR format |
258
+ | `clear()` | Clear captured data |
259
+
260
+ ```python
261
+ # Example: Intercept API responses
262
+ from cmdop.services.browser.models import WaitUntil
263
+
264
+ with client.browser.create_session() as s:
265
+ s.network.enable()
266
+ s.navigate("https://app.example.com", wait_until=WaitUntil.NETWORKIDLE)
267
+
268
+ # Get last API response
269
+ api = s.network.last("/api/data")
270
+ data = api.json_body()
271
+
272
+ # Filter by criteria
273
+ posts = s.network.filter(
274
+ url_pattern="/api/posts",
275
+ methods=["GET"],
276
+ status_codes=[200],
277
+ )
278
+
279
+ s.network.disable()
280
+ ```
242
281
 
243
282
  ## SDKBaseModel
244
283
 
@@ -107,8 +107,10 @@ health: Health = result.output # Typed!
107
107
  Capability-based API for browser automation.
108
108
 
109
109
  ```python
110
+ from cmdop.services.browser.models import WaitUntil
111
+
110
112
  with client.browser.create_session() as s:
111
- s.navigate("https://shop.com/products")
113
+ s.navigate("https://shop.com/products", wait_until=WaitUntil.NETWORKIDLE)
112
114
  s.dom.close_modal() # Close popups
113
115
 
114
116
  # BeautifulSoup parsing
@@ -141,7 +143,7 @@ with client.browser.create_session() as s:
141
143
 
142
144
  | Method | Description |
143
145
  |--------|-------------|
144
- | `navigate(url)` | Go to URL |
146
+ | `navigate(url, wait_until)` | Go to URL (wait_until: LOAD, DOMCONTENTLOADED, NETWORKIDLE, COMMIT) |
145
147
  | `click(selector, move_cursor)` | Click element |
146
148
  | `type(selector, text)` | Type text |
147
149
  | `wait_for(selector)` | Wait for element |
@@ -197,7 +199,44 @@ with client.browser.create_session() as s:
197
199
  |--------|-------------|
198
200
  | `json(url)` | Fetch JSON |
199
201
  | `all(requests)` | Parallel fetch |
200
- | `execute(method, url, ...)` | Custom request |
202
+ | `execute(js_code)` | Custom JS fetch code |
203
+
204
+ **`session.network`** - Network capture (v2.19.0)
205
+ | Method | Description |
206
+ |--------|-------------|
207
+ | `enable(max_exchanges)` | Start capturing HTTP traffic |
208
+ | `disable()` | Stop capturing |
209
+ | `get_all()` | Get all captured exchanges |
210
+ | `filter(url_pattern, methods, status_codes)` | Filter exchanges |
211
+ | `last(url_pattern)` | Get most recent matching exchange |
212
+ | `api_calls(url_pattern)` | Get XHR/Fetch calls matching pattern |
213
+ | `last_json(url_pattern)` | Get JSON body from last matching response |
214
+ | `wait_for(url_pattern, timeout_ms)` | Wait for matching request |
215
+ | `stats()` | Capture statistics |
216
+ | `export_har()` | Export to HAR format |
217
+ | `clear()` | Clear captured data |
218
+
219
+ ```python
220
+ # Example: Intercept API responses
221
+ from cmdop.services.browser.models import WaitUntil
222
+
223
+ with client.browser.create_session() as s:
224
+ s.network.enable()
225
+ s.navigate("https://app.example.com", wait_until=WaitUntil.NETWORKIDLE)
226
+
227
+ # Get last API response
228
+ api = s.network.last("/api/data")
229
+ data = api.json_body()
230
+
231
+ # Filter by criteria
232
+ posts = s.network.filter(
233
+ url_pattern="/api/posts",
234
+ methods=["GET"],
235
+ status_codes=[200],
236
+ )
237
+
238
+ s.network.disable()
239
+ ```
201
240
 
202
241
  ## SDKBaseModel
203
242
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cmdop"
3
- version = "0.1.22"
3
+ version = "0.1.23"
4
4
  description = "Python SDK for CMDOP agent interaction"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -124,7 +124,7 @@ from cmdop.logging import (
124
124
  get_log_dir,
125
125
  )
126
126
 
127
- __version__ = "0.1.22"
127
+ __version__ = "0.1.23"
128
128
 
129
129
  __all__ = [
130
130
  # Version
@@ -0,0 +1,183 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: rpc_messages/browser.proto
5
+ # Protobuf Python Version: 6.31.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
+ 31,
16
+ 1,
17
+ '',
18
+ 'rpc_messages/browser.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1arpc_messages/browser.proto\x12\x08terminal\"\x9b\x01\n\x1b\x42rowserCreateSessionRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x10\n\x08provider\x18\x02 \x01(\t\x12\x12\n\nprofile_id\x18\x03 \x01(\t\x12\x11\n\tstart_url\x18\x04 \x01(\t\x12\x10\n\x08headless\x18\x05 \x01(\x08\x12\r\n\x05width\x18\x06 \x01(\x05\x12\x0e\n\x06height\x18\x07 \x01(\x05\"Z\n\x1c\x42rowserCreateSessionResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"L\n\x1a\x42rowserCloseSessionRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\"=\n\x1b\x42rowserCloseSessionResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x92\x01\n\x16\x42rowserNavigateRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x12\n\ntimeout_ms\x18\x04 \x01(\x05\x12\'\n\nwait_until\x18\x05 \x01(\x0e\x32\x13.terminal.WaitUntil\"L\n\x17\x42rowserNavigateResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x11\n\tfinal_url\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"\x80\x01\n\x13\x42rowserClickRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x10\n\x08selector\x18\x03 \x01(\t\x12\x12\n\ntimeout_ms\x18\x04 \x01(\x05\x12\x13\n\x0bmove_cursor\x18\x05 \x01(\x08\"6\n\x14\x42rowserClickResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x8d\x01\n\x12\x42rowserTypeRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x10\n\x08selector\x18\x03 \x01(\t\x12\x0c\n\x04text\x18\x04 \x01(\t\x12\x12\n\nhuman_like\x18\x05 \x01(\x08\x12\x13\n\x0b\x63lear_first\x18\x06 \x01(\x08\"5\n\x13\x42rowserTypeResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"j\n\x12\x42rowserWaitRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x10\n\x08selector\x18\x03 \x01(\t\x12\x12\n\ntimeout_ms\x18\x04 \x01(\x05\"D\n\x13\x42rowserWaitResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\r\n\x05\x66ound\x18\x02 \x01(\x08\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"{\n\x15\x42rowserExtractRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x10\n\x08selector\x18\x03 \x01(\t\x12\x11\n\tattribute\x18\x04 \x01(\t\x12\r\n\x05limit\x18\x05 \x01(\x05\"W\n\x16\x42rowserExtractResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0e\n\x06values\x18\x02 \x03(\t\x12\r\n\x05\x63ount\x18\x03 \x01(\x05\x12\r\n\x05\x65rror\x18\x04 \x01(\t\"\x7f\n\x1a\x42rowserExtractRegexRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x0f\n\x07pattern\x18\x03 \x01(\t\x12\x11\n\tfrom_html\x18\x04 \x01(\x08\x12\r\n\x05limit\x18\x05 \x01(\x05\"]\n\x1b\x42rowserExtractRegexResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0f\n\x07matches\x18\x02 \x03(\t\x12\r\n\x05\x63ount\x18\x03 \x01(\x05\x12\r\n\x05\x65rror\x18\x04 \x01(\t\"Y\n\x15\x42rowserGetHTMLRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x10\n\x08selector\x18\x03 \x01(\t\"F\n\x16\x42rowserGetHTMLResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0c\n\x04html\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"Y\n\x15\x42rowserGetTextRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x10\n\x08selector\x18\x03 \x01(\t\"F\n\x16\x42rowserGetTextResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"]\n\x1b\x42rowserExecuteScriptRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x0e\n\x06script\x18\x03 \x01(\t\"N\n\x1c\x42rowserExecuteScriptResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0e\n\x06result\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"~\n\x18\x42rowserScreenshotRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x11\n\tfull_page\x18\x03 \x01(\x08\x12\x0e\n\x06\x66ormat\x18\x04 \x01(\t\x12\x0f\n\x07quality\x18\x05 \x01(\x05\"I\n\x19\x42rowserScreenshotResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"H\n\x16\x42rowserGetStateRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\"U\n\x17\x42rowserGetStateResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12\r\n\x05\x65rror\x18\x04 \x01(\t\"K\n\x19\x42rowserGetPageInfoRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\"\xbb\x03\n\x1a\x42rowserGetPageInfoResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\r\n\x05title\x18\x04 \x01(\t\x12\x13\n\x0bpage_height\x18\x05 \x01(\x05\x12\x17\n\x0fviewport_height\x18\x06 \x01(\x05\x12\x16\n\x0eviewport_width\x18\x07 \x01(\x05\x12\x10\n\x08scroll_x\x18\x08 \x01(\x05\x12\x10\n\x08scroll_y\x18\t \x01(\x05\x12\x0e\n\x06\x61t_top\x18\n \x01(\x08\x12\x11\n\tat_bottom\x18\x0b \x01(\x08\x12\x14\n\x0cload_time_ms\x18\x0c \x01(\x05\x12\x15\n\rcookies_count\x18\r \x01(\x05\x12\x10\n\x08is_https\x18\x0e \x01(\x08\x12\x13\n\x0bhas_iframes\x18\x0f \x01(\x08\x12\x15\n\rdom_nodes_raw\x18\x10 \x01(\x05\x12\x19\n\x11\x64om_nodes_cleaned\x18\x11 \x01(\x05\x12\x17\n\x0ftokens_estimate\x18\x12 \x01(\x05\x12\x1b\n\x13\x63loudflare_detected\x18\x13 \x01(\x08\x12\x18\n\x10\x63\x61ptcha_detected\x18\x14 \x01(\x08\"\x91\x01\n\rBrowserCookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12\x0e\n\x06\x64omain\x18\x03 \x01(\t\x12\x0c\n\x04path\x18\x04 \x01(\t\x12\x0e\n\x06secure\x18\x05 \x01(\x08\x12\x11\n\thttp_only\x18\x06 \x01(\x08\x12\x11\n\tsame_site\x18\x07 \x01(\t\x12\x0f\n\x07\x65xpires\x18\x08 \x01(\x03\"t\n\x18\x42rowserSetCookiesRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12(\n\x07\x63ookies\x18\x03 \x03(\x0b\x32\x17.terminal.BrowserCookie\";\n\x19\x42rowserSetCookiesResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"Z\n\x18\x42rowserGetCookiesRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x0e\n\x06\x64omain\x18\x03 \x01(\t\"e\n\x19\x42rowserGetCookiesResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12(\n\x07\x63ookies\x18\x02 \x03(\x0b\x32\x17.terminal.BrowserCookie\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"n\n\x17\x42rowserMouseMoveRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\t\n\x01x\x18\x03 \x01(\x05\x12\t\n\x01y\x18\x04 \x01(\x05\x12\r\n\x05steps\x18\x05 \x01(\x05\":\n\x18\x42rowserMouseMoveResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"k\n\x13\x42rowserHoverRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x10\n\x08selector\x18\x03 \x01(\t\x12\x12\n\ntimeout_ms\x18\x04 \x01(\x05\"6\n\x14\x42rowserHoverResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x9e\x01\n\x14\x42rowserScrollRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x11\n\tdirection\x18\x03 \x01(\t\x12\x0e\n\x06\x61mount\x18\x04 \x01(\x05\x12\x10\n\x08selector\x18\x05 \x01(\t\x12\x11\n\tcontainer\x18\x06 \x01(\t\x12\x0e\n\x06smooth\x18\x07 \x01(\x08\"\xb1\x01\n\x15\x42rowserScrollResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x10\n\x08scroll_x\x18\x02 \x01(\x05\x12\x10\n\x08scroll_y\x18\x03 \x01(\x05\x12\x13\n\x0bscrolled_by\x18\x04 \x01(\x05\x12\x13\n\x0bpage_height\x18\x05 \x01(\x05\x12\x17\n\x0fviewport_height\x18\x06 \x01(\x05\x12\x11\n\tat_bottom\x18\x07 \x01(\x08\x12\r\n\x05\x65rror\x18\x08 \x01(\t\"\xd5\x01\n\x1f\x42rowserValidateSelectorsRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x0c\n\x04item\x18\x03 \x01(\t\x12\x45\n\x06\x66ields\x18\x04 \x03(\x0b\x32\x35.terminal.BrowserValidateSelectorsRequest.FieldsEntry\x1a-\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xd2\x02\n BrowserValidateSelectorsResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\r\n\x05valid\x18\x02 \x01(\x08\x12\x46\n\x06\x63ounts\x18\x03 \x03(\x0b\x32\x36.terminal.BrowserValidateSelectorsResponse.CountsEntry\x12H\n\x07samples\x18\x04 \x03(\x0b\x32\x37.terminal.BrowserValidateSelectorsResponse.SamplesEntry\x12\x0e\n\x06\x65rrors\x18\x05 \x03(\t\x12\r\n\x05\x65rror\x18\x06 \x01(\t\x1a-\n\x0b\x43ountsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1a.\n\x0cSamplesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"}\n\x19\x42rowserExtractDataRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x0c\n\x04item\x18\x03 \x01(\t\x12\x13\n\x0b\x66ields_json\x18\x04 \x01(\t\x12\r\n\x05limit\x18\x05 \x01(\x05\"_\n\x1a\x42rowserExtractDataResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x12\n\nitems_json\x18\x02 \x01(\t\x12\r\n\x05\x63ount\x18\x03 \x01(\x05\x12\r\n\x05\x65rror\x18\x04 \x01(\t\"\x7f\n\x1b\x42rowserNetworkEnableRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x15\n\rmax_exchanges\x18\x03 \x01(\x05\x12\x19\n\x11max_response_size\x18\x04 \x01(\x03\">\n\x1c\x42rowserNetworkEnableResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"N\n\x1c\x42rowserNetworkDisableRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\"?\n\x1d\x42rowserNetworkDisableResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\xb6\x01\n!BrowserNetworkGetExchangesRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x13\n\x0burl_pattern\x18\x03 \x01(\t\x12\x0f\n\x07methods\x18\x04 \x03(\t\x12\x14\n\x0cstatus_codes\x18\x05 \x03(\x05\x12\x16\n\x0eresource_types\x18\x06 \x03(\t\x12\r\n\x05limit\x18\x07 \x01(\x05\"\x81\x01\n\"BrowserNetworkGetExchangesResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12,\n\texchanges\x18\x02 \x03(\x0b\x32\x19.terminal.NetworkExchange\x12\r\n\x05\x63ount\x18\x03 \x01(\x05\x12\r\n\x05\x65rror\x18\x04 \x01(\t\"g\n BrowserNetworkGetExchangeRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x13\n\x0b\x65xchange_id\x18\x03 \x01(\t\"p\n!BrowserNetworkGetExchangeResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12+\n\x08\x65xchange\x18\x02 \x01(\x0b\x32\x19.terminal.NetworkExchange\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"c\n\x1c\x42rowserNetworkGetLastRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x13\n\x0burl_pattern\x18\x03 \x01(\t\"l\n\x1d\x42rowserNetworkGetLastResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12+\n\x08\x65xchange\x18\x02 \x01(\x0b\x32\x19.terminal.NetworkExchange\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"L\n\x1a\x42rowserNetworkClearRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\"=\n\x1b\x42rowserNetworkClearResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"L\n\x1a\x42rowserNetworkStatsRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\"\xae\x01\n\x1b\x42rowserNetworkStatsResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\x12\x16\n\x0etotal_captured\x18\x03 \x01(\x05\x12\x14\n\x0ctotal_errors\x18\x04 \x01(\x05\x12\x13\n\x0btotal_bytes\x18\x05 \x01(\x03\x12\x1b\n\x13\x61verage_duration_ms\x18\x06 \x01(\x05\x12\r\n\x05\x65rror\x18\x07 \x01(\t\"\xa4\x01\n\x1e\x42rowserNetworkExportHARRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62rowser_session_id\x18\x02 \x01(\t\x12\x13\n\x0burl_pattern\x18\x03 \x01(\t\x12\x0f\n\x07methods\x18\x04 \x03(\t\x12\x14\n\x0cstatus_codes\x18\x05 \x03(\x05\x12\x16\n\x0eresource_types\x18\x06 \x03(\t\"S\n\x1f\x42rowserNetworkExportHARResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x10\n\x08har_data\x18\x02 \x01(\x0c\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"\xd0\x01\n\x0eNetworkRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x0e\n\x06method\x18\x02 \x01(\t\x12\x36\n\x07headers\x18\x03 \x03(\x0b\x32%.terminal.NetworkRequest.HeadersEntry\x12\x0c\n\x04\x62ody\x18\x04 \x01(\x0c\x12\x14\n\x0c\x63ontent_type\x18\x05 \x01(\t\x12\x15\n\rresource_type\x18\x06 \x01(\t\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe5\x01\n\x0fNetworkResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x13\n\x0bstatus_text\x18\x02 \x01(\t\x12\x37\n\x07headers\x18\x03 \x03(\x0b\x32&.terminal.NetworkResponse.HeadersEntry\x12\x0c\n\x04\x62ody\x18\x04 \x01(\x0c\x12\x14\n\x0c\x63ontent_type\x18\x05 \x01(\t\x12\x0c\n\x04size\x18\x06 \x01(\x03\x12\x12\n\nfrom_cache\x18\x07 \x01(\x08\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x7f\n\rNetworkTiming\x12\x15\n\rstarted_at_ms\x18\x01 \x01(\x03\x12\x13\n\x0b\x65nded_at_ms\x18\x02 \x01(\x03\x12\x13\n\x0b\x64uration_ms\x18\x03 \x01(\x05\x12\x14\n\x0cwait_time_ms\x18\x04 \x01(\x05\x12\x17\n\x0freceive_time_ms\x18\x05 \x01(\x05\"\xd2\x01\n\x0fNetworkExchange\x12\n\n\x02id\x18\x01 \x01(\t\x12)\n\x07request\x18\x02 \x01(\x0b\x32\x18.terminal.NetworkRequest\x12+\n\x08response\x18\x03 \x01(\x0b\x32\x19.terminal.NetworkResponse\x12\'\n\x06timing\x18\x04 \x01(\x0b\x32\x17.terminal.NetworkTiming\x12\r\n\x05\x65rror\x18\x05 \x01(\t\x12\x10\n\x08\x66rame_id\x18\x06 \x01(\t\x12\x11\n\tinitiator\x18\x07 \x01(\t*\\\n\tWaitUntil\x12\r\n\tWAIT_LOAD\x10\x00\x12\x19\n\x15WAIT_DOMCONTENTLOADED\x10\x01\x12\x14\n\x10WAIT_NETWORKIDLE\x10\x02\x12\x0f\n\x0bWAIT_COMMIT\x10\x03\x42\x10Z\x0eterminal/protob\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'rpc_messages.browser_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ _globals['DESCRIPTOR']._loaded_options = None
34
+ _globals['DESCRIPTOR']._serialized_options = b'Z\016terminal/proto'
35
+ _globals['_BROWSERVALIDATESELECTORSREQUEST_FIELDSENTRY']._loaded_options = None
36
+ _globals['_BROWSERVALIDATESELECTORSREQUEST_FIELDSENTRY']._serialized_options = b'8\001'
37
+ _globals['_BROWSERVALIDATESELECTORSRESPONSE_COUNTSENTRY']._loaded_options = None
38
+ _globals['_BROWSERVALIDATESELECTORSRESPONSE_COUNTSENTRY']._serialized_options = b'8\001'
39
+ _globals['_BROWSERVALIDATESELECTORSRESPONSE_SAMPLESENTRY']._loaded_options = None
40
+ _globals['_BROWSERVALIDATESELECTORSRESPONSE_SAMPLESENTRY']._serialized_options = b'8\001'
41
+ _globals['_NETWORKREQUEST_HEADERSENTRY']._loaded_options = None
42
+ _globals['_NETWORKREQUEST_HEADERSENTRY']._serialized_options = b'8\001'
43
+ _globals['_NETWORKRESPONSE_HEADERSENTRY']._loaded_options = None
44
+ _globals['_NETWORKRESPONSE_HEADERSENTRY']._serialized_options = b'8\001'
45
+ _globals['_WAITUNTIL']._serialized_start=7547
46
+ _globals['_WAITUNTIL']._serialized_end=7639
47
+ _globals['_BROWSERCREATESESSIONREQUEST']._serialized_start=41
48
+ _globals['_BROWSERCREATESESSIONREQUEST']._serialized_end=196
49
+ _globals['_BROWSERCREATESESSIONRESPONSE']._serialized_start=198
50
+ _globals['_BROWSERCREATESESSIONRESPONSE']._serialized_end=288
51
+ _globals['_BROWSERCLOSESESSIONREQUEST']._serialized_start=290
52
+ _globals['_BROWSERCLOSESESSIONREQUEST']._serialized_end=366
53
+ _globals['_BROWSERCLOSESESSIONRESPONSE']._serialized_start=368
54
+ _globals['_BROWSERCLOSESESSIONRESPONSE']._serialized_end=429
55
+ _globals['_BROWSERNAVIGATEREQUEST']._serialized_start=432
56
+ _globals['_BROWSERNAVIGATEREQUEST']._serialized_end=578
57
+ _globals['_BROWSERNAVIGATERESPONSE']._serialized_start=580
58
+ _globals['_BROWSERNAVIGATERESPONSE']._serialized_end=656
59
+ _globals['_BROWSERCLICKREQUEST']._serialized_start=659
60
+ _globals['_BROWSERCLICKREQUEST']._serialized_end=787
61
+ _globals['_BROWSERCLICKRESPONSE']._serialized_start=789
62
+ _globals['_BROWSERCLICKRESPONSE']._serialized_end=843
63
+ _globals['_BROWSERTYPEREQUEST']._serialized_start=846
64
+ _globals['_BROWSERTYPEREQUEST']._serialized_end=987
65
+ _globals['_BROWSERTYPERESPONSE']._serialized_start=989
66
+ _globals['_BROWSERTYPERESPONSE']._serialized_end=1042
67
+ _globals['_BROWSERWAITREQUEST']._serialized_start=1044
68
+ _globals['_BROWSERWAITREQUEST']._serialized_end=1150
69
+ _globals['_BROWSERWAITRESPONSE']._serialized_start=1152
70
+ _globals['_BROWSERWAITRESPONSE']._serialized_end=1220
71
+ _globals['_BROWSEREXTRACTREQUEST']._serialized_start=1222
72
+ _globals['_BROWSEREXTRACTREQUEST']._serialized_end=1345
73
+ _globals['_BROWSEREXTRACTRESPONSE']._serialized_start=1347
74
+ _globals['_BROWSEREXTRACTRESPONSE']._serialized_end=1434
75
+ _globals['_BROWSEREXTRACTREGEXREQUEST']._serialized_start=1436
76
+ _globals['_BROWSEREXTRACTREGEXREQUEST']._serialized_end=1563
77
+ _globals['_BROWSEREXTRACTREGEXRESPONSE']._serialized_start=1565
78
+ _globals['_BROWSEREXTRACTREGEXRESPONSE']._serialized_end=1658
79
+ _globals['_BROWSERGETHTMLREQUEST']._serialized_start=1660
80
+ _globals['_BROWSERGETHTMLREQUEST']._serialized_end=1749
81
+ _globals['_BROWSERGETHTMLRESPONSE']._serialized_start=1751
82
+ _globals['_BROWSERGETHTMLRESPONSE']._serialized_end=1821
83
+ _globals['_BROWSERGETTEXTREQUEST']._serialized_start=1823
84
+ _globals['_BROWSERGETTEXTREQUEST']._serialized_end=1912
85
+ _globals['_BROWSERGETTEXTRESPONSE']._serialized_start=1914
86
+ _globals['_BROWSERGETTEXTRESPONSE']._serialized_end=1984
87
+ _globals['_BROWSEREXECUTESCRIPTREQUEST']._serialized_start=1986
88
+ _globals['_BROWSEREXECUTESCRIPTREQUEST']._serialized_end=2079
89
+ _globals['_BROWSEREXECUTESCRIPTRESPONSE']._serialized_start=2081
90
+ _globals['_BROWSEREXECUTESCRIPTRESPONSE']._serialized_end=2159
91
+ _globals['_BROWSERSCREENSHOTREQUEST']._serialized_start=2161
92
+ _globals['_BROWSERSCREENSHOTREQUEST']._serialized_end=2287
93
+ _globals['_BROWSERSCREENSHOTRESPONSE']._serialized_start=2289
94
+ _globals['_BROWSERSCREENSHOTRESPONSE']._serialized_end=2362
95
+ _globals['_BROWSERGETSTATEREQUEST']._serialized_start=2364
96
+ _globals['_BROWSERGETSTATEREQUEST']._serialized_end=2436
97
+ _globals['_BROWSERGETSTATERESPONSE']._serialized_start=2438
98
+ _globals['_BROWSERGETSTATERESPONSE']._serialized_end=2523
99
+ _globals['_BROWSERGETPAGEINFOREQUEST']._serialized_start=2525
100
+ _globals['_BROWSERGETPAGEINFOREQUEST']._serialized_end=2600
101
+ _globals['_BROWSERGETPAGEINFORESPONSE']._serialized_start=2603
102
+ _globals['_BROWSERGETPAGEINFORESPONSE']._serialized_end=3046
103
+ _globals['_BROWSERCOOKIE']._serialized_start=3049
104
+ _globals['_BROWSERCOOKIE']._serialized_end=3194
105
+ _globals['_BROWSERSETCOOKIESREQUEST']._serialized_start=3196
106
+ _globals['_BROWSERSETCOOKIESREQUEST']._serialized_end=3312
107
+ _globals['_BROWSERSETCOOKIESRESPONSE']._serialized_start=3314
108
+ _globals['_BROWSERSETCOOKIESRESPONSE']._serialized_end=3373
109
+ _globals['_BROWSERGETCOOKIESREQUEST']._serialized_start=3375
110
+ _globals['_BROWSERGETCOOKIESREQUEST']._serialized_end=3465
111
+ _globals['_BROWSERGETCOOKIESRESPONSE']._serialized_start=3467
112
+ _globals['_BROWSERGETCOOKIESRESPONSE']._serialized_end=3568
113
+ _globals['_BROWSERMOUSEMOVEREQUEST']._serialized_start=3570
114
+ _globals['_BROWSERMOUSEMOVEREQUEST']._serialized_end=3680
115
+ _globals['_BROWSERMOUSEMOVERESPONSE']._serialized_start=3682
116
+ _globals['_BROWSERMOUSEMOVERESPONSE']._serialized_end=3740
117
+ _globals['_BROWSERHOVERREQUEST']._serialized_start=3742
118
+ _globals['_BROWSERHOVERREQUEST']._serialized_end=3849
119
+ _globals['_BROWSERHOVERRESPONSE']._serialized_start=3851
120
+ _globals['_BROWSERHOVERRESPONSE']._serialized_end=3905
121
+ _globals['_BROWSERSCROLLREQUEST']._serialized_start=3908
122
+ _globals['_BROWSERSCROLLREQUEST']._serialized_end=4066
123
+ _globals['_BROWSERSCROLLRESPONSE']._serialized_start=4069
124
+ _globals['_BROWSERSCROLLRESPONSE']._serialized_end=4246
125
+ _globals['_BROWSERVALIDATESELECTORSREQUEST']._serialized_start=4249
126
+ _globals['_BROWSERVALIDATESELECTORSREQUEST']._serialized_end=4462
127
+ _globals['_BROWSERVALIDATESELECTORSREQUEST_FIELDSENTRY']._serialized_start=4417
128
+ _globals['_BROWSERVALIDATESELECTORSREQUEST_FIELDSENTRY']._serialized_end=4462
129
+ _globals['_BROWSERVALIDATESELECTORSRESPONSE']._serialized_start=4465
130
+ _globals['_BROWSERVALIDATESELECTORSRESPONSE']._serialized_end=4803
131
+ _globals['_BROWSERVALIDATESELECTORSRESPONSE_COUNTSENTRY']._serialized_start=4710
132
+ _globals['_BROWSERVALIDATESELECTORSRESPONSE_COUNTSENTRY']._serialized_end=4755
133
+ _globals['_BROWSERVALIDATESELECTORSRESPONSE_SAMPLESENTRY']._serialized_start=4757
134
+ _globals['_BROWSERVALIDATESELECTORSRESPONSE_SAMPLESENTRY']._serialized_end=4803
135
+ _globals['_BROWSEREXTRACTDATAREQUEST']._serialized_start=4805
136
+ _globals['_BROWSEREXTRACTDATAREQUEST']._serialized_end=4930
137
+ _globals['_BROWSEREXTRACTDATARESPONSE']._serialized_start=4932
138
+ _globals['_BROWSEREXTRACTDATARESPONSE']._serialized_end=5027
139
+ _globals['_BROWSERNETWORKENABLEREQUEST']._serialized_start=5029
140
+ _globals['_BROWSERNETWORKENABLEREQUEST']._serialized_end=5156
141
+ _globals['_BROWSERNETWORKENABLERESPONSE']._serialized_start=5158
142
+ _globals['_BROWSERNETWORKENABLERESPONSE']._serialized_end=5220
143
+ _globals['_BROWSERNETWORKDISABLEREQUEST']._serialized_start=5222
144
+ _globals['_BROWSERNETWORKDISABLEREQUEST']._serialized_end=5300
145
+ _globals['_BROWSERNETWORKDISABLERESPONSE']._serialized_start=5302
146
+ _globals['_BROWSERNETWORKDISABLERESPONSE']._serialized_end=5365
147
+ _globals['_BROWSERNETWORKGETEXCHANGESREQUEST']._serialized_start=5368
148
+ _globals['_BROWSERNETWORKGETEXCHANGESREQUEST']._serialized_end=5550
149
+ _globals['_BROWSERNETWORKGETEXCHANGESRESPONSE']._serialized_start=5553
150
+ _globals['_BROWSERNETWORKGETEXCHANGESRESPONSE']._serialized_end=5682
151
+ _globals['_BROWSERNETWORKGETEXCHANGEREQUEST']._serialized_start=5684
152
+ _globals['_BROWSERNETWORKGETEXCHANGEREQUEST']._serialized_end=5787
153
+ _globals['_BROWSERNETWORKGETEXCHANGERESPONSE']._serialized_start=5789
154
+ _globals['_BROWSERNETWORKGETEXCHANGERESPONSE']._serialized_end=5901
155
+ _globals['_BROWSERNETWORKGETLASTREQUEST']._serialized_start=5903
156
+ _globals['_BROWSERNETWORKGETLASTREQUEST']._serialized_end=6002
157
+ _globals['_BROWSERNETWORKGETLASTRESPONSE']._serialized_start=6004
158
+ _globals['_BROWSERNETWORKGETLASTRESPONSE']._serialized_end=6112
159
+ _globals['_BROWSERNETWORKCLEARREQUEST']._serialized_start=6114
160
+ _globals['_BROWSERNETWORKCLEARREQUEST']._serialized_end=6190
161
+ _globals['_BROWSERNETWORKCLEARRESPONSE']._serialized_start=6192
162
+ _globals['_BROWSERNETWORKCLEARRESPONSE']._serialized_end=6253
163
+ _globals['_BROWSERNETWORKSTATSREQUEST']._serialized_start=6255
164
+ _globals['_BROWSERNETWORKSTATSREQUEST']._serialized_end=6331
165
+ _globals['_BROWSERNETWORKSTATSRESPONSE']._serialized_start=6334
166
+ _globals['_BROWSERNETWORKSTATSRESPONSE']._serialized_end=6508
167
+ _globals['_BROWSERNETWORKEXPORTHARREQUEST']._serialized_start=6511
168
+ _globals['_BROWSERNETWORKEXPORTHARREQUEST']._serialized_end=6675
169
+ _globals['_BROWSERNETWORKEXPORTHARRESPONSE']._serialized_start=6677
170
+ _globals['_BROWSERNETWORKEXPORTHARRESPONSE']._serialized_end=6760
171
+ _globals['_NETWORKREQUEST']._serialized_start=6763
172
+ _globals['_NETWORKREQUEST']._serialized_end=6971
173
+ _globals['_NETWORKREQUEST_HEADERSENTRY']._serialized_start=6925
174
+ _globals['_NETWORKREQUEST_HEADERSENTRY']._serialized_end=6971
175
+ _globals['_NETWORKRESPONSE']._serialized_start=6974
176
+ _globals['_NETWORKRESPONSE']._serialized_end=7203
177
+ _globals['_NETWORKRESPONSE_HEADERSENTRY']._serialized_start=6925
178
+ _globals['_NETWORKRESPONSE_HEADERSENTRY']._serialized_end=6971
179
+ _globals['_NETWORKTIMING']._serialized_start=7205
180
+ _globals['_NETWORKTIMING']._serialized_end=7332
181
+ _globals['_NETWORKEXCHANGE']._serialized_start=7335
182
+ _globals['_NETWORKEXCHANGE']._serialized_end=7545
183
+ # @@protoc_insertion_point(module_scope)