@mesh-sync/worker-backend-client 4.0.9 → 4.0.15

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 CHANGED
@@ -163,6 +163,52 @@ Used for:
163
163
 
164
164
 
165
165
 
166
+ ### ekg-edge-batch-create-completed
167
+
168
+ **Description:** Completion event for EKG edge batch creation with propagation results.
169
+
170
+ **Method:** `client.ekgEdgeBatchCreateCompleted(data)`
171
+
172
+ **Payload Type:** `EkgEdgeBatchCreateCompletedMessage`
173
+
174
+ **Fields:**
175
+
176
+ - `requestId` (string) [✓]: Original request ID from ekg-edge-batch-create-request
177
+
178
+ - `success` (boolean) [✓]: Whether the batch operation succeeded
179
+
180
+ - `statistics` (object) [✓]: Batch operation statistics
181
+
182
+ - `conflicts` (array) [✗]: List of high-conflict edges requiring review
183
+
184
+ - `errors` (array) [✗]: Errors encountered during processing
185
+
186
+ - `graphMetrics` (object) [✗]: Overall graph state after this batch
187
+
188
+
189
+
190
+ ### ekg-edge-batch-create-request
191
+
192
+ **Description:** Create multiple EKG edges with Dempster-Shafer mass functions. Triggered by metamodel detection completion.
193
+
194
+ **Method:** `client.ekgEdgeBatchCreateRequest(data)`
195
+
196
+ **Payload Type:** `EkgEdgeBatchCreateRequestMessage`
197
+
198
+ **Fields:**
199
+
200
+ - `requestId` (string) [✓]: Unique request ID for tracking (e.g., metamodel detection job ID)
201
+
202
+ - `source` (string) [✓]: Source of the edges: metamodel-heuristic, manual, taxonomy-import, etc.
203
+
204
+ - `edges` (array) [✓]: Batch of edges to create/update in the EKG
205
+
206
+ - `propagationOptions` (object) [✗]: Options for evidential edge propagation after edge creation
207
+
208
+ - `webhookUrl` (string) [✗]: Optional webhook URL for async completion notification
209
+
210
+
211
+
166
212
  ### etsy-analytics-sync-completed
167
213
 
168
214
  **Description:** Contains synced analytics data for Etsy listings. Backend stores this in etsy_analytics_snapshots table and indexes to ELK.
@@ -601,6 +647,60 @@ This is typically triggered after initial connection or periodically to keep mar
601
647
 
602
648
 
603
649
 
650
+ ### marketplace-listing-description-generation-completed
651
+
652
+ **Description:** Notifies backend that marketplace description generation completed. Contains generated description with metadata tracking (AI model, confidence, generation timestamp).
653
+
654
+ **Method:** `client.marketplaceListingDescriptionGenerationCompleted(data)`
655
+
656
+ **Payload Type:** `MarketplaceListingDescriptionGenerationCompletedMessage`
657
+
658
+ **Fields:**
659
+
660
+ - `modelId` (string) [✓]: UUID of the model that was processed
661
+
662
+ - `entityType` (string) [✓]: Type of entity processed
663
+
664
+ - `description` (string) [✓]: SEO-optimized marketplace description (3-5 sentences)
665
+
666
+ - `metadata` (object) [✓]: Content generation metadata for tracking
667
+
668
+ - `error` (string) [✗]: Error message if generation failed
669
+
670
+
671
+
672
+ ### marketplace-listing-description-generation-request
673
+
674
+ **Description:** Generates SEO-optimized marketplace description for a 3D model using LLM vision analysis. Worker receives model data, technical metadata, and thumbnail URLs to generate compelling product descriptions tailored to the target marketplace.
675
+
676
+ **Method:** `client.marketplaceListingDescriptionGenerationRequest(data)`
677
+
678
+ **Payload Type:** `MarketplaceListingDescriptionGenerationRequestMessage`
679
+
680
+ **Fields:**
681
+
682
+ - `modelId` (string) [✓]: UUID of the model (reference only)
683
+
684
+ - `entityType` (string) [✓]: Type of entity being processed
685
+
686
+ - `entityName` (string) [✓]: Name/title of the model or metamodel
687
+
688
+ - `targetMarketplace` (string) [✓]: Target marketplace ID (e.g., 'etsy', 'ebay', 'thingiverse')
689
+
690
+ - `userId` (string) [✓]: UUID of the user requesting generation
691
+
692
+ - `webhookUrl` (string) [✗]: Callback URL for completion notification
693
+
694
+ - `technicalMetadata` (object) [✗]: Technical analysis data for context
695
+
696
+ - `thumbnailUrls` (array) [✗]: URLs to 360-degree thumbnail views
697
+
698
+ - `existingTags` (array) [✗]: Currently assigned tags for context
699
+
700
+ - `existingCategory` (string) [✗]: Current classification for context
701
+
702
+
703
+
604
704
  ### marketplace-listing-sync-completed
