runloop-api-client 0.1.0a3__py3-none-any.whl

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 (61) hide show
  1. runloop_api_client-0.1.0a3.dist-info/METADATA +334 -0
  2. runloop_api_client-0.1.0a3.dist-info/RECORD +61 -0
  3. runloop_api_client-0.1.0a3.dist-info/WHEEL +4 -0
  4. runloop_api_client-0.1.0a3.dist-info/licenses/LICENSE +7 -0
  5. runloop_minus_api_minus_client/__init__.py +83 -0
  6. runloop_minus_api_minus_client/_base_client.py +2006 -0
  7. runloop_minus_api_minus_client/_client.py +422 -0
  8. runloop_minus_api_minus_client/_compat.py +222 -0
  9. runloop_minus_api_minus_client/_constants.py +14 -0
  10. runloop_minus_api_minus_client/_exceptions.py +108 -0
  11. runloop_minus_api_minus_client/_files.py +127 -0
  12. runloop_minus_api_minus_client/_models.py +739 -0
  13. runloop_minus_api_minus_client/_qs.py +150 -0
  14. runloop_minus_api_minus_client/_resource.py +43 -0
  15. runloop_minus_api_minus_client/_response.py +822 -0
  16. runloop_minus_api_minus_client/_streaming.py +333 -0
  17. runloop_minus_api_minus_client/_types.py +220 -0
  18. runloop_minus_api_minus_client/_utils/__init__.py +52 -0
  19. runloop_minus_api_minus_client/_utils/_logs.py +25 -0
  20. runloop_minus_api_minus_client/_utils/_proxy.py +63 -0
  21. runloop_minus_api_minus_client/_utils/_reflection.py +8 -0
  22. runloop_minus_api_minus_client/_utils/_streams.py +12 -0
  23. runloop_minus_api_minus_client/_utils/_sync.py +81 -0
  24. runloop_minus_api_minus_client/_utils/_transform.py +382 -0
  25. runloop_minus_api_minus_client/_utils/_typing.py +120 -0
  26. runloop_minus_api_minus_client/_utils/_utils.py +402 -0
  27. runloop_minus_api_minus_client/_version.py +4 -0
  28. runloop_minus_api_minus_client/lib/.keep +4 -0
  29. runloop_minus_api_minus_client/py.typed +0 -0
  30. runloop_minus_api_minus_client/resources/__init__.py +47 -0
  31. runloop_minus_api_minus_client/resources/devboxes/__init__.py +33 -0
  32. runloop_minus_api_minus_client/resources/devboxes/devboxes.py +560 -0
  33. runloop_minus_api_minus_client/resources/devboxes/logs.py +143 -0
  34. runloop_minus_api_minus_client/resources/functions/__init__.py +33 -0
  35. runloop_minus_api_minus_client/resources/functions/functions.py +376 -0
  36. runloop_minus_api_minus_client/resources/functions/invocations/__init__.py +33 -0
  37. runloop_minus_api_minus_client/resources/functions/invocations/invocations.py +310 -0
  38. runloop_minus_api_minus_client/resources/functions/invocations/spans.py +147 -0
  39. runloop_minus_api_minus_client/resources/projects/__init__.py +33 -0
  40. runloop_minus_api_minus_client/resources/projects/logs.py +143 -0
  41. runloop_minus_api_minus_client/resources/projects/projects.py +155 -0
  42. runloop_minus_api_minus_client/types/__init__.py +14 -0
  43. runloop_minus_api_minus_client/types/devbox_create_params.py +30 -0
  44. runloop_minus_api_minus_client/types/devbox_execution_detail_view.py +21 -0
  45. runloop_minus_api_minus_client/types/devbox_list_params.py +12 -0
  46. runloop_minus_api_minus_client/types/devbox_list_view.py +13 -0
  47. runloop_minus_api_minus_client/types/devbox_view.py +21 -0
  48. runloop_minus_api_minus_client/types/devboxes/__init__.py +5 -0
  49. runloop_minus_api_minus_client/types/devboxes/devbox_logs_list_view.py +23 -0
  50. runloop_minus_api_minus_client/types/function_invoke_async_params.py +23 -0
  51. runloop_minus_api_minus_client/types/function_invoke_sync_params.py +23 -0
  52. runloop_minus_api_minus_client/types/function_list_view.py +20 -0
  53. runloop_minus_api_minus_client/types/functions/__init__.py +5 -0
  54. runloop_minus_api_minus_client/types/functions/function_invocation_list_view.py +26 -0
  55. runloop_minus_api_minus_client/types/functions/invocations/__init__.py +5 -0
  56. runloop_minus_api_minus_client/types/functions/invocations/invocation_span_list_view.py +16 -0
  57. runloop_minus_api_minus_client/types/project_list_view.py +149 -0
  58. runloop_minus_api_minus_client/types/projects/__init__.py +3 -0
  59. runloop_minus_api_minus_client/types/shared/__init__.py +4 -0
  60. runloop_minus_api_minus_client/types/shared/function_invocation_detail_view.py +25 -0
  61. runloop_minus_api_minus_client/types/shared/project_logs_view.py +22 -0
