airbyte-agent-amazon-ads 0.1.9__tar.gz → 0.1.12__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.
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/AUTH.md +1 -1
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/CHANGELOG.md +15 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/PKG-INFO +4 -4
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/README.md +3 -3
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/connector_model_loader.py +54 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/pyproject.toml +1 -1
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/.gitignore +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/REFERENCE.md +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/__init__.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/__init__.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/__init__.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/auth_strategies.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/auth_template.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/cloud_utils/__init__.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/cloud_utils/client.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/constants.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/exceptions.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/executor/__init__.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/executor/hosted_executor.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/executor/local_executor.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/executor/models.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/extensions.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/http/__init__.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/http/adapters/__init__.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/http/adapters/httpx_adapter.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/http/config.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/http/exceptions.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/http/protocols.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/http/response.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/http_client.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/introspection.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/logging/__init__.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/logging/logger.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/logging/types.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/observability/__init__.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/observability/config.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/observability/models.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/observability/redactor.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/observability/session.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/performance/__init__.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/performance/instrumentation.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/performance/metrics.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/__init__.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/base.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/components.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/connector.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/extensions.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/operations.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/security.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/secrets.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/telemetry/__init__.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/telemetry/config.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/telemetry/events.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/telemetry/tracker.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/types.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/utils.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/_vendored/connector_sdk/validation.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/connector.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/connector_model.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/models.py +0 -0
- {airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/types.py +0 -0
|
@@ -69,7 +69,7 @@ After creating the connector, execute operations using either the Python SDK or
|
|
|
69
69
|
from airbyte_agent_amazon-ads import AmazonAdsConnector
|
|
70
70
|
|
|
71
71
|
connector = AmazonAdsConnector(
|
|
72
|
-
external_user_id="<
|
|
72
|
+
external_user_id="<your_external_user_id>",
|
|
73
73
|
airbyte_client_id="<your-client-id>",
|
|
74
74
|
airbyte_client_secret="<your-client-secret>"
|
|
75
75
|
)
|
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Amazon Ads changelog
|
|
2
2
|
|
|
3
|
+
## [0.1.12] - 2026-01-27
|
|
4
|
+
- Updated connector definition (YAML version 1.0.3)
|
|
5
|
+
- Source commit: 4bded58d
|
|
6
|
+
- SDK version: 0.1.0
|
|
7
|
+
|
|
8
|
+
## [0.1.11] - 2026-01-26
|
|
9
|
+
- Updated connector definition (YAML version 1.0.3)
|
|
10
|
+
- Source commit: 74809153
|
|
11
|
+
- SDK version: 0.1.0
|
|
12
|
+
|
|
13
|
+
## [0.1.10] - 2026-01-26
|
|
14
|
+
- Updated connector definition (YAML version 1.0.3)
|
|
15
|
+
- Source commit: b73c71e0
|
|
16
|
+
- SDK version: 0.1.0
|
|
17
|
+
|
|
3
18
|
## [0.1.9] - 2026-01-24
|
|
4
19
|
- Updated connector definition (YAML version 1.0.3)
|
|
5
20
|
- Source commit: 609c1d86
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: airbyte-agent-amazon-ads
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.12
|
|
4
4
|
Summary: Airbyte Amazon-Ads 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/
|
|
@@ -101,7 +101,7 @@ This example assumes you've already authenticated your connector with Airbyte. S
|
|
|
101
101
|
from airbyte_agent_amazon-ads import AmazonAdsConnector
|
|
102
102
|
|
|
103
103
|
connector = AmazonAdsConnector(
|
|
104
|
-
external_user_id="<
|
|
104
|
+
external_user_id="<your_external_user_id>",
|
|
105
105
|
airbyte_client_id="<your-client-id>",
|
|
106
106
|
airbyte_client_secret="<your-client-secret>"
|
|
107
107
|
)
|
|
@@ -132,6 +132,6 @@ For the service's official API docs, see the [Amazon-Ads API reference](https://
|
|
|
132
132
|
|
|
133
133
|
## Version information
|
|
134
134
|
|
|
135
|
-
- **Package version:** 0.1.
|
|
135
|
+
- **Package version:** 0.1.12
|
|
136
136
|
- **Connector version:** 1.0.3
|
|
137
|
-
- **Generated with Connector SDK commit SHA:**
|
|
137
|
+
- **Generated with Connector SDK commit SHA:** 4bded58d3cabff3ac257c30c425ccab118f6ed87
|
|
@@ -68,7 +68,7 @@ This example assumes you've already authenticated your connector with Airbyte. S
|
|
|
68
68
|
from airbyte_agent_amazon-ads import AmazonAdsConnector
|
|
69
69
|
|
|
70
70
|
connector = AmazonAdsConnector(
|
|
71
|
-
external_user_id="<
|
|
71
|
+
external_user_id="<your_external_user_id>",
|
|
72
72
|
airbyte_client_id="<your-client-id>",
|
|
73
73
|
airbyte_client_secret="<your-client-secret>"
|
|
74
74
|
)
|
|
@@ -99,6 +99,6 @@ For the service's official API docs, see the [Amazon-Ads API reference](https://
|
|
|
99
99
|
|
|
100
100
|
## Version information
|
|
101
101
|
|
|
102
|
-
- **Package version:** 0.1.
|
|
102
|
+
- **Package version:** 0.1.12
|
|
103
103
|
- **Connector version:** 1.0.3
|
|
104
|
-
- **Generated with Connector SDK commit SHA:**
|
|
104
|
+
- **Generated with Connector SDK commit SHA:** 4bded58d3cabff3ac257c30c425ccab118f6ed87
|
|
@@ -62,6 +62,53 @@ class TokenExtractValidationError(ConnectorModelLoaderError):
|
|
|
62
62
|
pass
|
|
63
63
|
|
|
64
64
|
|
|
65
|
+
# Expected auth_mapping keys for each auth type.
|
|
66
|
+
# These are the auth parameters that each security scheme expects, NOT the user's credential field names.
|
|
67
|
+
EXPECTED_AUTH_MAPPING_KEYS: dict[AuthType, set[str]] = {
|
|
68
|
+
AuthType.BEARER: {"token"},
|
|
69
|
+
AuthType.BASIC: {"username", "password"},
|
|
70
|
+
AuthType.API_KEY: {"api_key"},
|
|
71
|
+
AuthType.OAUTH2: {"access_token", "refresh_token", "client_id", "client_secret"},
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def _validate_auth_mapping_keys(
|
|
76
|
+
auth_type: AuthType,
|
|
77
|
+
auth_config: AirbyteAuthConfig | None,
|
|
78
|
+
scheme_name: str = "default",
|
|
79
|
+
) -> None:
|
|
80
|
+
"""Validate that auth_mapping keys match expected parameters for the auth type.
|
|
81
|
+
|
|
82
|
+
The auth_mapping keys must be the parameters expected by the security scheme
|
|
83
|
+
(e.g., "token" for bearer), not the user's credential field names.
|
|
84
|
+
|
|
85
|
+
Args:
|
|
86
|
+
auth_type: The authentication type
|
|
87
|
+
auth_config: The x-airbyte-auth-config containing auth_mapping
|
|
88
|
+
scheme_name: Name of the security scheme for error messages
|
|
89
|
+
|
|
90
|
+
Raises:
|
|
91
|
+
InvalidOpenAPIError: If auth_mapping keys don't match expected parameters
|
|
92
|
+
"""
|
|
93
|
+
if auth_config is None or auth_config.auth_mapping is None:
|
|
94
|
+
return # No explicit auth_mapping, will use defaults
|
|
95
|
+
|
|
96
|
+
expected_keys = EXPECTED_AUTH_MAPPING_KEYS.get(auth_type)
|
|
97
|
+
if expected_keys is None:
|
|
98
|
+
return # Unknown auth type, skip validation
|
|
99
|
+
|
|
100
|
+
actual_keys = set(auth_config.auth_mapping.keys())
|
|
101
|
+
invalid_keys = actual_keys - expected_keys
|
|
102
|
+
|
|
103
|
+
if invalid_keys:
|
|
104
|
+
raise InvalidOpenAPIError(
|
|
105
|
+
f"Invalid auth_mapping keys for {auth_type.value} auth in scheme '{scheme_name}': {invalid_keys}. "
|
|
106
|
+
f"Expected keys for {auth_type.value}: {sorted(expected_keys)}. "
|
|
107
|
+
f"Note: auth_mapping keys must be the auth parameters (e.g., 'token' for bearer), "
|
|
108
|
+
f'not your credential field names. Use template syntax to map: token: "${{your_field}}"'
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
|
|
65
112
|
def extract_path_params(path: str) -> list[str]:
|
|
66
113
|
"""Extract parameter names from path template.
|
|
67
114
|
|
|
@@ -924,6 +971,9 @@ def _parse_single_security_scheme(scheme: Any) -> AuthConfig:
|
|
|
924
971
|
oauth2_config = _parse_oauth2_config(scheme)
|
|
925
972
|
# Use explicit x-airbyte-auth-config if present, otherwise generate default
|
|
926
973
|
auth_config_obj = scheme.x_airbyte_auth_config or _generate_default_auth_config(AuthType.OAUTH2)
|
|
974
|
+
# Validate auth_mapping keys if explicitly provided
|
|
975
|
+
if scheme.x_airbyte_auth_config:
|
|
976
|
+
_validate_auth_mapping_keys(AuthType.OAUTH2, scheme.x_airbyte_auth_config)
|
|
927
977
|
return AuthConfig(
|
|
928
978
|
type=AuthType.OAUTH2,
|
|
929
979
|
config=oauth2_config,
|
|
@@ -934,6 +984,10 @@ def _parse_single_security_scheme(scheme: Any) -> AuthConfig:
|
|
|
934
984
|
# Use explicit x-airbyte-auth-config if present, otherwise generate default
|
|
935
985
|
auth_config_obj = scheme.x_airbyte_auth_config or _generate_default_auth_config(auth_type)
|
|
936
986
|
|
|
987
|
+
# Validate auth_mapping keys if explicitly provided
|
|
988
|
+
if scheme.x_airbyte_auth_config:
|
|
989
|
+
_validate_auth_mapping_keys(auth_type, scheme.x_airbyte_auth_config)
|
|
990
|
+
|
|
937
991
|
return AuthConfig(
|
|
938
992
|
type=auth_type,
|
|
939
993
|
config=auth_config,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{airbyte_agent_amazon_ads-0.1.9 → airbyte_agent_amazon_ads-0.1.12}/airbyte_agent_amazon_ads/types.py
RENAMED
|
File without changes
|