605
705
 
606
706
  **Description:** Notification that marketplace listing sync operation has completed. Contains detailed results of the sync including created/updated listings, errors encountered, and performance statistics.
@@ -678,6 +778,116 @@ Includes bidirectional sync: - Pull: Fetch listings from marketplace to update l
678
778
 
679
779
 
680
780
 
781
+ ### marketplace-listing-tags-generation-completed
782
+
783
+ **Description:** Notifies backend that marketplace tags generation completed. Contains generated tags optimized for discoverability with metadata tracking.
784
+
785
+ **Method:** `client.marketplaceListingTagsGenerationCompleted(data)`
786
+
787
+ **Payload Type:** `MarketplaceListingTagsGenerationCompletedMessage`
788
+
789
+ **Fields:**
790
+
791
+ - `modelId` (string) [✓]: UUID of the model that was processed
792
+
793
+ - `entityType` (string) [✓]: Type of entity processed
794
+
795
+ - `tags` (array) [✓]: Generated searchability tags (style, technical, usage keywords)
796
+
797
+ - `metadata` (object) [✓]: Content generation metadata for tracking
798
+
799
+ - `error` (string) [✗]: Error message if generation failed
800
+
801
+
802
+
803
+ ### marketplace-listing-tags-generation-request
804
+
805
+ **Description:** Generates searchability tags for a 3D model optimized for marketplace discoverability. Worker creates style, technical, and usage keywords following marketplace tag limits and SEO best practices.
806
+
807
+ **Method:** `client.marketplaceListingTagsGenerationRequest(data)`
808
+
809
+ **Payload Type:** `MarketplaceListingTagsGenerationRequestMessage`
810
+
811
+ **Fields:**
812
+
813
+ - `modelId` (string) [✓]: UUID of the model (reference only)
814
+
815
+ - `entityType` (string) [✓]: Type of entity being processed
816
+
817
+ - `entityName` (string) [✓]: Name/title of the model or metamodel
818
+
819
+ - `targetMarketplace` (string) [✓]: Target marketplace ID (e.g., 'etsy', 'ebay', 'thingiverse')
820
+
821
+ - `userId` (string) [✓]: UUID of the user requesting generation
822
+
823
+ - `webhookUrl` (string) [✗]: Callback URL for completion notification
824
+
825
+ - `technicalMetadata` (object) [✗]: Technical analysis data for tag generation
826
+
827
+ - `thumbnailUrls` (array) [✗]: URLs to 360-degree thumbnail views for visual analysis
828
+
829
+ - `existingTags` (array) [✗]: Currently assigned tags to supplement or replace
830
+
831
+ - `existingCategory` (string) [✗]: Current classification for category-based tags
832
+
833
+ - `tagLimit` (number) [✗]: Maximum number of tags for marketplace (e.g., 13 for Etsy)
834
+
835
+
836
+
837
+ ### marketplace-listing-title-generation-completed
838
+
839
+ **Description:** Notifies backend that marketplace title generation completed. Contains generated title with metadata tracking.
840
+
841
+ **Method:** `client.marketplaceListingTitleGenerationCompleted(data)`
842
+
843
+ **Payload Type:** `MarketplaceListingTitleGenerationCompletedMessage`
844
+
845
+ **Fields:**
846
+
847
+ - `modelId` (string) [✓]: UUID of the model that was processed
848
+
849
+ - `entityType` (string) [✓]: Type of entity processed
850
+
851
+ - `title` (string) [✓]: Marketplace-optimized title
852
+
853
+ - `metadata` (object) [✓]: Content generation metadata for tracking
854
+
855
+ - `error` (string) [✗]: Error message if generation failed
856
+
857
+
858
+
859
+ ### marketplace-listing-title-generation-request
860
+
861
+ **Description:** Generates marketplace-optimized title for a 3D model. Worker creates concise, SEO-friendly titles following marketplace character limits and best practices.
862
+
863
+ **Method:** `client.marketplaceListingTitleGenerationRequest(data)`
864
+
865
+ **Payload Type:** `MarketplaceListingTitleGenerationRequestMessage`
866
+
867
+ **Fields:**
868
+
869
+ - `modelId` (string) [✓]: UUID of the model (reference only)
870
+
871
+ - `entityType` (string) [✓]: Type of entity being processed
872
+
873
+ - `currentName` (string) [✓]: Current model/metamodel name
874
+
875
+ - `targetMarketplace` (string) [✓]: Target marketplace ID (e.g., 'etsy', 'ebay', 'thingiverse')
876
+
877
+ - `userId` (string) [✓]: UUID of the user requesting generation
878
+
879
+ - `webhookUrl` (string) [✗]: Callback URL for completion notification
880
+
881
+ - `technicalMetadata` (object) [✗]: Technical analysis data for context
882
+
883
+ - `existingTags` (array) [✗]: Currently assigned tags for SEO keywords
884
+
885
+ - `existingCategory` (string) [✗]: Current classification for categorization
886
+
887
+ - `characterLimit` (number) [✗]: Maximum character count for marketplace (e.g., 140 for Etsy)
888
+
889
+
890
+
681
891
  ### marketplace-publish-listing-completed
