continuous-labs 0.2.2__tar.gz → 0.2.4__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.
- {continuous_labs-0.2.2/src/continuous_labs.egg-info → continuous_labs-0.2.4}/PKG-INFO +2 -1
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/README-PYPI.md +1 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/README.md +1 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/pyproject.toml +1 -1
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/_version.py +2 -2
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/__init__.py +29 -0
- continuous_labs-0.2.4/src/continuous/models/clone_simulatorop.py +25 -0
- continuous_labs-0.2.4/src/continuous/models/clonesimulatorrequest.py +43 -0
- continuous_labs-0.2.4/src/continuous/models/clonesimulatorresponse.py +30 -0
- continuous_labs-0.2.4/src/continuous/models/limitation.py +31 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/simulatorbuildprogress.py +13 -2
- continuous_labs-0.2.4/src/continuous/models/specificationwarning.py +46 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/sdk.py +1 -1
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/simulators.py +231 -1
- {continuous_labs-0.2.2 → continuous_labs-0.2.4/src/continuous_labs.egg-info}/PKG-INFO +2 -1
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous_labs.egg-info/SOURCES.txt +4 -0
- continuous_labs-0.2.2/src/continuous/models/specificationwarning.py +0 -49
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/LICENSE +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/setup.cfg +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/__init__.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/_hooks/__init__.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/_hooks/registration.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/_hooks/sdkhooks.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/_hooks/types.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/basesdk.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/errors/__init__.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/errors/continuousdefaulterror.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/errors/continuouserror.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/errors/error.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/errors/no_response_error.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/errors/responsevalidationerror.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/httpclient.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/advance_simulationop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/advance_worldop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/advancetimerequest.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/build_simulatorop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/buildsimulatorrequest.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/buildworldrequest.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/cancel_simulatorop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/cancel_worldop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/clockadvance.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/clockadvancemember.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/clockevent.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/create_simulationop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/createdsimulation.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/createsimulationrequest.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/currentsimulationtoken.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/delete_simulationop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/delete_simulatorop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/delete_worldop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/fork_simulationop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/forksimulationrequest.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/get_simulation_advanceop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/get_simulation_tokenop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/get_simulationop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/get_simulatorop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/get_world_advanceop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/get_worldop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/list_simulation_advance_eventsop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/list_simulation_stepsop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/list_simulationsop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/list_simulatorsop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/list_worldsop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/listclockadvanceeventsresponse.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/listsimulationsresponse.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/listsimulationstepsresponse.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/listsimulatorsresponse.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/listworldsresponse.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/regenerate_simulation_tokenop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/resourceerror.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/security.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/simulation.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/simulationdetail.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/simulator.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/simulatoractor.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/simulatorerror.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/specificationissue.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/specificationvalidation.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/start_simulationop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/start_worldop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/startworldrequest.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/step.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/stop_simulationop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/stop_worldop.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/world.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/worldbuildprogress.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/worlddatasummary.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/worlderror.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/worldrecordcount.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/worldsimulation.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/py.typed +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/sdkconfiguration.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/simulations.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/types/__init__.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/types/base64fileinput.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/types/basemodel.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/__init__.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/annotations.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/datetimes.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/dynamic_imports.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/enums.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/eventstreaming.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/forms.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/headers.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/logger.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/metadata.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/queryparams.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/requestbodies.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/retries.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/security.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/serializers.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/unmarshal_json_response.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/url.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/values.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/worlds.py +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous_labs.egg-info/dependency_links.txt +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous_labs.egg-info/requires.txt +0 -0
- {continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous_labs.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: continuous-labs
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Summary: Python SDK for the Continuous Simulation API.
|
|
5
5
|
Author: Continuous Labs
|
|
6
6
|
License: MIT
|
|
@@ -227,6 +227,7 @@ with Continuous(
|
|
|
227
227
|
* [delete_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#delete_simulator) - Delete Simulator
|
|
228
228
|
* [get_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#get_simulator) - Get Simulator
|
|
229
229
|
* [cancel_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#cancel_simulator) - Cancel Simulator Build
|
|
230
|
+
* [clone_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#clone_simulator) - Clone Simulator
|
|
230
231
|
|
|
231
232
|
### [Worlds](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/worlds/README.md)
|
|
232
233
|
|
|
@@ -212,6 +212,7 @@ with Continuous(
|
|
|
212
212
|
* [delete_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#delete_simulator) - Delete Simulator
|
|
213
213
|
* [get_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#get_simulator) - Get Simulator
|
|
214
214
|
* [cancel_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#cancel_simulator) - Cancel Simulator Build
|
|
215
|
+
* [clone_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#clone_simulator) - Clone Simulator
|
|
215
216
|
|
|
216
217
|
### [Worlds](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/worlds/README.md)
|
|
217
218
|
|
|
@@ -212,6 +212,7 @@ with Continuous(
|
|
|
212
212
|
* [delete_simulator](docs/sdks/simulators/README.md#delete_simulator) - Delete Simulator
|
|
213
213
|
* [get_simulator](docs/sdks/simulators/README.md#get_simulator) - Get Simulator
|
|
214
214
|
* [cancel_simulator](docs/sdks/simulators/README.md#cancel_simulator) - Cancel Simulator Build
|
|
215
|
+
* [clone_simulator](docs/sdks/simulators/README.md#clone_simulator) - Clone Simulator
|
|
215
216
|
|
|
216
217
|
### [Worlds](docs/sdks/worlds/README.md)
|
|
217
218
|
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
import importlib.metadata
|
|
4
4
|
|
|
5
5
|
__title__: str = "continuous-labs"
|
|
6
|
-
__version__: str = "0.2.
|
|
6
|
+
__version__: str = "0.2.4"
|
|
7
7
|
__openapi_doc_version__: str = "v1"
|
|
8
8
|
__gen_version__: str = "2.935.1"
|
|
9
|
-
__user_agent__: str = "speakeasy-sdk/python 0.2.
|
|
9
|
+
__user_agent__: str = "speakeasy-sdk/python 0.2.4 2.935.1 v1 continuous-labs"
|
|
10
10
|
|
|
11
11
|
try:
|
|
12
12
|
if __package__ is not None:
|
|
@@ -42,6 +42,18 @@ if TYPE_CHECKING:
|
|
|
42
42
|
ClockAdvanceMemberTypedDict,
|
|
43
43
|
)
|
|
44
44
|
from .clockevent import ClockEvent, ClockEventTypedDict
|
|
45
|
+
from .clone_simulatorop import (
|
|
46
|
+
CloneSimulatorRequestRequest,
|
|
47
|
+
CloneSimulatorRequestRequestTypedDict,
|
|
48
|
+
)
|
|
49
|
+
from .clonesimulatorrequest import (
|
|
50
|
+
CloneSimulatorRequest,
|
|
51
|
+
CloneSimulatorRequestTypedDict,
|
|
52
|
+
)
|
|
53
|
+
from .clonesimulatorresponse import (
|
|
54
|
+
CloneSimulatorResponse,
|
|
55
|
+
CloneSimulatorResponseTypedDict,
|
|
56
|
+
)
|
|
45
57
|
from .create_simulationop import (
|
|
46
58
|
CreateSimulationResponse,
|
|
47
59
|
CreateSimulationResponseTypedDict,
|
|
@@ -95,6 +107,7 @@ if TYPE_CHECKING:
|
|
|
95
107
|
GetWorldAdvanceRequestTypedDict,
|
|
96
108
|
)
|
|
97
109
|
from .get_worldop import GetWorldRequest, GetWorldRequestTypedDict
|
|
110
|
+
from .limitation import Limitation, LimitationTypedDict
|
|
98
111
|
from .list_simulation_advance_eventsop import (
|
|
99
112
|
ListSimulationAdvanceEventsRequest,
|
|
100
113
|
ListSimulationAdvanceEventsRequestTypedDict,
|
|
@@ -246,6 +259,12 @@ __all__ = [
|
|
|
246
259
|
"ClockAdvanceTypedDict",
|
|
247
260
|
"ClockEvent",
|
|
248
261
|
"ClockEventTypedDict",
|
|
262
|
+
"CloneSimulatorRequest",
|
|
263
|
+
"CloneSimulatorRequestRequest",
|
|
264
|
+
"CloneSimulatorRequestRequestTypedDict",
|
|
265
|
+
"CloneSimulatorRequestTypedDict",
|
|
266
|
+
"CloneSimulatorResponse",
|
|
267
|
+
"CloneSimulatorResponseTypedDict",
|
|
249
268
|
"CreateSimulationRequest",
|
|
250
269
|
"CreateSimulationRequestTypedDict",
|
|
251
270
|
"CreateSimulationResponse",
|
|
@@ -281,6 +300,8 @@ __all__ = [
|
|
|
281
300
|
"GetWorldAdvanceRequestTypedDict",
|
|
282
301
|
"GetWorldRequest",
|
|
283
302
|
"GetWorldRequestTypedDict",
|
|
303
|
+
"Limitation",
|
|
304
|
+
"LimitationTypedDict",
|
|
284
305
|
"ListClockAdvanceEventsResponse",
|
|
285
306
|
"ListClockAdvanceEventsResponseTypedDict",
|
|
286
307
|
"ListSimulationAdvanceEventsRequest",
|
|
@@ -415,6 +436,12 @@ _dynamic_imports: dict[str, str] = {
|
|
|
415
436
|
"ClockAdvanceMemberTypedDict": ".clockadvancemember",
|
|
416
437
|
"ClockEvent": ".clockevent",
|
|
417
438
|
"ClockEventTypedDict": ".clockevent",
|
|
439
|
+
"CloneSimulatorRequestRequest": ".clone_simulatorop",
|
|
440
|
+
"CloneSimulatorRequestRequestTypedDict": ".clone_simulatorop",
|
|
441
|
+
"CloneSimulatorRequest": ".clonesimulatorrequest",
|
|
442
|
+
"CloneSimulatorRequestTypedDict": ".clonesimulatorrequest",
|
|
443
|
+
"CloneSimulatorResponse": ".clonesimulatorresponse",
|
|
444
|
+
"CloneSimulatorResponseTypedDict": ".clonesimulatorresponse",
|
|
418
445
|
"CreateSimulationResponse": ".create_simulationop",
|
|
419
446
|
"CreateSimulationResponseTypedDict": ".create_simulationop",
|
|
420
447
|
"CreatedSimulation": ".createdsimulation",
|
|
@@ -450,6 +477,8 @@ _dynamic_imports: dict[str, str] = {
|
|
|
450
477
|
"GetWorldAdvanceRequestTypedDict": ".get_world_advanceop",
|
|
451
478
|
"GetWorldRequest": ".get_worldop",
|
|
452
479
|
"GetWorldRequestTypedDict": ".get_worldop",
|
|
480
|
+
"Limitation": ".limitation",
|
|
481
|
+
"LimitationTypedDict": ".limitation",
|
|
453
482
|
"ListSimulationAdvanceEventsRequest": ".list_simulation_advance_eventsop",
|
|
454
483
|
"ListSimulationAdvanceEventsRequestTypedDict": ".list_simulation_advance_eventsop",
|
|
455
484
|
"ListSimulationStepsRequest": ".list_simulation_stepsop",
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .clonesimulatorrequest import CloneSimulatorRequest, CloneSimulatorRequestTypedDict
|
|
5
|
+
from continuous.types import BaseModel
|
|
6
|
+
from continuous.utils import FieldMetadata, PathParamMetadata, RequestMetadata
|
|
7
|
+
from typing_extensions import Annotated, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class CloneSimulatorRequestRequestTypedDict(TypedDict):
|
|
11
|
+
id: str
|
|
12
|
+
r"""Source Simulator ID."""
|
|
13
|
+
body: CloneSimulatorRequestTypedDict
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class CloneSimulatorRequestRequest(BaseModel):
|
|
17
|
+
id: Annotated[
|
|
18
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
19
|
+
]
|
|
20
|
+
r"""Source Simulator ID."""
|
|
21
|
+
|
|
22
|
+
body: Annotated[
|
|
23
|
+
CloneSimulatorRequest,
|
|
24
|
+
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
|
25
|
+
]
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from continuous.types import BaseModel, UNSET_SENTINEL
|
|
5
|
+
from pydantic import model_serializer
|
|
6
|
+
from typing import Optional
|
|
7
|
+
from typing_extensions import NotRequired, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class CloneSimulatorRequestTypedDict(TypedDict):
|
|
11
|
+
idempotency_key: str
|
|
12
|
+
r"""Stable key for retrying this clone into the target workspace."""
|
|
13
|
+
target_workspace_id: str
|
|
14
|
+
r"""Workspace that receives the clone. It must differ from the source workspace."""
|
|
15
|
+
name: NotRequired[str]
|
|
16
|
+
r"""Display name for the clone. Defaults to the source Simulator's name."""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class CloneSimulatorRequest(BaseModel):
|
|
20
|
+
idempotency_key: str
|
|
21
|
+
r"""Stable key for retrying this clone into the target workspace."""
|
|
22
|
+
|
|
23
|
+
target_workspace_id: str
|
|
24
|
+
r"""Workspace that receives the clone. It must differ from the source workspace."""
|
|
25
|
+
|
|
26
|
+
name: Optional[str] = None
|
|
27
|
+
r"""Display name for the clone. Defaults to the source Simulator's name."""
|
|
28
|
+
|
|
29
|
+
@model_serializer(mode="wrap")
|
|
30
|
+
def serialize_model(self, handler):
|
|
31
|
+
optional_fields = set(["name"])
|
|
32
|
+
serialized = handler(self)
|
|
33
|
+
m = {}
|
|
34
|
+
|
|
35
|
+
for n, f in type(self).model_fields.items():
|
|
36
|
+
k = f.alias or n
|
|
37
|
+
val = serialized.get(k, serialized.get(n))
|
|
38
|
+
|
|
39
|
+
if val != UNSET_SENTINEL:
|
|
40
|
+
if val is not None or k not in optional_fields:
|
|
41
|
+
m[k] = val
|
|
42
|
+
|
|
43
|
+
return m
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from continuous.types import BaseModel
|
|
5
|
+
from typing_extensions import TypedDict
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class CloneSimulatorResponseTypedDict(TypedDict):
|
|
9
|
+
digest: str
|
|
10
|
+
r"""OCI manifest digest, unchanged from the source."""
|
|
11
|
+
id: str
|
|
12
|
+
r"""New Simulator ID in the target workspace, or the same ID on an idempotent retry."""
|
|
13
|
+
name: str
|
|
14
|
+
r"""Display name of the clone."""
|
|
15
|
+
workspace_id: str
|
|
16
|
+
r"""Target workspace."""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class CloneSimulatorResponse(BaseModel):
|
|
20
|
+
digest: str
|
|
21
|
+
r"""OCI manifest digest, unchanged from the source."""
|
|
22
|
+
|
|
23
|
+
id: str
|
|
24
|
+
r"""New Simulator ID in the target workspace, or the same ID on an idempotent retry."""
|
|
25
|
+
|
|
26
|
+
name: str
|
|
27
|
+
r"""Display name of the clone."""
|
|
28
|
+
|
|
29
|
+
workspace_id: str
|
|
30
|
+
r"""Target workspace."""
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from continuous.types import BaseModel
|
|
5
|
+
from typing import List
|
|
6
|
+
from typing_extensions import TypedDict
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class LimitationTypedDict(TypedDict):
|
|
10
|
+
location: str
|
|
11
|
+
r"""The operations the limitation affects, readably, or Simulator when it names none."""
|
|
12
|
+
message: str
|
|
13
|
+
r"""What the Simulator does differently from the real system."""
|
|
14
|
+
operations: List[str]
|
|
15
|
+
r"""Operation IDs the limitation affects, or empty when it names none."""
|
|
16
|
+
reviewed: bool
|
|
17
|
+
r"""Whether review confirmed that the pinned contract or the scaffold cannot express the correct behavior. False for a limitation the build recorded after review or that review did not confirm."""
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class Limitation(BaseModel):
|
|
21
|
+
location: str
|
|
22
|
+
r"""The operations the limitation affects, readably, or Simulator when it names none."""
|
|
23
|
+
|
|
24
|
+
message: str
|
|
25
|
+
r"""What the Simulator does differently from the real system."""
|
|
26
|
+
|
|
27
|
+
operations: List[str]
|
|
28
|
+
r"""Operation IDs the limitation affects, or empty when it names none."""
|
|
29
|
+
|
|
30
|
+
reviewed: bool
|
|
31
|
+
r"""Whether review confirmed that the pinned contract or the scaffold cannot express the correct behavior. False for a limitation the build recorded after review or that review did not confirm."""
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/simulatorbuildprogress.py
RENAMED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from .limitation import Limitation, LimitationTypedDict
|
|
4
5
|
from .specificationwarning import SpecificationWarning, SpecificationWarningTypedDict
|
|
5
6
|
from continuous.types import BaseModel, Nullable, UNSET_SENTINEL, UnrecognizedStr
|
|
6
7
|
from pydantic import model_serializer
|
|
@@ -54,10 +55,14 @@ r"""derive while the effective spec, build skeleton, and sandbox are prepared; b
|
|
|
54
55
|
|
|
55
56
|
|
|
56
57
|
class SimulatorBuildProgressTypedDict(TypedDict):
|
|
58
|
+
hidden_limitations: int
|
|
59
|
+
r"""Limitations the accepted build records beyond those listed in limitations."""
|
|
57
60
|
last_submission: Nullable[SimulatorBuildProgressLastSubmission]
|
|
58
61
|
r"""Outcome of the most recent submit attempt, or null."""
|
|
59
62
|
last_tool: Nullable[str]
|
|
60
63
|
r"""Name of the most recent tool call, or null. Tool arguments and output are private."""
|
|
64
|
+
limitations: List[LimitationTypedDict]
|
|
65
|
+
r"""Behavior the accepted build does not serve like the real system, most important first, set when the build is accepted. Empty when none."""
|
|
61
66
|
model: SimulatorBuildProgressModel
|
|
62
67
|
r"""The model the builder and reviewer run on. A build recorded before model selection reports its provider's default."""
|
|
63
68
|
phase: Nullable[SimulatorBuildProgressPhase]
|
|
@@ -69,16 +74,22 @@ class SimulatorBuildProgressTypedDict(TypedDict):
|
|
|
69
74
|
tool_calls: int
|
|
70
75
|
r"""Tool calls the coding loop executed."""
|
|
71
76
|
warnings: List[SpecificationWarningTypedDict]
|
|
72
|
-
r"""Specification defects the build tolerated without changing the specification, set when the build prepares its specification
|
|
77
|
+
r"""Specification defects the build tolerated without changing the specification, set when the build prepares its specification. Empty when none."""
|
|
73
78
|
|
|
74
79
|
|
|
75
80
|
class SimulatorBuildProgress(BaseModel):
|
|
81
|
+
hidden_limitations: int
|
|
82
|
+
r"""Limitations the accepted build records beyond those listed in limitations."""
|
|
83
|
+
|
|
76
84
|
last_submission: Nullable[SimulatorBuildProgressLastSubmission]
|
|
77
85
|
r"""Outcome of the most recent submit attempt, or null."""
|
|
78
86
|
|
|
79
87
|
last_tool: Nullable[str]
|
|
80
88
|
r"""Name of the most recent tool call, or null. Tool arguments and output are private."""
|
|
81
89
|
|
|
90
|
+
limitations: List[Limitation]
|
|
91
|
+
r"""Behavior the accepted build does not serve like the real system, most important first, set when the build is accepted. Empty when none."""
|
|
92
|
+
|
|
82
93
|
model: SimulatorBuildProgressModel
|
|
83
94
|
r"""The model the builder and reviewer run on. A build recorded before model selection reports its provider's default."""
|
|
84
95
|
|
|
@@ -95,7 +106,7 @@ class SimulatorBuildProgress(BaseModel):
|
|
|
95
106
|
r"""Tool calls the coding loop executed."""
|
|
96
107
|
|
|
97
108
|
warnings: List[SpecificationWarning]
|
|
98
|
-
r"""Specification defects the build tolerated without changing the specification, set when the build prepares its specification
|
|
109
|
+
r"""Specification defects the build tolerated without changing the specification, set when the build prepares its specification. Empty when none."""
|
|
99
110
|
|
|
100
111
|
@model_serializer(mode="wrap")
|
|
101
112
|
def _serialize_model(self, handler):
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from continuous.types import BaseModel, UnrecognizedStr
|
|
5
|
+
from typing import List, Literal, Union
|
|
6
|
+
from typing_extensions import TypedDict
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
SpecificationWarningCode = Union[
|
|
10
|
+
Literal[
|
|
11
|
+
"spec.enum_duplicate",
|
|
12
|
+
"spec.path_parameter_optional",
|
|
13
|
+
"spec.default_invalid",
|
|
14
|
+
"spec.response_untyped",
|
|
15
|
+
"spec.schema_limit",
|
|
16
|
+
"spec.operation_unservable",
|
|
17
|
+
"spec.example_null",
|
|
18
|
+
],
|
|
19
|
+
UnrecognizedStr,
|
|
20
|
+
]
|
|
21
|
+
r"""Stable warning code."""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class SpecificationWarningTypedDict(TypedDict):
|
|
25
|
+
code: SpecificationWarningCode
|
|
26
|
+
r"""Stable warning code."""
|
|
27
|
+
location: str
|
|
28
|
+
r"""Readable endpoint or field affected by this warning."""
|
|
29
|
+
message: str
|
|
30
|
+
r"""What the specification declares and how the build handles it."""
|
|
31
|
+
operations: List[str]
|
|
32
|
+
r"""Always empty."""
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class SpecificationWarning(BaseModel):
|
|
36
|
+
code: SpecificationWarningCode
|
|
37
|
+
r"""Stable warning code."""
|
|
38
|
+
|
|
39
|
+
location: str
|
|
40
|
+
r"""Readable endpoint or field affected by this warning."""
|
|
41
|
+
|
|
42
|
+
message: str
|
|
43
|
+
r"""What the specification declares and how the build handles it."""
|
|
44
|
+
|
|
45
|
+
operations: List[str]
|
|
46
|
+
r"""Always empty."""
|
|
@@ -26,7 +26,7 @@ class Continuous(BaseSDK):
|
|
|
26
26
|
simulations: "Simulations"
|
|
27
27
|
r"""Create Simulations from ready Simulators, then fork, stop, start, and delete them."""
|
|
28
28
|
simulators: "Simulators"
|
|
29
|
-
r"""Build Simulators from OpenAPI or WSDL documents, check or cancel a build, and delete Simulators."""
|
|
29
|
+
r"""Build Simulators from OpenAPI or WSDL documents, check or cancel a build, clone Simulators into other workspaces, and delete Simulators."""
|
|
30
30
|
worlds: "Worlds"
|
|
31
31
|
r"""Build Worlds from one or more Simulators and start or stop their Simulations together."""
|
|
32
32
|
_sub_sdk_map = {
|
|
@@ -10,7 +10,7 @@ from typing import Any, Mapping, Optional, Union
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class Simulators(BaseSDK):
|
|
13
|
-
r"""Build Simulators from OpenAPI or WSDL documents, check or cancel a build, and delete Simulators."""
|
|
13
|
+
r"""Build Simulators from OpenAPI or WSDL documents, check or cancel a build, clone Simulators into other workspaces, and delete Simulators."""
|
|
14
14
|
|
|
15
15
|
def list_simulators(
|
|
16
16
|
self,
|
|
@@ -1057,3 +1057,233 @@ class Simulators(BaseSDK):
|
|
|
1057
1057
|
)
|
|
1058
1058
|
|
|
1059
1059
|
raise errors.ContinuousDefaultError("Unexpected response received", http_res)
|
|
1060
|
+
|
|
1061
|
+
def clone_simulator(
|
|
1062
|
+
self,
|
|
1063
|
+
*,
|
|
1064
|
+
id: str,
|
|
1065
|
+
idempotency_key: str,
|
|
1066
|
+
target_workspace_id: str,
|
|
1067
|
+
name: Optional[str] = None,
|
|
1068
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
1069
|
+
server_url: Optional[str] = None,
|
|
1070
|
+
timeout_ms: Optional[int] = None,
|
|
1071
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
1072
|
+
) -> models.CloneSimulatorResponse:
|
|
1073
|
+
r"""Clone Simulator
|
|
1074
|
+
|
|
1075
|
+
Creates a ready copy of a ready Simulator in another workspace. The clone has a new ID and the source's image digest; the source is unchanged. The source is the caller's workspace: an API key's own workspace, or X-Workspace-Id for a session. An API key may clone into any other workspace of its organization.
|
|
1076
|
+
|
|
1077
|
+
:param id: Source Simulator ID.
|
|
1078
|
+
:param idempotency_key: Stable key for retrying this clone into the target workspace.
|
|
1079
|
+
:param target_workspace_id: Workspace that receives the clone. It must differ from the source workspace.
|
|
1080
|
+
:param name: Display name for the clone. Defaults to the source Simulator's name.
|
|
1081
|
+
:param retries: Override the default retry configuration for this method
|
|
1082
|
+
:param server_url: Override the default server URL for this method
|
|
1083
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
1084
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
1085
|
+
"""
|
|
1086
|
+
base_url = None
|
|
1087
|
+
url_variables = None
|
|
1088
|
+
if timeout_ms is None:
|
|
1089
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
1090
|
+
|
|
1091
|
+
if server_url is not None:
|
|
1092
|
+
base_url = server_url
|
|
1093
|
+
else:
|
|
1094
|
+
base_url = self._get_url(base_url, url_variables)
|
|
1095
|
+
|
|
1096
|
+
request = models.CloneSimulatorRequestRequest(
|
|
1097
|
+
id=id,
|
|
1098
|
+
body=models.CloneSimulatorRequest(
|
|
1099
|
+
idempotency_key=idempotency_key,
|
|
1100
|
+
name=name,
|
|
1101
|
+
target_workspace_id=target_workspace_id,
|
|
1102
|
+
),
|
|
1103
|
+
)
|
|
1104
|
+
|
|
1105
|
+
req = self._build_request(
|
|
1106
|
+
method="POST",
|
|
1107
|
+
path="/v1/simulators/{id}/clone",
|
|
1108
|
+
base_url=base_url,
|
|
1109
|
+
url_variables=url_variables,
|
|
1110
|
+
request=request,
|
|
1111
|
+
request_body_required=True,
|
|
1112
|
+
request_has_path_params=True,
|
|
1113
|
+
request_has_query_params=True,
|
|
1114
|
+
user_agent_header="user-agent",
|
|
1115
|
+
accept_header_value="application/json",
|
|
1116
|
+
http_headers=http_headers,
|
|
1117
|
+
security=self.sdk_configuration.security,
|
|
1118
|
+
get_serialized_body=lambda: utils.serialize_request_body(
|
|
1119
|
+
request.body, False, False, "json", models.CloneSimulatorRequest
|
|
1120
|
+
),
|
|
1121
|
+
allow_empty_value=None,
|
|
1122
|
+
timeout_ms=timeout_ms,
|
|
1123
|
+
)
|
|
1124
|
+
|
|
1125
|
+
if retries == UNSET:
|
|
1126
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
1127
|
+
retries = self.sdk_configuration.retry_config
|
|
1128
|
+
|
|
1129
|
+
retry_config = None
|
|
1130
|
+
if isinstance(retries, utils.RetryConfig):
|
|
1131
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
1132
|
+
|
|
1133
|
+
http_res = self.do_request(
|
|
1134
|
+
hook_ctx=HookContext(
|
|
1135
|
+
config=self.sdk_configuration,
|
|
1136
|
+
base_url=base_url or "",
|
|
1137
|
+
operation_id="clone-simulator",
|
|
1138
|
+
oauth2_scopes=None,
|
|
1139
|
+
security_source=get_security_from_env(
|
|
1140
|
+
self.sdk_configuration.security, models.Security
|
|
1141
|
+
),
|
|
1142
|
+
tags=["simulators"],
|
|
1143
|
+
extensions=None,
|
|
1144
|
+
),
|
|
1145
|
+
request=req,
|
|
1146
|
+
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
1147
|
+
retry_config=retry_config,
|
|
1148
|
+
)
|
|
1149
|
+
|
|
1150
|
+
response_data: Any = None
|
|
1151
|
+
if utils.match_response(http_res, "201", "application/json"):
|
|
1152
|
+
return unmarshal_json_response(models.CloneSimulatorResponse, http_res)
|
|
1153
|
+
if utils.match_response(
|
|
1154
|
+
http_res,
|
|
1155
|
+
["400", "401", "403", "404", "408", "409", "413", "415", "422"],
|
|
1156
|
+
"application/problem+json",
|
|
1157
|
+
):
|
|
1158
|
+
response_data = unmarshal_json_response(errors.ErrorData, http_res)
|
|
1159
|
+
raise errors.Error(response_data, http_res)
|
|
1160
|
+
if utils.match_response(http_res, ["500", "503"], "application/problem+json"):
|
|
1161
|
+
response_data = unmarshal_json_response(errors.ErrorData, http_res)
|
|
1162
|
+
raise errors.Error(response_data, http_res)
|
|
1163
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
1164
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
1165
|
+
raise errors.ContinuousDefaultError(
|
|
1166
|
+
"API error occurred", http_res, http_res_text
|
|
1167
|
+
)
|
|
1168
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
1169
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
1170
|
+
raise errors.ContinuousDefaultError(
|
|
1171
|
+
"API error occurred", http_res, http_res_text
|
|
1172
|
+
)
|
|
1173
|
+
|
|
1174
|
+
raise errors.ContinuousDefaultError("Unexpected response received", http_res)
|
|
1175
|
+
|
|
1176
|
+
async def clone_simulator_async(
|
|
1177
|
+
self,
|
|
1178
|
+
*,
|
|
1179
|
+
id: str,
|
|
1180
|
+
idempotency_key: str,
|
|
1181
|
+
target_workspace_id: str,
|
|
1182
|
+
name: Optional[str] = None,
|
|
1183
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
1184
|
+
server_url: Optional[str] = None,
|
|
1185
|
+
timeout_ms: Optional[int] = None,
|
|
1186
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
1187
|
+
) -> models.CloneSimulatorResponse:
|
|
1188
|
+
r"""Clone Simulator
|
|
1189
|
+
|
|
1190
|
+
Creates a ready copy of a ready Simulator in another workspace. The clone has a new ID and the source's image digest; the source is unchanged. The source is the caller's workspace: an API key's own workspace, or X-Workspace-Id for a session. An API key may clone into any other workspace of its organization.
|
|
1191
|
+
|
|
1192
|
+
:param id: Source Simulator ID.
|
|
1193
|
+
:param idempotency_key: Stable key for retrying this clone into the target workspace.
|
|
1194
|
+
:param target_workspace_id: Workspace that receives the clone. It must differ from the source workspace.
|
|
1195
|
+
:param name: Display name for the clone. Defaults to the source Simulator's name.
|
|
1196
|
+
:param retries: Override the default retry configuration for this method
|
|
1197
|
+
:param server_url: Override the default server URL for this method
|
|
1198
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
1199
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
1200
|
+
"""
|
|
1201
|
+
base_url = None
|
|
1202
|
+
url_variables = None
|
|
1203
|
+
if timeout_ms is None:
|
|
1204
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
1205
|
+
|
|
1206
|
+
if server_url is not None:
|
|
1207
|
+
base_url = server_url
|
|
1208
|
+
else:
|
|
1209
|
+
base_url = self._get_url(base_url, url_variables)
|
|
1210
|
+
|
|
1211
|
+
request = models.CloneSimulatorRequestRequest(
|
|
1212
|
+
id=id,
|
|
1213
|
+
body=models.CloneSimulatorRequest(
|
|
1214
|
+
idempotency_key=idempotency_key,
|
|
1215
|
+
name=name,
|
|
1216
|
+
target_workspace_id=target_workspace_id,
|
|
1217
|
+
),
|
|
1218
|
+
)
|
|
1219
|
+
|
|
1220
|
+
req = self._build_request_async(
|
|
1221
|
+
method="POST",
|
|
1222
|
+
path="/v1/simulators/{id}/clone",
|
|
1223
|
+
base_url=base_url,
|
|
1224
|
+
url_variables=url_variables,
|
|
1225
|
+
request=request,
|
|
1226
|
+
request_body_required=True,
|
|
1227
|
+
request_has_path_params=True,
|
|
1228
|
+
request_has_query_params=True,
|
|
1229
|
+
user_agent_header="user-agent",
|
|
1230
|
+
accept_header_value="application/json",
|
|
1231
|
+
http_headers=http_headers,
|
|
1232
|
+
security=self.sdk_configuration.security,
|
|
1233
|
+
get_serialized_body=lambda: utils.serialize_request_body(
|
|
1234
|
+
request.body, False, False, "json", models.CloneSimulatorRequest
|
|
1235
|
+
),
|
|
1236
|
+
allow_empty_value=None,
|
|
1237
|
+
timeout_ms=timeout_ms,
|
|
1238
|
+
)
|
|
1239
|
+
|
|
1240
|
+
if retries == UNSET:
|
|
1241
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
1242
|
+
retries = self.sdk_configuration.retry_config
|
|
1243
|
+
|
|
1244
|
+
retry_config = None
|
|
1245
|
+
if isinstance(retries, utils.RetryConfig):
|
|
1246
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
1247
|
+
|
|
1248
|
+
http_res = await self.do_request_async(
|
|
1249
|
+
hook_ctx=HookContext(
|
|
1250
|
+
config=self.sdk_configuration,
|
|
1251
|
+
base_url=base_url or "",
|
|
1252
|
+
operation_id="clone-simulator",
|
|
1253
|
+
oauth2_scopes=None,
|
|
1254
|
+
security_source=get_security_from_env(
|
|
1255
|
+
self.sdk_configuration.security, models.Security
|
|
1256
|
+
),
|
|
1257
|
+
tags=["simulators"],
|
|
1258
|
+
extensions=None,
|
|
1259
|
+
),
|
|
1260
|
+
request=req,
|
|
1261
|
+
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
1262
|
+
retry_config=retry_config,
|
|
1263
|
+
)
|
|
1264
|
+
|
|
1265
|
+
response_data: Any = None
|
|
1266
|
+
if utils.match_response(http_res, "201", "application/json"):
|
|
1267
|
+
return unmarshal_json_response(models.CloneSimulatorResponse, http_res)
|
|
1268
|
+
if utils.match_response(
|
|
1269
|
+
http_res,
|
|
1270
|
+
["400", "401", "403", "404", "408", "409", "413", "415", "422"],
|
|
1271
|
+
"application/problem+json",
|
|
1272
|
+
):
|
|
1273
|
+
response_data = unmarshal_json_response(errors.ErrorData, http_res)
|
|
1274
|
+
raise errors.Error(response_data, http_res)
|
|
1275
|
+
if utils.match_response(http_res, ["500", "503"], "application/problem+json"):
|
|
1276
|
+
response_data = unmarshal_json_response(errors.ErrorData, http_res)
|
|
1277
|
+
raise errors.Error(response_data, http_res)
|
|
1278
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
1279
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
1280
|
+
raise errors.ContinuousDefaultError(
|
|
1281
|
+
"API error occurred", http_res, http_res_text
|
|
1282
|
+
)
|
|
1283
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
1284
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
1285
|
+
raise errors.ContinuousDefaultError(
|
|
1286
|
+
"API error occurred", http_res, http_res_text
|
|
1287
|
+
)
|
|
1288
|
+
|
|
1289
|
+
raise errors.ContinuousDefaultError("Unexpected response received", http_res)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: continuous-labs
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Summary: Python SDK for the Continuous Simulation API.
|
|
5
5
|
Author: Continuous Labs
|
|
6
6
|
License: MIT
|
|
@@ -227,6 +227,7 @@ with Continuous(
|
|
|
227
227
|
* [delete_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#delete_simulator) - Delete Simulator
|
|
228
228
|
* [get_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#get_simulator) - Get Simulator
|
|
229
229
|
* [cancel_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#cancel_simulator) - Cancel Simulator Build
|
|
230
|
+
* [clone_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#clone_simulator) - Clone Simulator
|
|
230
231
|
|
|
231
232
|
### [Worlds](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/worlds/README.md)
|
|
232
233
|
|
|
@@ -34,6 +34,9 @@ src/continuous/models/cancel_worldop.py
|
|
|
34
34
|
src/continuous/models/clockadvance.py
|
|
35
35
|
src/continuous/models/clockadvancemember.py
|
|
36
36
|
src/continuous/models/clockevent.py
|
|
37
|
+
src/continuous/models/clone_simulatorop.py
|
|
38
|
+
src/continuous/models/clonesimulatorrequest.py
|
|
39
|
+
src/continuous/models/clonesimulatorresponse.py
|
|
37
40
|
src/continuous/models/create_simulationop.py
|
|
38
41
|
src/continuous/models/createdsimulation.py
|
|
39
42
|
src/continuous/models/createsimulationrequest.py
|
|
@@ -49,6 +52,7 @@ src/continuous/models/get_simulationop.py
|
|
|
49
52
|
src/continuous/models/get_simulatorop.py
|
|
50
53
|
src/continuous/models/get_world_advanceop.py
|
|
51
54
|
src/continuous/models/get_worldop.py
|
|
55
|
+
src/continuous/models/limitation.py
|
|
52
56
|
src/continuous/models/list_simulation_advance_eventsop.py
|
|
53
57
|
src/continuous/models/list_simulation_stepsop.py
|
|
54
58
|
src/continuous/models/list_simulationsop.py
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
-
|
|
3
|
-
from __future__ import annotations
|
|
4
|
-
from continuous.types import BaseModel, UnrecognizedStr
|
|
5
|
-
from typing import List, Literal, Union
|
|
6
|
-
from typing_extensions import TypedDict
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
SpecificationWarningCode = Union[
|
|
10
|
-
Literal[
|
|
11
|
-
"spec.enum_duplicate",
|
|
12
|
-
"spec.path_parameter_optional",
|
|
13
|
-
"spec.default_invalid",
|
|
14
|
-
"spec.response_untyped",
|
|
15
|
-
"spec.schema_limit",
|
|
16
|
-
"spec.operation_unservable",
|
|
17
|
-
"spec.version_ambiguous",
|
|
18
|
-
"spec.example_null",
|
|
19
|
-
"build.limitation",
|
|
20
|
-
"build.unrepaired",
|
|
21
|
-
],
|
|
22
|
-
UnrecognizedStr,
|
|
23
|
-
]
|
|
24
|
-
r"""Stable warning code. build.limitation marks behavior the Simulator does not serve like the real system. build.unrepaired marks such behavior that review did not mark a limit of the pinned contract or the scaffold, or that the build declared after review."""
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
class SpecificationWarningTypedDict(TypedDict):
|
|
28
|
-
code: SpecificationWarningCode
|
|
29
|
-
r"""Stable warning code. build.limitation marks behavior the Simulator does not serve like the real system. build.unrepaired marks such behavior that review did not mark a limit of the pinned contract or the scaffold, or that the build declared after review."""
|
|
30
|
-
location: str
|
|
31
|
-
r"""Readable endpoint or field affected by this warning, or the affected operations for a limitation."""
|
|
32
|
-
message: str
|
|
33
|
-
r"""What the specification declares and how the build handles it, or what the limitation is."""
|
|
34
|
-
operations: List[str]
|
|
35
|
-
r"""Operation IDs a limitation affects, or empty when the warning names none."""
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
class SpecificationWarning(BaseModel):
|
|
39
|
-
code: SpecificationWarningCode
|
|
40
|
-
r"""Stable warning code. build.limitation marks behavior the Simulator does not serve like the real system. build.unrepaired marks such behavior that review did not mark a limit of the pinned contract or the scaffold, or that the build declared after review."""
|
|
41
|
-
|
|
42
|
-
location: str
|
|
43
|
-
r"""Readable endpoint or field affected by this warning, or the affected operations for a limitation."""
|
|
44
|
-
|
|
45
|
-
message: str
|
|
46
|
-
r"""What the specification declares and how the build handles it, or what the limitation is."""
|
|
47
|
-
|
|
48
|
-
operations: List[str]
|
|
49
|
-
r"""Operation IDs a limitation affects, or empty when the warning names none."""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/errors/continuousdefaulterror.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/errors/responsevalidationerror.py
RENAMED
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/advance_simulationop.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/buildsimulatorrequest.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/create_simulationop.py
RENAMED
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/createsimulationrequest.py
RENAMED
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/currentsimulationtoken.py
RENAMED
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/delete_simulationop.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/forksimulationrequest.py
RENAMED
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/get_simulation_advanceop.py
RENAMED
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/get_simulation_tokenop.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/get_world_advanceop.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/list_simulation_stepsop.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/listsimulationsresponse.py
RENAMED
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/listsimulationstepsresponse.py
RENAMED
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/listsimulatorsresponse.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/models/specificationvalidation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous/utils/unmarshal_json_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.2 → continuous_labs-0.2.4}/src/continuous_labs.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|