airbyte-agent-mcp 0.1.53__py3-none-any.whl → 0.1.60__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.
Files changed (28) hide show
  1. airbyte_agent_mcp/_vendored/connector_sdk/auth_strategies.py +2 -5
  2. airbyte_agent_mcp/_vendored/connector_sdk/auth_template.py +1 -1
  3. airbyte_agent_mcp/_vendored/connector_sdk/cloud_utils/client.py +26 -26
  4. airbyte_agent_mcp/_vendored/connector_sdk/connector_model_loader.py +1 -2
  5. airbyte_agent_mcp/_vendored/connector_sdk/executor/hosted_executor.py +10 -11
  6. airbyte_agent_mcp/_vendored/connector_sdk/executor/local_executor.py +72 -13
  7. airbyte_agent_mcp/_vendored/connector_sdk/extensions.py +1 -2
  8. airbyte_agent_mcp/_vendored/connector_sdk/http/response.py +2 -0
  9. airbyte_agent_mcp/_vendored/connector_sdk/logging/logger.py +9 -9
  10. airbyte_agent_mcp/_vendored/connector_sdk/logging/types.py +10 -10
  11. airbyte_agent_mcp/_vendored/connector_sdk/observability/config.py +2 -2
  12. airbyte_agent_mcp/_vendored/connector_sdk/observability/models.py +6 -6
  13. airbyte_agent_mcp/_vendored/connector_sdk/observability/session.py +7 -5
  14. airbyte_agent_mcp/_vendored/connector_sdk/performance/metrics.py +3 -3
  15. airbyte_agent_mcp/_vendored/connector_sdk/schema/base.py +20 -18
  16. airbyte_agent_mcp/_vendored/connector_sdk/schema/components.py +58 -58
  17. airbyte_agent_mcp/_vendored/connector_sdk/schema/connector.py +22 -33
  18. airbyte_agent_mcp/_vendored/connector_sdk/schema/extensions.py +102 -9
  19. airbyte_agent_mcp/_vendored/connector_sdk/schema/operations.py +31 -31
  20. airbyte_agent_mcp/_vendored/connector_sdk/schema/security.py +36 -36
  21. airbyte_agent_mcp/_vendored/connector_sdk/secrets.py +2 -2
  22. airbyte_agent_mcp/_vendored/connector_sdk/telemetry/events.py +7 -7
  23. airbyte_agent_mcp/_vendored/connector_sdk/telemetry/tracker.py +6 -5
  24. airbyte_agent_mcp/_vendored/connector_sdk/types.py +2 -2
  25. airbyte_agent_mcp/server.py +34 -1
  26. {airbyte_agent_mcp-0.1.53.dist-info → airbyte_agent_mcp-0.1.60.dist-info}/METADATA +1 -1
  27. {airbyte_agent_mcp-0.1.53.dist-info → airbyte_agent_mcp-0.1.60.dist-info}/RECORD +28 -28
  28. {airbyte_agent_mcp-0.1.53.dist-info → airbyte_agent_mcp-0.1.60.dist-info}/WHEEL +0 -0
@@ -6,7 +6,7 @@ References:
6
6
  - https://spec.openapis.org/oas/v3.1.0#oauth-flows-object