682
892
 
683
893
  **Description:** 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.).
@@ -1080,6 +1290,8 @@ and stores aggregated statistics in Elasticsearch for trend analysis.
1080
1290
 
1081
1291
  - `metamodels` (array) [✓]: List of metamodel nodes in hierarchical structure (roots and children).
1082
1292
 
1293
+ - `ekgEdges` (array) [✗]: EKG edges derived from Louvain clustering (OPTIONAL - new field)
1294
+
1083
1295
 
1084
1296
 
1085
1297
  ### model-metamodel-detection-request
@@ -1358,6 +1570,8 @@ and stores aggregated statistics in Elasticsearch for trend analysis.
1358
1570
 
1359
1571
  - `thumbnail360Views` (array) [✗]: Array of 360° thumbnail view paths (16 angles) for vision-based analysis.
1360
1572
 
1573
+ - `gltfPreviewPath` (string) [✗]: The path to the generated GLTF/GLB 3D preview file.
1574
+
1361
1575
  - `errorMessage` (string) [✗]: An error message if the thumbnail generation failed.
1362
1576
 
1363
1577
  - `storageLocation` (object) [✗]: The storage location of the model.
@@ -1621,6 +1835,12 @@ Used for:
1621
1835
  - Compliance and audit trails
1622
1836
 
1623
1837
 
1838
+ - `ekgEdgeBatchCreateCompleted(data: EkgEdgeBatchCreateCompletedMessage): Promise<JobResponse>`
1839
+ - Completion event for EKG edge batch creation with propagation results.
1840
+
1841
+ - `ekgEdgeBatchCreateRequest(data: EkgEdgeBatchCreateRequestMessage): Promise<JobResponse>`
1842
+ - Create multiple EKG edges with Dempster-Shafer mass functions. Triggered by metamodel detection completion.
1843
+
1624
1844
  - `etsyAnalyticsSyncCompleted(data: EtsyAnalyticsSyncCompletedMessage): Promise<JobResponse>`
1625
1845
  - Contains synced analytics data for Etsy listings. Backend stores this in etsy_analytics_snapshots table and indexes to ELK.
1626
1846
 
@@ -1683,6 +1903,12 @@ This is typically triggered after initial connection or periodically to keep mar
1683
1903
  - 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
1684
1904
 
1685
1905
 
1906
+ - `marketplaceListingDescriptionGenerationCompleted(data: MarketplaceListingDescriptionGenerationCompletedMessage): Promise<JobResponse>`
1907
+ - Notifies backend that marketplace description generation completed. Contains generated description with metadata tracking (AI model, confidence, generation timestamp).
1908
+
1909
+ - `marketplaceListingDescriptionGenerationRequest(data: MarketplaceListingDescriptionGenerationRequestMessage): Promise<JobResponse>`
1910
+ - Generates SEO-optimized marketplace description for a 3D model using LLM vision analysis. Worker receives model data, technical metadata, and thumbnail URLs to generate compelling product descriptions tailored to the target marketplace.
1911
+
1686
1912
  - `marketplaceListingSyncCompleted(data: MarketplaceListingSyncCompletedMessage): Promise<JobResponse>`
1687
1913
  - Notification that marketplace listing sync operation has completed. Contains detailed results of the sync including created/updated listings, errors encountered, and performance statistics.
1688
1914
 
@@ -1692,6 +1918,18 @@ This is typically triggered after initial connection or periodically to keep mar
1692
1918
  Includes bidirectional sync: - Pull: Fetch listings from marketplace to update local database - Push: Update marketplace listings with local changes - Full: Both pull and push operations
1693
1919
 
1694
1920
 
