airbyte-agent-shopify 0.1.15__py3-none-any.whl → 0.1.17__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_shopify/__init__.py +4 -4
- airbyte_agent_shopify/_vendored/connector_sdk/introspection.py +12 -5
- airbyte_agent_shopify/connector.py +6 -1
- airbyte_agent_shopify/models.py +49 -49
- {airbyte_agent_shopify-0.1.15.dist-info → airbyte_agent_shopify-0.1.17.dist-info}/METADATA +11 -8
- {airbyte_agent_shopify-0.1.15.dist-info → airbyte_agent_shopify-0.1.17.dist-info}/RECORD +7 -7
- {airbyte_agent_shopify-0.1.15.dist-info → airbyte_agent_shopify-0.1.17.dist-info}/WHEEL +0 -0
|
@@ -13,10 +13,10 @@ from .models import (
|
|
|
13
13
|
CustomerAddressList,
|
|
14
14
|
MarketingConsent,
|
|
15
15
|
OrderAddress,
|
|
16
|
-
Transaction,
|
|
17
|
-
Refund,
|
|
18
16
|
LineItem,
|
|
19
17
|
Fulfillment,
|
|
18
|
+
Transaction,
|
|
19
|
+
Refund,
|
|
20
20
|
Order,
|
|
21
21
|
OrderList,
|
|
22
22
|
ProductImage,
|
|
@@ -186,10 +186,10 @@ __all__ = [
|
|
|
186
186
|
"CustomerAddressList",
|
|
187
187
|
"MarketingConsent",
|
|
188
188
|
"OrderAddress",
|
|
189
|
-
"Transaction",
|
|
190
|
-
"Refund",
|
|
191
189
|
"LineItem",
|
|
192
190
|
"Fulfillment",
|
|
191
|
+
"Transaction",
|
|
192
|
+
"Refund",
|
|
193
193
|
"Order",
|
|
194
194
|
"OrderList",
|
|
195
195
|
"ProductImage",
|
|
@@ -380,7 +380,11 @@ def describe_entities(model: ConnectorModelProtocol) -> list[dict[str, Any]]:
|
|
|
380
380
|
return entities
|
|
381
381
|
|
|
382
382
|
|
|
383
|
-
def generate_tool_description(
|
|
383
|
+
def generate_tool_description(
|
|
384
|
+
model: ConnectorModelProtocol,
|
|
385
|
+
*,
|
|
386
|
+
enable_hosted_mode_features: bool = True,
|
|
387
|
+
) -> str:
|
|
384
388
|
"""Generate AI tool description from connector metadata.
|
|
385
389
|
|
|
386
390
|
Produces a detailed description that includes:
|
|
@@ -393,6 +397,7 @@ def generate_tool_description(model: ConnectorModelProtocol) -> str:
|
|
|
393
397
|
|
|
394
398
|
Args:
|
|
395
399
|
model: Object conforming to ConnectorModelProtocol (e.g., ConnectorModel)
|
|
400
|
+
enable_hosted_mode_features: When False, omit hosted-mode search guidance from the docstring.
|
|
396
401
|
|
|
397
402
|
Returns:
|
|
398
403
|
Formatted description string suitable for AI tool documentation
|
|
@@ -402,8 +407,9 @@ def generate_tool_description(model: ConnectorModelProtocol) -> str:
|
|
|
402
407
|
# at the first empty line and only keeps the initial section.
|
|
403
408
|
|
|
404
409
|
# Entity/action parameter details (including pagination params like limit, starting_after)
|
|
405
|
-
search_field_paths = _collect_search_field_paths(model)
|
|
406
|
-
|
|
410
|
+
search_field_paths = _collect_search_field_paths(model) if enable_hosted_mode_features else {}
|
|
411
|
+
# Avoid a "PARAMETERS:" header because some docstring parsers treat it as a params section marker.
|
|
412
|
+
lines.append("ENTITIES (ACTIONS + PARAMS):")
|
|
407
413
|
for entity in model.entities:
|
|
408
414
|
lines.append(f" {entity.name}:")
|
|
409
415
|
actions = getattr(entity, "actions", []) or []
|
|
@@ -427,8 +433,9 @@ def generate_tool_description(model: ConnectorModelProtocol) -> str:
|
|
|
427
433
|
lines.append(" To paginate: pass starting_after=<last_id> while has_more is true")
|
|
428
434
|
|
|
429
435
|
lines.append("GUIDELINES:")
|
|
430
|
-
|
|
431
|
-
|
|
436
|
+
if enable_hosted_mode_features:
|
|
437
|
+
lines.append(' - Prefer cached search over direct API calls when using execute(): action="search" whenever possible.')
|
|
438
|
+
lines.append(" - Direct API actions (list/get/download) are slower and should be used only if search cannot answer the query.")
|
|
432
439
|
lines.append(" - Keep results small: use params.fields, params.query.filter, small params.limit, and cursor pagination.")
|
|
433
440
|
lines.append(" - If output is too large, refine the query with tighter filters/fields/limit.")
|
|
434
441
|
|
|
@@ -908,6 +908,7 @@ class ShopifyConnector:
|
|
|
908
908
|
func: _F | None = None,
|
|
909
909
|
*,
|
|
910
910
|
update_docstring: bool = True,
|
|
911
|
+
enable_hosted_mode_features: bool = True,
|
|
911
912
|
max_output_chars: int | None = DEFAULT_MAX_OUTPUT_CHARS,
|
|
912
913
|
) -> _F | Callable[[_F], _F]:
|
|
913
914
|
"""
|
|
@@ -926,12 +927,16 @@ class ShopifyConnector:
|
|
|
926
927
|
|
|
927
928
|
Args:
|
|
928
929
|
update_docstring: When True, append connector capabilities to __doc__.
|
|
930
|
+
enable_hosted_mode_features: When False, omit hosted-mode search sections from docstrings.
|
|
929
931
|
max_output_chars: Max serialized output size before raising. Use None to disable.
|
|
930
932
|
"""
|
|
931
933
|
|
|
932
934
|
def decorate(inner: _F) -> _F:
|
|
933
935
|
if update_docstring:
|
|
934
|
-
description = generate_tool_description(
|
|
936
|
+
description = generate_tool_description(
|
|
937
|
+
ShopifyConnectorModel,
|
|
938
|
+
enable_hosted_mode_features=enable_hosted_mode_features,
|
|
939
|
+
)
|
|
935
940
|
original_doc = inner.__doc__ or ""
|
|
936
941
|
if original_doc.strip():
|
|
937
942
|
full_doc = f"{original_doc.strip()}\n{description}"
|
airbyte_agent_shopify/models.py
CHANGED
|
@@ -119,55 +119,6 @@ class OrderAddress(BaseModel):
|
|
|
119
119
|
latitude: Union[float | None, Any] = Field(default=None)
|
|
120
120
|
longitude: Union[float | None, Any] = Field(default=None)
|
|
121
121
|
|
|
122
|
-
class Transaction(BaseModel):
|
|
123
|
-
"""An order transaction"""
|
|
124
|
-
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
125
|
-
|
|
126
|
-
id: Union[int, Any] = Field(default=None)
|
|
127
|
-
order_id: Union[int | None, Any] = Field(default=None)
|
|
128
|
-
kind: Union[str | None, Any] = Field(default=None)
|
|
129
|
-
gateway: Union[str | None, Any] = Field(default=None)
|
|
130
|
-
status: Union[str | None, Any] = Field(default=None)
|
|
131
|
-
message: Union[str | None, Any] = Field(default=None)
|
|
132
|
-
created_at: Union[str | None, Any] = Field(default=None)
|
|
133
|
-
test: Union[bool | None, Any] = Field(default=None)
|
|
134
|
-
authorization: Union[str | None, Any] = Field(default=None)
|
|
135
|
-
location_id: Union[int | None, Any] = Field(default=None)
|
|
136
|
-
user_id: Union[int | None, Any] = Field(default=None)
|
|
137
|
-
parent_id: Union[int | None, Any] = Field(default=None)
|
|
138
|
-
processed_at: Union[str | None, Any] = Field(default=None)
|
|
139
|
-
device_id: Union[int | None, Any] = Field(default=None)
|
|
140
|
-
error_code: Union[str | None, Any] = Field(default=None)
|
|
141
|
-
source_name: Union[str | None, Any] = Field(default=None)
|
|
142
|
-
receipt: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
143
|
-
currency_exchange_adjustment: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
144
|
-
amount: Union[str | None, Any] = Field(default=None)
|
|
145
|
-
currency: Union[str | None, Any] = Field(default=None)
|
|
146
|
-
payment_id: Union[str | None, Any] = Field(default=None)
|
|
147
|
-
total_unsettled_set: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
148
|
-
manual_payment_gateway: Union[bool | None, Any] = Field(default=None)
|
|
149
|
-
admin_graphql_api_id: Union[str | None, Any] = Field(default=None)
|
|
150
|
-
|
|
151
|
-
class Refund(BaseModel):
|
|
152
|
-
"""An order refund"""
|
|
153
|
-
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
154
|
-
|
|
155
|
-
id: Union[int, Any] = Field(default=None)
|
|
156
|
-
order_id: Union[int | None, Any] = Field(default=None)
|
|
157
|
-
created_at: Union[str | None, Any] = Field(default=None)
|
|
158
|
-
note: Union[str | None, Any] = Field(default=None)
|
|
159
|
-
user_id: Union[int | None, Any] = Field(default=None)
|
|
160
|
-
processed_at: Union[str | None, Any] = Field(default=None)
|
|
161
|
-
restock: Union[bool | None, Any] = Field(default=None)
|
|
162
|
-
duties: Union[list[dict[str, Any]] | None, Any] = Field(default=None)
|
|
163
|
-
total_duties_set: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
164
|
-
return_: Union[dict[str, Any] | None, Any] = Field(default=None, alias="return")
|
|
165
|
-
refund_line_items: Union[list[dict[str, Any]] | None, Any] = Field(default=None)
|
|
166
|
-
transactions: Union[list[Transaction] | None, Any] = Field(default=None)
|
|
167
|
-
order_adjustments: Union[list[dict[str, Any]] | None, Any] = Field(default=None)
|
|
168
|
-
admin_graphql_api_id: Union[str | None, Any] = Field(default=None)
|
|
169
|
-
refund_shipping_lines: Union[list[dict[str, Any]] | None, Any] = Field(default=None)
|
|
170
|
-
|
|
171
122
|
class LineItem(BaseModel):
|
|
172
123
|
"""LineItem type definition"""
|
|
173
124
|
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
@@ -225,6 +176,55 @@ class Fulfillment(BaseModel):
|
|
|
225
176
|
name: Union[str | None, Any] = Field(default=None)
|
|
226
177
|
admin_graphql_api_id: Union[str | None, Any] = Field(default=None)
|
|
227
178
|
|
|
179
|
+
class Transaction(BaseModel):
|
|
180
|
+
"""An order transaction"""
|
|
181
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
182
|
+
|
|
183
|
+
id: Union[int, Any] = Field(default=None)
|
|
184
|
+
order_id: Union[int | None, Any] = Field(default=None)
|
|
185
|
+
kind: Union[str | None, Any] = Field(default=None)
|
|
186
|
+
gateway: Union[str | None, Any] = Field(default=None)
|
|
187
|
+
status: Union[str | None, Any] = Field(default=None)
|
|
188
|
+
message: Union[str | None, Any] = Field(default=None)
|
|
189
|
+
created_at: Union[str | None, Any] = Field(default=None)
|
|
190
|
+
test: Union[bool | None, Any] = Field(default=None)
|
|
191
|
+
authorization: Union[str | None, Any] = Field(default=None)
|
|
192
|
+
location_id: Union[int | None, Any] = Field(default=None)
|
|
193
|
+
user_id: Union[int | None, Any] = Field(default=None)
|
|
194
|
+
parent_id: Union[int | None, Any] = Field(default=None)
|
|
195
|
+
processed_at: Union[str | None, Any] = Field(default=None)
|
|
196
|
+
device_id: Union[int | None, Any] = Field(default=None)
|
|
197
|
+
error_code: Union[str | None, Any] = Field(default=None)
|
|
198
|
+
source_name: Union[str | None, Any] = Field(default=None)
|
|
199
|
+
receipt: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
200
|
+
currency_exchange_adjustment: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
201
|
+
amount: Union[str | None, Any] = Field(default=None)
|
|
202
|
+
currency: Union[str | None, Any] = Field(default=None)
|
|
203
|
+
payment_id: Union[str | None, Any] = Field(default=None)
|
|
204
|
+
total_unsettled_set: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
205
|
+
manual_payment_gateway: Union[bool | None, Any] = Field(default=None)
|
|
206
|
+
admin_graphql_api_id: Union[str | None, Any] = Field(default=None)
|
|
207
|
+
|
|
208
|
+
class Refund(BaseModel):
|
|
209
|
+
"""An order refund"""
|
|
210
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
211
|
+
|
|
212
|
+
id: Union[int, Any] = Field(default=None)
|
|
213
|
+
order_id: Union[int | None, Any] = Field(default=None)
|
|
214
|
+
created_at: Union[str | None, Any] = Field(default=None)
|
|
215
|
+
note: Union[str | None, Any] = Field(default=None)
|
|
216
|
+
user_id: Union[int | None, Any] = Field(default=None)
|
|
217
|
+
processed_at: Union[str | None, Any] = Field(default=None)
|
|
218
|
+
restock: Union[bool | None, Any] = Field(default=None)
|
|
219
|
+
duties: Union[list[dict[str, Any]] | None, Any] = Field(default=None)
|
|
220
|
+
total_duties_set: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
221
|
+
return_: Union[dict[str, Any] | None, Any] = Field(default=None, alias="return")
|
|
222
|
+
refund_line_items: Union[list[dict[str, Any]] | None, Any] = Field(default=None)
|
|
223
|
+
transactions: Union[list[Transaction] | None, Any] = Field(default=None)
|
|
224
|
+
order_adjustments: Union[list[dict[str, Any]] | None, Any] = Field(default=None)
|
|
225
|
+
admin_graphql_api_id: Union[str | None, Any] = Field(default=None)
|
|
226
|
+
refund_shipping_lines: Union[list[dict[str, Any]] | None, Any] = Field(default=None)
|
|
227
|
+
|
|
228
228
|
class Order(BaseModel):
|
|
229
229
|
"""A Shopify order"""
|
|
230
230
|
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: airbyte-agent-shopify
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.17
|
|
4
4
|
Summary: Airbyte Shopify 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/
|
|
@@ -119,10 +119,11 @@ async def shopify_execute(entity: str, action: str, params: dict | None = None):
|
|
|
119
119
|
return await connector.execute(entity, action, params or {})
|
|
120
120
|
```
|
|
121
121
|
|
|
122
|
-
|
|
123
122
|
## Full documentation
|
|
124
123
|
|
|
125
|
-
|
|
124
|
+
### Entities and actions
|
|
125
|
+
|
|
126
|
+
This connector supports the following entities and actions. For more details, see this connector's [full reference documentation](REFERENCE.md).
|
|
126
127
|
|
|
127
128
|
| Entity | Actions |
|
|
128
129
|
|--------|---------|
|
|
@@ -160,14 +161,16 @@ This connector supports the following entities and actions.
|
|
|
160
161
|
| Fulfillment Orders | [List](./REFERENCE.md#fulfillment-orders-list), [Get](./REFERENCE.md#fulfillment-orders-get) |
|
|
161
162
|
|
|
162
163
|
|
|
163
|
-
|
|
164
|
+
### Authentication and configuration
|
|
165
|
+
|
|
166
|
+
For all authentication and configuration options, see the connector's [authentication documentation](AUTH.md).
|
|
164
167
|
|
|
165
|
-
|
|
168
|
+
### Shopify API docs
|
|
166
169
|
|
|
167
|
-
|
|
170
|
+
See the official [Shopify API reference](https://shopify.dev/docs/api/admin-rest).
|
|
168
171
|
|
|
169
172
|
## Version information
|
|
170
173
|
|
|
171
|
-
- **Package version:** 0.1.
|
|
174
|
+
- **Package version:** 0.1.17
|
|
172
175
|
- **Connector version:** 0.1.2
|
|
173
|
-
- **Generated with Connector SDK commit SHA:**
|
|
176
|
+
- **Generated with Connector SDK commit SHA:** f6c6fca292b291b200b31e4056856465129ae703
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
airbyte_agent_shopify/__init__.py,sha256=
|
|
2
|
-
airbyte_agent_shopify/connector.py,sha256=
|
|
1
|
+
airbyte_agent_shopify/__init__.py,sha256=oQjq6z4WrcRTVOr6IqajzImVUCyyiPWsfWE4S2auJB8,9661
|
|
2
|
+
airbyte_agent_shopify/connector.py,sha256=fnlv35f3Vg0ktwdeegm7OKldNrI7yJPPg7DC1Y0qkFU,94062
|
|
3
3
|
airbyte_agent_shopify/connector_model.py,sha256=AVa7n--wns14y5tdsiKymVUMS7HboqVD8sdzvKPlBRM,691010
|
|
4
|
-
airbyte_agent_shopify/models.py,sha256=
|
|
4
|
+
airbyte_agent_shopify/models.py,sha256=F5Sx9acQJqDG_p1szZMFvqhxY8ernkH8lQctxcUVckM,60917
|
|
5
5
|
airbyte_agent_shopify/types.py,sha256=AwQ4PR2wZmHNuryriCFdRxf9q48J1mnPwspUB1b-L_o,10221
|
|
6
6
|
airbyte_agent_shopify/_vendored/__init__.py,sha256=ILl7AHXMui__swyrjxrh9yRa4dLiwBvV6axPWFWty80,38
|
|
7
7
|
airbyte_agent_shopify/_vendored/connector_sdk/__init__.py,sha256=T5o7roU6NSpH-lCAGZ338sE5dlh4ZU6i6IkeG1zpems,1949
|
|
@@ -12,7 +12,7 @@ airbyte_agent_shopify/_vendored/connector_sdk/constants.py,sha256=AtzOvhDMWbRJgp
|
|
|
12
12
|
airbyte_agent_shopify/_vendored/connector_sdk/exceptions.py,sha256=ss5MGv9eVPmsbLcLWetuu3sDmvturwfo6Pw3M37Oq5k,481
|
|
13
13
|
airbyte_agent_shopify/_vendored/connector_sdk/extensions.py,sha256=XWRRoJOOrwUHSKbuQt5DU7CCu8ePzhd_HuP7c_uD77w,21376
|
|
14
14
|
airbyte_agent_shopify/_vendored/connector_sdk/http_client.py,sha256=09Fclbq4wrg38EM2Yh2kHiykQVXqdAGby024elcEz8E,28027
|
|
15
|
-
airbyte_agent_shopify/_vendored/connector_sdk/introspection.py,sha256=
|
|
15
|
+
airbyte_agent_shopify/_vendored/connector_sdk/introspection.py,sha256=e9uWn2ofpeehoBbzNgts_bjlKLn8ayA1Y3OpDC3b7ZA,19517
|
|
16
16
|
airbyte_agent_shopify/_vendored/connector_sdk/secrets.py,sha256=J9ezMu4xNnLW11xY5RCre6DHP7YMKZCqwGJfk7ufHAM,6855
|
|
17
17
|
airbyte_agent_shopify/_vendored/connector_sdk/types.py,sha256=in8gHsn5nsScujOfHZmkOgNmqmJKiPyNNjg59m5fGWc,8807
|
|
18
18
|
airbyte_agent_shopify/_vendored/connector_sdk/utils.py,sha256=G4LUXOC2HzPoND2v4tQW68R9uuPX9NQyCjaGxb7Kpl0,1958
|
|
@@ -52,6 +52,6 @@ airbyte_agent_shopify/_vendored/connector_sdk/telemetry/__init__.py,sha256=RaLgk
|
|
|
52
52
|
airbyte_agent_shopify/_vendored/connector_sdk/telemetry/config.py,sha256=tLmQwAFD0kP1WyBGWBS3ysaudN9H3e-3EopKZi6cGKg,885
|
|
53
53
|
airbyte_agent_shopify/_vendored/connector_sdk/telemetry/events.py,sha256=8Y1NbXiwISX-V_wRofY7PqcwEXD0dLMnntKkY6XFU2s,1328
|
|
54
54
|
airbyte_agent_shopify/_vendored/connector_sdk/telemetry/tracker.py,sha256=Ftrk0_ddfM7dZG8hF9xBuPwhbc9D6JZ7Q9qs5o3LEyA,5579
|
|
55
|
-
airbyte_agent_shopify-0.1.
|
|
56
|
-
airbyte_agent_shopify-0.1.
|
|
57
|
-
airbyte_agent_shopify-0.1.
|
|
55
|
+
airbyte_agent_shopify-0.1.17.dist-info/METADATA,sha256=zInAAvvpl3oA9smRK5KDj5n2nSfWxsJ30tmuBVeWQxE,7868
|
|
56
|
+
airbyte_agent_shopify-0.1.17.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
57
|
+
airbyte_agent_shopify-0.1.17.dist-info/RECORD,,
|
|
File without changes
|