@crawlora-org/sdk 1.2.0-sdk.18 → 1.3.0-sdk.1
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.
- package/CHANGELOG.md +18 -0
- package/README.md +17 -0
- package/docs/operations.md +12 -1
- package/openapi/public.json +6594 -4936
- package/package.json +1 -1
- package/src/client.js +79 -5
- package/src/index.d.ts +25 -0
- package/src/index.js +9 -2
- package/src/operations.js +732 -1
- package/src/types.d.ts +736 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v1.3.0-sdk.1
|
|
4
|
+
|
|
5
|
+
- Added `CrawloraClientError`, `CrawloraServerError`, and `CrawloraNetworkError`
|
|
6
|
+
subclasses of `CrawloraError` so callers can branch on 4xx vs 5xx vs transport
|
|
7
|
+
failures.
|
|
8
|
+
- Added `client.paginate(operationId, params, options?)`, an async iterator that
|
|
9
|
+
advances the page/offset query parameter and stops on an empty page.
|
|
10
|
+
- Added the generated `OperationIds` map for typo-safe dynamic operation ids,
|
|
11
|
+
e.g. `client.request(OperationIds.BingSearch, { q: "coffee" })`.
|
|
12
|
+
- The generator now shares a single language-neutral core with the Go and Python
|
|
13
|
+
SDKs; generated output is unchanged.
|
|
14
|
+
|
|
15
|
+
## v1.2.0-sdk.19
|
|
16
|
+
|
|
17
|
+
- Regenerated the public SDK contract with the promoted Shopify endpoint family.
|
|
18
|
+
- Added the generated `shopify` group with 11 active Shopify operations.
|
|
19
|
+
- Updated the generated operation reference to 330 public SDK operations.
|
|
20
|
+
|
|
3
21
|
## v1.2.0-sdk.18
|
|
4
22
|
|
|
5
23
|
- Regenerated the public SDK contract for the Shop.app endpoint family.
|
package/README.md
CHANGED
|
@@ -142,6 +142,23 @@ The error includes `status`, optional API `code`, parsed `body`, response
|
|
|
142
142
|
headers, capped at 30 seconds. Externally aborted requests fail with
|
|
143
143
|
`Crawlora request aborted` and are not retried.
|
|
144
144
|
|
|
145
|
+
`CrawloraError` has three subclasses so you can branch on the failure kind:
|
|
146
|
+
`CrawloraClientError` (4xx, request rejected), `CrawloraServerError` (5xx), and
|
|
147
|
+
`CrawloraNetworkError` (transport failure, timeout, or abort before a response).
|
|
148
|
+
|
|
149
|
+
## Pagination
|
|
150
|
+
|
|
151
|
+
`client.paginate` is an async iterator that advances the page/offset query
|
|
152
|
+
parameter and stops when a page returns no data:
|
|
153
|
+
|
|
154
|
+
```js
|
|
155
|
+
for await (const page of crawlora.paginate("ebay-seller-feedback", { seller: "acme" })) {
|
|
156
|
+
for (const review of page.data) console.log(review);
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Override detection with `{ pageParam, start, step, maxPages }`.
|
|
161
|
+
|
|
145
162
|
## Examples
|
|
146
163
|
|
|
147
164
|
Runnable examples live under `examples/` and skip cleanly when required
|
package/docs/operations.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Generated from `openapi/public.json`. Deprecated, admin, and internal operations are excluded from this SDK contract.
|
|
4
4
|
|
|
5
|
-
Total operations: `
|
|
5
|
+
Total operations: `330`
|
|
6
6
|
|
|
7
7
|
| Group | SDK method | Operation ID | HTTP | Params | Auth | Response | Notes |
|
|
8
8
|
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
@@ -186,6 +186,17 @@ Total operations: `319`
|
|
|
186
186
|
| shopApp | `shopApp.shopReviews` | `shop-app-shop-reviews` | `GET /shop-app/shops/{handle}/reviews` | `handle` (path string required)<br>`limit` (query number) | `ApiKeyAuth` | `ShopAppShopReviewsResponse` | |
|
|
187
187
|
| shopApp | `shopApp.shopTypeahead` | `shop-app-shop-typeahead` | `GET /shop-app/shops/{handle}/typeahead` | `handle` (path string required)<br>`query` (query string required)<br>`limit` (query number) | `ApiKeyAuth` | `ShopAppShopTypeaheadResponse` | |
|
|
188
188
|
| shopApp | `shopApp.suggestions` | `shop-app-suggestions` | `GET /shop-app/suggestions` | `query` (query string required)<br>`limit` (query number) | `ApiKeyAuth` | `ShopAppSuggestionsResponse` | |
|
|
189
|
+
| shopify | `shopify.collections` | `shopify-collections` | `GET /shopify/collections` | `url` (query string required)<br>`page` (query number)<br>`limit` (query number) | `ApiKeyAuth` | `ShopifyCollectionsResponse` | |
|
|
190
|
+
| shopify | `shopify.collectionProducts` | `shopify-collection-products` | `GET /shopify/collections/{handle}/products` | `handle` (path string required)<br>`url` (query string required)<br>`page` (query number)<br>`limit` (query number) | `ApiKeyAuth` | `ShopifyCollectionProductsResponse` | |
|
|
191
|
+
| shopify | `shopify.pages` | `shopify-pages` | `GET /shopify/pages` | `url` (query string required)<br>`page` (query number)<br>`limit` (query number) | `ApiKeyAuth` | `ShopifyPagesResponse` | |
|
|
192
|
+
| shopify | `shopify.page` | `shopify-page` | `GET /shopify/pages/{handle}` | `handle` (path string required)<br>`url` (query string required) | `ApiKeyAuth` | `ShopifyPageResponse` | |
|
|
193
|
+
| shopify | `shopify.products` | `shopify-products` | `GET /shopify/products` | `url` (query string required)<br>`page` (query number)<br>`limit` (query number) | `ApiKeyAuth` | `ShopifyProductsResponse` | |
|
|
194
|
+
| shopify | `shopify.product` | `shopify-product` | `GET /shopify/products/{handle}` | `handle` (path string required)<br>`url` (query string required) | `ApiKeyAuth` | `ShopifyProductResponse` | |
|
|
195
|
+
| shopify | `shopify.productRecommendations` | `shopify-product-recommendations` | `GET /shopify/products/{handle}/recommendations` | `handle` (path string required)<br>`url` (query string required)<br>`limit` (query number)<br>`intent` (query "related" \| "complementary") | `ApiKeyAuth` | `ShopifyProductRecommendationsResponse` | |
|
|
196
|
+
| shopify | `shopify.searchSuggest` | `shopify-search-suggest` | `GET /shopify/search/suggest` | `url` (query string required)<br>`q` (query string required)<br>`types` (query string)<br>`limit` (query number) | `ApiKeyAuth` | `ShopifySearchSuggestResponse` | |
|
|
197
|
+
| shopify | `shopify.sitemapUrls` | `shopify-sitemap-urls` | `GET /shopify/sitemap/urls` | `url` (query string required)<br>`type` (query "all" \| "products" \| "collections" \| "pages" \| "blogs" \| "agentic_discovery" \| "other")<br>`limit` (query number) | `ApiKeyAuth` | `ShopifySitemapUrlsResponse` | |
|
|
198
|
+
| shopify | `shopify.sitemaps` | `shopify-sitemaps` | `GET /shopify/sitemaps` | `url` (query string required) | `ApiKeyAuth` | `ShopifySitemapsResponse` | |
|
|
199
|
+
| shopify | `shopify.store` | `shopify-store` | `GET /shopify/store` | `url` (query string required) | `ApiKeyAuth` | `ShopifyStoreResponse` | |
|
|
189
200
|
| similarWeb | `similarWeb.search` | `similarweb-search` | `GET /similarweb/search` | `q` (query string required) | `ApiKeyAuth` | `SimilarWebSearchResponse` | |
|
|
190
201
|
| similarWeb | `similarWeb.web` | `similarweb-web` | `GET /similarweb/web/{domain}` | `domain` (path string required) | `ApiKeyAuth` | `SimilarWebWebResponse` | |
|
|
191
202
|
| spotifyPodcasts | `spotifyPodcasts.categories` | `spotify-podcasts-categories` | `GET /spotify-podcasts/categories` | `uri` (query string)<br>`page_offset` (query number)<br>`page_limit` (query number)<br>`section_offset` (query number)<br>`section_limit` (query number)<br>`include_episode_content_ratings_v2` (query boolean) | `ApiKeyAuth` | `SpotifyPodcastsCategoriesResponse` | |
|