1921
+ - `marketplaceListingTagsGenerationCompleted(data: MarketplaceListingTagsGenerationCompletedMessage): Promise<JobResponse>`
1922
+ - Notifies backend that marketplace tags generation completed. Contains generated tags optimized for discoverability with metadata tracking.
1923
+
1924
+ - `marketplaceListingTagsGenerationRequest(data: MarketplaceListingTagsGenerationRequestMessage): Promise<JobResponse>`
1925
+ - Generates searchability tags for a 3D model optimized for marketplace discoverability. Worker creates style, technical, and usage keywords following marketplace tag limits and SEO best practices.
1926
+
1927
+ - `marketplaceListingTitleGenerationCompleted(data: MarketplaceListingTitleGenerationCompletedMessage): Promise<JobResponse>`
1928
+ - Notifies backend that marketplace title generation completed. Contains generated title with metadata tracking.
1929
+
1930
+ - `marketplaceListingTitleGenerationRequest(data: MarketplaceListingTitleGenerationRequestMessage): Promise<JobResponse>`
1931
+ - Generates marketplace-optimized title for a 3D model. Worker creates concise, SEO-friendly titles following marketplace character limits and best practices.
1932
+
1695
1933
  - `marketplacePublishListingCompleted(data: MarketplacePublishListingCompletedMessage): Promise<JobResponse>`
1696
1934
  - 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.).
1697
1935
 
