runloop_api_client 1.3.2__tar.gz → 1.5.0__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 (393) hide show
  1. runloop_api_client-1.5.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/CHANGELOG.md +24 -0
  3. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/PKG-INFO +1 -1
  4. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/api.md +23 -0
  5. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/pyproject.toml +1 -1
  6. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_base_client.py +5 -2
  7. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_client.py +38 -0
  8. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_compat.py +3 -3
  9. runloop_api_client-1.5.0/src/runloop_api_client/_utils/_json.py +35 -0
  10. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_version.py +1 -1
  11. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/pagination.py +75 -0
  12. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/__init__.py +14 -0
  13. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/devboxes/devboxes.py +204 -24
  14. runloop_api_client-1.5.0/src/runloop_api_client/resources/gateway_configs.py +658 -0
  15. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/async_devbox.py +13 -8
  16. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/devbox.py +13 -8
  17. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/__init__.py +7 -0
  18. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_create_params.py +40 -2
  19. runloop_api_client-1.5.0/src/runloop_api_client/types/devbox_enable_tunnel_params.py +13 -0
  20. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_view.py +22 -1
  21. runloop_api_client-1.5.0/src/runloop_api_client/types/gateway_config_create_params.py +41 -0
  22. runloop_api_client-1.5.0/src/runloop_api_client/types/gateway_config_list_params.py +21 -0
  23. runloop_api_client-1.5.0/src/runloop_api_client/types/gateway_config_list_view.py +21 -0
  24. runloop_api_client-1.5.0/src/runloop_api_client/types/gateway_config_update_params.py +32 -0
  25. runloop_api_client-1.5.0/src/runloop_api_client/types/gateway_config_view.py +47 -0
  26. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/shared/launch_parameters.py +3 -12
  27. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +3 -12
  28. runloop_api_client-1.5.0/src/runloop_api_client/types/tunnel_view.py +34 -0
  29. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/test_devboxes.py +211 -84
  30. runloop_api_client-1.5.0/tests/api_resources/test_gateway_configs.py +453 -0
  31. runloop_api_client-1.5.0/tests/test_utils/test_json.py +126 -0
  32. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/uv.lock +1 -1
  33. runloop_api_client-1.3.2/.release-please-manifest.json +0 -3
  34. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/.gitignore +0 -0
  35. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/CONTRIBUTING.md +0 -0
  36. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/LICENSE +0 -0
  37. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/README-SDK.md +0 -0
  38. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/README.md +0 -0
  39. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/SECURITY.md +0 -0
  40. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/bin/check-release-environment +0 -0
  41. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/bin/publish-pypi +0 -0
  42. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/examples/.keep +0 -0
  43. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/release-please-config.json +0 -0
  44. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/requirements-dev.lock +0 -0
  45. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop/lib/.keep +0 -0
  46. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/__init__.py +0 -0
  47. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_constants.py +0 -0
  48. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_exceptions.py +0 -0
  49. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_files.py +0 -0
  50. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_models.py +0 -0
  51. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_qs.py +0 -0
  52. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_resource.py +0 -0
  53. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_response.py +0 -0
  54. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_streaming.py +0 -0
  55. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_types.py +0 -0
  56. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  57. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_utils/_compat.py +0 -0
  58. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
  59. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  60. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  61. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  62. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  63. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  64. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  65. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  66. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  67. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  68. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/_utils/_validation.py +0 -0
  69. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/lib/.keep +0 -0
  70. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/lib/__init__.py +0 -0
  71. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/lib/_ignore.py +0 -0
  72. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/lib/context_loader.py +0 -0
  73. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/lib/polling.py +0 -0
  74. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  75. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/py.typed +0 -0
  76. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/agents.py +0 -0
  77. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/benchmark_jobs.py +0 -0
  78. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/benchmark_runs.py +0 -0
  79. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/benchmarks.py +0 -0
  80. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/blueprints.py +0 -0
  81. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  82. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
  83. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
  84. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
  85. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  86. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  87. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/network_policies.py +0 -0
  88. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/objects.py +0 -0
  89. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/repositories.py +0 -0
  90. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  91. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
  92. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/scenarios/scenarios.py +0 -0
  93. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
  94. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/resources/secrets.py +0 -0
  95. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/__init__.py +0 -0
  96. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/_helpers.py +0 -0
  97. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/_types.py +0 -0
  98. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/agent.py +0 -0
  99. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/async_.py +0 -0
  100. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/async_agent.py +0 -0
  101. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/async_benchmark.py +0 -0
  102. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/async_benchmark_run.py +0 -0
  103. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/async_blueprint.py +0 -0
  104. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/async_execution.py +0 -0
  105. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/async_execution_result.py +0 -0
  106. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/async_network_policy.py +0 -0
  107. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/async_scenario.py +0 -0
  108. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/async_scenario_builder.py +0 -0
  109. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/async_scenario_run.py +0 -0
  110. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/async_scorer.py +0 -0
  111. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/async_snapshot.py +0 -0
  112. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/async_storage_object.py +0 -0
  113. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/benchmark.py +0 -0
  114. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/benchmark_run.py +0 -0
  115. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/blueprint.py +0 -0
  116. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/execution.py +0 -0
  117. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/execution_result.py +0 -0
  118. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/network_policy.py +0 -0
  119. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/scenario.py +0 -0
  120. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/scenario_builder.py +0 -0
  121. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/scenario_run.py +0 -0
  122. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/scorer.py +0 -0
  123. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/snapshot.py +0 -0
  124. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/storage_object.py +0 -0
  125. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/sdk/sync.py +0 -0
  126. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/agent_create_params.py +0 -0
  127. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/agent_list_params.py +0 -0
  128. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/agent_list_view.py +0 -0
  129. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/agent_view.py +0 -0
  130. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  131. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
  132. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/benchmark_job_create_params.py +0 -0
  133. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/benchmark_job_list_params.py +0 -0
  134. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/benchmark_job_list_view.py +0 -0
  135. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/benchmark_job_view.py +0 -0
  136. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  137. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
  138. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/benchmark_run_list_params.py +0 -0
  139. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/benchmark_run_list_scenario_runs_params.py +0 -0
  140. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  141. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  142. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  143. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
  144. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/benchmark_update_scenarios_params.py +0 -0
  145. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
  146. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  147. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  148. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  149. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/blueprint_create_from_inspection_params.py +0 -0
  150. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  151. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  152. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
  153. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  154. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  155. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  156. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  157. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  158. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  159. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
  160. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  161. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  162. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_execute_params.py +0 -0
  163. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  164. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  165. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  166. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  167. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  168. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  169. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  170. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
  171. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_send_std_in_result.py +0 -0
  172. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
  173. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  174. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  175. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  176. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  177. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  178. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  179. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
  180. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  181. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  182. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
  183. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
  184. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
  185. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
  186. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
  187. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
  188. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
  189. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
  190. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
  191. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
  192. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  193. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
  194. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
  195. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  196. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  197. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  198. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
  199. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  200. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/execution_send_std_in_params.py +0 -0
  201. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
  202. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
  203. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
  204. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  205. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/input_context.py +0 -0
  206. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  207. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
  208. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/inspection_source_param.py +0 -0
  209. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/network_policy_create_params.py +0 -0
  210. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/network_policy_list_params.py +0 -0
  211. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/network_policy_list_view.py +0 -0
  212. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/network_policy_update_params.py +0 -0
  213. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/network_policy_view.py +0 -0
  214. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/object_create_params.py +0 -0
  215. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/object_download_params.py +0 -0
  216. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
  217. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/object_list_params.py +0 -0
  218. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
  219. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/object_list_view.py +0 -0
  220. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/object_view.py +0 -0
  221. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
  222. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
  223. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
  224. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/repository_inspect_params.py +0 -0
  225. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
  226. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
  227. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
  228. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/repository_manifest_view.py +0 -0
  229. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
  230. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  231. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
  232. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  233. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  234. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
  235. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
  236. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  237. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  238. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  239. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
  240. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenario_view.py +0 -0
  241. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  242. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  243. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  244. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
  245. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
  246. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
  247. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
  248. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  249. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
  250. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
  251. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
  252. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  253. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  254. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  255. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
  256. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scoring_function.py +0 -0
  257. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  258. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  259. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
  260. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
  261. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
  262. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
  263. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/secret_view.py +0 -0
  264. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  265. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  266. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/shared/agent_mount.py +0 -0
  267. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/shared/agent_source.py +0 -0
  268. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  269. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/shared/mount.py +0 -0
  270. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/shared/object_mount.py +0 -0
  271. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/shared/run_profile.py +0 -0
  272. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  273. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  274. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/shared_params/agent_mount.py +0 -0
  275. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/shared_params/agent_source.py +0 -0
  276. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  277. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/shared_params/mount.py +0 -0
  278. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/shared_params/object_mount.py +0 -0
  279. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/src/runloop_api_client/types/shared_params/run_profile.py +0 -0
  280. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/__init__.py +0 -0
  281. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/__init__.py +0 -0
  282. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/devboxes/__init__.py +0 -0
  283. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
  284. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/devboxes/test_computers.py +0 -0
  285. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  286. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  287. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  288. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/scenarios/__init__.py +0 -0
  289. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/scenarios/test_runs.py +0 -0
  290. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
  291. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/test_agents.py +0 -0
  292. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/test_benchmark_jobs.py +0 -0
  293. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/test_benchmark_runs.py +0 -0
  294. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/test_benchmarks.py +0 -0
  295. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/test_blueprints.py +0 -0
  296. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/test_network_policies.py +0 -0
  297. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/test_objects.py +0 -0
  298. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/test_repositories.py +0 -0
  299. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/test_scenarios.py +0 -0
  300. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/api_resources/test_secrets.py +0 -0
  301. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/conftest.py +0 -0
  302. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sample_file.txt +0 -0
  303. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/__init__.py +0 -0
  304. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/async_devbox/__init__.py +0 -0
  305. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/async_devbox/conftest.py +0 -0
  306. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/async_devbox/test_core.py +0 -0
  307. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/async_devbox/test_edge_cases.py +0 -0
  308. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/async_devbox/test_interfaces.py +0 -0
  309. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/async_devbox/test_streaming.py +0 -0
  310. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/conftest.py +0 -0
  311. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/devbox/__init__.py +0 -0
  312. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/devbox/conftest.py +0 -0
  313. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/devbox/test_core.py +0 -0
  314. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/devbox/test_edge_cases.py +0 -0
  315. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/devbox/test_interfaces.py +0 -0
  316. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/devbox/test_streaming.py +0 -0
  317. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_agent.py +0 -0
  318. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_async_agent.py +0 -0
  319. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_async_benchmark.py +0 -0
  320. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_async_benchmark_run.py +0 -0
  321. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_async_blueprint.py +0 -0
  322. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_async_execution.py +0 -0
  323. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_async_execution_result.py +0 -0
  324. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_async_network_policy.py +0 -0
  325. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_async_ops.py +0 -0
  326. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_async_scenario.py +0 -0
  327. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_async_scenario_builder.py +0 -0
  328. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_async_scenario_run.py +0 -0
  329. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_async_scorer.py +0 -0
  330. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_async_snapshot.py +0 -0
  331. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_async_storage_object.py +0 -0
  332. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_benchmark.py +0 -0
  333. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_benchmark_run.py +0 -0
  334. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_blueprint.py +0 -0
  335. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_execution.py +0 -0
  336. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_execution_result.py +0 -0
  337. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_helpers.py +0 -0
  338. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_network_policy.py +0 -0
  339. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_ops.py +0 -0
  340. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_scenario.py +0 -0
  341. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_scenario_builder.py +0 -0
  342. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_scenario_run.py +0 -0
  343. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_scorer.py +0 -0
  344. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_snapshot.py +0 -0
  345. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/sdk/test_storage_object.py +0 -0
  346. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/README.md +0 -0
  347. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/__init__.py +0 -0
  348. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/conftest.py +0 -0
  349. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/README.md +0 -0
  350. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/__init__.py +0 -0
  351. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/conftest.py +0 -0
  352. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_agent.py +0 -0
  353. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_async_agent.py +0 -0
  354. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_async_benchmark.py +0 -0
  355. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_async_blueprint.py +0 -0
  356. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_async_devbox.py +0 -0
  357. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_async_network_policy.py +0 -0
  358. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_async_scenario.py +0 -0
  359. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_async_scorer.py +0 -0
  360. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_async_sdk.py +0 -0
  361. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_async_snapshot.py +0 -0
  362. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_async_storage_object.py +0 -0
  363. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_benchmark.py +0 -0
  364. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_blueprint.py +0 -0
  365. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_devbox.py +0 -0
  366. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_network_policy.py +0 -0
  367. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_scenario.py +0 -0
  368. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_scorer.py +0 -0
  369. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_sdk.py +0 -0
  370. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_snapshot.py +0 -0
  371. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/sdk/test_storage_object.py +0 -0
  372. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/test_blueprints.py +0 -0
  373. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/test_devboxes.py +0 -0
  374. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/test_executions.py +0 -0
  375. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
  376. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/test_snapshots.py +0 -0
  377. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/smoketests/utils.py +0 -0
  378. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/test_client.py +0 -0
  379. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/test_deepcopy.py +0 -0
  380. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/test_extract_files.py +0 -0
  381. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/test_files.py +0 -0
  382. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/test_models.py +0 -0
  383. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/test_polling.py +0 -0
  384. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/test_qs.py +0 -0
  385. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/test_required_args.py +0 -0
  386. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/test_response.py +0 -0
  387. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/test_streaming.py +0 -0
  388. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/test_transform.py +0 -0
  389. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/test_utils/test_context_loader.py +0 -0
  390. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/test_utils/test_datetime_parse.py +0 -0
  391. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/test_utils/test_proxy.py +0 -0
  392. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/test_utils/test_typing.py +0 -0
  393. {runloop_api_client-1.3.2 → runloop_api_client-1.5.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.5.0"
3
+ }
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.5.0 (2026-01-30)
4
+
5
+ Full Changelog: [v1.4.0...v1.5.0](https://github.com/runloopai/api-client-python/compare/v1.4.0...v1.5.0)
6
+
7
+ ### Features
8
+
9
+ * **devbox:** add enable_tunnel API ([#7236](https://github.com/runloopai/api-client-python/issues/7236)) ([bb58bfc](https://github.com/runloopai/api-client-python/commit/bb58bfc40c93c5832634ddb82c255ada7214c7f4))
10
+
11
+ ## 1.4.0 (2026-01-30)
12
+
13
+ Full Changelog: [v1.3.2...v1.4.0](https://github.com/runloopai/api-client-python/compare/v1.3.2...v1.4.0)
14
+
15
+ ### Features
16
+
17
+ * **client:** add custom JSON encoder for extended type support ([840addd](https://github.com/runloopai/api-client-python/commit/840addd8884fd93ede0c9bbc2a16cf399d6372d0))
18
+ * **devbox:** add gateway routes ([#7212](https://github.com/runloopai/api-client-python/issues/7212)) ([2527bb7](https://github.com/runloopai/api-client-python/commit/2527bb7714f9ce9114964286bfbb35582ceaa976))
19
+ * **devbox:** add new tunnel APIs and deprecate old tunnel API ([#7227](https://github.com/runloopai/api-client-python/issues/7227)) ([71620a1](https://github.com/runloopai/api-client-python/commit/71620a114080506898864b6d73378d4ff30b1070))
20
+
21
+
22
+ ### Chores
23
+
24
+ * **devbox:** deprecate remove tunnel API ([#7230](https://github.com/runloopai/api-client-python/issues/7230)) ([d48832d](https://github.com/runloopai/api-client-python/commit/d48832d0aa076bd621decae3f5dadca7141c29d3))
25
+ * **documentation:** made warning message language more accurate ([#7215](https://github.com/runloopai/api-client-python/issues/7215)) ([08e0586](https://github.com/runloopai/api-client-python/commit/08e058660cf02e67701899e3b46173c5e9011b7d))
26
+
3
27
  ## 1.3.2 (2026-01-30)
4
28
 
5
29
  Full Changelog: [v1.3.1...v1.3.2](https://github.com/runloopai/api-client-python/compare/v1.3.1...v1.3.2)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 1.3.2
3
+ Version: 1.5.0
4
4
  Summary: The official Python library for the runloop API
5
5
  Project-URL: Homepage, https://github.com/runloopai/api-client-python
6
6
  Project-URL: Repository, https://github.com/runloopai/api-client-python
@@ -132,6 +132,7 @@ from runloop_api_client.types import (
132
132
  DevboxSnapshotView,
133
133
  DevboxTunnelView,
134
134
  DevboxView,
135
+ TunnelView,
135
136
  DevboxCreateSSHKeyResponse,
136
137
  DevboxReadFileContentsResponse,
137
138
  )
@@ -148,6 +149,7 @@ Methods:
148
149
  - <code title="post /v1/devboxes/{id}/create_tunnel">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">create_tunnel</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_create_tunnel_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_tunnel_view.py">DevboxTunnelView</a></code>
149
150
  - <code title="post /v1/devboxes/disk_snapshots/{id}/delete">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">delete_disk_snapshot</a>(id) -> object</code>
150
151
  - <code title="post /v1/devboxes/{id}/download_file">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">download_file</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_download_file_params.py">params</a>) -> BinaryAPIResponse</code>
152
+ - <code title="post /v1/devboxes/{id}/enable_tunnel">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">enable_tunnel</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_enable_tunnel_params.py">params</a>) -> <a href="./src/runloop_api_client/types/tunnel_view.py">TunnelView</a></code>
151
153
  - <code title="post /v1/devboxes/{id}/execute">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">execute</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_execute_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_async_execution_detail_view.py">DevboxAsyncExecutionDetailView</a></code>
152
154
  - <code title="post /v1/devboxes/{id}/execute_async">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">execute_async</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_execute_async_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_async_execution_detail_view.py">DevboxAsyncExecutionDetailView</a></code>
153
155
  - <code title="post /v1/devboxes/{id}/execute_sync">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">execute_sync</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_execute_sync_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_execution_detail_view.py">DevboxExecutionDetailView</a></code>
@@ -397,3 +399,24 @@ Methods:
397
399
  - <code title="post /v1/network-policies/{id}">client.network_policies.<a href="./src/runloop_api_client/resources/network_policies.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/network_policy_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/network_policy_view.py">NetworkPolicyView</a></code>
398
400
  - <code title="get /v1/network-policies">client.network_policies.<a href="./src/runloop_api_client/resources/network_policies.py">list</a>(\*\*<a href="src/runloop_api_client/types/network_policy_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/network_policy_view.py">SyncNetworkPoliciesCursorIDPage[NetworkPolicyView]</a></code>
399
401
  - <code title="post /v1/network-policies/{id}/delete">client.network_policies.<a href="./src/runloop_api_client/resources/network_policies.py">delete</a>(id) -> <a href="./src/runloop_api_client/types/network_policy_view.py">NetworkPolicyView</a></code>
402
+
403
+ # GatewayConfigs
404
+
405
+ Types:
406
+
407
+ ```python
408
+ from runloop_api_client.types import (
409
+ GatewayConfigCreateParameters,
410
+ GatewayConfigListView,
411
+ GatewayConfigUpdateParameters,
412
+ GatewayConfigView,
413
+ )
414
+ ```
415
+
416
+ Methods:
417
+
418
+ - <code title="post /v1/gateway-configs">client.gateway_configs.<a href="./src/runloop_api_client/resources/gateway_configs.py">create</a>(\*\*<a href="src/runloop_api_client/types/gateway_config_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/gateway_config_view.py">GatewayConfigView</a></code>
419
+ - <code title="get /v1/gateway-configs/{id}">client.gateway_configs.<a href="./src/runloop_api_client/resources/gateway_configs.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/gateway_config_view.py">GatewayConfigView</a></code>
420
+ - <code title="post /v1/gateway-configs/{id}">client.gateway_configs.<a href="./src/runloop_api_client/resources/gateway_configs.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/gateway_config_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/gateway_config_view.py">GatewayConfigView</a></code>
421
+ - <code title="get /v1/gateway-configs">client.gateway_configs.<a href="./src/runloop_api_client/resources/gateway_configs.py">list</a>(\*\*<a href="src/runloop_api_client/types/gateway_config_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/gateway_config_view.py">SyncGatewayConfigsCursorIDPage[GatewayConfigView]</a></code>
422
+ - <code title="post /v1/gateway-configs/{id}/delete">client.gateway_configs.<a href="./src/runloop_api_client/resources/gateway_configs.py">delete</a>(id) -> <a href="./src/runloop_api_client/types/gateway_config_view.py">GatewayConfigView</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "1.3.2"
3
+ version = "1.5.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -86,6 +86,7 @@ from ._exceptions import (
86
86
  APIConnectionError,
87
87
  APIResponseValidationError,
88
88
  )
89
+ from ._utils._json import openapi_dumps
89
90
 
90
91
  log: logging.Logger = logging.getLogger(__name__)
91
92
 
@@ -554,8 +555,10 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
554
555
  kwargs["content"] = options.content
555
556
  elif isinstance(json_data, bytes):
556
557
  kwargs["content"] = json_data
557
- else:
558
- kwargs["json"] = json_data if is_given(json_data) else None
558
+ elif not files:
559
+ # Don't set content when JSON is sent as multipart/form-data,
560
+ # since httpx's content param overrides other body arguments
561
+ kwargs["content"] = openapi_dumps(json_data) if is_given(json_data) and json_data is not None else None
559
562
  kwargs["files"] = files
560
563
  else:
561
564
  headers.pop("Content-Type", None)
@@ -42,6 +42,7 @@ if TYPE_CHECKING:
42
42
  repositories,
43
43
  benchmark_jobs,
44
44
  benchmark_runs,
45
+ gateway_configs,
45
46
  network_policies,
46
47
  )
47
48
  from .resources.agents import AgentsResource, AsyncAgentsResource
@@ -52,6 +53,7 @@ if TYPE_CHECKING:
52
53
  from .resources.repositories import RepositoriesResource, AsyncRepositoriesResource
53
54
  from .resources.benchmark_jobs import BenchmarkJobsResource, AsyncBenchmarkJobsResource
54
55
  from .resources.benchmark_runs import BenchmarkRunsResource, AsyncBenchmarkRunsResource
56
+ from .resources.gateway_configs import GatewayConfigsResource, AsyncGatewayConfigsResource
55
57
  from .resources.network_policies import NetworkPoliciesResource, AsyncNetworkPoliciesResource
56
58
  from .resources.devboxes.devboxes import DevboxesResource, AsyncDevboxesResource
57
59
  from .resources.scenarios.scenarios import ScenariosResource, AsyncScenariosResource
@@ -182,6 +184,12 @@ class Runloop(SyncAPIClient):
182
184
 
183
185
  return NetworkPoliciesResource(self)
184
186
 
187
+ @cached_property
188
+ def gateway_configs(self) -> GatewayConfigsResource:
189
+ from .resources.gateway_configs import GatewayConfigsResource
190
+
191
+ return GatewayConfigsResource(self)
192
+
185
193
  @cached_property
186
194
  def with_raw_response(self) -> RunloopWithRawResponse:
187
195
  return RunloopWithRawResponse(self)
@@ -418,6 +426,12 @@ class AsyncRunloop(AsyncAPIClient):
418
426
 
419
427
  return AsyncNetworkPoliciesResource(self)
420
428
 
429
+ @cached_property
430
+ def gateway_configs(self) -> AsyncGatewayConfigsResource:
431
+ from .resources.gateway_configs import AsyncGatewayConfigsResource
432
+
433
+ return AsyncGatewayConfigsResource(self)
434
+
421
435
  @cached_property
422
436
  def with_raw_response(self) -> AsyncRunloopWithRawResponse:
423
437
  return AsyncRunloopWithRawResponse(self)
@@ -603,6 +617,12 @@ class RunloopWithRawResponse:
603
617
 
604
618
  return NetworkPoliciesResourceWithRawResponse(self._client.network_policies)
605
619
 
620
+ @cached_property
621
+ def gateway_configs(self) -> gateway_configs.GatewayConfigsResourceWithRawResponse:
622
+ from .resources.gateway_configs import GatewayConfigsResourceWithRawResponse
623
+
624
+ return GatewayConfigsResourceWithRawResponse(self._client.gateway_configs)
625
+
606
626
 
607
627
  class AsyncRunloopWithRawResponse:
608
628
  _client: AsyncRunloop
@@ -676,6 +696,12 @@ class AsyncRunloopWithRawResponse:
676
696
 
677
697
  return AsyncNetworkPoliciesResourceWithRawResponse(self._client.network_policies)
678
698
 
699
+ @cached_property
700
+ def gateway_configs(self) -> gateway_configs.AsyncGatewayConfigsResourceWithRawResponse:
701
+ from .resources.gateway_configs import AsyncGatewayConfigsResourceWithRawResponse
702
+
703
+ return AsyncGatewayConfigsResourceWithRawResponse(self._client.gateway_configs)
704
+
679
705
 
680
706
  class RunloopWithStreamedResponse:
681
707
  _client: Runloop
@@ -749,6 +775,12 @@ class RunloopWithStreamedResponse:
749
775
 
750
776
  return NetworkPoliciesResourceWithStreamingResponse(self._client.network_policies)
751
777
 
778
+ @cached_property
779
+ def gateway_configs(self) -> gateway_configs.GatewayConfigsResourceWithStreamingResponse:
780
+ from .resources.gateway_configs import GatewayConfigsResourceWithStreamingResponse
781
+
782
+ return GatewayConfigsResourceWithStreamingResponse(self._client.gateway_configs)
783
+
752
784
 
753
785
  class AsyncRunloopWithStreamedResponse:
754
786
  _client: AsyncRunloop
@@ -822,6 +854,12 @@ class AsyncRunloopWithStreamedResponse:
822
854
 
823
855
  return AsyncNetworkPoliciesResourceWithStreamingResponse(self._client.network_policies)
824
856
 
857
+ @cached_property
858
+ def gateway_configs(self) -> gateway_configs.AsyncGatewayConfigsResourceWithStreamingResponse:
859
+ from .resources.gateway_configs import AsyncGatewayConfigsResourceWithStreamingResponse
860
+
861
+ return AsyncGatewayConfigsResourceWithStreamingResponse(self._client.gateway_configs)
862
+
825
863
 
826
864
  Client = Runloop
827
865
 
@@ -139,6 +139,7 @@ def model_dump(
139
139
  exclude_defaults: bool = False,
140
140
  warnings: bool = True,
141
141
  mode: Literal["json", "python"] = "python",
142
+ by_alias: bool | None = None,
142
143
  ) -> dict[str, Any]:
143
144
  if (not PYDANTIC_V1) or hasattr(model, "model_dump"):
144
145
  return model.model_dump(
@@ -148,13 +149,12 @@ def model_dump(
148
149
  exclude_defaults=exclude_defaults,
149
150
  # warnings are not supported in Pydantic v1
150
151
  warnings=True if PYDANTIC_V1 else warnings,
152
+ by_alias=by_alias,
151
153
  )
152
154
  return cast(
153
155
  "dict[str, Any]",
154
156
  model.dict( # pyright: ignore[reportDeprecated, reportUnnecessaryCast]
155
- exclude=exclude,
156
- exclude_unset=exclude_unset,
157
- exclude_defaults=exclude_defaults,
157
+ exclude=exclude, exclude_unset=exclude_unset, exclude_defaults=exclude_defaults, by_alias=bool(by_alias)
158
158
  ),
159
159
  )
160
160
 
@@ -0,0 +1,35 @@
1
+ import json
2
+ from typing import Any
3
+ from datetime import datetime
4
+ from typing_extensions import override
5
+
6
+ import pydantic
7
+
8
+ from .._compat import model_dump
9
+
10
+
11
+ def openapi_dumps(obj: Any) -> bytes:
12
+ """
13
+ Serialize an object to UTF-8 encoded JSON bytes.
14
+
15
+ Extends the standard json.dumps with support for additional types
16
+ commonly used in the SDK, such as `datetime`, `pydantic.BaseModel`, etc.
17
+ """
18
+ return json.dumps(
19
+ obj,
20
+ cls=_CustomEncoder,
21
+ # Uses the same defaults as httpx's JSON serialization
22
+ ensure_ascii=False,
23
+ separators=(",", ":"),
24
+ allow_nan=False,
25
+ ).encode()
26
+
27
+
28
+ class _CustomEncoder(json.JSONEncoder):
29
+ @override
30
+ def default(self, o: Any) -> Any:
31
+ if isinstance(o, datetime):
32
+ return o.isoformat()
33
+ if isinstance(o, pydantic.BaseModel):
34
+ return model_dump(o, exclude_unset=True, mode="json", by_alias=True)
35
+ return super().default(o)
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "runloop_api_client"
4
- __version__ = "1.3.2" # x-release-please-version
4
+ __version__ = "1.5.0" # x-release-please-version
@@ -30,6 +30,8 @@ __all__ = [
30
30
  "AsyncObjectsCursorIDPage",
31
31
  "SyncNetworkPoliciesCursorIDPage",
32
32
  "AsyncNetworkPoliciesCursorIDPage",
33
+ "SyncGatewayConfigsCursorIDPage",
34
+ "AsyncGatewayConfigsCursorIDPage",
33
35
  ]
34
36
 
35
37
  _T = TypeVar("_T")
@@ -95,6 +97,11 @@ class NetworkPoliciesCursorIDPageItem(Protocol):
95
97
  id: str
96
98
 
97
99
 
100
+ @runtime_checkable
101
+ class GatewayConfigsCursorIDPageItem(Protocol):
102
+ id: str
103
+
104
+
98
105
  class SyncBlueprintsCursorIDPage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
99
106
  blueprints: List[_T]
100
107
  has_more: Optional[bool] = None
@@ -909,3 +916,71 @@ class AsyncNetworkPoliciesCursorIDPage(BaseAsyncPage[_T], BasePage[_T], Generic[
909
916
  return None
910
917
 
911
918
  return PageInfo(params={"starting_after": item.id})
919
+
920
+
921
+ class SyncGatewayConfigsCursorIDPage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
922
+ gateway_configs: List[_T]
923
+ has_more: Optional[bool] = None
924
+ total_count: Optional[int] = None
925
+
926
+ @override
927
+ def _get_page_items(self) -> List[_T]:
928
+ gateway_configs = self.gateway_configs
929
+ if not gateway_configs:
930
+ return []
931
+ return gateway_configs
932
+
933
+ @override
934
+ def has_next_page(self) -> bool:
935
+ has_more = self.has_more
936
+ if has_more is not None and has_more is False:
937
+ return False
938
+
939
+ return super().has_next_page()
940
+
941
+ @override
942
+ def next_page_info(self) -> Optional[PageInfo]:
943
+ gateway_configs = self.gateway_configs
944
+ if not gateway_configs:
945
+ return None
946
+
947
+ item = cast(Any, gateway_configs[-1])
948
+ if not isinstance(item, GatewayConfigsCursorIDPageItem) or item.id is None: # pyright: ignore[reportUnnecessaryComparison]
949
+ # TODO emit warning log
950
+ return None
951
+
952
+ return PageInfo(params={"starting_after": item.id})
953
+
954
+
955
+ class AsyncGatewayConfigsCursorIDPage(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
956
+ gateway_configs: List[_T]
957
+ has_more: Optional[bool] = None
958
+ total_count: Optional[int] = None
959
+
960
+ @override
961
+ def _get_page_items(self) -> List[_T]:
962
+ gateway_configs = self.gateway_configs
963
+ if not gateway_configs:
964
+ return []
965
+ return gateway_configs
966
+
967
+ @override
968
+ def has_next_page(self) -> bool:
969
+ has_more = self.has_more
970
+ if has_more is not None and has_more is False:
971
+ return False
972
+
973
+ return super().has_next_page()
974
+
975
+ @override
976
+ def next_page_info(self) -> Optional[PageInfo]:
977
+ gateway_configs = self.gateway_configs
978
+ if not gateway_configs:
979
+ return None
980
+
981
+ item = cast(Any, gateway_configs[-1])
982
+ if not isinstance(item, GatewayConfigsCursorIDPageItem) or item.id is None: # pyright: ignore[reportUnnecessaryComparison]
983
+ # TODO emit warning log
984
+ return None
985
+
986
+ return PageInfo(params={"starting_after": item.id})
@@ -80,6 +80,14 @@ from .benchmark_runs import (
80
80
  BenchmarkRunsResourceWithStreamingResponse,
81
81
  AsyncBenchmarkRunsResourceWithStreamingResponse,
82
82
  )
83
+ from .gateway_configs import (
84
+ GatewayConfigsResource,
85
+ AsyncGatewayConfigsResource,
86
+ GatewayConfigsResourceWithRawResponse,
87
+ AsyncGatewayConfigsResourceWithRawResponse,
88
+ GatewayConfigsResourceWithStreamingResponse,
89
+ AsyncGatewayConfigsResourceWithStreamingResponse,
90
+ )
83
91
  from .network_policies import (
84
92
  NetworkPoliciesResource,
85
93
  AsyncNetworkPoliciesResource,
@@ -156,4 +164,10 @@ __all__ = [
156
164
  "AsyncNetworkPoliciesResourceWithRawResponse",
157
165
  "NetworkPoliciesResourceWithStreamingResponse",
158
166
  "AsyncNetworkPoliciesResourceWithStreamingResponse",
167
+ "GatewayConfigsResource",
168
+ "AsyncGatewayConfigsResource",
169
+ "GatewayConfigsResourceWithRawResponse",
170
+ "AsyncGatewayConfigsResourceWithRawResponse",
171
+ "GatewayConfigsResourceWithStreamingResponse",
172
+ "AsyncGatewayConfigsResourceWithStreamingResponse",
159
173
  ]