ecomcoder-cli 1.3.2 → 1.3.4

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.
Files changed (73) hide show
  1. package/README.md +0 -23
  2. package/dist/cli.js +32 -5
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/product/__tests__/update-description.test.js +1 -0
  5. package/dist/commands/product/__tests__/update-description.test.js.map +1 -1
  6. package/dist/commands/product/create-variants.d.ts +8 -0
  7. package/dist/commands/product/create-variants.d.ts.map +1 -0
  8. package/dist/commands/product/create-variants.js +160 -0
  9. package/dist/commands/product/create-variants.js.map +1 -0
  10. package/dist/commands/product/create.d.ts +8 -0
  11. package/dist/commands/product/create.d.ts.map +1 -0
  12. package/dist/commands/product/create.js +166 -0
  13. package/dist/commands/product/create.js.map +1 -0
  14. package/dist/commands/product/delete-variants.d.ts +8 -0
  15. package/dist/commands/product/delete-variants.d.ts.map +1 -0
  16. package/dist/commands/product/delete-variants.js +105 -0
  17. package/dist/commands/product/delete-variants.js.map +1 -0
  18. package/dist/commands/product/get-metafield.d.ts +8 -0
  19. package/dist/commands/product/get-metafield.d.ts.map +1 -0
  20. package/dist/commands/product/get-metafield.js +131 -0
  21. package/dist/commands/product/get-metafield.js.map +1 -0
  22. package/dist/commands/product/index.d.ts.map +1 -1
  23. package/dist/commands/product/index.js +62 -0
  24. package/dist/commands/product/index.js.map +1 -1
  25. package/dist/commands/product/queries.d.ts +31 -2
  26. package/dist/commands/product/queries.d.ts.map +1 -1
  27. package/dist/commands/product/queries.js +184 -0
  28. package/dist/commands/product/queries.js.map +1 -1
  29. package/dist/commands/product/service.d.ts +67 -1
  30. package/dist/commands/product/service.d.ts.map +1 -1
  31. package/dist/commands/product/service.js +363 -1
  32. package/dist/commands/product/service.js.map +1 -1
  33. package/dist/commands/product/set-metafield.d.ts +8 -0
  34. package/dist/commands/product/set-metafield.d.ts.map +1 -0
  35. package/dist/commands/product/set-metafield.js +174 -0
  36. package/dist/commands/product/set-metafield.js.map +1 -0
  37. package/dist/commands/product/types.d.ts +162 -0
  38. package/dist/commands/product/types.d.ts.map +1 -1
  39. package/dist/commands/product/update-status.d.ts +8 -0
  40. package/dist/commands/product/update-status.d.ts.map +1 -0
  41. package/dist/commands/product/update-status.js +105 -0
  42. package/dist/commands/product/update-status.js.map +1 -0
  43. package/dist/commands/product/utils.d.ts.map +1 -1
  44. package/dist/commands/product/utils.js +1 -0
  45. package/dist/commands/product/utils.js.map +1 -1
  46. package/dist/commands/products/index.d.ts.map +1 -1
  47. package/dist/commands/products/index.js +0 -10
  48. package/dist/commands/products/index.js.map +1 -1
  49. package/dist/commands/shop/get-metafield.d.ts +8 -0
  50. package/dist/commands/shop/get-metafield.d.ts.map +1 -0
  51. package/dist/commands/shop/get-metafield.js +117 -0
  52. package/dist/commands/shop/get-metafield.js.map +1 -0
  53. package/dist/commands/shop/index.d.ts +10 -0
  54. package/dist/commands/shop/index.d.ts.map +1 -0
  55. package/dist/commands/shop/index.js +61 -0
  56. package/dist/commands/shop/index.js.map +1 -0
  57. package/dist/commands/shop/queries.d.ts +24 -0
  58. package/dist/commands/shop/queries.d.ts.map +1 -0
  59. package/dist/commands/shop/queries.js +83 -0
  60. package/dist/commands/shop/queries.js.map +1 -0
  61. package/dist/commands/shop/service.d.ts +30 -0
  62. package/dist/commands/shop/service.d.ts.map +1 -0
  63. package/dist/commands/shop/service.js +131 -0
  64. package/dist/commands/shop/service.js.map +1 -0
  65. package/dist/commands/shop/set-metafield.d.ts +8 -0
  66. package/dist/commands/shop/set-metafield.d.ts.map +1 -0
  67. package/dist/commands/shop/set-metafield.js +174 -0
  68. package/dist/commands/shop/set-metafield.js.map +1 -0
  69. package/dist/commands/shop/types.d.ts +84 -0
  70. package/dist/commands/shop/types.d.ts.map +1 -0
  71. package/dist/commands/shop/types.js +6 -0
  72. package/dist/commands/shop/types.js.map +1 -0
  73. package/package.json +1 -1
