airbyte-agent-slack 0.1.14__tar.gz → 0.1.16__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.
Files changed (61) hide show
  1. airbyte_agent_slack-0.1.16/AUTH.md +121 -0
  2. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/CHANGELOG.md +10 -0
  3. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/PKG-INFO +4 -4
  4. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/README.md +3 -3
  5. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/__init__.py +2 -2
  6. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/auth_strategies.py +1 -3
  7. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/executor/local_executor.py +1 -3
  8. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/pyproject.toml +1 -1
  9. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/.gitignore +0 -0
  10. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/REFERENCE.md +0 -0
  11. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/__init__.py +0 -0
  12. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/__init__.py +0 -0
  13. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/auth_template.py +0 -0
  14. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/cloud_utils/__init__.py +0 -0
  15. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/cloud_utils/client.py +0 -0
  16. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/connector_model_loader.py +0 -0
  17. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/constants.py +0 -0
  18. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/exceptions.py +0 -0
  19. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/executor/__init__.py +0 -0
  20. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/executor/hosted_executor.py +0 -0
  21. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/executor/models.py +0 -0
  22. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/extensions.py +0 -0
  23. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/http/__init__.py +0 -0
  24. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/http/adapters/__init__.py +0 -0
  25. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/http/adapters/httpx_adapter.py +0 -0
  26. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/http/config.py +0 -0
  27. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/http/exceptions.py +0 -0
  28. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/http/protocols.py +0 -0
  29. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/http/response.py +0 -0
  30. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/http_client.py +0 -0
  31. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/introspection.py +0 -0
  32. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/logging/__init__.py +0 -0
  33. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/logging/logger.py +0 -0
  34. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/logging/types.py +0 -0
  35. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/observability/__init__.py +0 -0
  36. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/observability/config.py +0 -0
  37. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/observability/models.py +0 -0
  38. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/observability/redactor.py +0 -0
  39. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/observability/session.py +0 -0
  40. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/performance/__init__.py +0 -0
  41. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/performance/instrumentation.py +0 -0
  42. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/performance/metrics.py +0 -0
  43. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/schema/__init__.py +0 -0
  44. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/schema/base.py +0 -0
  45. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/schema/components.py +0 -0
  46. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/schema/connector.py +0 -0
  47. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/schema/extensions.py +0 -0
  48. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/schema/operations.py +0 -0
  49. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/schema/security.py +0 -0
  50. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/secrets.py +0 -0
  51. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/telemetry/__init__.py +0 -0
  52. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/telemetry/config.py +0 -0
  53. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/telemetry/events.py +0 -0
  54. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/telemetry/tracker.py +0 -0
  55. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/types.py +0 -0
  56. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/utils.py +0 -0
  57. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/_vendored/connector_sdk/validation.py +0 -0
  58. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/connector.py +0 -0
  59. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/connector_model.py +0 -0
  60. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/models.py +8 -8
  61. {airbyte_agent_slack-0.1.14 → airbyte_agent_slack-0.1.16}/airbyte_agent_slack/types.py +0 -0
