dex-python-sdk 1.0.0__tar.gz → 1.2.1__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.
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/PKG-INFO +10 -1
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/README.md +9 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/__init__.py +2 -2
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/_grpc_errors.py +2 -2
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/async_client.py +15 -10
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/client.py +15 -10
- dex_python_sdk-1.2.1/dex/dexpb/dex_pb2.py +509 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/dexpb/dex_pb2.pyi +4 -2
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/runtime_errors.py +19 -2
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/pyproject.toml +1 -1
- dex_python_sdk-1.0.0/dex/dexpb/dex_pb2.py +0 -509
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/LEGACY_NOTICES.md +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/LICENSE +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/_async_value_hydrator.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/_async_worker_dispatcher.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/_async_worker_service.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/_invocation_context.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/_native.pyi +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/_server_protocol.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/_utils.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/_value_hydrator.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/_value_mapper.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/_worker_dispatcher.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/_worker_service.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/async_worker.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/attribute.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/attribute_match.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/blob_cache.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/channel.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/client_options.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/codec.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/condition.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/context.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/dexpb/__init__.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/dexpb/dex_pb2_grpc.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/flow.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/flow_config.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/flow_info.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/flow_options.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/flow_result.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/py.typed +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/rpc_invoke_options.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/step.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/step_execution.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/stream.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/subflow.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/timer.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/wait.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/wait_options.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/worker.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/dex/worker_options.py +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/sdk-rust/Cargo.lock +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/sdk-rust/Cargo.toml +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/sdk-rust/crates/dex-blob-cache/Cargo.toml +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/sdk-rust/crates/dex-blob-cache/LICENSE +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/sdk-rust/crates/dex-blob-cache/src/config.rs +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/sdk-rust/crates/dex-blob-cache/src/entry.rs +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/sdk-rust/crates/dex-blob-cache/src/error.rs +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/sdk-rust/crates/dex-blob-cache/src/format.rs +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/sdk-rust/crates/dex-blob-cache/src/lib.rs +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/sdk-rust/crates/dex-blob-cache/src/policy.rs +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/sdk-rust/crates/dex-blob-cache/src/store.rs +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/sdk-rust/crates/dex-blob-cache/tests/blob_cache_integration.rs +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/sdk-rust/crates/dex-blob-cache-python/Cargo.toml +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/sdk-rust/crates/dex-blob-cache-python/LICENSE +0 -0
- {dex_python_sdk-1.0.0 → dex_python_sdk-1.2.1}/sdk-rust/crates/dex-blob-cache-python/src/lib.rs +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dex-python-sdk
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.1
|
|
4
4
|
Requires-Dist: grpcio>=1.83.0
|
|
5
5
|
Requires-Dist: grpcio-status>=1.83.0
|
|
6
6
|
Requires-Dist: protobuf>=7.35.1
|
|
@@ -606,3 +606,12 @@ It does not affect protocol compatibility.
|
|
|
606
606
|
[Sustainable Use License 1.0](LICENSE), with legacy portions under their
|
|
607
607
|
original terms as described in [LEGACY_NOTICES.md](LEGACY_NOTICES.md).
|
|
608
608
|
|
|
609
|
+
## Search run inclusion
|
|
610
|
+
|
|
611
|
+
Dex Server excludes ContinuedAsNew runs by default. Application queries still
|
|
612
|
+
need `FlowType` when using shared index slots. An explicit inclusion option
|
|
613
|
+
removes only the default exclusion; it does not override query filters. Keep
|
|
614
|
+
the query, inclusion option, and page size consistent across pages.
|
|
615
|
+
|
|
616
|
+
Pass keyword-only `include_continued_as_new=True` to synchronous or asynchronous `search_flows` for execution-chain inspection. The default is `False`.
|
|
617
|
+
|
|
@@ -589,3 +589,12 @@ It does not affect protocol compatibility.
|
|
|
589
589
|
|
|
590
590
|
[Sustainable Use License 1.0](LICENSE), with legacy portions under their
|
|
591
591
|
original terms as described in [LEGACY_NOTICES.md](LEGACY_NOTICES.md).
|
|
592
|
+
|
|
593
|
+
## Search run inclusion
|
|
594
|
+
|
|
595
|
+
Dex Server excludes ContinuedAsNew runs by default. Application queries still
|
|
596
|
+
need `FlowType` when using shared index slots. An explicit inclusion option
|
|
597
|
+
removes only the default exclusion; it does not override query filters. Keep
|
|
598
|
+
the query, inclusion option, and page size consistent across pages.
|
|
599
|
+
|
|
600
|
+
Pass keyword-only `include_continued_as_new=True` to synchronous or asynchronous `search_flows` for execution-chain inspection. The default is `False`.
|
|
@@ -70,7 +70,7 @@ from dex.runtime_errors import (
|
|
|
70
70
|
FlowAlreadyStartedError,
|
|
71
71
|
FlowDefinitionError,
|
|
72
72
|
FlowErrorType,
|
|
73
|
-
|
|
73
|
+
FlowNotActiveOrNotFoundError,
|
|
74
74
|
FlowNotFoundError,
|
|
75
75
|
InvalidStepResultError,
|
|
76
76
|
LongPollTimeoutError,
|
|
@@ -156,7 +156,7 @@ __all__ = [
|
|
|
156
156
|
"FlowErrorType",
|
|
157
157
|
"FlowInfo",
|
|
158
158
|
"FlowResult",
|
|
159
|
-
"
|
|
159
|
+
"FlowNotActiveOrNotFoundError",
|
|
160
160
|
"FlowNotFoundError",
|
|
161
161
|
"FlowStatus",
|
|
162
162
|
"FlowTimeoutHandlerOptions",
|
|
@@ -23,7 +23,7 @@ from dex.runtime_errors import (
|
|
|
23
23
|
DexServiceError,
|
|
24
24
|
ErrorSubStatus,
|
|
25
25
|
FlowAlreadyStartedError,
|
|
26
|
-
|
|
26
|
+
FlowNotActiveOrNotFoundError,
|
|
27
27
|
FlowNotFoundError,
|
|
28
28
|
LongPollTimeoutError,
|
|
29
29
|
RequestTimeoutError,
|
|
@@ -129,7 +129,7 @@ def translate_rpc_error(
|
|
|
129
129
|
if requirement == "existing":
|
|
130
130
|
return FlowNotFoundError(*parameters)
|
|
131
131
|
if requirement == "active":
|
|
132
|
-
return
|
|
132
|
+
return FlowNotActiveOrNotFoundError(*parameters)
|
|
133
133
|
return DexServiceError(*parameters)
|
|
134
134
|
if sub_status is ErrorSubStatus.WORKER_API_ERROR:
|
|
135
135
|
if code is grpc.StatusCode.ABORTED:
|
|
@@ -283,8 +283,9 @@ class AsyncClient:
|
|
|
283
283
|
RpcLockConflictError: If Attribute locks cannot be acquired.
|
|
284
284
|
WorkerInvocationError: If the application handler fails.
|
|
285
285
|
ValueMappingError: If input or output mapping fails.
|
|
286
|
-
|
|
287
|
-
|
|
286
|
+
FlowNotActiveOrNotFoundError: If the Flow is missing or the selected path
|
|
287
|
+
cannot use its closed execution.
|
|
288
|
+
DexServiceError: If the service call otherwise fails.
|
|
288
289
|
"""
|
|
289
290
|
registered_flow, rpc = self.registry._rpc_for_method(rpc_method)
|
|
290
291
|
(
|
|
@@ -566,7 +567,7 @@ class AsyncClient:
|
|
|
566
567
|
options: Stop mode and optional recorded reason.
|
|
567
568
|
|
|
568
569
|
Raises:
|
|
569
|
-
|
|
570
|
+
FlowNotActiveOrNotFoundError: If no active run exists.
|
|
570
571
|
DexServiceError: If FlowService rejects or cannot perform the request.
|
|
571
572
|
"""
|
|
572
573
|
await self._call(
|
|
@@ -621,6 +622,8 @@ class AsyncClient:
|
|
|
621
622
|
query: str,
|
|
622
623
|
page_size: int,
|
|
623
624
|
next_page_token: str = "",
|
|
625
|
+
*,
|
|
626
|
+
include_continued_as_new: bool = False,
|
|
624
627
|
) -> SearchFlowsPage:
|
|
625
628
|
"""Return one page of Flow runs matching a visibility query.
|
|
626
629
|
|
|
@@ -628,6 +631,7 @@ class AsyncClient:
|
|
|
628
631
|
query: A Dex visibility query; an empty string uses server defaults.
|
|
629
632
|
page_size: The non-negative maximum result count requested.
|
|
630
633
|
next_page_token: Opaque token from the preceding page, or ``""`` first.
|
|
634
|
+
include_continued_as_new: Include earlier runs without overriding query filters.
|
|
631
635
|
|
|
632
636
|
Returns:
|
|
633
637
|
Server-ordered entries with hydrated indexed Attributes and a next token.
|
|
@@ -647,6 +651,7 @@ class AsyncClient:
|
|
|
647
651
|
query=query,
|
|
648
652
|
page_size=page_size,
|
|
649
653
|
next_page_token=next_page_token,
|
|
654
|
+
include_continued_as_new=include_continued_as_new,
|
|
650
655
|
),
|
|
651
656
|
"search_flows",
|
|
652
657
|
None,
|
|
@@ -743,7 +748,7 @@ class AsyncClient:
|
|
|
743
748
|
timer_id: Exactly one Timer condition ID or zero-based index.
|
|
744
749
|
|
|
745
750
|
Raises:
|
|
746
|
-
|
|
751
|
+
FlowNotActiveOrNotFoundError: If the Flow is missing or closed.
|
|
747
752
|
ValueError: If an identifier is invalid.
|
|
748
753
|
DexServiceError: If FlowService cannot skip the Timer.
|
|
749
754
|
"""
|
|
@@ -783,7 +788,7 @@ class AsyncClient:
|
|
|
783
788
|
Raises:
|
|
784
789
|
ValueError: If the Request ID or request timeout is invalid.
|
|
785
790
|
RequestTimeoutError: If a positive request timeout expires first.
|
|
786
|
-
|
|
791
|
+
FlowNotActiveOrNotFoundError: If the Flow is missing or closes first.
|
|
787
792
|
DexServiceError: If FlowService cannot perform the wait.
|
|
788
793
|
"""
|
|
789
794
|
request_budget = _ClientRequestBudget(options.request_timeout)
|
|
@@ -854,7 +859,7 @@ class AsyncClient:
|
|
|
854
859
|
Raises:
|
|
855
860
|
ValueError: If an identifier, option, or match operand is invalid.
|
|
856
861
|
RequestTimeoutError: If a positive request timeout expires first.
|
|
857
|
-
|
|
862
|
+
FlowNotActiveOrNotFoundError: If the Flow is missing or closes first.
|
|
858
863
|
DexServiceError: If FlowService cannot perform the wait.
|
|
859
864
|
"""
|
|
860
865
|
...
|
|
@@ -886,7 +891,7 @@ class AsyncClient:
|
|
|
886
891
|
Raises:
|
|
887
892
|
ValueError: If an identifier, option, or match operand is invalid.
|
|
888
893
|
RequestTimeoutError: If a positive request timeout expires first.
|
|
889
|
-
|
|
894
|
+
FlowNotActiveOrNotFoundError: If the Flow is missing or closes first.
|
|
890
895
|
DexServiceError: If FlowService cannot perform the wait.
|
|
891
896
|
"""
|
|
892
897
|
...
|
|
@@ -916,7 +921,7 @@ class AsyncClient:
|
|
|
916
921
|
TypeError: If arguments do not match the Attribute definition.
|
|
917
922
|
ValueError: If an identifier, option, or expected value is invalid.
|
|
918
923
|
RequestTimeoutError: If a positive request timeout expires first.
|
|
919
|
-
|
|
924
|
+
FlowNotActiveOrNotFoundError: If the Flow is missing or closes first.
|
|
920
925
|
DexServiceError: If FlowService cannot perform the wait.
|
|
921
926
|
"""
|
|
922
927
|
instance, match, options = self._attribute_wait_arguments(
|
|
@@ -996,7 +1001,7 @@ class AsyncClient:
|
|
|
996
1001
|
config: New optional fields applied to later decisions.
|
|
997
1002
|
|
|
998
1003
|
Raises:
|
|
999
|
-
|
|
1004
|
+
FlowNotActiveOrNotFoundError: If the Flow is missing or closed.
|
|
1000
1005
|
ValueError: If a configuration value is invalid.
|
|
1001
1006
|
DexServiceError: If FlowService cannot apply the update.
|
|
1002
1007
|
"""
|
|
@@ -1020,7 +1025,7 @@ class AsyncClient:
|
|
|
1020
1025
|
flow_id: The non-empty active Flow ID.
|
|
1021
1026
|
|
|
1022
1027
|
Raises:
|
|
1023
|
-
|
|
1028
|
+
FlowNotActiveOrNotFoundError: If the Flow is missing or closed.
|
|
1024
1029
|
DexServiceError: If FlowService cannot accept the request.
|
|
1025
1030
|
"""
|
|
1026
1031
|
await self._call(
|
|
@@ -282,8 +282,9 @@ class Client:
|
|
|
282
282
|
RpcLockConflictError: If requested Attribute locks cannot be acquired.
|
|
283
283
|
WorkerInvocationError: If the application handler fails.
|
|
284
284
|
ValueMappingError: If input or output mapping fails.
|
|
285
|
-
|
|
286
|
-
|
|
285
|
+
FlowNotActiveOrNotFoundError: If the Flow is missing or the selected path
|
|
286
|
+
cannot use its closed execution.
|
|
287
|
+
DexServiceError: If the service call otherwise fails.
|
|
287
288
|
"""
|
|
288
289
|
registered_flow, rpc = self.registry._rpc_for_method(rpc_method)
|
|
289
290
|
(
|
|
@@ -566,7 +567,7 @@ class Client:
|
|
|
566
567
|
options: Stop mode and optional recorded reason.
|
|
567
568
|
|
|
568
569
|
Raises:
|
|
569
|
-
|
|
570
|
+
FlowNotActiveOrNotFoundError: If no active run exists.
|
|
570
571
|
DexServiceError: If FlowService rejects or cannot perform the request.
|
|
571
572
|
"""
|
|
572
573
|
self._call(
|
|
@@ -621,6 +622,8 @@ class Client:
|
|
|
621
622
|
query: str,
|
|
622
623
|
page_size: int,
|
|
623
624
|
next_page_token: str = "",
|
|
625
|
+
*,
|
|
626
|
+
include_continued_as_new: bool = False,
|
|
624
627
|
) -> SearchFlowsPage:
|
|
625
628
|
"""Return one page of Flow runs matching a visibility query.
|
|
626
629
|
|
|
@@ -628,6 +631,7 @@ class Client:
|
|
|
628
631
|
query: A Dex visibility query; an empty string matches server defaults.
|
|
629
632
|
page_size: The non-negative maximum result count requested.
|
|
630
633
|
next_page_token: Opaque token from the preceding page, or ``""`` first.
|
|
634
|
+
include_continued_as_new: Include earlier runs without overriding query filters.
|
|
631
635
|
|
|
632
636
|
Returns:
|
|
633
637
|
Server-ordered entries with hydrated indexed Attributes and a next token.
|
|
@@ -647,6 +651,7 @@ class Client:
|
|
|
647
651
|
query=query,
|
|
648
652
|
page_size=page_size,
|
|
649
653
|
next_page_token=next_page_token,
|
|
654
|
+
include_continued_as_new=include_continued_as_new,
|
|
650
655
|
),
|
|
651
656
|
"search_flows",
|
|
652
657
|
None,
|
|
@@ -741,7 +746,7 @@ class Client:
|
|
|
741
746
|
timer_id: Exactly one Timer condition ID or zero-based index.
|
|
742
747
|
|
|
743
748
|
Raises:
|
|
744
|
-
|
|
749
|
+
FlowNotActiveOrNotFoundError: If the Flow is missing or closed.
|
|
745
750
|
ValueError: If an identifier is invalid.
|
|
746
751
|
DexServiceError: If FlowService cannot skip the Timer.
|
|
747
752
|
"""
|
|
@@ -779,7 +784,7 @@ class Client:
|
|
|
779
784
|
Raises:
|
|
780
785
|
ValueError: If the Request ID or request timeout is invalid.
|
|
781
786
|
RequestTimeoutError: If a positive request timeout expires first.
|
|
782
|
-
|
|
787
|
+
FlowNotActiveOrNotFoundError: If the Flow is missing or closes first.
|
|
783
788
|
DexServiceError: If FlowService cannot perform the wait.
|
|
784
789
|
"""
|
|
785
790
|
request_budget = _ClientRequestBudget(options.request_timeout)
|
|
@@ -850,7 +855,7 @@ class Client:
|
|
|
850
855
|
Raises:
|
|
851
856
|
ValueError: If an identifier, option, or match operand is invalid.
|
|
852
857
|
RequestTimeoutError: If a positive request timeout expires first.
|
|
853
|
-
|
|
858
|
+
FlowNotActiveOrNotFoundError: If the Flow is missing or closes first.
|
|
854
859
|
DexServiceError: If FlowService cannot perform the wait.
|
|
855
860
|
"""
|
|
856
861
|
...
|
|
@@ -883,7 +888,7 @@ class Client:
|
|
|
883
888
|
Raises:
|
|
884
889
|
ValueError: If an identifier, option, or match operand is invalid.
|
|
885
890
|
RequestTimeoutError: If a positive request timeout expires first.
|
|
886
|
-
|
|
891
|
+
FlowNotActiveOrNotFoundError: If the Flow is missing or closes first.
|
|
887
892
|
DexServiceError: If FlowService cannot perform the wait.
|
|
888
893
|
"""
|
|
889
894
|
...
|
|
@@ -913,7 +918,7 @@ class Client:
|
|
|
913
918
|
TypeError: If arguments do not match the Attribute definition.
|
|
914
919
|
ValueError: If an identifier, option, or expected value is invalid.
|
|
915
920
|
RequestTimeoutError: If a positive request timeout expires first.
|
|
916
|
-
|
|
921
|
+
FlowNotActiveOrNotFoundError: If the Flow is missing or closes first.
|
|
917
922
|
DexServiceError: If FlowService cannot perform the wait.
|
|
918
923
|
"""
|
|
919
924
|
instance, match, options = self._attribute_wait_arguments(
|
|
@@ -996,7 +1001,7 @@ class Client:
|
|
|
996
1001
|
config: The new optional configuration fields.
|
|
997
1002
|
|
|
998
1003
|
Raises:
|
|
999
|
-
|
|
1004
|
+
FlowNotActiveOrNotFoundError: If the Flow is missing or closed.
|
|
1000
1005
|
ValueError: If a configuration value is invalid.
|
|
1001
1006
|
DexServiceError: If FlowService cannot apply the update.
|
|
1002
1007
|
"""
|
|
@@ -1021,7 +1026,7 @@ class Client:
|
|
|
1021
1026
|
flow_id: The non-empty active Flow ID.
|
|
1022
1027
|
|
|
1023
1028
|
Raises:
|
|
1024
|
-
|
|
1029
|
+
FlowNotActiveOrNotFoundError: If the Flow is missing or closed.
|
|
1025
1030
|
DexServiceError: If FlowService cannot accept the request.
|
|
1026
1031
|
"""
|
|
1027
1032
|
self._call(
|