airbyte-agent-slack 0.1.41__tar.gz → 0.1.42__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 (62) hide show
  1. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/AUTH.md +4 -4
  2. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/CHANGELOG.md +5 -0
  3. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/PKG-INFO +4 -4
  4. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/README.md +3 -3
  5. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/__init__.py +2 -2
  6. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/executor/local_executor.py +15 -10
  7. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/schema/operations.py +3 -2
  8. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/types.py +1 -1
  9. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/validation.py +1 -1
  10. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/connector.py +1 -1
  11. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/connector_model.py +2 -2
  12. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/models.py +11 -10
  13. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/pyproject.toml +1 -1
  14. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/.gitignore +0 -0
  15. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/REFERENCE.md +0 -0
  16. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/__init__.py +0 -0
  17. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/__init__.py +0 -0
  18. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/auth_strategies.py +0 -0
  19. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/auth_template.py +0 -0
  20. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/cloud_utils/__init__.py +0 -0
  21. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/cloud_utils/client.py +0 -0
  22. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/connector_model_loader.py +0 -0
  23. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/constants.py +0 -0
  24. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/exceptions.py +0 -0
  25. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/executor/__init__.py +0 -0
  26. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/executor/hosted_executor.py +0 -0
  27. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/executor/models.py +0 -0
  28. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/extensions.py +0 -0
  29. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/http/__init__.py +0 -0
  30. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/http/adapters/__init__.py +0 -0
  31. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/http/adapters/httpx_adapter.py +0 -0
  32. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/http/config.py +0 -0
  33. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/http/exceptions.py +0 -0
  34. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/http/protocols.py +0 -0
  35. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/http/response.py +0 -0
  36. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/http_client.py +0 -0
  37. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/introspection.py +0 -0
  38. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/logging/__init__.py +0 -0
  39. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/logging/logger.py +0 -0
  40. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/logging/types.py +0 -0
  41. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/observability/__init__.py +0 -0
  42. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/observability/config.py +0 -0
  43. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/observability/models.py +0 -0
  44. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/observability/redactor.py +0 -0
  45. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/observability/session.py +0 -0
  46. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/performance/__init__.py +0 -0
  47. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/performance/instrumentation.py +0 -0
  48. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/performance/metrics.py +0 -0
  49. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/schema/__init__.py +0 -0
  50. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/schema/base.py +0 -0
  51. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/schema/components.py +0 -0
  52. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/schema/connector.py +0 -0
  53. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/schema/extensions.py +0 -0
  54. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/schema/security.py +0 -0
  55. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/secrets.py +0 -0
  56. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/telemetry/__init__.py +0 -0
  57. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/telemetry/config.py +0 -0
  58. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/telemetry/events.py +0 -0
  59. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/telemetry/tracker.py +0 -0
  60. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/utils.py +0 -0
  61. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/_vendored/connector_sdk/validation_replication.py +0 -0
  62. {airbyte_agent_slack-0.1.41 → airbyte_agent_slack-0.1.42}/airbyte_agent_slack/types.py +0 -0
@@ -15,8 +15,8 @@ In open source mode, you provide API credentials directly to the connector.
15
15
 
16
16
  | Field Name | Type | Required | Description |
17
17
  |------------|------|----------|-------------|
18
- | `client_id` | `str` | Yes | Your Slack App's Client ID |
19
- | `client_secret` | `str` | Yes | Your Slack App's Client Secret |
18
+ | `client_id` | `str` | No | Your Slack App's Client ID |
19
+ | `client_secret` | `str` | No | Your Slack App's Client Secret |
20
20
  | `access_token` | `str` | Yes | OAuth access token (bot token from oauth.v2.access response) |
21
21
 
22
22
  Example request:
@@ -67,8 +67,8 @@ Create a connector with OAuth credentials.
67
67
 
68
68
  | Field Name | Type | Required | Description |
69
69
  |------------|------|----------|-------------|
70
- | `client_id` | `str` | Yes | Your Slack App's Client ID |
71
- | `client_secret` | `str` | Yes | Your Slack App's Client Secret |
70
+ | `client_id` | `str` | No | Your Slack App's Client ID |
71
+ | `client_secret` | `str` | No | Your Slack App's Client Secret |
72
72
  | `access_token` | `str` | Yes | OAuth access token (bot token from oauth.v2.access response) |
73
73
 
74
74
  `replication_config` fields you need:
@@ -1,5 +1,10 @@
1
1
  # Slack changelog
2
2
 
3
+ ## [0.1.42] - 2026-02-03
4
+ - Updated connector definition (YAML version 0.1.13)
5
+ - Source commit: 888d0538
6
+ - SDK version: 0.1.0
7
+
3
8
  ## [0.1.41] - 2026-02-02
4
9
  - Updated connector definition (YAML version 0.1.12)
5
10
  - Source commit: 94024675
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: airbyte-agent-slack
3
- Version: 0.1.41
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.41
162
- - **Connector version:** 0.1.12
163
- - **Generated with Connector SDK commit SHA:** 940246757c7476ed4edd7d16b873ebe54ea2b456
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)
@@ -125,7 +125,7 @@ See the official [Slack API reference](https://api.slack.com/methods).
125
125
 
126
126
  ## Version information
127
127
 
128
- - **Package version:** 0.1.41
129
- - **Connector version:** 0.1.12
130
- - **Generated with Connector SDK commit SHA:** 940246757c7476ed4edd7d16b873ebe54ea2b456
128
+ - **Package version:** 0.1.42
129
+ - **Connector version:** 0.1.13
130
+ - **Generated with Connector SDK commit SHA:** 888d0538a17d95c6769f63dbad90e713de97c89b
131
131
  - **Changelog:** [View changelog](https://github.com/airbytehq/airbyte-agent-connectors/blob/main/connectors/slack/CHANGELOG.md)
@@ -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 list operation.
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 with limit=1 to verify
553
- connectivity and credentials.
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 list operation available for health check",
584
+ "error": "No operation available for health check",
582
585
  },
583
586
  )
584
587
 
585
- # Find the standard handler to execute the list operation
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
- await standard_handler.execute_operation(check_entity, Action.LIST, {"limit": 1})
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": "list",
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": "list",
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 list operation as the preferred operation for health checks. "
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. Choose a lightweight, "
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 list operation as preferred for health checks (from x-airbyte-preferred-for-check extension)",
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 list operation (e.g., users.list) "
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
 
@@ -110,7 +110,7 @@ class SlackConnector:
110
110
  """
111
111
 
112
112
  connector_name = "slack"
113
- connector_version = "0.1.12"
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.12',
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=['client_id', 'client_secret', 'access_token'],
64
+ required=['access_token'],
65
65
  properties={
66
66
  'client_id': AuthConfigFieldSpec(
67
67
  title='Client ID',
@@ -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
  [project]
2
2
  name = "airbyte-agent-slack"
3
- version = "0.1.41"
3
+ version = "0.1.42"
4
4
  description = "Airbyte Slack Connector for AI platforms"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13"