airbyte-agent-stripe 0.5.32__py3-none-any.whl → 0.5.37__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.
- airbyte_agent_stripe/__init__.py +108 -88
- airbyte_agent_stripe/_vendored/connector_sdk/constants.py +1 -1
- airbyte_agent_stripe/_vendored/connector_sdk/executor/local_executor.py +3 -3
- airbyte_agent_stripe/_vendored/connector_sdk/extensions.py +3 -3
- airbyte_agent_stripe/_vendored/connector_sdk/introspection.py +1 -1
- airbyte_agent_stripe/_vendored/connector_sdk/observability/config.py +179 -0
- airbyte_agent_stripe/_vendored/connector_sdk/observability/session.py +35 -28
- airbyte_agent_stripe/_vendored/connector_sdk/schema/operations.py +1 -1
- airbyte_agent_stripe/_vendored/connector_sdk/telemetry/events.py +2 -1
- airbyte_agent_stripe/_vendored/connector_sdk/telemetry/tracker.py +3 -0
- airbyte_agent_stripe/_vendored/connector_sdk/types.py +1 -1
- airbyte_agent_stripe/connector.py +291 -58
- airbyte_agent_stripe/connector_model.py +3444 -692
- airbyte_agent_stripe/models.py +880 -720
- airbyte_agent_stripe/types.py +41 -13
- {airbyte_agent_stripe-0.5.32.dist-info → airbyte_agent_stripe-0.5.37.dist-info}/METADATA +12 -16
- {airbyte_agent_stripe-0.5.32.dist-info → airbyte_agent_stripe-0.5.37.dist-info}/RECORD +18 -17
- {airbyte_agent_stripe-0.5.32.dist-info → airbyte_agent_stripe-0.5.37.dist-info}/WHEEL +0 -0
airbyte_agent_stripe/__init__.py
CHANGED
|
@@ -7,143 +7,156 @@ Auto-generated from OpenAPI specification.
|
|
|
7
7
|
from .connector import StripeConnector
|
|
8
8
|
from .models import (
|
|
9
9
|
StripeAuthConfig,
|
|
10
|
-
CustomerShippingAddress,
|
|
11
|
-
CustomerShipping,
|
|
12
10
|
CustomerSourcesDataItem,
|
|
13
11
|
CustomerSources,
|
|
12
|
+
CustomerAddress,
|
|
13
|
+
CustomerCashBalanceSettings,
|
|
14
|
+
CustomerCashBalance,
|
|
15
|
+
CustomerInvoiceSettingsRenderingOptions,
|
|
16
|
+
CustomerInvoiceSettingsCustomFieldsItem,
|
|
17
|
+
CustomerInvoiceSettings,
|
|
18
|
+
SubscriptionBillingCycleAnchorConfig,
|
|
19
|
+
SubscriptionCancellationDetails,
|
|
14
20
|
SubscriptionBillingModeFlexible,
|
|
15
21
|
SubscriptionBillingMode,
|
|
16
|
-
|
|
22
|
+
SubscriptionTrialSettingsEndBehavior,
|
|
23
|
+
SubscriptionTrialSettings,
|
|
17
24
|
SubscriptionItemsDataItemBillingThresholds,
|
|
18
25
|
SubscriptionItemsDataItem,
|
|
19
26
|
SubscriptionItems,
|
|
20
|
-
|
|
21
|
-
SubscriptionBillingThresholds,
|
|
22
|
-
SubscriptionDefaultTaxRatesItemFlatAmount,
|
|
23
|
-
SubscriptionDefaultTaxRatesItem,
|
|
24
|
-
SubscriptionCancellationDetails,
|
|
25
|
-
SubscriptionTrialSettingsEndBehavior,
|
|
26
|
-
SubscriptionTrialSettings,
|
|
27
|
+
SubscriptionPaymentSettings,
|
|
27
28
|
SubscriptionInvoiceSettingsIssuer,
|
|
28
29
|
SubscriptionInvoiceSettings,
|
|
29
30
|
SubscriptionAutomaticTaxLiability,
|
|
30
31
|
SubscriptionAutomaticTax,
|
|
32
|
+
SubscriptionBillingThresholds,
|
|
31
33
|
SubscriptionPauseCollection,
|
|
34
|
+
SubscriptionDefaultTaxRatesItemFlatAmount,
|
|
35
|
+
SubscriptionDefaultTaxRatesItem,
|
|
32
36
|
Subscription,
|
|
33
37
|
CustomerSubscriptions,
|
|
38
|
+
CustomerShippingAddress,
|
|
39
|
+
CustomerShipping,
|
|
34
40
|
CustomerDiscountSource,
|
|
35
41
|
CustomerDiscount,
|
|
36
|
-
CustomerAddress,
|
|
37
|
-
CustomerInvoiceSettingsRenderingOptions,
|
|
38
|
-
CustomerInvoiceSettingsCustomFieldsItem,
|
|
39
|
-
CustomerInvoiceSettings,
|
|
40
|
-
CustomerCashBalanceSettings,
|
|
41
|
-
CustomerCashBalance,
|
|
42
42
|
Customer,
|
|
43
43
|
CustomerList,
|
|
44
|
+
CustomerCreateParamsAddress,
|
|
45
|
+
CustomerCreateParams,
|
|
46
|
+
CustomerUpdateParamsAddress,
|
|
47
|
+
CustomerUpdateParams,
|
|
48
|
+
CustomerDeletedResponse,
|
|
44
49
|
InvoiceCustomerTaxIdsItem,
|
|
50
|
+
InvoiceFromInvoice,
|
|
51
|
+
InvoiceTotalTaxesItem,
|
|
52
|
+
InvoiceThresholdReasonItemReasonsItem,
|
|
53
|
+
InvoiceThresholdReason,
|
|
54
|
+
InvoiceDefaultTaxRatesItemFlatAmount,
|
|
55
|
+
InvoiceDefaultTaxRatesItem,
|
|
56
|
+
InvoiceAutomaticTaxLiability,
|
|
57
|
+
InvoiceAutomaticTax,
|
|
45
58
|
InvoiceLastFinalizationError,
|
|
59
|
+
InvoiceCustomFieldsItem,
|
|
46
60
|
InvoiceCustomerAddress,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
61
|
+
InvoiceSubscriptionDetails,
|
|
62
|
+
InvoiceDiscountCoupon,
|
|
63
|
+
InvoiceDiscount,
|
|
64
|
+
InvoiceTotalDiscountAmountsItem,
|
|
65
|
+
InvoiceTotalTaxAmountsItem,
|
|
66
|
+
InvoiceIssuer,
|
|
67
|
+
InvoiceShippingCostTaxesItem,
|
|
68
|
+
InvoiceShippingCost,
|
|
52
69
|
InvoiceLinesDataItemPeriod,
|
|
53
70
|
InvoiceLinesDataItemDiscountAmountsItem,
|
|
54
71
|
InvoiceLinesDataItem,
|
|
55
72
|
InvoiceLines,
|
|
56
|
-
|
|
57
|
-
InvoiceShippingCost,
|
|
58
|
-
InvoiceDefaultTaxRatesItemFlatAmount,
|
|
59
|
-
InvoiceDefaultTaxRatesItem,
|
|
60
|
-
InvoiceIssuer,
|
|
61
|
-
InvoiceTotalTaxesItem,
|
|
62
|
-
InvoicePaymentsDataItem,
|
|
63
|
-
InvoicePayments,
|
|
64
|
-
InvoiceParentSubscriptionDetails,
|
|
73
|
+
InvoiceConfirmationSecret,
|
|
65
74
|
InvoiceParentQuoteDetails,
|
|
75
|
+
InvoiceParentSubscriptionDetails,
|
|
66
76
|
InvoiceParent,
|
|
67
|
-
InvoiceAutomaticTaxLiability,
|
|
68
|
-
InvoiceAutomaticTax,
|
|
69
|
-
InvoiceDiscountCoupon,
|
|
70
|
-
InvoiceDiscount,
|
|
71
|
-
InvoiceCustomFieldsItem,
|
|
72
|
-
InvoiceConfirmationSecret,
|
|
73
|
-
InvoiceTotalTaxAmountsItem,
|
|
74
|
-
InvoiceCustomerShippingAddress,
|
|
75
|
-
InvoiceCustomerShipping,
|
|
76
|
-
InvoiceThresholdReasonItemReasonsItem,
|
|
77
|
-
InvoiceThresholdReason,
|
|
78
|
-
InvoiceFromInvoice,
|
|
79
|
-
InvoiceSubscriptionDetails,
|
|
80
77
|
InvoiceTotalPretaxCreditAmountsItem,
|
|
81
78
|
InvoicePaymentSettings,
|
|
82
|
-
|
|
79
|
+
InvoiceShippingDetailsAddress,
|
|
80
|
+
InvoiceShippingDetails,
|
|
81
|
+
InvoiceStatusTransitions,
|
|
82
|
+
InvoicePaymentsDataItem,
|
|
83
|
+
InvoicePayments,
|
|
84
|
+
InvoiceCustomerShippingAddress,
|
|
85
|
+
InvoiceCustomerShipping,
|
|
86
|
+
InvoiceRenderingPdf,
|
|
87
|
+
InvoiceRendering,
|
|
83
88
|
Invoice,
|
|
84
89
|
InvoiceList,
|
|
85
|
-
ChargeFraudDetails,
|
|
86
|
-
ChargeOutcome,
|
|
87
90
|
ChargeBillingDetailsAddress,
|
|
88
91
|
ChargeBillingDetails,
|
|
92
|
+
ChargeOutcome,
|
|
93
|
+
ChargeFraudDetails,
|
|
94
|
+
ChargePresentmentDetails,
|
|
89
95
|
ChargeRefunds,
|
|
90
|
-
|
|
96
|
+
ChargePaymentMethodDetailsCardMulticapture,
|
|
91
97
|
ChargePaymentMethodDetailsCardChecks,
|
|
92
|
-
ChargePaymentMethodDetailsCardNetworkToken,
|
|
93
98
|
ChargePaymentMethodDetailsCardIncrementalAuthorization,
|
|
94
|
-
ChargePaymentMethodDetailsCardMulticapture,
|
|
95
99
|
ChargePaymentMethodDetailsCardOvercapture,
|
|
100
|
+
ChargePaymentMethodDetailsCardExtendedAuthorization,
|
|
101
|
+
ChargePaymentMethodDetailsCardNetworkToken,
|
|
96
102
|
ChargePaymentMethodDetailsCard,
|
|
97
103
|
ChargePaymentMethodDetails,
|
|
98
|
-
ChargePresentmentDetails,
|
|
99
104
|
Charge,
|
|
100
105
|
ChargeList,
|
|
101
106
|
SubscriptionList,
|
|
102
|
-
|
|
103
|
-
|
|
107
|
+
RefundNextActionDisplayDetailsEmailSent,
|
|
108
|
+
RefundNextActionDisplayDetails,
|
|
109
|
+
RefundNextAction,
|
|
110
|
+
RefundDestinationDetailsBlik,
|
|
111
|
+
RefundDestinationDetailsThBankTransfer,
|
|
112
|
+
RefundDestinationDetailsCrypto,
|
|
113
|
+
RefundDestinationDetailsSwish,
|
|
104
114
|
RefundDestinationDetailsMxBankTransfer,
|
|
115
|
+
RefundDestinationDetailsPaypal,
|
|
116
|
+
RefundDestinationDetailsGbBankTransfer,
|
|
105
117
|
RefundDestinationDetailsCard,
|
|
106
|
-
RefundDestinationDetailsSwish,
|
|
107
|
-
RefundDestinationDetailsJpBankTransfer,
|
|
108
|
-
RefundDestinationDetailsBlik,
|
|
109
|
-
RefundDestinationDetailsMultibanco,
|
|
110
118
|
RefundDestinationDetailsEuBankTransfer,
|
|
111
|
-
RefundDestinationDetailsCrypto,
|
|
112
|
-
RefundDestinationDetailsP24,
|
|
113
119
|
RefundDestinationDetailsMbWay,
|
|
114
|
-
RefundDestinationDetailsPaypal,
|
|
115
120
|
RefundDestinationDetailsUsBankTransfer,
|
|
116
|
-
|
|
121
|
+
RefundDestinationDetailsP24,
|
|
122
|
+
RefundDestinationDetailsJpBankTransfer,
|
|
123
|
+
RefundDestinationDetailsBrBankTransfer,
|
|
124
|
+
RefundDestinationDetailsMultibanco,
|
|
117
125
|
RefundDestinationDetails,
|
|
118
|
-
RefundNextActionDisplayDetailsEmailSent,
|
|
119
|
-
RefundNextActionDisplayDetails,
|
|
120
|
-
RefundNextAction,
|
|
121
126
|
Refund,
|
|
122
127
|
RefundList,
|
|
123
|
-
|
|
128
|
+
RefundCreateParams,
|
|
124
129
|
ProductPackageDimensions,
|
|
130
|
+
ProductMarketingFeaturesItem,
|
|
125
131
|
ProductFeaturesItem,
|
|
126
132
|
Product,
|
|
127
133
|
ProductList,
|
|
128
134
|
ProductSearchResult,
|
|
129
|
-
|
|
130
|
-
|
|
135
|
+
ProductCreateParamsPackageDimensions,
|
|
136
|
+
ProductCreateParamsMarketingFeaturesItem,
|
|
137
|
+
ProductCreateParams,
|
|
138
|
+
ProductUpdateParamsMarketingFeaturesItem,
|
|
139
|
+
ProductUpdateParamsPackageDimensions,
|
|
140
|
+
ProductUpdateParams,
|
|
141
|
+
ProductDeletedResponse,
|
|
131
142
|
BalanceAvailableItemSourceTypes,
|
|
132
143
|
BalanceAvailableItem,
|
|
133
|
-
|
|
134
|
-
|
|
144
|
+
BalanceInstantAvailableItemNetAvailableItemSourceTypes,
|
|
145
|
+
BalanceInstantAvailableItemNetAvailableItem,
|
|
146
|
+
BalanceInstantAvailableItemSourceTypes,
|
|
147
|
+
BalanceInstantAvailableItem,
|
|
148
|
+
BalanceIssuingAvailableItemSourceTypes,
|
|
149
|
+
BalanceIssuingAvailableItem,
|
|
150
|
+
BalanceIssuing,
|
|
135
151
|
BalanceRefundAndDisputePrefundingAvailableItemSourceTypes,
|
|
136
152
|
BalanceRefundAndDisputePrefundingAvailableItem,
|
|
153
|
+
BalanceRefundAndDisputePrefundingPendingItemSourceTypes,
|
|
154
|
+
BalanceRefundAndDisputePrefundingPendingItem,
|
|
137
155
|
BalanceRefundAndDisputePrefunding,
|
|
156
|
+
BalanceConnectReservedItemSourceTypes,
|
|
157
|
+
BalanceConnectReservedItem,
|
|
138
158
|
BalancePendingItemSourceTypes,
|
|
139
159
|
BalancePendingItem,
|
|
140
|
-
BalanceIssuingAvailableItemSourceTypes,
|
|
141
|
-
BalanceIssuingAvailableItem,
|
|
142
|
-
BalanceIssuing,
|
|
143
|
-
BalanceInstantAvailableItemNetAvailableItemSourceTypes,
|
|
144
|
-
BalanceInstantAvailableItemNetAvailableItem,
|
|
145
|
-
BalanceInstantAvailableItemSourceTypes,
|
|
146
|
-
BalanceInstantAvailableItem,
|
|
147
160
|
Balance,
|
|
148
161
|
BalanceTransactionFeeDetailsItem,
|
|
149
162
|
BalanceTransaction,
|
|
@@ -162,31 +175,31 @@ from .models import (
|
|
|
162
175
|
ChargeSearchResult,
|
|
163
176
|
SubscriptionSearchResult,
|
|
164
177
|
CustomersListResultMeta,
|
|
165
|
-
|
|
178
|
+
CustomersApiSearchResultMeta,
|
|
166
179
|
InvoicesListResultMeta,
|
|
167
180
|
ChargesListResultMeta,
|
|
168
181
|
SubscriptionsListResultMeta,
|
|
169
182
|
RefundsListResultMeta,
|
|
170
183
|
ProductsListResultMeta,
|
|
171
|
-
|
|
184
|
+
ProductsApiSearchResultMeta,
|
|
172
185
|
BalanceTransactionsListResultMeta,
|
|
173
186
|
PaymentIntentsListResultMeta,
|
|
174
|
-
|
|
187
|
+
PaymentIntentsApiSearchResultMeta,
|
|
175
188
|
DisputesListResultMeta,
|
|
176
189
|
PayoutsListResultMeta,
|
|
177
190
|
StripeExecuteResult,
|
|
178
191
|
StripeExecuteResultWithMeta,
|
|
179
192
|
CustomersListResult,
|
|
180
|
-
|
|
193
|
+
CustomersApiSearchResult,
|
|
181
194
|
InvoicesListResult,
|
|
182
195
|
ChargesListResult,
|
|
183
196
|
SubscriptionsListResult,
|
|
184
197
|
RefundsListResult,
|
|
185
198
|
ProductsListResult,
|
|
186
|
-
|
|
199
|
+
ProductsApiSearchResult,
|
|
187
200
|
BalanceTransactionsListResult,
|
|
188
201
|
PaymentIntentsListResult,
|
|
189
|
-
|
|
202
|
+
PaymentIntentsApiSearchResult,
|
|
190
203
|
DisputesListResult,
|
|
191
204
|
PayoutsListResult
|
|
192
205
|
)
|
|
@@ -206,32 +219,39 @@ from .types import (
|
|
|
206
219
|
PayoutsListParamsArrivalDate,
|
|
207
220
|
PayoutsListParamsCreated,
|
|
208
221
|
CustomersListParams,
|
|
222
|
+
CustomersCreateParams,
|
|
209
223
|
CustomersGetParams,
|
|
210
|
-
|
|
224
|
+
CustomersUpdateParams,
|
|
225
|
+
CustomersDeleteParams,
|
|
226
|
+
CustomersApiSearchParams,
|
|
211
227
|
InvoicesListParams,
|
|
212
228
|
InvoicesGetParams,
|
|
213
|
-
|
|
229
|
+
InvoicesApiSearchParams,
|
|
214
230
|
ChargesListParams,
|
|
215
231
|
ChargesGetParams,
|
|
216
|
-
|
|
232
|
+
ChargesApiSearchParams,
|
|
217
233
|
SubscriptionsListParams,
|
|
218
234
|
SubscriptionsGetParams,
|
|
219
|
-
|
|
235
|
+
SubscriptionsApiSearchParams,
|
|
220
236
|
RefundsListParams,
|
|
237
|
+
RefundsCreateParams,
|
|
221
238
|
RefundsGetParams,
|
|
222
239
|
ProductsListParams,
|
|
240
|
+
ProductsCreateParams,
|
|
223
241
|
ProductsGetParams,
|
|
224
|
-
|
|
242
|
+
ProductsUpdateParams,
|
|
243
|
+
ProductsDeleteParams,
|
|
244
|
+
ProductsApiSearchParams,
|
|
225
245
|
BalanceGetParams,
|
|
226
246
|
BalanceTransactionsListParams,
|
|
227
247
|
BalanceTransactionsGetParams,
|
|
228
248
|
PaymentIntentsListParams,
|
|
229
249
|
PaymentIntentsGetParams,
|
|
230
|
-
|
|
250
|
+
PaymentIntentsApiSearchParams,
|
|
231
251
|
DisputesListParams,
|
|
232
252
|
DisputesGetParams,
|
|
233
253
|
PayoutsListParams,
|
|
234
254
|
PayoutsGetParams
|
|
235
255
|
)
|
|
236
256
|
|
|
237
|
-
__all__ = ["StripeConnector", "StripeAuthConfig", "
|
|
257
|
+
__all__ = ["StripeConnector", "StripeAuthConfig", "CustomerSourcesDataItem", "CustomerSources", "CustomerAddress", "CustomerCashBalanceSettings", "CustomerCashBalance", "CustomerInvoiceSettingsRenderingOptions", "CustomerInvoiceSettingsCustomFieldsItem", "CustomerInvoiceSettings", "SubscriptionBillingCycleAnchorConfig", "SubscriptionCancellationDetails", "SubscriptionBillingModeFlexible", "SubscriptionBillingMode", "SubscriptionTrialSettingsEndBehavior", "SubscriptionTrialSettings", "SubscriptionItemsDataItemBillingThresholds", "SubscriptionItemsDataItem", "SubscriptionItems", "SubscriptionPaymentSettings", "SubscriptionInvoiceSettingsIssuer", "SubscriptionInvoiceSettings", "SubscriptionAutomaticTaxLiability", "SubscriptionAutomaticTax", "SubscriptionBillingThresholds", "SubscriptionPauseCollection", "SubscriptionDefaultTaxRatesItemFlatAmount", "SubscriptionDefaultTaxRatesItem", "Subscription", "CustomerSubscriptions", "CustomerShippingAddress", "CustomerShipping", "CustomerDiscountSource", "CustomerDiscount", "Customer", "CustomerList", "CustomerCreateParamsAddress", "CustomerCreateParams", "CustomerUpdateParamsAddress", "CustomerUpdateParams", "CustomerDeletedResponse", "InvoiceCustomerTaxIdsItem", "InvoiceFromInvoice", "InvoiceTotalTaxesItem", "InvoiceThresholdReasonItemReasonsItem", "InvoiceThresholdReason", "InvoiceDefaultTaxRatesItemFlatAmount", "InvoiceDefaultTaxRatesItem", "InvoiceAutomaticTaxLiability", "InvoiceAutomaticTax", "InvoiceLastFinalizationError", "InvoiceCustomFieldsItem", "InvoiceCustomerAddress", "InvoiceSubscriptionDetails", "InvoiceDiscountCoupon", "InvoiceDiscount", "InvoiceTotalDiscountAmountsItem", "InvoiceTotalTaxAmountsItem", "InvoiceIssuer", "InvoiceShippingCostTaxesItem", "InvoiceShippingCost", "InvoiceLinesDataItemPeriod", "InvoiceLinesDataItemDiscountAmountsItem", "InvoiceLinesDataItem", "InvoiceLines", "InvoiceConfirmationSecret", "InvoiceParentQuoteDetails", "InvoiceParentSubscriptionDetails", "InvoiceParent", "InvoiceTotalPretaxCreditAmountsItem", "InvoicePaymentSettings", "InvoiceShippingDetailsAddress", "InvoiceShippingDetails", "InvoiceStatusTransitions", "InvoicePaymentsDataItem", "InvoicePayments", "InvoiceCustomerShippingAddress", "InvoiceCustomerShipping", "InvoiceRenderingPdf", "InvoiceRendering", "Invoice", "InvoiceList", "ChargeBillingDetailsAddress", "ChargeBillingDetails", "ChargeOutcome", "ChargeFraudDetails", "ChargePresentmentDetails", "ChargeRefunds", "ChargePaymentMethodDetailsCardMulticapture", "ChargePaymentMethodDetailsCardChecks", "ChargePaymentMethodDetailsCardIncrementalAuthorization", "ChargePaymentMethodDetailsCardOvercapture", "ChargePaymentMethodDetailsCardExtendedAuthorization", "ChargePaymentMethodDetailsCardNetworkToken", "ChargePaymentMethodDetailsCard", "ChargePaymentMethodDetails", "Charge", "ChargeList", "SubscriptionList", "RefundNextActionDisplayDetailsEmailSent", "RefundNextActionDisplayDetails", "RefundNextAction", "RefundDestinationDetailsBlik", "RefundDestinationDetailsThBankTransfer", "RefundDestinationDetailsCrypto", "RefundDestinationDetailsSwish", "RefundDestinationDetailsMxBankTransfer", "RefundDestinationDetailsPaypal", "RefundDestinationDetailsGbBankTransfer", "RefundDestinationDetailsCard", "RefundDestinationDetailsEuBankTransfer", "RefundDestinationDetailsMbWay", "RefundDestinationDetailsUsBankTransfer", "RefundDestinationDetailsP24", "RefundDestinationDetailsJpBankTransfer", "RefundDestinationDetailsBrBankTransfer", "RefundDestinationDetailsMultibanco", "RefundDestinationDetails", "Refund", "RefundList", "RefundCreateParams", "ProductPackageDimensions", "ProductMarketingFeaturesItem", "ProductFeaturesItem", "Product", "ProductList", "ProductSearchResult", "ProductCreateParamsPackageDimensions", "ProductCreateParamsMarketingFeaturesItem", "ProductCreateParams", "ProductUpdateParamsMarketingFeaturesItem", "ProductUpdateParamsPackageDimensions", "ProductUpdateParams", "ProductDeletedResponse", "BalanceAvailableItemSourceTypes", "BalanceAvailableItem", "BalanceInstantAvailableItemNetAvailableItemSourceTypes", "BalanceInstantAvailableItemNetAvailableItem", "BalanceInstantAvailableItemSourceTypes", "BalanceInstantAvailableItem", "BalanceIssuingAvailableItemSourceTypes", "BalanceIssuingAvailableItem", "BalanceIssuing", "BalanceRefundAndDisputePrefundingAvailableItemSourceTypes", "BalanceRefundAndDisputePrefundingAvailableItem", "BalanceRefundAndDisputePrefundingPendingItemSourceTypes", "BalanceRefundAndDisputePrefundingPendingItem", "BalanceRefundAndDisputePrefunding", "BalanceConnectReservedItemSourceTypes", "BalanceConnectReservedItem", "BalancePendingItemSourceTypes", "BalancePendingItem", "Balance", "BalanceTransactionFeeDetailsItem", "BalanceTransaction", "BalanceTransactionList", "PaymentIntent", "PaymentIntentList", "PaymentIntentSearchResult", "DisputeEvidenceDetails", "Dispute", "DisputeList", "PayoutTraceId", "Payout", "PayoutList", "CustomerSearchResult", "InvoiceSearchResult", "ChargeSearchResult", "SubscriptionSearchResult", "CustomersListResultMeta", "CustomersApiSearchResultMeta", "InvoicesListResultMeta", "ChargesListResultMeta", "SubscriptionsListResultMeta", "RefundsListResultMeta", "ProductsListResultMeta", "ProductsApiSearchResultMeta", "BalanceTransactionsListResultMeta", "PaymentIntentsListResultMeta", "PaymentIntentsApiSearchResultMeta", "DisputesListResultMeta", "PayoutsListResultMeta", "StripeExecuteResult", "StripeExecuteResultWithMeta", "CustomersListResult", "CustomersApiSearchResult", "InvoicesListResult", "ChargesListResult", "SubscriptionsListResult", "RefundsListResult", "ProductsListResult", "ProductsApiSearchResult", "BalanceTransactionsListResult", "PaymentIntentsListResult", "PaymentIntentsApiSearchResult", "DisputesListResult", "PayoutsListResult", "CustomersListParamsCreated", "InvoicesListParamsCreated", "ChargesListParamsCreated", "SubscriptionsListParamsAutomaticTax", "SubscriptionsListParamsCreated", "SubscriptionsListParamsCurrentPeriodEnd", "SubscriptionsListParamsCurrentPeriodStart", "RefundsListParamsCreated", "ProductsListParamsCreated", "BalanceTransactionsListParamsCreated", "PaymentIntentsListParamsCreated", "DisputesListParamsCreated", "PayoutsListParamsArrivalDate", "PayoutsListParamsCreated", "CustomersListParams", "CustomersCreateParams", "CustomersGetParams", "CustomersUpdateParams", "CustomersDeleteParams", "CustomersApiSearchParams", "InvoicesListParams", "InvoicesGetParams", "InvoicesApiSearchParams", "ChargesListParams", "ChargesGetParams", "ChargesApiSearchParams", "SubscriptionsListParams", "SubscriptionsGetParams", "SubscriptionsApiSearchParams", "RefundsListParams", "RefundsCreateParams", "RefundsGetParams", "ProductsListParams", "ProductsCreateParams", "ProductsGetParams", "ProductsUpdateParams", "ProductsDeleteParams", "ProductsApiSearchParams", "BalanceGetParams", "BalanceTransactionsListParams", "BalanceTransactionsGetParams", "PaymentIntentsListParams", "PaymentIntentsGetParams", "PaymentIntentsApiSearchParams", "DisputesListParams", "DisputesGetParams", "PayoutsListParams", "PayoutsGetParams"]
|
|
@@ -1129,7 +1129,7 @@ class LocalExecutor:
|
|
|
1129
1129
|
if not action:
|
|
1130
1130
|
return response_data
|
|
1131
1131
|
|
|
1132
|
-
is_array_action = action in (Action.LIST, Action.
|
|
1132
|
+
is_array_action = action in (Action.LIST, Action.API_SEARCH)
|
|
1133
1133
|
|
|
1134
1134
|
try:
|
|
1135
1135
|
# Parse and apply JSONPath expression
|
|
@@ -1259,7 +1259,7 @@ class LocalExecutor:
|
|
|
1259
1259
|
|
|
1260
1260
|
|
|
1261
1261
|
class _StandardOperationHandler:
|
|
1262
|
-
"""Handler for standard REST operations (GET, LIST, CREATE, UPDATE, DELETE,
|
|
1262
|
+
"""Handler for standard REST operations (GET, LIST, CREATE, UPDATE, DELETE, API_SEARCH, AUTHORIZE)."""
|
|
1263
1263
|
|
|
1264
1264
|
def __init__(self, context: _OperationContext):
|
|
1265
1265
|
self.ctx = context
|
|
@@ -1272,7 +1272,7 @@ class _StandardOperationHandler:
|
|
|
1272
1272
|
Action.CREATE,
|
|
1273
1273
|
Action.UPDATE,
|
|
1274
1274
|
Action.DELETE,
|
|
1275
|
-
Action.
|
|
1275
|
+
Action.API_SEARCH,
|
|
1276
1276
|
Action.AUTHORIZE,
|
|
1277
1277
|
}
|
|
1278
1278
|
|
|
@@ -527,8 +527,8 @@ class ActionType(str, Enum):
|
|
|
527
527
|
DELETE = "delete"
|
|
528
528
|
"""Delete a record"""
|
|
529
529
|
|
|
530
|
-
|
|
531
|
-
"""Search for records matching specific query criteria"""
|
|
530
|
+
API_SEARCH = "api_search"
|
|
531
|
+
"""Search for records matching specific query criteria via API"""
|
|
532
532
|
|
|
533
533
|
DOWNLOAD = "download"
|
|
534
534
|
"""Download file content from a URL specified in the metadata response"""
|
|
@@ -546,7 +546,7 @@ class BodyType(str, Enum):
|
|
|
546
546
|
|
|
547
547
|
|
|
548
548
|
# Type alias for use in Pydantic models
|
|
549
|
-
ActionTypeLiteral = Literal["get", "list", "create", "update", "delete", "
|
|
549
|
+
ActionTypeLiteral = Literal["get", "list", "create", "update", "delete", "api_search", "download"]
|
|
550
550
|
|
|
551
551
|
|
|
552
552
|
# =============================================================================
|
|
@@ -232,7 +232,7 @@ def generate_tool_description(model: ConnectorModelProtocol) -> str:
|
|
|
232
232
|
# Response structure (brief, includes pagination hint)
|
|
233
233
|
lines.append("")
|
|
234
234
|
lines.append("RESPONSE STRUCTURE:")
|
|
235
|
-
lines.append(" - list/
|
|
235
|
+
lines.append(" - list/api_search: {data: [...], meta: {has_more: bool}}")
|
|
236
236
|
lines.append(" - get: Returns entity directly (no envelope)")
|
|
237
237
|
lines.append(" To paginate: pass starting_after=<last_id> while has_more is true")
|
|
238
238
|
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"""Unified configuration for connector-sdk."""
|
|
2
|
+
|
|
3
|
+
import logging
|
|
4
|
+
import os
|
|
5
|
+
import tempfile
|
|
6
|
+
import uuid
|
|
7
|
+
from dataclasses import dataclass, field
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
from typing import Any, Optional
|
|
10
|
+
|
|
11
|
+
import yaml
|
|
12
|
+
|
|
13
|
+
logger = logging.getLogger(__name__)
|
|
14
|
+
|
|
15
|
+
# New config location
|
|
16
|
+
CONFIG_DIR = Path.home() / ".airbyte" / "connector-sdk"
|
|
17
|
+
CONFIG_PATH = CONFIG_DIR / "config.yaml"
|
|
18
|
+
|
|
19
|
+
# Legacy file locations (for migration)
|
|
20
|
+
LEGACY_USER_ID_PATH = Path.home() / ".airbyte" / "ai_sdk_user_id"
|
|
21
|
+
LEGACY_INTERNAL_MARKER_PATH = Path.home() / ".airbyte" / "internal_user"
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
@dataclass
|
|
25
|
+
class SDKConfig:
|
|
26
|
+
"""Connector SDK configuration."""
|
|
27
|
+
|
|
28
|
+
user_id: str = field(default_factory=lambda: str(uuid.uuid4()))
|
|
29
|
+
is_internal_user: bool = False
|
|
30
|
+
|
|
31
|
+
def to_dict(self) -> dict[str, Any]:
|
|
32
|
+
"""Convert to dictionary for YAML serialization."""
|
|
33
|
+
return {
|
|
34
|
+
"user_id": self.user_id,
|
|
35
|
+
"is_internal_user": self.is_internal_user,
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def _delete_legacy_files() -> None:
|
|
40
|
+
"""
|
|
41
|
+
Delete legacy config files after successful migration.
|
|
42
|
+
|
|
43
|
+
Removes:
|
|
44
|
+
- ~/.airbyte/ai_sdk_user_id
|
|
45
|
+
- ~/.airbyte/internal_user
|
|
46
|
+
"""
|
|
47
|
+
for legacy_path in [LEGACY_USER_ID_PATH, LEGACY_INTERNAL_MARKER_PATH]:
|
|
48
|
+
try:
|
|
49
|
+
if legacy_path.exists():
|
|
50
|
+
legacy_path.unlink()
|
|
51
|
+
logger.debug(f"Deleted legacy config file: {legacy_path}")
|
|
52
|
+
except Exception as e:
|
|
53
|
+
logger.debug(f"Could not delete legacy file {legacy_path}: {e}")
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def _migrate_legacy_config() -> Optional[SDKConfig]:
|
|
57
|
+
"""
|
|
58
|
+
Migrate from legacy file-based config to new YAML format.
|
|
59
|
+
|
|
60
|
+
Reads from:
|
|
61
|
+
- ~/.airbyte/ai_sdk_user_id (user_id)
|
|
62
|
+
- ~/.airbyte/internal_user (is_internal_user marker)
|
|
63
|
+
|
|
64
|
+
Returns SDKConfig if migration was successful, None otherwise.
|
|
65
|
+
"""
|
|
66
|
+
user_id = None
|
|
67
|
+
is_internal = False
|
|
68
|
+
|
|
69
|
+
# Try to read legacy user_id
|
|
70
|
+
try:
|
|
71
|
+
if LEGACY_USER_ID_PATH.exists():
|
|
72
|
+
user_id = LEGACY_USER_ID_PATH.read_text().strip()
|
|
73
|
+
if not user_id:
|
|
74
|
+
user_id = None
|
|
75
|
+
except Exception:
|
|
76
|
+
pass
|
|
77
|
+
|
|
78
|
+
# Check legacy internal_user marker
|
|
79
|
+
try:
|
|
80
|
+
is_internal = LEGACY_INTERNAL_MARKER_PATH.exists()
|
|
81
|
+
except Exception:
|
|
82
|
+
pass
|
|
83
|
+
|
|
84
|
+
if user_id or is_internal:
|
|
85
|
+
return SDKConfig(
|
|
86
|
+
user_id=user_id or str(uuid.uuid4()),
|
|
87
|
+
is_internal_user=is_internal,
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
return None
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
def load_config() -> SDKConfig:
|
|
94
|
+
"""
|
|
95
|
+
Load SDK configuration from config file.
|
|
96
|
+
|
|
97
|
+
Checks (in order):
|
|
98
|
+
1. New config file at ~/.airbyte/connector-sdk/config.yaml
|
|
99
|
+
2. Legacy files at ~/.airbyte/ai_sdk_user_id and ~/.airbyte/internal_user
|
|
100
|
+
3. Creates new config with generated user_id if nothing exists
|
|
101
|
+
|
|
102
|
+
Environment variable AIRBYTE_INTERNAL_USER can override is_internal_user.
|
|
103
|
+
|
|
104
|
+
Returns:
|
|
105
|
+
SDKConfig with user_id and is_internal_user
|
|
106
|
+
"""
|
|
107
|
+
config = None
|
|
108
|
+
|
|
109
|
+
# Try to load from new config file
|
|
110
|
+
try:
|
|
111
|
+
if CONFIG_PATH.exists():
|
|
112
|
+
content = CONFIG_PATH.read_text()
|
|
113
|
+
data = yaml.safe_load(content) or {}
|
|
114
|
+
config = SDKConfig(
|
|
115
|
+
user_id=data.get("user_id", str(uuid.uuid4())),
|
|
116
|
+
is_internal_user=data.get("is_internal_user", False),
|
|
117
|
+
)
|
|
118
|
+
# Always clean up legacy files if they exist (even if new config exists)
|
|
119
|
+
_delete_legacy_files()
|
|
120
|
+
except Exception as e:
|
|
121
|
+
logger.debug(f"Could not load config from {CONFIG_PATH}: {e}")
|
|
122
|
+
|
|
123
|
+
# Try to migrate from legacy files if new config doesn't exist
|
|
124
|
+
if config is None:
|
|
125
|
+
config = _migrate_legacy_config()
|
|
126
|
+
if config:
|
|
127
|
+
# Save migrated config to new location
|
|
128
|
+
try:
|
|
129
|
+
save_config(config)
|
|
130
|
+
logger.debug("Migrated legacy config to new location")
|
|
131
|
+
# Delete legacy files after successful migration
|
|
132
|
+
_delete_legacy_files()
|
|
133
|
+
except Exception as e:
|
|
134
|
+
logger.debug(f"Could not save migrated config: {e}")
|
|
135
|
+
|
|
136
|
+
# Create new config if nothing exists
|
|
137
|
+
if config is None:
|
|
138
|
+
config = SDKConfig()
|
|
139
|
+
try:
|
|
140
|
+
save_config(config)
|
|
141
|
+
except Exception as e:
|
|
142
|
+
logger.debug(f"Could not save new config: {e}")
|
|
143
|
+
|
|
144
|
+
# Environment variable override for is_internal_user
|
|
145
|
+
env_value = os.getenv("AIRBYTE_INTERNAL_USER", "").lower()
|
|
146
|
+
if env_value in ("true", "1", "yes"):
|
|
147
|
+
config.is_internal_user = True
|
|
148
|
+
elif env_value:
|
|
149
|
+
# Any other non-empty value (including "false", "0", "no") defaults to False
|
|
150
|
+
config.is_internal_user = False
|
|
151
|
+
|
|
152
|
+
return config
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
def save_config(config: SDKConfig) -> None:
|
|
156
|
+
"""
|
|
157
|
+
Save SDK configuration to config file.
|
|
158
|
+
|
|
159
|
+
Creates the config directory if it doesn't exist.
|
|
160
|
+
Uses atomic writes to prevent corruption from concurrent access.
|
|
161
|
+
|
|
162
|
+
Args:
|
|
163
|
+
config: SDKConfig to save
|
|
164
|
+
"""
|
|
165
|
+
CONFIG_DIR.mkdir(parents=True, exist_ok=True)
|
|
166
|
+
|
|
167
|
+
# Use atomic write: write to temp file then rename (atomic on POSIX)
|
|
168
|
+
fd, temp_path = tempfile.mkstemp(dir=CONFIG_DIR, suffix=".tmp")
|
|
169
|
+
try:
|
|
170
|
+
with os.fdopen(fd, "w") as f:
|
|
171
|
+
yaml.dump(config.to_dict(), f, default_flow_style=False)
|
|
172
|
+
os.rename(temp_path, CONFIG_PATH)
|
|
173
|
+
except Exception:
|
|
174
|
+
# Clean up temp file on failure
|
|
175
|
+
try:
|
|
176
|
+
os.unlink(temp_path)
|
|
177
|
+
except OSError:
|
|
178
|
+
pass
|
|
179
|
+
raise
|