7
7
  """
8
8
 
9
- from typing import Any, Dict, List, Literal, Optional
9
+ from typing import Any, Dict, List, Literal
10
10
 
11
11
  from pydantic import BaseModel, ConfigDict, Field, field_validator, model_validator
12
12
 
@@ -20,9 +20,9 @@ class OAuth2Flow(BaseModel):
20
20
 
21
21
  model_config = ConfigDict(populate_by_name=True, extra="forbid")
22
22
 
23
- authorization_url: Optional[str] = Field(None, alias="authorizationUrl")
24
- token_url: Optional[str] = Field(None, alias="tokenUrl")
25
- refresh_url: Optional[str] = Field(None, alias="refreshUrl")
23
+ authorization_url: str | None = Field(None, alias="authorizationUrl")
24
+ token_url: str | None = Field(None, alias="tokenUrl")
25
+ refresh_url: str | None = Field(None, alias="refreshUrl")
26
26
  scopes: Dict[str, str] = Field(default_factory=dict)
27
27
 
28
28
 
@@ -35,10 +35,10 @@ class OAuth2Flows(BaseModel):
35
35
 
36
36
  model_config = ConfigDict(populate_by_name=True, extra="forbid")
37
37
 
38
- implicit: Optional[OAuth2Flow] = None
39
- password: Optional[OAuth2Flow] = None
40
- client_credentials: Optional[OAuth2Flow] = Field(None, alias="clientCredentials")
41
- authorization_code: Optional[OAuth2Flow] = Field(None, alias="authorizationCode")
38
+ implicit: OAuth2Flow | None = None
39
+ password: OAuth2Flow | None = None
40
+ client_credentials: OAuth2Flow | None = Field(None, alias="clientCredentials")
41
+ authorization_code: OAuth2Flow | None = Field(None, alias="authorizationCode")
42
42
 
43
43
 
44
44
  class AuthConfigFieldSpec(BaseModel):
@@ -51,12 +51,12 @@ class AuthConfigFieldSpec(BaseModel):
51
51
  model_config = ConfigDict(populate_by_name=True, extra="forbid")
52
52
 
53
53
  type: Literal["string", "integer", "boolean", "number"] = "string"
54
- title: Optional[str] = None
55
- description: Optional[str] = None
56
- format: Optional[str] = None # e.g., "email", "uri"
57
- pattern: Optional[str] = None # Regex validation
54
+ title: str | None = None
55
+ description: str | None = None
56
+ format: str | None = None # e.g., "email", "uri"
57
+ pattern: str | None = None # Regex validation
58
58
  airbyte_secret: bool = Field(False, alias="airbyte_secret")
59
- default: Optional[Any] = None
59
+ default: Any | None = None
60
60
 
61
61
 
62
62
  class AuthConfigOption(BaseModel):
@@ -68,8 +68,8 @@ class AuthConfigOption(BaseModel):
68
68
 
69
69
  model_config = ConfigDict(populate_by_name=True, extra="forbid")
70
70
 
71
- title: Optional[str] = None
72
- description: Optional[str] = None
71
+ title: str | None = None
72
+ description: str | None = None
73
73
  type: Literal["object"] = "object"
74
74
  required: List[str] = Field(default_factory=list)
75
75
  properties: Dict[str, AuthConfigFieldSpec] = Field(default_factory=dict)
@@ -77,7 +77,7 @@ class AuthConfigOption(BaseModel):
77
77
  default_factory=dict,
78
78
  description="Mapping from auth parameters (e.g., 'username', 'password', 'token') to template strings using ${field} syntax",
79
79
  )
80
- replication_auth_key_mapping: Optional[Dict[str, str]] = Field(
80
+ replication_auth_key_mapping: Dict[str, str] | None = Field(
81
81
  None,
82
82
  description="Mapping from source config paths (e.g., 'credentials.api_key') to auth config keys for direct connectors",
83
83
  )
@@ -96,21 +96,21 @@ class AirbyteAuthConfig(BaseModel):
96
96
  model_config = ConfigDict(populate_by_name=True, extra="forbid")
97
97
 
98
98
  # Single option fields
99
- title: Optional[str] = None
100
- description: Optional[str] = None
101
- type: Optional[Literal["object"]] = None
102
- required: Optional[List[str]] = None
103
- properties: Optional[Dict[str, AuthConfigFieldSpec]] = None
104
- auth_mapping: Optional[Dict[str, str]] = None
99
+ title: str | None = None
100
+ description: str | None = None
101
+ type: Literal["object"] | None = None
102
+ required: List[str] | None = None
103
+ properties: Dict[str, AuthConfigFieldSpec] | None = None
104
+ auth_mapping: Dict[str, str] | None = None
105
105
 
106
106
  # Replication connector auth mapping
107
- replication_auth_key_mapping: Optional[Dict[str, str]] = Field(
107
+ replication_auth_key_mapping: Dict[str, str] | None = Field(
108
108
  None,
109
109
  description="Mapping from source config paths (e.g., 'credentials.api_key') to auth config keys for direct connectors",
110
110
  )
111
111
 
112
112
  # Multiple options (oneOf)
113
- one_of: Optional[List[AuthConfigOption]] = Field(None, alias="oneOf")
113
+ one_of: List[AuthConfigOption] | None = Field(None, alias="oneOf")
114
114
 
115
115
  @model_validator(mode="after")
116
116
  def validate_config_structure(self) -> "AirbyteAuthConfig":
@@ -161,27 +161,27 @@ class SecurityScheme(BaseModel):
161
161
 
162
162
  # Standard OpenAPI fields
163
163
  type: Literal["apiKey", "http", "oauth2", "openIdConnect"]
164
- description: Optional[str] = None
164
+ description: str | None = None
165
165
 
166
166
  # apiKey specific
167
- name: Optional[str] = None
168
- in_: Optional[Literal["query", "header", "cookie"]] = Field(None, alias="in")
167
+ name: str | None = None
168
+ in_: Literal["query", "header", "cookie"] | None = Field(None, alias="in")
169
169
 
170
170
  # http specific
171
- scheme: Optional[str] = None # e.g., "basic", "bearer", "digest"
172
- bearer_format: Optional[str] = Field(None, alias="bearerFormat")
171
+ scheme: str | None = None # e.g., "basic", "bearer", "digest"
172
+ bearer_format: str | None = Field(None, alias="bearerFormat")
173
173
 
174
174
  # oauth2 specific
175
- flows: Optional[OAuth2Flows] = None
175
+ flows: OAuth2Flows | None = None
176
176
 
177
177
  # openIdConnect specific
178
- open_id_connect_url: Optional[str] = Field(None, alias="openIdConnectUrl")
178
+ open_id_connect_url: str | None = Field(None, alias="openIdConnectUrl")
179
179
 
180
180
  # Airbyte extensions
181
- x_token_path: Optional[str] = Field(None, alias="x-airbyte-token-path")
182
- x_token_refresh: Optional[Dict[str, Any]] = Field(None, alias="x-airbyte-token-refresh")
183
- x_airbyte_auth_config: Optional[AirbyteAuthConfig] = Field(None, alias="x-airbyte-auth-config")
184
- x_airbyte_token_extract: Optional[List[str]] = Field(
181
+ x_token_path: str | None = Field(None, alias="x-airbyte-token-path")
182
+ x_token_refresh: Dict[str, Any] | None = Field(None, alias="x-airbyte-token-refresh")
183
+ x_airbyte_auth_config: AirbyteAuthConfig | None = Field(None, alias="x-airbyte-auth-config")
184
+ x_airbyte_token_extract: List[str] | None = Field(
185
185
  None,
186
186
  alias="x-airbyte-token-extract",
187
187
  description="List of fields to extract from OAuth2 token responses and use as server variables",
@@ -189,7 +189,7 @@ class SecurityScheme(BaseModel):
189
189
 
190
190
  @field_validator("x_airbyte_token_extract", mode="after")
191
191
  @classmethod
192
- def validate_token_extract(cls, v: Optional[List[str]]) -> Optional[List[str]]:
192
+ def validate_token_extract(cls, v: List[str] | None) -> List[str] | None:
193
193
  """Validate x-airbyte-token-extract has no duplicates."""
194
194
  if v is not None:
195
195
  if len(v) != len(set(v)):
@@ -14,7 +14,7 @@ Example:
14
14
 
15
15
  import os
16
16
  import re
17
- from typing import Any, Dict, Optional
17
+ from typing import Any, Dict
18
18
 
19
19
  from pydantic import SecretStr
20
20
 
@@ -72,7 +72,7 @@ class SecretResolutionError(Exception):
72
72
  def resolve_env_var_references(
73
73
  secret_mappings: Dict[str, Any],
74
74
  strict: bool = True,
75
- env_vars: Optional[Dict[str, str]] = None,
75
+ env_vars: Dict[str, str] | None = None,
76
76
  ) -> Dict[str, str]:
77
77
  """Resolve environment variable references in secret values.