@@ -5,7 +5,7 @@
5
5
  * Follows Dependency Injection - accepts dependencies as parameters
6
6
  */
7
7
  import { shopifyGraphQL } from '../../lib/shopify-client.js';
8
- import { GET_PRODUCT_BY_ID, UPDATE_PRODUCT, PRODUCT_VARIANTS_BULK_UPDATE } from './queries.js';
8
+ import { GET_PRODUCT_BY_ID, UPDATE_PRODUCT, PRODUCT_VARIANTS_BULK_UPDATE, PRODUCT_VARIANTS_BULK_DELETE, PRODUCT_VARIANTS_BULK_CREATE, PRODUCT_CREATE, GET_PRODUCT_METAFIELD, GET_PRODUCT_METAFIELDS, METAFIELDS_SET } from './queries.js';
9
9
  import { normalizeProductId, normalizeVariantId, normalizeTemplateName, formatProduct, isValidPrice, formatUserErrors, hasGraphQLErrors, extractGraphQLErrors } from './utils.js';
10
10
  /**
11
11
  * Product Service
@@ -31,6 +31,106 @@ export class ProductService {
31
31
  }
32
32
  return product;
33
33
  }
34
+ /**
35
+ * Create a new product from scratch
36
+ *
37
+ * @returns Formatted result with created product data
38
+ */
39
+ static async createProduct(credentials, input) {
40
+ // Title is required
41
+ if (!input.title || input.title.trim().length === 0) {
42
+ return {
43
+ success: false,
44
+ error: 'Product title is required'
45
+ };
46
+ }
47
+ // Build GraphQL input
48
+ const productInput = {
49
+ title: input.title.trim()
50
+ };
51
+ // Add optional fields if provided
52
+ if (input.descriptionHtml) {
53
+ productInput.descriptionHtml = input.descriptionHtml;
54
+ }
55
+ if (input.productType) {
56
+ productInput.productType = input.productType;
57
+ }
58
+ if (input.vendor) {
59
+ productInput.vendor = input.vendor;
60
+ }
61
+ if (input.status) {
62
+ productInput.status = input.status;
63
+ }
64
+ if (input.handle) {
65
+ productInput.handle = input.handle;
66
+ }
67
+ if (input.tags && input.tags.length > 0) {
68
+ productInput.tags = input.tags;
69
+ }
70
+ // Note: Shopify's ProductInput does not support variants field
71
+ // Variant price/SKU will be updated after product creation if provided
72
+ // Execute mutation
73
+ const response = await shopifyGraphQL(credentials, PRODUCT_CREATE, { input: productInput });
74
+ if (hasGraphQLErrors(response)) {
75
+ return {
76
+ success: false,
77
+ error: `GraphQL error: ${extractGraphQLErrors(response)}`
78
+ };
79
+ }
80
+ const { product, userErrors } = response.data.productCreate;
81
+ if (userErrors && userErrors.length > 0) {
82
+ return {
83
+ success: false,
84
+ error: formatUserErrors(userErrors)
85
+ };
86
+ }
87
+ if (!product) {
88
+ return {
89
+ success: false,
90
+ error: 'Product creation failed'
91
+ };
92
+ }
93
+ // If variant pricing/SKU was provided, update the initial variant
94
+ if (input.variants && input.variants.length > 0) {
95
+ const variantUpdate = input.variants[0];
96
+ const firstVariant = product.variants.edges[0]?.node;
97
+ if (firstVariant && (variantUpdate.price || variantUpdate.compareAtPrice || variantUpdate.inventoryItem?.sku)) {
98
+ // Build variant update input
99
+ const variantInput = {
100
+ id: firstVariant.id
101
+ };
102
+ if (variantUpdate.price) {
103
+ variantInput.price = variantUpdate.price;
104
+ }
105
+ if (variantUpdate.compareAtPrice) {
106
+ variantInput.compareAtPrice = variantUpdate.compareAtPrice;
107
+ }
108
+ if (variantUpdate.inventoryItem?.sku) {
109
+ variantInput.inventoryItem = {
110
+ sku: variantUpdate.inventoryItem.sku
111
+ };
112
+ }
113
+ // Update variant using bulk update mutation
114
+ const updateResponse = await shopifyGraphQL(credentials, PRODUCT_VARIANTS_BULK_UPDATE, {
115
+ productId: product.id,
116
+ variants: [variantInput]
117
+ });
118
+ if (updateResponse.errors || (updateResponse.data?.productVariantsBulkUpdate?.userErrors && updateResponse.data.productVariantsBulkUpdate.userErrors.length > 0)) {
119
+ // Variant update failed, but product was created
120
+ // Continue and return product with warning
121
+ console.error('⚠️ Product created but variant update failed. Use update-price command to set pricing.');
122
+ }
123
+ }
124
+ }
125
+ // Fetch full product details to return complete data
126
+ const fullProduct = await this.getProductById(credentials, product.id);
127
+ return {
128
+ success: true,
129
+ data: {
130
+ product: formatProduct(fullProduct)
131
+ }
132
+ };
133
+ }
34
134
  /**
35
135
  * Update product description
36
136
  *
@@ -109,6 +209,146 @@ export class ProductService {
109
209
  }
110
210
  };
111
211
  }
212
+ /**
213
+ * Update product status
214
+ *
215
+ * @returns Formatted result with updated product data
216
+ */
217
+ static async updateStatus(credentials, input) {
218
+ const { gid } = normalizeProductId(input.id);
219
+ // Build GraphQL input
220
+ const productInput = {
221
+ id: gid,
222
+ status: input.status
223
+ };
224
+ // Execute mutation
225
+ const response = await shopifyGraphQL(credentials, UPDATE_PRODUCT, { input: productInput });
226
+ if (hasGraphQLErrors(response)) {
227
+ return {
228
+ success: false,
229
+ error: `GraphQL error: ${extractGraphQLErrors(response)}`
230
+ };
231
+ }
232
+ const { product, userErrors } = response.data.productUpdate;
233
+ if (userErrors && userErrors.length > 0) {
234
+ return {
235
+ success: false,
236
+ error: formatUserErrors(userErrors)
237
+ };
238
+ }
239
+ // Fetch full product details to return complete data
240
+ const fullProduct = await this.getProductById(credentials, product.id);
241
+ return {
242
+ success: true,
243
+ data: {
244
+ product: formatProduct(fullProduct)
245
+ }
246
+ };
247
+ }
248
+ /**
249
+ * Set product metafield value
250
+ *
251
+ * @returns Formatted result with metafield data
252
+ */
253
+ static async setMetafield(credentials, input) {
254
+ const { gid } = normalizeProductId(input.id);
255
+ // Build metafield input
256
+ const metafieldInput = {
257
+ ownerId: gid,
258
+ namespace: input.namespace,
259
+ key: input.key,
260
+ value: input.value,
261
+ type: input.type
262
+ };
263
+ // Execute mutation
264
+ const response = await shopifyGraphQL(credentials, METAFIELDS_SET, { metafields: [metafieldInput] });
265
+ if (hasGraphQLErrors(response)) {
266
+ return {
267
+ success: false,
268
+ error: `GraphQL error: ${extractGraphQLErrors(response)}`
269
+ };
270
+ }
271
+ const { metafields, userErrors } = response.data.metafieldsSet;
272
+ if (userErrors && userErrors.length > 0) {
273
+ const errorMessages = userErrors.map(e => e.message).join(', ');
274
+ return {
275
+ success: false,
276
+ error: `Metafield error: ${errorMessages}`
277
+ };
278
+ }
279
+ if (!metafields || metafields.length === 0) {
280
+ return {
281
+ success: false,
282
+ error: 'Metafield not created'
283
+ };
284
+ }
285
+ return {
286
+ success: true,
287
+ data: {
288
+ metafield: metafields[0]
289
+ }
290
+ };
291
+ }
292
+ /**
293
+ * Get product metafield(s)
294
+ *
295
+ * @returns Formatted result with metafield data
296
+ */
297
+ static async getMetafield(credentials, input) {
298
+ const { gid } = normalizeProductId(input.id);
299
+ // If both namespace and key provided, get specific metafield
300
+ if (input.namespace && input.key) {
301
+ const response = await shopifyGraphQL(credentials, GET_PRODUCT_METAFIELD, {
302
+ id: gid,
303
+ namespace: input.namespace,
304
+ key: input.key
305
+ });
306
+ if (hasGraphQLErrors(response)) {
307
+ return {
308
+ success: false,
309
+ error: `GraphQL error: ${extractGraphQLErrors(response)}`
310
+ };
311
+ }
312
+ if (!response.data?.product) {
313
+ return {
314
+ success: false,
315
+ error: 'Product not found'
316
+ };
317
+ }
318
+ return {
319
+ success: true,
320
+ data: {
321
+ metafield: response.data.product.metafield
322
+ }
323
+ };
324
+ }
325
+ // Otherwise, get multiple metafields (by namespace or all)
326
+ const response = await shopifyGraphQL(credentials, GET_PRODUCT_METAFIELDS, {
327
+ id: gid,
328
+ namespace: input.namespace || undefined,
329
+ first: 250
330
+ });
331
+ if (hasGraphQLErrors(response)) {
332
+ return {
333
+ success: false,
334
+ error: `GraphQL error: ${extractGraphQLErrors(response)}`
335
+ };
336
+ }
337
+ if (!response.data?.product) {
338
+ return {
339
+ success: false,
340
+ error: 'Product not found'
341
+ };
342
+ }
343
+ const metafields = response.data.product.metafields.edges.map(edge => edge.node);
344
+ return {
345
+ success: true,
346
+ data: {
347
+ metafields,
348
+ count: metafields.length
349
+ }
350
+ };
351
+ }
112
352
  /**
113
353
  * Update product variant price
114
354
  * Uses productVariantsBulkUpdate mutation (current Shopify API)
@@ -269,5 +509,127 @@ export class ProductService {
269
509
  }
270
510
  };
271
511
  }
512
+ /**
513
+ * Delete product variants in bulk
514
+ * Uses productVariantsBulkDelete mutation (current Shopify API)
515
+ *
516
+ * IMPORTANT:
517
+ * - Cannot delete the last variant of a product
518
+ * - All variants must belong to the specified product
519
+ * - Cannot delete variants with active/unfulfilled orders
520
+ *
521
+ * @returns Formatted result with remaining variants
522
+ */
523
+ static async deleteVariants(credentials, input) {
524
+ const { gid: productGid } = normalizeProductId(input.productId);
525
+ // Normalize variant IDs
526
+ const variantGids = input.variantIds.map(id => {
527
+ const { gid } = normalizeVariantId(id);
528
+ return gid;
529
+ });
530
+ if (variantGids.length === 0) {
531
+ return {
532
+ success: false,
533
+ error: 'No variant IDs provided'
534
+ };
535
+ }
536
+ // Execute bulk delete mutation
537
+ const response = await shopifyGraphQL(credentials, PRODUCT_VARIANTS_BULK_DELETE, {
538
+ productId: productGid,
539
+ variantsIds: variantGids
540
+ });
541
+ if (hasGraphQLErrors(response)) {
542
+ return {
543
+ success: false,
544
+ error: `GraphQL error: ${extractGraphQLErrors(response)}`
545
+ };
546
+ }
547
+ const { product, userErrors } = response.data.productVariantsBulkDelete;
548
+ if (userErrors && userErrors.length > 0) {
549
+ return {
550
+ success: false,
551
+ error: formatUserErrors(userErrors)
552
+ };
553
+ }
554
+ if (!product) {
555
+ return {
556
+ success: false,
557
+ error: 'Product not found or no variants deleted'
558
+ };
559
+ }
560
+ // Fetch full product details to return complete data
561
+ const fullProduct = await this.getProductById(credentials, product.id);
562
+ const remainingVariants = fullProduct.variants.edges.length;
563
+ const deletedCount = variantGids.length;
564
+ return {
565
+ success: true,
566
+ data: {
567
+ product: formatProduct(fullProduct),
568
+ deletedCount,
569
+ remainingVariants
570
+ }
571
+ };
572
+ }
573
+ /**
574
+ * Create product variants in bulk
575
+ * Uses productVariantsBulkCreate mutation (current Shopify API)
576
+ *
577
+ * IMPORTANT:
578
+ * - Maximum 2,048 variants per product
579
+ * - SKU must be unique across all products (if provided)
580
+ * - Option values must match product options
581
+ *
582
+ * @returns Formatted result with created variants
583
+ */
584
+ static async createVariants(credentials, input) {
585
+ const { gid: productGid } = normalizeProductId(input.productId);
586
+ if (input.variants.length === 0) {
587
+ return {
588
+ success: false,
589
+ error: 'No variants provided'
590
+ };
591
+ }
592
+ if (input.variants.length > 2048) {
593
+ return {
594
+ success: false,
595
+ error: 'Maximum 2,048 variants can be created per operation'
596
+ };
597
+ }
598
+ // Execute bulk create mutation
599
+ const response = await shopifyGraphQL(credentials, PRODUCT_VARIANTS_BULK_CREATE, {
600
+ productId: productGid,
601
+ variants: input.variants
602
+ });
603
+ if (hasGraphQLErrors(response)) {
604
+ return {
605
+ success: false,
606
+ error: `GraphQL error: ${extractGraphQLErrors(response)}`
607
+ };
608
+ }
609
+ const { productVariants, userErrors } = response.data.productVariantsBulkCreate;
610
+ if (userErrors && userErrors.length > 0) {
611
+ return {
612
+ success: false,
613
+ error: formatUserErrors(userErrors)
614
+ };
615
+ }
616
+ if (!productVariants || productVariants.length === 0) {
617
+ return {
618
+ success: false,
619
+ error: 'No variants were created'
620
+ };
621
+ }
622
+ // Fetch full product details to return complete data
623
+ const fullProduct = await this.getProductById(credentials, productGid);
624
+ const createdCount = productVariants.length;
625
+ return {
626
+ success: true,
627
+ data: {
628
+ product: formatProduct(fullProduct),
629
+ createdCount,
630
+ createdVariants: productVariants
631
+ }
632
+ };
633
+ }
272
634
  }