@@ -0,0 +1,121 @@
1
+ # Slack authentication and configuration
2
+
3
+ This page documents the authentication and configuration options for the Slack agent connector.
4
+
5
+ ## Authentication
6
+
7
+ ### Open source execution
8
+
9
+ In open source mode, you provide API credentials directly to the connector.
10
+
11
+ #### OAuth
12
+
13
+ | Field Name | Type | Required | Description |
14
+ |------------|------|----------|-------------|
15
+ | `client_id` | `str` | Yes | Your Slack App's Client ID |
16
+ | `client_secret` | `str` | Yes | Your Slack App's Client Secret |
17
+ | `access_token` | `str` | Yes | OAuth access token (bot token from oauth.v2.access response) |
18
+
19
+ ```python
20
+ from airbyte_agent_slack import SlackConnector
21
+ from airbyte_agent_slack.models import SlackOauth20AuthenticationAuthConfig
22
+
23
+ connector = SlackConnector(
24
+ auth_config=SlackOauth20AuthenticationAuthConfig(
25
+ client_id="<Your Slack App's Client ID>",
26
+ client_secret="<Your Slack App's Client Secret>",
27
+ access_token="<OAuth access token (bot token from oauth.v2.access response)>"
28
+ )
29
+ )
30
+ ```
31
+
32
+ #### Token
33
+
34
+ | Field Name | Type | Required | Description |
35
+ |------------|------|----------|-------------|
36
+ | `access_token` | `str` | Yes | Your Slack Bot Token (xoxb-) or User Token (xoxp-) |
37
+
38
+ ```python
39
+ from airbyte_agent_slack import SlackConnector
40
+ from airbyte_agent_slack.models import SlackTokenAuthenticationAuthConfig
41
+
42
+ connector = SlackConnector(
43
+ auth_config=SlackTokenAuthenticationAuthConfig(
44
+ access_token="<Your Slack Bot Token (xoxb-) or User Token (xoxp-)>"
45
+ )
46
+ )
47
+ ```
48
+
49
+ ### Hosted execution
50
+
51
+ 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).
52
+
53
+ #### OAuth
54
+
55
+ Create a connector with OAuth credentials:
56
+
57
+ ```bash
58
+ curl -X POST 'https://api.airbyte.ai/v1/integrations/sources' \
59
+ -H 'Authorization: Bearer <SCOPED_TOKEN>' \
60
+ -H 'Content-Type: application/json' \
61
+ -d '{
62
+ "workspace_id": "<WORKSPACE_ID>",
63
+ "source_template_id": "<SOURCE_TEMPLATE_ID>",
64
+ "name": "My Slack Connector",
65
+ "credentials": {
66
+ "client_id": "<Your Slack App's Client ID>",
67
+ "client_secret": "<Your Slack App's Client Secret>",
68
+ "access_token": "<OAuth access token (bot token from oauth.v2.access response)>"
69
+ }
70
+ }'
71
+ ```
72
+
73
+ #### Token
74
+
75
+ Create a connector with Token credentials:
76
+
77
+ ```bash
78
+ curl -X POST 'https://api.airbyte.ai/v1/integrations/sources' \
79
+ -H 'Authorization: Bearer <SCOPED_TOKEN>' \
80
+ -H 'Content-Type: application/json' \
81
+ -d '{
82
+ "workspace_id": "<WORKSPACE_ID>",
83
+ "source_template_id": "<SOURCE_TEMPLATE_ID>",
84
+ "name": "My Slack Connector",
85
+ "credentials": {
86
+ "access_token": "<Your Slack Bot Token (xoxb-) or User Token (xoxp-)>"
87
+ }
88
+ }'
89
+ ```
90
+
91
+ #### Execution
92
+
93
+ After creating the connector, execute operations using either the Python SDK or API.
94
+
95
+ **Python SDK**
96
+
97
+ ```python
98
+ from airbyte_agent_slack import SlackConnector
99
+
100
+ connector = SlackConnector(
101
+ external_user_id="<your-scoped-token>",
102
+ airbyte_client_id="<your-client-id>",
103
+ airbyte_client_secret="<your-client-secret>"
104
+ )
105
+
106
+ @agent.tool_plain # assumes you're using Pydantic AI
107
+ @SlackConnector.describe
108
+ async def slack_execute(entity: str, action: str, params: dict | None = None):
109
+ return await connector.execute(entity, action, params or {})
110
+ ```
111
+
112
+ **API**
113
+
114
+ ```bash
115
+ curl -X POST 'https://api.airbyte.ai/api/v1/connectors/sources/<connector_id>/execute' \
116
+ -H 'Authorization: Bearer <SCOPED_TOKEN>' \
117
+ -H 'Content-Type: application/json' \
118
+ -d '{"entity": "<entity>", "action": "<action>", "params": {}}'
119
+ ```
120
+
121
+
@@ -1,5 +1,15 @@
1
1
  # Slack changelog
2
2
 
3
+ ## [0.1.16] - 2026-01-22
4
+ - Updated connector definition (YAML version 0.1.5)
5
+ - Source commit: 49e6dfe9
6
+ - SDK version: 0.1.0
7
+
8
+ ## [0.1.15] - 2026-01-22
9
+ - Updated connector definition (YAML version 0.1.5)
10
+ - Source commit: b27328e2
11
+ - SDK version: 0.1.0
12
+
3
13
  ## [0.1.14] - 2026-01-22
4
14
  - Updated connector definition (YAML version 0.1.5)
5
15
  - Source commit: 1da193dd
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: airbyte-agent-slack
3
- Version: 0.1.14
3
+ Version: 0.1.16
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/
@@ -113,7 +113,7 @@ async def slack_execute(entity: str, action: str, params: dict | None = None):
113
113
 
114
114
  In hosted mode, API credentials are stored securely in Airbyte Cloud. You provide your Airbyte credentials instead.
115
115
 
116
- This example assumes you've already authenticated your connector with Airbyte. See [Authentication](AUTH.md) to learn more about authenticating. If you need a step-by-step guide, see the [hosted execution tutorial](https://docs.airbyte.com/ai-agents/hosted-execution).
116
+ This example assumes you've already authenticated your connector with Airbyte. See [Authentication](AUTH.md) to learn more about authenticating. If you need a step-by-step guide, see the [hosted execution tutorial](https://docs.airbyte.com/ai-agents/quickstarts/tutorial-hosted).
117
117
 
