Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
configured_endpoints: 33
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-eb0f4c286298e89e0db9188a3f70bd5ef9c3ea84dd26f23c1fe3e9f4498d845e.yml
configured_endpoints: 52
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-8ae2b8efa48447d8566071937b2c38b2efe6440d13340229a8a3f80d71b97ecc.yml
104 changes: 104 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,88 @@ Methods:
- <code title="post /v1/devboxes/{id}/upload_file">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">upload_file</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_upload_file_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_upload_file_response.py">object</a></code>
- <code title="post /v1/devboxes/{id}/write_file">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">write_file</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_write_file_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_execution_detail_view.py">DevboxExecutionDetailView</a></code>

## Lsp

Types:

```python
from runloop_api_client.types.devboxes import (
BaseCodeAction,
BaseCommand,
BaseDiagnostic,
BaseLocation,
BaseMarkupContent,
BaseParameterInformation,
BaseRange,
BaseSignature,
BaseWorkspaceEdit,
CodeActionApplicationResult,
CodeActionContext,
CodeActionKind,
CodeActionsForDiagnosticRequestBody,
CodeActionsRequestBody,
CodeActionsResponse,
CodeActionTriggerKind,
CodeDescription,
CodeSegmentInfoRequestBody,
CodeSegmentInfoResponse,
Diagnostic,
DiagnosticRelatedInformation,
DiagnosticSeverity,
DiagnosticsResponse,
DiagnosticTag,
DocumentSymbol,
DocumentSymbolResponse,
DocumentUri,
FileContentsResponse,
FileDefinitionRequestBody,
FileDefinitionResponse,
FilePath,
FileRequestBody,
FileUri,
FormattingResponse,
HealthStatusResponse,
Integer,
Location,
LSpAny,
Position,
Range,
RecordStringTextEditArray,
ReferencesRequestBody,
ReferencesResponse,
SetWatchDirectoryRequestBody,
SignatureHelpRequestBody,
SignatureHelpResponse,
SymbolKind,
SymbolTag,
SymbolType,
TextEdit,
Uinteger,
URi,
WatchedFileResponse,
LspFilesResponse,
LspGetCodeActionsForDiagnosticResponse,
LspSetWatchDirectoryResponse,
)
```

Methods:

- <code title="post /v1/devboxes/{id}/lsp/apply-code-action">client.devboxes.lsp.<a href="./src/runloop_api_client/resources/devboxes/lsp.py">apply_code_action</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/lsp_apply_code_action_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/code_action_application_result.py">CodeActionApplicationResult</a></code>
- <code title="post /v1/devboxes/{id}/lsp/code-actions">client.devboxes.lsp.<a href="./src/runloop_api_client/resources/devboxes/lsp.py">code_actions</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/lsp_code_actions_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/code_actions_response.py">object</a></code>
- <code title="post /v1/devboxes/{id}/lsp/diagnostics">client.devboxes.lsp.<a href="./src/runloop_api_client/resources/devboxes/lsp.py">diagnostics</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/lsp_diagnostics_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/diagnostics_response.py">DiagnosticsResponse</a></code>
- <code title="post /v1/devboxes/{id}/lsp/document-symbols">client.devboxes.lsp.<a href="./src/runloop_api_client/resources/devboxes/lsp.py">document_symbols</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/lsp_document_symbols_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/document_symbol_response.py">object</a></code>
- <code title="post /v1/devboxes/{id}/lsp/file">client.devboxes.lsp.<a href="./src/runloop_api_client/resources/devboxes/lsp.py">file</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/lsp_file_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/file_contents_response.py">FileContentsResponse</a></code>
- <code title="post /v1/devboxes/{id}/lsp/file-definition">client.devboxes.lsp.<a href="./src/runloop_api_client/resources/devboxes/lsp.py">file_definition</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/lsp_file_definition_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/file_definition_response.py">object</a></code>
- <code title="get /v1/devboxes/{id}/lsp/files">client.devboxes.lsp.<a href="./src/runloop_api_client/resources/devboxes/lsp.py">files</a>(id) -> <a href="./src/runloop_api_client/types/devboxes/lsp_files_response.py">LspFilesResponse</a></code>
- <code title="post /v1/devboxes/{id}/lsp/formatting">client.devboxes.lsp.<a href="./src/runloop_api_client/resources/devboxes/lsp.py">formatting</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/lsp_formatting_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/formatting_response.py">object</a></code>
- <code title="post /v1/devboxes/{id}/lsp/get-code-actions-for-diagnostic">client.devboxes.lsp.<a href="./src/runloop_api_client/resources/devboxes/lsp.py">get_code_actions_for_diagnostic</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_response.py">LspGetCodeActionsForDiagnosticResponse</a></code>
- <code title="post /v1/devboxes/{id}/lsp/get-code-segment-info">client.devboxes.lsp.<a href="./src/runloop_api_client/resources/devboxes/lsp.py">get_code_segment_info</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/lsp_get_code_segment_info_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/code_segment_info_response.py">CodeSegmentInfoResponse</a></code>
- <code title="post /v1/devboxes/{id}/lsp/get-signature-help">client.devboxes.lsp.<a href="./src/runloop_api_client/resources/devboxes/lsp.py">get_signature_help</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/lsp_get_signature_help_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/signature_help_response.py">SignatureHelpResponse</a></code>
- <code title="get /v1/devboxes/{id}/lsp/health">client.devboxes.lsp.<a href="./src/runloop_api_client/resources/devboxes/lsp.py">health</a>(id) -> <a href="./src/runloop_api_client/types/devboxes/health_status_response.py">HealthStatusResponse</a></code>
- <code title="post /v1/devboxes/{id}/lsp/references">client.devboxes.lsp.<a href="./src/runloop_api_client/resources/devboxes/lsp.py">references</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/lsp_references_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/references_response.py">object</a></code>
- <code title="post /v1/devboxes/{id}/lsp/set-watch-directory">client.devboxes.lsp.<a href="./src/runloop_api_client/resources/devboxes/lsp.py">set_watch_directory</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/lsp_set_watch_directory_params.py">params</a>) -> str</code>