273
635
  //# sourceMappingURL=service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/commands/product/service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,4BAA4B,EAC7B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAapB;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IACzB;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,CACzB,WAA+B,EAC/B,SAAiB;QAEjB,MAAM,EAAE,GAAG,EAAE,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAE9C,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAEnF,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,kBAAkB,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAC5B,WAA+B,EAC/B,KAA6B;QAE7B,MAAM,EAAE,GAAG,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE7C,+DAA+D;QAC/D,0CAA0C;QAC1C,IAAI,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpF,eAAe,GAAG,MAAM,KAAK,CAAC,WAAW,MAAM,CAAC;QAClD,CAAC;QAED,sBAAsB;QACtB,MAAM,YAAY,GAAQ;YACxB,EAAE,EAAE,GAAG;YACP,eAAe,EAAE,eAAe;SACjC,CAAC;QAEF,mBAAmB;QACnB,MAAM,QAAQ,GAAG,MAAM,cAAc,CACnC,WAAW,EACX,cAAc,EACd,EAAE,KAAK,EAAE,YAAY,EAAE,CACxB,CAAC;QAEF,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,kBAAkB,oBAAoB,CAAC,QAAQ,CAAC,EAAE;aAC1D,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,IAAK,CAAC,aAAa,CAAC;QAE7D,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC;aACpC,CAAC;QACJ,CAAC;QAED,qDAAqD;QACrD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAEvE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC;aACpC;SACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,WAA+B,EAC/B,KAAuB;QAEvB,MAAM,EAAE,GAAG,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE7C,sBAAsB;QACtB,MAAM,YAAY,GAAQ;YACxB,EAAE,EAAE,GAAG;YACP,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC;QAEF,mBAAmB;QACnB,MAAM,QAAQ,GAAG,MAAM,cAAc,CACnC,WAAW,EACX,cAAc,EACd,EAAE,KAAK,EAAE,YAAY,EAAE,CACxB,CAAC;QAEF,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,kBAAkB,oBAAoB,CAAC,QAAQ,CAAC,EAAE;aAC1D,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,IAAK,CAAC,aAAa,CAAC;QAE7D,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC;aACpC,CAAC;QACJ,CAAC;QAED,qDAAqD;QACrD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAEvE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC;aACpC;SACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,WAA+B,EAC/B,KAAuB;QAEvB,wBAAwB;QACxB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,kFAAkF;aAC1F,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,KAAK,CAAC,cAAc,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;YAC7G,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,6FAA6F;aACrG,CAAC;QACJ,CAAC;QAED,4DAA4D;QAC5D,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEzD,gCAAgC;QAChC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAEjE,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,yBAAyB;aACjC,CAAC;QACJ,CAAC;QAED,IAAI,aAAa,GAAU,EAAE,CAAC;QAE9B,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,sBAAsB;YACtB,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC7C,MAAM,YAAY,GAAQ;oBACxB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;oBACb,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC;gBAEF,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;oBACvC,YAAY,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC;gBAC7D,CAAC;gBAED,OAAO,YAAY,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAC3B,0BAA0B;YAC1B,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;YAC3D,MAAM,YAAY,GAAQ;gBACxB,EAAE,EAAE,UAAU;gBACd,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC;YAEF,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBACvC,YAAY,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC;YAC7D,CAAC;YAED,aAAa,GAAG,CAAC,YAAY,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,yCAAyC;YACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,kCAAkC;gBAClC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACtD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAC/C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEb,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,sFAAsF,WAAW,EAAE;iBAC3G,CAAC;YACJ,CAAC;YAED,6BAA6B;YAC7B,MAAM,YAAY,GAAQ;gBACxB,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBACrC,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC;YAEF,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBACvC,YAAY,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC;YAC7D,CAAC;YAED,aAAa,GAAG,CAAC,YAAY,CAAC,CAAC;QACjC,CAAC;QAED,sCAAsC;QACtC,MAAM,QAAQ,GAAG,MAAM,cAAc,CACnC,WAAW,EACX,4BAA4B,EAC5B;YACE,SAAS,EAAE,UAAU;YACrB,QAAQ,EAAE,aAAa;SACxB,CACF,CAAC;QAEF,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,kBAAkB,oBAAoB,CAAC,QAAQ,CAAC,EAAE;aAC1D,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,IAAK,CAAC,yBAAyB,CAAC;QAEjF,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC;aACpC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,0BAA0B;aAClC,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAEvE,mDAAmD;QACnD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,QAAQ,EAAE,eAAe;oBACzB,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC;oBACnC,YAAY,EAAE,eAAe,CAAC,MAAM;iBACrC;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;oBAC3B,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC;iBACpC;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,CACzB,WAA+B,EAC/B,KAA0B;QAE1B,MAAM,EAAE,GAAG,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE7D,MAAM,YAAY,GAAG;YACnB,EAAE,EAAE,GAAG;YACP,cAAc,EAAE,cAAc;SAC/B,CAAC;QAEF,mBAAmB;QACnB,MAAM,QAAQ,GAAG,MAAM,cAAc,CACnC,WAAW,EACX,cAAc,EACd,EAAE,KAAK,EAAE,YAAY,EAAE,CACxB,CAAC;QAEF,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,kBAAkB,oBAAoB,CAAC,QAAQ,CAAC,EAAE;aAC1D,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,IAAK,CAAC,aAAa,CAAC;QAE7D,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC;aACpC,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAEvE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC;aACpC;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/commands/product/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Set Product Metafield Command