118
118
  ```python
119
119
  from airbyte_agent_slack import SlackConnector
@@ -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.14
157
+ - **Package version:** 0.1.16
158
158
  - **Connector version:** 0.1.5
159
- - **Generated with Connector SDK commit SHA:** 1da193dd2b3d4b2e2147ba74bd9a4062a62c4186
159
+ - **Generated with Connector SDK commit SHA:** 49e6dfe93fc406c8d2ed525372608fa2766ebece
@@ -80,7 +80,7 @@ async def slack_execute(entity: str, action: str, params: dict | None = None):
80
80
 
81
81
  In hosted mode, API credentials are stored securely in Airbyte Cloud. You provide your Airbyte credentials instead.
82
82
 
83
- This example assumes you've already authenticated your connector with Airbyte. See [Authentication](AUTH.md) to learn more about authenticating. If you need a step-by-step guide, see the [hosted execution tutorial](https://docs.airbyte.com/ai-agents/hosted-execution).
83
+ This example assumes you've already authenticated your connector with Airbyte. See [Authentication](AUTH.md) to learn more about authenticating. If you need a step-by-step guide, see the [hosted execution tutorial](https://docs.airbyte.com/ai-agents/quickstarts/tutorial-hosted).
84
84
 
85
85
  ```python
86
86
  from airbyte_agent_slack import SlackConnector
@@ -121,6 +121,6 @@ For the service's official API docs, see the [Slack API reference](https://api.s
121
121
 
122
122
  ## Version information
123
123
 
124
- - **Package version:** 0.1.14
124
+ - **Package version:** 0.1.16
125
125
  - **Connector version:** 0.1.5
126
- - **Generated with Connector SDK commit SHA:** 1da193dd2b3d4b2e2147ba74bd9a4062a62c4186
126
+ - **Generated with Connector SDK commit SHA:** 49e6dfe93fc406c8d2ed525372608fa2766ebece
@@ -17,9 +17,9 @@ from .models import (
17
17
  ChannelPurpose,
18
18
  ChannelsListResponse,
19
19
  ChannelResponse,
20
- Reaction,
21
20
  Attachment,
22
21
  File,
22
+ Reaction,
23
23
  Message,
24
24
  Thread,
25
25
  EditedInfo,
@@ -81,9 +81,9 @@ __all__ = [
81
81
  "ChannelPurpose",
82
82
  "ChannelsListResponse",
83
83
  "ChannelResponse",
84
- "Reaction",
85
84
  "Attachment",
86
85
  "File",
86
+ "Reaction",
87
87
  "Message",
88
88
  "Thread",
89
89
  "EditedInfo",
@@ -634,9 +634,7 @@ class OAuth2AuthStrategy(AuthStrategy):
634
634
  Headers dict with additional headers added
635
635
  """
636
636
  # Build template context with extracted secret values
637
- template_context = {
638
- key: extract_secret_value(value) for key, value in secrets.items()
639
- }
637
+ template_context = {key: extract_secret_value(value) for key, value in secrets.items()}
640
638
 
641
639
  for header_name, value_template in additional_headers.items():
642
640
  # Use Jinja2 templating for variable substitution
@@ -694,9 +694,7 @@ class LocalExecutor:
694
694
  """
695
695
  return {key: value for key, value in params.items() if key in allowed_fields and value is not None}
696
696
 
697
- def _extract_header_params(
698
- self, endpoint: EndpointDefinition, params: dict[str, Any], body: dict[str, Any] | None = None
699
- ) -> dict[str, str]:
697
+ def _extract_header_params(self, endpoint: EndpointDefinition, params: dict[str, Any], body: dict[str, Any] | None = None) -> dict[str, str]:
700
698
  """Extract header parameters from params and schema defaults.
701
699
 
702
700
  Also adds Content-Type header when there's a request body (unless already specified
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "airbyte-agent-slack"
3
- version = "0.1.14"
3
+ version = "0.1.16"
4
4
  description = "Airbyte Slack Connector for AI platforms"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13"
@@ -176,14 +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 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
-
187
179
  class Attachment(BaseModel):
188
180
  """Message attachment"""
189
181
  model_config = ConfigDict(extra="allow", populate_by_name=True)
@@ -229,6 +221,14 @@ class File(BaseModel):
229
221
  created: Union[int | None, Any] = Field(default=None)
230
222
  timestamp: Union[int | None, Any] = Field(default=None)
231
223
 
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)