@dealcrawl/sdk 2.0.0
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/README.md +540 -0
- package/dist/sdk/src/client.d.ts +285 -0
- package/dist/sdk/src/client.d.ts.map +1 -0
- package/dist/sdk/src/client.js +336 -0
- package/dist/sdk/src/client.js.map +1 -0
- package/dist/sdk/src/error.d.ts +54 -0
- package/dist/sdk/src/error.d.ts.map +1 -0
- package/dist/sdk/src/error.js +115 -0
- package/dist/sdk/src/error.js.map +1 -0
- package/dist/sdk/src/index.d.ts +58 -0
- package/dist/sdk/src/index.d.ts.map +1 -0
- package/dist/sdk/src/index.js +65 -0
- package/dist/sdk/src/index.js.map +1 -0
- package/dist/sdk/src/resources/account.d.ts +143 -0
- package/dist/sdk/src/resources/account.d.ts.map +1 -0
- package/dist/sdk/src/resources/account.js +186 -0
- package/dist/sdk/src/resources/account.js.map +1 -0
- package/dist/sdk/src/resources/crawl.d.ts +87 -0
- package/dist/sdk/src/resources/crawl.d.ts.map +1 -0
- package/dist/sdk/src/resources/crawl.js +205 -0
- package/dist/sdk/src/resources/crawl.js.map +1 -0
- package/dist/sdk/src/resources/data.d.ts +157 -0
- package/dist/sdk/src/resources/data.d.ts.map +1 -0
- package/dist/sdk/src/resources/data.js +239 -0
- package/dist/sdk/src/resources/data.js.map +1 -0
- package/dist/sdk/src/resources/dork.d.ts +104 -0
- package/dist/sdk/src/resources/dork.d.ts.map +1 -0
- package/dist/sdk/src/resources/dork.js +163 -0
- package/dist/sdk/src/resources/dork.js.map +1 -0
- package/dist/sdk/src/resources/extract.d.ts +105 -0
- package/dist/sdk/src/resources/extract.d.ts.map +1 -0
- package/dist/sdk/src/resources/extract.js +246 -0
- package/dist/sdk/src/resources/extract.js.map +1 -0
- package/dist/sdk/src/resources/index.d.ts +14 -0
- package/dist/sdk/src/resources/index.d.ts.map +1 -0
- package/dist/sdk/src/resources/index.js +14 -0
- package/dist/sdk/src/resources/index.js.map +1 -0
- package/dist/sdk/src/resources/keys.d.ts +124 -0
- package/dist/sdk/src/resources/keys.d.ts.map +1 -0
- package/dist/sdk/src/resources/keys.js +168 -0
- package/dist/sdk/src/resources/keys.js.map +1 -0
- package/dist/sdk/src/resources/scrape.d.ts +53 -0
- package/dist/sdk/src/resources/scrape.d.ts.map +1 -0
- package/dist/sdk/src/resources/scrape.js +85 -0
- package/dist/sdk/src/resources/scrape.js.map +1 -0
- package/dist/sdk/src/resources/status.d.ts +100 -0
- package/dist/sdk/src/resources/status.d.ts.map +1 -0
- package/dist/sdk/src/resources/status.js +133 -0
- package/dist/sdk/src/resources/status.js.map +1 -0
- package/dist/sdk/src/resources/webhooks.d.ts +126 -0
- package/dist/sdk/src/resources/webhooks.d.ts.map +1 -0
- package/dist/sdk/src/resources/webhooks.js +167 -0
- package/dist/sdk/src/resources/webhooks.js.map +1 -0
- package/dist/sdk/src/types/config.d.ts +45 -0
- package/dist/sdk/src/types/config.d.ts.map +1 -0
- package/dist/sdk/src/types/config.js +10 -0
- package/dist/sdk/src/types/config.js.map +1 -0
- package/dist/sdk/src/types/index.d.ts +8 -0
- package/dist/sdk/src/types/index.d.ts.map +1 -0
- package/dist/sdk/src/types/index.js +8 -0
- package/dist/sdk/src/types/index.js.map +1 -0
- package/dist/sdk/src/types/options.d.ts +286 -0
- package/dist/sdk/src/types/options.d.ts.map +1 -0
- package/dist/sdk/src/types/options.js +6 -0
- package/dist/sdk/src/types/options.js.map +1 -0
- package/dist/sdk/src/types/responses.d.ts +385 -0
- package/dist/sdk/src/types/responses.d.ts.map +1 -0
- package/dist/sdk/src/types/responses.js +6 -0
- package/dist/sdk/src/types/responses.js.map +1 -0
- package/dist/sdk/src/utils/polling.d.ts +57 -0
- package/dist/sdk/src/utils/polling.d.ts.map +1 -0
- package/dist/sdk/src/utils/polling.js +110 -0
- package/dist/sdk/src/utils/polling.js.map +1 -0
- package/dist/sdk/src/utils/request.d.ts +47 -0
- package/dist/sdk/src/utils/request.d.ts.map +1 -0
- package/dist/sdk/src/utils/request.js +161 -0
- package/dist/sdk/src/utils/request.js.map +1 -0
- package/dist/shared/src/constants/errors.d.ts +26 -0
- package/dist/shared/src/constants/errors.d.ts.map +1 -0
- package/dist/shared/src/constants/errors.js +39 -0
- package/dist/shared/src/constants/errors.js.map +1 -0
- package/dist/shared/src/constants/http.d.ts +26 -0
- package/dist/shared/src/constants/http.d.ts.map +1 -0
- package/dist/shared/src/constants/http.js +26 -0
- package/dist/shared/src/constants/http.js.map +1 -0
- package/dist/shared/src/constants/index.d.ts +4 -0
- package/dist/shared/src/constants/index.d.ts.map +1 -0
- package/dist/shared/src/constants/index.js +5 -0
- package/dist/shared/src/constants/index.js.map +1 -0
- package/dist/shared/src/constants/limits.d.ts +52 -0
- package/dist/shared/src/constants/limits.d.ts.map +1 -0
- package/dist/shared/src/constants/limits.js +43 -0
- package/dist/shared/src/constants/limits.js.map +1 -0
- package/dist/shared/src/index.d.ts +5 -0
- package/dist/shared/src/index.d.ts.map +1 -0
- package/dist/shared/src/index.js +11 -0
- package/dist/shared/src/index.js.map +1 -0
- package/dist/shared/src/lib/index.d.ts +2 -0
- package/dist/shared/src/lib/index.d.ts.map +1 -0
- package/dist/shared/src/lib/index.js +2 -0
- package/dist/shared/src/lib/index.js.map +1 -0
- package/dist/shared/src/lib/redis.d.ts +14 -0
- package/dist/shared/src/lib/redis.d.ts.map +1 -0
- package/dist/shared/src/lib/redis.js +60 -0
- package/dist/shared/src/lib/redis.js.map +1 -0
- package/dist/shared/src/types/api-key.types.d.ts +94 -0
- package/dist/shared/src/types/api-key.types.d.ts.map +1 -0
- package/dist/shared/src/types/api-key.types.js +30 -0
- package/dist/shared/src/types/api-key.types.js.map +1 -0
- package/dist/shared/src/types/api.types.d.ts +38 -0
- package/dist/shared/src/types/api.types.d.ts.map +1 -0
- package/dist/shared/src/types/api.types.js +2 -0
- package/dist/shared/src/types/api.types.js.map +1 -0
- package/dist/shared/src/types/client.types.d.ts +73 -0
- package/dist/shared/src/types/client.types.d.ts.map +1 -0
- package/dist/shared/src/types/client.types.js +9 -0
- package/dist/shared/src/types/client.types.js.map +1 -0
- package/dist/shared/src/types/crawl.types.d.ts +65 -0
- package/dist/shared/src/types/crawl.types.d.ts.map +1 -0
- package/dist/shared/src/types/crawl.types.js +2 -0
- package/dist/shared/src/types/crawl.types.js.map +1 -0
- package/dist/shared/src/types/deal.types.d.ts +210 -0
- package/dist/shared/src/types/deal.types.d.ts.map +1 -0
- package/dist/shared/src/types/deal.types.js +6 -0
- package/dist/shared/src/types/deal.types.js.map +1 -0
- package/dist/shared/src/types/dork.types.d.ts +29 -0
- package/dist/shared/src/types/dork.types.d.ts.map +1 -0
- package/dist/shared/src/types/dork.types.js +2 -0
- package/dist/shared/src/types/dork.types.js.map +1 -0
- package/dist/shared/src/types/index.d.ts +8 -0
- package/dist/shared/src/types/index.d.ts.map +1 -0
- package/dist/shared/src/types/index.js +9 -0
- package/dist/shared/src/types/index.js.map +1 -0
- package/dist/shared/src/types/scrape.types.d.ts +151 -0
- package/dist/shared/src/types/scrape.types.d.ts.map +1 -0
- package/dist/shared/src/types/scrape.types.js +2 -0
- package/dist/shared/src/types/scrape.types.js.map +1 -0
- package/dist/shared/src/utils/date.d.ts +7 -0
- package/dist/shared/src/utils/date.d.ts.map +1 -0
- package/dist/shared/src/utils/date.js +25 -0
- package/dist/shared/src/utils/date.js.map +1 -0
- package/dist/shared/src/utils/hash.d.ts +4 -0
- package/dist/shared/src/utils/hash.d.ts.map +1 -0
- package/dist/shared/src/utils/hash.js +21 -0
- package/dist/shared/src/utils/hash.js.map +1 -0
- package/dist/shared/src/utils/index.d.ts +7 -0
- package/dist/shared/src/utils/index.d.ts.map +1 -0
- package/dist/shared/src/utils/index.js +8 -0
- package/dist/shared/src/utils/index.js.map +1 -0
- package/dist/shared/src/utils/logger.d.ts +66 -0
- package/dist/shared/src/utils/logger.d.ts.map +1 -0
- package/dist/shared/src/utils/logger.js +268 -0
- package/dist/shared/src/utils/logger.js.map +1 -0
- package/dist/shared/src/utils/retry.d.ts +11 -0
- package/dist/shared/src/utils/retry.d.ts.map +1 -0
- package/dist/shared/src/utils/retry.js +36 -0
- package/dist/shared/src/utils/retry.js.map +1 -0
- package/dist/shared/src/utils/url-validator.d.ts +37 -0
- package/dist/shared/src/utils/url-validator.d.ts.map +1 -0
- package/dist/shared/src/utils/url-validator.js +179 -0
- package/dist/shared/src/utils/url-validator.js.map +1 -0
- package/dist/shared/src/utils/url.d.ts +6 -0
- package/dist/shared/src/utils/url.d.ts.map +1 -0
- package/dist/shared/src/utils/url.js +56 -0
- package/dist/shared/src/utils/url.js.map +1 -0
- package/package.json +49 -0
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Crawl Resource
|
|
3
|
+
* Handles website crawling operations
|
|
4
|
+
*/
|
|
5
|
+
import { post, get } from "../utils/request";
|
|
6
|
+
/**
|
|
7
|
+
* Predefined crawl templates with optimized settings
|
|
8
|
+
*/
|
|
9
|
+
const CRAWL_TEMPLATES = {
|
|
10
|
+
ecommerce: {
|
|
11
|
+
id: "ecommerce",
|
|
12
|
+
name: "E-commerce",
|
|
13
|
+
description: "Optimized for product pages and online stores",
|
|
14
|
+
defaultOptions: {
|
|
15
|
+
maxDepth: 3,
|
|
16
|
+
maxPages: 500,
|
|
17
|
+
delayMs: 1500,
|
|
18
|
+
extractDeal: true,
|
|
19
|
+
prioritizeDealPages: true,
|
|
20
|
+
excludePatterns: [
|
|
21
|
+
"*/cart*",
|
|
22
|
+
"*/checkout*",
|
|
23
|
+
"*/account*",
|
|
24
|
+
"*/login*",
|
|
25
|
+
"*/register*",
|
|
26
|
+
"*/wishlist*",
|
|
27
|
+
"*/compare*",
|
|
28
|
+
],
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
blog: {
|
|
32
|
+
id: "blog",
|
|
33
|
+
name: "Blog",
|
|
34
|
+
description: "Optimized for blog posts and articles",
|
|
35
|
+
defaultOptions: {
|
|
36
|
+
maxDepth: 2,
|
|
37
|
+
maxPages: 200,
|
|
38
|
+
delayMs: 1000,
|
|
39
|
+
extractDeal: false,
|
|
40
|
+
prioritizeDealPages: false,
|
|
41
|
+
excludePatterns: ["*/tag/*", "*/category/*", "*/author/*", "*/page/*"],
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
docs: {
|
|
45
|
+
id: "docs",
|
|
46
|
+
name: "Documentation",
|
|
47
|
+
description: "Optimized for documentation sites",
|
|
48
|
+
defaultOptions: {
|
|
49
|
+
maxDepth: 4,
|
|
50
|
+
maxPages: 300,
|
|
51
|
+
delayMs: 500,
|
|
52
|
+
extractDeal: false,
|
|
53
|
+
prioritizeDealPages: false,
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
marketplace: {
|
|
57
|
+
id: "marketplace",
|
|
58
|
+
name: "Marketplace",
|
|
59
|
+
description: "Optimized for multi-vendor marketplaces",
|
|
60
|
+
defaultOptions: {
|
|
61
|
+
maxDepth: 3,
|
|
62
|
+
maxPages: 1000,
|
|
63
|
+
delayMs: 2000,
|
|
64
|
+
extractDeal: true,
|
|
65
|
+
prioritizeDealPages: true,
|
|
66
|
+
followExternalLinks: false,
|
|
67
|
+
excludePatterns: [
|
|
68
|
+
"*/seller/*",
|
|
69
|
+
"*/vendor/*",
|
|
70
|
+
"*/shop/*",
|
|
71
|
+
"*/reviews*",
|
|
72
|
+
"*/questions*",
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
custom: {
|
|
77
|
+
id: "custom",
|
|
78
|
+
name: "Custom",
|
|
79
|
+
description: "No preset - use your own settings",
|
|
80
|
+
defaultOptions: {},
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Crawl resource class
|
|
85
|
+
* Provides methods for website crawling
|
|
86
|
+
*/
|
|
87
|
+
export class CrawlResource {
|
|
88
|
+
ctx;
|
|
89
|
+
constructor(ctx) {
|
|
90
|
+
this.ctx = ctx;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Create a new crawl job
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```ts
|
|
97
|
+
* const job = await client.crawl.create({
|
|
98
|
+
* url: "https://example.com",
|
|
99
|
+
* maxDepth: 3,
|
|
100
|
+
* maxPages: 100,
|
|
101
|
+
* extractDeal: true
|
|
102
|
+
* });
|
|
103
|
+
* console.log(job.jobId);
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
async create(options) {
|
|
107
|
+
const body = {
|
|
108
|
+
startUrl: options.url || options.startUrl,
|
|
109
|
+
url: options.url || options.startUrl,
|
|
110
|
+
prompt: options.prompt,
|
|
111
|
+
maxDepth: options.maxDepth,
|
|
112
|
+
maxPages: options.maxPages,
|
|
113
|
+
delayMs: options.delayMs,
|
|
114
|
+
detectSignals: options.detectSignals,
|
|
115
|
+
extractWithAI: options.extractWithAI,
|
|
116
|
+
extractDeal: options.extractDeal,
|
|
117
|
+
minDealScore: options.minDealScore,
|
|
118
|
+
prioritizeDealPages: options.prioritizeDealPages,
|
|
119
|
+
followExternalLinks: options.followExternalLinks,
|
|
120
|
+
allowedDomains: options.allowedDomains,
|
|
121
|
+
excludePatterns: options.excludePatterns,
|
|
122
|
+
};
|
|
123
|
+
const result = await post(this.ctx, "/v1/crawl", body);
|
|
124
|
+
return result.data;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Create a crawl job using a template
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```ts
|
|
131
|
+
* const job = await client.crawl.withTemplate("ecommerce", {
|
|
132
|
+
* url: "https://shop.example.com",
|
|
133
|
+
* maxPages: 200 // Override template default
|
|
134
|
+
* });
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
async withTemplate(templateId, options) {
|
|
138
|
+
const template = CRAWL_TEMPLATES[templateId];
|
|
139
|
+
return this.create({
|
|
140
|
+
...template.defaultOptions,
|
|
141
|
+
...options,
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* List available crawl templates
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```ts
|
|
149
|
+
* const templates = client.crawl.listTemplates();
|
|
150
|
+
* templates.forEach(t => console.log(t.name, t.description));
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
listTemplates() {
|
|
154
|
+
return Object.values(CRAWL_TEMPLATES);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Get a specific template by ID
|
|
158
|
+
*
|
|
159
|
+
* @example
|
|
160
|
+
* ```ts
|
|
161
|
+
* const template = client.crawl.getTemplate("ecommerce");
|
|
162
|
+
* console.log(template.defaultOptions);
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
165
|
+
getTemplate(templateId) {
|
|
166
|
+
return CRAWL_TEMPLATES[templateId];
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Analyze a URL before crawling
|
|
170
|
+
* Returns recommended settings based on site structure
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```ts
|
|
174
|
+
* const analysis = await client.crawl.analyze("https://shop.example.com");
|
|
175
|
+
* console.log(analysis.recommendedTemplate);
|
|
176
|
+
* console.log(analysis.estimatedPages);
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
179
|
+
async analyze(url) {
|
|
180
|
+
const result = await get(this.ctx, "/v1/crawl/analyze", {
|
|
181
|
+
url,
|
|
182
|
+
});
|
|
183
|
+
return result.data;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Crawl a URL with deal extraction enabled
|
|
187
|
+
* Convenience method for e-commerce crawling
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* ```ts
|
|
191
|
+
* const job = await client.crawl.forDeals("https://shop.example.com", {
|
|
192
|
+
* minDealScore: 70
|
|
193
|
+
* });
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
async forDeals(url, options) {
|
|
197
|
+
return this.withTemplate("ecommerce", {
|
|
198
|
+
url,
|
|
199
|
+
extractDeal: true,
|
|
200
|
+
prioritizeDealPages: true,
|
|
201
|
+
...options,
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=crawl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crawl.js","sourceRoot":"","sources":["../../../../src/resources/crawl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Data Resource
|
|
3
|
+
* Handles data retrieval, listing, and export operations
|
|
4
|
+
*/
|
|
5
|
+
import type { RequestContext } from "../types/config";
|
|
6
|
+
import type { ListJobsOptions, ListDealsOptions, ExportJobsOptions, ExportDealsOptions } from "../types/options";
|
|
7
|
+
import type { ListJobsResponse, ListDealsResponse, DealDetails, ClientStatsResponse } from "../types/responses";
|
|
8
|
+
/**
|
|
9
|
+
* Data resource class
|
|
10
|
+
* Provides methods for accessing job and deal data
|
|
11
|
+
*/
|
|
12
|
+
export declare class DataResource {
|
|
13
|
+
private ctx;
|
|
14
|
+
constructor(ctx: RequestContext);
|
|
15
|
+
/**
|
|
16
|
+
* List all jobs
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* const jobs = await client.data.listJobs({
|
|
21
|
+
* status: "completed",
|
|
22
|
+
* type: "crawl",
|
|
23
|
+
* page: 1,
|
|
24
|
+
* limit: 20
|
|
25
|
+
* });
|
|
26
|
+
* console.log(jobs.data);
|
|
27
|
+
* console.log(jobs.pagination.total);
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
listJobs(options?: ListJobsOptions): Promise<ListJobsResponse>;
|
|
31
|
+
/**
|
|
32
|
+
* Get jobs by status
|
|
33
|
+
* Convenience method for filtering by status
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* const activeJobs = await client.data.getJobsByStatus("active");
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
getJobsByStatus(status: ListJobsOptions["status"], options?: Omit<ListJobsOptions, "status">): Promise<ListJobsResponse>;
|
|
41
|
+
/**
|
|
42
|
+
* Get jobs by type
|
|
43
|
+
* Convenience method for filtering by type
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* const crawlJobs = await client.data.getJobsByType("crawl");
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
getJobsByType(type: ListJobsOptions["type"], options?: Omit<ListJobsOptions, "type">): Promise<ListJobsResponse>;
|
|
51
|
+
/**
|
|
52
|
+
* Get recent jobs
|
|
53
|
+
* Convenience method for getting latest jobs
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* const recentJobs = await client.data.getRecentJobs(10);
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
getRecentJobs(limit?: number): Promise<ListJobsResponse>;
|
|
61
|
+
/**
|
|
62
|
+
* List all deals
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```ts
|
|
66
|
+
* const deals = await client.data.listDeals({
|
|
67
|
+
* minScore: 70,
|
|
68
|
+
* category: "electronics",
|
|
69
|
+
* sortBy: "deal_score",
|
|
70
|
+
* sortOrder: "desc"
|
|
71
|
+
* });
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
listDeals(options?: ListDealsOptions): Promise<ListDealsResponse>;
|
|
75
|
+
/**
|
|
76
|
+
* Get a single deal by ID
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* const deal = await client.data.getDeal("deal_abc123");
|
|
81
|
+
* console.log(deal.product.name);
|
|
82
|
+
* console.log(deal.pricing.discountPercent);
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
getDeal(dealId: string): Promise<DealDetails>;
|
|
86
|
+
/**
|
|
87
|
+
* Get top deals by score
|
|
88
|
+
* Convenience method for finding best deals
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```ts
|
|
92
|
+
* const topDeals = await client.data.getTopDeals(20, 80);
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
getTopDeals(limit?: number, minScore?: number): Promise<ListDealsResponse>;
|
|
96
|
+
/**
|
|
97
|
+
* Get deals by category
|
|
98
|
+
* Convenience method for filtering by category
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```ts
|
|
102
|
+
* const electronicsDeals = await client.data.getDealsByCategory("electronics");
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
getDealsByCategory(category: string, options?: Omit<ListDealsOptions, "category">): Promise<ListDealsResponse>;
|
|
106
|
+
/**
|
|
107
|
+
* Get unsynced deals (not yet sent to DealUp)
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```ts
|
|
111
|
+
* const unsyncedDeals = await client.data.getUnsyncedDeals();
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
getUnsyncedDeals(options?: Omit<ListDealsOptions, "synced">): Promise<ListDealsResponse>;
|
|
115
|
+
/**
|
|
116
|
+
* Export jobs data
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```ts
|
|
120
|
+
* // Export as JSON
|
|
121
|
+
* const jsonData = await client.data.exportJobs({ format: "json" });
|
|
122
|
+
*
|
|
123
|
+
* // Export as CSV
|
|
124
|
+
* const csvData = await client.data.exportJobs({ format: "csv" });
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
exportJobs(options?: ExportJobsOptions): Promise<string | object[]>;
|
|
128
|
+
/**
|
|
129
|
+
* Export deals data
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```ts
|
|
133
|
+
* // Export as JSON
|
|
134
|
+
* const jsonData = await client.data.exportDeals({ format: "json" });
|
|
135
|
+
*
|
|
136
|
+
* // Export as CSV with filters
|
|
137
|
+
* const csvData = await client.data.exportDeals({
|
|
138
|
+
* format: "csv",
|
|
139
|
+
* minScore: 70,
|
|
140
|
+
* category: "software"
|
|
141
|
+
* });
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
exportDeals(options?: ExportDealsOptions): Promise<string | object[]>;
|
|
145
|
+
/**
|
|
146
|
+
* Get client statistics
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
* ```ts
|
|
150
|
+
* const stats = await client.data.getStats();
|
|
151
|
+
* console.log(stats.totals.deals);
|
|
152
|
+
* console.log(stats.performance.avgDealScore);
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
getStats(): Promise<ClientStatsResponse>;
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../src/resources/data.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAG5B;;;GAGG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,cAAc;IAMvC;;;;;;;;;;;;;;OAcG;IACG,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAcxE;;;;;;;;OAQG;IACG,eAAe,CACnB,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,EACjC,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,GACxC,OAAO,CAAC,gBAAgB,CAAC;IAI5B;;;;;;;;OAQG;IACG,aAAa,CACjB,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAC7B,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GACtC,OAAO,CAAC,gBAAgB,CAAC;IAI5B;;;;;;;;OAQG;IACG,aAAa,CAAC,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAYlE;;;;;;;;;;;;OAYG;IACG,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAe3E;;;;;;;;;OASG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAKnD;;;;;;;;OAQG;IACG,WAAW,CACf,KAAK,GAAE,MAAW,EAClB,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,iBAAiB,CAAC;IAS7B;;;;;;;;OAQG;IACG,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAC3C,OAAO,CAAC,iBAAiB,CAAC;IAI7B;;;;;;;OAOG;IACG,gBAAgB,CACpB,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GACzC,OAAO,CAAC,iBAAiB,CAAC;IAQ7B;;;;;;;;;;;OAWG;IACG,UAAU,CACd,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;IAe7B;;;;;;;;;;;;;;;OAeG;IACG,WAAW,CACf,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;IAmB7B;;;;;;;;;OASG;IACG,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAI/C"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Data Resource
|
|
3
|
+
* Handles data retrieval, listing, and export operations
|
|
4
|
+
*/
|
|
5
|
+
import { get } from "../utils/request";
|
|
6
|
+
/**
|
|
7
|
+
* Data resource class
|
|
8
|
+
* Provides methods for accessing job and deal data
|
|
9
|
+
*/
|
|
10
|
+
export class DataResource {
|
|
11
|
+
ctx;
|
|
12
|
+
constructor(ctx) {
|
|
13
|
+
this.ctx = ctx;
|
|
14
|
+
}
|
|
15
|
+
// ============================================
|
|
16
|
+
// JOBS
|
|
17
|
+
// ============================================
|
|
18
|
+
/**
|
|
19
|
+
* List all jobs
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* const jobs = await client.data.listJobs({
|
|
24
|
+
* status: "completed",
|
|
25
|
+
* type: "crawl",
|
|
26
|
+
* page: 1,
|
|
27
|
+
* limit: 20
|
|
28
|
+
* });
|
|
29
|
+
* console.log(jobs.data);
|
|
30
|
+
* console.log(jobs.pagination.total);
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
async listJobs(options = {}) {
|
|
34
|
+
const result = await get(this.ctx, "/v1/data/jobs", {
|
|
35
|
+
page: options.page,
|
|
36
|
+
limit: options.limit,
|
|
37
|
+
status: options.status,
|
|
38
|
+
type: options.type,
|
|
39
|
+
sortBy: options.sortBy,
|
|
40
|
+
sortOrder: options.sortOrder,
|
|
41
|
+
fromDate: options.fromDate,
|
|
42
|
+
toDate: options.toDate,
|
|
43
|
+
});
|
|
44
|
+
return result.data;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Get jobs by status
|
|
48
|
+
* Convenience method for filtering by status
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* const activeJobs = await client.data.getJobsByStatus("active");
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
async getJobsByStatus(status, options) {
|
|
56
|
+
return this.listJobs({ status, ...options });
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get jobs by type
|
|
60
|
+
* Convenience method for filtering by type
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```ts
|
|
64
|
+
* const crawlJobs = await client.data.getJobsByType("crawl");
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
async getJobsByType(type, options) {
|
|
68
|
+
return this.listJobs({ type, ...options });
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get recent jobs
|
|
72
|
+
* Convenience method for getting latest jobs
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```ts
|
|
76
|
+
* const recentJobs = await client.data.getRecentJobs(10);
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
async getRecentJobs(limit = 10) {
|
|
80
|
+
return this.listJobs({
|
|
81
|
+
limit,
|
|
82
|
+
sortBy: "created_at",
|
|
83
|
+
sortOrder: "desc",
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
// ============================================
|
|
87
|
+
// DEALS
|
|
88
|
+
// ============================================
|
|
89
|
+
/**
|
|
90
|
+
* List all deals
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```ts
|
|
94
|
+
* const deals = await client.data.listDeals({
|
|
95
|
+
* minScore: 70,
|
|
96
|
+
* category: "electronics",
|
|
97
|
+
* sortBy: "deal_score",
|
|
98
|
+
* sortOrder: "desc"
|
|
99
|
+
* });
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
async listDeals(options = {}) {
|
|
103
|
+
const result = await get(this.ctx, "/v1/data/deals", {
|
|
104
|
+
page: options.page,
|
|
105
|
+
limit: options.limit,
|
|
106
|
+
minScore: options.minScore,
|
|
107
|
+
maxPrice: options.maxPrice,
|
|
108
|
+
category: options.category,
|
|
109
|
+
merchant: options.merchant,
|
|
110
|
+
synced: options.synced?.toString(),
|
|
111
|
+
sortBy: options.sortBy,
|
|
112
|
+
sortOrder: options.sortOrder,
|
|
113
|
+
});
|
|
114
|
+
return result.data;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Get a single deal by ID
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* ```ts
|
|
121
|
+
* const deal = await client.data.getDeal("deal_abc123");
|
|
122
|
+
* console.log(deal.product.name);
|
|
123
|
+
* console.log(deal.pricing.discountPercent);
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
async getDeal(dealId) {
|
|
127
|
+
const result = await get(this.ctx, `/v1/data/deals/${dealId}`);
|
|
128
|
+
return result.data;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Get top deals by score
|
|
132
|
+
* Convenience method for finding best deals
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```ts
|
|
136
|
+
* const topDeals = await client.data.getTopDeals(20, 80);
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
async getTopDeals(limit = 20, minScore = 70) {
|
|
140
|
+
return this.listDeals({
|
|
141
|
+
limit,
|
|
142
|
+
minScore,
|
|
143
|
+
sortBy: "deal_score",
|
|
144
|
+
sortOrder: "desc",
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Get deals by category
|
|
149
|
+
* Convenience method for filtering by category
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ```ts
|
|
153
|
+
* const electronicsDeals = await client.data.getDealsByCategory("electronics");
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
async getDealsByCategory(category, options) {
|
|
157
|
+
return this.listDeals({ category, ...options });
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Get unsynced deals (not yet sent to DealUp)
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```ts
|
|
164
|
+
* const unsyncedDeals = await client.data.getUnsyncedDeals();
|
|
165
|
+
* ```
|
|
166
|
+
*/
|
|
167
|
+
async getUnsyncedDeals(options) {
|
|
168
|
+
return this.listDeals({ synced: false, ...options });
|
|
169
|
+
}
|
|
170
|
+
// ============================================
|
|
171
|
+
// EXPORT
|
|
172
|
+
// ============================================
|
|
173
|
+
/**
|
|
174
|
+
* Export jobs data
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```ts
|
|
178
|
+
* // Export as JSON
|
|
179
|
+
* const jsonData = await client.data.exportJobs({ format: "json" });
|
|
180
|
+
*
|
|
181
|
+
* // Export as CSV
|
|
182
|
+
* const csvData = await client.data.exportJobs({ format: "csv" });
|
|
183
|
+
* ```
|
|
184
|
+
*/
|
|
185
|
+
async exportJobs(options = {}) {
|
|
186
|
+
const result = await get(this.ctx, "/v1/data/export/jobs", {
|
|
187
|
+
format: options.format || "json",
|
|
188
|
+
status: options.status,
|
|
189
|
+
type: options.type,
|
|
190
|
+
fromDate: options.fromDate,
|
|
191
|
+
toDate: options.toDate,
|
|
192
|
+
});
|
|
193
|
+
return result.data;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Export deals data
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
* ```ts
|
|
200
|
+
* // Export as JSON
|
|
201
|
+
* const jsonData = await client.data.exportDeals({ format: "json" });
|
|
202
|
+
*
|
|
203
|
+
* // Export as CSV with filters
|
|
204
|
+
* const csvData = await client.data.exportDeals({
|
|
205
|
+
* format: "csv",
|
|
206
|
+
* minScore: 70,
|
|
207
|
+
* category: "software"
|
|
208
|
+
* });
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
211
|
+
async exportDeals(options = {}) {
|
|
212
|
+
const result = await get(this.ctx, "/v1/data/export/deals", {
|
|
213
|
+
format: options.format || "json",
|
|
214
|
+
minScore: options.minScore,
|
|
215
|
+
maxPrice: options.maxPrice,
|
|
216
|
+
category: options.category,
|
|
217
|
+
includeRawSignals: options.includeRawSignals,
|
|
218
|
+
});
|
|
219
|
+
return result.data;
|
|
220
|
+
}
|
|
221
|
+
// ============================================
|
|
222
|
+
// STATS
|
|
223
|
+
// ============================================
|
|
224
|
+
/**
|
|
225
|
+
* Get client statistics
|
|
226
|
+
*
|
|
227
|
+
* @example
|
|
228
|
+
* ```ts
|
|
229
|
+
* const stats = await client.data.getStats();
|
|
230
|
+
* console.log(stats.totals.deals);
|
|
231
|
+
* console.log(stats.performance.avgDealScore);
|
|
232
|
+
* ```
|
|
233
|
+
*/
|
|
234
|
+
async getStats() {
|
|
235
|
+
const result = await get(this.ctx, "/v1/data/stats");
|
|
236
|
+
return result.data;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../src/resources/data.ts"],"names":[],"mappings":"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"}
|