Skip to content

Commit 2eac1fc

Browse files
chore: Hide repository connection APIs from public OpenAPI spec (#8462)
1 parent 3c0beeb commit 2eac1fc

17 files changed

Lines changed: 4 additions & 2171 deletions

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 124
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-f32de1991bef7651f9b0970b503e2986c7a88708c4a408d54abe6d089795e9f9.yml
3-
openapi_spec_hash: d2005d48f75fba4a5368209cf49641dc
4-
config_hash: 5ffcc19219880e7d9ce43c1e6860568c
1+
configured_endpoints: 116
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-c33fa67077f6f9cc8cb6d82a71657693f7288e1eff48b7b94099f2f11966b67b.yml
3+
openapi_spec_hash: 4329105152eb16bc5d2063038603ea61
4+
config_hash: 6649774d90af30c3559d6a242b6cb4b0

api.md

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -379,31 +379,6 @@ Methods:
379379
- <code title="get /v1/objects/{id}/download">client.objects.<a href="./src/runloop_api_client/resources/objects.py">download</a>(id, \*\*<a href="src/runloop_api_client/types/object_download_params.py">params</a>) -> <a href="./src/runloop_api_client/types/object_download_url_view.py">ObjectDownloadURLView</a></code>
380380
- <code title="get /v1/objects/list_public">client.objects.<a href="./src/runloop_api_client/resources/objects.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/object_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/object_view.py">SyncObjectsCursorIDPage[ObjectView]</a></code>
381381

382-
# Repositories
383-
384-
Types:
385-
386-
```python
387-
from runloop_api_client.types import (
388-
RepositoryConnectionListView,
389-
RepositoryConnectionView,
390-
RepositoryInspectionDetails,
391-
RepositoryInspectionListView,
392-
RepositoryManifestView,
393-
)
394-
```
395-
396-
Methods:
397-
398-
- <code title="post /v1/repositories">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">create</a>(\*\*<a href="src/runloop_api_client/types/repository_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/repository_connection_view.py">RepositoryConnectionView</a></code>
399-
- <code title="get /v1/repositories/{id}">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/repository_connection_view.py">RepositoryConnectionView</a></code>
400-
- <code title="get /v1/repositories">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">list</a>(\*\*<a href="src/runloop_api_client/types/repository_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/repository_connection_view.py">SyncRepositoriesCursorIDPage[RepositoryConnectionView]</a></code>
401-
- <code title="post /v1/repositories/{id}/delete">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">delete</a>(id) -> object</code>
402-
- <code title="post /v1/repositories/{id}/inspect">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">inspect</a>(id, \*\*<a href="src/runloop_api_client/types/repository_inspect_params.py">params</a>) -> <a href="./src/runloop_api_client/types/repository_inspection_details.py">RepositoryInspectionDetails</a></code>
403-
- <code title="get /v1/repositories/{id}/inspections">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">list_inspections</a>(id) -> <a href="./src/runloop_api_client/types/repository_inspection_list_view.py">RepositoryInspectionListView</a></code>
404-
- <code title="post /v1/repositories/{id}/refresh">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">refresh</a>(id, \*\*<a href="src/runloop_api_client/types/repository_refresh_params.py">params</a>) -> object</code>
405-
- <code title="get /v1/repositories/inspections/{id}">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">retrieve_inspection</a>(id) -> <a href="./src/runloop_api_client/types/repository_inspection_details.py">RepositoryInspectionDetails</a></code>
406-
407382
# Secrets
408383

409384
Types:

src/runloop_api_client/_client.py

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
benchmarks,
4242
blueprints,
4343
mcp_configs,
44-
repositories,
4544
benchmark_jobs,
4645
benchmark_runs,
4746
gateway_configs,
@@ -54,7 +53,6 @@
5453
from .resources.blueprints import BlueprintsResource, AsyncBlueprintsResource
5554
from .resources.axons.axons import AxonsResource, AsyncAxonsResource
5655
from .resources.mcp_configs import McpConfigsResource, AsyncMcpConfigsResource
57-
from .resources.repositories import RepositoriesResource, AsyncRepositoriesResource
5856
from .resources.benchmark_jobs import BenchmarkJobsResource, AsyncBenchmarkJobsResource
5957
from .resources.benchmark_runs import BenchmarkRunsResource, AsyncBenchmarkRunsResource
6058
from .resources.gateway_configs import GatewayConfigsResource, AsyncGatewayConfigsResource
@@ -176,12 +174,6 @@ def objects(self) -> ObjectsResource:
176174

177175
return ObjectsResource(self)
178176

179-
@cached_property
180-
def repositories(self) -> RepositoriesResource:
181-
from .resources.repositories import RepositoriesResource
182-
183-
return RepositoriesResource(self)
184-
185177
@cached_property
186178
def secrets(self) -> SecretsResource:
187179
from .resources.secrets import SecretsResource
@@ -430,12 +422,6 @@ def objects(self) -> AsyncObjectsResource:
430422

431423
return AsyncObjectsResource(self)
432424

433-
@cached_property
434-
def repositories(self) -> AsyncRepositoriesResource:
435-
from .resources.repositories import AsyncRepositoriesResource
436-
437-
return AsyncRepositoriesResource(self)
438-
439425
@cached_property
440426
def secrets(self) -> AsyncSecretsResource:
441427
from .resources.secrets import AsyncSecretsResource
@@ -633,12 +619,6 @@ def objects(self) -> objects.ObjectsResourceWithRawResponse:
633619

634620
return ObjectsResourceWithRawResponse(self._client.objects)
635621

636-
@cached_property
637-
def repositories(self) -> repositories.RepositoriesResourceWithRawResponse:
638-
from .resources.repositories import RepositoriesResourceWithRawResponse
639-
640-
return RepositoriesResourceWithRawResponse(self._client.repositories)
641-
642622
@cached_property
643623
def secrets(self) -> secrets.SecretsResourceWithRawResponse:
644624
from .resources.secrets import SecretsResourceWithRawResponse
@@ -724,12 +704,6 @@ def objects(self) -> objects.AsyncObjectsResourceWithRawResponse:
724704

725705
return AsyncObjectsResourceWithRawResponse(self._client.objects)
726706

727-
@cached_property
728-
def repositories(self) -> repositories.AsyncRepositoriesResourceWithRawResponse:
729-
from .resources.repositories import AsyncRepositoriesResourceWithRawResponse
730-
731-
return AsyncRepositoriesResourceWithRawResponse(self._client.repositories)
732-
733707
@cached_property
734708
def secrets(self) -> secrets.AsyncSecretsResourceWithRawResponse:
735709
from .resources.secrets import AsyncSecretsResourceWithRawResponse
@@ -815,12 +789,6 @@ def objects(self) -> objects.ObjectsResourceWithStreamingResponse:
815789

816790
return ObjectsResourceWithStreamingResponse(self._client.objects)
817791

818-
@cached_property
819-
def repositories(self) -> repositories.RepositoriesResourceWithStreamingResponse:
820-
from .resources.repositories import RepositoriesResourceWithStreamingResponse
821-
822-
return RepositoriesResourceWithStreamingResponse(self._client.repositories)
823-
824792
@cached_property
825793
def secrets(self) -> secrets.SecretsResourceWithStreamingResponse:
826794
from .resources.secrets import SecretsResourceWithStreamingResponse
@@ -906,12 +874,6 @@ def objects(self) -> objects.AsyncObjectsResourceWithStreamingResponse:
906874

907875
return AsyncObjectsResourceWithStreamingResponse(self._client.objects)
908876

909-
@cached_property
910-
def repositories(self) -> repositories.AsyncRepositoriesResourceWithStreamingResponse:
911-
from .resources.repositories import AsyncRepositoriesResourceWithStreamingResponse
912-
913-
return AsyncRepositoriesResourceWithStreamingResponse(self._client.repositories)
914-
915877
@cached_property
916878
def secrets(self) -> secrets.AsyncSecretsResourceWithStreamingResponse:
917879
from .resources.secrets import AsyncSecretsResourceWithStreamingResponse

src/runloop_api_client/pagination.py

Lines changed: 0 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010
"AsyncBlueprintsCursorIDPage",
1111
"SyncDevboxesCursorIDPage",
1212
"AsyncDevboxesCursorIDPage",
13-
"SyncRepositoriesCursorIDPage",
14-
"AsyncRepositoriesCursorIDPage",
1513
"SyncDiskSnapshotsCursorIDPage",
1614
"AsyncDiskSnapshotsCursorIDPage",
1715
"SyncBenchmarksCursorIDPage",
@@ -51,11 +49,6 @@ class DevboxesCursorIDPageItem(Protocol):
5149
id: str
5250

5351

54-
@runtime_checkable
55-
class RepositoriesCursorIDPageItem(Protocol):
56-
id: str
57-
58-
5952
@runtime_checkable
6053
class DiskSnapshotsCursorIDPageItem(Protocol):
6154
id: str
@@ -252,74 +245,6 @@ def next_page_info(self) -> Optional[PageInfo]:
252245
return PageInfo(params={"starting_after": item.id})
253246

254247

255-
class SyncRepositoriesCursorIDPage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
256-
repositories: List[_T]
257-
has_more: Optional[bool] = None
258-
total_count: Optional[int] = None
259-
260-
@override
261-
def _get_page_items(self) -> List[_T]:
262-
repositories = self.repositories
263-
if not repositories:
264-
return []
265-
return repositories
266-
267-
@override
268-
def has_next_page(self) -> bool:
269-
has_more = self.has_more
270-
if has_more is not None and has_more is False:
271-
return False
272-
273-
return super().has_next_page()
274-
275-
@override
276-
def next_page_info(self) -> Optional[PageInfo]:
277-
repositories = self.repositories
278-
if not repositories:
279-
return None
280-
281-
item = cast(Any, repositories[-1])
282-
if not isinstance(item, RepositoriesCursorIDPageItem) or item.id is None: # pyright: ignore[reportUnnecessaryComparison]
283-
# TODO emit warning log
284-
return None
285-
286-
return PageInfo(params={"starting_after": item.id})
287-
288-
289-
class AsyncRepositoriesCursorIDPage(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
290-
repositories: List[_T]
291-
has_more: Optional[bool] = None
292-
total_count: Optional[int] = None
293-
294-
@override
295-
def _get_page_items(self) -> List[_T]:
296-
repositories = self.repositories
297-
if not repositories:
298-
return []
299-
return repositories
300-
301-
@override
302-
def has_next_page(self) -> bool:
303-
has_more = self.has_more
304-
if has_more is not None and has_more is False:
305-
return False
306-
307-
return super().has_next_page()
308-
309-
@override
310-
def next_page_info(self) -> Optional[PageInfo]:
311-
repositories = self.repositories
312-
if not repositories:
313-
return None
314-
315-
item = cast(Any, repositories[-1])
316-
if not isinstance(item, RepositoriesCursorIDPageItem) or item.id is None: # pyright: ignore[reportUnnecessaryComparison]
317-
# TODO emit warning log
318-
return None
319-
320-
return PageInfo(params={"starting_after": item.id})
321-
322-
323248
class SyncDiskSnapshotsCursorIDPage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
324249
snapshots: List[_T]
325250
has_more: Optional[bool] = None

src/runloop_api_client/resources/__init__.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,6 @@
7272
McpConfigsResourceWithStreamingResponse,
7373
AsyncMcpConfigsResourceWithStreamingResponse,
7474
)
75-
from .repositories import (
76-
RepositoriesResource,
77-
AsyncRepositoriesResource,
78-
RepositoriesResourceWithRawResponse,
79-
AsyncRepositoriesResourceWithRawResponse,
80-
RepositoriesResourceWithStreamingResponse,
81-
AsyncRepositoriesResourceWithStreamingResponse,
82-
)
8375
from .benchmark_jobs import (
8476
BenchmarkJobsResource,
8577
AsyncBenchmarkJobsResource,
@@ -168,12 +160,6 @@
168160
"AsyncObjectsResourceWithRawResponse",
169161
"ObjectsResourceWithStreamingResponse",
170162
"AsyncObjectsResourceWithStreamingResponse",
171-
"RepositoriesResource",
172-
"AsyncRepositoriesResource",
173-
"RepositoriesResourceWithRawResponse",
174-
"AsyncRepositoriesResourceWithRawResponse",
175-
"RepositoriesResourceWithStreamingResponse",
176-
"AsyncRepositoriesResourceWithStreamingResponse",
177163
"SecretsResource",
178164
"AsyncSecretsResource",
179165
"SecretsResourceWithRawResponse",

0 commit comments

Comments
 (0)