@@ -0,0 +1,155 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import httpx
6
+
7
+ from .logs import (
8
+ LogsResource,
9
+ AsyncLogsResource,
10
+ LogsResourceWithRawResponse,
11
+ AsyncLogsResourceWithRawResponse,
12
+ LogsResourceWithStreamingResponse,
13
+ AsyncLogsResourceWithStreamingResponse,
14
+ )
15
+ from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
16
+ from ..._compat import cached_property
17
+ from ..._resource import SyncAPIResource, AsyncAPIResource
18
+ from ..._response import (
19
+ to_raw_response_wrapper,
20
+ to_streamed_response_wrapper,
21
+ async_to_raw_response_wrapper,
22
+ async_to_streamed_response_wrapper,
23
+ )
24
+ from ..._base_client import (
25
+ make_request_options,
26
+ )
27
+ from ...types.project_list_view import ProjectListView
28
+
29
+ __all__ = ["ProjectsResource", "AsyncProjectsResource"]
30
+
31
+
32
+ class ProjectsResource(SyncAPIResource):
33
+ @cached_property
34
+ def logs(self) -> LogsResource:
35
+ return LogsResource(self._client)
36
+
37
+ @cached_property
38
+ def with_raw_response(self) -> ProjectsResourceWithRawResponse:
39
+ return ProjectsResourceWithRawResponse(self)
40
+
41
+ @cached_property
42
+ def with_streaming_response(self) -> ProjectsResourceWithStreamingResponse:
43
+ return ProjectsResourceWithStreamingResponse(self)
44
+
45
+ def list(
46
+ self,
47
+ *,
48
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
49
+ # The extra values given here take precedence over values defined on the client or passed to this method.
50
+ extra_headers: Headers | None = None,
51
+ extra_query: Query | None = None,
52
+ extra_body: Body | None = None,
53
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
54
+ ) -> ProjectListView:
55
+ """Get list of all projects for the authenticated user.
56
+
57
+ This includes all projects
58
+ that the user has access to.
59
+ """
60
+ return self._get(
61
+ "/v1/projects",
62
+ options=make_request_options(
63
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
64
+ ),
65
+ cast_to=ProjectListView,
66
+ )
67
+
68
+
69
+ class AsyncProjectsResource(AsyncAPIResource):
70
+ @cached_property
71
+ def logs(self) -> AsyncLogsResource:
72
+ return AsyncLogsResource(self._client)
73
+
74
+ @cached_property
75
+ def with_raw_response(self) -> AsyncProjectsResourceWithRawResponse:
76
+ return AsyncProjectsResourceWithRawResponse(self)
77
+
78
+ @cached_property
79
+ def with_streaming_response(self) -> AsyncProjectsResourceWithStreamingResponse:
80
+ return AsyncProjectsResourceWithStreamingResponse(self)
81
+
82
+ async def list(
83
+ self,
84
+ *,
85
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
86
+ # The extra values given here take precedence over values defined on the client or passed to this method.
87
+ extra_headers: Headers | None = None,
88
+ extra_query: Query | None = None,
89
+ extra_body: Body | None = None,
90
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
91
+ ) -> ProjectListView:
92
+ """Get list of all projects for the authenticated user.
93
+
94
+ This includes all projects
95
+ that the user has access to.
96
+ """
97
+ return await self._get(
98
+ "/v1/projects",
99
+ options=make_request_options(
100
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
101
+ ),
102
+ cast_to=ProjectListView,
103
+ )
104
+
105
+
106
+ class ProjectsResourceWithRawResponse:
107
+ def __init__(self, projects: ProjectsResource) -> None:
108
+ self._projects = projects
109
+
110
+ self.list = to_raw_response_wrapper(
111
+ projects.list,
112
+ )
113
+
114
+ @cached_property
115
+ def logs(self) -> LogsResourceWithRawResponse:
116
+ return LogsResourceWithRawResponse(self._projects.logs)
117
+
118
+
119
+ class AsyncProjectsResourceWithRawResponse:
120
+ def __init__(self, projects: AsyncProjectsResource) -> None:
121
+ self._projects = projects
122
+
123
+ self.list = async_to_raw_response_wrapper(
124
+ projects.list,
125
+ )
126
+
127
+ @cached_property
128
+ def logs(self) -> AsyncLogsResourceWithRawResponse:
129
+ return AsyncLogsResourceWithRawResponse(self._projects.logs)
130
+
131
+
132
+ class ProjectsResourceWithStreamingResponse:
133
+ def __init__(self, projects: ProjectsResource) -> None:
134
+ self._projects = projects
135
+
136
+ self.list = to_streamed_response_wrapper(
137
+ projects.list,
138
+ )
139
+
140
+ @cached_property
141
+ def logs(self) -> LogsResourceWithStreamingResponse:
142
+ return LogsResourceWithStreamingResponse(self._projects.logs)
143
+
144
+
145
+ class AsyncProjectsResourceWithStreamingResponse:
146
+ def __init__(self, projects: AsyncProjectsResource) -> None:
147
+ self._projects = projects
148
+
149
+ self.list = async_to_streamed_response_wrapper(
150
+ projects.list,
151
+ )
152
+
153
+ @cached_property
154
+ def logs(self) -> AsyncLogsResourceWithStreamingResponse:
155
+ return AsyncLogsResourceWithStreamingResponse(self._projects.logs)
@@ -0,0 +1,14 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .shared import ProjectLogsView as ProjectLogsView, FunctionInvocationDetailView as FunctionInvocationDetailView
6
+ from .devbox_view import DevboxView as DevboxView
7
+ from .devbox_list_view import DevboxListView as DevboxListView
8
+ from .project_list_view import ProjectListView as ProjectListView
9
+ from .devbox_list_params import DevboxListParams as DevboxListParams
10
+ from .function_list_view import FunctionListView as FunctionListView
11
+ from .devbox_create_params import DevboxCreateParams as DevboxCreateParams
12
+ from .function_invoke_sync_params import FunctionInvokeSyncParams as FunctionInvokeSyncParams
13
+ from .devbox_execution_detail_view import DevboxExecutionDetailView as DevboxExecutionDetailView
14
+ from .function_invoke_async_params import FunctionInvokeAsyncParams as FunctionInvokeAsyncParams
@@ -0,0 +1,30 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Dict, List
6
+ from typing_extensions import TypedDict
7
+
8
+ __all__ = ["DevboxCreateParams"]
9
+
10
+
11
+ class DevboxCreateParams(TypedDict, total=False):
12
+ code_handle: str
13
+ """(Optional) Id of a code handle to mount to devbox."""
14
+
15
+ entrypoint: str
16
+ """
17
+ (Optional) When specified, the Devbox will run this script as its main
18
+ executable. The devbox lifecycle will be bound to entrypoint, shutting down when
19
+ the process is complete.
20
+ """
21
+
22
+ environment_variables: Dict[str, str]
23
+ """(Optional) Environment variables used to configure your Devbox."""
24
+
25
+ setup_commands: List[str]
26
+ """(Optional) List of commands needed to set up your Devbox.
27
+
28
+ Examples might include fetching a tool or building your dependencies. Runloop
29
+ will look optimize these steps for you.
30
+ """
@@ -0,0 +1,21 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from .._models import BaseModel
6
+
7
+ __all__ = ["DevboxExecutionDetailView"]
8
+
9
+
10
+ class DevboxExecutionDetailView(BaseModel):
11
+ devbox_id: Optional[str] = None
12
+ """Devbox id where command was executed."""
13
+
14
+ exit_status: Optional[int] = None
15
+ """Exit status of command execution."""
16
+
17
+ stderr: Optional[str] = None
18
+ """Standard error generated by command."""
19
+
20
+ stdout: Optional[str] = None
21
+ """Standard out generated by command."""
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["DevboxListParams"]
8
+
9
+
10
+ class DevboxListParams(TypedDict, total=False):
11
+ status: str
12
+ """Filter by status"""
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from .._models import BaseModel
6
+ from .devbox_view import DevboxView
7
+
8
+ __all__ = ["DevboxListView"]
9
+
10
+
11
+ class DevboxListView(BaseModel):
12
+ devboxes: Optional[List[DevboxView]] = None
13
+ """List of devboxes matching filter."""
@@ -0,0 +1,21 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from .._models import BaseModel
6
+
7
+ __all__ = ["DevboxView"]
8
+
9
+
10
+ class DevboxView(BaseModel):
11
+ id: Optional[str] = None
12
+ """The id of the Devbox."""
13
+
14
+ create_time_ms: Optional[int] = None
15
+ """Creation time of the Devbox (Unix timestamp milliseconds)."""
16
+
17
+ status: Optional[str] = None
18
+ """
19
+ The current status of the Devbox (provisioning, initializing, running, failure,
20
+ shutdown).
21
+ """
@@ -0,0 +1,5 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .devbox_logs_list_view import DevboxLogsListView as DevboxLogsListView
@@ -0,0 +1,23 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["DevboxLogsListView", "Log"]
8
+
9
+
10
+ class Log(BaseModel):
11
+ level: Optional[str] = None
12
+ """Log line severity level."""
13
+
14
+ message: Optional[str] = None
15
+ """Log line message."""
16
+
17
+ timestamp_ms: Optional[int] = None
18
+ """Time of log (Unix timestamp milliseconds)."""
19
+
20
+
21
+ class DevboxLogsListView(BaseModel):
22
+ logs: Optional[List[Log]] = None
23
+ """List of logs for the given devbox."""
@@ -0,0 +1,23 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, Annotated, TypedDict
6
+
7
+ from .._utils import PropertyInfo
8
+
9
+ __all__ = ["FunctionInvokeAsyncParams", "RunloopMeta"]
10
+
11
+
12
+ class FunctionInvokeAsyncParams(TypedDict, total=False):
13
+ project_name: Required[str]
14
+
15
+ request: Required[object]
16
+ """Json of the request"""
17
+
18
+ runloop_meta: Annotated[RunloopMeta, PropertyInfo(alias="runloopMeta")]
19
+
20
+
21
+ class RunloopMeta(TypedDict, total=False):
22
+ session_id: str
23
+ """Json of the request"""
@@ -0,0 +1,23 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, Annotated, TypedDict
6
+
7
+ from .._utils import PropertyInfo
8
+
9
+ __all__ = ["FunctionInvokeSyncParams", "RunloopMeta"]
10
+
11
+
12
+ class FunctionInvokeSyncParams(TypedDict, total=False):
13
+ project_name: Required[str]
14
+
15
+ request: Required[object]
16
+ """Json of the request"""
17
+
18
+ runloop_meta: Annotated[RunloopMeta, PropertyInfo(alias="runloopMeta")]
19
+
20
+
21
+ class RunloopMeta(TypedDict, total=False):
22
+ session_id: str
23
+ """Json of the request"""
@@ -0,0 +1,20 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from .._models import BaseModel
6
+
7
+ __all__ = ["FunctionListView", "Function"]
8
+
9
+
10
+ class Function(BaseModel):
11
+ name: Optional[str] = None
12
+ """Unique name of the function."""
13
+
14
+ project_name: Optional[str] = None
15
+ """Unique name of the project."""
16
+
17
+
18
+ class FunctionListView(BaseModel):
19
+ functions: Optional[List[Function]] = None
20
+ """List of functions matching given query."""
@@ -0,0 +1,5 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .function_invocation_list_view import FunctionInvocationListView as FunctionInvocationListView
@@ -0,0 +1,26 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from typing_extensions import Literal
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = ["FunctionInvocationListView", "Invocation"]
9
+
10
+
11
+ class Invocation(BaseModel):
12
+ id: Optional[str] = None
13
+ """Unique ID of the invocations."""
14
+
15
+ name: Optional[str] = None
16
+ """Name of the invoked function."""
17
+
18
+ project_name: Optional[str] = None
19
+ """Project name associated with invoked function."""
20
+
21
+ status: Optional[Literal["created", "running", "success", "failure", "canceled", "suspended"]] = None
22
+
23
+
24
+ class FunctionInvocationListView(BaseModel):
25
+ invocations: Optional[List[Invocation]] = None
26
+ """List of functions matching given query."""
@@ -0,0 +1,5 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .invocation_span_list_view import InvocationSpanListView as InvocationSpanListView
@@ -0,0 +1,16 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from pydantic import Field as FieldInfo
6
+
7
+ from ...._models import BaseModel
8
+
9
+ __all__ = ["InvocationSpanListView"]
10
+
11
+
12
+ class InvocationSpanListView(BaseModel):
13
+ invocation_id: Optional[str] = FieldInfo(alias="invocationId", default=None)
14
+
15
+ spans: Optional[object] = None
16
+ """List of spans matching given query."""
@@ -0,0 +1,149 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from .._models import BaseModel
6
+
7
+ __all__ = [
8
+ "ProjectListView",
9
+ "Installation",
10
+ "Project",
11
+ "ProjectActiveDeploy",
12
+ "ProjectInProgressDeploy",
13
+ "ProjectRecentDeployment",
14
+ ]
15
+
16
+
17
+ class Installation(BaseModel):
18
+ status: Optional[str] = None
19
+ """Status of the installation (installed | uninstalled | never_installed)."""
20
+
21
+
22
+ class ProjectActiveDeploy(BaseModel):
23
+ deploy_start_time_ms: int
24
+ """Time the Deploy was started (Unix timestamp milliseconds)."""
25
+
26
+ id: Optional[str] = None
27
+ """ID of the deployment."""
28
+
29
+ deploy_commit_sha: Optional[str] = None
30
+ """Associated Commit Sha"""
31
+
32
+ deploy_commit_time_ms: Optional[int] = None
33
+ """Associated Commit Time"""
34
+
35
+ deploy_end_time_ms: Optional[int] = None
36
+ """Time the Deploy completed (Unix timestamp milliseconds)."""
37
+
38
+ deployed_functions: Optional[List[str]] = None
39
+ """The list of deployed functions."""
40
+
41
+ failure_code: Optional[str] = None
42
+ """
43
+ Failure code (generic_failure | git_clone_failure | not_runloop_repo |
44
+ secrets_failure | provision_failure | runtime_failure). Only set on
45
+ deploy_failed.
46
+ """
47
+
48
+ failure_message: Optional[str] = None
49
+ """Failure message"""
50
+
51
+ status: Optional[str] = None
52
+ """
53
+ Status of the deploy (deploy_in_progress | deployed | deploy_failed |
54
+ not_started).
55
+ """
56
+
57
+
58
+ class ProjectInProgressDeploy(BaseModel):
59
+ deploy_start_time_ms: int
60
+ """Time the Deploy was started (Unix timestamp milliseconds)."""
61
+
62
+ id: Optional[str] = None
63
+ """ID of the deployment."""
64
+
65
+ deploy_commit_sha: Optional[str] = None
66
+ """Associated Commit Sha"""
67
+
68
+ deploy_commit_time_ms: Optional[int] = None
69
+ """Associated Commit Time"""
70
+
71
+ deploy_end_time_ms: Optional[int] = None
72
+ """Time the Deploy completed (Unix timestamp milliseconds)."""
73
+
74
+ deployed_functions: Optional[List[str]] = None
75
+ """The list of deployed functions."""
76
+
77
+ failure_code: Optional[str] = None
78
+ """
79
+ Failure code (generic_failure | git_clone_failure | not_runloop_repo |
80
+ secrets_failure | provision_failure | runtime_failure). Only set on
81
+ deploy_failed.
82
+ """
83
+
84
+ failure_message: Optional[str] = None
85
+ """Failure message"""
86
+
87
+ status: Optional[str] = None
88
+ """
89
+ Status of the deploy (deploy_in_progress | deployed | deploy_failed |
90
+ not_started).
91
+ """
92
+
93
+
94
+ class ProjectRecentDeployment(BaseModel):
95
+ deploy_start_time_ms: int
96
+ """Time the Deploy was started (Unix timestamp milliseconds)."""
97
+
98
+ id: Optional[str] = None
99
+ """ID of the deployment."""
100
+
101
+ deploy_commit_sha: Optional[str] = None
102
+ """Associated Commit Sha"""
103
+
104
+ deploy_commit_time_ms: Optional[int] = None
105
+ """Associated Commit Time"""
106
+
107
+ deploy_end_time_ms: Optional[int] = None
108
+ """Time the Deploy completed (Unix timestamp milliseconds)."""
109
+
110
+ deployed_functions: Optional[List[str]] = None
111
+ """The list of deployed functions."""
112
+
113
+ failure_code: Optional[str] = None
114
+ """
115
+ Failure code (generic_failure | git_clone_failure | not_runloop_repo |
116
+ secrets_failure | provision_failure | runtime_failure). Only set on
117
+ deploy_failed.
118
+ """
119
+
120
+ failure_message: Optional[str] = None
121
+ """Failure message"""
122
+
123
+ status: Optional[str] = None
124
+ """
125
+ Status of the deploy (deploy_in_progress | deployed | deploy_failed |
126
+ not_started).
127
+ """
128
+
129
+
130
+ class Project(BaseModel):
131
+ id: Optional[str] = None
132
+ """Unique id of Project."""
133
+
134
+ active_deploy: Optional[ProjectActiveDeploy] = None
135
+
136
+ in_progress_deploy: Optional[ProjectInProgressDeploy] = None
137
+
138
+ name: Optional[str] = None
139
+ """Project display name."""
140
+
141
+ recent_deployments: Optional[List[ProjectRecentDeployment]] = None
142
+ """Last deployment attempts (up to 10)"""
143
+
144
+
145
+ class ProjectListView(BaseModel):
146
+ installation: Optional[Installation] = None
147
+
148
+ projects: Optional[List[Project]] = None
149
+ """List of projects matching given query."""
@@ -0,0 +1,3 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
@@ -0,0 +1,4 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from .project_logs_view import ProjectLogsView as ProjectLogsView
4
+ from .function_invocation_detail_view import FunctionInvocationDetailView as FunctionInvocationDetailView
@@ -0,0 +1,25 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from typing_extensions import Literal
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = ["FunctionInvocationDetailView"]
9
+
10
+
11
+ class FunctionInvocationDetailView(BaseModel):
12
+ id: Optional[str] = None
13
+ """Unique ID of the invocation."""
14
+
15
+ error: Optional[str] = None
16
+
17
+ function_name: Optional[str] = None
18
+ """Unique name of the function."""
19
+
20
+ project_name: Optional[str] = None
21
+ """Unique name of the project associated with function."""
22
+
23
+ result: Optional[object] = None
24
+
25
+ status: Optional[Literal["created", "running", "success", "failure", "canceled", "suspended"]] = None
@@ -0,0 +1,22 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["ProjectLogsView", "Log"]
8
+
9
+
10
+ class Log(BaseModel):
11
+ level: Optional[str] = None
12
+
13
+ message: Optional[str] = None
14
+
15
+ source: Optional[str] = None
16
+
17
+ timestamp: Optional[str] = None
18
+
19
+
20
+ class ProjectLogsView(BaseModel):
21
+ logs: Optional[List[Log]] = None
22
+ """List of logs for the given project."""