airbyte-agent-zendesk-chat 0.1.15__tar.gz → 0.1.20__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.
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/AUTH.md +26 -4
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/CHANGELOG.md +25 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/PKG-INFO +12 -12
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/README.md +11 -11
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/REFERENCE.md +0 -32
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/__init__.py +2 -2
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/http_client.py +1 -1
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/introspection.py +12 -5
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/connector.py +7 -2
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/connector_model.py +1 -1
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/pyproject.toml +1 -1
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/.gitignore +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/__init__.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/__init__.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/auth_strategies.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/auth_template.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/cloud_utils/__init__.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/cloud_utils/client.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/connector_model_loader.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/constants.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/exceptions.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/executor/__init__.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/executor/hosted_executor.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/executor/local_executor.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/executor/models.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/extensions.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/http/__init__.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/http/adapters/__init__.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/http/adapters/httpx_adapter.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/http/config.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/http/exceptions.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/http/protocols.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/http/response.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/logging/__init__.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/logging/logger.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/logging/types.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/observability/__init__.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/observability/config.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/observability/models.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/observability/redactor.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/observability/session.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/performance/__init__.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/performance/instrumentation.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/performance/metrics.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/schema/__init__.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/schema/base.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/schema/components.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/schema/connector.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/schema/extensions.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/schema/operations.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/schema/security.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/secrets.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/telemetry/__init__.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/telemetry/config.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/telemetry/events.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/telemetry/tracker.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/types.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/utils.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/_vendored/connector_sdk/validation.py +0 -0
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/models.py +21 -21
- {airbyte_agent_zendesk_chat-0.1.15 → airbyte_agent_zendesk_chat-0.1.20}/airbyte_agent_zendesk_chat/types.py +0 -0
|
@@ -10,10 +10,15 @@ In open source mode, you provide API credentials directly to the connector.
|
|
|
10
10
|
|
|
11
11
|
#### OAuth
|
|
12
12
|
|
|
13
|
+
`credentials` fields you need:
|
|
14
|
+
|
|
15
|
+
|
|
13
16
|
| Field Name | Type | Required | Description |
|
|
14
17
|
|------------|------|----------|-------------|
|
|
15
18
|
| `access_token` | `str` | Yes | Your Zendesk Chat OAuth 2.0 access token |
|
|
16
19
|
|
|
20
|
+
Example request:
|
|
21
|
+
|
|
17
22
|
```python
|
|
18
23
|
from airbyte_agent_zendesk-chat import ZendeskChatConnector
|
|
19
24
|
from airbyte_agent_zendesk-chat.models import ZendeskChatAuthConfig
|
|
@@ -33,19 +38,36 @@ This authentication method isn't available for this connector.
|
|
|
33
38
|
In hosted mode, you first create a connector via the Airbyte API (providing your OAuth or Token credentials), then execute operations using either the Python SDK or API. If you need a step-by-step guide, see the [hosted execution tutorial](https://docs.airbyte.com/ai-agents/quickstarts/tutorial-hosted).
|
|
34
39
|
|
|
35
40
|
#### OAuth
|
|
41
|
+
Create a connector with OAuth credentials.
|
|
42
|
+
|
|
43
|
+
`credentials` fields you need:
|
|
36
44
|
|
|
37
|
-
|
|
45
|
+
|
|
46
|
+
| Field Name | Type | Required | Description |
|
|
47
|
+
|------------|------|----------|-------------|
|
|
48
|
+
| `access_token` | `str` | Yes | Your Zendesk Chat OAuth 2.0 access token |
|
|
49
|
+
|
|
50
|
+
`replication_config` fields you need:
|
|
51
|
+
|
|
52
|
+
| Field Name | Type | Required | Description |
|
|
53
|
+
|------------|------|----------|-------------|
|
|
54
|
+
| `start_date` | `str (date-time)` | Yes | The date from which to start replicating data, in the format YYYY-MM-DDT00:00:00Z. |
|
|
55
|
+
|
|
56
|
+
Example request:
|
|
38
57
|
|
|
39
58
|
```bash
|
|
40
|
-
curl -X POST
|
|
41
|
-
-H
|
|
42
|
-
-H
|
|
59
|
+
curl -X POST "https://api.airbyte.ai/v1/integrations/connectors" \
|
|
60
|
+
-H "Authorization: Bearer <SCOPED_TOKEN>" \
|
|
61
|
+
-H "Content-Type: application/json" \
|
|
43
62
|
-d '{
|
|
44
63
|
"external_user_id": "<EXTERNAL_USER_ID>",
|
|
45
64
|
"connector_type": "Zendesk-Chat",
|
|
46
65
|
"name": "My Zendesk-Chat Connector",
|
|
47
66
|
"credentials": {
|
|
48
67
|
"access_token": "<Your Zendesk Chat OAuth 2.0 access token>"
|
|
68
|
+
},
|
|
69
|
+
"replication_config": {
|
|
70
|
+
"start_date": "<The date from which to start replicating data, in the format YYYY-MM-DDT00:00:00Z.>"
|
|
49
71
|
}
|
|
50
72
|
}'
|
|
51
73
|
```
|
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# Zendesk Chat changelog
|
|
2
2
|
|
|
3
|
+
## [0.1.20] - 2026-01-28
|
|
4
|
+
- Updated connector definition (YAML version 0.1.6)
|
|
5
|
+
- Source commit: f6c6fca2
|
|
6
|
+
- SDK version: 0.1.0
|
|
7
|
+
|
|
8
|
+
## [0.1.19] - 2026-01-28
|
|
9
|
+
- Updated connector definition (YAML version 0.1.6)
|
|
10
|
+
- Source commit: 9aef9bd2
|
|
11
|
+
- SDK version: 0.1.0
|
|
12
|
+
|
|
13
|
+
## [0.1.18] - 2026-01-28
|
|
14
|
+
- Updated connector definition (YAML version 0.1.5)
|
|
15
|
+
- Source commit: 71f48c10
|
|
16
|
+
- SDK version: 0.1.0
|
|
17
|
+
|
|
18
|
+
## [0.1.17] - 2026-01-27
|
|
19
|
+
- Updated connector definition (YAML version 0.1.5)
|
|
20
|
+
- Source commit: 0f5e1914
|
|
21
|
+
- SDK version: 0.1.0
|
|
22
|
+
|
|
23
|
+
## [0.1.16] - 2026-01-27
|
|
24
|
+
- Updated connector definition (YAML version 0.1.5)
|
|
25
|
+
- Source commit: a01f6b16
|
|
26
|
+
- SDK version: 0.1.0
|
|
27
|
+
|
|
3
28
|
## [0.1.15] - 2026-01-27
|
|
4
29
|
- Updated connector definition (YAML version 0.1.5)
|
|
5
30
|
- Source commit: c9b05509
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: airbyte-agent-zendesk-chat
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.20
|
|
4
4
|
Summary: Airbyte Zendesk-Chat Connector for AI platforms
|
|
5
5
|
Project-URL: Homepage, https://github.com/airbytehq/airbyte-agent-connectors
|
|
6
6
|
Project-URL: Documentation, https://docs.airbyte.com/ai-agents/
|
|
@@ -130,13 +130,11 @@ async def zendesk-chat_execute(entity: str, action: str, params: dict | None = N
|
|
|
130
130
|
return await connector.execute(entity, action, params or {})
|
|
131
131
|
```
|
|
132
132
|
|
|
133
|
-
## Replication Configuration
|
|
134
|
-
|
|
135
|
-
This connector supports replication configuration for MULTI mode sources. See the [full reference documentation](./REFERENCE.md#replication-configuration) for details on available options like `start_date`.
|
|
136
|
-
|
|
137
133
|
## Full documentation
|
|
138
134
|
|
|
139
|
-
|
|
135
|
+
### Entities and actions
|
|
136
|
+
|
|
137
|
+
This connector supports the following entities and actions. For more details, see this connector's [full reference documentation](REFERENCE.md).
|
|
140
138
|
|
|
141
139
|
| Entity | Actions |
|
|
142
140
|
|--------|---------|
|
|
@@ -154,14 +152,16 @@ This connector supports the following entities and actions.
|
|
|
154
152
|
| Triggers | [List](./REFERENCE.md#triggers-list) |
|
|
155
153
|
|
|
156
154
|
|
|
157
|
-
|
|
155
|
+
### Authentication and configuration
|
|
156
|
+
|
|
157
|
+
For all authentication and configuration options, see the connector's [authentication documentation](AUTH.md).
|
|
158
158
|
|
|
159
|
-
|
|
159
|
+
### Zendesk-Chat API docs
|
|
160
160
|
|
|
161
|
-
|
|
161
|
+
See the official [Zendesk-Chat API reference](https://developer.zendesk.com/api-reference/live-chat/chat-api/introduction/).
|
|
162
162
|
|
|
163
163
|
## Version information
|
|
164
164
|
|
|
165
|
-
- **Package version:** 0.1.
|
|
166
|
-
- **Connector version:** 0.1.
|
|
167
|
-
- **Generated with Connector SDK commit SHA:**
|
|
165
|
+
- **Package version:** 0.1.20
|
|
166
|
+
- **Connector version:** 0.1.6
|
|
167
|
+
- **Generated with Connector SDK commit SHA:** f6c6fca292b291b200b31e4056856465129ae703
|
|
@@ -97,13 +97,11 @@ async def zendesk-chat_execute(entity: str, action: str, params: dict | None = N
|
|
|
97
97
|
return await connector.execute(entity, action, params or {})
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
-
## Replication Configuration
|
|
101
|
-
|
|
102
|
-
This connector supports replication configuration for MULTI mode sources. See the [full reference documentation](./REFERENCE.md#replication-configuration) for details on available options like `start_date`.
|
|
103
|
-
|
|
104
100
|
## Full documentation
|
|
105
101
|
|
|
106
|
-
|
|
102
|
+
### Entities and actions
|
|
103
|
+
|
|
104
|
+
This connector supports the following entities and actions. For more details, see this connector's [full reference documentation](REFERENCE.md).
|
|
107
105
|
|
|
108
106
|
| Entity | Actions |
|
|
109
107
|
|--------|---------|
|
|
@@ -121,14 +119,16 @@ This connector supports the following entities and actions.
|
|
|
121
119
|
| Triggers | [List](./REFERENCE.md#triggers-list) |
|
|
122
120
|
|
|
123
121
|
|
|
124
|
-
|
|
122
|
+
### Authentication and configuration
|
|
123
|
+
|
|
124
|
+
For all authentication and configuration options, see the connector's [authentication documentation](AUTH.md).
|
|
125
125
|
|
|
126
|
-
|
|
126
|
+
### Zendesk-Chat API docs
|
|
127
127
|
|
|
128
|
-
|
|
128
|
+
See the official [Zendesk-Chat API reference](https://developer.zendesk.com/api-reference/live-chat/chat-api/introduction/).
|
|
129
129
|
|
|
130
130
|
## Version information
|
|
131
131
|
|
|
132
|
-
- **Package version:** 0.1.
|
|
133
|
-
- **Connector version:** 0.1.
|
|
134
|
-
- **Generated with Connector SDK commit SHA:**
|
|
132
|
+
- **Package version:** 0.1.20
|
|
133
|
+
- **Connector version:** 0.1.6
|
|
134
|
+
- **Generated with Connector SDK commit SHA:** f6c6fca292b291b200b31e4056856465129ae703
|
|
@@ -1467,35 +1467,3 @@ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_i
|
|
|
1467
1467
|
|
|
1468
1468
|
</details>
|
|
1469
1469
|
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
## Replication Configuration
|
|
1473
|
-
|
|
1474
|
-
Settings for data replication from Zendesk Chat
|
|
1475
|
-
|
|
1476
|
-
These settings control how data is replicated from the source. Pass them via the `replication_config` parameter when creating a source.
|
|
1477
|
-
|
|
1478
|
-
| Field Name | Type | Required | Description |
|
|
1479
|
-
|------------|------|----------|-------------|
|
|
1480
|
-
| `start_date` | `str (date-time)` | Yes | The date from which to start replicating data, in the format YYYY-MM-DDT00:00:00Z. |
|
|
1481
|
-
|
|
1482
|
-
### Example
|
|
1483
|
-
|
|
1484
|
-
**API**
|
|
1485
|
-
|
|
1486
|
-
```bash
|
|
1487
|
-
curl --location 'https://api.airbyte.ai/integrations/connectors' \
|
|
1488
|
-
--header 'Content-Type: application/json' \
|
|
1489
|
-
--header 'Authorization: Bearer {your_auth_token}' \
|
|
1490
|
-
--data '{
|
|
1491
|
-
"external_user_id": "{your_external_user_id}",
|
|
1492
|
-
"connector_type": "zendesk-chat",
|
|
1493
|
-
"credentials": {
|
|
1494
|
-
...
|
|
1495
|
-
},
|
|
1496
|
-
"replication_config": {
|
|
1497
|
-
"start_date": "<The date from which to start replicating data, in the format YYYY-MM-DDT00:00:00Z.>"
|
|
1498
|
-
},
|
|
1499
|
-
"name": "My Zendesk-Chat Connector"
|
|
1500
|
-
}'
|
|
1501
|
-
```
|
|
@@ -14,10 +14,10 @@ from .models import (
|
|
|
14
14
|
AgentRoles,
|
|
15
15
|
AgentTimeline,
|
|
16
16
|
Ban,
|
|
17
|
+
ChatEngagement,
|
|
17
18
|
ChatHistoryItem,
|
|
18
19
|
ChatConversion,
|
|
19
20
|
WebpathItem,
|
|
20
|
-
ChatEngagement,
|
|
21
21
|
Chat,
|
|
22
22
|
Visitor,
|
|
23
23
|
ChatSession,
|
|
@@ -109,10 +109,10 @@ __all__ = [
|
|
|
109
109
|
"AgentRoles",
|
|
110
110
|
"AgentTimeline",
|
|
111
111
|
"Ban",
|
|
112
|
+
"ChatEngagement",
|
|
112
113
|
"ChatHistoryItem",
|
|
113
114
|
"ChatConversion",
|
|
114
115
|
"WebpathItem",
|
|
115
|
-
"ChatEngagement",
|
|
116
116
|
"Chat",
|
|
117
117
|
"Visitor",
|
|
118
118
|
"ChatSession",
|
|
@@ -490,7 +490,7 @@ class HTTPClient:
|
|
|
490
490
|
|
|
491
491
|
if not response_text.strip():
|
|
492
492
|
response_data = {}
|
|
493
|
-
elif "application/json" in content_type or not content_type:
|
|
493
|
+
elif "application/json" in content_type or "+json" in content_type or not content_type:
|
|
494
494
|
response_data = await response.json()
|
|
495
495
|
else:
|
|
496
496
|
error_msg = f"Expected JSON response for {method.upper()} {url}, got content-type: {content_type}"
|
|
@@ -380,7 +380,11 @@ def describe_entities(model: ConnectorModelProtocol) -> list[dict[str, Any]]:
|
|
|
380
380
|
return entities
|
|
381
381
|
|
|
382
382
|
|
|
383
|
-
def generate_tool_description(
|
|
383
|
+
def generate_tool_description(
|
|
384
|
+
model: ConnectorModelProtocol,
|
|
385
|
+
*,
|
|
386
|
+
enable_hosted_mode_features: bool = True,
|
|
387
|
+
) -> str:
|
|
384
388
|
"""Generate AI tool description from connector metadata.
|
|
385
389
|
|
|
386
390
|
Produces a detailed description that includes:
|
|
@@ -393,6 +397,7 @@ def generate_tool_description(model: ConnectorModelProtocol) -> str:
|
|
|
393
397
|
|
|
394
398
|
Args:
|
|
395
399
|
model: Object conforming to ConnectorModelProtocol (e.g., ConnectorModel)
|
|
400
|
+
enable_hosted_mode_features: When False, omit hosted-mode search guidance from the docstring.
|
|
396
401
|
|
|
397
402
|
Returns:
|
|
398
403
|
Formatted description string suitable for AI tool documentation
|
|
@@ -402,8 +407,9 @@ def generate_tool_description(model: ConnectorModelProtocol) -> str:
|
|
|
402
407
|
# at the first empty line and only keeps the initial section.
|
|
403
408
|
|
|
404
409
|
# Entity/action parameter details (including pagination params like limit, starting_after)
|
|
405
|
-
search_field_paths = _collect_search_field_paths(model)
|
|
406
|
-
|
|
410
|
+
search_field_paths = _collect_search_field_paths(model) if enable_hosted_mode_features else {}
|
|
411
|
+
# Avoid a "PARAMETERS:" header because some docstring parsers treat it as a params section marker.
|
|
412
|
+
lines.append("ENTITIES (ACTIONS + PARAMS):")
|
|
407
413
|
for entity in model.entities:
|
|
408
414
|
lines.append(f" {entity.name}:")
|
|
409
415
|
actions = getattr(entity, "actions", []) or []
|
|
@@ -427,8 +433,9 @@ def generate_tool_description(model: ConnectorModelProtocol) -> str:
|
|
|
427
433
|
lines.append(" To paginate: pass starting_after=<last_id> while has_more is true")
|
|
428
434
|
|
|
429
435
|
lines.append("GUIDELINES:")
|
|
430
|
-
|
|
431
|
-
|
|
436
|
+
if enable_hosted_mode_features:
|
|
437
|
+
lines.append(' - Prefer cached search over direct API calls when using execute(): action="search" whenever possible.')
|
|
438
|
+
lines.append(" - Direct API actions (list/get/download) are slower and should be used only if search cannot answer the query.")
|
|
432
439
|
lines.append(" - Keep results small: use params.fields, params.query.filter, small params.limit, and cursor pagination.")
|
|
433
440
|
lines.append(" - If output is too large, refine the query with tighter filters/fields/limit.")
|
|
434
441
|
|
|
@@ -136,7 +136,7 @@ class ZendeskChatConnector:
|
|
|
136
136
|
"""
|
|
137
137
|
|
|
138
138
|
connector_name = "zendesk-chat"
|
|
139
|
-
connector_version = "0.1.
|
|
139
|
+
connector_version = "0.1.6"
|
|
140
140
|
vendored_sdk_version = "0.1.0" # Version of vendored connector-sdk
|
|
141
141
|
|
|
142
142
|
# Map of (entity, action) -> needs_envelope for envelope wrapping decision
|
|
@@ -520,6 +520,7 @@ class ZendeskChatConnector:
|
|
|
520
520
|
func: _F | None = None,
|
|
521
521
|
*,
|
|
522
522
|
update_docstring: bool = True,
|
|
523
|
+
enable_hosted_mode_features: bool = True,
|
|
523
524
|
max_output_chars: int | None = DEFAULT_MAX_OUTPUT_CHARS,
|
|
524
525
|
) -> _F | Callable[[_F], _F]:
|
|
525
526
|
"""
|
|
@@ -538,12 +539,16 @@ class ZendeskChatConnector:
|
|
|
538
539
|
|
|
539
540
|
Args:
|
|
540
541
|
update_docstring: When True, append connector capabilities to __doc__.
|
|
542
|
+
enable_hosted_mode_features: When False, omit hosted-mode search sections from docstrings.
|
|
541
543
|
max_output_chars: Max serialized output size before raising. Use None to disable.
|
|
542
544
|
"""
|
|
543
545
|
|
|
544
546
|
def decorate(inner: _F) -> _F:
|
|
545
547
|
if update_docstring:
|
|
546
|
-
description = generate_tool_description(
|
|
548
|
+
description = generate_tool_description(
|
|
549
|
+
ZendeskChatConnectorModel,
|
|
550
|
+
enable_hosted_mode_features=enable_hosted_mode_features,
|
|
551
|
+
)
|
|
547
552
|
original_doc = inner.__doc__ or ""
|
|
548
553
|
if original_doc.strip():
|
|
549
554
|
full_doc = f"{original_doc.strip()}\n{description}"
|
|
@@ -26,7 +26,7 @@ from uuid import (
|
|
|
26
26
|
ZendeskChatConnectorModel: ConnectorModel = ConnectorModel(
|
|
27
27
|
id=UUID('40d24d0f-b8f9-4fe0-9e6c-b06c0f3f45e4'),
|
|
28
28
|
name='zendesk-chat',
|
|
29
|
-
version='0.1.
|
|
29
|
+
version='0.1.6',
|
|
30
30
|
base_url='https://{subdomain}.zendesk.com/api/v2/chat',
|
|
31
31
|
auth=AuthConfig(
|
|
32
32
|
type=AuthType.BEARER,
|
|
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
|
|
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
|
|
@@ -132,6 +132,27 @@ class Ban(BaseModel):
|
|
|
132
132
|
reason: Union[str | None, Any] = Field(default=None)
|
|
133
133
|
created_at: Union[str | None, Any] = Field(default=None)
|
|
134
134
|
|
|
135
|
+
class ChatEngagement(BaseModel):
|
|
136
|
+
"""ChatEngagement type definition"""
|
|
137
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
138
|
+
|
|
139
|
+
id: Union[str | None, Any] = Field(default=None)
|
|
140
|
+
agent_id: Union[str | None, Any] = Field(default=None)
|
|
141
|
+
agent_name: Union[str | None, Any] = Field(default=None)
|
|
142
|
+
agent_full_name: Union[str | None, Any] = Field(default=None)
|
|
143
|
+
department_id: Union[int | None, Any] = Field(default=None)
|
|
144
|
+
timestamp: Union[str | None, Any] = Field(default=None)
|
|
145
|
+
duration: Union[float | None, Any] = Field(default=None)
|
|
146
|
+
accepted: Union[bool | None, Any] = Field(default=None)
|
|
147
|
+
assigned: Union[bool | None, Any] = Field(default=None)
|
|
148
|
+
started_by: Union[str | None, Any] = Field(default=None)
|
|
149
|
+
rating: Union[str | None, Any] = Field(default=None)
|
|
150
|
+
comment: Union[str | None, Any] = Field(default=None)
|
|
151
|
+
count: Union[Any, Any] = Field(default=None)
|
|
152
|
+
response_time: Union[Any, Any] = Field(default=None)
|
|
153
|
+
skills_requested: Union[list[int] | None, Any] = Field(default=None)
|
|
154
|
+
skills_fulfilled: Union[bool | None, Any] = Field(default=None)
|
|
155
|
+
|
|
135
156
|
class ChatHistoryItem(BaseModel):
|
|
136
157
|
"""ChatHistoryItem type definition"""
|
|
137
158
|
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
@@ -168,27 +189,6 @@ class WebpathItem(BaseModel):
|
|
|
168
189
|
from_: Union[str | None, Any] = Field(default=None, alias="from")
|
|
169
190
|
timestamp: Union[str | None, Any] = Field(default=None)
|
|
170
191
|
|
|
171
|
-
class ChatEngagement(BaseModel):
|
|
172
|
-
"""ChatEngagement type definition"""
|
|
173
|
-
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
174
|
-
|
|
175
|
-
id: Union[str | None, Any] = Field(default=None)
|
|
176
|
-
agent_id: Union[str | None, Any] = Field(default=None)
|
|
177
|
-
agent_name: Union[str | None, Any] = Field(default=None)
|
|
178
|
-
agent_full_name: Union[str | None, Any] = Field(default=None)
|
|
179
|
-
department_id: Union[int | None, Any] = Field(default=None)
|
|
180
|
-
timestamp: Union[str | None, Any] = Field(default=None)
|
|
181
|
-
duration: Union[float | None, Any] = Field(default=None)
|
|
182
|
-
accepted: Union[bool | None, Any] = Field(default=None)
|
|
183
|
-
assigned: Union[bool | None, Any] = Field(default=None)
|
|
184
|
-
started_by: Union[str | None, Any] = Field(default=None)
|
|
185
|
-
rating: Union[str | None, Any] = Field(default=None)
|
|
186
|
-
comment: Union[str | None, Any] = Field(default=None)
|
|
187
|
-
count: Union[Any, Any] = Field(default=None)
|
|
188
|
-
response_time: Union[Any, Any] = Field(default=None)
|
|
189
|
-
skills_requested: Union[list[int] | None, Any] = Field(default=None)
|
|
190
|
-
skills_fulfilled: Union[bool | None, Any] = Field(default=None)
|
|
191
|
-
|
|
192
192
|
class Chat(BaseModel):
|
|
193
193
|
"""Chat conversation transcript"""
|
|
194
194
|
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
File without changes
|