78
78
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  from dataclasses import asdict, dataclass, field
4
4
  from datetime import datetime
5
- from typing import Any, Dict, Optional
5
+ from typing import Any, Dict
6
6
 
7
7
 
8
8
  @dataclass
@@ -30,8 +30,8 @@ class ConnectorInitEvent(BaseEvent):
30
30
  python_version: str
31
31
  os_name: str
32
32
  os_version: str
33
- public_ip: Optional[str] = None
34
- connector_version: Optional[str] = None
33
+ public_ip: str | None = None
34
+ connector_version: str | None = None
35
35
 
36
36
 
37
37
  @dataclass
@@ -42,9 +42,9 @@ class OperationEvent(BaseEvent):
42
42
  entity: str
43
43
  action: str
44
44
  timing_ms: float
45
- public_ip: Optional[str] = None
46
- status_code: Optional[int] = None
47
- error_type: Optional[str] = None
45
+ public_ip: str | None = None
46
+ status_code: int | None = None
47
+ error_type: str | None = None
48
48
 
49
49
 
50
50
  @dataclass
@@ -56,4 +56,4 @@ class SessionEndEvent(BaseEvent):
56
56
  operation_count: int
57
57
  success_count: int
58
58
  failure_count: int
59
- public_ip: Optional[str] = None
59
+ public_ip: str | None = None
@@ -4,7 +4,6 @@ import logging
4
4
  import platform
