langflow-control-plane-sdk 0.0.0.dev0__tar.gz → 0.0.0.dev2__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.
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/PKG-INFO +3 -5
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/README.md +2 -4
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/__init__.py +21 -3
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/api/deployments_api.py +306 -6
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/api_client.py +1 -1
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/configuration.py +1 -1
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/models/__init__.py +10 -1
- langflow_control_plane_sdk-0.0.0.dev2/langflow_control_plane_sdk/models/backend_type.py +38 -0
- langflow_control_plane_sdk-0.0.0.dev2/langflow_control_plane_sdk/models/column_config.py +92 -0
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/models/create_deployment.py +7 -4
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/models/deployment_detail.py +11 -3
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/models/deployment_list.py +1 -1
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/models/error_code.py +1 -1
- langflow_control_plane_sdk-0.0.0.dev0/langflow_control_plane_sdk/models/flow_input.py → langflow_control_plane_sdk-0.0.0.dev2/langflow_control_plane_sdk/models/flow.py +5 -9
- langflow_control_plane_sdk-0.0.0.dev2/langflow_control_plane_sdk/models/flow_ref.py +92 -0
- langflow_control_plane_sdk-0.0.0.dev2/langflow_control_plane_sdk/models/knowledge_base_item.py +115 -0
- langflow_control_plane_sdk-0.0.0.dev2/langflow_control_plane_sdk/models/memory_base_item.py +118 -0
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/models/replace_deployment.py +3 -3
- langflow_control_plane_sdk-0.0.0.dev2/langflow_control_plane_sdk/models/sync_item_result.py +125 -0
- langflow_control_plane_sdk-0.0.0.dev2/langflow_control_plane_sdk/models/sync_report.py +111 -0
- langflow_control_plane_sdk-0.0.0.dev2/langflow_control_plane_sdk/models/sync_request.py +106 -0
- langflow_control_plane_sdk-0.0.0.dev2/langflow_control_plane_sdk/models/sync_summary.py +94 -0
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/pyproject.toml +1 -1
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/LICENSE +0 -0
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/api/__init__.py +0 -0
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/api_response.py +0 -0
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/exceptions.py +0 -0
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/models/deployment_list_item.py +0 -0
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/models/error_body.py +0 -0
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/models/error_envelope.py +0 -0
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/models/flow_payload.py +0 -0
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/models/flow_payload_data.py +0 -0
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/models/patch_deployment.py +0 -0
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/py.typed +0 -0
- {langflow_control_plane_sdk-0.0.0.dev0 → langflow_control_plane_sdk-0.0.0.dev2}/langflow_control_plane_sdk/rest.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: langflow-control-plane-sdk
|
|
3
|
-
Version: 0.0.0.
|
|
3
|
+
Version: 0.0.0.dev2
|
|
4
4
|
Summary: Generated async Python client for the Langflow Control Plane API
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -60,10 +60,8 @@ from uuid import uuid4
|
|
|
60
60
|
import langflow_control_plane_sdk as control_plane
|
|
61
61
|
|
|
62
62
|
flow_id = uuid4()
|
|
63
|
-
flow = control_plane.
|
|
63
|
+
flow = control_plane.Flow(
|
|
64
64
|
flow_id=flow_id,
|
|
65
|
-
author_flow_id=flow_id,
|
|
66
|
-
author_flow_version_id=uuid4(),
|
|
67
65
|
name="hello-world",
|
|
68
66
|
payload=control_plane.FlowPayload(
|
|
69
67
|
data=control_plane.FlowPayloadData(nodes=[], edges=[]),
|
|
@@ -73,7 +71,7 @@ flow = control_plane.FlowInput(
|
|
|
73
71
|
async with control_plane.ApiClient(configuration) as client:
|
|
74
72
|
deployments = control_plane.DeploymentsApi(client)
|
|
75
73
|
created = await deployments.create_deployment(
|
|
76
|
-
control_plane.CreateDeployment(slug="hello-world", flows=[flow]),
|
|
74
|
+
control_plane.CreateDeployment(project_id=uuid4(), slug="hello-world", flows=[flow]),
|
|
77
75
|
)
|
|
78
76
|
fetched = await deployments.get_deployment(created.id)
|
|
79
77
|
updated = await deployments.replace_deployment(
|
|
@@ -42,10 +42,8 @@ from uuid import uuid4
|
|
|
42
42
|
import langflow_control_plane_sdk as control_plane
|
|
43
43
|
|
|
44
44
|
flow_id = uuid4()
|
|
45
|
-
flow = control_plane.
|
|
45
|
+
flow = control_plane.Flow(
|
|
46
46
|
flow_id=flow_id,
|
|
47
|
-
author_flow_id=flow_id,
|
|
48
|
-
author_flow_version_id=uuid4(),
|
|
49
47
|
name="hello-world",
|
|
50
48
|
payload=control_plane.FlowPayload(
|
|
51
49
|
data=control_plane.FlowPayloadData(nodes=[], edges=[]),
|
|
@@ -55,7 +53,7 @@ flow = control_plane.FlowInput(
|
|
|
55
53
|
async with control_plane.ApiClient(configuration) as client:
|
|
56
54
|
deployments = control_plane.DeploymentsApi(client)
|
|
57
55
|
created = await deployments.create_deployment(
|
|
58
|
-
control_plane.CreateDeployment(slug="hello-world", flows=[flow]),
|
|
56
|
+
control_plane.CreateDeployment(project_id=uuid4(), slug="hello-world", flows=[flow]),
|
|
59
57
|
)
|
|
60
58
|
fetched = await deployments.get_deployment(created.id)
|
|
61
59
|
updated = await deployments.replace_deployment(
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
""" # noqa: E501
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
__version__ = "0.0.0.
|
|
17
|
+
__version__ = "0.0.0.dev2"
|
|
18
18
|
|
|
19
19
|
# Define package exports
|
|
20
20
|
__all__ = [
|
|
@@ -28,6 +28,8 @@ __all__ = [
|
|
|
28
28
|
"ApiKeyError",
|
|
29
29
|
"ApiAttributeError",
|
|
30
30
|
"ApiException",
|
|
31
|
+
"BackendType",
|
|
32
|
+
"ColumnConfig",
|
|
31
33
|
"CreateDeployment",
|
|
32
34
|
"DeploymentDetail",
|
|
33
35
|
"DeploymentList",
|
|
@@ -35,11 +37,18 @@ __all__ = [
|
|
|
35
37
|
"ErrorBody",
|
|
36
38
|
"ErrorCode",
|
|
37
39
|
"ErrorEnvelope",
|
|
38
|
-
"
|
|
40
|
+
"Flow",
|
|
39
41
|
"FlowPayload",
|
|
40
42
|
"FlowPayloadData",
|
|
43
|
+
"FlowRef",
|
|
44
|
+
"KnowledgeBaseItem",
|
|
45
|
+
"MemoryBaseItem",
|
|
41
46
|
"PatchDeployment",
|
|
42
47
|
"ReplaceDeployment",
|
|
48
|
+
"SyncItemResult",
|
|
49
|
+
"SyncReport",
|
|
50
|
+
"SyncRequest",
|
|
51
|
+
"SyncSummary",
|
|
43
52
|
]
|
|
44
53
|
|
|
45
54
|
# import apis into sdk package
|
|
@@ -57,6 +66,8 @@ from langflow_control_plane_sdk.exceptions import ApiAttributeError as ApiAttrib
|
|
|
57
66
|
from langflow_control_plane_sdk.exceptions import ApiException as ApiException
|
|
58
67
|
|
|
59
68
|
# import models into sdk package
|
|
69
|
+
from langflow_control_plane_sdk.models.backend_type import BackendType as BackendType
|
|
70
|
+
from langflow_control_plane_sdk.models.column_config import ColumnConfig as ColumnConfig
|
|
60
71
|
from langflow_control_plane_sdk.models.create_deployment import CreateDeployment as CreateDeployment
|
|
61
72
|
from langflow_control_plane_sdk.models.deployment_detail import DeploymentDetail as DeploymentDetail
|
|
62
73
|
from langflow_control_plane_sdk.models.deployment_list import DeploymentList as DeploymentList
|
|
@@ -64,9 +75,16 @@ from langflow_control_plane_sdk.models.deployment_list_item import DeploymentLis
|
|
|
64
75
|
from langflow_control_plane_sdk.models.error_body import ErrorBody as ErrorBody
|
|
65
76
|
from langflow_control_plane_sdk.models.error_code import ErrorCode as ErrorCode
|
|
66
77
|
from langflow_control_plane_sdk.models.error_envelope import ErrorEnvelope as ErrorEnvelope
|
|
67
|
-
from langflow_control_plane_sdk.models.
|
|
78
|
+
from langflow_control_plane_sdk.models.flow import Flow as Flow
|
|
68
79
|
from langflow_control_plane_sdk.models.flow_payload import FlowPayload as FlowPayload
|
|
69
80
|
from langflow_control_plane_sdk.models.flow_payload_data import FlowPayloadData as FlowPayloadData
|
|
81
|
+
from langflow_control_plane_sdk.models.flow_ref import FlowRef as FlowRef
|
|
82
|
+
from langflow_control_plane_sdk.models.knowledge_base_item import KnowledgeBaseItem as KnowledgeBaseItem
|
|
83
|
+
from langflow_control_plane_sdk.models.memory_base_item import MemoryBaseItem as MemoryBaseItem
|
|
70
84
|
from langflow_control_plane_sdk.models.patch_deployment import PatchDeployment as PatchDeployment
|
|
71
85
|
from langflow_control_plane_sdk.models.replace_deployment import ReplaceDeployment as ReplaceDeployment
|
|
86
|
+
from langflow_control_plane_sdk.models.sync_item_result import SyncItemResult as SyncItemResult
|
|
87
|
+
from langflow_control_plane_sdk.models.sync_report import SyncReport as SyncReport
|
|
88
|
+
from langflow_control_plane_sdk.models.sync_request import SyncRequest as SyncRequest
|
|
89
|
+
from langflow_control_plane_sdk.models.sync_summary import SyncSummary as SyncSummary
|
|
72
90
|
|
|
@@ -24,6 +24,8 @@ from langflow_control_plane_sdk.models.deployment_detail import DeploymentDetail
|
|
|
24
24
|
from langflow_control_plane_sdk.models.deployment_list import DeploymentList
|
|
25
25
|
from langflow_control_plane_sdk.models.patch_deployment import PatchDeployment
|
|
26
26
|
from langflow_control_plane_sdk.models.replace_deployment import ReplaceDeployment
|
|
27
|
+
from langflow_control_plane_sdk.models.sync_report import SyncReport
|
|
28
|
+
from langflow_control_plane_sdk.models.sync_request import SyncRequest
|
|
27
29
|
|
|
28
30
|
from langflow_control_plane_sdk.api_client import ApiClient, RequestSerialized
|
|
29
31
|
from langflow_control_plane_sdk.api_response import ApiResponse
|
|
@@ -623,6 +625,304 @@ class DeploymentsApi:
|
|
|
623
625
|
|
|
624
626
|
|
|
625
627
|
|
|
628
|
+
@validate_call
|
|
629
|
+
async def dependency_sync(
|
|
630
|
+
self,
|
|
631
|
+
sync_request: SyncRequest,
|
|
632
|
+
_request_timeout: Union[
|
|
633
|
+
None,
|
|
634
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
635
|
+
Tuple[
|
|
636
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
637
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
638
|
+
]
|
|
639
|
+
] = None,
|
|
640
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
641
|
+
_content_type: Optional[StrictStr] = None,
|
|
642
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
643
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
644
|
+
) -> SyncReport:
|
|
645
|
+
"""Provision the Knowledge Bases and Memory Bases a Deployment's Flows depend on
|
|
646
|
+
|
|
647
|
+
Idempotently provisions the Knowledge Bases and Memory Bases that deployed Flows depend on into the execution plane. The operation is additive and does not roll back: each manifest item reconciles independently to created, unchanged, or failed. Per-item failures are reported inside the 200 response body (see SyncReport); only request-level failures (validation, execution-plane preflight abort) use the error envelope. Success means provisioned and correctly configured — not populated with vector data.
|
|
648
|
+
|
|
649
|
+
:param sync_request: (required)
|
|
650
|
+
:type sync_request: SyncRequest
|
|
651
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
652
|
+
number provided, it will be total request
|
|
653
|
+
timeout. It can also be a pair (tuple) of
|
|
654
|
+
(connection, read) timeouts.
|
|
655
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
656
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
657
|
+
request; this effectively ignores the
|
|
658
|
+
authentication in the spec for a single request.
|
|
659
|
+
:type _request_auth: dict, optional
|
|
660
|
+
:param _content_type: force content-type for the request.
|
|
661
|
+
:type _content_type: str, Optional
|
|
662
|
+
:param _headers: set to override the headers for a single
|
|
663
|
+
request; this effectively ignores the headers
|
|
664
|
+
in the spec for a single request.
|
|
665
|
+
:type _headers: dict, optional
|
|
666
|
+
:param _host_index: set to override the host_index for a single
|
|
667
|
+
request; this effectively ignores the host_index
|
|
668
|
+
in the spec for a single request.
|
|
669
|
+
:type _host_index: int, optional
|
|
670
|
+
:return: Returns the result object.
|
|
671
|
+
""" # noqa: E501
|
|
672
|
+
|
|
673
|
+
_param = self._dependency_sync_serialize(
|
|
674
|
+
sync_request=sync_request,
|
|
675
|
+
_request_auth=_request_auth,
|
|
676
|
+
_content_type=_content_type,
|
|
677
|
+
_headers=_headers,
|
|
678
|
+
_host_index=_host_index
|
|
679
|
+
)
|
|
680
|
+
|
|
681
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
682
|
+
'200': "SyncReport",
|
|
683
|
+
'400': "ErrorEnvelope",
|
|
684
|
+
'401': "ErrorEnvelope",
|
|
685
|
+
'403': "ErrorEnvelope",
|
|
686
|
+
'413': "ErrorEnvelope",
|
|
687
|
+
'422': "ErrorEnvelope",
|
|
688
|
+
'429': "ErrorEnvelope",
|
|
689
|
+
'500': "ErrorEnvelope",
|
|
690
|
+
'503': "ErrorEnvelope",
|
|
691
|
+
}
|
|
692
|
+
response_data = await self.api_client.call_api(
|
|
693
|
+
*_param,
|
|
694
|
+
_request_timeout=_request_timeout
|
|
695
|
+
)
|
|
696
|
+
await response_data.read()
|
|
697
|
+
return self.api_client.response_deserialize(
|
|
698
|
+
response_data=response_data,
|
|
699
|
+
response_types_map=_response_types_map,
|
|
700
|
+
).data
|
|
701
|
+
|
|
702
|
+
|
|
703
|
+
@validate_call
|
|
704
|
+
async def dependency_sync_with_http_info(
|
|
705
|
+
self,
|
|
706
|
+
sync_request: SyncRequest,
|
|
707
|
+
_request_timeout: Union[
|
|
708
|
+
None,
|
|
709
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
710
|
+
Tuple[
|
|
711
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
712
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
713
|
+
]
|
|
714
|
+
] = None,
|
|
715
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
716
|
+
_content_type: Optional[StrictStr] = None,
|
|
717
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
718
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
719
|
+
) -> ApiResponse[SyncReport]:
|
|
720
|
+
"""Provision the Knowledge Bases and Memory Bases a Deployment's Flows depend on
|
|
721
|
+
|
|
722
|
+
Idempotently provisions the Knowledge Bases and Memory Bases that deployed Flows depend on into the execution plane. The operation is additive and does not roll back: each manifest item reconciles independently to created, unchanged, or failed. Per-item failures are reported inside the 200 response body (see SyncReport); only request-level failures (validation, execution-plane preflight abort) use the error envelope. Success means provisioned and correctly configured — not populated with vector data.
|
|
723
|
+
|
|
724
|
+
:param sync_request: (required)
|
|
725
|
+
:type sync_request: SyncRequest
|
|
726
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
727
|
+
number provided, it will be total request
|
|
728
|
+
timeout. It can also be a pair (tuple) of
|
|
729
|
+
(connection, read) timeouts.
|
|
730
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
731
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
732
|
+
request; this effectively ignores the
|
|
733
|
+
authentication in the spec for a single request.
|
|
734
|
+
:type _request_auth: dict, optional
|
|
735
|
+
:param _content_type: force content-type for the request.
|
|
736
|
+
:type _content_type: str, Optional
|
|
737
|
+
:param _headers: set to override the headers for a single
|
|
738
|
+
request; this effectively ignores the headers
|
|
739
|
+
in the spec for a single request.
|
|
740
|
+
:type _headers: dict, optional
|
|
741
|
+
:param _host_index: set to override the host_index for a single
|
|
742
|
+
request; this effectively ignores the host_index
|
|
743
|
+
in the spec for a single request.
|
|
744
|
+
:type _host_index: int, optional
|
|
745
|
+
:return: Returns the result object.
|
|
746
|
+
""" # noqa: E501
|
|
747
|
+
|
|
748
|
+
_param = self._dependency_sync_serialize(
|
|
749
|
+
sync_request=sync_request,
|
|
750
|
+
_request_auth=_request_auth,
|
|
751
|
+
_content_type=_content_type,
|
|
752
|
+
_headers=_headers,
|
|
753
|
+
_host_index=_host_index
|
|
754
|
+
)
|
|
755
|
+
|
|
756
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
757
|
+
'200': "SyncReport",
|
|
758
|
+
'400': "ErrorEnvelope",
|
|
759
|
+
'401': "ErrorEnvelope",
|
|
760
|
+
'403': "ErrorEnvelope",
|
|
761
|
+
'413': "ErrorEnvelope",
|
|
762
|
+
'422': "ErrorEnvelope",
|
|
763
|
+
'429': "ErrorEnvelope",
|
|
764
|
+
'500': "ErrorEnvelope",
|
|
765
|
+
'503': "ErrorEnvelope",
|
|
766
|
+
}
|
|
767
|
+
response_data = await self.api_client.call_api(
|
|
768
|
+
*_param,
|
|
769
|
+
_request_timeout=_request_timeout
|
|
770
|
+
)
|
|
771
|
+
await response_data.read()
|
|
772
|
+
return self.api_client.response_deserialize(
|
|
773
|
+
response_data=response_data,
|
|
774
|
+
response_types_map=_response_types_map,
|
|
775
|
+
)
|
|
776
|
+
|
|
777
|
+
|
|
778
|
+
@validate_call
|
|
779
|
+
async def dependency_sync_without_preload_content(
|
|
780
|
+
self,
|
|
781
|
+
sync_request: SyncRequest,
|
|
782
|
+
_request_timeout: Union[
|
|
783
|
+
None,
|
|
784
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
785
|
+
Tuple[
|
|
786
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
787
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
788
|
+
]
|
|
789
|
+
] = None,
|
|
790
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
791
|
+
_content_type: Optional[StrictStr] = None,
|
|
792
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
793
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
794
|
+
) -> RESTResponseType:
|
|
795
|
+
"""Provision the Knowledge Bases and Memory Bases a Deployment's Flows depend on
|
|
796
|
+
|
|
797
|
+
Idempotently provisions the Knowledge Bases and Memory Bases that deployed Flows depend on into the execution plane. The operation is additive and does not roll back: each manifest item reconciles independently to created, unchanged, or failed. Per-item failures are reported inside the 200 response body (see SyncReport); only request-level failures (validation, execution-plane preflight abort) use the error envelope. Success means provisioned and correctly configured — not populated with vector data.
|
|
798
|
+
|
|
799
|
+
:param sync_request: (required)
|
|
800
|
+
:type sync_request: SyncRequest
|
|
801
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
802
|
+
number provided, it will be total request
|
|
803
|
+
timeout. It can also be a pair (tuple) of
|
|
804
|
+
(connection, read) timeouts.
|
|
805
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
806
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
807
|
+
request; this effectively ignores the
|
|
808
|
+
authentication in the spec for a single request.
|
|
809
|
+
:type _request_auth: dict, optional
|
|
810
|
+
:param _content_type: force content-type for the request.
|
|
811
|
+
:type _content_type: str, Optional
|
|
812
|
+
:param _headers: set to override the headers for a single
|
|
813
|
+
request; this effectively ignores the headers
|
|
814
|
+
in the spec for a single request.
|
|
815
|
+
:type _headers: dict, optional
|
|
816
|
+
:param _host_index: set to override the host_index for a single
|
|
817
|
+
request; this effectively ignores the host_index
|
|
818
|
+
in the spec for a single request.
|
|
819
|
+
:type _host_index: int, optional
|
|
820
|
+
:return: Returns the result object.
|
|
821
|
+
""" # noqa: E501
|
|
822
|
+
|
|
823
|
+
_param = self._dependency_sync_serialize(
|
|
824
|
+
sync_request=sync_request,
|
|
825
|
+
_request_auth=_request_auth,
|
|
826
|
+
_content_type=_content_type,
|
|
827
|
+
_headers=_headers,
|
|
828
|
+
_host_index=_host_index
|
|
829
|
+
)
|
|
830
|
+
|
|
831
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
832
|
+
'200': "SyncReport",
|
|
833
|
+
'400': "ErrorEnvelope",
|
|
834
|
+
'401': "ErrorEnvelope",
|
|
835
|
+
'403': "ErrorEnvelope",
|
|
836
|
+
'413': "ErrorEnvelope",
|
|
837
|
+
'422': "ErrorEnvelope",
|
|
838
|
+
'429': "ErrorEnvelope",
|
|
839
|
+
'500': "ErrorEnvelope",
|
|
840
|
+
'503': "ErrorEnvelope",
|
|
841
|
+
}
|
|
842
|
+
response_data = await self.api_client.call_api(
|
|
843
|
+
*_param,
|
|
844
|
+
_request_timeout=_request_timeout
|
|
845
|
+
)
|
|
846
|
+
return response_data.response
|
|
847
|
+
|
|
848
|
+
|
|
849
|
+
def _dependency_sync_serialize(
|
|
850
|
+
self,
|
|
851
|
+
sync_request,
|
|
852
|
+
_request_auth,
|
|
853
|
+
_content_type,
|
|
854
|
+
_headers,
|
|
855
|
+
_host_index,
|
|
856
|
+
) -> RequestSerialized:
|
|
857
|
+
|
|
858
|
+
_host = None
|
|
859
|
+
|
|
860
|
+
_collection_formats: Dict[str, str] = {
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
_path_params: Dict[str, str] = {}
|
|
864
|
+
_query_params: List[Tuple[str, str]] = []
|
|
865
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
866
|
+
_form_params: List[Tuple[str, str]] = []
|
|
867
|
+
_files: Dict[
|
|
868
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
869
|
+
] = {}
|
|
870
|
+
_body_params: Optional[bytes] = None
|
|
871
|
+
|
|
872
|
+
# process the path parameters
|
|
873
|
+
# process the query parameters
|
|
874
|
+
# process the header parameters
|
|
875
|
+
# process the form parameters
|
|
876
|
+
# process the body parameter
|
|
877
|
+
if sync_request is not None:
|
|
878
|
+
_body_params = sync_request
|
|
879
|
+
|
|
880
|
+
|
|
881
|
+
# set the HTTP header `Accept`
|
|
882
|
+
if 'Accept' not in _header_params:
|
|
883
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
884
|
+
[
|
|
885
|
+
'application/json'
|
|
886
|
+
]
|
|
887
|
+
)
|
|
888
|
+
|
|
889
|
+
# set the HTTP header `Content-Type`
|
|
890
|
+
if _content_type:
|
|
891
|
+
_header_params['Content-Type'] = _content_type
|
|
892
|
+
else:
|
|
893
|
+
_default_content_type = (
|
|
894
|
+
self.api_client.select_header_content_type(
|
|
895
|
+
[
|
|
896
|
+
'application/json'
|
|
897
|
+
]
|
|
898
|
+
)
|
|
899
|
+
)
|
|
900
|
+
if _default_content_type is not None:
|
|
901
|
+
_header_params['Content-Type'] = _default_content_type
|
|
902
|
+
|
|
903
|
+
# authentication setting
|
|
904
|
+
_auth_settings: List[str] = [
|
|
905
|
+
'LangflowAPIKey'
|
|
906
|
+
]
|
|
907
|
+
|
|
908
|
+
return self.api_client.param_serialize(
|
|
909
|
+
method='POST',
|
|
910
|
+
resource_path='/api/v1/deployments/dependency-sync',
|
|
911
|
+
path_params=_path_params,
|
|
912
|
+
query_params=_query_params,
|
|
913
|
+
header_params=_header_params,
|
|
914
|
+
body=_body_params,
|
|
915
|
+
post_params=_form_params,
|
|
916
|
+
files=_files,
|
|
917
|
+
auth_settings=_auth_settings,
|
|
918
|
+
collection_formats=_collection_formats,
|
|
919
|
+
_host=_host,
|
|
920
|
+
_request_auth=_request_auth
|
|
921
|
+
)
|
|
922
|
+
|
|
923
|
+
|
|
924
|
+
|
|
925
|
+
|
|
626
926
|
@validate_call
|
|
627
927
|
async def get_deployment(
|
|
628
928
|
self,
|
|
@@ -903,7 +1203,7 @@ class DeploymentsApi:
|
|
|
903
1203
|
async def list_deployments(
|
|
904
1204
|
self,
|
|
905
1205
|
slug: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=63)]] = None,
|
|
906
|
-
cursor: Optional[StrictStr] = None,
|
|
1206
|
+
cursor: Annotated[Optional[StrictStr], Field(description="Opaque pagination token from a previous list response's nextCursor. Pass it back unchanged. Clients must not parse, decode, or construct cursor values; the encoding is unspecified and may change.")] = None,
|
|
907
1207
|
limit: Optional[Annotated[int, Field(le=200, strict=True, ge=1)]] = None,
|
|
908
1208
|
_request_timeout: Union[
|
|
909
1209
|
None,
|
|
@@ -923,7 +1223,7 @@ class DeploymentsApi:
|
|
|
923
1223
|
|
|
924
1224
|
:param slug:
|
|
925
1225
|
:type slug: str
|
|
926
|
-
:param cursor:
|
|
1226
|
+
:param cursor: Opaque pagination token from a previous list response's nextCursor. Pass it back unchanged. Clients must not parse, decode, or construct cursor values; the encoding is unspecified and may change.
|
|
927
1227
|
:type cursor: str
|
|
928
1228
|
:param limit:
|
|
929
1229
|
:type limit: int
|
|
@@ -983,7 +1283,7 @@ class DeploymentsApi:
|
|
|
983
1283
|
async def list_deployments_with_http_info(
|
|
984
1284
|
self,
|
|
985
1285
|
slug: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=63)]] = None,
|
|
986
|
-
cursor: Optional[StrictStr] = None,
|
|
1286
|
+
cursor: Annotated[Optional[StrictStr], Field(description="Opaque pagination token from a previous list response's nextCursor. Pass it back unchanged. Clients must not parse, decode, or construct cursor values; the encoding is unspecified and may change.")] = None,
|
|
987
1287
|
limit: Optional[Annotated[int, Field(le=200, strict=True, ge=1)]] = None,
|
|
988
1288
|
_request_timeout: Union[
|
|
989
1289
|
None,
|
|
@@ -1003,7 +1303,7 @@ class DeploymentsApi:
|
|
|
1003
1303
|
|
|
1004
1304
|
:param slug:
|
|
1005
1305
|
:type slug: str
|
|
1006
|
-
:param cursor:
|
|
1306
|
+
:param cursor: Opaque pagination token from a previous list response's nextCursor. Pass it back unchanged. Clients must not parse, decode, or construct cursor values; the encoding is unspecified and may change.
|
|
1007
1307
|
:type cursor: str
|
|
1008
1308
|
:param limit:
|
|
1009
1309
|
:type limit: int
|
|
@@ -1063,7 +1363,7 @@ class DeploymentsApi:
|
|
|
1063
1363
|
async def list_deployments_without_preload_content(
|
|
1064
1364
|
self,
|
|
1065
1365
|
slug: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=63)]] = None,
|
|
1066
|
-
cursor: Optional[StrictStr] = None,
|
|
1366
|
+
cursor: Annotated[Optional[StrictStr], Field(description="Opaque pagination token from a previous list response's nextCursor. Pass it back unchanged. Clients must not parse, decode, or construct cursor values; the encoding is unspecified and may change.")] = None,
|
|
1067
1367
|
limit: Optional[Annotated[int, Field(le=200, strict=True, ge=1)]] = None,
|
|
1068
1368
|
_request_timeout: Union[
|
|
1069
1369
|
None,
|
|
@@ -1083,7 +1383,7 @@ class DeploymentsApi:
|
|
|
1083
1383
|
|
|
1084
1384
|
:param slug:
|
|
1085
1385
|
:type slug: str
|
|
1086
|
-
:param cursor:
|
|
1386
|
+
:param cursor: Opaque pagination token from a previous list response's nextCursor. Pass it back unchanged. Clients must not parse, decode, or construct cursor values; the encoding is unspecified and may change.
|
|
1087
1387
|
:type cursor: str
|
|
1088
1388
|
:param limit:
|
|
1089
1389
|
:type limit: int
|
|
@@ -91,7 +91,7 @@ class ApiClient:
|
|
|
91
91
|
self.default_headers[header_name] = header_value
|
|
92
92
|
self.cookie = cookie
|
|
93
93
|
# Set default User-Agent.
|
|
94
|
-
self.user_agent = 'OpenAPI-Generator/0.0.0.
|
|
94
|
+
self.user_agent = 'OpenAPI-Generator/0.0.0.dev2/python'
|
|
95
95
|
self.client_side_validation = configuration.client_side_validation
|
|
96
96
|
|
|
97
97
|
async def __aenter__(self):
|
|
@@ -553,7 +553,7 @@ conf = langflow_control_plane_sdk.Configuration(
|
|
|
553
553
|
"OS: {env}\n"\
|
|
554
554
|
"Python Version: {pyversion}\n"\
|
|
555
555
|
"Version of the API: 0.0\n"\
|
|
556
|
-
"SDK Package Version: 0.0.0.
|
|
556
|
+
"SDK Package Version: 0.0.0.dev2".\
|
|
557
557
|
format(env=sys.platform, pyversion=sys.version)
|
|
558
558
|
|
|
559
559
|
def get_host_settings(self) -> List[HostSetting]:
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
""" # noqa: E501
|
|
14
14
|
|
|
15
15
|
# import models into model package
|
|
16
|
+
from langflow_control_plane_sdk.models.backend_type import BackendType
|
|
17
|
+
from langflow_control_plane_sdk.models.column_config import ColumnConfig
|
|
16
18
|
from langflow_control_plane_sdk.models.create_deployment import CreateDeployment
|
|
17
19
|
from langflow_control_plane_sdk.models.deployment_detail import DeploymentDetail
|
|
18
20
|
from langflow_control_plane_sdk.models.deployment_list import DeploymentList
|
|
@@ -20,9 +22,16 @@ from langflow_control_plane_sdk.models.deployment_list_item import DeploymentLis
|
|
|
20
22
|
from langflow_control_plane_sdk.models.error_body import ErrorBody
|
|
21
23
|
from langflow_control_plane_sdk.models.error_code import ErrorCode
|
|
22
24
|
from langflow_control_plane_sdk.models.error_envelope import ErrorEnvelope
|
|
23
|
-
from langflow_control_plane_sdk.models.
|
|
25
|
+
from langflow_control_plane_sdk.models.flow import Flow
|
|
24
26
|
from langflow_control_plane_sdk.models.flow_payload import FlowPayload
|
|
25
27
|
from langflow_control_plane_sdk.models.flow_payload_data import FlowPayloadData
|
|
28
|
+
from langflow_control_plane_sdk.models.flow_ref import FlowRef
|
|
29
|
+
from langflow_control_plane_sdk.models.knowledge_base_item import KnowledgeBaseItem
|
|
30
|
+
from langflow_control_plane_sdk.models.memory_base_item import MemoryBaseItem
|
|
26
31
|
from langflow_control_plane_sdk.models.patch_deployment import PatchDeployment
|
|
27
32
|
from langflow_control_plane_sdk.models.replace_deployment import ReplaceDeployment
|
|
33
|
+
from langflow_control_plane_sdk.models.sync_item_result import SyncItemResult
|
|
34
|
+
from langflow_control_plane_sdk.models.sync_report import SyncReport
|
|
35
|
+
from langflow_control_plane_sdk.models.sync_request import SyncRequest
|
|
36
|
+
from langflow_control_plane_sdk.models.sync_summary import SyncSummary
|
|
28
37
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Langflow Control Plane API
|
|
5
|
+
|
|
6
|
+
Manage Langflow Runtime Deployments.
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 0.0
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import json
|
|
17
|
+
from enum import Enum
|
|
18
|
+
from typing_extensions import Self
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class BackendType(str, Enum):
|
|
22
|
+
"""
|
|
23
|
+
chroma requires backendConfig.mode = \"cloud\"; local chroma is not permitted.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
"""
|
|
27
|
+
allowed enum values
|
|
28
|
+
"""
|
|
29
|
+
POSTGRES = 'postgres'
|
|
30
|
+
OPENSEARCH = 'opensearch'
|
|
31
|
+
CHROMA = 'chroma'
|
|
32
|
+
|
|
33
|
+
@classmethod
|
|
34
|
+
def from_json(cls, json_str: str) -> Self:
|
|
35
|
+
"""Create an instance of BackendType from a JSON string"""
|
|
36
|
+
return cls(json.loads(json_str))
|
|
37
|
+
|
|
38
|
+
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Langflow Control Plane API
|
|
5
|
+
|
|
6
|
+
Manage Langflow Runtime Deployments.
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 0.0
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
|
21
|
+
from typing import Any, ClassVar, Dict, Optional
|
|
22
|
+
from typing import Optional, Set
|
|
23
|
+
from typing_extensions import Self
|
|
24
|
+
from pydantic_core import to_jsonable_python
|
|
25
|
+
|
|
26
|
+
class ColumnConfig(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
ColumnConfig
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
column_name: StrictStr = Field(alias="columnName")
|
|
31
|
+
vectorize: Optional[StrictBool] = False
|
|
32
|
+
identifier: Optional[StrictBool] = False
|
|
33
|
+
__properties: ClassVar[List[str]] = ["columnName", "vectorize", "identifier"]
|
|
34
|
+
|
|
35
|
+
model_config = ConfigDict(
|
|
36
|
+
validate_by_name=True,
|
|
37
|
+
validate_by_alias=True,
|
|
38
|
+
validate_assignment=True,
|
|
39
|
+
protected_namespaces=(),
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def to_str(self) -> str:
|
|
44
|
+
"""Returns the string representation of the model using alias"""
|
|
45
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
46
|
+
|
|
47
|
+
def to_json(self) -> str:
|
|
48
|
+
"""Returns the JSON representation of the model using alias"""
|
|
49
|
+
return json.dumps(to_jsonable_python(self.to_dict()))
|
|
50
|
+
|
|
51
|
+
@classmethod
|
|
52
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
53
|
+
"""Create an instance of ColumnConfig from a JSON string"""
|
|
54
|
+
return cls.from_dict(json.loads(json_str))
|
|
55
|
+
|
|
56
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
57
|
+
"""Return the dictionary representation of the model using alias.
|
|
58
|
+
|
|
59
|
+
This has the following differences from calling pydantic's
|
|
60
|
+
`self.model_dump(by_alias=True)`:
|
|
61
|
+
|
|
62
|
+
* `None` is only added to the output dict for nullable fields that
|
|
63
|
+
were set at model initialization. Other fields with value `None`
|
|
64
|
+
are ignored.
|
|
65
|
+
"""
|
|
66
|
+
excluded_fields: Set[str] = set([
|
|
67
|
+
])
|
|
68
|
+
|
|
69
|
+
_dict = self.model_dump(
|
|
70
|
+
by_alias=True,
|
|
71
|
+
exclude=excluded_fields,
|
|
72
|
+
exclude_none=True,
|
|
73
|
+
)
|
|
74
|
+
return _dict
|
|
75
|
+
|
|
76
|
+
@classmethod
|
|
77
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
78
|
+
"""Create an instance of ColumnConfig from a dict"""
|
|
79
|
+
if obj is None:
|
|
80
|
+
return None
|
|
81
|
+
|
|
82
|
+
if not isinstance(obj, dict):
|
|
83
|
+
return cls.model_validate(obj)
|
|
84
|
+
|
|
85
|
+
_obj = cls.model_validate({
|
|
86
|
+
"columnName": obj.get("columnName"),
|
|
87
|
+
"vectorize": obj.get("vectorize") if obj.get("vectorize") is not None else False,
|
|
88
|
+
"identifier": obj.get("identifier") if obj.get("identifier") is not None else False
|
|
89
|
+
})
|
|
90
|
+
return _obj
|
|
91
|
+
|
|
92
|
+
|