@mesh-sync/worker-backend-client 4.0.21 → 4.0.24-pr.51.20260312133943

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/dist/client.d.ts CHANGED
@@ -66,18 +66,6 @@ export declare class WorkerClient {
66
66
  * @returns Job response with job ID
67
67
  */
68
68
  backendLoggingEvent(data: types.BackendLoggingEventMessage): Promise<JobResponse>;
69
- /**
70
- * Completion event for EKG edge batch creation with propagation results.
71
- * @param data - The message payload
72
- * @returns Job response with job ID
73
- */
74
- ekgEdgeBatchCreateCompleted(data: types.EkgEdgeBatchCreateCompletedMessage): Promise<JobResponse>;
75
- /**
76
- * Create multiple EKG edges with Dempster-Shafer mass functions. Triggered by metamodel detection completion.
77
- * @param data - The message payload
78
- * @returns Job response with job ID
79
- */
80
- ekgEdgeBatchCreateRequest(data: types.EkgEdgeBatchCreateRequestMessage): Promise<JobResponse>;
81
69
  /**
82
70
  * Contains synced analytics data for Etsy listings. Backend stores this in etsy_analytics_snapshots table and indexes to ELK.
83
71
 
@@ -142,17 +130,17 @@ export declare class WorkerClient {
142
130
  */
143
131
  fileVectorizeRequest(data: types.FileVectorizeRequestMessage): Promise<JobResponse>;
144
132
  /**
145
- * Contains synced analytics data for marketplace listings. Backend stores this in marketplace_analytics_snapshots table and indexes to ELK. Works with any marketplace provider.
133
+ * Contains IP verification results including trademark risk, copyright risk, detected brands/franchises, and analysis confidence scores
146
134
  * @param data - The message payload
147
135
  * @returns Job response with job ID
148
136
  */
149
- marketplaceAnalyticsSyncCompleted(data: types.MarketplaceAnalyticsSyncCompletedMessage): Promise<JobResponse>;
137
+ ipCheckCompleted(data: types.IpCheckCompletedMessage): Promise<JobResponse>;
150
138
  /**
151
- * Syncs analytics data from marketplace API for one or more listings. Fetches views, favorites, sales, revenue, and traffic source data. Can sync: specific listings, all user listings, or shop-level analytics. Works with any marketplace provider that supports analytics (etsy, ebay, etc.).
139
+ * Triggers intellectual property verification analysis for a model thumbnail, detecting potential trademark and copyright issues using perceptual hashing, text analysis, and optional reverse image search.
152
140
  * @param data - The message payload
153
141
  * @returns Job response with job ID
154
142
  */
155
- marketplaceAnalyticsSyncRequest(data: types.MarketplaceAnalyticsSyncRequestMessage): Promise<JobResponse>;
143
+ ipCheckRequest(data: types.IpCheckRequestMessage): Promise<JobResponse>;
156
144
  /**
157
145
  * Notification that marketplace connection sync has completed. Contains updated connection metadata, profile information, and sync statistics.
158
146
 
@@ -182,6 +170,17 @@ export declare class WorkerClient {
182
170
  * @returns Job response with job ID
183
171
  */
184
172
  marketplaceCredentialRotationRequest(data: types.MarketplaceCredentialRotationRequestMessage): Promise<JobResponse>;
173
+ /**
174
+ * Response from marketplace intelligence scraping.
175
+ Contains aggregated similarity data from marketplace searches.
176
+
177
+ Consumed by worker-backend to update pipeline context before
178
+ sellability analysis runs.
179
+
180
+ * @param data - The message payload
181
+ * @returns Job response with job ID
182
+ */
183
+ marketplaceIntelligenceCompleted(data: types.MarketplaceIntelligenceCompletedMessage): Promise<JobResponse>;
185
184
  /**
186
185
  * Public marketplace intelligence data scraped from external marketplaces.
187
186
 
@@ -203,6 +202,25 @@ export declare class WorkerClient {
203
202
  * @returns Job response with job ID
204
203
  */
205
204
  marketplaceIntelligenceEvent(data: types.MarketplaceIntelligenceEventMessage): Promise<JobResponse>;
205
+ /**
206
+ * Triggers automated marketplace scraping to find similar/competing listings
207
+ for a given model. This is a pipeline stage that runs after metadata generation
208
+ to inform sellability analysis with real market data.
209
+
210
+ The worker-analytic-collector (or marketplace-connectors worker) will:
211
+ 1. Use model metadata (title, tags, category) to build search queries
212
+ 2. Scrape connected marketplaces (Etsy, eBay, etc.) for similar listings
213
+ 3. Emit marketplace-intelligence-event results for Elasticsearch indexing
214
+ 4. Return aggregated similarity data to the pipeline context
215
+
216
+ Pipeline integration:
217
+ - Triggered after: metadata-generation (needs model title/tags/category)
218
+ - Results feed into: sellability-analysis (market positioning data)
219
+
220
+ * @param data - The message payload
221
+ * @returns Job response with job ID
222
+ */
223
+ marketplaceIntelligenceRequest(data: types.MarketplaceIntelligenceRequestMessage): Promise<JobResponse>;
206
224
  /**
207
225
  * Notifies backend that marketplace description generation completed. Contains generated description with metadata tracking (AI model, confidence, generation timestamp) and suggested price.
208
226
  * @param data - The message payload
@@ -266,18 +284,6 @@ export declare class WorkerClient {
266
284
  * @returns Job response with job ID
267
285
  */
268
286
  marketplaceListingUpdateRequest(data: types.MarketplaceListingUpdateRequestMessage): Promise<JobResponse>;
269
- /**
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.).
271
- * @param data - The message payload
272
- * @returns Job response with job ID
273
- */
274
- marketplacePublishListingCompleted(data: types.MarketplacePublishListingCompletedMessage): Promise<JobResponse>;
275
- /**
276
- * Publishes a single metamodel listing to a marketplace for a specific material variant. Creates listing, uploads digital file, and returns external listing ID. This message is enqueued for EACH material variant when publishing a metamodel. The marketplace type (etsy, ebay, etc.) is determined by the marketplaceProvider field.
277
- * @param data - The message payload
278
- * @returns Job response with job ID
279
- */
280
- marketplacePublishListingRequest(data: types.MarketplacePublishListingRequestMessage): Promise<JobResponse>;
281
287
  /**
282
288
  * Notifies that a batch media download has been completed.
283
289
  * @param data - The message payload
@@ -339,19 +345,19 @@ export declare class WorkerClient {
339
345
  */
340
346
  modelDiscoveryScanRequest(data: types.ModelDiscoveryScanRequestMessage): Promise<JobResponse>;
341
347
  /**
342
- * Request to index a 3D model for similarity search.
348
+ * DEPRECATED (2026-02-18) FR-023 retired. Merge 3D rendering into worker-file-vectorize.
343
349
  * @param data - The message payload
344
350
  * @returns Job response with job ID
345
351
  */
346
352
  modelFinderIndexRequest(data: types.ModelFinderIndexRequestMessage): Promise<JobResponse>;
347
353
  /**
348
- * Response containing search results from the model finder.
354
+ * DEPRECATED (2026-02-18) FR-023 retired. Merge 3D rendering into worker-file-vectorize.
349
355
  * @param data - The message payload
350
356
  * @returns Job response with job ID
351
357
  */
352
358
  modelFinderResponse(data: types.ModelFinderResponseMessage): Promise<JobResponse>;
353
359
  /**
354
- * Request to search for similar 3D models.
360
+ * DEPRECATED (2026-02-18) FR-023 retired. Merge 3D rendering into worker-file-vectorize.
355
361
  * @param data - The message payload
356
362
  * @returns Job response with job ID
357
363
  */
@@ -380,6 +386,18 @@ export declare class WorkerClient {
380
386
  * @returns Job response with job ID
381
387
  */
382
388
  modelMetamodelDetectionRequest(data: types.ModelMetamodelDetectionRequestMessage): Promise<JobResponse>;
389
+ /**
390
+ * Reports completion of 3D print analysis — contains estimation, printability, and cost breakdown per FR-022
391
+ * @param data - The message payload
392
+ * @returns Job response with job ID
393
+ */
394
+ modelPrintAnalysisCompleted(data: types.ModelPrintAnalysisCompletedMessage): Promise<JobResponse>;
395
+ /**
396
+ * Triggers 3D print analysis for a model — estimates print time, material usage, support needs, and cost breakdown per FR-022
397
+ * @param data - The message payload
398
+ * @returns Job response with job ID
399
+ */
400
+ modelPrintAnalysisRequest(data: types.ModelPrintAnalysisRequestMessage): Promise<JobResponse>;
383
401
  /**
384
402
  * Contains sellability analysis results including Etsy-specific recommendations, material pricing, and marketplace compatibility scores
385
403
  * @param data - The message payload
@@ -416,6 +434,42 @@ export declare class WorkerClient {
416
434
  * @returns Job response with job ID
417
435
  */
418
436
  modelTechnicalMetadataRequest(data: types.ModelTechnicalMetadataRequestMessage): Promise<JobResponse>;
437
+ /**
438
+ * Request FDM slicing simulation via OrcaSlicer (preferred) or heuristic fallback. Accepts OrcaSlicer-compatible printer/process/filament JSON profiles.
439
+ * @param data - The message payload
440
+ * @returns Job response with job ID
441
+ */
442
+ slicingFdmRequest(data: types.SlicingFdmRequestMessage): Promise<JobResponse>;
443
+ /**
444
+ * Result of FDM slicing simulation from OrcaSlicer (toolpath) or heuristic fallback. Contains exact physical metrics for cost calculation.
445
+ * @param data - The message payload
446
+ * @returns Job response with job ID
447
+ */
448
+ slicingFdmResult(data: types.SlicingFdmResultMessage): Promise<JobResponse>;
449
+ /**
450
+ * Request SLA/MSLA slicing simulation via PySLM cross-sectional analysis. Accepts resin printer profile with exposure, lift, and layer parameters.
451
+ * @param data - The message payload
452
+ * @returns Job response with job ID
453
+ */
454
+ slicingSlaRequest(data: types.SlicingSlaRequestMessage): Promise<JobResponse>;
455
+ /**
456
+ * Result of SLA/MSLA slicing simulation from PySLM cross-sectional analysis. Contains exact resin usage and print time metrics.
457
+ * @param data - The message payload
458
+ * @returns Job response with job ID
459
+ */
460
+ slicingSlaResult(data: types.SlicingSlaResultMessage): Promise<JobResponse>;
461
+ /**
462
+ * Emitted when AI texture generation completes (success or failure). Contains artifact S3 URLs on success, or error details on failure. The credit reservation should be confirmed (success) or released (failure) based on the status.
463
+ * @param data - The message payload
464
+ * @returns Job response with job ID
465
+ */
466
+ textureGenerationCompleted(data: types.TextureGenerationCompletedMessage): Promise<JobResponse>;
467
+ /**
468
+ * Request AI-powered texture generation for a 3D model. Requires a mesh file URL and a text prompt describing the desired texture. Credits are reserved before dispatch.
469
+ * @param data - The message payload
470
+ * @returns Job response with job ID
471
+ */
472
+ textureGenerationRequest(data: types.TextureGenerationRequestMessage): Promise<JobResponse>;
419
473
  /**
420
474
  * Handles thumbnail generation completed.
421
475
  * @param data - The message payload
package/dist/client.js CHANGED
@@ -93,22 +93,6 @@ export class WorkerClient {
93
93
  async backendLoggingEvent(data) {
94
94
  return this.sendToQueue(types.MessageTypes.BACKEND_LOGGING_EVENT, data);
95
95
  }
96
- /**
97
- * Completion event for EKG edge batch creation with propagation results.
98
- * @param data - The message payload
99
- * @returns Job response with job ID
100
- */
101
- async ekgEdgeBatchCreateCompleted(data) {
102
- return this.sendToQueue(types.MessageTypes.EKG_EDGE_BATCH_CREATE_COMPLETED, data);
103
- }
104
- /**
105
- * Create multiple EKG edges with Dempster-Shafer mass functions. Triggered by metamodel detection completion.
106
- * @param data - The message payload
107
- * @returns Job response with job ID
108
- */
109
- async ekgEdgeBatchCreateRequest(data) {
110
- return this.sendToQueue(types.MessageTypes.EKG_EDGE_BATCH_CREATE_REQUEST, data);
111
- }
112
96
  /**
113
97
  * Contains synced analytics data for Etsy listings. Backend stores this in etsy_analytics_snapshots table and indexes to ELK.
114
98
 
@@ -189,20 +173,20 @@ export class WorkerClient {
189
173
  return this.sendToQueue(types.MessageTypes.FILE_VECTORIZE_REQUEST, data);
190
174
  }
191
175
  /**
192
- * Contains synced analytics data for marketplace listings. Backend stores this in marketplace_analytics_snapshots table and indexes to ELK. Works with any marketplace provider.
176
+ * Contains IP verification results including trademark risk, copyright risk, detected brands/franchises, and analysis confidence scores
193
177
  * @param data - The message payload
194
178
  * @returns Job response with job ID
195
179
  */
196
- async marketplaceAnalyticsSyncCompleted(data) {
197
- return this.sendToQueue(types.MessageTypes.MARKETPLACE_ANALYTICS_SYNC_COMPLETED, data);
180
+ async ipCheckCompleted(data) {
181
+ return this.sendToQueue(types.MessageTypes.IP_CHECK_COMPLETED, data);
198
182
  }
199
183
  /**
200
- * Syncs analytics data from marketplace API for one or more listings. Fetches views, favorites, sales, revenue, and traffic source data. Can sync: specific listings, all user listings, or shop-level analytics. Works with any marketplace provider that supports analytics (etsy, ebay, etc.).
184
+ * Triggers intellectual property verification analysis for a model thumbnail, detecting potential trademark and copyright issues using perceptual hashing, text analysis, and optional reverse image search.
201
185
  * @param data - The message payload
202
186
  * @returns Job response with job ID
203
187
  */
204
- async marketplaceAnalyticsSyncRequest(data) {
205
- return this.sendToQueue(types.MessageTypes.MARKETPLACE_ANALYTICS_SYNC_REQUEST, data);
188
+ async ipCheckRequest(data) {
189
+ return this.sendToQueue(types.MessageTypes.IP_CHECK_REQUEST, data);
206
190
  }
207
191
  /**
208
192
  * Notification that marketplace connection sync has completed. Contains updated connection metadata, profile information, and sync statistics.
@@ -241,6 +225,19 @@ export class WorkerClient {
241
225
  async marketplaceCredentialRotationRequest(data) {
242
226
  return this.sendToQueue(types.MessageTypes.MARKETPLACE_CREDENTIAL_ROTATION_REQUEST, data);
243
227
  }
228
+ /**
229
+ * Response from marketplace intelligence scraping.
230
+ Contains aggregated similarity data from marketplace searches.
231
+
232
+ Consumed by worker-backend to update pipeline context before
233
+ sellability analysis runs.
234
+
235
+ * @param data - The message payload
236
+ * @returns Job response with job ID
237
+ */
238
+ async marketplaceIntelligenceCompleted(data) {
239
+ return this.sendToQueue(types.MessageTypes.MARKETPLACE_INTELLIGENCE_COMPLETED, data);
240
+ }
244
241
  /**
245
242
  * Public marketplace intelligence data scraped from external marketplaces.
246
243
 
@@ -264,6 +261,27 @@ export class WorkerClient {
264
261
  async marketplaceIntelligenceEvent(data) {
265
262
  return this.sendToQueue(types.MessageTypes.MARKETPLACE_INTELLIGENCE_EVENT, data);
266
263
  }
264
+ /**
265
+ * Triggers automated marketplace scraping to find similar/competing listings
266
+ for a given model. This is a pipeline stage that runs after metadata generation
267
+ to inform sellability analysis with real market data.
268
+
269
+ The worker-analytic-collector (or marketplace-connectors worker) will:
270
+ 1. Use model metadata (title, tags, category) to build search queries
271
+ 2. Scrape connected marketplaces (Etsy, eBay, etc.) for similar listings
272
+ 3. Emit marketplace-intelligence-event results for Elasticsearch indexing
273
+ 4. Return aggregated similarity data to the pipeline context
274
+
275
+ Pipeline integration:
276
+ - Triggered after: metadata-generation (needs model title/tags/category)
277
+ - Results feed into: sellability-analysis (market positioning data)
278
+
279
+ * @param data - The message payload
280
+ * @returns Job response with job ID
281
+ */
282
+ async marketplaceIntelligenceRequest(data) {
283
+ return this.sendToQueue(types.MessageTypes.MARKETPLACE_INTELLIGENCE_REQUEST, data);
284
+ }
267
285
  /**
268
286
  * Notifies backend that marketplace description generation completed. Contains generated description with metadata tracking (AI model, confidence, generation timestamp) and suggested price.
269
287
  * @param data - The message payload
@@ -347,22 +365,6 @@ export class WorkerClient {
347
365
  async marketplaceListingUpdateRequest(data) {
348
366
  return this.sendToQueue(types.MessageTypes.MARKETPLACE_LISTING_UPDATE_REQUEST, data);
349
367
  }
350
- /**
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.).
352
- * @param data - The message payload
353
- * @returns Job response with job ID
354
- */
355
- async marketplacePublishListingCompleted(data) {
356
- return this.sendToQueue(types.MessageTypes.MARKETPLACE_PUBLISH_LISTING_COMPLETED, data);
357
- }
358
- /**
359
- * Publishes a single metamodel listing to a marketplace for a specific material variant. Creates listing, uploads digital file, and returns external listing ID. This message is enqueued for EACH material variant when publishing a metamodel. The marketplace type (etsy, ebay, etc.) is determined by the marketplaceProvider field.
360
- * @param data - The message payload
361
- * @returns Job response with job ID
362
- */
363
- async marketplacePublishListingRequest(data) {
364
- return this.sendToQueue(types.MessageTypes.MARKETPLACE_PUBLISH_LISTING_REQUEST, data);
365
- }
366
368
  /**
367
369
  * Notifies that a batch media download has been completed.
368
370
  * @param data - The message payload
@@ -442,7 +444,7 @@ export class WorkerClient {
442
444
  return this.sendToQueue(types.MessageTypes.MODEL_DISCOVERY_SCAN_REQUEST, data);
443
445
  }
444
446
  /**
445
- * Request to index a 3D model for similarity search.
447
+ * DEPRECATED (2026-02-18) FR-023 retired. Merge 3D rendering into worker-file-vectorize.
446
448
  * @param data - The message payload
447
449
  * @returns Job response with job ID
448
450
  */
@@ -450,7 +452,7 @@ export class WorkerClient {
450
452
  return this.sendToQueue(types.MessageTypes.MODEL_FINDER_INDEX_REQUEST, data);
451
453
  }
452
454
  /**
453
- * Response containing search results from the model finder.
455
+ * DEPRECATED (2026-02-18) FR-023 retired. Merge 3D rendering into worker-file-vectorize.
454
456
  * @param data - The message payload
455
457
  * @returns Job response with job ID
456
458
  */
@@ -458,7 +460,7 @@ export class WorkerClient {
458
460
  return this.sendToQueue(types.MessageTypes.MODEL_FINDER_RESPONSE, data);
459
461
  }
460
462
  /**
461
- * Request to search for similar 3D models.
463
+ * DEPRECATED (2026-02-18) FR-023 retired. Merge 3D rendering into worker-file-vectorize.
462
464
  * @param data - The message payload
463
465
  * @returns Job response with job ID
464
466
  */
@@ -497,6 +499,22 @@ export class WorkerClient {
497
499
  async modelMetamodelDetectionRequest(data) {
498
500
  return this.sendToQueue(types.MessageTypes.MODEL_METAMODEL_DETECTION_REQUEST, data);
499
501
  }
502
+ /**
503
+ * Reports completion of 3D print analysis — contains estimation, printability, and cost breakdown per FR-022
504
+ * @param data - The message payload
505
+ * @returns Job response with job ID
506
+ */
507
+ async modelPrintAnalysisCompleted(data) {
508
+ return this.sendToQueue(types.MessageTypes.MODEL_PRINT_ANALYSIS_COMPLETED, data);
509
+ }
510
+ /**
511
+ * Triggers 3D print analysis for a model — estimates print time, material usage, support needs, and cost breakdown per FR-022
512
+ * @param data - The message payload
513
+ * @returns Job response with job ID
514
+ */
515
+ async modelPrintAnalysisRequest(data) {
516
+ return this.sendToQueue(types.MessageTypes.MODEL_PRINT_ANALYSIS_REQUEST, data);
517
+ }
500
518
  /**
501
519
  * Contains sellability analysis results including Etsy-specific recommendations, material pricing, and marketplace compatibility scores
502
520
  * @param data - The message payload
@@ -545,6 +563,54 @@ export class WorkerClient {
545
563
  async modelTechnicalMetadataRequest(data) {
546
564
  return this.sendToQueue(types.MessageTypes.MODEL_TECHNICAL_METADATA_REQUEST, data);
547
565
  }
566
+ /**
567
+ * Request FDM slicing simulation via OrcaSlicer (preferred) or heuristic fallback. Accepts OrcaSlicer-compatible printer/process/filament JSON profiles.
568
+ * @param data - The message payload
569
+ * @returns Job response with job ID
570
+ */
571
+ async slicingFdmRequest(data) {
572
+ return this.sendToQueue(types.MessageTypes.SLICING_FDM_REQUEST, data);
573
+ }
574
+ /**
575
+ * Result of FDM slicing simulation from OrcaSlicer (toolpath) or heuristic fallback. Contains exact physical metrics for cost calculation.
576
+ * @param data - The message payload
577
+ * @returns Job response with job ID
578
+ */
579
+ async slicingFdmResult(data) {
580
+ return this.sendToQueue(types.MessageTypes.SLICING_FDM_RESULT, data);
581
+ }
582
+ /**
583
+ * Request SLA/MSLA slicing simulation via PySLM cross-sectional analysis. Accepts resin printer profile with exposure, lift, and layer parameters.
584
+ * @param data - The message payload
585
+ * @returns Job response with job ID
586
+ */
587
+ async slicingSlaRequest(data) {
588
+ return this.sendToQueue(types.MessageTypes.SLICING_SLA_REQUEST, data);
589
+ }
590
+ /**
591
+ * Result of SLA/MSLA slicing simulation from PySLM cross-sectional analysis. Contains exact resin usage and print time metrics.
592
+ * @param data - The message payload
593
+ * @returns Job response with job ID
594
+ */
595
+ async slicingSlaResult(data) {
596
+ return this.sendToQueue(types.MessageTypes.SLICING_SLA_RESULT, data);
597
+ }
598
+ /**
599
+ * Emitted when AI texture generation completes (success or failure). Contains artifact S3 URLs on success, or error details on failure. The credit reservation should be confirmed (success) or released (failure) based on the status.
600
+ * @param data - The message payload
601
+ * @returns Job response with job ID
602
+ */
603
+ async textureGenerationCompleted(data) {
604
+ return this.sendToQueue(types.MessageTypes.TEXTURE_GENERATION_COMPLETED, data);
605
+ }
606
+ /**
607
+ * Request AI-powered texture generation for a 3D model. Requires a mesh file URL and a text prompt describing the desired texture. Credits are reserved before dispatch.
608
+ * @param data - The message payload
609
+ * @returns Job response with job ID
610
+ */
611
+ async textureGenerationRequest(data) {
612
+ return this.sendToQueue(types.MessageTypes.TEXTURE_GENERATION_REQUEST, data);
613
+ }
548
614
  /**
549
615
  * Handles thumbnail generation completed.
550
616
  * @param data - The message payload