Skip to content

Commit 0d4af6c

Browse files
Merge pull request #3194 from airbytehq/publish/paypal-transaction-v0.1.14
chore(paypal-transaction): bump to 0.1.14
2 parents 30d93a4 + ed0b5df commit 0d4af6c

File tree

15 files changed

+202
-143
lines changed

15 files changed

+202
-143
lines changed

β€Žconnectors/paypal-transaction/CHANGELOG.mdβ€Ž

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Paypal Transaction changelog
22

3+
## [0.1.14] - 2026-04-09
4+
- Updated connector definition (YAML version 1.0.2)
5+
- Source commit: 6bf360a5
6+
- SDK version: 0.1.0
7+
38
## [0.1.13] - 2026-04-09
49
- Updated connector definition (YAML version 1.0.1)
510
- Source commit: 3cecc817

β€Žconnectors/paypal-transaction/README.mdβ€Ž

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ See the official [Paypal-Transaction API reference](https://developer.paypal.com
114114

115115
## Version information
116116

117-
- **Package version:** 0.1.13
118-
- **Connector version:** 1.0.1
119-
- **Generated with Connector SDK commit SHA:** 3cecc817f060335c13c5d88bc9ad34a4dace961f
117+
- **Package version:** 0.1.14
118+
- **Connector version:** 1.0.2
119+
- **Generated with Connector SDK commit SHA:** 6bf360a546d577c9f76e8a6b8abf9ffc4dbfcf3a
120120
- **Changelog:** [View changelog](https://github.com/airbytehq/airbyte-agent-connectors/blob/main/connectors/paypal-transaction/CHANGELOG.md)

β€Žconnectors/paypal-transaction/airbyte_agent_paypal_transaction/__init__.pyβ€Ž

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,17 @@
2626
Transaction,
2727
TransactionsListLinksItem,
2828
TransactionsList,
29+
PaymentLinksItem,
2930
PaymentTransactionsItemAmountDetails,
3031
PaymentTransactionsItemAmount,
3132
PaymentTransactionsItem,
3233
PaymentPayerPayerInfo,
3334
PaymentPayer,
34-
PaymentLinksItem,
3535
Payment,
3636
PaymentsList,
37-
DisputeLinksItem,
3837
DisputeDisputedTransactionsItemSeller,
3938
DisputeDisputedTransactionsItem,
39+
DisputeLinksItem,
4040
Dispute,
4141
DisputesListLinksItem,
4242
DisputesList,
@@ -48,23 +48,23 @@
4848
ProductDetails,
4949
InvoiceSearchParamsCreationDateRange,
5050
InvoiceSearchParams,
51-
InvoiceLinksItem,
51+
InvoiceDetailMetadata,
52+
InvoiceDetailPaymentTerm,
53+
InvoiceDetail,
54+
InvoiceInvoicerName,
55+
InvoiceInvoicer,
5256
InvoiceConfigurationPartialPayment,
5357
InvoiceConfiguration,
58+
InvoiceLinksItem,
5459
InvoiceAmountBreakdown,
5560
InvoiceAmount,
5661
InvoicePrimaryRecipientsItemBillingInfoName,
5762
InvoicePrimaryRecipientsItemBillingInfo,
5863
InvoicePrimaryRecipientsItem,
5964
InvoiceItemsItemTax,
6065
InvoiceItemsItem,
61-
InvoiceDetailMetadata,
62-
InvoiceDetailPaymentTerm,
63-
InvoiceDetail,
64-
InvoiceRefunds,
65-
InvoiceInvoicerName,
66-
InvoiceInvoicer,
6766
InvoicePayments,
67+
InvoiceRefunds,
6868
Invoice,
6969
InvoicesList,
7070
TransactionsListResultMeta,
@@ -152,17 +152,17 @@
152152
"Transaction",
153153
"TransactionsListLinksItem",
154154
"TransactionsList",
155+
"PaymentLinksItem",
155156
"PaymentTransactionsItemAmountDetails",
156157
"PaymentTransactionsItemAmount",
157158
"PaymentTransactionsItem",
158159
"PaymentPayerPayerInfo",
159160
"PaymentPayer",
160-
"PaymentLinksItem",
161161
"Payment",
162162
"PaymentsList",
163-
"DisputeLinksItem",
164163
"DisputeDisputedTransactionsItemSeller",
165164
"DisputeDisputedTransactionsItem",
165+
"DisputeLinksItem",
166166
"Dispute",
167167
"DisputesListLinksItem",
168168
"DisputesList",
@@ -174,23 +174,23 @@
174174
"ProductDetails",
175175
"InvoiceSearchParamsCreationDateRange",
176176
"InvoiceSearchParams",
177-
"InvoiceLinksItem",
177+
"InvoiceDetailMetadata",
178+
"InvoiceDetailPaymentTerm",
179+
"InvoiceDetail",
180+
"InvoiceInvoicerName",
181+
"InvoiceInvoicer",
178182
"InvoiceConfigurationPartialPayment",
179183
"InvoiceConfiguration",
184+
"InvoiceLinksItem",
180185
"InvoiceAmountBreakdown",
181186
"InvoiceAmount",
182187
"InvoicePrimaryRecipientsItemBillingInfoName",
183188
"InvoicePrimaryRecipientsItemBillingInfo",
184189
"InvoicePrimaryRecipientsItem",
185190
"InvoiceItemsItemTax",
186191
"InvoiceItemsItem",
187-
"InvoiceDetailMetadata",
188-
"InvoiceDetailPaymentTerm",
189-
"InvoiceDetail",
190-
"InvoiceRefunds",
191-
"InvoiceInvoicerName",
192-
"InvoiceInvoicer",
193192
"InvoicePayments",
193+
"InvoiceRefunds",
194194
"Invoice",
195195
"InvoicesList",
196196
"TransactionsListResultMeta",

β€Žconnectors/paypal-transaction/airbyte_agent_paypal_transaction/_vendored/connector_sdk/connector_model_loader.pyβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ def _dedupe_strings(values: list[str]) -> list[str]:
238238

239239

240240
def _extract_search_field_paths(spec: OpenAPIConnector) -> dict[str, list[str]]:
241-
cache_config = getattr(spec.info, "x_airbyte_cache", None)
241+
cache_config = getattr(spec.info, "x_airbyte_context_store", None)
242242
entities = getattr(cache_config, "entities", None)
243243
if not isinstance(entities, list):
244244
return {}

β€Žconnectors/paypal-transaction/airbyte_agent_paypal_transaction/_vendored/connector_sdk/introspection.pyβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ def _collect_search_field_paths(model: ConnectorModelProtocol) -> dict[str, list
169169

170170
openapi_spec = getattr(model, "openapi_spec", None)
171171
info = getattr(openapi_spec, "info", None)
172-
cache_config = getattr(info, "x_airbyte_cache", None)
172+
cache_config = getattr(info, "x_airbyte_context_store", None)
173173
entities = getattr(cache_config, "entities", None)
174174
if not isinstance(entities, list):
175175
return {}

β€Žconnectors/paypal-transaction/airbyte_agent_paypal_transaction/_vendored/connector_sdk/schema/base.pyβ€Ž

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ class Info(BaseModel):
119119
- x-airbyte-external-documentation-urls: List of external documentation URLs (Airbyte extension)
120120
- x-airbyte-retry-config: Retry configuration for transient errors (Airbyte extension)
121121
- x-airbyte-example-questions: Example questions for AI connector README (Airbyte extension)
122-
- x-airbyte-cache: Cache configuration for field mapping between API and cache schemas (Airbyte extension)
122+
- x-airbyte-context-store: Cache configuration for field mapping between API and cache schemas (Airbyte extension)
123123
- x-airbyte-replication-config: Replication configuration for MULTI mode connectors (Airbyte extension)
124124
- x-airbyte-entity-relationships: Entity relationship declarations (Airbyte extension)
125125
- x-airbyte-scoping: Scoping parameter resolution from config (Airbyte extension)
@@ -140,7 +140,7 @@ class Info(BaseModel):
140140
x_airbyte_external_documentation_urls: list[DocUrl] = Field(..., alias="x-airbyte-external-documentation-urls")
141141
x_airbyte_retry_config: RetryConfig | None = Field(None, alias="x-airbyte-retry-config")
142142
x_airbyte_example_questions: ExampleQuestions | None = Field(None, alias="x-airbyte-example-questions")
143-
x_airbyte_cache: CacheConfig | None = Field(None, alias="x-airbyte-cache")
143+
x_airbyte_context_store: CacheConfig | None = Field(None, alias="x-airbyte-context-store")
144144
x_airbyte_entity_relationships: list[EntityRelationshipConfig] = Field(
145145
default_factory=list, alias="x-airbyte-entity-relationships"
146146
)
@@ -167,6 +167,12 @@ class Info(BaseModel):
167167
description="List of Airbyte auth methods to skip when validating auth compatibility. "
168168
"Use the SelectiveAuthenticator option key (e.g., 'Private App Credentials', 'oauth2.0')",
169169
)
170+
x_airbyte_skip_context_store: str | None = Field(
171+
default=None,
172+
alias="x-airbyte-skip-context-store",
173+
description="Reason why this connector does not define x-airbyte-context-store. "
174+
"Connectors must have either x-airbyte-context-store or x-airbyte-skip-context-store with a justification.",
175+
)
170176

171177

172178
class ServerVariable(BaseModel):

β€Žconnectors/paypal-transaction/airbyte_agent_paypal_transaction/_vendored/connector_sdk/schema/extensions.pyβ€Ž

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ class CacheFieldConfig(BaseModel):
8787
For object-type fields, supports nested properties to define the internal structure
8888
of complex nested schemas.
8989
90-
Used in x-airbyte-cache extension for api_search operations.
90+
Used in x-airbyte-context-store extension for api_search operations.
9191
"""
9292

9393
model_config = ConfigDict(populate_by_name=True, extra="forbid")
@@ -111,7 +111,7 @@ class CacheEntityConfig(BaseModel):
111111
Defines a cache-enabled entity with its fields and optional name aliasing
112112
to map between user-facing entity names and cache storage names.
113113
114-
Used in x-airbyte-cache extension for api_search operations.
114+
Used in x-airbyte-context-store extension for api_search operations.
115115
"""
116116

117117
model_config = ConfigDict(populate_by_name=True, extra="forbid")
@@ -237,7 +237,7 @@ def validate_replication_config_key_mapping(self) -> "ReplicationConfig":
237237

238238
class CacheConfig(BaseModel):
239239
"""
240-
Cache configuration extension (x-airbyte-cache).
240+
Cache configuration extension (x-airbyte-context-store).
241241
242242
Defines cache-enabled entities and their field mappings for api_search operations.
243243
Supports optional name aliasing via x-airbyte-name for both entities and fields,
@@ -249,7 +249,7 @@ class CacheConfig(BaseModel):
249249
Example YAML usage:
250250
info:
251251
title: Stripe API
252-
x-airbyte-cache:
252+
x-airbyte-context-store:
253253
entities:
254254
- entity: customers
255255
stream: customers

β€Žconnectors/paypal-transaction/airbyte_agent_paypal_transaction/_vendored/connector_sdk/validation/__init__.pyβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
This module provides validation for connector definitions, including:
44
- Readiness validation (cassettes, schemas, auth coverage)
55
- Replication compatibility validation (Airbyte registry mappings)
6-
- Cache schema validation (x-airbyte-cache vs manifest)
6+
- Cache schema validation (x-airbyte-context-store vs manifest)
77
- Connector overview (structured status reporting)
88
"""
99

β€Žconnectors/paypal-transaction/airbyte_agent_paypal_transaction/_vendored/connector_sdk/validation/cache.pyβ€Ž

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"""
2-
Validate x-airbyte-cache entities against the Airbyte source connector manifest.
2+
Validate x-airbyte-context-store entities against the Airbyte source connector manifest.
33
44
Checks that each cache entity name corresponds to a real stream in the manifest,
55
and that cache field names exist as properties in the manifest stream schema.
@@ -61,9 +61,9 @@ def validate_cache_against_manifest(
6161
connector_yaml_path: str | Path,
6262
connector_def: dict[str, Any] | None = None,
6363
) -> dict[str, Any]:
64-
"""Validate that x-airbyte-cache entities match the Airbyte manifest.
64+
"""Validate that x-airbyte-context-store entities match the Airbyte manifest.
6565
66-
For each entity in x-airbyte-cache, checks:
66+
For each entity in x-airbyte-context-store, checks:
6767
1. A stream with a matching name exists in the manifest. If the entity has
6868
an ``x-airbyte-name`` field, that value is used for the manifest lookup;
6969
otherwise the ``entity`` name is used.
@@ -89,12 +89,12 @@ def validate_cache_against_manifest(
8989
return {"errors": [f"Failed to load connector.yaml: {e}"], "warnings": []}
9090

9191
info = connector_def.get("info", {})
92-
cache_entities: list[dict[str, Any]] = info.get("x-airbyte-cache", {}).get("entities", [])
92+
cache_entities: list[dict[str, Any]] = info.get("x-airbyte-context-store", {}).get("entities", [])
9393

9494
if not cache_entities:
9595
return {
9696
"errors": [],
97-
"warnings": ["No x-airbyte-cache entities found in connector.yaml β€” skipping cache validation"],
97+
"warnings": ["No x-airbyte-context-store entities found in connector.yaml β€” skipping cache validation"],
9898
"entities_checked": 0,
9999
"manifest_streams": [],
100100
}

β€Žconnectors/paypal-transaction/airbyte_agent_paypal_transaction/_vendored/connector_sdk/validation/overview.pyβ€Ž

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,7 @@ def _extract_auth_schemes(config) -> Dict[str, Any]:
293293
def _extract_exceptions(info: dict, config) -> Dict[str, Any]:
294294
skip_streams = info.get("x-airbyte-skip-suggested-streams", []) or []
295295
skip_auth = info.get("x-airbyte-skip-auth-methods", []) or []
296+
skip_context_store = info.get("x-airbyte-skip-context-store") or None
296297

297298
untested_ops = []
298299
for entity in config.entities:
@@ -304,10 +305,13 @@ def _extract_exceptions(info: dict, config) -> Dict[str, Any]:
304305
untested_auth = [opt.scheme_name for opt in (config.auth.options or []) if opt.untested]
305306

306307
total = len(skip_streams) + len(skip_auth) + len(untested_ops) + len(untested_auth)
308+
if skip_context_store:
309+
total += 1
307310

308311
return {
309312
"skip_suggested_streams": skip_streams,
310313
"skip_auth_methods": skip_auth,
314+
"skip_context_store": skip_context_store,
311315
"untested_operations": untested_ops,
312316
"untested_auth_schemes": untested_auth,
313317
"total_count": total,
@@ -558,6 +562,16 @@ def diff_overviews(base: Dict[str, Any] | None, head: Dict[str, Any]) -> Dict[st
558562
if removed:
559563
changes[f"removed_{key}"] = sorted(removed)
560564

565+
base_skip_context_store = base_exc.get("skip_context_store")
566+
head_skip_context_store = head_exc.get("skip_context_store")
567+
if base_skip_context_store != head_skip_context_store:
568+
if head_skip_context_store and not base_skip_context_store:
569+
changes["skip_context_store_added"] = head_skip_context_store
570+
elif base_skip_context_store and not head_skip_context_store:
571+
changes["skip_context_store_removed"] = base_skip_context_store
572+
else:
573+
changes["skip_context_store_changed"] = {"from": base_skip_context_store, "to": head_skip_context_store}
574+
561575
base_readiness = base.get("readiness", {}).get("success", False)
562576
head_readiness = head.get("readiness", {}).get("success", False)
563577
if base_readiness != head_readiness:
@@ -762,6 +776,16 @@ def _format_diff_section(diff: Dict[str, Any] | None) -> str:
762776
if removed:
763777
items.append(f"βœ… Removed {label}: {', '.join(f'`{v}`' for v in removed)}")
764778

779+
skip_context_store_added = diff.get("skip_context_store_added")
780+
if skip_context_store_added:
781+
items.append(f"πŸ”‡ Added skip-cache exception: {skip_context_store_added}")
782+
skip_context_store_removed = diff.get("skip_context_store_removed")
783+
if skip_context_store_removed:
784+
items.append("βœ… Removed skip-cache exception")
785+
skip_context_store_changed = diff.get("skip_context_store_changed")
786+
if skip_context_store_changed:
787+
items.append(f"πŸ”‡ Skip-cache reason changed: {skip_context_store_changed['to']}")
788+
765789
errors_delta = diff.get("errors_delta")
766790
if errors_delta is not None and errors_delta != 0:
767791
if errors_delta > 0:
@@ -815,6 +839,10 @@ def _format_exceptions_section(overview: dict) -> str:
815839
auth_str = ", ".join(f"`{a}`" for a in skip_auth)
816840
lines.append(f"> - πŸ”‡ Skipped auth methods: {auth_str}")
817841

842+
skip_context_store = exceptions.get("skip_context_store")
843+
if skip_context_store:
844+
lines.append(f"> - πŸ”‡ Skipped cache: {skip_context_store}")
845+
818846
untested_ops = exceptions.get("untested_operations", [])
819847
if untested_ops:
820848
ops_str = ", ".join(f"`{o}`" for o in untested_ops)

0 commit comments

Comments
Β (0)