airbyte-agent-slack 0.1.19__py3-none-any.whl → 0.1.20__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.
@@ -17,9 +17,9 @@ from .models import (
17
17
  ChannelPurpose,
18
18
  ChannelsListResponse,
19
19
  ChannelResponse,
20
- File,
21
20
  Reaction,
22
21
  Attachment,
22
+ File,
23
23
  Message,
24
24
  Thread,
25
25
  EditedInfo,
@@ -81,9 +81,9 @@ __all__ = [
81
81
  "ChannelPurpose",
82
82
  "ChannelsListResponse",
83
83
  "ChannelResponse",
84
- "File",
85
84
  "Reaction",
86
85
  "Attachment",
86
+ "File",
87
87
  "Message",
88
88
  "Thread",
89
89
  "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 CacheConfig, RetryConfig
16
+ from .extensions import CacheConfig, ReplicationConfig, RetryConfig
17
17
 
18
18
 
19
19
  class ExampleQuestions(BaseModel):
@@ -106,6 +106,7 @@ class Info(BaseModel):
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
108
  - x-airbyte-cache: Cache configuration for field mapping between API and cache schemas (Airbyte extension)
109
+ - x-airbyte-replication-config: Replication configuration for MULTI mode connectors (Airbyte extension)
109
110
  """
110
111
 
111
112
  model_config = ConfigDict(populate_by_name=True, extra="forbid")
@@ -124,6 +125,7 @@ class Info(BaseModel):
124
125
  x_airbyte_retry_config: RetryConfig | None = Field(None, alias="x-airbyte-retry-config")
125
126
  x_airbyte_example_questions: ExampleQuestions | None = Field(None, alias="x-airbyte-example-questions")
126
127
  x_airbyte_cache: CacheConfig | None = Field(None, alias="x-airbyte-cache")
128
+ x_airbyte_replication_config: ReplicationConfig | None = Field(None, alias="x-airbyte-replication-config")
127
129
 
128
130
 
129
131
  class ServerVariable(BaseModel):
@@ -182,6 +182,77 @@ class CacheEntityConfig(BaseModel):
182
182
  return self.x_airbyte_name or self.entity
183
183
 
184
184
 
185
+ class ReplicationConfigProperty(BaseModel):
186
+ """
187
+ Property definition for replication configuration fields.
188
+
189
+ Defines a single field in the replication configuration with its type,
190
+ description, and optional default value.
191
+
192
+ Example YAML usage:
193
+ x-airbyte-replication-config:
194
+ properties:
195
+ start_date:
196
+ type: string
197
+ title: Start Date
198
+ description: UTC date and time from which to replicate data
199
+ format: date-time
200
+ """
201
+
202
+ model_config = ConfigDict(populate_by_name=True, extra="forbid")
203
+
204
+ type: str
205
+ title: str | None = None
206
+ description: str | None = None
207
+ format: str | None = None
208
+ default: str | int | float | bool | None = None
209
+ enum: list[str] | None = None
210
+
211
+
212
+ class ReplicationConfig(BaseModel):
213
+ """
214
+ Replication configuration extension (x-airbyte-replication-config).
215
+
216
+ Defines replication-specific settings for MULTI mode connectors that need
217
+ to configure the underlying replication connector. This allows users who
218
+ use the direct-style API (credentials + environment) to also specify
219
+ replication settings like start_date, lookback_window, etc.
220
+
221
+ This extension is added to the Info model and provides field definitions
222
+ for replication configuration that gets merged into the source config
223
+ when creating sources.
224
+
225
+ Example YAML usage:
226
+ info:
227
+ title: HubSpot API
228
+ x-airbyte-replication-config:
229
+ title: Replication Configuration
230
+ description: Settings for data replication
231
+ properties:
232
+ start_date:
233
+ type: string
234
+ title: Start Date
235
+ description: UTC date and time from which to replicate data
236
+ format: date-time
237
+ required:
238
+ - start_date
239
+ replication_config_key_mapping:
240
+ start_date: start_date
241
+ """
242
+
243
+ model_config = ConfigDict(populate_by_name=True, extra="forbid")
244
+
245
+ title: str | None = None
246
+ description: str | None = None
247
+ properties: dict[str, ReplicationConfigProperty] = Field(default_factory=dict)
248
+ required: list[str] = Field(default_factory=list)
249
+ replication_config_key_mapping: dict[str, str] = Field(
250
+ default_factory=dict,
251
+ alias="replication_config_key_mapping",
252
+ description="Mapping from replication_config field names to source_config field names",
253
+ )
254
+
255
+
185
256
  class CacheConfig(BaseModel):
186
257
  """
187
258
  Cache configuration extension (x-airbyte-cache).
@@ -61,7 +61,7 @@ class SlackConnector:
61
61
  """
62
62
 
63
63
  connector_name = "slack"
64
- connector_version = "0.1.6"
64
+ connector_version = "0.1.7"
65
65
  vendored_sdk_version = "0.1.0" # Version of vendored connector-sdk
66
66
 
67
67
  # 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.6',
30
+ version='0.1.7',
31
31
  base_url='https://slack.com/api',
32
32
  auth=AuthConfig(
33
33
  options=[
@@ -176,30 +176,6 @@ 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 File(BaseModel):
180
- """File object"""
181
- model_config = ConfigDict(extra="allow", populate_by_name=True)
182
-
183
- id: Union[str | None, Any] = Field(default=None)
184
- name: Union[str | None, Any] = Field(default=None)
185
- title: Union[str | None, Any] = Field(default=None)
186
- mimetype: Union[str | None, Any] = Field(default=None)
187
- filetype: Union[str | None, Any] = Field(default=None)
188
- pretty_type: Union[str | None, Any] = Field(default=None)
189
- user: Union[str | None, Any] = Field(default=None)
190
- size: Union[int | None, Any] = Field(default=None)
191
- mode: Union[str | None, Any] = Field(default=None)
192
- is_external: Union[bool | None, Any] = Field(default=None)
193
- external_type: Union[str | None, Any] = Field(default=None)
194
- is_public: Union[bool | None, Any] = Field(default=None)
195
- public_url_shared: Union[bool | None, Any] = Field(default=None)
196
- url_private: Union[str | None, Any] = Field(default=None)
197
- url_private_download: Union[str | None, Any] = Field(default=None)
198
- permalink: Union[str | None, Any] = Field(default=None)
199
- permalink_public: Union[str | None, Any] = Field(default=None)
200
- created: Union[int | None, Any] = Field(default=None)
201
- timestamp: Union[int | None, Any] = Field(default=None)
202
-
203
179
  class Reaction(BaseModel):
204
180
  """Message reaction"""
205
181
  model_config = ConfigDict(extra="allow", populate_by_name=True)
@@ -229,6 +205,30 @@ class Attachment(BaseModel):
229
205
  footer_icon: Union[str | None, Any] = Field(default=None)
230
206
  ts: Union[Any, Any] = Field(default=None)
231
207
 
208
+ class File(BaseModel):
209
+ """File object"""
210
+ model_config = ConfigDict(extra="allow", populate_by_name=True)
211
+
212
+ id: Union[str | None, Any] = Field(default=None)
213
+ name: Union[str | None, Any] = Field(default=None)
214
+ title: Union[str | None, Any] = Field(default=None)
215
+ mimetype: Union[str | None, Any] = Field(default=None)
216
+ filetype: Union[str | None, Any] = Field(default=None)
217
+ pretty_type: Union[str | None, Any] = Field(default=None)
218
+ user: Union[str | None, Any] = Field(default=None)
219
+ size: Union[int | None, Any] = Field(default=None)
220
+ mode: Union[str | None, Any] = Field(default=None)
221
+ is_external: Union[bool | None, Any] = Field(default=None)
222
+ external_type: Union[str | None, Any] = Field(default=None)
223
+ is_public: Union[bool | None, Any] = Field(default=None)
224
+ public_url_shared: Union[bool | None, Any] = Field(default=None)
225
+ url_private: Union[str | None, Any] = Field(default=None)
226
+ url_private_download: Union[str | None, Any] = Field(default=None)
227
+ permalink: Union[str | None, Any] = Field(default=None)
228
+ permalink_public: Union[str | None, Any] = Field(default=None)
229
+ created: Union[int | None, Any] = Field(default=None)
230
+ timestamp: 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.19
3
+ Version: 0.1.20
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/
@@ -130,6 +130,10 @@ async def slack_execute(entity: str, action: str, params: dict | None = None):
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
+
133
137
  ## Full documentation
134
138
 
135
139
  This connector supports the following entities and actions.
@@ -154,6 +158,6 @@ For the service's official API docs, see the [Slack API reference](https://api.s
154
158
 
155
159
  ## Version information
156
160
 
157
- - **Package version:** 0.1.19
158
- - **Connector version:** 0.1.6
159
- - **Generated with Connector SDK commit SHA:** a035ad482faa8ceae3c296a0651e914e1dae140e
161
+ - **Package version:** 0.1.20
162
+ - **Connector version:** 0.1.7
163
+ - **Generated with Connector SDK commit SHA:** 049f6ad546186bde8303b77e0e1001a831a58654
@@ -1,7 +1,7 @@
1
- airbyte_agent_slack/__init__.py,sha256=5Od-bQD8Lu7rou3JPVHzzdRC6vzBf9PUgqYGaaLscOU,3021
2
- airbyte_agent_slack/connector.py,sha256=cZOzLshcM4WT7sHQnaAD-Gis-4SEaoc0CEFKPWPy75o,29289
3
- airbyte_agent_slack/connector_model.py,sha256=PFuCnB6hn9fmHFIOQBOAO4XcZAokmG72j9xH5fzstdk,191725
4
- airbyte_agent_slack/models.py,sha256=GnyMXKd0qbk7YVQfVrfP7Xc8Xo6Wd1RJZteTPT1Lanw,22470
1
+ airbyte_agent_slack/__init__.py,sha256=opPBP7DJq2UMJVKuubO2Ov-MmdpD2s-6xEZFFkbe4Yg,3021
2
+ airbyte_agent_slack/connector.py,sha256=JyyOefjyEnJ0pB9sZh4A2Vm6Ddoiv53wVJHnfW4q-zQ,29289
3
+ airbyte_agent_slack/connector_model.py,sha256=S7uRliS0uIIdloIwPIbzUoGEVBgNmhb0PuhrR8z5eGM,191725
4
+ airbyte_agent_slack/models.py,sha256=P3C9nEiJMla1QXCpwBFeR5Ez_O4xqbxHEjBXaLa1xQw,22470
5
5
  airbyte_agent_slack/types.py,sha256=PzLbXxZt3-K9Kux3U_Bn6tW9sTQho_UVoMU_Hqzo5d4,2628
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=KX3OUSnWu_M6yq-IMTH4dI420x-VRSvKc7uery6gFUU,6303
45
+ airbyte_agent_slack/_vendored/connector_sdk/schema/base.py,sha256=IoAucZQ0j0xTdm4VWotB636R4jsrkYnppMQhXE0uoyU,6541
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=f7VhHrcIYxaPOJHMc4g0lpy04pZTbx5nlroNzAu5B9Q,7135
48
+ airbyte_agent_slack/_vendored/connector_sdk/schema/extensions.py,sha256=5hgpFHK7fzpzegCkJk882DeIP79bCx_qairKJhvPMZ8,9590
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=6ljzf_JHs4amnQX9AhePcEsT8P3ZnTSC4xeg7-cvsNQ,9100
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.19.dist-info/METADATA,sha256=IfkVcnCQzZv9rAUmYWzum6sDhUFzMwGe2sNzxrEEcEg,6434
56
- airbyte_agent_slack-0.1.19.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
57
- airbyte_agent_slack-0.1.19.dist-info/RECORD,,
55
+ airbyte_agent_slack-0.1.20.dist-info/METADATA,sha256=GxNg7_TD3dkY-nkC90NUPL2B-QvAMUjMGBmA7HtV_uE,6672
56
+ airbyte_agent_slack-0.1.20.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
57
+ airbyte_agent_slack-0.1.20.dist-info/RECORD,,