airbyte-agent-slack 0.1.41__py3-none-any.whl → 0.1.42__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.
- airbyte_agent_slack/__init__.py +2 -2
- airbyte_agent_slack/_vendored/connector_sdk/executor/local_executor.py +15 -10
- airbyte_agent_slack/_vendored/connector_sdk/schema/operations.py +3 -2
- airbyte_agent_slack/_vendored/connector_sdk/types.py +1 -1
- airbyte_agent_slack/_vendored/connector_sdk/validation.py +1 -1
- airbyte_agent_slack/connector.py +1 -1
- airbyte_agent_slack/connector_model.py +2 -2
- airbyte_agent_slack/models.py +11 -10
- {airbyte_agent_slack-0.1.41.dist-info → airbyte_agent_slack-0.1.42.dist-info}/METADATA +4 -4
- {airbyte_agent_slack-0.1.41.dist-info → airbyte_agent_slack-0.1.42.dist-info}/RECORD +11 -11
- {airbyte_agent_slack-0.1.41.dist-info → airbyte_agent_slack-0.1.42.dist-info}/WHEEL +0 -0
airbyte_agent_slack/__init__.py
CHANGED
|
@@ -19,8 +19,8 @@ from .models import (
|
|
|
19
19
|
ChannelsListResponse,
|
|
20
20
|
ChannelResponse,
|
|
21
21
|
File,
|
|
22
|
-
Reaction,
|
|
23
22
|
Attachment,
|
|
23
|
+
Reaction,
|
|
24
24
|
Message,
|
|
25
25
|
Thread,
|
|
26
26
|
EditedInfo,
|
|
@@ -99,8 +99,8 @@ __all__ = [
|
|
|
99
99
|
"ChannelsListResponse",
|
|
100
100
|
"ChannelResponse",
|
|
101
101
|
"File",
|
|
102
|
-
"Reaction",
|
|
103
102
|
"Attachment",
|
|
103
|
+
"Reaction",
|
|
104
104
|
"Message",
|
|
105
105
|
"Thread",
|
|
106
106
|
"EditedInfo",
|
|
@@ -546,23 +546,25 @@ class LocalExecutor:
|
|
|
546
546
|
return ExecutionResult(success=False, data={}, error=str(e))
|
|
547
547
|
|
|
548
548
|
async def check(self) -> ExecutionResult:
|
|
549
|
-
"""Perform a health check by running a lightweight
|
|
549
|
+
"""Perform a health check by running a lightweight operation.
|
|
550
550
|
|
|
551
551
|
Finds the operation marked with preferred_for_check=True, or falls back
|
|
552
|
-
to the first list operation. Executes it
|
|
553
|
-
|
|
552
|
+
to the first list operation. Executes it to verify connectivity and credentials.
|
|
553
|
+
For list operations, uses limit=1 to minimize data transfer.
|
|
554
554
|
|
|
555
555
|
Returns:
|
|
556
556
|
ExecutionResult with data containing status, error, and checked operation details.
|
|
557
557
|
"""
|
|
558
558
|
check_entity = None
|
|
559
559
|
check_endpoint = None
|
|
560
|
+
check_action = None
|
|
560
561
|
|
|
561
|
-
# Look for preferred check operation
|
|
562
|
+
# Look for preferred check operation (can be any action type)
|
|
562
563
|
for (ent_name, op_action), endpoint in self._operation_index.items():
|
|
563
564
|
if getattr(endpoint, "preferred_for_check", False):
|
|
564
565
|
check_entity = ent_name
|
|
565
566
|
check_endpoint = endpoint
|
|
567
|
+
check_action = op_action
|
|
566
568
|
break
|
|
567
569
|
|
|
568
570
|
# Fallback to first list operation
|
|
@@ -571,18 +573,19 @@ class LocalExecutor:
|
|
|
571
573
|
if op_action == Action.LIST:
|
|
572
574
|
check_entity = ent_name
|
|
573
575
|
check_endpoint = endpoint
|
|
576
|
+
check_action = op_action
|
|
574
577
|
break
|
|
575
578
|
|
|
576
|
-
if check_endpoint is None or check_entity is None:
|
|
579
|
+
if check_endpoint is None or check_entity is None or check_action is None:
|
|
577
580
|
return ExecutionResult(
|
|
578
581
|
success=True,
|
|
579
582
|
data={
|
|
580
583
|
"status": "skipped",
|
|
581
|
-
"error": "No
|
|
584
|
+
"error": "No operation available for health check",
|
|
582
585
|
},
|
|
583
586
|
)
|
|
584
587
|
|
|
585
|
-
# Find the standard handler to execute the
|
|
588
|
+
# Find the standard handler to execute the operation
|
|
586
589
|
standard_handler = next(
|
|
587
590
|
(h for h in self._operation_handlers if isinstance(h, _StandardOperationHandler)),
|
|
588
591
|
None,
|
|
@@ -598,13 +601,15 @@ class LocalExecutor:
|
|
|
598
601
|
)
|
|
599
602
|
|
|
600
603
|
try:
|
|
601
|
-
|
|
604
|
+
# Use limit=1 for list operations to minimize data transfer
|
|
605
|
+
params = {"limit": 1} if check_action == Action.LIST else {}
|
|
606
|
+
await standard_handler.execute_operation(check_entity, check_action, params)
|
|
602
607
|
return ExecutionResult(
|
|
603
608
|
success=True,
|
|
604
609
|
data={
|
|
605
610
|
"status": "healthy",
|
|
606
611
|
"checked_entity": check_entity,
|
|
607
|
-
"checked_action":
|
|
612
|
+
"checked_action": check_action.value,
|
|
608
613
|
},
|
|
609
614
|
)
|
|
610
615
|
except Exception as e:
|
|
@@ -614,7 +619,7 @@ class LocalExecutor:
|
|
|
614
619
|
"status": "unhealthy",
|
|
615
620
|
"error": str(e),
|
|
616
621
|
"checked_entity": check_entity,
|
|
617
|
-
"checked_action":
|
|
622
|
+
"checked_action": check_action.value,
|
|
618
623
|
},
|
|
619
624
|
error=str(e),
|
|
620
625
|
)
|
|
@@ -90,9 +90,10 @@ class Operation(BaseModel):
|
|
|
90
90
|
None,
|
|
91
91
|
alias="x-airbyte-preferred-for-check",
|
|
92
92
|
description=(
|
|
93
|
-
"Mark this
|
|
93
|
+
"Mark this operation as the preferred operation for health checks. "
|
|
94
94
|
"When the CHECK action is executed, this operation will be used instead of "
|
|
95
|
-
"falling back to the first available list operation.
|
|
95
|
+
"falling back to the first available list operation. The operation's actual "
|
|
96
|
+
"action type (get, list, etc.) will be respected. Choose a lightweight, "
|
|
96
97
|
"always-available endpoint (e.g., users, accounts)."
|
|
97
98
|
),
|
|
98
99
|
)
|
|
@@ -239,7 +239,7 @@ class EndpointDefinition(BaseModel):
|
|
|
239
239
|
# Health check support (Airbyte extension)
|
|
240
240
|
preferred_for_check: bool = Field(
|
|
241
241
|
False,
|
|
242
|
-
description="Mark this
|
|
242
|
+
description="Mark this operation as preferred for health checks (from x-airbyte-preferred-for-check extension)",
|
|
243
243
|
)
|
|
244
244
|
|
|
245
245
|
|
|
@@ -959,7 +959,7 @@ def validate_connector_readiness(connector_dir: str | Path) -> Dict[str, Any]:
|
|
|
959
959
|
if not has_preferred_check:
|
|
960
960
|
readiness_warnings.append(
|
|
961
961
|
"No operation has x-airbyte-preferred-for-check: true. "
|
|
962
|
-
"Add this extension to a lightweight
|
|
962
|
+
"Add this extension to a lightweight operation (e.g., users.list or accounts.get) "
|
|
963
963
|
"to enable reliable health checks."
|
|
964
964
|
)
|
|
965
965
|
|
airbyte_agent_slack/connector.py
CHANGED
|
@@ -110,7 +110,7 @@ class SlackConnector:
|
|
|
110
110
|
"""
|
|
111
111
|
|
|
112
112
|
connector_name = "slack"
|
|
113
|
-
connector_version = "0.1.
|
|
113
|
+
connector_version = "0.1.13"
|
|
114
114
|
vendored_sdk_version = "0.1.0" # Version of vendored connector-sdk
|
|
115
115
|
|
|
116
116
|
# Map of (entity, action) -> needs_envelope for envelope wrapping decision
|
|
@@ -27,7 +27,7 @@ from uuid import (
|
|
|
27
27
|
SlackConnectorModel: ConnectorModel = ConnectorModel(
|
|
28
28
|
id=UUID('c2281cee-86f9-4a86-bb48-d23286b4c7bd'),
|
|
29
29
|
name='slack',
|
|
30
|
-
version='0.1.
|
|
30
|
+
version='0.1.13',
|
|
31
31
|
base_url='https://slack.com/api',
|
|
32
32
|
auth=AuthConfig(
|
|
33
33
|
options=[
|
|
@@ -61,7 +61,7 @@ SlackConnectorModel: ConnectorModel = ConnectorModel(
|
|
|
61
61
|
user_config_spec=AirbyteAuthConfig(
|
|
62
62
|
title='OAuth 2.0 Authentication',
|
|
63
63
|
type='object',
|
|
64
|
-
required=['
|
|
64
|
+
required=['access_token'],
|
|
65
65
|
properties={
|
|
66
66
|
'client_id': AuthConfigFieldSpec(
|
|
67
67
|
title='Client ID',
|
airbyte_agent_slack/models.py
CHANGED
|
@@ -9,6 +9,7 @@ from __future__ import annotations
|
|
|
9
9
|
|
|
10
10
|
from pydantic import BaseModel, ConfigDict, Field
|
|
11
11
|
from typing import TypeVar, Generic, Union, Any
|
|
12
|
+
from typing import Optional
|
|
12
13
|
|
|
13
14
|
# Authentication configuration - multiple options available
|
|
14
15
|
|
|
@@ -25,9 +26,9 @@ class SlackOauth20AuthenticationAuthConfig(BaseModel):
|
|
|
25
26
|
|
|
26
27
|
model_config = ConfigDict(extra="forbid")
|
|
27
28
|
|
|
28
|
-
client_id: str
|
|
29
|
+
client_id: Optional[str] = None
|
|
29
30
|
"""Your Slack App's Client ID"""
|
|
30
|
-
client_secret: str
|
|
31
|
+
client_secret: Optional[str] = None
|
|
31
32
|
"""Your Slack App's Client Secret"""
|
|
32
33
|
access_token: str
|
|
33
34
|
"""OAuth access token (bot token from oauth.v2.access response)"""
|
|
@@ -214,14 +215,6 @@ class File(BaseModel):
|
|
|
214
215
|
created: Union[int | None, Any] = Field(default=None)
|
|
215
216
|
timestamp: Union[int | None, Any] = Field(default=None)
|
|
216
217
|
|
|
217
|
-
class Reaction(BaseModel):
|
|
218
|
-
"""Message reaction"""
|
|
219
|
-
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
220
|
-
|
|
221
|
-
name: Union[str | None, Any] = Field(default=None)
|
|
222
|
-
users: Union[list[str] | None, Any] = Field(default=None)
|
|
223
|
-
count: Union[int | None, Any] = Field(default=None)
|
|
224
|
-
|
|
225
218
|
class Attachment(BaseModel):
|
|
226
219
|
"""Message attachment"""
|
|
227
220
|
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
@@ -243,6 +236,14 @@ class Attachment(BaseModel):
|
|
|
243
236
|
footer_icon: Union[str | None, Any] = Field(default=None)
|
|
244
237
|
ts: Union[Any, Any] = Field(default=None)
|
|
245
238
|
|
|
239
|
+
class Reaction(BaseModel):
|
|
240
|
+
"""Message reaction"""
|
|
241
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
242
|
+
|
|
243
|
+
name: Union[str | None, Any] = Field(default=None)
|
|
244
|
+
users: Union[list[str] | None, Any] = Field(default=None)
|
|
245
|
+
count: Union[int | None, Any] = Field(default=None)
|
|
246
|
+
|
|
246
247
|
class Message(BaseModel):
|
|
247
248
|
"""Slack message object"""
|
|
248
249
|
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: airbyte-agent-slack
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.42
|
|
4
4
|
Summary: Airbyte Slack 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/
|
|
@@ -158,7 +158,7 @@ See the official [Slack API reference](https://api.slack.com/methods).
|
|
|
158
158
|
|
|
159
159
|
## Version information
|
|
160
160
|
|
|
161
|
-
- **Package version:** 0.1.
|
|
162
|
-
- **Connector version:** 0.1.
|
|
163
|
-
- **Generated with Connector SDK commit SHA:**
|
|
161
|
+
- **Package version:** 0.1.42
|
|
162
|
+
- **Connector version:** 0.1.13
|
|
163
|
+
- **Generated with Connector SDK commit SHA:** 888d0538a17d95c6769f63dbad90e713de97c89b
|
|
164
164
|
- **Changelog:** [View changelog](https://github.com/airbytehq/airbyte-agent-connectors/blob/main/connectors/slack/CHANGELOG.md)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
airbyte_agent_slack/__init__.py,sha256=
|
|
2
|
-
airbyte_agent_slack/connector.py,sha256=
|
|
3
|
-
airbyte_agent_slack/connector_model.py,sha256=
|
|
4
|
-
airbyte_agent_slack/models.py,sha256=
|
|
1
|
+
airbyte_agent_slack/__init__.py,sha256=W_3XpP8Yxepjk9uhf22OUrHaOdF3joXWkwDLsFPnoNE,3807
|
|
2
|
+
airbyte_agent_slack/connector.py,sha256=UnCSKSXFWjXK1AibzNQvEY_z8bLyAFeYWtWgLU0TNNk,49392
|
|
3
|
+
airbyte_agent_slack/connector_model.py,sha256=9KbGq02ZvlVCwFm_5mlK8Ko7NdY1aBYBZ-h6y_8PxHA,194547
|
|
4
|
+
airbyte_agent_slack/models.py,sha256=TrZR3OdcbGObHpRWgldWL9EA6Nkg9wXd5wX9VI4RTlo,30081
|
|
5
5
|
airbyte_agent_slack/types.py,sha256=QDLOYuH23w4H_5fxVjTcBBz6BMYm2PWbuM1K_EOcD4o,32154
|
|
6
6
|
airbyte_agent_slack/_vendored/__init__.py,sha256=ILl7AHXMui__swyrjxrh9yRa4dLiwBvV6axPWFWty80,38
|
|
7
7
|
airbyte_agent_slack/_vendored/connector_sdk/__init__.py,sha256=T5o7roU6NSpH-lCAGZ338sE5dlh4ZU6i6IkeG1zpems,1949
|
|
@@ -14,15 +14,15 @@ airbyte_agent_slack/_vendored/connector_sdk/extensions.py,sha256=XWRRoJOOrwUHSKb
|
|
|
14
14
|
airbyte_agent_slack/_vendored/connector_sdk/http_client.py,sha256=09Fclbq4wrg38EM2Yh2kHiykQVXqdAGby024elcEz8E,28027
|
|
15
15
|
airbyte_agent_slack/_vendored/connector_sdk/introspection.py,sha256=e9uWn2ofpeehoBbzNgts_bjlKLn8ayA1Y3OpDC3b7ZA,19517
|
|
16
16
|
airbyte_agent_slack/_vendored/connector_sdk/secrets.py,sha256=J9ezMu4xNnLW11xY5RCre6DHP7YMKZCqwGJfk7ufHAM,6855
|
|
17
|
-
airbyte_agent_slack/_vendored/connector_sdk/types.py,sha256=
|
|
17
|
+
airbyte_agent_slack/_vendored/connector_sdk/types.py,sha256=aXiZxXzHvqPSOS7Dz_moyITT3EMybgjgPYgGuO7a_F4,9407
|
|
18
18
|
airbyte_agent_slack/_vendored/connector_sdk/utils.py,sha256=UYwYuSLhsDD-4C0dBs7Qy0E0gIcFZXb6VWadJORhQQU,4080
|
|
19
|
-
airbyte_agent_slack/_vendored/connector_sdk/validation.py,sha256=
|
|
19
|
+
airbyte_agent_slack/_vendored/connector_sdk/validation.py,sha256=LcbmBfGkWx0Xv4pWZYpFf4JlhFjvwqGcwvliRSalN8Y,39677
|
|
20
20
|
airbyte_agent_slack/_vendored/connector_sdk/validation_replication.py,sha256=v7F5YWd5m4diIF7_4m4nOkC9crg97vqRUUkt9ka9HZ4,36043
|
|
21
21
|
airbyte_agent_slack/_vendored/connector_sdk/cloud_utils/__init__.py,sha256=4799Hv9f2zxDVj1aLyQ8JpTEuFTp_oOZMRz-NZCdBJg,134
|
|
22
22
|
airbyte_agent_slack/_vendored/connector_sdk/cloud_utils/client.py,sha256=e0VLNCmesGGfo2uD0GiICgXsXTeTkh0GYiVgx_e4VEc,12296
|
|
23
23
|
airbyte_agent_slack/_vendored/connector_sdk/executor/__init__.py,sha256=EmG9YQNAjSuYCVB4D5VoLm4qpD1KfeiiOf7bpALj8p8,702
|
|
24
24
|
airbyte_agent_slack/_vendored/connector_sdk/executor/hosted_executor.py,sha256=tv0njAdy-gdHBg4izgcxhEWYbrNiBifEYEca9AWzaL0,8693
|
|
25
|
-
airbyte_agent_slack/_vendored/connector_sdk/executor/local_executor.py,sha256=
|
|
25
|
+
airbyte_agent_slack/_vendored/connector_sdk/executor/local_executor.py,sha256=4RK29lb5LzK9MCsg44oLgIaVcMCgy8jVFwgNJ_-qEFw,76941
|
|
26
26
|
airbyte_agent_slack/_vendored/connector_sdk/executor/models.py,sha256=mUUBnuShKXxVIfsTOhMiI2rn2a-50jJG7SFGKT_P6Jk,6281
|
|
27
27
|
airbyte_agent_slack/_vendored/connector_sdk/http/__init__.py,sha256=y8fbzZn-3yV9OxtYz8Dy6FFGI5v6TOqADd1G3xHH3Hw,911
|
|
28
28
|
airbyte_agent_slack/_vendored/connector_sdk/http/config.py,sha256=6J7YIIwHC6sRu9i-yKa5XvArwK2KU60rlnmxzDZq3lw,3283
|
|
@@ -47,12 +47,12 @@ airbyte_agent_slack/_vendored/connector_sdk/schema/base.py,sha256=0R0aR4HjcJpu3v
|
|
|
47
47
|
airbyte_agent_slack/_vendored/connector_sdk/schema/components.py,sha256=nJIPieavwX3o3ODvdtLHPk84d_V229xmg6LDfwEHjzc,8119
|
|
48
48
|
airbyte_agent_slack/_vendored/connector_sdk/schema/connector.py,sha256=mSZk1wr2YSdRj9tTRsPAuIlCzd_xZLw-Bzl1sMwE0rE,3731
|
|
49
49
|
airbyte_agent_slack/_vendored/connector_sdk/schema/extensions.py,sha256=DqWCvyWKLnPxAbJirq6uITf-MBeJRVCcsEjySF4fuhQ,10558
|
|
50
|
-
airbyte_agent_slack/_vendored/connector_sdk/schema/operations.py,sha256=
|
|
50
|
+
airbyte_agent_slack/_vendored/connector_sdk/schema/operations.py,sha256=vU1gW5AJ41ZXE_VK4TLe3qqR4e0I0_uWTjUkskWcVdk,6296
|
|
51
51
|
airbyte_agent_slack/_vendored/connector_sdk/schema/security.py,sha256=5UeaN63InuInS_XHNZSm5yDXrMLm5lhz298l-3GSc_4,11435
|
|
52
52
|
airbyte_agent_slack/_vendored/connector_sdk/telemetry/__init__.py,sha256=RaLgkBU4dfxn1LC5Y0Q9rr2PJbrwjxvPgBLmq8_WafE,211
|
|
53
53
|
airbyte_agent_slack/_vendored/connector_sdk/telemetry/config.py,sha256=tLmQwAFD0kP1WyBGWBS3ysaudN9H3e-3EopKZi6cGKg,885
|
|
54
54
|
airbyte_agent_slack/_vendored/connector_sdk/telemetry/events.py,sha256=8Y1NbXiwISX-V_wRofY7PqcwEXD0dLMnntKkY6XFU2s,1328
|
|
55
55
|
airbyte_agent_slack/_vendored/connector_sdk/telemetry/tracker.py,sha256=SginFQbHqVUVYG82NnNzG34O-tAQ_wZYjGDcuo0q4Kk,5584
|
|
56
|
-
airbyte_agent_slack-0.1.
|
|
57
|
-
airbyte_agent_slack-0.1.
|
|
58
|
-
airbyte_agent_slack-0.1.
|
|
56
|
+
airbyte_agent_slack-0.1.42.dist-info/METADATA,sha256=-Ef9Z4On2iHYV_-I1OBlDeRelX1vIDjpancDWJ7-xQg,6597
|
|
57
|
+
airbyte_agent_slack-0.1.42.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
58
|
+
airbyte_agent_slack-0.1.42.dist-info/RECORD,,
|
|
File without changes
|