wiil-python 0.0.6__py3-none-any.whl → 0.0.9__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wiil/models/request/paginated_result.py +1 -1
- wiil/resources/service_mgt/__init__.py +2 -0
- wiil/resources/service_mgt/dynamic_agent_status.py +192 -12
- wiil/resources/service_mgt/provisioning_configs.py +37 -133
- wiil/types/paginated_result.py +1 -1
- {wiil_python-0.0.6.dist-info → wiil_python-0.0.9.dist-info}/METADATA +1 -1
- {wiil_python-0.0.6.dist-info → wiil_python-0.0.9.dist-info}/RECORD +9 -9
- {wiil_python-0.0.6.dist-info → wiil_python-0.0.9.dist-info}/WHEEL +0 -0
- {wiil_python-0.0.6.dist-info → wiil_python-0.0.9.dist-info}/top_level.txt +0 -0
|
@@ -32,7 +32,7 @@ class PaginationMeta(BaseModel):
|
|
|
32
32
|
page: int = Field(..., gt=0, description="Current page number (1-based indexing)")
|
|
33
33
|
page_size: int = Field(
|
|
34
34
|
...,
|
|
35
|
-
|
|
35
|
+
ge=0,
|
|
36
36
|
le=1000,
|
|
37
37
|
description="Number of items per page - limited to 1000 for performance",
|
|
38
38
|
alias="pageSize"
|
|
@@ -21,6 +21,7 @@ from wiil.resources.service_mgt.support_models import SupportModelsResource
|
|
|
21
21
|
from wiil.resources.service_mgt.telephony_provider import TelephonyProviderResource
|
|
22
22
|
from wiil.resources.service_mgt.dynamic_agent_status import (
|
|
23
23
|
DynamicAgentStatusResource,
|
|
24
|
+
PollOptions,
|
|
24
25
|
PollTimeoutError,
|
|
25
26
|
)
|
|
26
27
|
from wiil.resources.service_mgt.dynamic_web_agent import (
|
|
@@ -45,6 +46,7 @@ __all__ = [
|
|
|
45
46
|
'SupportModelsResource',
|
|
46
47
|
'TelephonyProviderResource',
|
|
47
48
|
'DynamicAgentStatusResource',
|
|
49
|
+
'PollOptions',
|
|
48
50
|
'PollTimeoutError',
|
|
49
51
|
'DynamicWebAgentResource',
|
|
50
52
|
'WebAgentCreateOptions',
|
|
@@ -1,14 +1,47 @@
|
|
|
1
|
-
"""Dynamic Agent Status resource for
|
|
1
|
+
"""Dynamic Agent Status resource for polling agent setup progress.
|
|
2
|
+
|
|
3
|
+
This module provides functionality for checking and polling the status of
|
|
4
|
+
dynamic agent setup operations. Supports both phone and web agent configurations.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import time
|
|
8
|
+
from dataclasses import dataclass
|
|
9
|
+
from typing import Callable, Optional, Union
|
|
2
10
|
|
|
3
11
|
from wiil.client.http_client import HttpClient
|
|
4
12
|
from wiil.models.service_mgt.dynamic_setup import (
|
|
5
13
|
DynamicAgentProcessingState,
|
|
6
14
|
DynamicAgentSetupResult,
|
|
7
15
|
)
|
|
16
|
+
from wiil.models.service_mgt.dynamic_setup.phone_agent_setup import (
|
|
17
|
+
DynamicPhoneAgentSetupResult,
|
|
18
|
+
)
|
|
19
|
+
from wiil.models.service_mgt.dynamic_setup.web_agent_setup import (
|
|
20
|
+
DynamicWebAgentSetupResult,
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
@dataclass
|
|
25
|
+
class PollOptions:
|
|
26
|
+
"""Options for configuring long-polling behavior.
|
|
27
|
+
|
|
28
|
+
Attributes:
|
|
29
|
+
interval: Polling interval in milliseconds. Defaults to 5000.
|
|
30
|
+
timeout: Maximum wait time in milliseconds before timing out. Defaults to 120000.
|
|
31
|
+
on_progress: Callback invoked on each poll with current state.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
interval: int = 5000
|
|
35
|
+
timeout: int = 120000
|
|
36
|
+
on_progress: Optional[Callable[[DynamicAgentProcessingState], None]] = None
|
|
8
37
|
|
|
9
38
|
|
|
10
39
|
class PollTimeoutError(Exception):
|
|
11
|
-
"""
|
|
40
|
+
"""Error thrown when polling times out before completion.
|
|
41
|
+
|
|
42
|
+
Attributes:
|
|
43
|
+
last_state: The last known processing state before timeout.
|
|
44
|
+
"""
|
|
12
45
|
|
|
13
46
|
def __init__(self, message: str, last_state: DynamicAgentProcessingState):
|
|
14
47
|
super().__init__(message)
|
|
@@ -16,29 +49,176 @@ class PollTimeoutError(Exception):
|
|
|
16
49
|
|
|
17
50
|
|
|
18
51
|
class DynamicAgentStatusResource:
|
|
19
|
-
"""Resource class for
|
|
52
|
+
"""Resource class for polling dynamic agent setup status.
|
|
53
|
+
|
|
54
|
+
Provides methods for checking and polling the status of dynamic agent setup
|
|
55
|
+
operations. Supports both phone and web agent configurations. Use this resource
|
|
56
|
+
to track long-running setup operations and wait for completion.
|
|
20
57
|
|
|
21
|
-
|
|
22
|
-
|
|
58
|
+
Example:
|
|
59
|
+
```python
|
|
60
|
+
from wiil import WiilClient
|
|
61
|
+
from wiil.models.service_mgt import BusinessSupportServices
|
|
62
|
+
|
|
63
|
+
client = WiilClient(api_key='your-api-key')
|
|
64
|
+
|
|
65
|
+
# Create a dynamic agent (returns immediately)
|
|
66
|
+
result = client.dynamic_phone_agent.create(
|
|
67
|
+
DynamicPhoneAgentSetup(
|
|
68
|
+
assistant_name='Support Agent',
|
|
69
|
+
capabilities=[BusinessSupportServices.APPOINTMENT_MANAGEMENT],
|
|
70
|
+
)
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
# Poll until setup completes
|
|
74
|
+
def on_progress(state):
|
|
75
|
+
print(f'{state.progress_percentage}% - {state.message}')
|
|
76
|
+
|
|
77
|
+
final = client.dynamic_agent_status.poll(
|
|
78
|
+
result.id,
|
|
79
|
+
PollOptions(
|
|
80
|
+
interval=2000,
|
|
81
|
+
timeout=60000,
|
|
82
|
+
on_progress=on_progress,
|
|
83
|
+
)
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
if final.success:
|
|
87
|
+
print('Agent ready:', final.agent_configuration_id)
|
|
88
|
+
```
|
|
23
89
|
"""
|
|
24
90
|
|
|
25
91
|
def __init__(self, http: HttpClient):
|
|
92
|
+
"""Creates a new DynamicAgentStatusResource instance.
|
|
93
|
+
|
|
94
|
+
Args:
|
|
95
|
+
http: HTTP client for API communication
|
|
96
|
+
"""
|
|
26
97
|
self._http = http
|
|
27
|
-
self._base_path = '/dynamic-
|
|
98
|
+
self._base_path = '/dynamic-setup'
|
|
28
99
|
|
|
29
|
-
def get(
|
|
30
|
-
|
|
100
|
+
def get(
|
|
101
|
+
self, id: str
|
|
102
|
+
) -> Union[DynamicAgentSetupResult, DynamicWebAgentSetupResult, DynamicPhoneAgentSetupResult]:
|
|
103
|
+
"""Retrieves the current status of a dynamic agent setup operation.
|
|
31
104
|
|
|
32
105
|
Args:
|
|
33
|
-
|
|
106
|
+
id: Dynamic agent setup ID
|
|
34
107
|
|
|
35
108
|
Returns:
|
|
36
|
-
The
|
|
109
|
+
The setup result (base, web, or phone agent type)
|
|
110
|
+
|
|
111
|
+
Raises:
|
|
112
|
+
WiilAPIError: When the setup ID is not found or API returns an error
|
|
113
|
+
WiilNetworkError: When network communication fails
|
|
114
|
+
|
|
115
|
+
Example:
|
|
116
|
+
```python
|
|
117
|
+
status = client.dynamic_agent_status.get('setup_123')
|
|
118
|
+
print('Status:', status.processing_state.status)
|
|
119
|
+
print('Progress:', status.processing_state.progress_percentage)
|
|
120
|
+
|
|
121
|
+
# Access web agent specific properties
|
|
122
|
+
if hasattr(status, 'integration_snippets') and status.integration_snippets:
|
|
123
|
+
print('Snippets:', status.integration_snippets)
|
|
124
|
+
|
|
125
|
+
# Access phone agent specific properties
|
|
126
|
+
if hasattr(status, 'phone_number') and status.phone_number:
|
|
127
|
+
print('Phone:', status.phone_number)
|
|
128
|
+
```
|
|
37
129
|
"""
|
|
38
130
|
return self._http.get(
|
|
39
|
-
f'{self._base_path}/{
|
|
131
|
+
f'{self._base_path}/{id}',
|
|
40
132
|
response_model=DynamicAgentSetupResult
|
|
41
133
|
)
|
|
42
134
|
|
|
135
|
+
def poll(
|
|
136
|
+
self,
|
|
137
|
+
id: str,
|
|
138
|
+
options: Optional[PollOptions] = None
|
|
139
|
+
) -> Union[DynamicAgentSetupResult, DynamicWebAgentSetupResult, DynamicPhoneAgentSetupResult]:
|
|
140
|
+
"""Polls the status of a dynamic agent setup until completion or failure.
|
|
141
|
+
|
|
142
|
+
Args:
|
|
143
|
+
id: Dynamic agent setup ID
|
|
144
|
+
options: Polling configuration options
|
|
145
|
+
|
|
146
|
+
Returns:
|
|
147
|
+
The final setup result (base, web, or phone agent type)
|
|
148
|
+
|
|
149
|
+
Raises:
|
|
150
|
+
PollTimeoutError: When polling times out before completion
|
|
151
|
+
WiilAPIError: When the setup ID is not found or API returns an error
|
|
152
|
+
WiilNetworkError: When network communication fails
|
|
153
|
+
|
|
154
|
+
Remarks:
|
|
155
|
+
This method will continuously poll the API until the processing state
|
|
156
|
+
reaches 'completed' or 'failed'. If the timeout is reached before
|
|
157
|
+
completion, a PollTimeoutError is thrown containing the last known state.
|
|
158
|
+
|
|
159
|
+
Example:
|
|
160
|
+
```python
|
|
161
|
+
from wiil.resources.service_mgt import PollOptions, PollTimeoutError
|
|
162
|
+
|
|
163
|
+
try:
|
|
164
|
+
def on_progress(state):
|
|
165
|
+
print(f'Progress: {state.progress_percentage}%')
|
|
166
|
+
|
|
167
|
+
result = client.dynamic_agent_status.poll(
|
|
168
|
+
'setup_123',
|
|
169
|
+
PollOptions(
|
|
170
|
+
interval=5000,
|
|
171
|
+
timeout=120000,
|
|
172
|
+
on_progress=on_progress,
|
|
173
|
+
)
|
|
174
|
+
)
|
|
175
|
+
|
|
176
|
+
if result.success:
|
|
177
|
+
print('Agent ID:', result.agent_configuration_id)
|
|
178
|
+
|
|
179
|
+
# Web agent: access integration snippets
|
|
180
|
+
if hasattr(result, 'integration_snippets') and result.integration_snippets:
|
|
181
|
+
print('Snippets:', result.integration_snippets)
|
|
182
|
+
|
|
183
|
+
# Phone agent: access phone number
|
|
184
|
+
if hasattr(result, 'phone_number') and result.phone_number:
|
|
185
|
+
print('Phone:', result.phone_number)
|
|
186
|
+
|
|
187
|
+
except PollTimeoutError as e:
|
|
188
|
+
print(f'Polling timed out at: {e.last_state.progress_percentage}%')
|
|
189
|
+
```
|
|
190
|
+
"""
|
|
191
|
+
opts = options or PollOptions()
|
|
192
|
+
interval = opts.interval
|
|
193
|
+
timeout = opts.timeout
|
|
194
|
+
on_progress = opts.on_progress
|
|
195
|
+
|
|
196
|
+
start_time = time.time() * 1000 # Convert to milliseconds
|
|
197
|
+
last_state: Optional[DynamicAgentProcessingState] = None
|
|
198
|
+
|
|
199
|
+
while True:
|
|
200
|
+
result = self.get(id)
|
|
201
|
+
last_state = result.processing_state
|
|
202
|
+
|
|
203
|
+
# Invoke progress callback if provided
|
|
204
|
+
if on_progress:
|
|
205
|
+
on_progress(result.processing_state)
|
|
206
|
+
|
|
207
|
+
# Check for terminal states
|
|
208
|
+
if result.processing_state.status in ('completed', 'failed'):
|
|
209
|
+
return result
|
|
210
|
+
|
|
211
|
+
# Check for timeout
|
|
212
|
+
elapsed = (time.time() * 1000) - start_time
|
|
213
|
+
if elapsed >= timeout:
|
|
214
|
+
raise PollTimeoutError(
|
|
215
|
+
f'Polling timed out after {timeout}ms. '
|
|
216
|
+
f'Last status: {last_state.status} at {last_state.progress_percentage}%',
|
|
217
|
+
last_state
|
|
218
|
+
)
|
|
219
|
+
|
|
220
|
+
# Wait before next poll
|
|
221
|
+
time.sleep(interval / 1000) # Convert to seconds
|
|
222
|
+
|
|
43
223
|
|
|
44
|
-
__all__ = ['DynamicAgentStatusResource', 'PollTimeoutError']
|
|
224
|
+
__all__ = ['DynamicAgentStatusResource', 'PollOptions', 'PollTimeoutError']
|
|
@@ -1,36 +1,34 @@
|
|
|
1
|
-
"""Provisioning Configurations resource for managing
|
|
1
|
+
"""Provisioning Configurations resource for managing translation chains."""
|
|
2
2
|
|
|
3
|
-
from typing import Optional
|
|
3
|
+
from typing import Optional
|
|
4
4
|
|
|
5
5
|
from wiil.client.http_client import HttpClient
|
|
6
6
|
from wiil.errors import WiilValidationError
|
|
7
7
|
from wiil.models.service_mgt import (
|
|
8
|
-
CreateProvisioningConfig,
|
|
9
8
|
CreateTranslationChainConfig,
|
|
10
9
|
DynamicModelConfiguration,
|
|
11
10
|
DynamicSTTModelConfiguration,
|
|
12
11
|
DynamicTTSModelConfiguration,
|
|
13
|
-
ProvisioningConfigChain,
|
|
14
12
|
TranslationChainConfig,
|
|
15
|
-
|
|
13
|
+
UpdateTranslationChainConfig,
|
|
16
14
|
)
|
|
17
15
|
from wiil.types import PaginatedResult, PaginationRequest
|
|
18
16
|
|
|
19
17
|
|
|
20
18
|
class ProvisioningConfigurationsResource:
|
|
21
|
-
"""Resource class for managing
|
|
19
|
+
"""Resource class for managing translation chain configurations.
|
|
22
20
|
|
|
23
21
|
Provides methods for creating, retrieving, updating, deleting, and listing
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
translation chain configurations. Translation chains define the STT, processing,
|
|
23
|
+
and TTS pipeline for real-time translation deployments.
|
|
26
24
|
|
|
27
25
|
Example:
|
|
28
26
|
>>> client = WiilClient(api_key='your-api-key')
|
|
29
27
|
>>>
|
|
30
|
-
>>> # Create a new
|
|
31
|
-
>>>
|
|
32
|
-
...
|
|
33
|
-
... chain_name='
|
|
28
|
+
>>> # Create a new translation chain
|
|
29
|
+
>>> chain = client.provisioning_configs.create(
|
|
30
|
+
... CreateTranslationChainConfig(
|
|
31
|
+
... chain_name='spanish-english-translation',
|
|
34
32
|
... stt_config=DynamicSTTModelConfiguration(...),
|
|
35
33
|
... processing_config=DynamicModelConfiguration(...),
|
|
36
34
|
... tts_config=DynamicTTSModelConfiguration(...),
|
|
@@ -38,59 +36,24 @@ class ProvisioningConfigurationsResource:
|
|
|
38
36
|
... )
|
|
39
37
|
>>>
|
|
40
38
|
>>> # Get by chain name
|
|
41
|
-
>>>
|
|
42
|
-
>>>
|
|
43
|
-
>>> # List provisioning chains
|
|
44
|
-
>>> chains = client.provisioning_configs.list_provisioning_chains()
|
|
39
|
+
>>> chain = client.provisioning_configs.get_by_chain_name('my-chain')
|
|
45
40
|
>>>
|
|
46
41
|
>>> # List translation chains
|
|
47
|
-
>>>
|
|
42
|
+
>>> chains = client.provisioning_configs.list()
|
|
48
43
|
"""
|
|
49
44
|
|
|
50
45
|
def __init__(self, http: HttpClient):
|
|
51
46
|
self._http = http
|
|
52
47
|
self._base_path = '/provisioning-configurations'
|
|
53
48
|
|
|
54
|
-
def create(
|
|
55
|
-
|
|
56
|
-
data: CreateProvisioningConfig
|
|
57
|
-
) -> ProvisioningConfigChain:
|
|
58
|
-
"""Create a new provisioning configuration chain.
|
|
59
|
-
|
|
60
|
-
Args:
|
|
61
|
-
data: Provisioning configuration creation data
|
|
62
|
-
|
|
63
|
-
Returns:
|
|
64
|
-
The created provisioning configuration chain
|
|
65
|
-
|
|
66
|
-
Raises:
|
|
67
|
-
WiilValidationError: When validation fails or model not supported
|
|
68
|
-
WiilAPIError: When the API returns an error
|
|
69
|
-
"""
|
|
70
|
-
self._validate_model_configurations(
|
|
71
|
-
data.stt_config,
|
|
72
|
-
data.processing_config,
|
|
73
|
-
data.tts_config
|
|
74
|
-
)
|
|
75
|
-
|
|
76
|
-
return self._http.post(
|
|
77
|
-
self._base_path,
|
|
78
|
-
data.model_dump(by_alias=True, exclude_none=True),
|
|
79
|
-
schema=CreateProvisioningConfig,
|
|
80
|
-
response_model=ProvisioningConfigChain
|
|
81
|
-
)
|
|
82
|
-
|
|
83
|
-
def create_translation(
|
|
84
|
-
self,
|
|
85
|
-
data: CreateTranslationChainConfig
|
|
86
|
-
) -> TranslationChainConfig:
|
|
87
|
-
"""Create a new translation configuration chain.
|
|
49
|
+
def create(self, data: CreateTranslationChainConfig) -> TranslationChainConfig:
|
|
50
|
+
"""Create a new translation chain configuration.
|
|
88
51
|
|
|
89
52
|
Args:
|
|
90
|
-
data: Translation configuration
|
|
53
|
+
data: Translation chain configuration data
|
|
91
54
|
|
|
92
55
|
Returns:
|
|
93
|
-
The created translation configuration
|
|
56
|
+
The created translation chain configuration
|
|
94
57
|
|
|
95
58
|
Raises:
|
|
96
59
|
WiilValidationError: When validation fails or model not supported
|
|
@@ -109,57 +72,48 @@ class ProvisioningConfigurationsResource:
|
|
|
109
72
|
response_model=TranslationChainConfig
|
|
110
73
|
)
|
|
111
74
|
|
|
112
|
-
def get(
|
|
113
|
-
|
|
114
|
-
config_id: str
|
|
115
|
-
) -> Union[ProvisioningConfigChain, TranslationChainConfig]:
|
|
116
|
-
"""Retrieve a provisioning configuration by ID.
|
|
75
|
+
def get(self, config_id: str) -> TranslationChainConfig:
|
|
76
|
+
"""Retrieve a translation chain configuration by ID.
|
|
117
77
|
|
|
118
78
|
Args:
|
|
119
|
-
config_id:
|
|
79
|
+
config_id: Translation chain configuration ID
|
|
120
80
|
|
|
121
81
|
Returns:
|
|
122
|
-
The
|
|
82
|
+
The translation chain configuration
|
|
123
83
|
|
|
124
84
|
Raises:
|
|
125
85
|
WiilAPIError: When configuration is not found or API error
|
|
126
86
|
"""
|
|
127
87
|
return self._http.get(
|
|
128
88
|
f'{self._base_path}/{config_id}',
|
|
129
|
-
response_model=
|
|
89
|
+
response_model=TranslationChainConfig
|
|
130
90
|
)
|
|
131
91
|
|
|
132
|
-
def get_by_chain_name(
|
|
133
|
-
|
|
134
|
-
chain_name: str
|
|
135
|
-
) -> Union[ProvisioningConfigChain, TranslationChainConfig]:
|
|
136
|
-
"""Retrieve a provisioning configuration by chain name.
|
|
92
|
+
def get_by_chain_name(self, chain_name: str) -> TranslationChainConfig:
|
|
93
|
+
"""Retrieve a translation chain configuration by chain name.
|
|
137
94
|
|
|
138
95
|
Args:
|
|
139
96
|
chain_name: Chain name
|
|
140
97
|
|
|
141
98
|
Returns:
|
|
142
|
-
The
|
|
99
|
+
The translation chain configuration
|
|
143
100
|
|
|
144
101
|
Raises:
|
|
145
102
|
WiilAPIError: When configuration is not found or API error
|
|
146
103
|
"""
|
|
147
104
|
return self._http.get(
|
|
148
105
|
f'{self._base_path}/by-chain-name/{chain_name}',
|
|
149
|
-
response_model=
|
|
106
|
+
response_model=TranslationChainConfig
|
|
150
107
|
)
|
|
151
108
|
|
|
152
|
-
def update(
|
|
153
|
-
|
|
154
|
-
data: UpdateProvisioningConfig
|
|
155
|
-
) -> ProvisioningConfigChain:
|
|
156
|
-
"""Update an existing provisioning configuration.
|
|
109
|
+
def update(self, data: UpdateTranslationChainConfig) -> TranslationChainConfig:
|
|
110
|
+
"""Update an existing translation chain configuration.
|
|
157
111
|
|
|
158
112
|
Args:
|
|
159
|
-
data:
|
|
113
|
+
data: Translation chain configuration update data (must include id)
|
|
160
114
|
|
|
161
115
|
Returns:
|
|
162
|
-
The updated
|
|
116
|
+
The updated translation chain configuration
|
|
163
117
|
|
|
164
118
|
Raises:
|
|
165
119
|
WiilValidationError: When validation fails or model not supported
|
|
@@ -174,15 +128,15 @@ class ProvisioningConfigurationsResource:
|
|
|
174
128
|
return self._http.patch(
|
|
175
129
|
self._base_path,
|
|
176
130
|
data.model_dump(by_alias=True, exclude_none=True),
|
|
177
|
-
schema=
|
|
178
|
-
response_model=
|
|
131
|
+
schema=UpdateTranslationChainConfig,
|
|
132
|
+
response_model=TranslationChainConfig
|
|
179
133
|
)
|
|
180
134
|
|
|
181
135
|
def delete(self, config_id: str) -> bool:
|
|
182
|
-
"""Delete a
|
|
136
|
+
"""Delete a translation chain configuration.
|
|
183
137
|
|
|
184
138
|
Args:
|
|
185
|
-
config_id:
|
|
139
|
+
config_id: Translation chain configuration ID
|
|
186
140
|
|
|
187
141
|
Returns:
|
|
188
142
|
True if deletion was successful
|
|
@@ -196,15 +150,15 @@ class ProvisioningConfigurationsResource:
|
|
|
196
150
|
self,
|
|
197
151
|
params: Optional[PaginationRequest] = None,
|
|
198
152
|
include_deleted: Optional[bool] = None
|
|
199
|
-
) -> PaginatedResult[
|
|
200
|
-
"""List
|
|
153
|
+
) -> PaginatedResult[TranslationChainConfig]:
|
|
154
|
+
"""List translation chain configurations with pagination.
|
|
201
155
|
|
|
202
156
|
Args:
|
|
203
157
|
params: Pagination parameters
|
|
204
158
|
include_deleted: Include deleted configurations
|
|
205
159
|
|
|
206
160
|
Returns:
|
|
207
|
-
Paginated list of
|
|
161
|
+
Paginated list of translation chain configurations
|
|
208
162
|
"""
|
|
209
163
|
query_parts = []
|
|
210
164
|
if params:
|
|
@@ -215,56 +169,6 @@ class ProvisioningConfigurationsResource:
|
|
|
215
169
|
if include_deleted is not None:
|
|
216
170
|
query_parts.append(f'includeDeleted={str(include_deleted).lower()}')
|
|
217
171
|
|
|
218
|
-
query_string = '?' + '&'.join(query_parts) if query_parts else ''
|
|
219
|
-
return self._http.get(
|
|
220
|
-
f'{self._base_path}{query_string}',
|
|
221
|
-
response_model=PaginatedResult[ProvisioningConfigChain]
|
|
222
|
-
)
|
|
223
|
-
|
|
224
|
-
def list_provisioning_chains(
|
|
225
|
-
self,
|
|
226
|
-
params: Optional[PaginationRequest] = None
|
|
227
|
-
) -> PaginatedResult[ProvisioningConfigChain]:
|
|
228
|
-
"""List provisioning configuration chains with pagination.
|
|
229
|
-
|
|
230
|
-
Args:
|
|
231
|
-
params: Pagination parameters
|
|
232
|
-
|
|
233
|
-
Returns:
|
|
234
|
-
Paginated list of provisioning configuration chains
|
|
235
|
-
"""
|
|
236
|
-
query_parts = []
|
|
237
|
-
if params:
|
|
238
|
-
if params.page:
|
|
239
|
-
query_parts.append(f'page={params.page}')
|
|
240
|
-
if params.page_size:
|
|
241
|
-
query_parts.append(f'pageSize={params.page_size}')
|
|
242
|
-
|
|
243
|
-
query_string = '?' + '&'.join(query_parts) if query_parts else ''
|
|
244
|
-
return self._http.get(
|
|
245
|
-
f'{self._base_path}/provisioning{query_string}',
|
|
246
|
-
response_model=PaginatedResult[ProvisioningConfigChain]
|
|
247
|
-
)
|
|
248
|
-
|
|
249
|
-
def list_translation_chains(
|
|
250
|
-
self,
|
|
251
|
-
params: Optional[PaginationRequest] = None
|
|
252
|
-
) -> PaginatedResult[TranslationChainConfig]:
|
|
253
|
-
"""List translation configuration chains with pagination.
|
|
254
|
-
|
|
255
|
-
Args:
|
|
256
|
-
params: Pagination parameters
|
|
257
|
-
|
|
258
|
-
Returns:
|
|
259
|
-
Paginated list of translation configuration chains
|
|
260
|
-
"""
|
|
261
|
-
query_parts = []
|
|
262
|
-
if params:
|
|
263
|
-
if params.page:
|
|
264
|
-
query_parts.append(f'page={params.page}')
|
|
265
|
-
if params.page_size:
|
|
266
|
-
query_parts.append(f'pageSize={params.page_size}')
|
|
267
|
-
|
|
268
172
|
query_string = '?' + '&'.join(query_parts) if query_parts else ''
|
|
269
173
|
return self._http.get(
|
|
270
174
|
f'{self._base_path}/translations{query_string}',
|
|
@@ -299,7 +203,7 @@ class ProvisioningConfigurationsResource:
|
|
|
299
203
|
self._validate_model(
|
|
300
204
|
processing_config.provider_type,
|
|
301
205
|
processing_config.provider_model_id,
|
|
302
|
-
'Processing'
|
|
206
|
+
'Processing',
|
|
303
207
|
)
|
|
304
208
|
|
|
305
209
|
has_tts = (
|
wiil/types/paginated_result.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wiil-python
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.9
|
|
4
4
|
Summary: Official Python SDK for WIIL Platform - AI-powered conversational services for intelligent customer interactions, voice processing, real-time translation, and business management
|
|
5
5
|
Author-email: WIIL <dev-support@wiil.io>
|
|
6
6
|
License: MIT
|
|
@@ -42,7 +42,7 @@ wiil/models/conversation/translation_config.py,sha256=MoLcUL9VxsIRJZFiAsS6nPuZzr
|
|
|
42
42
|
wiil/models/conversation/translation_conversation.py,sha256=cXJyIoCXg3ankV8vd4ezN7x8FK5VQ2Lwu0a28zkc3Sc,28341
|
|
43
43
|
wiil/models/request/__init__.py,sha256=tYELRRNNrVVdBtuzf3F0VMZvzBctCCnKZg4_S656Tis,773
|
|
44
44
|
wiil/models/request/paginated_query.py,sha256=_g2yg4xYqXhTxEeB7ixt2nNDmzWozsQ8KPtDfrjpuFI,1698
|
|
45
|
-
wiil/models/request/paginated_result.py,sha256=
|
|
45
|
+
wiil/models/request/paginated_result.py,sha256=jCEHJmuN0fpaJr79wveVL0B4vQu67frqP7IfXiD47RU,5434
|
|
46
46
|
wiil/models/service_mgt/__init__.py,sha256=p6ANcaaaNPw2pnU46quIlQpbNL9R7CismuKyzXAsw14,6795
|
|
47
47
|
wiil/models/service_mgt/agent_config.py,sha256=QthDyYSDinu4BbMPg9Q4OeytCf_VKTCE0B5zXXCNaao,7957
|
|
48
48
|
wiil/models/service_mgt/call_transfer_config.py,sha256=sCib6BAXu_oNI6iRwDvc942Fy4DaZoRNQMC_oxtn704,2944
|
|
@@ -84,18 +84,18 @@ wiil/resources/business_mgt/property_inquiry.py,sha256=AxYqP9WWsQIVTneuWu0-TmkHS
|
|
|
84
84
|
wiil/resources/business_mgt/reservation_resources.py,sha256=zcWCoFJvAX1tbFQCMIQAjJjKUsl1TBCeGedpq8rxjNk,5240
|
|
85
85
|
wiil/resources/business_mgt/reservations.py,sha256=FXYsxLhVfEkYDb0YDNlcwVexw5CpM5x1Bievym_MFrM,5933
|
|
86
86
|
wiil/resources/business_mgt/service_appointments.py,sha256=yUZ63b_8ZEOMjwml9twgxz8r_CFt2hEMEOyrgNH9L2c,4834
|
|
87
|
-
wiil/resources/service_mgt/__init__.py,sha256=
|
|
87
|
+
wiil/resources/service_mgt/__init__.py,sha256=CaJYI2sRJFNPZVi-fWjIz_iMiPNBsSXnlwxHmNIR6Oc,2115
|
|
88
88
|
wiil/resources/service_mgt/agent_configs.py,sha256=1rGjV3-maYy0vbGKu4J5sWSrrXojgJ9gjFkDBPDQ3IU,3034
|
|
89
89
|
wiil/resources/service_mgt/conversation_configs.py,sha256=fJpC4f2E_5iNhdtX2Jb0BC3_24Tckjn6J4CeocPpvHI,1920
|
|
90
90
|
wiil/resources/service_mgt/deployment_channels.py,sha256=BreggmwybEkc40uYz4cdIgAcXE_Szs1D761H4hYpa7U,4971
|
|
91
91
|
wiil/resources/service_mgt/deployment_configs.py,sha256=jA80DK0h0KYsSJvPueG3YdALq6s0Os0-vvnos9kM16A,6775
|
|
92
|
-
wiil/resources/service_mgt/dynamic_agent_status.py,sha256=
|
|
92
|
+
wiil/resources/service_mgt/dynamic_agent_status.py,sha256=g-lr7vytXjnxfSqs-hYSZKauPaOLO2Erc5ZHEhLwP9w,7961
|
|
93
93
|
wiil/resources/service_mgt/dynamic_phone_agent.py,sha256=_agPadUIFqKDRJ6SgV26d06OvGPfIIrdTLTk2XFBLJg,11002
|
|
94
94
|
wiil/resources/service_mgt/dynamic_web_agent.py,sha256=gwewZU1ColpLVZ0CGlnRUW_MZjCSLq6vTaG7E25hBFU,11290
|
|
95
95
|
wiil/resources/service_mgt/instruction_configs.py,sha256=uTIiRiEkHXtfekbO8m9kYPbfcBk2LP4crAjFU4UANOE,3655
|
|
96
96
|
wiil/resources/service_mgt/knowledge_sources.py,sha256=I7kTf7mf6bW59Sm4iq4HrQbVraASsnySVTP67qeCSGM,1754
|
|
97
97
|
wiil/resources/service_mgt/phone_configs.py,sha256=7GdymwgCBd7emi265EyIjZPIrai-fYcsF9mv_8Ve64s,3107
|
|
98
|
-
wiil/resources/service_mgt/provisioning_configs.py,sha256=
|
|
98
|
+
wiil/resources/service_mgt/provisioning_configs.py,sha256=wToTdj6uDv64op3hVhjcM6-RkThodBmRN4n8mPr1yzU,8162
|
|
99
99
|
wiil/resources/service_mgt/support_models.py,sha256=itiiyEpkbAJw12XX6px8Q0fkwx2piBpI0GkxwiLaH7Y,12410
|
|
100
100
|
wiil/resources/service_mgt/telephony_provider.py,sha256=mUuu09V_qZt7CT1ulL5vEMWMPaUR1daKx3ttgB3a-_M,6690
|
|
101
101
|
wiil/resources/service_mgt/translation_sessions.py,sha256=GALso78qvQbMWI7mzc3BZ6FmPkb7k-jJfuguYws06e8,1809
|
|
@@ -112,9 +112,9 @@ wiil/types/business_types.py,sha256=O0HL845rgc64gCtgq040xknduC51KszMVHYaYFWxYE4,
|
|
|
112
112
|
wiil/types/conversation_types.py,sha256=TrE8gRDSqnxYWdF-xC3HvDR897DnYN17fqvOx8cl-io,2671
|
|
113
113
|
wiil/types/knowledge_types.py,sha256=DUVh8VbzUMljo0DQg1BjBdXReWHMX1yKmjoXIDWOLXM,1907
|
|
114
114
|
wiil/types/paginated_quest.py,sha256=SMnCvPbiWe0df13nxmQfEFa_bXeg7DzGuN-Ah1eNYO0,1785
|
|
115
|
-
wiil/types/paginated_result.py,sha256=
|
|
115
|
+
wiil/types/paginated_result.py,sha256=n7JyZCfa2xmrxO3YyJnaI_T0M9F5OlUTdcpkckmR-b4,5311
|
|
116
116
|
wiil/types/service_types.py,sha256=-F41Nb_95uuZf3Jau8IETpgcbzHzmC3M8ysy93UXMEI,5091
|
|
117
|
-
wiil_python-0.0.
|
|
118
|
-
wiil_python-0.0.
|
|
119
|
-
wiil_python-0.0.
|
|
120
|
-
wiil_python-0.0.
|
|
117
|
+
wiil_python-0.0.9.dist-info/METADATA,sha256=7LIRUHDu68d4jqWlmscJNgJUYQAsfMD6Y-z296WdcOg,19073
|
|
118
|
+
wiil_python-0.0.9.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
|
|
119
|
+
wiil_python-0.0.9.dist-info/top_level.txt,sha256=8CizIxlMF7XuxJQVlzf2UMy2JH4f0-hYO5fntuRQkx4,5
|
|
120
|
+
wiil_python-0.0.9.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|