3
+ *
4
+ * Following Command Pattern - thin orchestration layer
5
+ * Delegates business logic to ProductService
6
+ */
7
+ export declare function run(argv?: string[]): Promise<void>;
8
+ //# sourceMappingURL=set-metafield.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-metafield.d.ts","sourceRoot":"","sources":["../../../src/commands/product/set-metafield.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwGH,wBAAsB,GAAG,CAAC,IAAI,GAAE,MAAM,EAA0B,iBA2E/D"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Set Product Metafield Command
3
+ *
4
+ * Following Command Pattern - thin orchestration layer
5
+ * Delegates business logic to ProductService
6
+ */
7
+ import { getCredentials, getSessionId } from '../../lib/api-client.js';
8
+ import { parseArgs, hasHelpFlag } from '../../lib/args-parser.js';
9
+ import { ProductService } from './service.js';
10
+ function showHelp() {
11
+ console.log(`
12
+ Set Product Metafield
13
+
14
+ USAGE:
15
+ ecomcoder product set-metafield [OPTIONS]
16
+
17
+ REQUIRED OPTIONS:
18
+ --id <id> Product ID (numeric or GID)
19
+ --namespace <namespace> Metafield namespace (grouping category)
20
+ --key <key> Metafield key (identifier)
21
+ --value <value> Metafield value
22
+ --type <type> Metafield type
23
+
24
+ OPTIONAL:
25
+ --session-id Session ID (auto-provided via SESSION_ID env var)
26
+ --help, -h Show this help message
27
+
28
+ COMMON METAFIELD TYPES:
29
+ single_line_text_field Simple text
30
+ multi_line_text_field Text with newlines
31
+ number_integer Integer number
32
+ number_decimal Decimal number
33
+ boolean true or false
34
+ json JSON object/array
35
+ product_reference Single product GID
36
+ list.product_reference Array of product GIDs (for bundles)
37
+
38
+ EXAMPLES:
39
+ # Set text metafield
40
+ ecomcoder product set-metafield \\
41
+ --id=123 \\
42
+ --namespace=custom \\
43
+ --key=subtitle \\
44
+ --value="Premium Quality" \\
45
+ --type=single_line_text_field
46
+
47
+ # Set number metafield
48
+ ecomcoder product set-metafield \\
49
+ --id=123 \\
50
+ --namespace=inventory \\
51
+ --key=min_stock \\
52
+ --value="50" \\
53
+ --type=number_integer
54
+
55
+ # Set boolean metafield
56
+ ecomcoder product set-metafield \\
57
+ --id=123 \\
58
+ --namespace=features \\
59
+ --key=featured \\
60
+ --value="true" \\
61
+ --type=boolean
62
+
63
+ # Set product reference (single product)
64
+ ecomcoder product set-metafield \\
65
+ --id=123 \\
66
+ --namespace=upsell \\
67
+ --key=recommended_product \\
68
+ --value="gid://shopify/Product/456" \\
69
+ --type=product_reference
70
+
71
+ # Set product list (CRITICAL for AI bundle automation)
72
+ ecomcoder product set-metafield \\
73
+ --id=123 \\
74
+ --namespace=bundles \\
75
+ --key=products \\
76
+ --value='["gid://shopify/Product/456","gid://shopify/Product/789"]' \\
77
+ --type=list.product_reference
78
+
79
+ # Set JSON metafield
80
+ ecomcoder product set-metafield \\
81
+ --id=123 \\
82
+ --namespace=specs \\
83
+ --key=dimensions \\
84
+ --value='{"width":10,"height":20}' \\
85
+ --type=json
86
+
87
+ AI BUNDLE AUTOMATION:
88
+ The AI can automatically manage bundle products using list.product_reference:
89
+
90
+ 1. AI searches for products matching criteria
91
+ 2. AI collects product IDs
92
+ 3. AI sets metafield with product list
93
+ 4. Bundle displays instantly on storefront
94
+
95
+ Example:
96
+ --value='["gid://shopify/Product/123","gid://shopify/Product/456"]'
97
+
98
+ NOTES:
99
+ - Creates metafield if it doesn't exist, updates if it does
100
+ - Maximum 25 metafields per request (this command sets 1)
101
+ - Operation is atomic (all succeed or all fail)
102
+ - Maximum 10MB total payload size
103
+ - All values are strings (numbers/booleans as quoted strings)
104
+ `);
105
+ process.exit(0);
106
+ }
107
+ export async function run(argv = process.argv.slice(2)) {
108
+ if (hasHelpFlag(argv)) {
109
+ showHelp();
110
+ }
111
+ const args = parseArgs(argv);
112
+ // Validate required arguments
113
+ if (!args.id) {
114
+ console.error(JSON.stringify({
115
+ success: false,
116
+ error: 'Missing required argument: --id'
117
+ }));
118
+ process.exit(1);
119
+ }
120
+ if (!args.namespace) {
121
+ console.error(JSON.stringify({
122
+ success: false,
123
+ error: 'Missing required argument: --namespace'
124
+ }));
125
+ process.exit(1);
126
+ }
127
+ if (!args.key) {
128
+ console.error(JSON.stringify({
129
+ success: false,
130
+ error: 'Missing required argument: --key'
131
+ }));
132
+ process.exit(1);
133
+ }
134
+ if (!args.value) {
135
+ console.error(JSON.stringify({
136
+ success: false,
137
+ error: 'Missing required argument: --value'
138
+ }));
139
+ process.exit(1);
140
+ }
141
+ if (!args.type) {
142
+ console.error(JSON.stringify({
143
+ success: false,
144
+ error: 'Missing required argument: --type'
145
+ }));
146
+ process.exit(1);
147
+ }
148
+ try {
149
+ // Get credentials
150
+ const sessionId = getSessionId(args.sessionId);
151
+ const credentials = await getCredentials(sessionId, args.backendUrl, args.jwt);
152
+ // Execute set metafield via service
153
+ const result = await ProductService.setMetafield(credentials, {
154
+ id: args.id,
155
+ namespace: args.namespace,
156
+ key: args.key,
157
+ value: args.value,
158
+ type: args.type
159
+ });
160
+ // Output result
161
+ console.log(JSON.stringify(result, null, 2));
162
+ if (!result.success) {
163
+ process.exit(1);
164
+ }
165
+ }
166
+ catch (error) {
167
+ console.error(JSON.stringify({
168
+ success: false,
169
+ error: error.message || 'Unknown error occurred'
170
+ }));
171
+ process.exit(1);
172
+ }
173
+ }
174
+ //# sourceMappingURL=set-metafield.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-metafield.js","sourceRoot":"","sources":["../../../src/commands/product/set-metafield.ts"],"names":[],"mappings":"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"}