@mesh-sync/worker-backend-client 4.0.18 → 4.0.21
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 +154 -0
- package/dist/client.d.ts +41 -0
- package/dist/client.js +49 -0
- package/dist/types.d.ts +101 -0
- package/dist/types.js +4 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -100,6 +100,26 @@ await client.sendToQueue(MessageTypes.FILE_DOWNLOAD_REQUEST, {
|
|
|
100
100
|
## Available Message Types
|
|
101
101
|
|
|
102
102
|
|
|
103
|
+
### analytics-collection-request
|
|
104
|
+
|
|
105
|
+
**Description:** Request to trigger a manual market data collection job.
|
|
106
|
+
Used for ad-hoc scraping of specific queries on marketplaces.
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
**Method:** `client.analyticsCollectionRequest(data)`
|
|
110
|
+
|
|
111
|
+
**Payload Type:** `AnalyticsCollectionRequestMessage`
|
|
112
|
+
|
|
113
|
+
**Fields:**
|
|
114
|
+
|
|
115
|
+
- `marketplace` (string) [✗]: The marketplace to scrape (etsy, ebay, etc.)
|
|
116
|
+
|
|
117
|
+
- `query` (string) [✓]: The search query to use
|
|
118
|
+
|
|
119
|
+
- `options` (object) [✗]: Collection options (pages, filters, etc.)
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
103
123
|
### backend-logging-event
|
|
104
124
|
|
|
105
125
|
**Description:** Centralized logging event for capturing all warn/error/failure logs from meshsync-backend.
|
|
@@ -647,6 +667,51 @@ This is typically triggered after initial connection or periodically to keep mar
|
|
|
647
667
|
|
|
648
668
|
|
|
649
669
|
|
|
670
|
+
### marketplace-intelligence-event
|
|
671
|
+
|
|
672
|
+
**Description:** Public marketplace intelligence data scraped from external marketplaces.
|
|
673
|
+
|
|
674
|
+
This event contains:
|
|
675
|
+
- Listing details (title, price, images)
|
|
676
|
+
- Engagement metrics (views, favorites, reviews)
|
|
677
|
+
- Shop information
|
|
678
|
+
- Market positioning data
|
|
679
|
+
|
|
680
|
+
Unlike marketplace-listing-sync-request (private user data), this focuses on:
|
|
681
|
+
- Broad market trends and pricing analysis
|
|
682
|
+
- Competitive intelligence and demand signals
|
|
683
|
+
- Product popularity and sentiment
|
|
684
|
+
|
|
685
|
+
Consumed by worker-analytic-collector for Elasticsearch indexing.
|
|
686
|
+
Used for market research, pricing optimization, and trend detection.
|
|
687
|
+
|
|
688
|
+
|
|
689
|
+
**Method:** `client.marketplaceIntelligenceEvent(data)`
|
|
690
|
+
|
|
691
|
+
**Payload Type:** `MarketplaceIntelligenceEventMessage`
|
|
692
|
+
|
|
693
|
+
**Fields:**
|
|
694
|
+
|
|
695
|
+
- `marketplace` (string) [✓]: Source marketplace
|
|
696
|
+
|
|
697
|
+
- `externalId` (string) [✓]: Marketplace-native listing ID
|
|
698
|
+
|
|
699
|
+
- `listing` (object) [✓]: Core listing information
|
|
700
|
+
|
|
701
|
+
- `metrics` (object) [✗]: Public engagement and sales metrics
|
|
702
|
+
|
|
703
|
+
- `metadata` (object) [✗]: Additional listing context and categorization
|
|
704
|
+
|
|
705
|
+
- `queryContext` (object) [✗]: Search context that found this listing
|
|
706
|
+
|
|
707
|
+
- `collectedAt` (string) [✓]: ISO 8601 timestamp when data was scraped
|
|
708
|
+
|
|
709
|
+
- `collectorVersion` (string) [✗]: Version of collector that scraped this data
|
|
710
|
+
|
|
711
|
+
- `scrapingMethod` (string) [✗]: Method used for scraping
|
|
712
|
+
|
|
713
|
+
|
|
714
|
+
|
|
650
715
|
### marketplace-listing-description-generation-completed
|
|
651
716
|
|
|
652
717
|
**Description:** Notifies backend that marketplace description generation completed. Contains generated description with metadata tracking (AI model, confidence, generation timestamp) and suggested price.
|
|
@@ -703,6 +768,12 @@ This is typically triggered after initial connection or periodically to keep mar
|
|
|
703
768
|
|
|
704
769
|
- `existingCategory` (string) [✗]: Current classification for context
|
|
705
770
|
|
|
771
|
+
- `brandVoice` (string) [✗]: Desired tone/voice for the listing (e.g., 'professional', 'playful')
|
|
772
|
+
|
|
773
|
+
- `targetMarket` (string) [✗]: Target geographic market (e.g., 'US', 'EU')
|
|
774
|
+
|
|
775
|
+
- `keywords` (array) [✗]: Specific keywords to include
|
|
776
|
+
|
|
706
777
|
|
|
707
778
|
|
|
708
779
|
### marketplace-listing-sync-completed
|
|
@@ -836,6 +907,12 @@ Includes bidirectional sync: - Pull: Fetch listings from marketplace to update l
|
|
|
836
907
|
|
|
837
908
|
- `tagLimit` (number) [✗]: Maximum number of tags for marketplace (e.g., 13 for Etsy)
|
|
838
909
|
|
|
910
|
+
- `targetMarket` (string) [✗]: Target geographic market (e.g., 'US', 'EU')
|
|
911
|
+
|
|
912
|
+
- `style` (string) [✗]: Artistic style of the model (e.g., 'realistic', 'low-poly')
|
|
913
|
+
|
|
914
|
+
- `useCases` (array) [✗]: Intended uses for the model
|
|
915
|
+
|
|
839
916
|
|
|
840
917
|
|
|
841
918
|
### marketplace-listing-title-generation-completed
|
|
@@ -890,6 +967,54 @@ Includes bidirectional sync: - Pull: Fetch listings from marketplace to update l
|
|
|
890
967
|
|
|
891
968
|
- `characterLimit` (number) [✗]: Maximum character count for marketplace (e.g., 140 for Etsy)
|
|
892
969
|
|
|
970
|
+
- `brandVoice` (string) [✗]: Desired tone/voice for the listing (e.g., 'professional', 'playful')
|
|
971
|
+
|
|
972
|
+
- `targetMarket` (string) [✗]: Target geographic market (e.g., 'US', 'EU')
|
|
973
|
+
|
|
974
|
+
- `keywords` (array) [✗]: Specific keywords to include
|
|
975
|
+
|
|
976
|
+
|
|
977
|
+
|
|
978
|
+
### marketplace-listing-update-completed
|
|
979
|
+
|
|
980
|
+
**Description:** Result of a listing update operation
|
|
981
|
+
|
|
982
|
+
**Method:** `client.marketplaceListingUpdateCompleted(data)`
|
|
983
|
+
|
|
984
|
+
**Payload Type:** `MarketplaceListingUpdateCompletedMessage`
|
|
985
|
+
|
|
986
|
+
**Fields:**
|
|
987
|
+
|
|
988
|
+
- `marketplace` (string) [✗]: Target marketplace
|
|
989
|
+
|
|
990
|
+
- `listingId` (string) [✗]: External ID of the listing
|
|
991
|
+
|
|
992
|
+
- `status` (string) [✗]: Status of the update (success, failed)
|
|
993
|
+
|
|
994
|
+
- `result` (object) [✗]: Result details from the marketplace API
|
|
995
|
+
|
|
996
|
+
- `error` (string) [✗]: Error message if failed
|
|
997
|
+
|
|
998
|
+
|
|
999
|
+
|
|
1000
|
+
### marketplace-listing-update-request
|
|
1001
|
+
|
|
1002
|
+
**Description:** Request to update an existing listing on a marketplace (price, quantity, etc.)
|
|
1003
|
+
|
|
1004
|
+
**Method:** `client.marketplaceListingUpdateRequest(data)`
|
|
1005
|
+
|
|
1006
|
+
**Payload Type:** `MarketplaceListingUpdateRequestMessage`
|
|
1007
|
+
|
|
1008
|
+
**Fields:**
|
|
1009
|
+
|
|
1010
|
+
- `marketplace` (string) [✗]: Target marketplace (etsy, ebay, etc.)
|
|
1011
|
+
|
|
1012
|
+
- `listingId` (string) [✗]: External ID of the listing to update
|
|
1013
|
+
|
|
1014
|
+
- `updates` (object) [✗]: Fields to update
|
|
1015
|
+
|
|
1016
|
+
- `credentials` (object) [✗]: User credentials for the marketplace
|
|
1017
|
+
|
|
893
1018
|
|
|
894
1019
|
|
|
895
1020
|
### marketplace-publish-listing-completed
|
|
@@ -1821,6 +1946,11 @@ new WorkerClient(config: WorkerClientConfig)
|
|
|
1821
1946
|
- Get the current status of a job
|
|
1822
1947
|
|
|
1823
1948
|
|
|
1949
|
+
- `analyticsCollectionRequest(data: AnalyticsCollectionRequestMessage): Promise<JobResponse>`
|
|
1950
|
+
- Request to trigger a manual market data collection job.
|
|
1951
|
+
Used for ad-hoc scraping of specific queries on marketplaces.
|
|
1952
|
+
|
|
1953
|
+
|
|
1824
1954
|
- `backendLoggingEvent(data: BackendLoggingEventMessage): Promise<JobResponse>`
|
|
1825
1955
|
- Centralized logging event for capturing all warn/error/failure logs from meshsync-backend.
|
|
1826
1956
|
This event is sent to ELK for centralized monitoring, alerting, and debugging.
|
|
@@ -1907,6 +2037,24 @@ This is typically triggered after initial connection or periodically to keep mar
|
|
|
1907
2037
|
- Requests rotation/refresh of marketplace connection credentials. This is used for: - OAuth token refresh when tokens are near expiry - API key rotation for enhanced security - Re-authentication after connection errors - Scheduled credential updates
|
|
1908
2038
|
|
|
1909
2039
|
|
|
2040
|
+
- `marketplaceIntelligenceEvent(data: MarketplaceIntelligenceEventMessage): Promise<JobResponse>`
|
|
2041
|
+
- Public marketplace intelligence data scraped from external marketplaces.
|
|
2042
|
+
|
|
2043
|
+
This event contains:
|
|
2044
|
+
- Listing details (title, price, images)
|
|
2045
|
+
- Engagement metrics (views, favorites, reviews)
|
|
2046
|
+
- Shop information
|
|
2047
|
+
- Market positioning data
|
|
2048
|
+
|
|
2049
|
+
Unlike marketplace-listing-sync-request (private user data), this focuses on:
|
|
2050
|
+
- Broad market trends and pricing analysis
|
|
2051
|
+
- Competitive intelligence and demand signals
|
|
2052
|
+
- Product popularity and sentiment
|
|
2053
|
+
|
|
2054
|
+
Consumed by worker-analytic-collector for Elasticsearch indexing.
|
|
2055
|
+
Used for market research, pricing optimization, and trend detection.
|
|
2056
|
+
|
|
2057
|
+
|
|
1910
2058
|
- `marketplaceListingDescriptionGenerationCompleted(data: MarketplaceListingDescriptionGenerationCompletedMessage): Promise<JobResponse>`
|
|
1911
2059
|
- Notifies backend that marketplace description generation completed. Contains generated description with metadata tracking (AI model, confidence, generation timestamp) and suggested price.
|
|
1912
2060
|
|
|
@@ -1934,6 +2082,12 @@ Includes bidirectional sync: - Pull: Fetch listings from marketplace to update l
|
|
|
1934
2082
|
- `marketplaceListingTitleGenerationRequest(data: MarketplaceListingTitleGenerationRequestMessage): Promise<JobResponse>`
|
|
1935
2083
|
- Generates marketplace-optimized title for a 3D model. Worker creates concise, SEO-friendly titles following marketplace character limits and best practices.
|
|
1936
2084
|
|
|
2085
|
+
- `marketplaceListingUpdateCompleted(data: MarketplaceListingUpdateCompletedMessage): Promise<JobResponse>`
|
|
2086
|
+
- Result of a listing update operation
|
|
2087
|
+
|
|
2088
|
+
- `marketplaceListingUpdateRequest(data: MarketplaceListingUpdateRequestMessage): Promise<JobResponse>`
|
|
2089
|
+
- Request to update an existing listing on a marketplace (price, quantity, etc.)
|
|
2090
|
+
|
|
1937
2091
|
- `marketplacePublishListingCompleted(data: MarketplacePublishListingCompletedMessage): Promise<JobResponse>`
|
|
1938
2092
|
- Indicates completion of marketplace listing publication. Contains external listing ID and URL, or error details if failed. Works with any marketplace provider (etsy, ebay, etc.).
|
|
1939
2093
|
|
package/dist/client.d.ts
CHANGED
|
@@ -37,6 +37,14 @@ export declare class WorkerClient {
|
|
|
37
37
|
* Get job status by job ID
|
|
38
38
|
*/
|
|
39
39
|
getJobStatus(jobId: string): Promise<JobStatus>;
|
|
40
|
+
/**
|
|
41
|
+
* Request to trigger a manual market data collection job.
|
|
42
|
+
Used for ad-hoc scraping of specific queries on marketplaces.
|
|
43
|
+
|
|
44
|
+
* @param data - The message payload
|
|
45
|
+
* @returns Job response with job ID
|
|
46
|
+
*/
|
|
47
|
+
analyticsCollectionRequest(data: types.AnalyticsCollectionRequestMessage): Promise<JobResponse>;
|
|
40
48
|
/**
|
|
41
49
|
* Centralized logging event for capturing all warn/error/failure logs from meshsync-backend.
|
|
42
50
|
This event is sent to ELK for centralized monitoring, alerting, and debugging.
|
|
@@ -174,6 +182,27 @@ export declare class WorkerClient {
|
|
|
174
182
|
* @returns Job response with job ID
|
|
175
183
|
*/
|
|
176
184
|
marketplaceCredentialRotationRequest(data: types.MarketplaceCredentialRotationRequestMessage): Promise<JobResponse>;
|
|
185
|
+
/**
|
|
186
|
+
* Public marketplace intelligence data scraped from external marketplaces.
|
|
187
|
+
|
|
188
|
+
This event contains:
|
|
189
|
+
- Listing details (title, price, images)
|
|
190
|
+
- Engagement metrics (views, favorites, reviews)
|
|
191
|
+
- Shop information
|
|
192
|
+
- Market positioning data
|
|
193
|
+
|
|
194
|
+
Unlike marketplace-listing-sync-request (private user data), this focuses on:
|
|
195
|
+
- Broad market trends and pricing analysis
|
|
196
|
+
- Competitive intelligence and demand signals
|
|
197
|
+
- Product popularity and sentiment
|
|
198
|
+
|
|
199
|
+
Consumed by worker-analytic-collector for Elasticsearch indexing.
|
|
200
|
+
Used for market research, pricing optimization, and trend detection.
|
|
201
|
+
|
|
202
|
+
* @param data - The message payload
|
|
203
|
+
* @returns Job response with job ID
|
|
204
|
+
*/
|
|
205
|
+
marketplaceIntelligenceEvent(data: types.MarketplaceIntelligenceEventMessage): Promise<JobResponse>;
|
|
177
206
|
/**
|
|
178
207
|
* Notifies backend that marketplace description generation completed. Contains generated description with metadata tracking (AI model, confidence, generation timestamp) and suggested price.
|
|
179
208
|
* @param data - The message payload
|
|
@@ -225,6 +254,18 @@ export declare class WorkerClient {
|
|
|
225
254
|
* @returns Job response with job ID
|
|
226
255
|
*/
|
|
227
256
|
marketplaceListingTitleGenerationRequest(data: types.MarketplaceListingTitleGenerationRequestMessage): Promise<JobResponse>;
|
|
257
|
+
/**
|
|
258
|
+
* Result of a listing update operation
|
|
259
|
+
* @param data - The message payload
|
|
260
|
+
* @returns Job response with job ID
|
|
261
|
+
*/
|
|
262
|
+
marketplaceListingUpdateCompleted(data: types.MarketplaceListingUpdateCompletedMessage): Promise<JobResponse>;
|
|
263
|
+
/**
|
|
264
|
+
* Request to update an existing listing on a marketplace (price, quantity, etc.)
|
|
265
|
+
* @param data - The message payload
|
|
266
|
+
* @returns Job response with job ID
|
|
267
|
+
*/
|
|
268
|
+
marketplaceListingUpdateRequest(data: types.MarketplaceListingUpdateRequestMessage): Promise<JobResponse>;
|
|
228
269
|
/**
|
|
229
270
|
* Indicates completion of marketplace listing publication. Contains external listing ID and URL, or error details if failed. Works with any marketplace provider (etsy, ebay, etc.).
|
|
230
271
|
* @param data - The message payload
|
package/dist/client.js
CHANGED
|
@@ -60,6 +60,16 @@ export class WorkerClient {
|
|
|
60
60
|
}
|
|
61
61
|
return await response.json();
|
|
62
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Request to trigger a manual market data collection job.
|
|
65
|
+
Used for ad-hoc scraping of specific queries on marketplaces.
|
|
66
|
+
|
|
67
|
+
* @param data - The message payload
|
|
68
|
+
* @returns Job response with job ID
|
|
69
|
+
*/
|
|
70
|
+
async analyticsCollectionRequest(data) {
|
|
71
|
+
return this.sendToQueue(types.MessageTypes.ANALYTICS_COLLECTION_REQUEST, data);
|
|
72
|
+
}
|
|
63
73
|
/**
|
|
64
74
|
* Centralized logging event for capturing all warn/error/failure logs from meshsync-backend.
|
|
65
75
|
This event is sent to ELK for centralized monitoring, alerting, and debugging.
|
|
@@ -231,6 +241,29 @@ export class WorkerClient {
|
|
|
231
241
|
async marketplaceCredentialRotationRequest(data) {
|
|
232
242
|
return this.sendToQueue(types.MessageTypes.MARKETPLACE_CREDENTIAL_ROTATION_REQUEST, data);
|
|
233
243
|
}
|
|
244
|
+
/**
|
|
245
|
+
* Public marketplace intelligence data scraped from external marketplaces.
|
|
246
|
+
|
|
247
|
+
This event contains:
|
|
248
|
+
- Listing details (title, price, images)
|
|
249
|
+
- Engagement metrics (views, favorites, reviews)
|
|
250
|
+
- Shop information
|
|
251
|
+
- Market positioning data
|
|
252
|
+
|
|
253
|
+
Unlike marketplace-listing-sync-request (private user data), this focuses on:
|
|
254
|
+
- Broad market trends and pricing analysis
|
|
255
|
+
- Competitive intelligence and demand signals
|
|
256
|
+
- Product popularity and sentiment
|
|
257
|
+
|
|
258
|
+
Consumed by worker-analytic-collector for Elasticsearch indexing.
|
|
259
|
+
Used for market research, pricing optimization, and trend detection.
|
|
260
|
+
|
|
261
|
+
* @param data - The message payload
|
|
262
|
+
* @returns Job response with job ID
|
|
263
|
+
*/
|
|
264
|
+
async marketplaceIntelligenceEvent(data) {
|
|
265
|
+
return this.sendToQueue(types.MessageTypes.MARKETPLACE_INTELLIGENCE_EVENT, data);
|
|
266
|
+
}
|
|
234
267
|
/**
|
|
235
268
|
* Notifies backend that marketplace description generation completed. Contains generated description with metadata tracking (AI model, confidence, generation timestamp) and suggested price.
|
|
236
269
|
* @param data - The message payload
|
|
@@ -298,6 +331,22 @@ export class WorkerClient {
|
|
|
298
331
|
async marketplaceListingTitleGenerationRequest(data) {
|
|
299
332
|
return this.sendToQueue(types.MessageTypes.MARKETPLACE_LISTING_TITLE_GENERATION_REQUEST, data);
|
|
300
333
|
}
|
|
334
|
+
/**
|
|
335
|
+
* Result of a listing update operation
|
|
336
|
+
* @param data - The message payload
|
|
337
|
+
* @returns Job response with job ID
|
|
338
|
+
*/
|
|
339
|
+
async marketplaceListingUpdateCompleted(data) {
|
|
340
|
+
return this.sendToQueue(types.MessageTypes.MARKETPLACE_LISTING_UPDATE_COMPLETED, data);
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Request to update an existing listing on a marketplace (price, quantity, etc.)
|
|
344
|
+
* @param data - The message payload
|
|
345
|
+
* @returns Job response with job ID
|
|
346
|
+
*/
|
|
347
|
+
async marketplaceListingUpdateRequest(data) {
|
|
348
|
+
return this.sendToQueue(types.MessageTypes.MARKETPLACE_LISTING_UPDATE_REQUEST, data);
|
|
349
|
+
}
|
|
301
350
|
/**
|
|
302
351
|
* Indicates completion of marketplace listing publication. Contains external listing ID and URL, or error details if failed. Works with any marketplace provider (etsy, ebay, etc.).
|
|
303
352
|
* @param data - The message payload
|
package/dist/types.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Message type constants
|
|
3
3
|
*/
|
|
4
4
|
export declare const MessageTypes: {
|
|
5
|
+
readonly ANALYTICS_COLLECTION_REQUEST: "analytics-collection-request";
|
|
5
6
|
readonly BACKEND_LOGGING_EVENT: "backend-logging-event";
|
|
6
7
|
readonly EKG_EDGE_BATCH_CREATE_COMPLETED: "ekg-edge-batch-create-completed";
|
|
7
8
|
readonly EKG_EDGE_BATCH_CREATE_REQUEST: "ekg-edge-batch-create-request";
|
|
@@ -19,6 +20,7 @@ export declare const MessageTypes: {
|
|
|
19
20
|
readonly MARKETPLACE_CONNECTION_SYNC_REQUEST: "marketplace-connection-sync-request";
|
|
20
21
|
readonly MARKETPLACE_CREDENTIAL_ROTATION_COMPLETED: "marketplace-credential-rotation-completed";
|
|
21
22
|
readonly MARKETPLACE_CREDENTIAL_ROTATION_REQUEST: "marketplace-credential-rotation-request";
|
|
23
|
+
readonly MARKETPLACE_INTELLIGENCE_EVENT: "marketplace-intelligence-event";
|
|
22
24
|
readonly MARKETPLACE_LISTING_DESCRIPTION_GENERATION_COMPLETED: "marketplace-listing-description-generation-completed";
|
|
23
25
|
readonly MARKETPLACE_LISTING_DESCRIPTION_GENERATION_REQUEST: "marketplace-listing-description-generation-request";
|
|
24
26
|
readonly MARKETPLACE_LISTING_SYNC_COMPLETED: "marketplace-listing-sync-completed";
|
|
@@ -27,6 +29,8 @@ export declare const MessageTypes: {
|
|
|
27
29
|
readonly MARKETPLACE_LISTING_TAGS_GENERATION_REQUEST: "marketplace-listing-tags-generation-request";
|
|
28
30
|
readonly MARKETPLACE_LISTING_TITLE_GENERATION_COMPLETED: "marketplace-listing-title-generation-completed";
|
|
29
31
|
readonly MARKETPLACE_LISTING_TITLE_GENERATION_REQUEST: "marketplace-listing-title-generation-request";
|
|
32
|
+
readonly MARKETPLACE_LISTING_UPDATE_COMPLETED: "marketplace-listing-update-completed";
|
|
33
|
+
readonly MARKETPLACE_LISTING_UPDATE_REQUEST: "marketplace-listing-update-request";
|
|
30
34
|
readonly MARKETPLACE_PUBLISH_LISTING_COMPLETED: "marketplace-publish-listing-completed";
|
|
31
35
|
readonly MARKETPLACE_PUBLISH_LISTING_REQUEST: "marketplace-publish-listing-request";
|
|
32
36
|
readonly MEDIA_BATCH_DOWNLOAD_COMPLETED: "media-batch-download-completed";
|
|
@@ -58,6 +62,19 @@ export declare const MessageTypes: {
|
|
|
58
62
|
readonly WORKER_METRICS_ENRICHED_EVENT: "worker-metrics-enriched-event";
|
|
59
63
|
};
|
|
60
64
|
export type MessageType = typeof MessageTypes[keyof typeof MessageTypes];
|
|
65
|
+
/**
|
|
66
|
+
* Request to trigger a manual market data collection job.
|
|
67
|
+
Used for ad-hoc scraping of specific queries on marketplaces.
|
|
68
|
+
|
|
69
|
+
*/
|
|
70
|
+
export interface AnalyticsCollectionRequestMessage {
|
|
71
|
+
/** The marketplace to scrape (etsy, ebay, etc.) */
|
|
72
|
+
marketplace?: string;
|
|
73
|
+
/** The search query to use */
|
|
74
|
+
query: string;
|
|
75
|
+
/** Collection options (pages, filters, etc.) */
|
|
76
|
+
options?: Record<string, string | number | boolean>;
|
|
77
|
+
}
|
|
61
78
|
/**
|
|
62
79
|
* Centralized logging event for capturing all warn/error/failure logs from meshsync-backend.
|
|
63
80
|
This event is sent to ELK for centralized monitoring, alerting, and debugging.
|
|
@@ -486,6 +503,44 @@ export interface MarketplaceCredentialRotationRequestMessage {
|
|
|
486
503
|
/** Additional request context */
|
|
487
504
|
metadata?: Record<string, string | number | boolean>;
|
|
488
505
|
}
|
|
506
|
+
/**
|
|
507
|
+
* Public marketplace intelligence data scraped from external marketplaces.
|
|
508
|
+
|
|
509
|
+
This event contains:
|
|
510
|
+
- Listing details (title, price, images)
|
|
511
|
+
- Engagement metrics (views, favorites, reviews)
|
|
512
|
+
- Shop information
|
|
513
|
+
- Market positioning data
|
|
514
|
+
|
|
515
|
+
Unlike marketplace-listing-sync-request (private user data), this focuses on:
|
|
516
|
+
- Broad market trends and pricing analysis
|
|
517
|
+
- Competitive intelligence and demand signals
|
|
518
|
+
- Product popularity and sentiment
|
|
519
|
+
|
|
520
|
+
Consumed by worker-analytic-collector for Elasticsearch indexing.
|
|
521
|
+
Used for market research, pricing optimization, and trend detection.
|
|
522
|
+
|
|
523
|
+
*/
|
|
524
|
+
export interface MarketplaceIntelligenceEventMessage {
|
|
525
|
+
/** Source marketplace */
|
|
526
|
+
marketplace: string;
|
|
527
|
+
/** Marketplace-native listing ID */
|
|
528
|
+
externalId: string;
|
|
529
|
+
/** Core listing information */
|
|
530
|
+
listing: Record<string, string | number | boolean>;
|
|
531
|
+
/** Public engagement and sales metrics */
|
|
532
|
+
metrics?: Record<string, string | number | boolean>;
|
|
533
|
+
/** Additional listing context and categorization */
|
|
534
|
+
metadata?: Record<string, string | number | boolean>;
|
|
535
|
+
/** Search context that found this listing */
|
|
536
|
+
queryContext?: Record<string, string | number | boolean>;
|
|
537
|
+
/** ISO 8601 timestamp when data was scraped */
|
|
538
|
+
collectedAt: string;
|
|
539
|
+
/** Version of collector that scraped this data */
|
|
540
|
+
collectorVersion?: string;
|
|
541
|
+
/** Method used for scraping */
|
|
542
|
+
scrapingMethod?: string;
|
|
543
|
+
}
|
|
489
544
|
/**
|
|
490
545
|
* Notifies backend that marketplace description generation completed. Contains generated description with metadata tracking (AI model, confidence, generation timestamp) and suggested price.
|
|
491
546
|
*/
|
|
@@ -529,6 +584,12 @@ export interface MarketplaceListingDescriptionGenerationRequestMessage {
|
|
|
529
584
|
existingTags?: Array<Record<string, string | number | boolean>>;
|
|
530
585
|
/** Current classification for context */
|
|
531
586
|
existingCategory?: string;
|
|
587
|
+
/** Desired tone/voice for the listing (e.g., 'professional', 'playful') */
|
|
588
|
+
brandVoice?: string;
|
|
589
|
+
/** Target geographic market (e.g., 'US', 'EU') */
|
|
590
|
+
targetMarket?: string;
|
|
591
|
+
/** Specific keywords to include */
|
|
592
|
+
keywords?: Array<Record<string, string | number | boolean>>;
|
|
532
593
|
}
|
|
533
594
|
/**
|
|
534
595
|
* Notification that marketplace listing sync operation has completed. Contains detailed results of the sync including created/updated listings, errors encountered, and performance statistics.
|
|
@@ -634,6 +695,12 @@ export interface MarketplaceListingTagsGenerationRequestMessage {
|
|
|
634
695
|
existingCategory?: string;
|
|
635
696
|
/** Maximum number of tags for marketplace (e.g., 13 for Etsy) */
|
|
636
697
|
tagLimit?: number;
|
|
698
|
+
/** Target geographic market (e.g., 'US', 'EU') */
|
|
699
|
+
targetMarket?: string;
|
|
700
|
+
/** Artistic style of the model (e.g., 'realistic', 'low-poly') */
|
|
701
|
+
style?: string;
|
|
702
|
+
/** Intended uses for the model */
|
|
703
|
+
useCases?: Array<Record<string, string | number | boolean>>;
|
|
637
704
|
}
|
|
638
705
|
/**
|
|
639
706
|
* Notifies backend that marketplace title generation completed. Contains generated title with metadata tracking.
|
|
@@ -674,6 +741,40 @@ export interface MarketplaceListingTitleGenerationRequestMessage {
|
|
|
674
741
|
existingCategory?: string;
|
|
675
742
|
/** Maximum character count for marketplace (e.g., 140 for Etsy) */
|
|
676
743
|
characterLimit?: number;
|
|
744
|
+
/** Desired tone/voice for the listing (e.g., 'professional', 'playful') */
|
|
745
|
+
brandVoice?: string;
|
|
746
|
+
/** Target geographic market (e.g., 'US', 'EU') */
|
|
747
|
+
targetMarket?: string;
|
|
748
|
+
/** Specific keywords to include */
|
|
749
|
+
keywords?: Array<Record<string, string | number | boolean>>;
|
|
750
|
+
}
|
|
751
|
+
/**
|
|
752
|
+
* Result of a listing update operation
|
|
753
|
+
*/
|
|
754
|
+
export interface MarketplaceListingUpdateCompletedMessage {
|
|
755
|
+
/** Target marketplace */
|
|
756
|
+
marketplace?: string;
|
|
757
|
+
/** External ID of the listing */
|
|
758
|
+
listingId?: string;
|
|
759
|
+
/** Status of the update (success, failed) */
|
|
760
|
+
status?: string;
|
|
761
|
+
/** Result details from the marketplace API */
|
|
762
|
+
result?: Record<string, string | number | boolean>;
|
|
763
|
+
/** Error message if failed */
|
|
764
|
+
error?: string;
|
|
765
|
+
}
|
|
766
|
+
/**
|
|
767
|
+
* Request to update an existing listing on a marketplace (price, quantity, etc.)
|
|
768
|
+
*/
|
|
769
|
+
export interface MarketplaceListingUpdateRequestMessage {
|
|
770
|
+
/** Target marketplace (etsy, ebay, etc.) */
|
|
771
|
+
marketplace?: string;
|
|
772
|
+
/** External ID of the listing to update */
|
|
773
|
+
listingId?: string;
|
|
774
|
+
/** Fields to update */
|
|
775
|
+
updates?: Record<string, string | number | boolean>;
|
|
776
|
+
/** User credentials for the marketplace */
|
|
777
|
+
credentials?: Record<string, string | number | boolean>;
|
|
677
778
|
}
|
|
678
779
|
/**
|
|
679
780
|
* Indicates completion of marketplace listing publication. Contains external listing ID and URL, or error details if failed. Works with any marketplace provider (etsy, ebay, etc.).
|
package/dist/types.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Message type constants
|
|
4
4
|
*/
|
|
5
5
|
export const MessageTypes = {
|
|
6
|
+
ANALYTICS_COLLECTION_REQUEST: 'analytics-collection-request',
|
|
6
7
|
BACKEND_LOGGING_EVENT: 'backend-logging-event',
|
|
7
8
|
EKG_EDGE_BATCH_CREATE_COMPLETED: 'ekg-edge-batch-create-completed',
|
|
8
9
|
EKG_EDGE_BATCH_CREATE_REQUEST: 'ekg-edge-batch-create-request',
|
|
@@ -20,6 +21,7 @@ export const MessageTypes = {
|
|
|
20
21
|
MARKETPLACE_CONNECTION_SYNC_REQUEST: 'marketplace-connection-sync-request',
|
|
21
22
|
MARKETPLACE_CREDENTIAL_ROTATION_COMPLETED: 'marketplace-credential-rotation-completed',
|
|
22
23
|
MARKETPLACE_CREDENTIAL_ROTATION_REQUEST: 'marketplace-credential-rotation-request',
|
|
24
|
+
MARKETPLACE_INTELLIGENCE_EVENT: 'marketplace-intelligence-event',
|
|
23
25
|
MARKETPLACE_LISTING_DESCRIPTION_GENERATION_COMPLETED: 'marketplace-listing-description-generation-completed',
|
|
24
26
|
MARKETPLACE_LISTING_DESCRIPTION_GENERATION_REQUEST: 'marketplace-listing-description-generation-request',
|
|
25
27
|
MARKETPLACE_LISTING_SYNC_COMPLETED: 'marketplace-listing-sync-completed',
|
|
@@ -28,6 +30,8 @@ export const MessageTypes = {
|
|
|
28
30
|
MARKETPLACE_LISTING_TAGS_GENERATION_REQUEST: 'marketplace-listing-tags-generation-request',
|
|
29
31
|
MARKETPLACE_LISTING_TITLE_GENERATION_COMPLETED: 'marketplace-listing-title-generation-completed',
|
|
30
32
|
MARKETPLACE_LISTING_TITLE_GENERATION_REQUEST: 'marketplace-listing-title-generation-request',
|
|
33
|
+
MARKETPLACE_LISTING_UPDATE_COMPLETED: 'marketplace-listing-update-completed',
|
|
34
|
+
MARKETPLACE_LISTING_UPDATE_REQUEST: 'marketplace-listing-update-request',
|
|
31
35
|
MARKETPLACE_PUBLISH_LISTING_COMPLETED: 'marketplace-publish-listing-completed',
|
|
32
36
|
MARKETPLACE_PUBLISH_LISTING_REQUEST: 'marketplace-publish-listing-request',
|
|
33
37
|
MEDIA_BATCH_DOWNLOAD_COMPLETED: 'media-batch-download-completed',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mesh-sync/worker-backend-client",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.21",
|
|
4
4
|
"description": "Auto-generated TypeScript client for worker-backend - provides type-safe methods for enqueueing jobs",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|