## Logs

Types:
Expand All @@ -101,6 +183,28 @@ Methods:
- <code title="post /v1/devboxes/{id}/execute_sync">client.devboxes.executions.<a href="./src/runloop_api_client/resources/devboxes/executions.py">execute_sync</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/execution_execute_sync_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_execution_detail_view.py">DevboxExecutionDetailView</a></code>
- <code title="post /v1/devboxes/{id}/executions/{execution_id}/kill">client.devboxes.executions.<a href="./src/runloop_api_client/resources/devboxes/executions.py">kill</a>(execution_id, \*, id) -> <a href="./src/runloop_api_client/types/devbox_async_execution_detail_view.py">DevboxAsyncExecutionDetailView</a></code>

# Repositories

Types:

```python
from runloop_api_client.types import (
RepositoryConnectionListView,
RepositoryConnectionView,
RepositoryVersionDetails,
RepositoryVersionListView,
RepositoryDeleteResponse,
)
```

Methods:

- <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>
- <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>
- <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_list_view.py">RepositoryConnectionListView</a></code>
- <code title="post /v1/repositories/{id}/delete">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">delete</a>(id) -> <a href="./src/runloop_api_client/types/repository_delete_response.py">object</a></code>
- <code title="get /v1/repositories/{id}/versions">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">versions</a>(id) -> <a href="./src/runloop_api_client/types/repository_version_list_view.py">RepositoryVersionListView</a></code>

# Functions