5
5
  import sys
6
6
  from datetime import datetime
7
- from typing import Optional
8
7
 
9
8
  from ..observability import ObservabilitySession
10
9
 
@@ -20,7 +19,7 @@ class SegmentTracker:
20
19
  def __init__(
21
20
  self,
22
21
  session: ObservabilitySession,
23
- mode: Optional[TelemetryMode] = None,
22
+ mode: TelemetryMode | None = None,
24
23
  ):
25
24
  self.session = session
26
25
  self.mode = mode or TelemetryConfig.get_mode()
@@ -31,6 +30,8 @@ class SegmentTracker:
31
30
 
32
31
  if self.enabled:
33
32
  try:
33
+ # NOTE: Import here intentionally - segment is an optional dependency.
34
+ # This allows the SDK to work without telemetry if segment is not installed.
34
35
  import segment.analytics as analytics
35
36
 
36
37
  analytics.write_key = SEGMENT_WRITE_KEY
@@ -47,7 +48,7 @@ class SegmentTracker:
47
48
 
48
49
  def track_connector_init(
49
50
  self,
50
- connector_version: Optional[str] = None,
51
+ connector_version: str | None = None,
51
52
  ) -> None:
52
53
  """Track connector initialization."""
53
54
  if not self.enabled or not self._analytics:
@@ -82,9 +83,9 @@ class SegmentTracker:
82
83
  self,
83
84
  entity: str,
84
85
  action: str,
85
- status_code: Optional[int],
86
+ status_code: int | None,
86
87
  timing_ms: float,
87
- error_type: Optional[str] = None,
88
+ error_type: str | None = None,
88
89
  ) -> None:
89
90
  """Track API operation."""
90
91
  # Always track success/failure counts (useful even when tracking is disabled)
@@ -140,7 +140,7 @@ class AuthConfig(BaseModel):
140
140
  ValueError: If this is a multi-auth config or invalid
