airbyte-agent-slack 0.1.17__py3-none-any.whl → 0.1.19__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
- Attachment,
21
20
  File,
22
21
  Reaction,
22
+ Attachment,
23
23
  Message,
24
24
  Thread,
25
25
  EditedInfo,
@@ -81,9 +81,9 @@ __all__ = [
81
81
  "ChannelPurpose",
82
82
  "ChannelsListResponse",
83
83
  "ChannelResponse",
84
- "Attachment",
85
84
  "File",
86
85
  "Reaction",
86
+ "Attachment",
87
87
  "Message",
88
88
  "Thread",
89
89
  "EditedInfo",
@@ -140,6 +140,33 @@ class ServerVariable(BaseModel):
140
140
  description: str | None = None
141
141
 
142
142
 
143
+ class EnvironmentMappingTransform(BaseModel):
144
+ """
145
+ Structured transform for environment mapping values.
146
+
147
+ Allows transforming environment values before storing in source_config.
148
+
149
+ Example:
150
+ source: subdomain
151
+ format: "{value}.atlassian.net"
152
+
153
+ The format string uses {value} as a placeholder for the source value.
154
+ """
155
+
156
+ model_config = ConfigDict(populate_by_name=True, extra="forbid")
157
+
158
+ source: str = Field(description="The environment config key to read the value from")
159
+ format: str | None = Field(
160
+ default=None,
161
+ description="Optional format string to transform the value. Use {value} as placeholder.",
162
+ )
163
+
164
+
165
+ # Type alias for environment mapping values: either a simple string (config key)
166
+ # or a structured transform with source and optional transform template
167
+ EnvironmentMappingValue = str | EnvironmentMappingTransform
168
+
169
+
143
170
  class Server(BaseModel):
144
171
  """
145
172
  Server URL and variable definitions.
@@ -152,7 +179,10 @@ class Server(BaseModel):
152
179
  url: str
153
180
  description: str | None = None
154
181
  variables: Dict[str, ServerVariable] = Field(default_factory=dict)
155
- x_airbyte_replication_environment_mapping: Dict[str, str] | None = Field(default=None, alias="x-airbyte-replication-environment-mapping")
182
+ x_airbyte_replication_environment_mapping: Dict[str, EnvironmentMappingValue] | None = Field(
183
+ default=None,
184
+ alias="x-airbyte-replication-environment-mapping",
185
+ )
156
186
  x_airbyte_replication_environment_constants: Dict[str, Any] | None = Field(
157
187
  default=None,
158
188
  alias="x-airbyte-replication-environment-constants",
@@ -61,7 +61,7 @@ class SlackConnector:
61
61
  """
62
62
 
63
63
  connector_name = "slack"
64
- connector_version = "0.1.5"
64
+ connector_version = "0.1.6"
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
@@ -123,7 +123,7 @@ class SlackConnector:
123
123
  Example: lambda tokens: save_to_database(tokens)
124
124
  Examples:
125
125
  # Local mode (direct API calls)
126
- connector = SlackConnector(auth_config=SlackAuthConfig(access_token="..."))
126
+ connector = SlackConnector(auth_config=SlackAuthConfig(api_token="..."))
127
127
  # Hosted mode (executed on Airbyte cloud)
128
128
  connector = SlackConnector(
129
129
  external_user_id="user-123",
@@ -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.5',
30
+ version='0.1.6',
31
31
  base_url='https://slack.com/api',
32
32
  auth=AuthConfig(
33
33
  options=[
@@ -38,16 +38,16 @@ SlackConnectorModel: ConnectorModel = ConnectorModel(
38
38
  user_config_spec=AirbyteAuthConfig(
39
39
  title='Token Authentication',
40
40
  type='object',
41
- required=['access_token'],
41
+ required=['api_token'],
42
42
  properties={
43
- 'access_token': AuthConfigFieldSpec(
44
- title='Access Token',
43
+ 'api_token': AuthConfigFieldSpec(
44
+ title='API Token',
45
45
  description='Your Slack Bot Token (xoxb-) or User Token (xoxp-)',
46
46
  airbyte_secret=True,
47
47
  ),
48
48
  },
49
- auth_mapping={'token': '${access_token}'},
50
- replication_auth_key_mapping={'credentials.api_token': 'access_token'},
49
+ auth_mapping={'token': '${api_token}'},
50
+ replication_auth_key_mapping={'credentials.api_token': 'api_token'},
51
51
  replication_auth_key_constants={'credentials.option_title': 'API Token Credentials'},
52
52
  ),
53
53
  ),
@@ -17,7 +17,7 @@ class SlackTokenAuthenticationAuthConfig(BaseModel):
17
17
 
18
18
  model_config = ConfigDict(extra="forbid")
19
19
 
20
- access_token: str
20
+ api_token: str
21
21
  """Your Slack Bot Token (xoxb-) or User Token (xoxp-)"""
22
22
 
23
23
  class SlackOauth20AuthenticationAuthConfig(BaseModel):
@@ -176,27 +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 Attachment(BaseModel):
180
- """Message attachment"""
181
- model_config = ConfigDict(extra="allow", populate_by_name=True)
182
-
183
- id: Union[int | None, Any] = Field(default=None)
184
- fallback: Union[str | None, Any] = Field(default=None)
185
- color: Union[str | None, Any] = Field(default=None)
186
- pretext: Union[str | None, Any] = Field(default=None)
187
- author_name: Union[str | None, Any] = Field(default=None)
188
- author_link: Union[str | None, Any] = Field(default=None)
189
- author_icon: Union[str | None, Any] = Field(default=None)
190
- title: Union[str | None, Any] = Field(default=None)
191
- title_link: Union[str | None, Any] = Field(default=None)
192
- text: Union[str | None, Any] = Field(default=None)
193
- fields: Union[list[dict[str, Any]] | None, Any] = Field(default=None)
194
- image_url: Union[str | None, Any] = Field(default=None)
195
- thumb_url: Union[str | None, Any] = Field(default=None)
196
- footer: Union[str | None, Any] = Field(default=None)
197
- footer_icon: Union[str | None, Any] = Field(default=None)
198
- ts: Union[Any, Any] = Field(default=None)
199
-
200
179
  class File(BaseModel):
201
180
  """File object"""
202
181
  model_config = ConfigDict(extra="allow", populate_by_name=True)
@@ -229,6 +208,27 @@ class Reaction(BaseModel):
229
208
  users: Union[list[str] | None, Any] = Field(default=None)
230
209
  count: Union[int | None, Any] = Field(default=None)
231
210
 
211
+ class Attachment(BaseModel):
212
+ """Message attachment"""
213
+ model_config = ConfigDict(extra="allow", populate_by_name=True)
214
+
215
+ id: Union[int | None, Any] = Field(default=None)
216
+ fallback: Union[str | None, Any] = Field(default=None)
217
+ color: Union[str | None, Any] = Field(default=None)
218
+ pretext: Union[str | None, Any] = Field(default=None)
219
+ author_name: Union[str | None, Any] = Field(default=None)
220
+ author_link: Union[str | None, Any] = Field(default=None)
221
+ author_icon: Union[str | None, Any] = Field(default=None)
222
+ title: Union[str | None, Any] = Field(default=None)
223
+ title_link: Union[str | None, Any] = Field(default=None)
224
+ text: Union[str | None, Any] = Field(default=None)
225
+ fields: Union[list[dict[str, Any]] | None, Any] = Field(default=None)
226
+ image_url: Union[str | None, Any] = Field(default=None)
227
+ thumb_url: Union[str | None, Any] = Field(default=None)
228
+ footer: Union[str | None, Any] = Field(default=None)
229
+ footer_icon: Union[str | None, Any] = Field(default=None)
230
+ ts: Union[Any, 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.17
3
+ Version: 0.1.19
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/
@@ -99,7 +99,7 @@ from airbyte_agent_slack.models import SlackTokenAuthenticationAuthConfig
99
99
 
100
100
  connector = SlackConnector(
101
101
  auth_config=SlackTokenAuthenticationAuthConfig(
102
- access_token="<Your Slack Bot Token (xoxb-) or User Token (xoxp-)>"
102
+ api_token="<Your Slack Bot Token (xoxb-) or User Token (xoxp-)>"
103
103
  )
104
104
  )
105
105
 
@@ -154,6 +154,6 @@ For the service's official API docs, see the [Slack API reference](https://api.s
154
154
 
155
155
  ## Version information
156
156
 
157
- - **Package version:** 0.1.17
158
- - **Connector version:** 0.1.5
159
- - **Generated with Connector SDK commit SHA:** f17cdd8c92950751a75daff9c6bf74df05774ede
157
+ - **Package version:** 0.1.19
158
+ - **Connector version:** 0.1.6
159
+ - **Generated with Connector SDK commit SHA:** a035ad482faa8ceae3c296a0651e914e1dae140e
@@ -1,7 +1,7 @@
1
- airbyte_agent_slack/__init__.py,sha256=RSQl8MRWObBZ-qHIRkerpwqooFSQFk5_nQWMCuQ4sKI,3021
2
- airbyte_agent_slack/connector.py,sha256=C-runzVQOFsrOAM0mEV8pGL4fJfk8vY6TqYPvKq1bNU,29292
3
- airbyte_agent_slack/connector_model.py,sha256=e-lj4OySCyhaGYpor6YGQbgLNItRurZVg4HhmE2_R5s,191740
4
- airbyte_agent_slack/models.py,sha256=NBqIp579laht73q1iKw66scVIZ048fxAFL_qeYsF40w,22473
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
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,7 +42,7 @@ 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=zBW5svQohGCdn46Snc8DG4PsqfmZDovp693vRgugDFE,5374
45
+ airbyte_agent_slack/_vendored/connector_sdk/schema/base.py,sha256=KX3OUSnWu_M6yq-IMTH4dI420x-VRSvKc7uery6gFUU,6303
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
48
  airbyte_agent_slack/_vendored/connector_sdk/schema/extensions.py,sha256=f7VhHrcIYxaPOJHMc4g0lpy04pZTbx5nlroNzAu5B9Q,7135
@@ -52,6 +52,6 @@ airbyte_agent_slack/_vendored/connector_sdk/telemetry/__init__.py,sha256=RaLgkBU
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.17.dist-info/METADATA,sha256=13ibIyFGNZGvFH0NJDbNKUD7vBHebZUhLgeOXIRpyFc,6437
56
- airbyte_agent_slack-0.1.17.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
57
- airbyte_agent_slack-0.1.17.dist-info/RECORD,,
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,,