package/dist/client.d.ts CHANGED
@@ -58,6 +58,18 @@ export declare class WorkerClient {
58
58
  * @returns Job response with job ID
59
59
  */
60
60
  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>;
61
73
  /**
62
74
  * Contains synced analytics data for Etsy listings. Backend stores this in etsy_analytics_snapshots table and indexes to ELK.
63
75
 
@@ -162,6 +174,18 @@ export declare class WorkerClient {
162
174
  * @returns Job response with job ID
163
175
  */
164
176
  marketplaceCredentialRotationRequest(data: types.MarketplaceCredentialRotationRequestMessage): Promise<JobResponse>;
177
+ /**
178
+ * Notifies backend that marketplace description generation completed. Contains generated description with metadata tracking (AI model, confidence, generation timestamp).
179
+ * @param data - The message payload
180
+ * @returns Job response with job ID
181
+ */
182
+ marketplaceListingDescriptionGenerationCompleted(data: types.MarketplaceListingDescriptionGenerationCompletedMessage): Promise<JobResponse>;
183
+ /**
184
+ * Generates SEO-optimized marketplace description for a 3D model using LLM vision analysis. Worker receives model data, technical metadata, and thumbnail URLs to generate compelling product descriptions tailored to the target marketplace.
185
+ * @param data - The message payload
186
+ * @returns Job response with job ID
187
+ */
188
+ marketplaceListingDescriptionGenerationRequest(data: types.MarketplaceListingDescriptionGenerationRequestMessage): Promise<JobResponse>;
165
189
  /**
166
190
  * Notification that marketplace listing sync operation has completed. Contains detailed results of the sync including created/updated listings, errors encountered, and performance statistics.
167
191
 
@@ -177,6 +201,30 @@ export declare class WorkerClient {
177
201
  * @returns Job response with job ID
178
202
  */
179
203
  marketplaceListingSyncRequest(data: types.MarketplaceListingSyncRequestMessage): Promise<JobResponse>;
204
+ /**
205
+ * Notifies backend that marketplace tags generation completed. Contains generated tags optimized for discoverability with metadata tracking.
206
+ * @param data - The message payload
207
+ * @returns Job response with job ID
208
+ */
209
+ marketplaceListingTagsGenerationCompleted(data: types.MarketplaceListingTagsGenerationCompletedMessage): Promise<JobResponse>;
210
+ /**
211
+ * Generates searchability tags for a 3D model optimized for marketplace discoverability. Worker creates style, technical, and usage keywords following marketplace tag limits and SEO best practices.
212
+ * @param data - The message payload
213
+ * @returns Job response with job ID
214
+ */
215
+ marketplaceListingTagsGenerationRequest(data: types.MarketplaceListingTagsGenerationRequestMessage): Promise<JobResponse>;
216
+ /**
217
+ * Notifies backend that marketplace title generation completed. Contains generated title with metadata tracking.
218
+ * @param data - The message payload
219
+ * @returns Job response with job ID
220
+ */
221
+ marketplaceListingTitleGenerationCompleted(data: types.MarketplaceListingTitleGenerationCompletedMessage): Promise<JobResponse>;
222
+ /**
223
+ * Generates marketplace-optimized title for a 3D model. Worker creates concise, SEO-friendly titles following marketplace character limits and best practices.
224
+ * @param data - The message payload
225
+ * @returns Job response with job ID
226
+ */
227
+ marketplaceListingTitleGenerationRequest(data: types.MarketplaceListingTitleGenerationRequestMessage): Promise<JobResponse>;
180
228
  /**
181
229
  * 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.).
182
230
  * @param data - The message payload
package/dist/client.js CHANGED
@@ -83,6 +83,22 @@ export class WorkerClient {
83
83
  async backendLoggingEvent(data) {
84
84
  return this.sendToQueue(types.MessageTypes.BACKEND_LOGGING_EVENT, data);
85
85
  }
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
+ }
86
102
  /**
87
103
  * Contains synced analytics data for Etsy listings. Backend stores this in etsy_analytics_snapshots table and indexes to ELK.
88
104
 
@@ -215,6 +231,22 @@ export class WorkerClient {
215
231
  async marketplaceCredentialRotationRequest(data) {
216
232
  return this.sendToQueue(types.MessageTypes.MARKETPLACE_CREDENTIAL_ROTATION_REQUEST, data);
217
233
  }
234
+ /**
235
+ * Notifies backend that marketplace description generation completed. Contains generated description with metadata tracking (AI model, confidence, generation timestamp).
236
+ * @param data - The message payload
237
+ * @returns Job response with job ID
238
+ */
239
+ async marketplaceListingDescriptionGenerationCompleted(data) {
240
+ return this.sendToQueue(types.MessageTypes.MARKETPLACE_LISTING_DESCRIPTION_GENERATION_COMPLETED, data);
241
+ }
242
+ /**
243
+ * Generates SEO-optimized marketplace description for a 3D model using LLM vision analysis. Worker receives model data, technical metadata, and thumbnail URLs to generate compelling product descriptions tailored to the target marketplace.
244
+ * @param data - The message payload
245
+ * @returns Job response with job ID
246
+ */
247
+ async marketplaceListingDescriptionGenerationRequest(data) {
248
+ return this.sendToQueue(types.MessageTypes.MARKETPLACE_LISTING_DESCRIPTION_GENERATION_REQUEST, data);
249
+ }
218
250
  /**
219
251
  * Notification that marketplace listing sync operation has completed. Contains detailed results of the sync including created/updated listings, errors encountered, and performance statistics.
220
252
 
@@ -234,6 +266,38 @@ export class WorkerClient {
234
266
  async marketplaceListingSyncRequest(data) {
235
267
  return this.sendToQueue(types.MessageTypes.MARKETPLACE_LISTING_SYNC_REQUEST, data);
236
268
  }
269
+ /**
270
+ * Notifies backend that marketplace tags generation completed. Contains generated tags optimized for discoverability with metadata tracking.
271
+ * @param data - The message payload
272
+ * @returns Job response with job ID
273
+ */
274
+ async marketplaceListingTagsGenerationCompleted(data) {
275
+ return this.sendToQueue(types.MessageTypes.MARKETPLACE_LISTING_TAGS_GENERATION_COMPLETED, data);
276
+ }
277
+ /**
278
+ * Generates searchability tags for a 3D model optimized for marketplace discoverability. Worker creates style, technical, and usage keywords following marketplace tag limits and SEO best practices.
279
+ * @param data - The message payload
280
+ * @returns Job response with job ID
281
+ */
282
+ async marketplaceListingTagsGenerationRequest(data) {
283
+ return this.sendToQueue(types.MessageTypes.MARKETPLACE_LISTING_TAGS_GENERATION_REQUEST, data);
284
+ }
285
+ /**
286
+ * Notifies backend that marketplace title generation completed. Contains generated title with metadata tracking.
287
+ * @param data - The message payload
288
+ * @returns Job response with job ID
289
+ */
290
+ async marketplaceListingTitleGenerationCompleted(data) {
291
+ return this.sendToQueue(types.MessageTypes.MARKETPLACE_LISTING_TITLE_GENERATION_COMPLETED, data);
292
+ }
293
+ /**
294
+ * Generates marketplace-optimized title for a 3D model. Worker creates concise, SEO-friendly titles following marketplace character limits and best practices.
295
+ * @param data - The message payload
296
+ * @returns Job response with job ID
297
+ */
298
+ async marketplaceListingTitleGenerationRequest(data) {
299
+ return this.sendToQueue(types.MessageTypes.MARKETPLACE_LISTING_TITLE_GENERATION_REQUEST, data);
300
+ }
237
301
  /**
238
302
  * 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.).
239
303
  * @param data - The message payload
package/dist/types.d.ts CHANGED
@@ -3,6 +3,8 @@
3
3
  */
4
4
  export declare const MessageTypes: {
5
5
  readonly BACKEND_LOGGING_EVENT: "backend-logging-event";
6
+ readonly EKG_EDGE_BATCH_CREATE_COMPLETED: "ekg-edge-batch-create-completed";
7
+ readonly EKG_EDGE_BATCH_CREATE_REQUEST: "ekg-edge-batch-create-request";
6
8
  readonly ETSY_ANALYTICS_SYNC_COMPLETED: "etsy-analytics-sync-completed";
7
9
  readonly ETSY_ANALYTICS_SYNC_REQUEST: "etsy-analytics-sync-request";
8
10
  readonly ETSY_PUBLISH_LISTING_COMPLETED: "etsy-publish-listing-completed";
@@ -17,8 +19,14 @@ export declare const MessageTypes: {
17
19
  readonly MARKETPLACE_CONNECTION_SYNC_REQUEST: "marketplace-connection-sync-request";
18
20
  readonly MARKETPLACE_CREDENTIAL_ROTATION_COMPLETED: "marketplace-credential-rotation-completed";
19
21
  readonly MARKETPLACE_CREDENTIAL_ROTATION_REQUEST: "marketplace-credential-rotation-request";
22
+ readonly MARKETPLACE_LISTING_DESCRIPTION_GENERATION_COMPLETED: "marketplace-listing-description-generation-completed";
23
+ readonly MARKETPLACE_LISTING_DESCRIPTION_GENERATION_REQUEST: "marketplace-listing-description-generation-request";
20
24
  readonly MARKETPLACE_LISTING_SYNC_COMPLETED: "marketplace-listing-sync-completed";
21
25
  readonly MARKETPLACE_LISTING_SYNC_REQUEST: "marketplace-listing-sync-request";
26
+ readonly MARKETPLACE_LISTING_TAGS_GENERATION_COMPLETED: "marketplace-listing-tags-generation-completed";
27
+ readonly MARKETPLACE_LISTING_TAGS_GENERATION_REQUEST: "marketplace-listing-tags-generation-request";
28
+ readonly MARKETPLACE_LISTING_TITLE_GENERATION_COMPLETED: "marketplace-listing-title-generation-completed";
29
+ readonly MARKETPLACE_LISTING_TITLE_GENERATION_REQUEST: "marketplace-listing-title-generation-request";
22
30
  readonly MARKETPLACE_PUBLISH_LISTING_COMPLETED: "marketplace-publish-listing-completed";
23
31
  readonly MARKETPLACE_PUBLISH_LISTING_REQUEST: "marketplace-publish-listing-request";
24
32
  readonly MEDIA_BATCH_DOWNLOAD_COMPLETED: "media-batch-download-completed";
@@ -106,6 +114,38 @@ export interface BackendLoggingEventMessage {
106
114
  /** Operation duration in milliseconds (if applicable) */
107
115
  durationMs?: number;
108
116
  }
117
+ /**
118
+ * Completion event for EKG edge batch creation with propagation results.
119
+ */
120
+ export interface EkgEdgeBatchCreateCompletedMessage {
121
+ /** Original request ID from ekg-edge-batch-create-request */
122
+ requestId: string;
123
+ /** Whether the batch operation succeeded */
124
+ success: boolean;
125
+ /** Batch operation statistics */
126
+ statistics: Record<string, string | number | boolean>;
127
+ /** List of high-conflict edges requiring review */
128
+ conflicts?: Array<Record<string, string | number | boolean>>;
129
+ /** Errors encountered during processing */
130
+ errors?: Array<Record<string, string | number | boolean>>;
131
+ /** Overall graph state after this batch */
132
+ graphMetrics?: Record<string, string | number | boolean>;
133
+ }
134
+ /**
135
+ * Create multiple EKG edges with Dempster-Shafer mass functions. Triggered by metamodel detection completion.
136
+ */
137
+ export interface EkgEdgeBatchCreateRequestMessage {
138
+ /** Unique request ID for tracking (e.g., metamodel detection job ID) */
139
+ requestId: string;
140
+ /** Source of the edges: metamodel-heuristic, manual, taxonomy-import, etc. */
141
+ source: string;
142
+ /** Batch of edges to create/update in the EKG */
143
+ edges: Array<Record<string, string | number | boolean>>;
144
+ /** Options for evidential edge propagation after edge creation */
145
+ propagationOptions?: Record<string, string | number | boolean>;
146
+ /** Optional webhook URL for async completion notification */
147
+ webhookUrl?: string;
148
+ }
109
149
  /**
110
150
  * Contains synced analytics data for Etsy listings. Backend stores this in etsy_analytics_snapshots table and indexes to ELK.
111
151
 
@@ -446,6 +486,46 @@ export interface MarketplaceCredentialRotationRequestMessage {
446
486
  /** Additional request context */
447
487
  metadata?: Record<string, string | number | boolean>;
448
488
  }
489
+ /**
490
+ * Notifies backend that marketplace description generation completed. Contains generated description with metadata tracking (AI model, confidence, generation timestamp).
491
+ */
492
+ export interface MarketplaceListingDescriptionGenerationCompletedMessage {
493
+ /** UUID of the model that was processed */
494
+ modelId: string;
495
+ /** Type of entity processed */
496
+ entityType: string;
497
+ /** SEO-optimized marketplace description (3-5 sentences) */
498
+ description: string;
499
+ /** Content generation metadata for tracking */
500
+ metadata: Record<string, string | number | boolean>;
501
+ /** Error message if generation failed */
502
+ error?: string;
503
+ }
504
+ /**
505
+ * Generates SEO-optimized marketplace description for a 3D model using LLM vision analysis. Worker receives model data, technical metadata, and thumbnail URLs to generate compelling product descriptions tailored to the target marketplace.
506
+ */
507
+ export interface MarketplaceListingDescriptionGenerationRequestMessage {
508
+ /** UUID of the model (reference only) */
509
+ modelId: string;
510
+ /** Type of entity being processed */
511
+ entityType: string;
512
+ /** Name/title of the model or metamodel */
513
+ entityName: string;
514
+ /** Target marketplace ID (e.g., 'etsy', 'ebay', 'thingiverse') */
515
+ targetMarketplace: string;
516
+ /** UUID of the user requesting generation */
517
+ userId: string;
518
+ /** Callback URL for completion notification */
519
+ webhookUrl?: string;
520
+ /** Technical analysis data for context */
521
+ technicalMetadata?: Record<string, string | number | boolean>;
522
+ /** URLs to 360-degree thumbnail views */
523
+ thumbnailUrls?: Array<Record<string, string | number | boolean>>;
524
+ /** Currently assigned tags for context */
525
+ existingTags?: Array<Record<string, string | number | boolean>>;
526
+ /** Current classification for context */
527
+ existingCategory?: string;
528
+ }
449
529
  /**
450
530
  * Notification that marketplace listing sync operation has completed. Contains detailed results of the sync including created/updated listings, errors encountered, and performance statistics.
451
531
 
@@ -509,6 +589,88 @@ export interface MarketplaceListingSyncRequestMessage {
509
589
  /** Additional request context */
510
590
  metadata?: Record<string, string | number | boolean>;
511
591
  }
592
+ /**
593
+ * Notifies backend that marketplace tags generation completed. Contains generated tags optimized for discoverability with metadata tracking.
594
+ */
595
+ export interface MarketplaceListingTagsGenerationCompletedMessage {
596
+ /** UUID of the model that was processed */
597
+ modelId: string;
598
+ /** Type of entity processed */
599
+ entityType: string;
600
+ /** Generated searchability tags (style, technical, usage keywords) */
601
+ tags: Array<Record<string, string | number | boolean>>;
602
+ /** Content generation metadata for tracking */
603
+ metadata: Record<string, string | number | boolean>;
604
+ /** Error message if generation failed */
605
+ error?: string;
606
+ }
607
+ /**
608
+ * Generates searchability tags for a 3D model optimized for marketplace discoverability. Worker creates style, technical, and usage keywords following marketplace tag limits and SEO best practices.
609
+ */
610
+ export interface MarketplaceListingTagsGenerationRequestMessage {
611
+ /** UUID of the model (reference only) */
612
+ modelId: string;
613
+ /** Type of entity being processed */
614
+ entityType: string;
615
+ /** Name/title of the model or metamodel */
616
+ entityName: string;
617
+ /** Target marketplace ID (e.g., 'etsy', 'ebay', 'thingiverse') */
618
+ targetMarketplace: string;
619
+ /** UUID of the user requesting generation */
620
+ userId: string;
621
+ /** Callback URL for completion notification */
622
+ webhookUrl?: string;
623
+ /** Technical analysis data for tag generation */
624
+ technicalMetadata?: Record<string, string | number | boolean>;
625
+ /** URLs to 360-degree thumbnail views for visual analysis */
626
+ thumbnailUrls?: Array<Record<string, string | number | boolean>>;
627
+ /** Currently assigned tags to supplement or replace */
628
+ existingTags?: Array<Record<string, string | number | boolean>>;
629
+ /** Current classification for category-based tags */
630
+ existingCategory?: string;
631
+ /** Maximum number of tags for marketplace (e.g., 13 for Etsy) */
632
+ tagLimit?: number;
633
+ }
634
+ /**
635
+ * Notifies backend that marketplace title generation completed. Contains generated title with metadata tracking.
636
+ */
637
+ export interface MarketplaceListingTitleGenerationCompletedMessage {
638
+ /** UUID of the model that was processed */
639
+ modelId: string;
640
+ /** Type of entity processed */
641
+ entityType: string;
642
+ /** Marketplace-optimized title */
643
+ title: string;
644
+ /** Content generation metadata for tracking */
645
+ metadata: Record<string, string | number | boolean>;
646
+ /** Error message if generation failed */
647
+ error?: string;
648
+ }
649
+ /**
650
+ * Generates marketplace-optimized title for a 3D model. Worker creates concise, SEO-friendly titles following marketplace character limits and best practices.
651
+ */
652
+ export interface MarketplaceListingTitleGenerationRequestMessage {
653
+ /** UUID of the model (reference only) */
654
+ modelId: string;
655
+ /** Type of entity being processed */
656
+ entityType: string;
657
+ /** Current model/metamodel name */
658
+ currentName: string;
659
+ /** Target marketplace ID (e.g., 'etsy', 'ebay', 'thingiverse') */
660
+ targetMarketplace: string;
661
+ /** UUID of the user requesting generation */
662
+ userId: string;
663
+ /** Callback URL for completion notification */
664
+ webhookUrl?: string;
665
+ /** Technical analysis data for context */
666
+ technicalMetadata?: Record<string, string | number | boolean>;
667
+ /** Currently assigned tags for SEO keywords */
668
+ existingTags?: Array<Record<string, string | number | boolean>>;
669
+ /** Current classification for categorization */
670
+ existingCategory?: string;
671
+ /** Maximum character count for marketplace (e.g., 140 for Etsy) */
672
+ characterLimit?: number;
673
+ }
512
674
  /**
513
675
  * 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.).
514
676
  */
@@ -793,6 +955,8 @@ export interface ModelMetadataGenerationRequestMessage {
793
955
  export interface ModelMetamodelDetectionFoundMessage {
794
956
  /** List of metamodel nodes in hierarchical structure (roots and children). */
795
957
  metamodels: Array<Record<string, string | number | boolean>>;
958
+ /** EKG edges derived from Louvain clustering (OPTIONAL - new field) */
959
+ ekgEdges?: Array<Record<string, string | number | boolean>>;
796
960
  }
797
961
  /**
798
962
  * Handles model metamodel detection requests.
@@ -1015,6 +1179,8 @@ export interface ThumbnailGenerationCompletedMessage {
1015
1179
  thumbnailPath?: string;
1016
1180
  /** Array of 360° thumbnail view paths (16 angles) for vision-based analysis. */
1017
1181
  thumbnail360Views?: Array<Record<string, string | number | boolean>>;
1182
+ /** The path to the generated GLTF/GLB 3D preview file. */
1183
+ gltfPreviewPath?: string;
1018
1184
  /** An error message if the thumbnail generation failed. */
1019
1185
  errorMessage?: string;
1020
1186
  /** The storage location of the model. */
package/dist/types.js CHANGED
@@ -4,6 +4,8 @@
4
4
  */
5
5
  export const MessageTypes = {
6
6
  BACKEND_LOGGING_EVENT: 'backend-logging-event',
7
+ EKG_EDGE_BATCH_CREATE_COMPLETED: 'ekg-edge-batch-create-completed',
8
+ EKG_EDGE_BATCH_CREATE_REQUEST: 'ekg-edge-batch-create-request',
7
9
  ETSY_ANALYTICS_SYNC_COMPLETED: 'etsy-analytics-sync-completed',
8
10
  ETSY_ANALYTICS_SYNC_REQUEST: 'etsy-analytics-sync-request',
9
11
  ETSY_PUBLISH_LISTING_COMPLETED: 'etsy-publish-listing-completed',
@@ -18,8 +20,14 @@ export const MessageTypes = {
18
20
  MARKETPLACE_CONNECTION_SYNC_REQUEST: 'marketplace-connection-sync-request',
19
21
  MARKETPLACE_CREDENTIAL_ROTATION_COMPLETED: 'marketplace-credential-rotation-completed',
20
22
  MARKETPLACE_CREDENTIAL_ROTATION_REQUEST: 'marketplace-credential-rotation-request',
23
+ MARKETPLACE_LISTING_DESCRIPTION_GENERATION_COMPLETED: 'marketplace-listing-description-generation-completed',
24
+ MARKETPLACE_LISTING_DESCRIPTION_GENERATION_REQUEST: 'marketplace-listing-description-generation-request',
21
25
  MARKETPLACE_LISTING_SYNC_COMPLETED: 'marketplace-listing-sync-completed',
22
26
  MARKETPLACE_LISTING_SYNC_REQUEST: 'marketplace-listing-sync-request',
27
+ MARKETPLACE_LISTING_TAGS_GENERATION_COMPLETED: 'marketplace-listing-tags-generation-completed',
28
+ MARKETPLACE_LISTING_TAGS_GENERATION_REQUEST: 'marketplace-listing-tags-generation-request',
29
+ MARKETPLACE_LISTING_TITLE_GENERATION_COMPLETED: 'marketplace-listing-title-generation-completed',
30
+ MARKETPLACE_LISTING_TITLE_GENERATION_REQUEST: 'marketplace-listing-title-generation-request',
23
31
  MARKETPLACE_PUBLISH_LISTING_COMPLETED: 'marketplace-publish-listing-completed',
24
32
  MARKETPLACE_PUBLISH_LISTING_REQUEST: 'marketplace-publish-listing-request',
25
33
  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.9",
3
+ "version": "4.0.15",
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",