Types:
Expand Down
10 changes: 9 additions & 1 deletion src/runloop_api_client/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
get_async_library,
)
from ._version import __version__
from .resources import blueprints
from .resources import blueprints, repositories
from ._streaming import Stream as Stream, AsyncStream as AsyncStream
from ._exceptions import RunloopError, APIStatusError
from ._base_client import (
Expand All @@ -42,6 +42,7 @@
class Runloop(SyncAPIClient):
blueprints: blueprints.BlueprintsResource
devboxes: devboxes.DevboxesResource
repositories: repositories.RepositoriesResource
functions: functions.FunctionsResource
projects: projects.ProjectsResource
with_raw_response: RunloopWithRawResponse
Expand Down Expand Up @@ -103,6 +104,7 @@ def __init__(

self.blueprints = blueprints.BlueprintsResource(self)
self.devboxes = devboxes.DevboxesResource(self)
self.repositories = repositories.RepositoriesResource(self)
self.functions = functions.FunctionsResource(self)
self.projects = projects.ProjectsResource(self)
self.with_raw_response = RunloopWithRawResponse(self)
Expand Down Expand Up @@ -216,6 +218,7 @@ def _make_status_error(
class AsyncRunloop(AsyncAPIClient):
blueprints: blueprints.AsyncBlueprintsResource
devboxes: devboxes.AsyncDevboxesResource
repositories: repositories.AsyncRepositoriesResource
functions: functions.AsyncFunctionsResource
projects: projects.AsyncProjectsResource
with_raw_response: AsyncRunloopWithRawResponse
Expand Down Expand Up @@ -277,6 +280,7 @@ def __init__(

self.blueprints = blueprints.AsyncBlueprintsResource(self)
self.devboxes = devboxes.AsyncDevboxesResource(self)
self.repositories = repositories.AsyncRepositoriesResource(self)
self.functions = functions.AsyncFunctionsResource(self)
self.projects = projects.AsyncProjectsResource(self)
self.with_raw_response = AsyncRunloopWithRawResponse(self)
Expand Down Expand Up @@ -391,6 +395,7 @@ class RunloopWithRawResponse:
def __init__(self, client: Runloop) -> None:
self.blueprints = blueprints.BlueprintsResourceWithRawResponse(client.blueprints)
self.devboxes = devboxes.DevboxesResourceWithRawResponse(client.devboxes)
self.repositories = repositories.RepositoriesResourceWithRawResponse(client.repositories)
self.functions = functions.FunctionsResourceWithRawResponse(client.functions)
self.projects = projects.ProjectsResourceWithRawResponse(client.projects)

Expand All @@ -399,6 +404,7 @@ class AsyncRunloopWithRawResponse:
def __init__(self, client: AsyncRunloop) -> None:
self.blueprints = blueprints.AsyncBlueprintsResourceWithRawResponse(client.blueprints)
self.devboxes = devboxes.AsyncDevboxesResourceWithRawResponse(client.devboxes)
self.repositories = repositories.AsyncRepositoriesResourceWithRawResponse(client.repositories)
self.functions = functions.AsyncFunctionsResourceWithRawResponse(client.functions)
self.projects = projects.AsyncProjectsResourceWithRawResponse(client.projects)

Expand All @@ -407,6 +413,7 @@ class RunloopWithStreamedResponse:
def __init__(self, client: Runloop) -> None:
self.blueprints = blueprints.BlueprintsResourceWithStreamingResponse(client.blueprints)
self.devboxes = devboxes.DevboxesResourceWithStreamingResponse(client.devboxes)
self.repositories = repositories.RepositoriesResourceWithStreamingResponse(client.repositories)
self.functions = functions.FunctionsResourceWithStreamingResponse(client.functions)
self.projects = projects.ProjectsResourceWithStreamingResponse(client.projects)

Expand All @@ -415,6 +422,7 @@ class AsyncRunloopWithStreamedResponse:
def __init__(self, client: AsyncRunloop) -> None:
self.blueprints = blueprints.AsyncBlueprintsResourceWithStreamingResponse(client.blueprints)
self.devboxes = devboxes.AsyncDevboxesResourceWithStreamingResponse(client.devboxes)
self.repositories = repositories.AsyncRepositoriesResourceWithStreamingResponse(client.repositories)
self.functions = functions.AsyncFunctionsResourceWithStreamingResponse(client.functions)
self.projects = projects.AsyncProjectsResourceWithStreamingResponse(client.projects)

Expand Down
14 changes: 14 additions & 0 deletions src/runloop_api_client/resources/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,14 @@
BlueprintsResourceWithStreamingResponse,
AsyncBlueprintsResourceWithStreamingResponse,
)
from .repositories import (
RepositoriesResource,
AsyncRepositoriesResource,
RepositoriesResourceWithRawResponse,
AsyncRepositoriesResourceWithRawResponse,
RepositoriesResourceWithStreamingResponse,
AsyncRepositoriesResourceWithStreamingResponse,
)

__all__ = [
"BlueprintsResource",
Expand All @@ -46,6 +54,12 @@
"AsyncDevboxesResourceWithRawResponse",
"DevboxesResourceWithStreamingResponse",
"AsyncDevboxesResourceWithStreamingResponse",
"RepositoriesResource",
"AsyncRepositoriesResource",
"RepositoriesResourceWithRawResponse",
"AsyncRepositoriesResourceWithRawResponse",
"RepositoriesResourceWithStreamingResponse",
"AsyncRepositoriesResourceWithStreamingResponse",
"FunctionsResource",
"AsyncFunctionsResource",
"FunctionsResourceWithRawResponse",
Expand Down
14 changes: 14 additions & 0 deletions src/runloop_api_client/resources/devboxes/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from .lsp import (
LspResource,
AsyncLspResource,
LspResourceWithRawResponse,
AsyncLspResourceWithRawResponse,
LspResourceWithStreamingResponse,
AsyncLspResourceWithStreamingResponse,
)
from .logs import (
LogsResource,
AsyncLogsResource,
Expand All @@ -26,6 +34,12 @@
)

__all__ = [
"LspResource",
"AsyncLspResource",
"LspResourceWithRawResponse",
"AsyncLspResourceWithRawResponse",
"LspResourceWithStreamingResponse",
"AsyncLspResourceWithStreamingResponse",
"LogsResource",
"AsyncLogsResource",
"LogsResourceWithRawResponse",
Expand Down
32 changes: 32 additions & 0 deletions src/runloop_api_client/resources/devboxes/devboxes.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@

import httpx

from .lsp import (
LspResource,
AsyncLspResource,
LspResourceWithRawResponse,
AsyncLspResourceWithRawResponse,
LspResourceWithStreamingResponse,
AsyncLspResourceWithStreamingResponse,
)
from .logs import (
LogsResource,
AsyncLogsResource,
Expand Down Expand Up @@ -74,6 +82,10 @@


class DevboxesResource(SyncAPIResource):
@cached_property
def lsp(self) -> LspResource:
return LspResource(self._client)

@cached_property
def logs(self) -> LogsResource:
return LogsResource(self._client)
Expand Down Expand Up @@ -834,6 +846,10 @@ def write_file(


class AsyncDevboxesResource(AsyncAPIResource):
@cached_property
def lsp(self) -> AsyncLspResource:
return AsyncLspResource(self._client)

@cached_property
def logs(self) -> AsyncLogsResource:
return AsyncLogsResource(self._client)
Expand Down Expand Up @@ -1650,6 +1666,10 @@ def __init__(self, devboxes: DevboxesResource) -> None:
devboxes.write_file,
)

@cached_property
def lsp(self) -> LspResourceWithRawResponse:
return LspResourceWithRawResponse(self._devboxes.lsp)

@cached_property
def logs(self) -> LogsResourceWithRawResponse:
return LogsResourceWithRawResponse(self._devboxes.logs)
Expand Down Expand Up @@ -1716,6 +1736,10 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None:
devboxes.write_file,
)

@cached_property
def lsp(self) -> AsyncLspResourceWithRawResponse:
return AsyncLspResourceWithRawResponse(self._devboxes.lsp)

@cached_property
def logs(self) -> AsyncLogsResourceWithRawResponse:
return AsyncLogsResourceWithRawResponse(self._devboxes.logs)
Expand Down Expand Up @@ -1782,6 +1806,10 @@ def __init__(self, devboxes: DevboxesResource) -> None:
devboxes.write_file,
)

@cached_property
def lsp(self) -> LspResourceWithStreamingResponse:
return LspResourceWithStreamingResponse(self._devboxes.lsp)

@cached_property
def logs(self) -> LogsResourceWithStreamingResponse:
return LogsResourceWithStreamingResponse(self._devboxes.logs)
Expand Down Expand Up @@ -1848,6 +1876,10 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None:
devboxes.write_file,
)

@cached_property
def lsp(self) -> AsyncLspResourceWithStreamingResponse:
return AsyncLspResourceWithStreamingResponse(self._devboxes.lsp)

@cached_property
def logs(self) -> AsyncLogsResourceWithStreamingResponse:
return AsyncLogsResourceWithStreamingResponse(self._devboxes.logs)
Expand Down
Loading