ecomcoder-cli 1.3.15 → 1.3.17

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 (39) hide show
  1. package/dist/commands/collection/add-products.d.ts +7 -0
  2. package/dist/commands/collection/add-products.d.ts.map +1 -0
  3. package/dist/commands/collection/add-products.js +101 -0
  4. package/dist/commands/collection/add-products.js.map +1 -0
  5. package/dist/commands/collection/create.d.ts +7 -0
  6. package/dist/commands/collection/create.d.ts.map +1 -0
  7. package/dist/commands/collection/create.js +107 -0
  8. package/dist/commands/collection/create.js.map +1 -0
  9. package/dist/commands/collection/get-product-collections.d.ts.map +1 -1
  10. package/dist/commands/collection/get-product-collections.js +3 -2
  11. package/dist/commands/collection/get-product-collections.js.map +1 -1
  12. package/dist/commands/collection/get.d.ts.map +1 -1
  13. package/dist/commands/collection/get.js +3 -2
  14. package/dist/commands/collection/get.js.map +1 -1
  15. package/dist/commands/collection/index.d.ts.map +1 -1
  16. package/dist/commands/collection/index.js +17 -1
  17. package/dist/commands/collection/index.js.map +1 -1
  18. package/dist/commands/collection/list-products.d.ts.map +1 -1
  19. package/dist/commands/collection/list-products.js +3 -2
  20. package/dist/commands/collection/list-products.js.map +1 -1
  21. package/dist/commands/collection/list.d.ts.map +1 -1
  22. package/dist/commands/collection/list.js +3 -2
  23. package/dist/commands/collection/list.js.map +1 -1
  24. package/dist/commands/collection/queries.d.ts +13 -3
  25. package/dist/commands/collection/queries.d.ts.map +1 -1
  26. package/dist/commands/collection/queries.js +62 -3
  27. package/dist/commands/collection/queries.js.map +1 -1
  28. package/dist/commands/collection/service.d.ts +14 -1
  29. package/dist/commands/collection/service.d.ts.map +1 -1
  30. package/dist/commands/collection/service.js +100 -3
  31. package/dist/commands/collection/service.js.map +1 -1
  32. package/dist/commands/collection/types.d.ts +36 -0
  33. package/dist/commands/collection/types.d.ts.map +1 -1
  34. package/dist/commands/collection/utils.js +1 -1
  35. package/dist/commands/collection/utils.js.map +1 -1
  36. package/dist/commands/image/generate.d.ts.map +1 -1
  37. package/dist/commands/image/generate.js +62 -2
  38. package/dist/commands/image/generate.js.map +1 -1
  39. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Collection Add Products Command