141
141
  """
142
142
  if self.is_multi_auth():
143
- raise ValueError("Cannot call get_single_option() on multi-auth config. " "Use options list instead.")
143
+ raise ValueError("Cannot call get_single_option() on multi-auth config. Use options list instead.")
144
144
 
145
145
  if self.type is None:
146
146
  raise ValueError("Invalid AuthConfig: neither single-auth nor multi-auth")
@@ -161,7 +161,7 @@ class EndpointDefinition(BaseModel):
161
161
  path: str # e.g., /v1/customers/{id} (OpenAPI path)
162
162
  path_override: PathOverrideConfig | None = Field(
163
163
  None,
164
- description=("Path override config from x-airbyte-path-override. " "When set, overrides the path for actual HTTP requests."),
164
+ description=("Path override config from x-airbyte-path-override. When set, overrides the path for actual HTTP requests."),
165
165
  )
166
166
  action: Action | None = None # Semantic action (get, list, create, update, delete)
167
167
  description: str | None = None
@@ -12,8 +12,41 @@ from airbyte_agent_mcp.secret_manager import DotEnvSecretsBackend, SecretsManage
12
12
 
13
13
  logger = logging.getLogger(__name__)
14
14
 
15
+ # =============================================================================
16
+ # Server Instructions
17
+ # =============================================================================
18
+ # This text is provided to AI agents via the MCP protocol's "instructions" field.
19
+ # It helps agents understand when to use this server's tools, especially when
20
+ # tool search is enabled. For more context, see:
21
+ # - FastMCP docs: https://gofastmcp.com/servers/overview
22
+ # - Claude tool search: https://www.anthropic.com/news/tool-use-improvements
23
+ # =============================================================================
24
+
25
+ MCP_SERVER_INSTRUCTIONS = """
26
+ Airbyte agent connector execution server, enabling CRUD operations on
27
+ pre-configured data connectors.
28
+
29
+ Use this server for:
30
+ - Executing operations on configured connectors (execute tool): perform CRUD
31
+ actions like list, get, create, update, delete on connector entities
32
+ - Discovering available connectors (discover_connectors tool): list all
33
+ connectors defined in configured_connectors.yaml
34
+ - Describing connector capabilities (describe_connector tool): get available
35
+ entities and supported actions for a specific connector
36
+
37
+ Configuration:
38
+ - Connectors are defined in configured_connectors.yaml
39
+ - Secrets are loaded from .env file via the secrets manager
40
+ - Supports both local connector packages and remote registry connectors
41
+
42
+ Typical workflow:
43
+ 1. Call discover_connectors to see available connectors
44
+ 2. Call describe_connector to understand a connector's entities and actions
45
+ 3. Call execute to perform operations on connector entities
46
+ """.strip()
47
+
15
48
  # Initialize FastMCP server
16
- mcp = FastMCP("airbyte-agent-mcp")
49
+ mcp = FastMCP("airbyte-agent-mcp", instructions=MCP_SERVER_INSTRUCTIONS)
17
50
 
18
51
 
19
52
  def _serialize_exception(e: Exception) -> dict:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: airbyte-agent-mcp
3
- Version: 0.1.53
3
+ Version: 0.1.60
4
4
  Summary: MCP server that exposes Airbyte Connector SDK as MCP tools
5
5
  Author-email: Airbyte Support <support@airbyte.io>
6
6
  Requires-Python: >=3.13
@@ -5,56 +5,56 @@ airbyte_agent_mcp/connector_manager.py,sha256=FLkN2AfBS6YDckokyPGwhcL_TwSIl-a93x
5
5
  airbyte_agent_mcp/models.py,sha256=yTA9Syu_RVQbZT8CisIfSBpL0Iee4-qEmXQWxYgFjLg,5001
6
6
  airbyte_agent_mcp/registry_client.py,sha256=_boYT9ZzY8pAsb7LHTgOz7IHfhrbqKRQ_n-cTPDh4dE,3278
7
7
  airbyte_agent_mcp/secret_manager.py,sha256=BeDWcYX4d_SxtCBdNoaYarV39qCJBbZcqJcy3LUumDE,2600
8
- airbyte_agent_mcp/server.py,sha256=iYE4UJuSkaDgh5ph4cxFPVJ3mfgfB0_wq12uNDLB81w,8290
8
+ airbyte_agent_mcp/server.py,sha256=bj0gYLCc7Y2fo9TW2kjP-hu357IsW5dYxRM5m9eac8E,9921
9
9
  airbyte_agent_mcp/_vendored/__init__.py,sha256=ILl7AHXMui__swyrjxrh9yRa4dLiwBvV6axPWFWty80,38
10
10
  airbyte_agent_mcp/_vendored/connector_sdk/__init__.py,sha256=T5o7roU6NSpH-lCAGZ338sE5dlh4ZU6i6IkeG1zpems,1949
11
- airbyte_agent_mcp/_vendored/connector_sdk/auth_strategies.py,sha256=0BfIISVzuvZTAYZjQFOOhKTpw0QuKDlLQBQ1PQo-V2M,39967
12
- airbyte_agent_mcp/_vendored/connector_sdk/auth_template.py,sha256=vKnyA21Jp33EuDjkIUAf1PGicwk4t9kZAPJuAgAZKzU,4458
13
- airbyte_agent_mcp/_vendored/connector_sdk/connector_model_loader.py,sha256=nKrXfe-FAyvNMkW7AqGzxrp5wXdaHiqC0yIFJoIVwlY,34890
11
+ airbyte_agent_mcp/_vendored/connector_sdk/auth_strategies.py,sha256=BdjAzFRTwXCmLFqYWqZ4Dx9RsqtI7pAkw-8NynSK4sQ,39914
12
+ airbyte_agent_mcp/_vendored/connector_sdk/auth_template.py,sha256=nju4jqlFC_KI82ILNumNIyiUtRJcy7J94INIZ0QraI4,4454
13
+ airbyte_agent_mcp/_vendored/connector_sdk/connector_model_loader.py,sha256=Cx9wPhKwWfzkc8i63IevL0EsN3iWUl_OA-_jA9EKNcE,34877
14
14
  airbyte_agent_mcp/_vendored/connector_sdk/constants.py,sha256=AtzOvhDMWbRJgpsQNWl5tkogHD6mWgEY668PgRmgtOY,2737
15
15
  airbyte_agent_mcp/_vendored/connector_sdk/exceptions.py,sha256=ss5MGv9eVPmsbLcLWetuu3sDmvturwfo6Pw3M37Oq5k,481
16
- airbyte_agent_mcp/_vendored/connector_sdk/extensions.py,sha256=Ks4LR1lbJfBoJ-gN6byj7WtFGE1xMuerVTHXGKJcFKk,21391
16
+ airbyte_agent_mcp/_vendored/connector_sdk/extensions.py,sha256=XWRRoJOOrwUHSKbuQt5DU7CCu8ePzhd_HuP7c_uD77w,21376
17
17
  airbyte_agent_mcp/_vendored/connector_sdk/http_client.py,sha256=NdccrrBHI5rW56XnXcP54arCwywIVKnMeSQPas6KlOM,27466
18
18
  airbyte_agent_mcp/_vendored/connector_sdk/introspection.py,sha256=2CyKXZHT74-1Id97uw1RLeyOi6TV24_hoNbQ6-6y7uI,10335
19
- airbyte_agent_mcp/_vendored/connector_sdk/secrets.py,sha256=UWcO9fP-vZwcfkAuvlZahlOCTOwdNN860BIwe8X4jxw,6868
20
- airbyte_agent_mcp/_vendored/connector_sdk/types.py,sha256=0yY6mF03Dan5W9RNVHIEYlOijxa1j5T28TErjN_kUvQ,8293
19
+ airbyte_agent_mcp/_vendored/connector_sdk/secrets.py,sha256=J9ezMu4xNnLW11xY5RCre6DHP7YMKZCqwGJfk7ufHAM,6855
20
+ airbyte_agent_mcp/_vendored/connector_sdk/types.py,sha256=CStkOsLtmZZdXylkdCsbYORDzughxygt1-Ucma0j-qE,8287
21
21
  airbyte_agent_mcp/_vendored/connector_sdk/utils.py,sha256=G4LUXOC2HzPoND2v4tQW68R9uuPX9NQyCjaGxb7Kpl0,1958
22
22
  airbyte_agent_mcp/_vendored/connector_sdk/validation.py,sha256=CDjCux1eg35a0Y4BegSivzIwZjiTqOxYWotWNLqTSVU,31792
23
23
  airbyte_agent_mcp/_vendored/connector_sdk/cloud_utils/__init__.py,sha256=4799Hv9f2zxDVj1aLyQ8JpTEuFTp_oOZMRz-NZCdBJg,134
24
- airbyte_agent_mcp/_vendored/connector_sdk/cloud_utils/client.py,sha256=HoDgZuEgGHj78P-BGwUf6HGPVWynbdKjGOmjb-JDk58,7188
24
+ airbyte_agent_mcp/_vendored/connector_sdk/cloud_utils/client.py,sha256=YxdRpQr9XjDzih6csSseBVGn9kfMtaqbOCXP0TPuzFY,7189
25
25
  airbyte_agent_mcp/_vendored/connector_sdk/executor/__init__.py,sha256=EmG9YQNAjSuYCVB4D5VoLm4qpD1KfeiiOf7bpALj8p8,702
26
- airbyte_agent_mcp/_vendored/connector_sdk/executor/hosted_executor.py,sha256=YQ-qfT7PZh9izNFHHe7SAcETiZOKrWjTU-okVb0_VL8,7079
27
- airbyte_agent_mcp/_vendored/connector_sdk/executor/local_executor.py,sha256=ODbOLjlHjh_63T8XYGEJLuIz9e8QOZOGVdWFBsWWL44,65283
26
+ airbyte_agent_mcp/_vendored/connector_sdk/executor/hosted_executor.py,sha256=ydHcG-biRS1ITT5ELwPShdJW-KYpvK--Fos1ipNgHho,6995
27
+ airbyte_agent_mcp/_vendored/connector_sdk/executor/local_executor.py,sha256=CMuknflYNY6_f83xrxvqewfI52MLYdPin3Rvz6HS3wU,67610
28
28
  airbyte_agent_mcp/_vendored/connector_sdk/executor/models.py,sha256=lYVT_bNcw-PoIks4WHNyl2VY-lJVf2FntzINSOBIheE,5845
29
29
  airbyte_agent_mcp/_vendored/connector_sdk/http/__init__.py,sha256=y8fbzZn-3yV9OxtYz8Dy6FFGI5v6TOqADd1G3xHH3Hw,911
30
30
  airbyte_agent_mcp/_vendored/connector_sdk/http/config.py,sha256=6J7YIIwHC6sRu9i-yKa5XvArwK2KU60rlnmxzDZq3lw,3283
31
31
  airbyte_agent_mcp/_vendored/connector_sdk/http/exceptions.py,sha256=eYdYmxqcwA6pgrSoRXNfR6_nRBGRH6upp2-r1jcKaZo,3586
32
32
  airbyte_agent_mcp/_vendored/connector_sdk/http/protocols.py,sha256=eV7NbBIQOcPLw-iu8mtkV2zCVgScDwP0ek1SbPNQo0g,3323
33
- airbyte_agent_mcp/_vendored/connector_sdk/http/response.py,sha256=r7QFYRkw6is-Na7WozAyzZynpCQ90RBUhnX4pBSJ1Yc,3338
33
+ airbyte_agent_mcp/_vendored/connector_sdk/http/response.py,sha256=Q-RyM5D0D05ZhmZVJk4hVpmoS8YtyXNOTM5hqBt7rWI,3475
34
34
  airbyte_agent_mcp/_vendored/connector_sdk/http/adapters/__init__.py,sha256=gjbWdU4LfzUG2PETI0TkfkukdzoCAhpL6FZtIEnkO-s,209
35
35
  airbyte_agent_mcp/_vendored/connector_sdk/http/adapters/httpx_adapter.py,sha256=dkYhzBWiKBmzWZlc-cRTx50Hb6fy3OI8kOQvXRfS1CQ,8465
36
36
  airbyte_agent_mcp/_vendored/connector_sdk/logging/__init__.py,sha256=IZoE5yXhwSA0m3xQqh0FiCifjp1sB3S8jnnFPuJLYf8,227
37
- airbyte_agent_mcp/_vendored/connector_sdk/logging/logger.py,sha256=Nh0h3C0aO-rAqZhDIyeEXG6Jd7yj1Gk32ECMPth0wl8,8118
38
- airbyte_agent_mcp/_vendored/connector_sdk/logging/types.py,sha256=iI-xLoOg33OUGQOp3CeaxKtHh73WXE-oul6ZCNf3Nzc,3209
37
+ airbyte_agent_mcp/_vendored/connector_sdk/logging/logger.py,sha256=GKm03UgDMNlvGuuH_c07jNcZmUccC3DISG269Ehj1Uo,8084
38
+ airbyte_agent_mcp/_vendored/connector_sdk/logging/types.py,sha256=z0UiSdXP_r71mtwWkJydo0InsNpYOMyI7SVutzd2PEo,3172
39
39
  airbyte_agent_mcp/_vendored/connector_sdk/observability/__init__.py,sha256=ojx1n9vaWCXFFvb3-90Pwtg845trFdV2v6wcCoO75Ko,269
40
- airbyte_agent_mcp/_vendored/connector_sdk/observability/config.py,sha256=GJLzILUc7X6hqwL_Ger6sLAhlrecwV3GcjBJzvmXnqg,5385
41
- airbyte_agent_mcp/_vendored/connector_sdk/observability/models.py,sha256=rF6-SoAAywqL8bhEv7yCbmr_W_w0vmApO-MCxcHq9RI,473
40
+ airbyte_agent_mcp/_vendored/connector_sdk/observability/config.py,sha256=uWvRAPHnEusVKviQQncqcpnHKNhoZ4ZoFK6nUOSVClY,5372
41
+ airbyte_agent_mcp/_vendored/connector_sdk/observability/models.py,sha256=IRGjlJia28_IU7BMSBb5RHWs47yAOLvE20JIIXHazLY,448
42
42
  airbyte_agent_mcp/_vendored/connector_sdk/observability/redactor.py,sha256=HRbSwGxsfQYbYlG4QBVvv8Qnw0d4SMowMv0dTFHsHqQ,2361
43
- airbyte_agent_mcp/_vendored/connector_sdk/observability/session.py,sha256=Q1U6qaH_Uj_eZ9sT6_Wrl27YWd95cxjA7S0GYWUrXkU,2941
43
+ airbyte_agent_mcp/_vendored/connector_sdk/observability/session.py,sha256=WYRIB3bVz9HhpElkUO9CILCRIrWs9p2MR2hmf8uJm3E,3086
44
44
  airbyte_agent_mcp/_vendored/connector_sdk/performance/__init__.py,sha256=Sp5fSd1LvtIQkv-fnrKqPsM7-6IWp0sSZSK0mhzal_A,200
45
45
  airbyte_agent_mcp/_vendored/connector_sdk/performance/instrumentation.py,sha256=_dXvNiqdndIBwDjeDKNViWzn_M5FkSUsMmJtFldrmsM,1504
46
- airbyte_agent_mcp/_vendored/connector_sdk/performance/metrics.py,sha256=3-wPwlJyfVLUIG3y7ESxk0avhkILk3z8K7zSrnlZf5U,2833
46
+ airbyte_agent_mcp/_vendored/connector_sdk/performance/metrics.py,sha256=FRff7dKt4iwt_A7pxV5n9kAGBR756PC7q8-weWygPSM,2817
47
47
  airbyte_agent_mcp/_vendored/connector_sdk/schema/__init__.py,sha256=Uymu-QuzGJuMxexBagIvUxpVAigIuIhz3KeBl_Vu4Ko,1638
48
- airbyte_agent_mcp/_vendored/connector_sdk/schema/base.py,sha256=eN6YfHwsYNz_0CE-S715Me8x3gQWTtaRk1vhFjEZF8I,4799
49
- airbyte_agent_mcp/_vendored/connector_sdk/schema/components.py,sha256=4clYbIJNqfmFj7Te31ZqC3Rr5E2v33BeXyQx1wp3oj0,8076
50
- airbyte_agent_mcp/_vendored/connector_sdk/schema/connector.py,sha256=VFBOzIkLgYBR1XUTmyrPGqBkX8PP-zsG8avQcdJUqXs,3864
51
- airbyte_agent_mcp/_vendored/connector_sdk/schema/extensions.py,sha256=LdoCuMLNdCj68O47qAL4v8xmqGz5tJgRiNZL5JnL9uw,3311
52
- airbyte_agent_mcp/_vendored/connector_sdk/schema/operations.py,sha256=HV_4mWya-kvSXOWVGPU1uD4GK3GIWneqETFqy9cnrpM,5829
53
- airbyte_agent_mcp/_vendored/connector_sdk/schema/security.py,sha256=Xo6Z0-NCryMY4EDZgvg8ABSPglskpXANvm_iI34meV8,8588
48
+ airbyte_agent_mcp/_vendored/connector_sdk/schema/base.py,sha256=RcsVLrO0L57g4kWfpDWjfc9gelvecplmoy43Zi-7GEY,4944
49
+ airbyte_agent_mcp/_vendored/connector_sdk/schema/components.py,sha256=x3YCM1p2n_xHi50fMeOX0mXUiPqjGlLHs3Go8jXokb0,7895
50
+ airbyte_agent_mcp/_vendored/connector_sdk/schema/connector.py,sha256=mSZk1wr2YSdRj9tTRsPAuIlCzd_xZLw-Bzl1sMwE0rE,3731
51
+ airbyte_agent_mcp/_vendored/connector_sdk/schema/extensions.py,sha256=YuA40iwQeioPYIxJRM7VBY6CrbtT9AKYFoJrF3lFN3M,6239
52
+ airbyte_agent_mcp/_vendored/connector_sdk/schema/operations.py,sha256=RpzGtAI4yvAtMHAfMUMcUwgHv_qJojnKlNb75_agUF8,5729
53
+ airbyte_agent_mcp/_vendored/connector_sdk/schema/security.py,sha256=zQ9RRuF3LBgLQi_4cItmjXbG_5WKlmCNM3nCil30H90,8470
54
54
  airbyte_agent_mcp/_vendored/connector_sdk/telemetry/__init__.py,sha256=RaLgkBU4dfxn1LC5Y0Q9rr2PJbrwjxvPgBLmq8_WafE,211
55
55
  airbyte_agent_mcp/_vendored/connector_sdk/telemetry/config.py,sha256=tLmQwAFD0kP1WyBGWBS3ysaudN9H3e-3EopKZi6cGKg,885
56
- airbyte_agent_mcp/_vendored/connector_sdk/telemetry/events.py,sha256=xUiasLicB818vfGVB108U7noVVDxz35g5vMomRKi0eE,1356
57
- airbyte_agent_mcp/_vendored/connector_sdk/telemetry/tracker.py,sha256=lURbjZVZSWLluX3OTK_0D8xrc3HAzK9xixtMTOEWnQ4,5439
58
- airbyte_agent_mcp-0.1.53.dist-info/METADATA,sha256=q3PUSDVjjLnevElY4i0oaMRQdifyp4n2Hb92cpiFMB8,3009
59
- airbyte_agent_mcp-0.1.53.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
60
- airbyte_agent_mcp-0.1.53.dist-info/RECORD,,
56
+ airbyte_agent_mcp/_vendored/connector_sdk/telemetry/events.py,sha256=8Y1NbXiwISX-V_wRofY7PqcwEXD0dLMnntKkY6XFU2s,1328
57
+ airbyte_agent_mcp/_vendored/connector_sdk/telemetry/tracker.py,sha256=Ftrk0_ddfM7dZG8hF9xBuPwhbc9D6JZ7Q9qs5o3LEyA,5579
58
+ airbyte_agent_mcp-0.1.60.dist-info/METADATA,sha256=KRW4oLq5QYG2rUlpeCpSMXtfpytf0BEiVHe5wg7f5nk,3009
59
+ airbyte_agent_mcp-0.1.60.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
60
+ airbyte_agent_mcp-0.1.60.dist-info/RECORD,,