airbyte-agent-slack 0.1.0__py3-none-any.whl → 0.1.1__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/schema/base.py +3 -1
- airbyte_agent_slack/_vendored/connector_sdk/schema/extensions.py +94 -1
- airbyte_agent_slack/models.py +8 -8
- {airbyte_agent_slack-0.1.0.dist-info → airbyte_agent_slack-0.1.1.dist-info}/METADATA +3 -3
- {airbyte_agent_slack-0.1.0.dist-info → airbyte_agent_slack-0.1.1.dist-info}/RECORD +7 -7
- {airbyte_agent_slack-0.1.0.dist-info → airbyte_agent_slack-0.1.1.dist-info}/WHEEL +0 -0
airbyte_agent_slack/__init__.py
CHANGED
|
@@ -17,9 +17,9 @@ from .models import (
|
|
|
17
17
|
ChannelPurpose,
|
|
18
18
|
ChannelsListResponse,
|
|
19
19
|
ChannelResponse,
|
|
20
|
+
Reaction,
|
|
20
21
|
File,
|
|
21
22
|
Attachment,
|
|
22
|
-
Reaction,
|
|
23
23
|
Message,
|
|
24
24
|
Thread,
|
|
25
25
|
EditedInfo,
|
|
@@ -59,9 +59,9 @@ __all__ = [
|
|
|
59
59
|
"ChannelPurpose",
|
|
60
60
|
"ChannelsListResponse",
|
|
61
61
|
"ChannelResponse",
|
|
62
|
+
"Reaction",
|
|
62
63
|
"File",
|
|
63
64
|
"Attachment",
|
|
64
|
-
"Reaction",
|
|
65
65
|
"Message",
|
|
66
66
|
"Thread",
|
|
67
67
|
"EditedInfo",
|
|
@@ -13,7 +13,7 @@ from uuid import UUID
|
|
|
13
13
|
from pydantic import BaseModel, ConfigDict, Field, field_validator
|
|
14
14
|
from pydantic_core import Url
|
|
15
15
|
|
|
16
|
-
from .extensions import RetryConfig
|
|
16
|
+
from .extensions import CacheConfig, RetryConfig
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
class ExampleQuestions(BaseModel):
|
|
@@ -105,6 +105,7 @@ class Info(BaseModel):
|
|
|
105
105
|
- x-airbyte-external-documentation-urls: List of external documentation URLs (Airbyte extension)
|
|
106
106
|
- x-airbyte-retry-config: Retry configuration for transient errors (Airbyte extension)
|
|
107
107
|
- x-airbyte-example-questions: Example questions for AI connector README (Airbyte extension)
|
|
108
|
+
- x-airbyte-cache: Cache configuration for field mapping between API and cache schemas (Airbyte extension)
|
|
108
109
|
"""
|
|
109
110
|
|
|
110
111
|
model_config = ConfigDict(populate_by_name=True, extra="forbid")
|
|
@@ -122,6 +123,7 @@ class Info(BaseModel):
|
|
|
122
123
|
x_airbyte_external_documentation_urls: list[DocUrl] = Field(..., alias="x-airbyte-external-documentation-urls")
|
|
123
124
|
x_airbyte_retry_config: RetryConfig | None = Field(None, alias="x-airbyte-retry-config")
|
|
124
125
|
x_airbyte_example_questions: ExampleQuestions | None = Field(None, alias="x-airbyte-example-questions")
|
|
126
|
+
x_airbyte_cache: CacheConfig | None = Field(None, alias="x-airbyte-cache")
|
|
125
127
|
|
|
126
128
|
|
|
127
129
|
class ServerVariable(BaseModel):
|
|
@@ -14,7 +14,7 @@ are implemented.
|
|
|
14
14
|
|
|
15
15
|
from typing import Literal
|
|
16
16
|
|
|
17
|
-
from pydantic import BaseModel, ConfigDict
|
|
17
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
class PaginationConfig(BaseModel):
|
|
@@ -107,3 +107,96 @@ class RetryConfig(BaseModel):
|
|
|
107
107
|
# Header-based delay extraction
|
|
108
108
|
retry_after_header: str = "Retry-After"
|
|
109
109
|
retry_after_format: Literal["seconds", "milliseconds", "unix_timestamp"] = "seconds"
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
class CacheFieldConfig(BaseModel):
|
|
113
|
+
"""
|
|
114
|
+
Field configuration for cache mapping.
|
|
115
|
+
|
|
116
|
+
Defines a single field in a cache entity, with optional name aliasing
|
|
117
|
+
to map between user-facing field names and cache storage names.
|
|
118
|
+
|
|
119
|
+
Used in x-airbyte-cache extension for api_search operations.
|
|
120
|
+
"""
|
|
121
|
+
|
|
122
|
+
model_config = ConfigDict(populate_by_name=True, extra="forbid")
|
|
123
|
+
|
|
124
|
+
name: str
|
|
125
|
+
x_airbyte_name: str | None = Field(default=None, alias="x-airbyte-name")
|
|
126
|
+
type: str | list[str]
|
|
127
|
+
description: str
|
|
128
|
+
|
|
129
|
+
@property
|
|
130
|
+
def cache_name(self) -> str:
|
|
131
|
+
"""Return cache name, falling back to name if alias not specified."""
|
|
132
|
+
return self.x_airbyte_name or self.name
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
class CacheEntityConfig(BaseModel):
|
|
136
|
+
"""
|
|
137
|
+
Entity configuration for cache mapping.
|
|
138
|
+
|
|
139
|
+
Defines a cache-enabled entity with its fields and optional name aliasing
|
|
140
|
+
to map between user-facing entity names and cache storage names.
|
|
141
|
+
|
|
142
|
+
Used in x-airbyte-cache extension for api_search operations.
|
|
143
|
+
"""
|
|
144
|
+
|
|
145
|
+
model_config = ConfigDict(populate_by_name=True, extra="forbid")
|
|
146
|
+
|
|
147
|
+
entity: str
|
|
148
|
+
x_airbyte_name: str | None = Field(default=None, alias="x-airbyte-name")
|
|
149
|
+
fields: list[CacheFieldConfig]
|
|
150
|
+
|
|
151
|
+
@property
|
|
152
|
+
def cache_name(self) -> str:
|
|
153
|
+
"""Return cache entity name, falling back to entity if alias not specified."""
|
|
154
|
+
return self.x_airbyte_name or self.entity
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
class CacheConfig(BaseModel):
|
|
158
|
+
"""
|
|
159
|
+
Cache configuration extension (x-airbyte-cache).
|
|
160
|
+
|
|
161
|
+
Defines cache-enabled entities and their field mappings for api_search operations.
|
|
162
|
+
Supports optional name aliasing via x-airbyte-name for both entities and fields,
|
|
163
|
+
enabling bidirectional mapping between user-facing names and cache storage names.
|
|
164
|
+
|
|
165
|
+
This extension is added to the Info model and provides field-level mapping for
|
|
166
|
+
search operations that use cached data.
|
|
167
|
+
|
|
168
|
+
Example YAML usage:
|
|
169
|
+
info:
|
|
170
|
+
title: Stripe API
|
|
171
|
+
x-airbyte-cache:
|
|
172
|
+
entities:
|
|
173
|
+
- entity: customers
|
|
174
|
+
stream: customers
|
|
175
|
+
fields:
|
|
176
|
+
- name: email
|
|
177
|
+
type: ["null", "string"]
|
|
178
|
+
description: "Customer email address"
|
|
179
|
+
- name: customer_name
|
|
180
|
+
x-airbyte-name: name
|
|
181
|
+
type: ["null", "string"]
|
|
182
|
+
description: "Customer full name"
|
|
183
|
+
"""
|
|
184
|
+
|
|
185
|
+
model_config = ConfigDict(populate_by_name=True, extra="forbid")
|
|
186
|
+
|
|
187
|
+
entities: list[CacheEntityConfig]
|
|
188
|
+
|
|
189
|
+
def get_entity_mapping(self, user_entity: str) -> CacheEntityConfig | None:
|
|
190
|
+
"""
|
|
191
|
+
Get entity config by user-facing name.
|
|
192
|
+
|
|
193
|
+
Args:
|
|
194
|
+
user_entity: User-facing entity name to look up
|
|
195
|
+
|
|
196
|
+
Returns:
|
|
197
|
+
CacheEntityConfig if found, None otherwise
|
|
198
|
+
"""
|
|
199
|
+
for entity in self.entities:
|
|
200
|
+
if entity.entity == user_entity:
|
|
201
|
+
return entity
|
|
202
|
+
return None
|
airbyte_agent_slack/models.py
CHANGED
|
@@ -176,6 +176,14 @@ class ChannelResponse(BaseModel):
|
|
|
176
176
|
ok: Union[bool, Any] = Field(default=None)
|
|
177
177
|
channel: Union[Channel, Any] = Field(default=None)
|
|
178
178
|
|
|
179
|
+
class Reaction(BaseModel):
|
|
180
|
+
"""Message reaction"""
|
|
181
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
182
|
+
|
|
183
|
+
name: Union[str | None, Any] = Field(default=None)
|
|
184
|
+
users: Union[list[str] | None, Any] = Field(default=None)
|
|
185
|
+
count: Union[int | None, Any] = Field(default=None)
|
|
186
|
+
|
|
179
187
|
class File(BaseModel):
|
|
180
188
|
"""File object"""
|
|
181
189
|
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
@@ -221,14 +229,6 @@ class Attachment(BaseModel):
|
|
|
221
229
|
footer_icon: Union[str | None, Any] = Field(default=None)
|
|
222
230
|
ts: Union[Any, Any] = Field(default=None)
|
|
223
231
|
|
|
224
|
-
class Reaction(BaseModel):
|
|
225
|
-
"""Message reaction"""
|
|
226
|
-
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
227
|
-
|
|
228
|
-
name: Union[str | None, Any] = Field(default=None)
|
|
229
|
-
users: Union[list[str] | None, Any] = Field(default=None)
|
|
230
|
-
count: Union[int | None, Any] = Field(default=None)
|
|
231
|
-
|
|
232
232
|
class Message(BaseModel):
|
|
233
233
|
"""Slack message object"""
|
|
234
234
|
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.1
|
|
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/
|
|
@@ -123,6 +123,6 @@ For the service's official API docs, see the [Slack API reference](https://api.s
|
|
|
123
123
|
|
|
124
124
|
## Version information
|
|
125
125
|
|
|
126
|
-
- **Package version:** 0.1.
|
|
126
|
+
- **Package version:** 0.1.1
|
|
127
127
|
- **Connector version:** 0.1.1
|
|
128
|
-
- **Generated with Connector SDK commit SHA:**
|
|
128
|
+
- **Generated with Connector SDK commit SHA:** 3521119342fc2a44fcae909505ffb1e7b75557eb
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
airbyte_agent_slack/__init__.py,sha256=
|
|
1
|
+
airbyte_agent_slack/__init__.py,sha256=8GPXkTAiah-N_W7LUw8lX7pP6CntIgjwVizrL4VfqiE,1827
|
|
2
2
|
airbyte_agent_slack/connector.py,sha256=5U0F8qNoT7UDS6MZ0_BidNt7p1wI73YKNqUxMlZZ-Po,20012
|
|
3
3
|
airbyte_agent_slack/connector_model.py,sha256=4s3vSwHde2emQI_kkIhL8JMkQoJlFqUbFKDU6dGUqD8,126566
|
|
4
|
-
airbyte_agent_slack/models.py,sha256=
|
|
4
|
+
airbyte_agent_slack/models.py,sha256=Fx1Apb4TVuba_lo_CjpgnVikq3efWrWbGBfZmak9Esk,17688
|
|
5
5
|
airbyte_agent_slack/types.py,sha256=0B5u0udAnf6wxK8nUpzgk1opmO8dkIaOupJBltqXsVs,1550
|
|
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
|
|
@@ -42,16 +42,16 @@ airbyte_agent_slack/_vendored/connector_sdk/performance/__init__.py,sha256=Sp5fS
|
|
|
42
42
|
airbyte_agent_slack/_vendored/connector_sdk/performance/instrumentation.py,sha256=_dXvNiqdndIBwDjeDKNViWzn_M5FkSUsMmJtFldrmsM,1504
|
|
43
43
|
airbyte_agent_slack/_vendored/connector_sdk/performance/metrics.py,sha256=FRff7dKt4iwt_A7pxV5n9kAGBR756PC7q8-weWygPSM,2817
|
|
44
44
|
airbyte_agent_slack/_vendored/connector_sdk/schema/__init__.py,sha256=Uymu-QuzGJuMxexBagIvUxpVAigIuIhz3KeBl_Vu4Ko,1638
|
|
45
|
-
airbyte_agent_slack/_vendored/connector_sdk/schema/base.py,sha256=
|
|
45
|
+
airbyte_agent_slack/_vendored/connector_sdk/schema/base.py,sha256=RcsVLrO0L57g4kWfpDWjfc9gelvecplmoy43Zi-7GEY,4944
|
|
46
46
|
airbyte_agent_slack/_vendored/connector_sdk/schema/components.py,sha256=x3YCM1p2n_xHi50fMeOX0mXUiPqjGlLHs3Go8jXokb0,7895
|
|
47
47
|
airbyte_agent_slack/_vendored/connector_sdk/schema/connector.py,sha256=mSZk1wr2YSdRj9tTRsPAuIlCzd_xZLw-Bzl1sMwE0rE,3731
|
|
48
|
-
airbyte_agent_slack/_vendored/connector_sdk/schema/extensions.py,sha256=
|
|
48
|
+
airbyte_agent_slack/_vendored/connector_sdk/schema/extensions.py,sha256=U2sOTEXVi3DV6bIvbZPA0WUl5_vLuS_IzaDXQAJ4O14,6220
|
|
49
49
|
airbyte_agent_slack/_vendored/connector_sdk/schema/operations.py,sha256=RpzGtAI4yvAtMHAfMUMcUwgHv_qJojnKlNb75_agUF8,5729
|
|
50
50
|
airbyte_agent_slack/_vendored/connector_sdk/schema/security.py,sha256=zQ9RRuF3LBgLQi_4cItmjXbG_5WKlmCNM3nCil30H90,8470
|
|
51
51
|
airbyte_agent_slack/_vendored/connector_sdk/telemetry/__init__.py,sha256=RaLgkBU4dfxn1LC5Y0Q9rr2PJbrwjxvPgBLmq8_WafE,211
|
|
52
52
|
airbyte_agent_slack/_vendored/connector_sdk/telemetry/config.py,sha256=tLmQwAFD0kP1WyBGWBS3ysaudN9H3e-3EopKZi6cGKg,885
|
|
53
53
|
airbyte_agent_slack/_vendored/connector_sdk/telemetry/events.py,sha256=8Y1NbXiwISX-V_wRofY7PqcwEXD0dLMnntKkY6XFU2s,1328
|
|
54
54
|
airbyte_agent_slack/_vendored/connector_sdk/telemetry/tracker.py,sha256=Ftrk0_ddfM7dZG8hF9xBuPwhbc9D6JZ7Q9qs5o3LEyA,5579
|
|
55
|
-
airbyte_agent_slack-0.1.
|
|
56
|
-
airbyte_agent_slack-0.1.
|
|
57
|
-
airbyte_agent_slack-0.1.
|
|
55
|
+
airbyte_agent_slack-0.1.1.dist-info/METADATA,sha256=cZs7WDnRry6SS5DB_xwtCQNRw5sSGYbzr16GA8OnLJ4,4158
|
|
56
|
+
airbyte_agent_slack-0.1.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
57
|
+
airbyte_agent_slack-0.1.1.dist-info/RECORD,,
|
|
File without changes
|