airbyte-agent-hubspot 0.15.30__tar.gz → 0.15.46__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_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/CHANGELOG.md +80 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/PKG-INFO +17 -18
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/README.md +7 -7
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/REFERENCE.md +16 -16
- airbyte_agent_hubspot-0.15.46/airbyte_agent_hubspot/__init__.py +161 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/auth_strategies.py +2 -5
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/auth_template.py +1 -1
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/cloud_utils/client.py +26 -26
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/connector_model_loader.py +14 -6
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/constants.py +1 -1
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/executor/hosted_executor.py +10 -11
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/executor/local_executor.py +134 -17
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/extensions.py +43 -5
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/http/response.py +2 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/introspection.py +1 -1
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/logging/logger.py +9 -9
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/logging/types.py +10 -10
- airbyte_agent_hubspot-0.15.46/airbyte_agent_hubspot/_vendored/connector_sdk/observability/config.py +179 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/observability/models.py +6 -6
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/observability/session.py +41 -32
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/performance/metrics.py +3 -3
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/schema/base.py +21 -18
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/schema/components.py +59 -58
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/schema/connector.py +22 -33
- airbyte_agent_hubspot-0.15.46/airbyte_agent_hubspot/_vendored/connector_sdk/schema/extensions.py +230 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/schema/operations.py +32 -32
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/schema/security.py +44 -34
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/secrets.py +2 -2
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/telemetry/events.py +9 -8
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/telemetry/tracker.py +9 -5
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/types.py +7 -3
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/connector.py +97 -86
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/connector_model.py +19 -13
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/models.py +39 -38
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/types.py +46 -45
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/pyproject.toml +11 -12
- airbyte_agent_hubspot-0.15.30/airbyte_agent_hubspot/__init__.py +0 -86
- airbyte_agent_hubspot-0.15.30/airbyte_agent_hubspot/_vendored/connector_sdk/schema/extensions.py +0 -109
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/.gitignore +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/__init__.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/__init__.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/cloud_utils/__init__.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/exceptions.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/executor/__init__.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/executor/models.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/http/__init__.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/http/adapters/__init__.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/http/adapters/httpx_adapter.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/http/config.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/http/exceptions.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/http/protocols.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/http_client.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/logging/__init__.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/observability/__init__.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/observability/redactor.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/performance/__init__.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/performance/instrumentation.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/schema/__init__.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/telemetry/__init__.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/telemetry/config.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/utils.py +0 -0
- {airbyte_agent_hubspot-0.15.30 → airbyte_agent_hubspot-0.15.46}/airbyte_agent_hubspot/_vendored/connector_sdk/validation.py +0 -0
|
@@ -1,5 +1,85 @@
|
|
|
1
1
|
# Hubspot changelog
|
|
2
2
|
|
|
3
|
+
## [0.15.46] - 2026-01-15
|
|
4
|
+
- Updated connector definition (YAML version 0.1.4)
|
|
5
|
+
- Source commit: fa9a3b02
|
|
6
|
+
- SDK version: 0.1.0
|
|
7
|
+
|
|
8
|
+
## [0.15.45] - 2026-01-15
|
|
9
|
+
- Updated connector definition (YAML version 0.1.4)
|
|
10
|
+
- Source commit: 61a2e822
|
|
11
|
+
- SDK version: 0.1.0
|
|
12
|
+
|
|
13
|
+
## [0.15.44] - 2026-01-15
|
|
14
|
+
- Updated connector definition (YAML version 0.1.4)
|
|
15
|
+
- Source commit: 236c9a8a
|
|
16
|
+
- SDK version: 0.1.0
|
|
17
|
+
|
|
18
|
+
## [0.15.43] - 2026-01-15
|
|
19
|
+
- Updated connector definition (YAML version 0.1.3)
|
|
20
|
+
- Source commit: 35211193
|
|
21
|
+
- SDK version: 0.1.0
|
|
22
|
+
|
|
23
|
+
## [0.15.42] - 2026-01-15
|
|
24
|
+
- Updated connector definition (YAML version 0.1.3)
|
|
25
|
+
- Source commit: 20b3afd9
|
|
26
|
+
- SDK version: 0.1.0
|
|
27
|
+
|
|
28
|
+
## [0.15.41] - 2026-01-15
|
|
29
|
+
- Updated connector definition (YAML version 0.1.3)
|
|
30
|
+
- Source commit: b7138b41
|
|
31
|
+
- SDK version: 0.1.0
|
|
32
|
+
|
|
33
|
+
## [0.15.40] - 2026-01-15
|
|
34
|
+
- Updated connector definition (YAML version 0.1.3)
|
|
35
|
+
- Source commit: 10173eb1
|
|
36
|
+
- SDK version: 0.1.0
|
|
37
|
+
|
|
38
|
+
## [0.15.39] - 2026-01-15
|
|
39
|
+
- Updated connector definition (YAML version 0.1.3)
|
|
40
|
+
- Source commit: a23d9e7a
|
|
41
|
+
- SDK version: 0.1.0
|
|
42
|
+
|
|
43
|
+
## [0.15.38] - 2026-01-14
|
|
44
|
+
- Updated connector definition (YAML version 0.1.3)
|
|
45
|
+
- Source commit: 7ef09816
|
|
46
|
+
- SDK version: 0.1.0
|
|
47
|
+
|
|
48
|
+
## [0.15.37] - 2026-01-14
|
|
49
|
+
- Updated connector definition (YAML version 0.1.3)
|
|
50
|
+
- Source commit: e6285db5
|
|
51
|
+
- SDK version: 0.1.0
|
|
52
|
+
|
|
53
|
+
## [0.15.36] - 2026-01-14
|
|
54
|
+
- Updated connector definition (YAML version 0.1.3)
|
|
55
|
+
- Source commit: 31de238d
|
|
56
|
+
- SDK version: 0.1.0
|
|
57
|
+
|
|
58
|
+
## [0.15.35] - 2026-01-13
|
|
59
|
+
- Updated connector definition (YAML version 0.1.3)
|
|
60
|
+
- Source commit: e80a226e
|
|
61
|
+
- SDK version: 0.1.0
|
|
62
|
+
|
|
63
|
+
## [0.15.34] - 2026-01-13
|
|
64
|
+
- Updated connector definition (YAML version 0.1.3)
|
|
65
|
+
- Source commit: 78b1be67
|
|
66
|
+
- SDK version: 0.1.0
|
|
67
|
+
|
|
68
|
+
## [0.15.33] - 2026-01-11
|
|
69
|
+
- Updated connector definition (YAML version 0.1.3)
|
|
70
|
+
- Source commit: e519b73d
|
|
71
|
+
- SDK version: 0.1.0
|
|
72
|
+
|
|
73
|
+
## [0.15.32] - 2026-01-09
|
|
74
|
+
- Updated connector definition (YAML version 0.1.3)
|
|
75
|
+
- Source commit: 3c7bfdfd
|
|
76
|
+
- SDK version: 0.1.0
|
|
77
|
+
|
|
78
|
+
## [0.15.31] - 2026-01-09
|
|
79
|
+
- Updated connector definition (YAML version 0.1.3)
|
|
80
|
+
- Source commit: 3bcb33e8
|
|
81
|
+
- SDK version: 0.1.0
|
|
82
|
+
|
|
3
83
|
## [0.15.30] - 2026-01-09
|
|
4
84
|
- Updated connector definition (YAML version 0.1.3)
|
|
5
85
|
- Source commit: da9b741b
|
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: airbyte-agent-hubspot
|
|
3
|
-
Version: 0.15.
|
|
3
|
+
Version: 0.15.46
|
|
4
4
|
Summary: Airbyte Hubspot Connector for AI platforms
|
|
5
|
-
Project-URL: Homepage, https://github.com/airbytehq/airbyte-
|
|
6
|
-
Project-URL: Documentation, https://
|
|
7
|
-
Project-URL: Repository, https://github.com/airbytehq/airbyte-
|
|
8
|
-
Project-URL: Issues, https://github.com/airbytehq/airbyte-
|
|
5
|
+
Project-URL: Homepage, https://github.com/airbytehq/airbyte-agent-connectors
|
|
6
|
+
Project-URL: Documentation, https://docs.airbyte.com/ai-agents/
|
|
7
|
+
Project-URL: Repository, https://github.com/airbytehq/airbyte-agent-connectors
|
|
8
|
+
Project-URL: Issues, https://github.com/airbytehq/airbyte-agent-connectors/issues
|
|
9
9
|
Author-email: Airbyte <contact@airbyte.io>
|
|
10
10
|
License: Elastic-2.0
|
|
11
|
-
Keywords: airbyte,api,connector,hubspot
|
|
11
|
+
Keywords: agent,ai,airbyte,api,connector,data-integration,hubspot,llm,mcp
|
|
12
12
|
Classifier: Development Status :: 3 - Alpha
|
|
13
13
|
Classifier: Intended Audience :: Developers
|
|
14
14
|
Classifier: License :: Other/Proprietary License
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
15
16
|
Classifier: Programming Language :: Python :: 3
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
20
17
|
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
21
19
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
|
-
|
|
20
|
+
Classifier: Typing :: Typed
|
|
21
|
+
Requires-Python: >=3.13
|
|
23
22
|
Requires-Dist: httpx>=0.24.0
|
|
24
23
|
Requires-Dist: jinja2>=3.0.0
|
|
25
24
|
Requires-Dist: jsonpath-ng>=1.6.1
|
|
@@ -91,10 +90,10 @@ This connector supports the following entities and actions.
|
|
|
91
90
|
|
|
92
91
|
| Entity | Actions |
|
|
93
92
|
|--------|---------|
|
|
94
|
-
| Contacts | [List](./REFERENCE.md#contacts-list), [Get](./REFERENCE.md#contacts-get), [
|
|
95
|
-
| Companies | [List](./REFERENCE.md#companies-list), [Get](./REFERENCE.md#companies-get), [
|
|
96
|
-
| Deals | [List](./REFERENCE.md#deals-list), [Get](./REFERENCE.md#deals-get), [
|
|
97
|
-
| Tickets | [List](./REFERENCE.md#tickets-list), [Get](./REFERENCE.md#tickets-get), [
|
|
93
|
+
| Contacts | [List](./REFERENCE.md#contacts-list), [Get](./REFERENCE.md#contacts-get), [Api_search](./REFERENCE.md#contacts-api_search) |
|
|
94
|
+
| Companies | [List](./REFERENCE.md#companies-list), [Get](./REFERENCE.md#companies-get), [Api_search](./REFERENCE.md#companies-api_search) |
|
|
95
|
+
| Deals | [List](./REFERENCE.md#deals-list), [Get](./REFERENCE.md#deals-get), [Api_search](./REFERENCE.md#deals-api_search) |
|
|
96
|
+
| Tickets | [List](./REFERENCE.md#tickets-list), [Get](./REFERENCE.md#tickets-get), [Api_search](./REFERENCE.md#tickets-api_search) |
|
|
98
97
|
| Schemas | [List](./REFERENCE.md#schemas-list), [Get](./REFERENCE.md#schemas-get) |
|
|
99
98
|
| Objects | [List](./REFERENCE.md#objects-list), [Get](./REFERENCE.md#objects-get) |
|
|
100
99
|
|
|
@@ -105,6 +104,6 @@ For the service's official API docs, see the [Hubspot API reference](https://dev
|
|
|
105
104
|
|
|
106
105
|
## Version information
|
|
107
106
|
|
|
108
|
-
- **Package version:** 0.15.
|
|
109
|
-
- **Connector version:** 0.1.
|
|
110
|
-
- **Generated with Connector SDK commit SHA:**
|
|
107
|
+
- **Package version:** 0.15.46
|
|
108
|
+
- **Connector version:** 0.1.4
|
|
109
|
+
- **Generated with Connector SDK commit SHA:** fa9a3b02522ddc7458721472049976e295a0bd78
|
|
@@ -57,10 +57,10 @@ This connector supports the following entities and actions.
|
|
|
57
57
|
|
|
58
58
|
| Entity | Actions |
|
|
59
59
|
|--------|---------|
|
|
60
|
-
| Contacts | [List](./REFERENCE.md#contacts-list), [Get](./REFERENCE.md#contacts-get), [
|
|
61
|
-
| Companies | [List](./REFERENCE.md#companies-list), [Get](./REFERENCE.md#companies-get), [
|
|
62
|
-
| Deals | [List](./REFERENCE.md#deals-list), [Get](./REFERENCE.md#deals-get), [
|
|
63
|
-
| Tickets | [List](./REFERENCE.md#tickets-list), [Get](./REFERENCE.md#tickets-get), [
|
|
60
|
+
| Contacts | [List](./REFERENCE.md#contacts-list), [Get](./REFERENCE.md#contacts-get), [Api_search](./REFERENCE.md#contacts-api_search) |
|
|
61
|
+
| Companies | [List](./REFERENCE.md#companies-list), [Get](./REFERENCE.md#companies-get), [Api_search](./REFERENCE.md#companies-api_search) |
|
|
62
|
+
| Deals | [List](./REFERENCE.md#deals-list), [Get](./REFERENCE.md#deals-get), [Api_search](./REFERENCE.md#deals-api_search) |
|
|
63
|
+
| Tickets | [List](./REFERENCE.md#tickets-list), [Get](./REFERENCE.md#tickets-get), [Api_search](./REFERENCE.md#tickets-api_search) |
|
|
64
64
|
| Schemas | [List](./REFERENCE.md#schemas-list), [Get](./REFERENCE.md#schemas-get) |
|
|
65
65
|
| Objects | [List](./REFERENCE.md#objects-list), [Get](./REFERENCE.md#objects-get) |
|
|
66
66
|
|
|
@@ -71,6 +71,6 @@ For the service's official API docs, see the [Hubspot API reference](https://dev
|
|
|
71
71
|
|
|
72
72
|
## Version information
|
|
73
73
|
|
|
74
|
-
- **Package version:** 0.15.
|
|
75
|
-
- **Connector version:** 0.1.
|
|
76
|
-
- **Generated with Connector SDK commit SHA:**
|
|
74
|
+
- **Package version:** 0.15.46
|
|
75
|
+
- **Connector version:** 0.1.4
|
|
76
|
+
- **Generated with Connector SDK commit SHA:** fa9a3b02522ddc7458721472049976e295a0bd78
|
|
@@ -8,10 +8,10 @@ The Hubspot connector supports the following entities and actions.
|
|
|
8
8
|
|
|
9
9
|
| Entity | Actions |
|
|
10
10
|
|--------|---------|
|
|
11
|
-
| Contacts | [List](#contacts-list), [Get](#contacts-get), [
|
|
12
|
-
| Companies | [List](#companies-list), [Get](#companies-get), [
|
|
13
|
-
| Deals | [List](#deals-list), [Get](#deals-get), [
|
|
14
|
-
| Tickets | [List](#tickets-list), [Get](#tickets-get), [
|
|
11
|
+
| Contacts | [List](#contacts-list), [Get](#contacts-get), [Api_search](#contacts-api_search) |
|
|
12
|
+
| Companies | [List](#companies-list), [Get](#companies-get), [Api_search](#companies-api_search) |
|
|
13
|
+
| Deals | [List](#deals-list), [Get](#deals-get), [Api_search](#deals-api_search) |
|
|
14
|
+
| Tickets | [List](#tickets-list), [Get](#tickets-get), [Api_search](#tickets-api_search) |
|
|
15
15
|
| Schemas | [List](#schemas-list), [Get](#schemas-get) |
|
|
16
16
|
| Objects | [List](#objects-list), [Get](#objects-get) |
|
|
17
17
|
|
|
@@ -141,14 +141,14 @@ curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connec
|
|
|
141
141
|
|
|
142
142
|
</details>
|
|
143
143
|
|
|
144
|
-
#### Contacts
|
|
144
|
+
#### Contacts Api_search
|
|
145
145
|
|
|
146
146
|
Search for contacts by filtering on properties, searching through associations, and sorting results.
|
|
147
147
|
|
|
148
148
|
**Python SDK**
|
|
149
149
|
|
|
150
150
|
```python
|
|
151
|
-
await hubspot.contacts.
|
|
151
|
+
await hubspot.contacts.api_search()
|
|
152
152
|
```
|
|
153
153
|
|
|
154
154
|
**API**
|
|
@@ -159,7 +159,7 @@ curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connec
|
|
|
159
159
|
--header 'Authorization: Bearer {your_auth_token}' \
|
|
160
160
|
--data '{
|
|
161
161
|
"entity": "contacts",
|
|
162
|
-
"action": "
|
|
162
|
+
"action": "api_search"
|
|
163
163
|
}'
|
|
164
164
|
```
|
|
165
165
|
|
|
@@ -338,14 +338,14 @@ curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connec
|
|
|
338
338
|
|
|
339
339
|
</details>
|
|
340
340
|
|
|
341
|
-
#### Companies
|
|
341
|
+
#### Companies Api_search
|
|
342
342
|
|
|
343
343
|
Search for companies by filtering on properties, searching through associations, and sorting results.
|
|
344
344
|
|
|
345
345
|
**Python SDK**
|
|
346
346
|
|
|
347
347
|
```python
|
|
348
|
-
await hubspot.companies.
|
|
348
|
+
await hubspot.companies.api_search()
|
|
349
349
|
```
|
|
350
350
|
|
|
351
351
|
**API**
|
|
@@ -356,7 +356,7 @@ curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connec
|
|
|
356
356
|
--header 'Authorization: Bearer {your_auth_token}' \
|
|
357
357
|
--data '{
|
|
358
358
|
"entity": "companies",
|
|
359
|
-
"action": "
|
|
359
|
+
"action": "api_search"
|
|
360
360
|
}'
|
|
361
361
|
```
|
|
362
362
|
|
|
@@ -535,14 +535,14 @@ curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connec
|
|
|
535
535
|
|
|
536
536
|
</details>
|
|
537
537
|
|
|
538
|
-
#### Deals
|
|
538
|
+
#### Deals Api_search
|
|
539
539
|
|
|
540
540
|
Search deals with filters and sorting
|
|
541
541
|
|
|
542
542
|
**Python SDK**
|
|
543
543
|
|
|
544
544
|
```python
|
|
545
|
-
await hubspot.deals.
|
|
545
|
+
await hubspot.deals.api_search()
|
|
546
546
|
```
|
|
547
547
|
|
|
548
548
|
**API**
|
|
@@ -553,7 +553,7 @@ curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connec
|
|
|
553
553
|
--header 'Authorization: Bearer {your_auth_token}' \
|
|
554
554
|
--data '{
|
|
555
555
|
"entity": "deals",
|
|
556
|
-
"action": "
|
|
556
|
+
"action": "api_search"
|
|
557
557
|
}'
|
|
558
558
|
```
|
|
559
559
|
|
|
@@ -732,14 +732,14 @@ curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connec
|
|
|
732
732
|
|
|
733
733
|
</details>
|
|
734
734
|
|
|
735
|
-
#### Tickets
|
|
735
|
+
#### Tickets Api_search
|
|
736
736
|
|
|
737
737
|
Search for tickets by filtering on properties, searching through associations, and sorting results.
|
|
738
738
|
|
|
739
739
|
**Python SDK**
|
|
740
740
|
|
|
741
741
|
```python
|
|
742
|
-
await hubspot.tickets.
|
|
742
|
+
await hubspot.tickets.api_search()
|
|
743
743
|
```
|
|
744
744
|
|
|
745
745
|
**API**
|
|
@@ -750,7 +750,7 @@ curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connec
|
|
|
750
750
|
--header 'Authorization: Bearer {your_auth_token}' \
|
|
751
751
|
--data '{
|
|
752
752
|
"entity": "tickets",
|
|
753
|
-
"action": "
|
|
753
|
+
"action": "api_search"
|
|
754
754
|
}'
|
|
755
755
|
```
|
|
756
756
|
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Blessed Hubspot connector for Airbyte SDK.
|
|
3
|
+
|
|
4
|
+
Auto-generated from OpenAPI specification.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from .connector import HubspotConnector
|
|
8
|
+
from .models import (
|
|
9
|
+
HubspotAuthConfig,
|
|
10
|
+
ContactProperties,
|
|
11
|
+
Contact,
|
|
12
|
+
PagingNext,
|
|
13
|
+
Paging,
|
|
14
|
+
ContactsList,
|
|
15
|
+
CompanyProperties,
|
|
16
|
+
Company,
|
|
17
|
+
CompaniesList,
|
|
18
|
+
DealProperties,
|
|
19
|
+
Deal,
|
|
20
|
+
DealsList,
|
|
21
|
+
TicketProperties,
|
|
22
|
+
Ticket,
|
|
23
|
+
TicketsList,
|
|
24
|
+
SchemaAssociationsItem,
|
|
25
|
+
SchemaLabels,
|
|
26
|
+
SchemaPropertiesItemModificationmetadata,
|
|
27
|
+
SchemaPropertiesItem,
|
|
28
|
+
Schema,
|
|
29
|
+
SchemasList,
|
|
30
|
+
CRMObjectProperties,
|
|
31
|
+
CRMObject,
|
|
32
|
+
ObjectsList,
|
|
33
|
+
ContactsListResultMeta,
|
|
34
|
+
ContactsApiSearchResultMeta,
|
|
35
|
+
CompaniesListResultMeta,
|
|
36
|
+
CompaniesApiSearchResultMeta,
|
|
37
|
+
DealsListResultMeta,
|
|
38
|
+
DealsApiSearchResultMeta,
|
|
39
|
+
TicketsListResultMeta,
|
|
40
|
+
TicketsApiSearchResultMeta,
|
|
41
|
+
ObjectsListResultMeta,
|
|
42
|
+
HubspotExecuteResult,
|
|
43
|
+
HubspotExecuteResultWithMeta,
|
|
44
|
+
ContactsListResult,
|
|
45
|
+
ContactsApiSearchResult,
|
|
46
|
+
CompaniesListResult,
|
|
47
|
+
CompaniesApiSearchResult,
|
|
48
|
+
DealsListResult,
|
|
49
|
+
DealsApiSearchResult,
|
|
50
|
+
TicketsListResult,
|
|
51
|
+
TicketsApiSearchResult,
|
|
52
|
+
SchemasListResult,
|
|
53
|
+
ObjectsListResult
|
|
54
|
+
)
|
|
55
|
+
from .types import (
|
|
56
|
+
ContactsApiSearchParamsFiltergroupsItemFiltersItem,
|
|
57
|
+
ContactsApiSearchParamsFiltergroupsItem,
|
|
58
|
+
ContactsApiSearchParamsSortsItem,
|
|
59
|
+
CompaniesApiSearchParamsFiltergroupsItemFiltersItem,
|
|
60
|
+
CompaniesApiSearchParamsFiltergroupsItem,
|
|
61
|
+
CompaniesApiSearchParamsSortsItem,
|
|
62
|
+
DealsApiSearchParamsFiltergroupsItemFiltersItem,
|
|
63
|
+
DealsApiSearchParamsFiltergroupsItem,
|
|
64
|
+
DealsApiSearchParamsSortsItem,
|
|
65
|
+
TicketsApiSearchParamsFiltergroupsItemFiltersItem,
|
|
66
|
+
TicketsApiSearchParamsFiltergroupsItem,
|
|
67
|
+
TicketsApiSearchParamsSortsItem,
|
|
68
|
+
ContactsListParams,
|
|
69
|
+
ContactsGetParams,
|
|
70
|
+
ContactsApiSearchParams,
|
|
71
|
+
CompaniesListParams,
|
|
72
|
+
CompaniesGetParams,
|
|
73
|
+
CompaniesApiSearchParams,
|
|
74
|
+
DealsListParams,
|
|
75
|
+
DealsGetParams,
|
|
76
|
+
DealsApiSearchParams,
|
|
77
|
+
TicketsListParams,
|
|
78
|
+
TicketsGetParams,
|
|
79
|
+
TicketsApiSearchParams,
|
|
80
|
+
SchemasListParams,
|
|
81
|
+
SchemasGetParams,
|
|
82
|
+
ObjectsListParams,
|
|
83
|
+
ObjectsGetParams
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
__all__ = [
|
|
87
|
+
"HubspotConnector",
|
|
88
|
+
"HubspotAuthConfig",
|
|
89
|
+
"ContactProperties",
|
|
90
|
+
"Contact",
|
|
91
|
+
"PagingNext",
|
|
92
|
+
"Paging",
|
|
93
|
+
"ContactsList",
|
|
94
|
+
"CompanyProperties",
|
|
95
|
+
"Company",
|
|
96
|
+
"CompaniesList",
|
|
97
|
+
"DealProperties",
|
|
98
|
+
"Deal",
|
|
99
|
+
"DealsList",
|
|
100
|
+
"TicketProperties",
|
|
101
|
+
"Ticket",
|
|
102
|
+
"TicketsList",
|
|
103
|
+
"SchemaAssociationsItem",
|
|
104
|
+
"SchemaLabels",
|
|
105
|
+
"SchemaPropertiesItemModificationmetadata",
|
|
106
|
+
"SchemaPropertiesItem",
|
|
107
|
+
"Schema",
|
|
108
|
+
"SchemasList",
|
|
109
|
+
"CRMObjectProperties",
|
|
110
|
+
"CRMObject",
|
|
111
|
+
"ObjectsList",
|
|
112
|
+
"ContactsListResultMeta",
|
|
113
|
+
"ContactsApiSearchResultMeta",
|
|
114
|
+
"CompaniesListResultMeta",
|
|
115
|
+
"CompaniesApiSearchResultMeta",
|
|
116
|
+
"DealsListResultMeta",
|
|
117
|
+
"DealsApiSearchResultMeta",
|
|
118
|
+
"TicketsListResultMeta",
|
|
119
|
+
"TicketsApiSearchResultMeta",
|
|
120
|
+
"ObjectsListResultMeta",
|
|
121
|
+
"HubspotExecuteResult",
|
|
122
|
+
"HubspotExecuteResultWithMeta",
|
|
123
|
+
"ContactsListResult",
|
|
124
|
+
"ContactsApiSearchResult",
|
|
125
|
+
"CompaniesListResult",
|
|
126
|
+
"CompaniesApiSearchResult",
|
|
127
|
+
"DealsListResult",
|
|
128
|
+
"DealsApiSearchResult",
|
|
129
|
+
"TicketsListResult",
|
|
130
|
+
"TicketsApiSearchResult",
|
|
131
|
+
"SchemasListResult",
|
|
132
|
+
"ObjectsListResult",
|
|
133
|
+
"ContactsApiSearchParamsFiltergroupsItemFiltersItem",
|
|
134
|
+
"ContactsApiSearchParamsFiltergroupsItem",
|
|
135
|
+
"ContactsApiSearchParamsSortsItem",
|
|
136
|
+
"CompaniesApiSearchParamsFiltergroupsItemFiltersItem",
|
|
137
|
+
"CompaniesApiSearchParamsFiltergroupsItem",
|
|
138
|
+
"CompaniesApiSearchParamsSortsItem",
|
|
139
|
+
"DealsApiSearchParamsFiltergroupsItemFiltersItem",
|
|
140
|
+
"DealsApiSearchParamsFiltergroupsItem",
|
|
141
|
+
"DealsApiSearchParamsSortsItem",
|
|
142
|
+
"TicketsApiSearchParamsFiltergroupsItemFiltersItem",
|
|
143
|
+
"TicketsApiSearchParamsFiltergroupsItem",
|
|
144
|
+
"TicketsApiSearchParamsSortsItem",
|
|
145
|
+
"ContactsListParams",
|
|
146
|
+
"ContactsGetParams",
|
|
147
|
+
"ContactsApiSearchParams",
|
|
148
|
+
"CompaniesListParams",
|
|
149
|
+
"CompaniesGetParams",
|
|
150
|
+
"CompaniesApiSearchParams",
|
|
151
|
+
"DealsListParams",
|
|
152
|
+
"DealsGetParams",
|
|
153
|
+
"DealsApiSearchParams",
|
|
154
|
+
"TicketsListParams",
|
|
155
|
+
"TicketsGetParams",
|
|
156
|
+
"TicketsApiSearchParams",
|
|
157
|
+
"SchemasListParams",
|
|
158
|
+
"SchemasGetParams",
|
|
159
|
+
"ObjectsListParams",
|
|
160
|
+
"ObjectsGetParams",
|
|
161
|
+
]
|
|
@@ -610,9 +610,7 @@ class OAuth2AuthStrategy(AuthStrategy):
|
|
|
610
610
|
has_refresh_token = bool(secrets.get("refresh_token"))
|
|
611
611
|
|
|
612
612
|
if not has_access_token and not has_refresh_token:
|
|
613
|
-
raise AuthenticationError(
|
|
614
|
-
"Missing OAuth2 credentials. Provide either 'access_token' " "or 'refresh_token' (for refresh-token-only mode)."
|
|
615
|
-
)
|
|
613
|
+
raise AuthenticationError("Missing OAuth2 credentials. Provide either 'access_token' or 'refresh_token' (for refresh-token-only mode).")
|
|
616
614
|
|
|
617
615
|
def can_refresh(self, secrets: OAuth2RefreshSecrets) -> bool:
|
|
618
616
|
"""Check if token refresh is possible.
|
|
@@ -1106,8 +1104,7 @@ class AuthStrategyFactory:
|
|
|
1106
1104
|
strategy = cls._strategies.get(auth_type)
|
|
1107
1105
|
if strategy is None:
|
|
1108
1106
|
raise AuthenticationError(
|
|
1109
|
-
f"Authentication type '{auth_type.value}' is not implemented. "
|
|
1110
|
-
f"Supported types: {', '.join(s.value for s in cls._strategies.keys())}"
|
|
1107
|
+
f"Authentication type '{auth_type.value}' is not implemented. Supported types: {', '.join(s.value for s in cls._strategies.keys())}"
|
|
1111
1108
|
)
|
|
1112
1109
|
return strategy
|
|
1113
1110
|
|
|
@@ -17,7 +17,7 @@ class MissingVariableError(ValueError):
|
|
|
17
17
|
def __init__(self, var_name: str, available_fields: list):
|
|
18
18
|
self.var_name = var_name
|
|
19
19
|
self.available_fields = available_fields
|
|
20
|
-
super().__init__(f"Template variable '${{{var_name}}}' not found in config.
|
|
20
|
+
super().__init__(f"Template variable '${{{var_name}}}' not found in config. Available fields: {available_fields}")
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
def apply_template(template: str, values: Dict[str, str]) -> str:
|
|
@@ -13,7 +13,7 @@ class AirbyteCloudClient:
|
|
|
13
13
|
|
|
14
14
|
Handles authentication, token caching, and API calls to:
|
|
15
15
|
- Get bearer tokens for authentication
|
|
16
|
-
- Look up
|
|
16
|
+
- Look up connectors for users
|
|
17
17
|
- Execute connectors via the cloud API
|
|
18
18
|
|
|
19
19
|
Example:
|
|
@@ -22,15 +22,15 @@ class AirbyteCloudClient:
|
|
|
22
22
|
client_secret="your-client-secret"
|
|
23
23
|
)
|
|
24
24
|
|
|
25
|
-
# Get a connector
|
|
26
|
-
|
|
25
|
+
# Get a connector ID
|
|
26
|
+
connector_id = await client.get_connector_id(
|
|
27
27
|
external_user_id="user-123",
|
|
28
|
-
connector_definition_id="
|
|
28
|
+
connector_definition_id="550e8400-e29b-41d4-a716-446655440000"
|
|
29
29
|
)
|
|
30
30
|
|
|
31
31
|
# Execute the connector
|
|
32
32
|
result = await client.execute_connector(
|
|
33
|
-
|
|
33
|
+
connector_id=connector_id,
|
|
34
34
|
entity="customers",
|
|
35
35
|
action="list",
|
|
36
36
|
params={"limit": 10}
|
|
@@ -105,37 +105,37 @@ class AirbyteCloudClient:
|
|
|
105
105
|
|
|
106
106
|
return access_token
|
|
107
107
|
|
|
108
|
-
async def
|
|
108
|
+
async def get_connector_id(
|
|
109
109
|
self,
|
|
110
110
|
external_user_id: str,
|
|
111
111
|
connector_definition_id: str,
|
|
112
112
|
) -> str:
|
|
113
|
-
"""Get connector
|
|
113
|
+
"""Get connector ID for a user.
|
|
114
114
|
|
|
115
|
-
Looks up the connector
|
|
116
|
-
and connector definition. Validates that exactly one
|
|
115
|
+
Looks up the connector that belongs to the specified user
|
|
116
|
+
and connector definition. Validates that exactly one connector exists.
|
|
117
117
|
|
|
118
118
|
Args:
|
|
119
119
|
external_user_id: User identifier in the Airbyte system
|
|
120
120
|
connector_definition_id: UUID of the connector definition
|
|
121
121
|
|
|
122
122
|
Returns:
|
|
123
|
-
Connector
|
|
123
|
+
Connector ID (UUID string)
|
|
124
124
|
|
|
125
125
|
Raises:
|
|
126
|
-
ValueError: If 0 or more than 1
|
|
126
|
+
ValueError: If 0 or more than 1 connector is found
|
|
127
127
|
httpx.HTTPStatusError: If API returns 4xx/5xx status code
|
|
128
128
|
httpx.RequestError: If network request fails
|
|
129
129
|
|
|
130
130
|
Example:
|
|
131
|
-
|
|
131
|
+
connector_id = await client.get_connector_id(
|
|
132
132
|
external_user_id="user-123",
|
|
133
133
|
connector_definition_id="550e8400-e29b-41d4-a716-446655440000"
|
|
134
134
|
)
|
|
135
135
|
"""
|
|
136
136
|
|
|
137
137
|
token = await self.get_bearer_token()
|
|
138
|
-
url = f"{self.API_BASE_URL}/api/v1/connectors/
|
|
138
|
+
url = f"{self.API_BASE_URL}/api/v1/connectors/connectors_for_user"
|
|
139
139
|
params = {
|
|
140
140
|
"external_user_id": external_user_id,
|
|
141
141
|
"definition_id": connector_definition_id,
|
|
@@ -146,24 +146,24 @@ class AirbyteCloudClient:
|
|
|
146
146
|
response.raise_for_status()
|
|
147
147
|
|
|
148
148
|
data = response.json()
|
|
149
|
-
|
|
149
|
+
connectors = data["connectors"]
|
|
150
150
|
|
|
151
|
-
if len(
|
|
152
|
-
raise ValueError(f"No connector
|
|
151
|
+
if len(connectors) == 0:
|
|
152
|
+
raise ValueError(f"No connector found for user '{external_user_id}' and connector definition '{connector_definition_id}'")
|
|
153
153
|
|
|
154
|
-
if len(
|
|
154
|
+
if len(connectors) > 1:
|
|
155
155
|
raise ValueError(
|
|
156
|
-
f"Multiple
|
|
157
|
-
f"and connector '{connector_definition_id}'. Expected exactly 1, "
|
|
158
|
-
f"found {len(
|
|
156
|
+
f"Multiple connectors found for user '{external_user_id}' "
|
|
157
|
+
f"and connector definition '{connector_definition_id}'. Expected exactly 1, "
|
|
158
|
+
f"found {len(connectors)}"
|
|
159
159
|
)
|
|
160
160
|
|
|
161
|
-
|
|
162
|
-
return
|
|
161
|
+
connector_id = connectors[0]["id"]
|
|
162
|
+
return connector_id
|
|
163
163
|
|
|
164
164
|
async def execute_connector(
|
|
165
165
|
self,
|
|
166
|
-
|
|
166
|
+
connector_id: str,
|
|
167
167
|
entity: str,
|
|
168
168
|
action: str,
|
|
169
169
|
params: dict[str, Any] | None,
|
|
@@ -171,7 +171,7 @@ class AirbyteCloudClient:
|
|
|
171
171
|
"""Execute a connector operation.
|
|
172
172
|
|
|
173
173
|
Args:
|
|
174
|
-
|
|
174
|
+
connector_id: Connector UUID (source ID)
|
|
175
175
|
entity: Entity name (e.g., "customers", "invoices")
|
|
176
176
|
action: Operation action (e.g., "list", "get", "create")
|
|
177
177
|
params: Optional parameters for the operation
|
|
@@ -185,14 +185,14 @@ class AirbyteCloudClient:
|
|
|
185
185
|
|
|
186
186
|
Example:
|
|
187
187
|
result = await client.execute_connector(
|
|
188
|
-
|
|
188
|
+
connector_id="550e8400-e29b-41d4-a716-446655440000",
|
|
189
189
|
entity="customers",
|
|
190
190
|
action="list",
|
|
191
191
|
params={"limit": 10}
|
|
192
192
|
)
|
|
193
193
|
"""
|
|
194
194
|
token = await self.get_bearer_token()
|
|
195
|
-
url = f"{self.API_BASE_URL}/api/v1/connectors/
|
|
195
|
+
url = f"{self.API_BASE_URL}/api/v1/connectors/sources/{connector_id}/execute"
|
|
196
196
|
headers = {"Authorization": f"Bearer {token}"}
|
|
197
197
|
request_body = {
|
|
198
198
|
"entity": entity,
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
import logging
|
|
5
6
|
import re
|
|
6
7
|
from pathlib import Path
|
|
7
8
|
from typing import Any
|
|
@@ -393,16 +394,24 @@ def convert_openapi_to_connector_model(spec: OpenAPIConnector) -> ConnectorModel
|
|
|
393
394
|
for entity_name, endpoints_dict in entities_map.items():
|
|
394
395
|
actions = list(endpoints_dict.keys())
|
|
395
396
|
|
|
396
|
-
# Get schema from components if available
|
|
397
|
+
# Get schema and stream_name from components if available
|
|
397
398
|
schema = None
|
|
399
|
+
entity_stream_name = None
|
|
398
400
|
if spec.components:
|
|
399
401
|
# Look for a schema matching the entity name
|
|
400
402
|
for schema_name, schema_def in spec.components.schemas.items():
|
|
401
403
|
if schema_def.x_airbyte_entity_name == entity_name or schema_name.lower() == entity_name.lower():
|
|
402
404
|
schema = schema_def.model_dump(by_alias=True)
|
|
405
|
+
entity_stream_name = schema_def.x_airbyte_stream_name
|
|
403
406
|
break
|
|
404
407
|
|
|
405
|
-
entity = EntityDefinition(
|
|
408
|
+
entity = EntityDefinition(
|
|
409
|
+
name=entity_name,
|
|
410
|
+
stream_name=entity_stream_name,
|
|
411
|
+
actions=actions,
|
|
412
|
+
endpoints=endpoints_dict,
|
|
413
|
+
schema=schema,
|
|
414
|
+
)
|
|
406
415
|
entities.append(entity)
|
|
407
416
|
|
|
408
417
|
# Extract retry config from x-airbyte-retry-config extension
|
|
@@ -510,13 +519,14 @@ def _parse_oauth2_config(scheme: Any) -> dict[str, str]:
|
|
|
510
519
|
config["refresh_url"] = refresh_url
|
|
511
520
|
|
|
512
521
|
# Extract custom refresh configuration from x-airbyte-token-refresh extension
|
|
522
|
+
# Note: x_token_refresh is a Dict[str, Any], not a Pydantic model, so use .get()
|
|
513
523
|
x_token_refresh = getattr(scheme, "x_token_refresh", None)
|
|
514
524
|
if x_token_refresh:
|
|
515
|
-
auth_style =
|
|
525
|
+
auth_style = x_token_refresh.get("auth_style")
|
|
516
526
|
if auth_style:
|
|
517
527
|
config["auth_style"] = auth_style
|
|
518
528
|
|
|
519
|
-
body_format =
|
|
529
|
+
body_format = x_token_refresh.get("body_format")
|
|
520
530
|
if body_format:
|
|
521
531
|
config["body_format"] = body_format
|
|
522
532
|
|
|
@@ -760,8 +770,6 @@ def _parse_auth_from_openapi(spec: OpenAPIConnector) -> AuthConfig:
|
|
|
760
770
|
options.append(auth_option)
|
|
761
771
|
except Exception as e:
|
|
762
772
|
# Log warning but continue - skip invalid schemes
|
|
763
|
-
import logging
|
|
764
|
-
|
|
765
773
|
logger = logging.getLogger(__name__)
|
|
766
774
|
logger.warning(f"Skipping invalid security scheme '{scheme_name}': {e}")
|
|
767
775
|
continue
|