3
+ *
4
+ * Add products to an existing collection
5
+ */
6
+ export declare function run(argv: string[]): Promise<void>;
7
+ //# sourceMappingURL=add-products.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-products.d.ts","sourceRoot":"","sources":["../../../src/commands/collection/add-products.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuDH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,iBAqDvC"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Collection Add Products Command
3
+ *
4
+ * Add products to an existing collection
5
+ */
6
+ import { parseArgs } from '../../lib/args-parser.js';
7
+ import { getCredentials, getSessionId } from '../../lib/api-client.js';
8
+ import { requestApproval } from '../../lib/approval.js';
9
+ import { CollectionService } from './service.js';
10
+ function showHelp() {
11
+ console.log(`
12
+ Add Products to Collection
13
+
14
+ Add one or more products to an existing collection.
15
+
16
+ USAGE:
17
+ ecomcoder collection add-products [OPTIONS]
18
+
19
+ REQUIRED OPTIONS:
20
+ --id <id> Collection ID (numeric or GID format)
21
+ --products <ids> Comma-separated product IDs to add
22
+
23
+ OPTIONAL OPTIONS:
24
+ --session-id <id> Session ID for authentication
25
+
26
+ EXAMPLES:
27
+ # Add products by numeric IDs
28
+ ecomcoder collection add-products --id=123 --products="456,789,101"
29
+
30
+ # Add products using GIDs
31
+ ecomcoder collection add-products --id="gid://shopify/Collection/123" --products="gid://shopify/Product/456,gid://shopify/Product/789"
32
+
33
+ # Add single product
34
+ ecomcoder collection add-products --id=123 --products="456"
35
+
36
+ OUTPUT:
37
+ JSON object with updated collection:
38
+ {
39
+ "success": true,
40
+ "data": {
41
+ "collection": {
42
+ "id": "gid://shopify/Collection/123",
43
+ "title": "Health",
44
+ "productsCount": 3,
45
+ "updatedAt": "2026-02-17T12:00:00Z"
46
+ },
47
+ "addedCount": 3
48
+ }
49
+ }
50
+
51
+ NOTES:
52
+ - Products are added to the existing products in the collection
53
+ - If a product is already in the collection, it won't be duplicated
54
+ - The collection must already exist
55
+ `);
56
+ }
57
+ export async function run(argv) {
58
+ const args = parseArgs(argv);
59
+ if (args.help) {
60
+ showHelp();
61
+ return;
62
+ }
63
+ // Validate required fields
64
+ if (!args.id) {
65
+ console.error('Error: --id is required\n');
66
+ showHelp();
67
+ process.exit(1);
68
+ }
69
+ if (!args.products) {
70
+ console.error('Error: --products is required\n');
71
+ showHelp();
72
+ process.exit(1);
73
+ }
74
+ const sessionId = getSessionId(args.sessionId);
75
+ const credentials = await getCredentials(sessionId, args.backendUrl, args.jwt);
76
+ // Parse product IDs
77
+ const productIds = args.products.split(',').map((id) => id.trim());
78
+ // Request approval
79
+ const approved = await requestApproval({
80
+ command: `ecomcoder collection add-products --id=${args.id} --products="${args.products}"`,
81
+ message: `This will add ${productIds.length} product(s) to the collection on your live Shopify store`,
82
+ riskLevel: 'moderate'
83
+ });
84
+ if (!approved) {
85
+ console.log(JSON.stringify({
86
+ success: false,
87
+ error: 'Operation cancelled by user'
88
+ }));
89
+ process.exit(1);
90
+ }
91
+ // Call service
92
+ const result = await CollectionService.addProductsToCollection(credentials, {
93
+ collectionId: args.id,
94
+ productIds
95
+ });
96
+ console.log(JSON.stringify(result, null, 2));
97
+ if (!result.success) {
98
+ process.exit(1);
99
+ }
100
+ }
101
+ //# sourceMappingURL=add-products.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-products.js","sourceRoot":"","sources":["../../../src/commands/collection/add-products.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Cb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc;IACtC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,2BAA2B;IAC3B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC3C,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAE/E,oBAAoB;IACpB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAE3E,mBAAmB;IACnB,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;QACrC,OAAO,EAAE,0CAA0C,IAAI,CAAC,EAAE,gBAAgB,IAAI,CAAC,QAAQ,GAAG;QAC1F,OAAO,EAAE,iBAAiB,UAAU,CAAC,MAAM,0DAA0D;QACrG,SAAS,EAAE,UAAU;KACtB,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACzB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,6BAA6B;SACrC,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,eAAe;IACf,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,uBAAuB,CAAC,WAAW,EAAE;QAC1E,YAAY,EAAE,IAAI,CAAC,EAAE;QACrB,UAAU;KACX,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Collection Create Command
3
+ *
4
+ * Create a new collection (custom or smart)
5
+ */
6
+ export declare function run(argv: string[]): Promise<void>;
7
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/collection/create.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA6DH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,iBAoDvC"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Collection Create Command
3
+ *
4
+ * Create a new collection (custom or smart)
5
+ */
6
+ import { parseArgs } from '../../lib/args-parser.js';
7
+ import { getCredentials, getSessionId } from '../../lib/api-client.js';
8
+ import { requestApproval } from '../../lib/approval.js';
9
+ import { CollectionService } from './service.js';
10
+ function showHelp() {
11
+ console.log(`
12
+ Create Collection
13
+
14
+ Create a new collection to group products together. Supports both custom
15
+ (manual) and smart (automated) collections.
16
+
17
+ USAGE:
18
+ ecomcoder collection create [OPTIONS]
19
+
20
+ REQUIRED OPTIONS:
21
+ --title <title> Collection title
22
+
23
+ OPTIONAL OPTIONS:
24
+ --description <desc> HTML description of the collection
25
+ --handle <handle> URL-friendly handle (auto-generated if not provided)
26
+ --products <ids> Comma-separated product IDs (for custom collections)
27
+ --session-id <id> Session ID for authentication
28
+
29
+ EXAMPLES:
30
+ # Create a basic collection
31
+ ecomcoder collection create --title="Summer Collection"
32
+
33
+ # Create with description and handle
34
+ ecomcoder collection create --title="Winter Sale" --description="<p>Save on winter items</p>" --handle="winter-sale"
35
+
36
+ # Create custom collection with products
37
+ ecomcoder collection create --title="Featured Products" --products="123,456,789"
38
+
39
+ # Create with product GIDs
40
+ ecomcoder collection create --title="New Arrivals" --products="gid://shopify/Product/123,gid://shopify/Product/456"
41
+
42
+ OUTPUT:
43
+ JSON object with created collection:
44
+ {
45
+ "success": true,
46
+ "data": {
47
+ "collection": {
48
+ "id": "gid://shopify/Collection/123",
49
+ "title": "Summer Collection",
50
+ "handle": "summer-collection",
51
+ "productsCount": 0,
52
+ "updatedAt": "2026-02-17T12:00:00Z"
53
+ }
54
+ }
55
+ }
56
+
57
+ NOTES:
58
+ - Collections are unpublished by default
59
+ - Use publishablePublish mutation to make them visible to customers
60
+ - Smart collections are not yet supported (use custom collections)
61
+ `);
62
+ }
63
+ export async function run(argv) {
64
+ const args = parseArgs(argv);
65
+ if (args.help) {
66
+ showHelp();
67
+ return;
68
+ }
69
+ // Validate required fields
70
+ if (!args.title) {
71
+ console.error('Error: --title is required\n');
72
+ showHelp();
73
+ process.exit(1);
74
+ }
75
+ const sessionId = getSessionId(args.sessionId);
76
+ const credentials = await getCredentials(sessionId, args.backendUrl, args.jwt);
77
+ // Parse product IDs if provided
78
+ let productIds;
79
+ if (args.products) {
80
+ productIds = args.products.split(',').map((id) => id.trim());
81
+ }
82
+ // Request approval for create operation
83
+ const approved = await requestApproval({
84
+ command: `ecomcoder collection create --title="${args.title}"`,
85
+ message: 'This will create a new collection on your live Shopify store',
86
+ riskLevel: 'moderate'
87
+ });
88
+ if (!approved) {
89
+ console.log(JSON.stringify({
90
+ success: false,
91
+ error: 'Operation cancelled by user'
92
+ }));
93
+ process.exit(1);
94
+ }
95
+ // Call service
96
+ const result = await CollectionService.createCollection(credentials, {
97
+ title: args.title,
98
+ description: args.description,
99
+ handle: args.handle,
100
+ productIds
101
+ });
102
+ console.log(JSON.stringify(result, null, 2));
103
+ if (!result.success) {
104
+ process.exit(1);
105
+ }
106
+ }
107
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/collection/create.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc;IACtC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,2BAA2B;IAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9C,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAE/E,gCAAgC;IAChC,IAAI,UAAgC,CAAC;IACrC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,wCAAwC;IACxC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;QACrC,OAAO,EAAE,wCAAwC,IAAI,CAAC,KAAK,GAAG;QAC9D,OAAO,EAAE,8DAA8D;QACvE,SAAS,EAAE,UAAU;KACtB,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACzB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,6BAA6B;SACrC,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,eAAe;IACf,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,WAAW,EAAE;QACnE,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU;KACX,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-product-collections.d.ts","sourceRoot":"","sources":["../../../src/commands/collection/get-product-collections.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+DH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,iBAwCvC"}
1
+ {"version":3,"file":"get-product-collections.d.ts","sourceRoot":"","sources":["../../../src/commands/collection/get-product-collections.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+DH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,iBAyCvC"}
@@ -4,7 +4,7 @@
4
4
  * View which collections a product belongs to
5
5
  */
6
6
  import { parseArgs } from '../../lib/args-parser.js';
7
- import { getCredentials } from '../../lib/api-client.js';
7
+ import { getCredentials, getSessionId } from '../../lib/api-client.js';
8
8
  import { CollectionService } from './service.js';
9
9
  function showHelp() {
10
10
  console.log(`
@@ -74,7 +74,8 @@ export async function run(argv) {
74
74
  showHelp();
75
75
  process.exit(1);
76
76
  }
77
- const credentials = await getCredentials(args.sessionId);
77
+ const sessionId = getSessionId(args.sessionId);
78
+ const credentials = await getCredentials(sessionId, args.backendUrl, args.jwt);
78
79
  // Parse and validate limit
79
80
  let limit;
80
81
  if (args.limit) {
@@ -1 +1 @@
1
- {"version":3,"file":"get-product-collections.js","sourceRoot":"","sources":["../../../src/commands/collection/get-product-collections.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc;IACtC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,iBAAiB;IACjB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACnD,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEzD,2BAA2B;IAC3B,IAAI,KAAyB,CAAC;IAC9B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC5D,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,eAAe;IACf,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,CAAC,WAAW,EAAE;QACxE,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"get-product-collections.js","sourceRoot":"","sources":["../../../src/commands/collection/get-product-collections.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc;IACtC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,iBAAiB;IACjB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACnD,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAE/E,2BAA2B;IAC3B,IAAI,KAAyB,CAAC;IAC9B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC5D,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,eAAe;IACf,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,CAAC,WAAW,EAAE;QACxE,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/collection/get.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuDH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,iBA4BvC"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/collection/get.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuDH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,iBA6BvC"}
@@ -4,7 +4,7 @@
4
4
  * Get detailed collection information by ID or handle
5
5
  */
6
6
  import { parseArgs } from '../../lib/args-parser.js';
7
- import { getCredentials } from '../../lib/api-client.js';
7
+ import { getCredentials, getSessionId } from '../../lib/api-client.js';
8
8
  import { CollectionService } from './service.js';
9
9
  function showHelp() {
10
10
  console.log(`
@@ -66,7 +66,8 @@ export async function run(argv) {
66
66
  showHelp();
67
67
  process.exit(1);
68
68
  }
69
- const credentials = await getCredentials(args.sessionId);
69
+ const sessionId = getSessionId(args.sessionId);
70
+ const credentials = await getCredentials(sessionId, args.backendUrl, args.jwt);
70
71
  // Call service
71
72
  const result = await CollectionService.getCollection(credentials, {
72
73
  id: args.id,
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/collection/get.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Cb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc;IACtC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,iBAAiB;IACjB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEzD,eAAe;IACf,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,WAAW,EAAE;QAChE,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/collection/get.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Cb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc;IACtC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,iBAAiB;IACjB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAE/E,eAAe;IACf,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,WAAW,EAAE;QAChE,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/collection/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CA8CjD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/collection/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAgEjD"}
@@ -12,12 +12,20 @@ export function registerCollectionCommands() {
12
12
  // Register command group
13
13
  registry.registerGroup({
14
14
  command: 'collection',
15
- description: 'View collections and product-collection relationships',
15
+ description: 'Manage collections and product-collection relationships',
16
16
  showHelp: () => {
17
17
  console.log(HelpGenerator.generateGroupHelp('collection'));
18
18
  }
19
19
  });
20
20
  // Register individual subcommands
21
+ registry.register({
22
+ command: 'collection',
23
+ subcommand: 'create',
24
+ description: 'Create a new collection',
25
+ category: 'CRUD',
26
+ quickExample: 'ecomcoder collection create --title="Summer Collection"',
27
+ handler: async () => await import('./create.js')
28
+ });
21
29
  registry.register({
22
30
  command: 'collection',
23
31
  subcommand: 'get',
@@ -26,6 +34,14 @@ export function registerCollectionCommands() {
26
34
  quickExample: 'ecomcoder collection get --id=123',
27
35
  handler: async () => await import('./get.js')
28
36
  });
37
+ registry.register({
38
+ command: 'collection',
39
+ subcommand: 'add-products',
40
+ description: 'Add products to an existing collection',
41
+ category: 'Manage',
42
+ quickExample: 'ecomcoder collection add-products --id=123 --products="456,789"',
43
+ handler: async () => await import('./add-products.js')
44
+ });
29
45
  registry.register({
30
46
  command: 'collection',
31
47
  subcommand: 'list',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/collection/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,yBAAyB;IACzB,QAAQ,CAAC,aAAa,CAAC;QACrB,OAAO,EAAE,YAAY;QACrB,WAAW,EAAE,uDAAuD;QACpE,QAAQ,EAAE,GAAG,EAAE;YACb,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7D,CAAC;KACF,CAAC,CAAC;IAEH,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,CAAC;QAChB,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,wCAAwC;QACrD,QAAQ,EAAE,MAAM;QAChB,YAAY,EAAE,mCAAmC;QACjD,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC;KAC9C,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE,oDAAoD;QACjE,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE,yDAAyD;QACvE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC;KAC/C,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,eAAe;QAC3B,WAAW,EAAE,4CAA4C;QACzD,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE,6CAA6C;QAC3D,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,oBAAoB,CAAC;KACxD,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,yBAAyB;QACrC,WAAW,EAAE,6CAA6C;QAC1D,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE,+DAA+D;QAC7E,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,8BAA8B,CAAC;KAClE,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/collection/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,yBAAyB;IACzB,QAAQ,CAAC,aAAa,CAAC;QACrB,OAAO,EAAE,YAAY;QACrB,WAAW,EAAE,yDAAyD;QACtE,QAAQ,EAAE,GAAG,EAAE;YACb,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7D,CAAC;KACF,CAAC,CAAC;IAEH,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,CAAC;QAChB,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,yBAAyB;QACtC,QAAQ,EAAE,MAAM;QAChB,YAAY,EAAE,yDAAyD;QACvE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC;KACjD,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,wCAAwC;QACrD,QAAQ,EAAE,MAAM;QAChB,YAAY,EAAE,mCAAmC;QACjD,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC;KAC9C,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,cAAc;QAC1B,WAAW,EAAE,wCAAwC;QACrD,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE,iEAAiE;QAC/E,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,mBAAmB,CAAC;KACvD,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE,oDAAoD;QACjE,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE,yDAAyD;QACvE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC;KAC/C,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,eAAe;QAC3B,WAAW,EAAE,4CAA4C;QACzD,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE,6CAA6C;QAC3D,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,oBAAoB,CAAC;KACxD,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,yBAAyB;QACrC,WAAW,EAAE,6CAA6C;QAC1D,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE,+DAA+D;QAC7E,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,8BAA8B,CAAC;KAClE,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-products.d.ts","sourceRoot":"","sources":["../../../src/commands/collection/list-products.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoEH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,iBAyCvC"}
1
+ {"version":3,"file":"list-products.d.ts","sourceRoot":"","sources":["../../../src/commands/collection/list-products.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoEH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,iBA0CvC"}
@@ -4,7 +4,7 @@
4
4
  * List all products within a specific collection
5
5
  */
6
6
  import { parseArgs } from '../../lib/args-parser.js';
7
- import { getCredentials } from '../../lib/api-client.js';
7
+ import { getCredentials, getSessionId } from '../../lib/api-client.js';
8
8
  import { CollectionService } from './service.js';
9
9
  function showHelp() {
10
10
  console.log(`
@@ -79,7 +79,8 @@ export async function run(argv) {
79
79
  showHelp();
80
80
  process.exit(1);
81
81
  }
82
- const credentials = await getCredentials(args.sessionId);
82
+ const sessionId = getSessionId(args.sessionId);
83
+ const credentials = await getCredentials(sessionId, args.backendUrl, args.jwt);
83
84
  // Parse and validate limit
84
85
  let limit;
85
86
  if (args.limit) {
@@ -1 +1 @@
1
- {"version":3,"file":"list-products.js","sourceRoot":"","sources":["../../../src/commands/collection/list-products.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Db,CAAC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc;IACtC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,iBAAiB;IACjB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEzD,2BAA2B;IAC3B,IAAI,KAAyB,CAAC;IAC9B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC5D,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,eAAe;IACf,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,WAAW,EAAE;QAC/D,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"list-products.js","sourceRoot":"","sources":["../../../src/commands/collection/list-products.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Db,CAAC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc;IACtC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,iBAAiB;IACjB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAE/E,2BAA2B;IAC3B,IAAI,KAAyB,CAAC;IAC9B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC5D,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,eAAe;IACf,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,WAAW,EAAE;QAC/D,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/collection/list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkEH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,iBA2CvC"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/collection/list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkEH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,iBA4CvC"}
@@ -4,7 +4,7 @@
4
4
  * List all collections in the store with filtering and pagination
5
5
  */
6
6
  import { parseArgs } from '../../lib/args-parser.js';
7
- import { getCredentials } from '../../lib/api-client.js';
7
+ import { getCredentials, getSessionId } from '../../lib/api-client.js';
8
8
  import { CollectionService } from './service.js';
9
9
  function showHelp() {
10
10
  console.log(`
@@ -71,7 +71,8 @@ export async function run(argv) {
71
71
  showHelp();
72
72
  return;
73
73
  }
74
- const credentials = await getCredentials(args.sessionId);
74
+ const sessionId = getSessionId(args.sessionId);
75
+ const credentials = await getCredentials(sessionId, args.backendUrl, args.jwt);
75
76
  // Parse and validate limit
76
77
  let limit;
77
78
  if (args.limit) {
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/collection/list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc;IACtC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEzD,2BAA2B;IAC3B,IAAI,KAAyB,CAAC;IAC9B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC5D,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,iCAAiC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,eAAe;IACf,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,eAAe,CAAC,WAAW,EAAE;QAClE,KAAK;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,IAAiD;QAC/D,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;KACxB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/collection/list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc;IACtC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAE/E,2BAA2B;IAC3B,IAAI,KAAyB,CAAC;IAC9B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC5D,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,iCAAiC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,eAAe;IACf,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,eAAe,CAAC,WAAW,EAAE;QAClE,KAAK;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,IAAiD;QAC/D,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;KACxB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -5,11 +5,11 @@
5
5
  /**
6
6
  * Get collection by ID
7
7
  */
8
- export declare const GET_COLLECTION = "\n query GetCollection($id: ID!) {\n collection(id: $id) {\n id\n title\n handle\n description\n descriptionHtml\n sortOrder\n productsCount\n updatedAt\n image {\n url\n altText\n }\n }\n }\n";
8
+ export declare const GET_COLLECTION = "\n query GetCollection($id: ID!) {\n collection(id: $id) {\n id\n title\n handle\n description\n descriptionHtml\n sortOrder\n productsCount {\n count\n }\n updatedAt\n image {\n url\n altText\n }\n }\n }\n";
9
9
  /**
10
10
  * Get collection by handle
11
11
  */
12
- export declare const GET_COLLECTION_BY_HANDLE = "\n query GetCollectionByHandle($handle: String!) {\n collectionByHandle(handle: $handle) {\n id\n title\n handle\n description\n descriptionHtml\n sortOrder\n productsCount\n updatedAt\n image {\n url\n altText\n }\n }\n }\n";
12
+ export declare const GET_COLLECTION_BY_HANDLE = "\n query GetCollectionByHandle($handle: String!) {\n collectionByHandle(handle: $handle) {\n id\n title\n handle\n description\n descriptionHtml\n sortOrder\n productsCount {\n count\n }\n updatedAt\n image {\n url\n altText\n }\n }\n }\n";
13
13
  /**
14
14
  * Get collection with products
15
15
  * Used by list-products command
@@ -28,5 +28,15 @@ export declare const GET_PRODUCT_COLLECTIONS = "\n query GetProductCollections(
28
28
  * List all collections
29
29
  * Used by list command
30
30
  */
31
- export declare const LIST_COLLECTIONS = "\n query ListCollections($first: Int!, $after: String, $query: String, $sortKey: CollectionSortKeys, $reverse: Boolean) {\n collections(first: $first, after: $after, query: $query, sortKey: $sortKey, reverse: $reverse) {\n nodes {\n id\n title\n handle\n productsCount\n updatedAt\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n";
31
+ export declare const LIST_COLLECTIONS = "\n query ListCollections($first: Int!, $after: String, $query: String, $sortKey: CollectionSortKeys, $reverse: Boolean) {\n collections(first: $first, after: $after, query: $query, sortKey: $sortKey, reverse: $reverse) {\n nodes {\n id\n title\n handle\n productsCount {\n count\n }\n updatedAt\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n";
32
+ /**
33
+ * Create a new collection
34
+ * Used by create command
35
+ */
36
+ export declare const CREATE_COLLECTION = "\n mutation CreateCollection($input: CollectionInput!) {\n collectionCreate(input: $input) {\n collection {\n id\n title\n handle\n description\n descriptionHtml\n sortOrder\n productsCount {\n count\n }\n updatedAt\n image {\n url\n altText\n }\n }\n userErrors {\n field\n message\n }\n }\n }\n";
37
+ /**
38
+ * Add products to existing collection
39
+ * Used by add-products command
40
+ */
41
+ export declare const ADD_PRODUCTS_TO_COLLECTION = "\n mutation AddProductsToCollection($id: ID!, $productIds: [ID!]!) {\n collectionAddProducts(id: $id, productIds: $productIds) {\n collection {\n id\n title\n handle\n productsCount {\n count\n }\n updatedAt\n }\n userErrors {\n field\n message\n }\n }\n }\n";
32
42
  //# sourceMappingURL=queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/commands/collection/queries.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,6QAiB1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,6SAiBpC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,wlBA6BnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iCAAiC,wnBA6B7C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,+VAkBnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,maAgB5B,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/commands/collection/queries.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,uSAmB1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,uUAmBpC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,wlBA6BnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iCAAiC,wnBA6B7C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,+VAkBnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,icAkB5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,+bAyB7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,oWAkBtC,CAAC"}
@@ -14,7 +14,9 @@ export const GET_COLLECTION = `
14
14
  description
15
15
  descriptionHtml
16
16
  sortOrder
17
- productsCount
17
+ productsCount {
18
+ count
19
+ }
18
20
  updatedAt
19
21
  image {
20
22
  url
@@ -35,7 +37,9 @@ export const GET_COLLECTION_BY_HANDLE = `
35
37
  description
36
38
  descriptionHtml
37
39
  sortOrder
38
- productsCount
40
+ productsCount {
41
+ count
42
+ }
39
43
  updatedAt
40
44
  image {
41
45
  url
@@ -145,7 +149,9 @@ export const LIST_COLLECTIONS = `
145
149
  id
146
150
  title
147
151
  handle
148
- productsCount
152
+ productsCount {
153
+ count
154
+ }
149
155
  updatedAt
150
156
  }
151
157
  pageInfo {
@@ -155,4 +161,57 @@ export const LIST_COLLECTIONS = `
155
161
  }
156
162
  }
157
163
  `;
164
+ /**
165
+ * Create a new collection
166
+ * Used by create command
167
+ */
168
+ export const CREATE_COLLECTION = `
169
+ mutation CreateCollection($input: CollectionInput!) {
170
+ collectionCreate(input: $input) {
171
+ collection {
172
+ id
173
+ title
174
+ handle
175
+ description
176
+ descriptionHtml
177
+ sortOrder
178
+ productsCount {
179
+ count
180
+ }
181
+ updatedAt
182
+ image {
183
+ url
184
+ altText
185
+ }
186
+ }
187
+ userErrors {
188
+ field
189
+ message
190
+ }
191
+ }
192
+ }
193
+ `;
194
+ /**
195
+ * Add products to existing collection
196
+ * Used by add-products command
197
+ */
198
+ export const ADD_PRODUCTS_TO_COLLECTION = `
199
+ mutation AddProductsToCollection($id: ID!, $productIds: [ID!]!) {
200
+ collectionAddProducts(id: $id, productIds: $productIds) {
201
+ collection {
202
+ id
203
+ title
204
+ handle
205
+ productsCount {
206
+ count
207
+ }
208
+ updatedAt
209
+ }
210
+ userErrors {
211
+ field
212
+ message
213
+ }
214
+ }
215
+ }
216
+ `;
158
217
  //# sourceMappingURL=queries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/commands/collection/queries.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;CAiB7B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;CAiBvC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BtC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BhD,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;CAkBtC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;CAgB/B,CAAC"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/commands/collection/queries.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;CAmB7B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;CAmBvC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BtC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BhD,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;CAkBtC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;CAkB/B,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBhC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;CAkBzC,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * Follows Dependency Injection - accepts dependencies as parameters
6
6
  */
7
7
  import type { ShopifyCredentials } from '../../lib/types.js';
8
- import type { GetCollectionInput, ListProductsInput, GetProductCollectionsInput, ListCollectionsInput, FormattedCollection, FormattedProduct, PageInfo, CommandResult } from './types.js';
8
+ import type { GetCollectionInput, ListProductsInput, GetProductCollectionsInput, ListCollectionsInput, CreateCollectionInput, AddProductsInput, FormattedCollection, FormattedProduct, PageInfo, CommandResult } from './types.js';
9
9
  /**
10
10
  * Collection Service
11
11
  *
@@ -41,6 +41,19 @@ export declare class CollectionService {
41
41
  collections: FormattedCollection[];
42
42
  count: number;
43
43
  }>>;
44
+ /**
45
+ * Add products to an existing collection
46
+ */
47
+ static addProductsToCollection(credentials: ShopifyCredentials, input: AddProductsInput): Promise<CommandResult<{
48
+ collection: FormattedCollection;
49
+ addedCount: number;
50
+ }>>;
51
+ /**
52
+ * Create a new collection
53
+ */
54
+ static createCollection(credentials: ShopifyCredentials, input: CreateCollectionInput): Promise<CommandResult<{
55
+ collection: FormattedCollection;
56
+ }>>;
44
57
  /**
45
58
  * List all collections in store
46
59
  */
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/commands/collection/service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAiB7D,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,QAAQ,EAKR,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B;;OAEG;WACU,aAAa,CACxB,WAAW,EAAE,kBAAkB,EAC/B,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,aAAa,CAAC;QAAE,UAAU,EAAE,mBAAmB,CAAA;KAAE,CAAC,CAAC;IAwD9D;;OAEG;WACU,YAAY,CACvB,WAAW,EAAE,kBAAkB,EAC/B,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,aAAa,CAAC;QACvB,UAAU,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1C,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC7B,QAAQ,EAAE,QAAQ,CAAC;KACpB,CAAC,CAAC;IA8EH;;OAEG;WACU,qBAAqB,CAChC,WAAW,EAAE,kBAAkB,EAC/B,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,aAAa,CAAC;QACvB,OAAO,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QACvC,WAAW,EAAE,mBAAmB,EAAE,CAAC;QACnC,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IAyDH;;OAEG;WACU,eAAe,CAC1B,WAAW,EAAE,kBAAkB,EAC/B,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,aAAa,CAAC;QACvB,WAAW,EAAE,mBAAmB,EAAE,CAAC;QACnC,QAAQ,EAAE,QAAQ,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CA4DJ"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/commands/collection/service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAoB7D,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,QAAQ,EAOR,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B;;OAEG;WACU,aAAa,CACxB,WAAW,EAAE,kBAAkB,EAC/B,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,aAAa,CAAC;QAAE,UAAU,EAAE,mBAAmB,CAAA;KAAE,CAAC,CAAC;IAwD9D;;OAEG;WACU,YAAY,CACvB,WAAW,EAAE,kBAAkB,EAC/B,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,aAAa,CAAC;QACvB,UAAU,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1C,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC7B,QAAQ,EAAE,QAAQ,CAAC;KACpB,CAAC,CAAC;IA8EH;;OAEG;WACU,qBAAqB,CAChC,WAAW,EAAE,kBAAkB,EAC/B,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,aAAa,CAAC;QACvB,OAAO,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QACvC,WAAW,EAAE,mBAAmB,EAAE,CAAC;QACnC,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IAyDH;;OAEG;WACU,uBAAuB,CAClC,WAAW,EAAE,kBAAkB,EAC/B,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,aAAa,CAAC;QAAE,UAAU,EAAE,mBAAmB,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAuDlF;;OAEG;WACU,gBAAgB,CAC3B,WAAW,EAAE,kBAAkB,EAC/B,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,aAAa,CAAC;QAAE,UAAU,EAAE,mBAAmB,CAAA;KAAE,CAAC,CAAC;IA+D9D;;OAEG;WACU,eAAe,CAC1B,WAAW,EAAE,kBAAkB,EAC/B,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,aAAa,CAAC;QACvB,WAAW,EAAE,mBAAmB,EAAE,CAAC;QACnC,QAAQ,EAAE,QAAQ,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CA4DJ"}
@@ -5,8 +5,8 @@
5
5
  * Follows Dependency Injection - accepts dependencies as parameters
6
6
  */
7
7
  import { shopifyGraphQL } from '../../lib/shopify-client.js';
8
- import { GET_COLLECTION, GET_COLLECTION_BY_HANDLE, GET_COLLECTION_PRODUCTS, GET_COLLECTION_PRODUCTS_BY_HANDLE, GET_PRODUCT_COLLECTIONS, LIST_COLLECTIONS } from './queries.js';
9
- import { normalizeCollectionId, normalizeProductId, formatCollection, hasGraphQLErrors, extractGraphQLErrors } from './utils.js';
8
+ import { GET_COLLECTION, GET_COLLECTION_BY_HANDLE, GET_COLLECTION_PRODUCTS, GET_COLLECTION_PRODUCTS_BY_HANDLE, GET_PRODUCT_COLLECTIONS, LIST_COLLECTIONS, CREATE_COLLECTION, ADD_PRODUCTS_TO_COLLECTION } from './queries.js';
9
+ import { normalizeCollectionId, normalizeProductId, formatCollection, hasGraphQLErrors, extractGraphQLErrors, formatUserErrors } from './utils.js';
10
10
  /**
11
11
  * Collection Service
12
12
  *
@@ -178,6 +178,103 @@ export class CollectionService {
178
178
  }
179
179
  };
180
180
  }
181
+ /**
182
+ * Add products to an existing collection
183
+ */
184
+ static async addProductsToCollection(credentials, input) {
185
+ const { gid: collectionGid } = normalizeCollectionId(input.collectionId);
186
+ // Normalize product IDs
187
+ const productGids = input.productIds.map(id => {
188
+ const { gid } = normalizeProductId(id);
189
+ return gid;
190
+ });
191
+ // Execute mutation
192
+ const response = await shopifyGraphQL(credentials, ADD_PRODUCTS_TO_COLLECTION, { id: collectionGid, productIds: productGids });
193
+ if (hasGraphQLErrors(response)) {
194
+ return {
195
+ success: false,
196
+ error: `GraphQL error: ${extractGraphQLErrors(response)}`
197
+ };
198
+ }
199
+ const { collection, userErrors } = response.data?.collectionAddProducts || {};
200
+ // Check for user errors
201
+ if (userErrors && userErrors.length > 0) {
202
+ return {
203
+ success: false,
204
+ error: formatUserErrors(userErrors)
205
+ };
206
+ }
207
+ if (!collection) {
208
+ return {
209
+ success: false,
210
+ error: 'Failed to add products to collection'
211
+ };
212
+ }
213
+ return {
214
+ success: true,
215
+ data: {
216
+ collection: {
217
+ id: collection.id,
218
+ title: collection.title,
219
+ handle: collection.handle,
220
+ productsCount: collection.productsCount?.count ?? 0,
221
+ updatedAt: collection.updatedAt
222
+ },
223
+ addedCount: productGids.length
224
+ }
225
+ };
226
+ }
227
+ /**
228
+ * Create a new collection
229
+ */
230
+ static async createCollection(credentials, input) {
231
+ // Normalize product IDs if provided
232
+ const products = input.productIds?.map(id => {
233
+ const { gid } = normalizeProductId(id);
234
+ return gid;
235
+ });
236
+ // Build mutation input
237
+ const mutationInput = {
238
+ title: input.title
239
+ };
240
+ if (input.description) {
241
+ mutationInput.descriptionHtml = input.description;
242
+ }
243
+ if (input.handle) {
244
+ mutationInput.handle = input.handle;
245
+ }
246
+ if (products && products.length > 0) {
247
+ mutationInput.products = products;
248
+ }
249
+ // Execute mutation
250
+ const response = await shopifyGraphQL(credentials, CREATE_COLLECTION, { input: mutationInput });
251
+ if (hasGraphQLErrors(response)) {
252
+ return {
253
+ success: false,
254
+ error: `GraphQL error: ${extractGraphQLErrors(response)}`
255
+ };
256
+ }
257
+ const { collection, userErrors } = response.data?.collectionCreate || {};
258
+ // Check for user errors
259
+ if (userErrors && userErrors.length > 0) {
260
+ return {
261
+ success: false,
262
+ error: formatUserErrors(userErrors)
263
+ };
264
+ }
265
+ if (!collection) {
266
+ return {
267
+ success: false,
268
+ error: 'Failed to create collection'
269
+ };
270
+ }
271
+ return {
272
+ success: true,
273
+ data: {
274
+ collection: formatCollection(collection)
275
+ }
276
+ };
277
+ }
181
278
  /**
182
279
  * List all collections in store
183
280
  */
@@ -216,7 +313,7 @@ export class CollectionService {
216
313
  id: collection.id,
217
314
  title: collection.title,
218
315
  handle: collection.handle,
219
- productsCount: collection.productsCount,
316
+ productsCount: collection.productsCount?.count ?? 0,
220
317
  updatedAt: collection.updatedAt
221
318
  }));
222
319
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/commands/collection/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/commands/collection/service.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,16 @@ export interface ListCollectionsInput {
27
27
  sortKey?: 'TITLE' | 'UPDATED_AT' | 'ID';
28
28
  reverse?: boolean;
29
29
  }
30
+ export interface CreateCollectionInput {
31
+ title: string;
32
+ description?: string;
33
+ handle?: string;
34
+ productIds?: string[];
35
+ }
36
+ export interface AddProductsInput {
37
+ collectionId: string;
38
+ productIds: string[];
39
+ }
30
40
  /**
31
41
  * Formatted output types for CLI responses
32
42
  */
@@ -138,6 +148,32 @@ export interface CollectionsListResponse {
138
148
  };
139
149
  };
140
150
  }
151
+ export interface CreateCollectionResponse {
152
+ collectionCreate: {
153
+ collection: ShopifyCollection | null;
154
+ userErrors: Array<{
155
+ field?: string[];
156
+ message: string;
157
+ }>;
158
+ };
159
+ }
160
+ export interface AddProductsResponse {
161
+ collectionAddProducts: {
162
+ collection: {
163
+ id: string;
164
+ title: string;
165
+ handle: string;
166
+ productsCount: {
167
+ count: number;
168
+ };
169
+ updatedAt: string;
170
+ } | null;
171
+ userErrors: Array<{
172
+ field?: string[];
173
+ message: string;
174
+ }>;
175
+ };
176
+ }
141
177
  /**
142
178
  * CLI command result type
143
179
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/collection/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/collection/types.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ export function formatCollection(collection) {
41
41
  title: collection.title,
42
42
  handle: collection.handle,
43
43
  description: collection.description,
44
- productsCount: collection.productsCount,
44
+ productsCount: collection.productsCount?.count ?? 0,
45
45
  sortOrder: collection.sortOrder,
46
46
  updatedAt: collection.updatedAt,
47
47
  image: collection.image ? {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/collection/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAU;IAC9C,IAAI,EAAE,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAAE,CAAC;QAC/C,OAAO;YACL,GAAG,EAAE,EAAE;YACP,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE;SACnC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,EAAE,4BAA4B,EAAE,EAAE;QACrC,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAC5C,OAAO;YACL,GAAG,EAAE,EAAE;YACP,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE;SACnC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,EAAE,yBAAyB,EAAE,EAAE;QAClC,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAe;IAC9C,OAAO;QACL,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,aAAa,EAAE,UAAU,CAAC,aAAa;QACvC,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YACxB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG;YACzB,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO;SAClC,CAAC,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAa;IAC5C,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAa;IAChD,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM;SACnB,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;SAC9B,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAoD;IACnF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,OAAO,MAAM;SACV,GAAG,CAAC,GAAG,CAAC,EAAE;QACT,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,OAAO,GAAG,KAAK,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/collection/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAU;IAC9C,IAAI,EAAE,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAAE,CAAC;QAC/C,OAAO;YACL,GAAG,EAAE,EAAE;YACP,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE;SACnC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,EAAE,4BAA4B,EAAE,EAAE;QACrC,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAC5C,OAAO;YACL,GAAG,EAAE,EAAE;YACP,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE;SACnC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,EAAE,yBAAyB,EAAE,EAAE;QAClC,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAe;IAC9C,OAAO;QACL,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,aAAa,EAAE,UAAU,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC;QACnD,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YACxB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG;YACzB,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO;SAClC,CAAC,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAa;IAC5C,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAa;IAChD,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM;SACnB,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;SAC9B,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAoD;IACnF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,OAAO,MAAM;SACV,GAAG,CAAC,GAAG,CAAC,EAAE;QACT,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,OAAO,GAAG,KAAK,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/commands/image/generate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqEH,wBAAsB,GAAG,CAAC,IAAI,GAAE,MAAM,EAA0B,iBAwE/D"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/commands/image/generate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqEH,wBAAsB,GAAG,CAAC,IAAI,GAAE,MAAM,EAA0B,iBA4I/D"}
@@ -111,7 +111,31 @@ export async function run(argv = process.argv.slice(2)) {
111
111
  // Get credentials and session ID
112
112
  const sessionId = getSessionId(args.sessionId);
113
113
  const credentials = await getCredentials(sessionId, args.backendUrl, args.jwt);
114
- // Generate and upload image
114
+ // User machine API (runs locally on port 8080)
115
+ // BACKEND_URL is set by user-machine when spawning CLI processes
116
+ const apiUrl = args.backendUrl || process.env.BACKEND_URL || 'http://localhost:8080';
117
+ // Common headers (no JWT needed - user-machine already knows the environment)
118
+ const headers = {
119
+ 'Content-Type': 'application/json'
120
+ };
121
+ // Step 1: Check spending limits via user machine API
122
+ const limitCheck = await fetch(`${apiUrl}/api/image-generation/check-limits`, {
123
+ method: 'POST',
124
+ headers,
125
+ body: JSON.stringify({
126
+ size: args.size || '1024x1024',
127
+ quality: args.quality || 'standard'
128
+ })
129
+ });
130
+ const limitResult = await limitCheck.json();
131
+ if (!limitResult.success || !limitResult.data?.allowed) {
132
+ console.error(JSON.stringify({
133
+ success: false,
134
+ error: limitResult.data?.reason || 'Image generation not allowed'
135
+ }));
136
+ process.exit(1);
137
+ }
138
+ // Step 2: Generate image and upload to Shopify
115
139
  const result = await ImageGenerationService.generate(credentials, {
116
140
  prompt: args.prompt,
117
141
  size: args.size,
@@ -119,10 +143,46 @@ export async function run(argv = process.argv.slice(2)) {
119
143
  style: args.style,
120
144
  sessionId
121
145
  });
122
- console.log(JSON.stringify(result, null, 2));
123
146
  if (!result.success) {
147
+ // Track failed generation
148
+ await fetch(`${apiUrl}/api/image-generation/track-failed`, {
149
+ method: 'POST',
150
+ headers,
151
+ body: JSON.stringify({
152
+ sessionId,
153
+ prompt: args.prompt,
154
+ revisedPrompt: args.prompt,
155
+ size: args.size || '1024x1024',
156
+ quality: args.quality || 'standard',
157
+ errorMessage: result.error || 'Unknown error',
158
+ metadata: {
159
+ style: args.style || 'vivid'
160
+ }
161
+ })
162
+ });
163
+ console.error(JSON.stringify(result));
124
164
  process.exit(1);
125
165
  }
166
+ // Step 3: Track successful generation via user machine API
167
+ if (result.data) {
168
+ await fetch(`${apiUrl}/api/image-generation/track`, {
169
+ method: 'POST',
170
+ headers,
171
+ body: JSON.stringify({
172
+ sessionId,
173
+ prompt: args.prompt,
174
+ revisedPrompt: result.data.asset.revisedPrompt,
175
+ size: args.size || '1024x1024',
176
+ quality: args.quality || 'standard',
177
+ imageUrl: result.data.asset.shopifyUrl,
178
+ metadata: {
179
+ style: args.style || 'vivid',
180
+ originalPrompt: result.data.asset.originalPrompt
181
+ }
182
+ })
183
+ });
184
+ }
185
+ console.log(JSON.stringify(result, null, 2));
126
186
  }
127
187
  catch (error) {
128
188
  console.error(JSON.stringify({
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/image/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/image/generate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Db,CAAC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAiB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE7B,8BAA8B;IAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3B,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,qCAAqC;SAC7C,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gBAAgB;IAChB,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3B,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,mCAAmC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAClE,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,mBAAmB;IACnB,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3B,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,sCAAsC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACzE,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,iBAAiB;IACjB,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACzC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3B,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,oCAAoC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACpE,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,iCAAiC;QACjC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAE/E,+CAA+C;QAC/C,iEAAiE;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,uBAAuB,CAAC;QAErF,8EAA8E;QAC9E,MAAM,OAAO,GAAG;YACd,cAAc,EAAE,kBAAkB;SACnC,CAAC;QAEF,qDAAqD;QACrD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,oCAAoC,EAAE;YAC5E,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,WAAW;gBAC9B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,UAAU;aACpC,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,WAAW,GAAQ,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QAEjD,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;YACvD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC3B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,IAAI,8BAA8B;aAClE,CAAC,CAAC,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,+CAA+C;QAC/C,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,QAAQ,CAAC,WAAW,EAAE;YAChE,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAA2D;YACtE,OAAO,EAAE,IAAI,CAAC,OAAwC;YACtD,KAAK,EAAE,IAAI,CAAC,KAAwC;YACpD,SAAS;SACV,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,0BAA0B;YAC1B,MAAM,KAAK,CAAC,GAAG,MAAM,oCAAoC,EAAE;gBACzD,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,SAAS;oBACT,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,aAAa,EAAE,IAAI,CAAC,MAAM;oBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,WAAW;oBAC9B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,UAAU;oBACnC,YAAY,EAAE,MAAM,CAAC,KAAK,IAAI,eAAe;oBAC7C,QAAQ,EAAE;wBACR,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO;qBAC7B;iBACF,CAAC;aACH,CAAC,CAAC;YAEH,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,2DAA2D;QAC3D,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,KAAK,CAAC,GAAG,MAAM,6BAA6B,EAAE;gBAClD,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,SAAS;oBACT,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa;oBAC9C,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,WAAW;oBAC9B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,UAAU;oBACnC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;oBACtC,QAAQ,EAAE;wBACR,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO;wBAC5B,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc;qBACjD;iBACF,CAAC;aACH,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/C,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3B,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,wBAAwB;SACjD,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ecomcoder-cli",
3
- "version": "1.3.15",
3
+ "version": "1.3.17",
4
4
  "type": "module",
5
5
  "description": "CLI tools for EcomCoder - Shopify development utilities",
6
6
  "main": "./dist/index.js",