@mesh-sync/worker-backend-client 4.0.19 → 4.0.24-pr.51.20260312132340
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 +499 -166
- package/dist/client.d.ts +93 -31
- package/dist/client.js +117 -41
- package/dist/types.d.ts +1490 -290
- package/dist/types.js +13 -6
- package/package.json +1 -1
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.
|
|
@@ -58,18 +66,6 @@ export declare class WorkerClient {
|
|
|
58
66
|
* @returns Job response with job ID
|
|
59
67
|
*/
|
|
60
68
|
backendLoggingEvent(data: types.BackendLoggingEventMessage): Promise<JobResponse>;
|
|
61
|
-
/**
|
|
62
|
-
* Completion event for EKG edge batch creation with propagation results.
|
|
63
|
-
* @param data - The message payload
|
|
64
|
-
* @returns Job response with job ID
|
|
65
|
-
*/
|
|
66
|
-
ekgEdgeBatchCreateCompleted(data: types.EkgEdgeBatchCreateCompletedMessage): Promise<JobResponse>;
|
|
67
|
-
/**
|
|
68
|
-
* Create multiple EKG edges with Dempster-Shafer mass functions. Triggered by metamodel detection completion.
|
|
69
|
-
* @param data - The message payload
|
|
70
|
-
* @returns Job response with job ID
|
|
71
|
-
*/
|
|
72
|
-
ekgEdgeBatchCreateRequest(data: types.EkgEdgeBatchCreateRequestMessage): Promise<JobResponse>;
|
|
73
69
|
/**
|
|
74
70
|
* Contains synced analytics data for Etsy listings. Backend stores this in etsy_analytics_snapshots table and indexes to ELK.
|
|
75
71
|
|
|
@@ -134,17 +130,17 @@ export declare class WorkerClient {
|
|
|
134
130
|
*/
|
|
135
131
|
fileVectorizeRequest(data: types.FileVectorizeRequestMessage): Promise<JobResponse>;
|
|
136
132
|
/**
|
|
137
|
-
* Contains
|
|
133
|
+
* Contains IP verification results including trademark risk, copyright risk, detected brands/franchises, and analysis confidence scores
|
|
138
134
|
* @param data - The message payload
|
|
139
135
|
* @returns Job response with job ID
|
|
140
136
|
*/
|
|
141
|
-
|
|
137
|
+
ipCheckCompleted(data: types.IpCheckCompletedMessage): Promise<JobResponse>;
|
|
142
138
|
/**
|
|
143
|
-
*
|
|
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.
|
|
144
140
|
* @param data - The message payload
|
|
145
141
|
* @returns Job response with job ID
|
|
146
142
|
*/
|
|
147
|
-
|
|
143
|
+
ipCheckRequest(data: types.IpCheckRequestMessage): Promise<JobResponse>;
|
|
148
144
|
/**
|
|
149
145
|
* Notification that marketplace connection sync has completed. Contains updated connection metadata, profile information, and sync statistics.
|
|
150
146
|
|
|
@@ -174,6 +170,17 @@ export declare class WorkerClient {
|
|
|
174
170
|
* @returns Job response with job ID
|
|
175
171
|
*/
|
|
176
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>;
|
|
177
184
|
/**
|
|
178
185
|
* Public marketplace intelligence data scraped from external marketplaces.
|
|
179
186
|
|
|
@@ -195,6 +202,25 @@ export declare class WorkerClient {
|
|
|
195
202
|
* @returns Job response with job ID
|
|
196
203
|
*/
|
|
197
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>;
|
|
198
224
|
/**
|
|
199
225
|
* Notifies backend that marketplace description generation completed. Contains generated description with metadata tracking (AI model, confidence, generation timestamp) and suggested price.
|
|
200
226
|
* @param data - The message payload
|
|
@@ -258,18 +284,6 @@ export declare class WorkerClient {
|
|
|
258
284
|
* @returns Job response with job ID
|
|
259
285
|
*/
|
|
260
286
|
marketplaceListingUpdateRequest(data: types.MarketplaceListingUpdateRequestMessage): Promise<JobResponse>;
|
|
261
|
-
/**
|
|
262
|
-
* 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.).
|
|
263
|
-
* @param data - The message payload
|
|
264
|
-
* @returns Job response with job ID
|
|
265
|
-
*/
|
|
266
|
-
marketplacePublishListingCompleted(data: types.MarketplacePublishListingCompletedMessage): Promise<JobResponse>;
|
|
267
|
-
/**
|
|
268
|
-
* 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.
|
|
269
|
-
* @param data - The message payload
|
|
270
|
-
* @returns Job response with job ID
|
|
271
|
-
*/
|
|
272
|
-
marketplacePublishListingRequest(data: types.MarketplacePublishListingRequestMessage): Promise<JobResponse>;
|
|
273
287
|
/**
|
|
274
288
|
* Notifies that a batch media download has been completed.
|
|
275
289
|
* @param data - The message payload
|
|
@@ -331,19 +345,19 @@ export declare class WorkerClient {
|
|
|
331
345
|
*/
|
|
332
346
|
modelDiscoveryScanRequest(data: types.ModelDiscoveryScanRequestMessage): Promise<JobResponse>;
|
|
333
347
|
/**
|
|
334
|
-
*
|
|
348
|
+
* DEPRECATED (2026-02-18) — FR-023 retired. Merge 3D rendering into worker-file-vectorize.
|
|
335
349
|
* @param data - The message payload
|
|
336
350
|
* @returns Job response with job ID
|
|
337
351
|
*/
|
|
338
352
|
modelFinderIndexRequest(data: types.ModelFinderIndexRequestMessage): Promise<JobResponse>;
|
|
339
353
|
/**
|
|
340
|
-
*
|
|
354
|
+
* DEPRECATED (2026-02-18) — FR-023 retired. Merge 3D rendering into worker-file-vectorize.
|
|
341
355
|
* @param data - The message payload
|
|
342
356
|
* @returns Job response with job ID
|
|
343
357
|
*/
|
|
344
358
|
modelFinderResponse(data: types.ModelFinderResponseMessage): Promise<JobResponse>;
|
|
345
359
|
/**
|
|
346
|
-
*
|
|
360
|
+
* DEPRECATED (2026-02-18) — FR-023 retired. Merge 3D rendering into worker-file-vectorize.
|
|
347
361
|
* @param data - The message payload
|
|
348
362
|
* @returns Job response with job ID
|
|
349
363
|
*/
|
|
@@ -372,6 +386,18 @@ export declare class WorkerClient {
|
|
|
372
386
|
* @returns Job response with job ID
|
|
373
387
|
*/
|
|
374
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>;
|
|
375
401
|
/**
|
|
376
402
|
* Contains sellability analysis results including Etsy-specific recommendations, material pricing, and marketplace compatibility scores
|
|
377
403
|
* @param data - The message payload
|
|
@@ -408,6 +434,42 @@ export declare class WorkerClient {
|
|
|
408
434
|
* @returns Job response with job ID
|
|
409
435
|
*/
|
|
410
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>;
|
|
411
473
|
/**
|
|
412
474
|
* Handles thumbnail generation completed.
|
|
413
475
|
* @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.
|
|
@@ -83,22 +93,6 @@ export class WorkerClient {
|
|
|
83
93
|
async backendLoggingEvent(data) {
|
|
84
94
|
return this.sendToQueue(types.MessageTypes.BACKEND_LOGGING_EVENT, data);
|
|
85
95
|
}
|
|
86
|
-
/**
|
|
87
|
-
* Completion event for EKG edge batch creation with propagation results.
|
|
88
|
-
* @param data - The message payload
|
|
89
|
-
* @returns Job response with job ID
|
|
90
|
-
*/
|
|
91
|
-
async ekgEdgeBatchCreateCompleted(data) {
|
|
92
|
-
return this.sendToQueue(types.MessageTypes.EKG_EDGE_BATCH_CREATE_COMPLETED, data);
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Create multiple EKG edges with Dempster-Shafer mass functions. Triggered by metamodel detection completion.
|
|
96
|
-
* @param data - The message payload
|
|
97
|
-
* @returns Job response with job ID
|
|
98
|
-
*/
|
|
99
|
-
async ekgEdgeBatchCreateRequest(data) {
|
|
100
|
-
return this.sendToQueue(types.MessageTypes.EKG_EDGE_BATCH_CREATE_REQUEST, data);
|
|
101
|
-
}
|
|
102
96
|
/**
|
|
103
97
|
* Contains synced analytics data for Etsy listings. Backend stores this in etsy_analytics_snapshots table and indexes to ELK.
|
|
104
98
|
|
|
@@ -179,20 +173,20 @@ export class WorkerClient {
|
|
|
179
173
|
return this.sendToQueue(types.MessageTypes.FILE_VECTORIZE_REQUEST, data);
|
|
180
174
|
}
|
|
181
175
|
/**
|
|
182
|
-
* Contains
|
|
176
|
+
* Contains IP verification results including trademark risk, copyright risk, detected brands/franchises, and analysis confidence scores
|
|
183
177
|
* @param data - The message payload
|
|
184
178
|
* @returns Job response with job ID
|
|
185
179
|
*/
|
|
186
|
-
async
|
|
187
|
-
return this.sendToQueue(types.MessageTypes.
|
|
180
|
+
async ipCheckCompleted(data) {
|
|
181
|
+
return this.sendToQueue(types.MessageTypes.IP_CHECK_COMPLETED, data);
|
|
188
182
|
}
|
|
189
183
|
/**
|
|
190
|
-
*
|
|
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.
|
|
191
185
|
* @param data - The message payload
|
|
192
186
|
* @returns Job response with job ID
|
|
193
187
|
*/
|
|
194
|
-
async
|
|
195
|
-
return this.sendToQueue(types.MessageTypes.
|
|
188
|
+
async ipCheckRequest(data) {
|
|
189
|
+
return this.sendToQueue(types.MessageTypes.IP_CHECK_REQUEST, data);
|
|
196
190
|
}
|
|
197
191
|
/**
|
|
198
192
|
* Notification that marketplace connection sync has completed. Contains updated connection metadata, profile information, and sync statistics.
|
|
@@ -231,6 +225,19 @@ export class WorkerClient {
|
|
|
231
225
|
async marketplaceCredentialRotationRequest(data) {
|
|
232
226
|
return this.sendToQueue(types.MessageTypes.MARKETPLACE_CREDENTIAL_ROTATION_REQUEST, data);
|
|
233
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
|
+
}
|
|
234
241
|
/**
|
|
235
242
|
* Public marketplace intelligence data scraped from external marketplaces.
|
|
236
243
|
|
|
@@ -254,6 +261,27 @@ export class WorkerClient {
|
|
|
254
261
|
async marketplaceIntelligenceEvent(data) {
|
|
255
262
|
return this.sendToQueue(types.MessageTypes.MARKETPLACE_INTELLIGENCE_EVENT, data);
|
|
256
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
|
+
}
|
|
257
285
|
/**
|
|
258
286
|
* Notifies backend that marketplace description generation completed. Contains generated description with metadata tracking (AI model, confidence, generation timestamp) and suggested price.
|
|
259
287
|
* @param data - The message payload
|
|
@@ -337,22 +365,6 @@ export class WorkerClient {
|
|
|
337
365
|
async marketplaceListingUpdateRequest(data) {
|
|
338
366
|
return this.sendToQueue(types.MessageTypes.MARKETPLACE_LISTING_UPDATE_REQUEST, data);
|
|
339
367
|
}
|
|
340
|
-
/**
|
|
341
|
-
* 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.).
|
|
342
|
-
* @param data - The message payload
|
|
343
|
-
* @returns Job response with job ID
|
|
344
|
-
*/
|
|
345
|
-
async marketplacePublishListingCompleted(data) {
|
|
346
|
-
return this.sendToQueue(types.MessageTypes.MARKETPLACE_PUBLISH_LISTING_COMPLETED, data);
|
|
347
|
-
}
|
|
348
|
-
/**
|
|
349
|
-
* 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.
|
|
350
|
-
* @param data - The message payload
|
|
351
|
-
* @returns Job response with job ID
|
|
352
|
-
*/
|
|
353
|
-
async marketplacePublishListingRequest(data) {
|
|
354
|
-
return this.sendToQueue(types.MessageTypes.MARKETPLACE_PUBLISH_LISTING_REQUEST, data);
|
|
355
|
-
}
|
|
356
368
|
/**
|
|
357
369
|
* Notifies that a batch media download has been completed.
|
|
358
370
|
* @param data - The message payload
|
|
@@ -432,7 +444,7 @@ export class WorkerClient {
|
|
|
432
444
|
return this.sendToQueue(types.MessageTypes.MODEL_DISCOVERY_SCAN_REQUEST, data);
|
|
433
445
|
}
|
|
434
446
|
/**
|
|
435
|
-
*
|
|
447
|
+
* DEPRECATED (2026-02-18) — FR-023 retired. Merge 3D rendering into worker-file-vectorize.
|
|
436
448
|
* @param data - The message payload
|
|
437
449
|
* @returns Job response with job ID
|
|
438
450
|
*/
|
|
@@ -440,7 +452,7 @@ export class WorkerClient {
|
|
|
440
452
|
return this.sendToQueue(types.MessageTypes.MODEL_FINDER_INDEX_REQUEST, data);
|
|
441
453
|
}
|
|
442
454
|
/**
|
|
443
|
-
*
|
|
455
|
+
* DEPRECATED (2026-02-18) — FR-023 retired. Merge 3D rendering into worker-file-vectorize.
|
|
444
456
|
* @param data - The message payload
|
|
445
457
|
* @returns Job response with job ID
|
|
446
458
|
*/
|
|
@@ -448,7 +460,7 @@ export class WorkerClient {
|
|
|
448
460
|
return this.sendToQueue(types.MessageTypes.MODEL_FINDER_RESPONSE, data);
|
|
449
461
|
}
|
|
450
462
|
/**
|
|
451
|
-
*
|
|
463
|
+
* DEPRECATED (2026-02-18) — FR-023 retired. Merge 3D rendering into worker-file-vectorize.
|
|
452
464
|
* @param data - The message payload
|
|
453
465
|
* @returns Job response with job ID
|
|
454
466
|
*/
|
|
@@ -487,6 +499,22 @@ export class WorkerClient {
|
|
|
487
499
|
async modelMetamodelDetectionRequest(data) {
|
|
488
500
|
return this.sendToQueue(types.MessageTypes.MODEL_METAMODEL_DETECTION_REQUEST, data);
|
|
489
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
|
+
}
|
|
490
518
|
/**
|
|
491
519
|
* Contains sellability analysis results including Etsy-specific recommendations, material pricing, and marketplace compatibility scores
|
|
492
520
|
* @param data - The message payload
|
|
@@ -535,6 +563,54 @@ export class WorkerClient {
|
|
|
535
563
|
async modelTechnicalMetadataRequest(data) {
|
|
536
564
|
return this.sendToQueue(types.MessageTypes.MODEL_TECHNICAL_METADATA_REQUEST, data);
|
|
537
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
|
+
}
|
|
538
614
|
/**
|
|
539
615
|
* Handles thumbnail generation completed.
|
|
540
616
|
* @param data - The message payload
|