@optima-chat/commerce-cli 1.0.0

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 (528) hide show
  1. package/.claude/CLAUDE.md +101 -0
  2. package/LICENSE +21 -0
  3. package/README.md +1132 -0
  4. package/dist/api/rest/auth.d.ts +56 -0
  5. package/dist/api/rest/auth.d.ts.map +1 -0
  6. package/dist/api/rest/auth.js +150 -0
  7. package/dist/api/rest/auth.js.map +1 -0
  8. package/dist/api/rest/base.d.ts +7 -0
  9. package/dist/api/rest/base.d.ts.map +1 -0
  10. package/dist/api/rest/base.js +51 -0
  11. package/dist/api/rest/base.js.map +1 -0
  12. package/dist/api/rest/commerce.d.ts +730 -0
  13. package/dist/api/rest/commerce.d.ts.map +1 -0
  14. package/dist/api/rest/commerce.js +935 -0
  15. package/dist/api/rest/commerce.js.map +1 -0
  16. package/dist/commands/auth/index.d.ts +3 -0
  17. package/dist/commands/auth/index.d.ts.map +1 -0
  18. package/dist/commands/auth/index.js +14 -0
  19. package/dist/commands/auth/index.js.map +1 -0
  20. package/dist/commands/auth/login.d.ts +3 -0
  21. package/dist/commands/auth/login.d.ts.map +1 -0
  22. package/dist/commands/auth/login.js +194 -0
  23. package/dist/commands/auth/login.js.map +1 -0
  24. package/dist/commands/auth/logout.d.ts +3 -0
  25. package/dist/commands/auth/logout.d.ts.map +1 -0
  26. package/dist/commands/auth/logout.js +126 -0
  27. package/dist/commands/auth/logout.js.map +1 -0
  28. package/dist/commands/auth/switch.d.ts +3 -0
  29. package/dist/commands/auth/switch.d.ts.map +1 -0
  30. package/dist/commands/auth/switch.js +111 -0
  31. package/dist/commands/auth/switch.js.map +1 -0
  32. package/dist/commands/auth/test-refresh.d.ts +3 -0
  33. package/dist/commands/auth/test-refresh.d.ts.map +1 -0
  34. package/dist/commands/auth/test-refresh.js +43 -0
  35. package/dist/commands/auth/test-refresh.js.map +1 -0
  36. package/dist/commands/auth/whoami.d.ts +3 -0
  37. package/dist/commands/auth/whoami.d.ts.map +1 -0
  38. package/dist/commands/auth/whoami.js +117 -0
  39. package/dist/commands/auth/whoami.js.map +1 -0
  40. package/dist/commands/cleanup.d.ts +3 -0
  41. package/dist/commands/cleanup.d.ts.map +1 -0
  42. package/dist/commands/cleanup.js +100 -0
  43. package/dist/commands/cleanup.js.map +1 -0
  44. package/dist/commands/collection/add-products.d.ts +3 -0
  45. package/dist/commands/collection/add-products.d.ts.map +1 -0
  46. package/dist/commands/collection/add-products.js +105 -0
  47. package/dist/commands/collection/add-products.js.map +1 -0
  48. package/dist/commands/collection/create.d.ts +3 -0
  49. package/dist/commands/collection/create.d.ts.map +1 -0
  50. package/dist/commands/collection/create.js +154 -0
  51. package/dist/commands/collection/create.js.map +1 -0
  52. package/dist/commands/collection/delete.d.ts +3 -0
  53. package/dist/commands/collection/delete.d.ts.map +1 -0
  54. package/dist/commands/collection/delete.js +83 -0
  55. package/dist/commands/collection/delete.js.map +1 -0
  56. package/dist/commands/collection/get.d.ts +3 -0
  57. package/dist/commands/collection/get.d.ts.map +1 -0
  58. package/dist/commands/collection/get.js +83 -0
  59. package/dist/commands/collection/get.js.map +1 -0
  60. package/dist/commands/collection/index.d.ts +4 -0
  61. package/dist/commands/collection/index.d.ts.map +1 -0
  62. package/dist/commands/collection/index.js +22 -0
  63. package/dist/commands/collection/index.js.map +1 -0
  64. package/dist/commands/collection/list-products.d.ts +3 -0
  65. package/dist/commands/collection/list-products.d.ts.map +1 -0
  66. package/dist/commands/collection/list-products.js +100 -0
  67. package/dist/commands/collection/list-products.js.map +1 -0
  68. package/dist/commands/collection/list.d.ts +3 -0
  69. package/dist/commands/collection/list.d.ts.map +1 -0
  70. package/dist/commands/collection/list.js +98 -0
  71. package/dist/commands/collection/list.js.map +1 -0
  72. package/dist/commands/collection/remove-products.d.ts +3 -0
  73. package/dist/commands/collection/remove-products.d.ts.map +1 -0
  74. package/dist/commands/collection/remove-products.js +128 -0
  75. package/dist/commands/collection/remove-products.js.map +1 -0
  76. package/dist/commands/collection/update.d.ts +3 -0
  77. package/dist/commands/collection/update.d.ts.map +1 -0
  78. package/dist/commands/collection/update.js +166 -0
  79. package/dist/commands/collection/update.js.map +1 -0
  80. package/dist/commands/conversation/close.d.ts +3 -0
  81. package/dist/commands/conversation/close.d.ts.map +1 -0
  82. package/dist/commands/conversation/close.js +70 -0
  83. package/dist/commands/conversation/close.js.map +1 -0
  84. package/dist/commands/conversation/create.d.ts +3 -0
  85. package/dist/commands/conversation/create.d.ts.map +1 -0
  86. package/dist/commands/conversation/create.js +153 -0
  87. package/dist/commands/conversation/create.js.map +1 -0
  88. package/dist/commands/conversation/get.d.ts +3 -0
  89. package/dist/commands/conversation/get.d.ts.map +1 -0
  90. package/dist/commands/conversation/get.js +128 -0
  91. package/dist/commands/conversation/get.js.map +1 -0
  92. package/dist/commands/conversation/index.d.ts +3 -0
  93. package/dist/commands/conversation/index.d.ts.map +1 -0
  94. package/dist/commands/conversation/index.js +19 -0
  95. package/dist/commands/conversation/index.js.map +1 -0
  96. package/dist/commands/conversation/list.d.ts +3 -0
  97. package/dist/commands/conversation/list.d.ts.map +1 -0
  98. package/dist/commands/conversation/list.js +129 -0
  99. package/dist/commands/conversation/list.js.map +1 -0
  100. package/dist/commands/conversation/mark-read.d.ts +3 -0
  101. package/dist/commands/conversation/mark-read.d.ts.map +1 -0
  102. package/dist/commands/conversation/mark-read.js +69 -0
  103. package/dist/commands/conversation/mark-read.js.map +1 -0
  104. package/dist/commands/conversation/messages.d.ts +3 -0
  105. package/dist/commands/conversation/messages.d.ts.map +1 -0
  106. package/dist/commands/conversation/messages.js +128 -0
  107. package/dist/commands/conversation/messages.js.map +1 -0
  108. package/dist/commands/conversation/send.d.ts +3 -0
  109. package/dist/commands/conversation/send.d.ts.map +1 -0
  110. package/dist/commands/conversation/send.js +100 -0
  111. package/dist/commands/conversation/send.js.map +1 -0
  112. package/dist/commands/homepage/create.d.ts +3 -0
  113. package/dist/commands/homepage/create.d.ts.map +1 -0
  114. package/dist/commands/homepage/create.js +150 -0
  115. package/dist/commands/homepage/create.js.map +1 -0
  116. package/dist/commands/homepage/delete.d.ts +3 -0
  117. package/dist/commands/homepage/delete.d.ts.map +1 -0
  118. package/dist/commands/homepage/delete.js +83 -0
  119. package/dist/commands/homepage/delete.js.map +1 -0
  120. package/dist/commands/homepage/get.d.ts +3 -0
  121. package/dist/commands/homepage/get.d.ts.map +1 -0
  122. package/dist/commands/homepage/get.js +96 -0
  123. package/dist/commands/homepage/get.js.map +1 -0
  124. package/dist/commands/homepage/index.d.ts +4 -0
  125. package/dist/commands/homepage/index.d.ts.map +1 -0
  126. package/dist/commands/homepage/index.js +26 -0
  127. package/dist/commands/homepage/index.js.map +1 -0
  128. package/dist/commands/homepage/list.d.ts +3 -0
  129. package/dist/commands/homepage/list.d.ts.map +1 -0
  130. package/dist/commands/homepage/list.js +101 -0
  131. package/dist/commands/homepage/list.js.map +1 -0
  132. package/dist/commands/homepage/patch-settings.d.ts +3 -0
  133. package/dist/commands/homepage/patch-settings.d.ts.map +1 -0
  134. package/dist/commands/homepage/patch-settings.js +109 -0
  135. package/dist/commands/homepage/patch-settings.js.map +1 -0
  136. package/dist/commands/homepage/reorder.d.ts +3 -0
  137. package/dist/commands/homepage/reorder.d.ts.map +1 -0
  138. package/dist/commands/homepage/reorder.js +99 -0
  139. package/dist/commands/homepage/reorder.js.map +1 -0
  140. package/dist/commands/homepage/update-collections.d.ts +3 -0
  141. package/dist/commands/homepage/update-collections.d.ts.map +1 -0
  142. package/dist/commands/homepage/update-collections.js +93 -0
  143. package/dist/commands/homepage/update-collections.js.map +1 -0
  144. package/dist/commands/homepage/update-images.d.ts +3 -0
  145. package/dist/commands/homepage/update-images.d.ts.map +1 -0
  146. package/dist/commands/homepage/update-images.js +129 -0
  147. package/dist/commands/homepage/update-images.js.map +1 -0
  148. package/dist/commands/homepage/update-target.d.ts +3 -0
  149. package/dist/commands/homepage/update-target.d.ts.map +1 -0
  150. package/dist/commands/homepage/update-target.js +94 -0
  151. package/dist/commands/homepage/update-target.js.map +1 -0
  152. package/dist/commands/homepage/update.d.ts +3 -0
  153. package/dist/commands/homepage/update.d.ts.map +1 -0
  154. package/dist/commands/homepage/update.js +109 -0
  155. package/dist/commands/homepage/update.js.map +1 -0
  156. package/dist/commands/i18n/collection/create.d.ts +3 -0
  157. package/dist/commands/i18n/collection/create.d.ts.map +1 -0
  158. package/dist/commands/i18n/collection/create.js +147 -0
  159. package/dist/commands/i18n/collection/create.js.map +1 -0
  160. package/dist/commands/i18n/collection/delete.d.ts +3 -0
  161. package/dist/commands/i18n/collection/delete.d.ts.map +1 -0
  162. package/dist/commands/i18n/collection/delete.js +82 -0
  163. package/dist/commands/i18n/collection/delete.js.map +1 -0
  164. package/dist/commands/i18n/collection/get.d.ts +3 -0
  165. package/dist/commands/i18n/collection/get.d.ts.map +1 -0
  166. package/dist/commands/i18n/collection/get.js +85 -0
  167. package/dist/commands/i18n/collection/get.js.map +1 -0
  168. package/dist/commands/i18n/collection/index.d.ts +3 -0
  169. package/dist/commands/i18n/collection/index.d.ts.map +1 -0
  170. package/dist/commands/i18n/collection/index.js +14 -0
  171. package/dist/commands/i18n/collection/index.js.map +1 -0
  172. package/dist/commands/i18n/collection/list.d.ts +3 -0
  173. package/dist/commands/i18n/collection/list.d.ts.map +1 -0
  174. package/dist/commands/i18n/collection/list.js +89 -0
  175. package/dist/commands/i18n/collection/list.js.map +1 -0
  176. package/dist/commands/i18n/collection/update.d.ts +3 -0
  177. package/dist/commands/i18n/collection/update.d.ts.map +1 -0
  178. package/dist/commands/i18n/collection/update.js +108 -0
  179. package/dist/commands/i18n/collection/update.js.map +1 -0
  180. package/dist/commands/i18n/homepage/delete.d.ts +3 -0
  181. package/dist/commands/i18n/homepage/delete.d.ts.map +1 -0
  182. package/dist/commands/i18n/homepage/delete.js +90 -0
  183. package/dist/commands/i18n/homepage/delete.js.map +1 -0
  184. package/dist/commands/i18n/homepage/index.d.ts +4 -0
  185. package/dist/commands/i18n/homepage/index.d.ts.map +1 -0
  186. package/dist/commands/i18n/homepage/index.js +10 -0
  187. package/dist/commands/i18n/homepage/index.js.map +1 -0
  188. package/dist/commands/i18n/homepage/list.d.ts +3 -0
  189. package/dist/commands/i18n/homepage/list.d.ts.map +1 -0
  190. package/dist/commands/i18n/homepage/list.js +85 -0
  191. package/dist/commands/i18n/homepage/list.js.map +1 -0
  192. package/dist/commands/i18n/homepage/set.d.ts +3 -0
  193. package/dist/commands/i18n/homepage/set.d.ts.map +1 -0
  194. package/dist/commands/i18n/homepage/set.js +157 -0
  195. package/dist/commands/i18n/homepage/set.js.map +1 -0
  196. package/dist/commands/i18n/index.d.ts +3 -0
  197. package/dist/commands/i18n/index.d.ts.map +1 -0
  198. package/dist/commands/i18n/index.js +16 -0
  199. package/dist/commands/i18n/index.js.map +1 -0
  200. package/dist/commands/i18n/languages.d.ts +3 -0
  201. package/dist/commands/i18n/languages.d.ts.map +1 -0
  202. package/dist/commands/i18n/languages.js +90 -0
  203. package/dist/commands/i18n/languages.js.map +1 -0
  204. package/dist/commands/i18n/merchant/create.d.ts +3 -0
  205. package/dist/commands/i18n/merchant/create.d.ts.map +1 -0
  206. package/dist/commands/i18n/merchant/create.js +107 -0
  207. package/dist/commands/i18n/merchant/create.js.map +1 -0
  208. package/dist/commands/i18n/merchant/delete.d.ts +3 -0
  209. package/dist/commands/i18n/merchant/delete.d.ts.map +1 -0
  210. package/dist/commands/i18n/merchant/delete.js +57 -0
  211. package/dist/commands/i18n/merchant/delete.js.map +1 -0
  212. package/dist/commands/i18n/merchant/index.d.ts +3 -0
  213. package/dist/commands/i18n/merchant/index.d.ts.map +1 -0
  214. package/dist/commands/i18n/merchant/index.js +12 -0
  215. package/dist/commands/i18n/merchant/index.js.map +1 -0
  216. package/dist/commands/i18n/merchant/list.d.ts +3 -0
  217. package/dist/commands/i18n/merchant/list.d.ts.map +1 -0
  218. package/dist/commands/i18n/merchant/list.js +65 -0
  219. package/dist/commands/i18n/merchant/list.js.map +1 -0
  220. package/dist/commands/i18n/merchant/update.d.ts +3 -0
  221. package/dist/commands/i18n/merchant/update.d.ts.map +1 -0
  222. package/dist/commands/i18n/merchant/update.js +62 -0
  223. package/dist/commands/i18n/merchant/update.js.map +1 -0
  224. package/dist/commands/i18n/product/create.d.ts +3 -0
  225. package/dist/commands/i18n/product/create.d.ts.map +1 -0
  226. package/dist/commands/i18n/product/create.js +142 -0
  227. package/dist/commands/i18n/product/create.js.map +1 -0
  228. package/dist/commands/i18n/product/delete.d.ts +3 -0
  229. package/dist/commands/i18n/product/delete.d.ts.map +1 -0
  230. package/dist/commands/i18n/product/delete.js +67 -0
  231. package/dist/commands/i18n/product/delete.js.map +1 -0
  232. package/dist/commands/i18n/product/get.d.ts +3 -0
  233. package/dist/commands/i18n/product/get.d.ts.map +1 -0
  234. package/dist/commands/i18n/product/get.js +69 -0
  235. package/dist/commands/i18n/product/get.js.map +1 -0
  236. package/dist/commands/i18n/product/index.d.ts +3 -0
  237. package/dist/commands/i18n/product/index.d.ts.map +1 -0
  238. package/dist/commands/i18n/product/index.js +14 -0
  239. package/dist/commands/i18n/product/index.js.map +1 -0
  240. package/dist/commands/i18n/product/list.d.ts +3 -0
  241. package/dist/commands/i18n/product/list.d.ts.map +1 -0
  242. package/dist/commands/i18n/product/list.js +88 -0
  243. package/dist/commands/i18n/product/list.js.map +1 -0
  244. package/dist/commands/i18n/product/update.d.ts +3 -0
  245. package/dist/commands/i18n/product/update.d.ts.map +1 -0
  246. package/dist/commands/i18n/product/update.js +75 -0
  247. package/dist/commands/i18n/product/update.js.map +1 -0
  248. package/dist/commands/i18n/variant/create.d.ts +3 -0
  249. package/dist/commands/i18n/variant/create.d.ts.map +1 -0
  250. package/dist/commands/i18n/variant/create.js +179 -0
  251. package/dist/commands/i18n/variant/create.js.map +1 -0
  252. package/dist/commands/i18n/variant/delete.d.ts +3 -0
  253. package/dist/commands/i18n/variant/delete.d.ts.map +1 -0
  254. package/dist/commands/i18n/variant/delete.js +91 -0
  255. package/dist/commands/i18n/variant/delete.js.map +1 -0
  256. package/dist/commands/i18n/variant/get.d.ts +3 -0
  257. package/dist/commands/i18n/variant/get.d.ts.map +1 -0
  258. package/dist/commands/i18n/variant/get.js +75 -0
  259. package/dist/commands/i18n/variant/get.js.map +1 -0
  260. package/dist/commands/i18n/variant/index.d.ts +3 -0
  261. package/dist/commands/i18n/variant/index.d.ts.map +1 -0
  262. package/dist/commands/i18n/variant/index.js +14 -0
  263. package/dist/commands/i18n/variant/index.js.map +1 -0
  264. package/dist/commands/i18n/variant/list.d.ts +3 -0
  265. package/dist/commands/i18n/variant/list.d.ts.map +1 -0
  266. package/dist/commands/i18n/variant/list.js +79 -0
  267. package/dist/commands/i18n/variant/list.js.map +1 -0
  268. package/dist/commands/i18n/variant/update.d.ts +3 -0
  269. package/dist/commands/i18n/variant/update.d.ts.map +1 -0
  270. package/dist/commands/i18n/variant/update.js +113 -0
  271. package/dist/commands/i18n/variant/update.js.map +1 -0
  272. package/dist/commands/init.d.ts +3 -0
  273. package/dist/commands/init.d.ts.map +1 -0
  274. package/dist/commands/init.js +98 -0
  275. package/dist/commands/init.js.map +1 -0
  276. package/dist/commands/inventory/history.d.ts +3 -0
  277. package/dist/commands/inventory/history.d.ts.map +1 -0
  278. package/dist/commands/inventory/history.js +133 -0
  279. package/dist/commands/inventory/history.js.map +1 -0
  280. package/dist/commands/inventory/index.d.ts +3 -0
  281. package/dist/commands/inventory/index.d.ts.map +1 -0
  282. package/dist/commands/inventory/index.js +12 -0
  283. package/dist/commands/inventory/index.js.map +1 -0
  284. package/dist/commands/inventory/low-stock.d.ts +3 -0
  285. package/dist/commands/inventory/low-stock.d.ts.map +1 -0
  286. package/dist/commands/inventory/low-stock.js +100 -0
  287. package/dist/commands/inventory/low-stock.js.map +1 -0
  288. package/dist/commands/inventory/reserve.d.ts +3 -0
  289. package/dist/commands/inventory/reserve.d.ts.map +1 -0
  290. package/dist/commands/inventory/reserve.js +103 -0
  291. package/dist/commands/inventory/reserve.js.map +1 -0
  292. package/dist/commands/inventory/update.d.ts +3 -0
  293. package/dist/commands/inventory/update.d.ts.map +1 -0
  294. package/dist/commands/inventory/update.js +119 -0
  295. package/dist/commands/inventory/update.js.map +1 -0
  296. package/dist/commands/merchant/index.d.ts +3 -0
  297. package/dist/commands/merchant/index.d.ts.map +1 -0
  298. package/dist/commands/merchant/index.js +12 -0
  299. package/dist/commands/merchant/index.js.map +1 -0
  300. package/dist/commands/merchant/info.d.ts +3 -0
  301. package/dist/commands/merchant/info.d.ts.map +1 -0
  302. package/dist/commands/merchant/info.js +113 -0
  303. package/dist/commands/merchant/info.js.map +1 -0
  304. package/dist/commands/merchant/setup.d.ts +3 -0
  305. package/dist/commands/merchant/setup.d.ts.map +1 -0
  306. package/dist/commands/merchant/setup.js +228 -0
  307. package/dist/commands/merchant/setup.js.map +1 -0
  308. package/dist/commands/merchant/update.d.ts +3 -0
  309. package/dist/commands/merchant/update.d.ts.map +1 -0
  310. package/dist/commands/merchant/update.js +177 -0
  311. package/dist/commands/merchant/update.js.map +1 -0
  312. package/dist/commands/merchant/url.d.ts +3 -0
  313. package/dist/commands/merchant/url.d.ts.map +1 -0
  314. package/dist/commands/merchant/url.js +96 -0
  315. package/dist/commands/merchant/url.js.map +1 -0
  316. package/dist/commands/order/cancel.d.ts +3 -0
  317. package/dist/commands/order/cancel.d.ts.map +1 -0
  318. package/dist/commands/order/cancel.js +142 -0
  319. package/dist/commands/order/cancel.js.map +1 -0
  320. package/dist/commands/order/complete.d.ts +3 -0
  321. package/dist/commands/order/complete.d.ts.map +1 -0
  322. package/dist/commands/order/complete.js +99 -0
  323. package/dist/commands/order/complete.js.map +1 -0
  324. package/dist/commands/order/get.d.ts +3 -0
  325. package/dist/commands/order/get.d.ts.map +1 -0
  326. package/dist/commands/order/get.js +80 -0
  327. package/dist/commands/order/get.js.map +1 -0
  328. package/dist/commands/order/index.d.ts +3 -0
  329. package/dist/commands/order/index.d.ts.map +1 -0
  330. package/dist/commands/order/index.js +16 -0
  331. package/dist/commands/order/index.js.map +1 -0
  332. package/dist/commands/order/list.d.ts +3 -0
  333. package/dist/commands/order/list.d.ts.map +1 -0
  334. package/dist/commands/order/list.js +135 -0
  335. package/dist/commands/order/list.js.map +1 -0
  336. package/dist/commands/order/mark-delivered.d.ts +3 -0
  337. package/dist/commands/order/mark-delivered.d.ts.map +1 -0
  338. package/dist/commands/order/mark-delivered.js +70 -0
  339. package/dist/commands/order/mark-delivered.js.map +1 -0
  340. package/dist/commands/order/ship.d.ts +3 -0
  341. package/dist/commands/order/ship.d.ts.map +1 -0
  342. package/dist/commands/order/ship.js +124 -0
  343. package/dist/commands/order/ship.js.map +1 -0
  344. package/dist/commands/product/add-images.d.ts +3 -0
  345. package/dist/commands/product/add-images.d.ts.map +1 -0
  346. package/dist/commands/product/add-images.js +210 -0
  347. package/dist/commands/product/add-images.js.map +1 -0
  348. package/dist/commands/product/create.d.ts +3 -0
  349. package/dist/commands/product/create.d.ts.map +1 -0
  350. package/dist/commands/product/create.js +369 -0
  351. package/dist/commands/product/create.js.map +1 -0
  352. package/dist/commands/product/delete.d.ts +3 -0
  353. package/dist/commands/product/delete.d.ts.map +1 -0
  354. package/dist/commands/product/delete.js +100 -0
  355. package/dist/commands/product/delete.js.map +1 -0
  356. package/dist/commands/product/get.d.ts +3 -0
  357. package/dist/commands/product/get.d.ts.map +1 -0
  358. package/dist/commands/product/get.js +123 -0
  359. package/dist/commands/product/get.js.map +1 -0
  360. package/dist/commands/product/index.d.ts +3 -0
  361. package/dist/commands/product/index.d.ts.map +1 -0
  362. package/dist/commands/product/index.js +18 -0
  363. package/dist/commands/product/index.js.map +1 -0
  364. package/dist/commands/product/list.d.ts +3 -0
  365. package/dist/commands/product/list.d.ts.map +1 -0
  366. package/dist/commands/product/list.js +154 -0
  367. package/dist/commands/product/list.js.map +1 -0
  368. package/dist/commands/product/update.d.ts +3 -0
  369. package/dist/commands/product/update.d.ts.map +1 -0
  370. package/dist/commands/product/update.js +183 -0
  371. package/dist/commands/product/update.js.map +1 -0
  372. package/dist/commands/product/url.d.ts +3 -0
  373. package/dist/commands/product/url.d.ts.map +1 -0
  374. package/dist/commands/product/url.js +124 -0
  375. package/dist/commands/product/url.js.map +1 -0
  376. package/dist/commands/refund/create.d.ts +3 -0
  377. package/dist/commands/refund/create.d.ts.map +1 -0
  378. package/dist/commands/refund/create.js +161 -0
  379. package/dist/commands/refund/create.js.map +1 -0
  380. package/dist/commands/refund/get.d.ts +3 -0
  381. package/dist/commands/refund/get.d.ts.map +1 -0
  382. package/dist/commands/refund/get.js +93 -0
  383. package/dist/commands/refund/get.js.map +1 -0
  384. package/dist/commands/refund/index.d.ts +3 -0
  385. package/dist/commands/refund/index.d.ts.map +1 -0
  386. package/dist/commands/refund/index.js +8 -0
  387. package/dist/commands/refund/index.js.map +1 -0
  388. package/dist/commands/shipping/calculate.d.ts +3 -0
  389. package/dist/commands/shipping/calculate.d.ts.map +1 -0
  390. package/dist/commands/shipping/calculate.js +183 -0
  391. package/dist/commands/shipping/calculate.js.map +1 -0
  392. package/dist/commands/shipping/history.d.ts +3 -0
  393. package/dist/commands/shipping/history.d.ts.map +1 -0
  394. package/dist/commands/shipping/history.js +111 -0
  395. package/dist/commands/shipping/history.js.map +1 -0
  396. package/dist/commands/shipping/index.d.ts +3 -0
  397. package/dist/commands/shipping/index.d.ts.map +1 -0
  398. package/dist/commands/shipping/index.js +10 -0
  399. package/dist/commands/shipping/index.js.map +1 -0
  400. package/dist/commands/shipping/update-status.d.ts +3 -0
  401. package/dist/commands/shipping/update-status.d.ts.map +1 -0
  402. package/dist/commands/shipping/update-status.js +138 -0
  403. package/dist/commands/shipping/update-status.js.map +1 -0
  404. package/dist/commands/shipping-zone/create.d.ts +3 -0
  405. package/dist/commands/shipping-zone/create.d.ts.map +1 -0
  406. package/dist/commands/shipping-zone/create.js +191 -0
  407. package/dist/commands/shipping-zone/create.js.map +1 -0
  408. package/dist/commands/shipping-zone/delete.d.ts +3 -0
  409. package/dist/commands/shipping-zone/delete.d.ts.map +1 -0
  410. package/dist/commands/shipping-zone/delete.js +97 -0
  411. package/dist/commands/shipping-zone/delete.js.map +1 -0
  412. package/dist/commands/shipping-zone/index.d.ts +3 -0
  413. package/dist/commands/shipping-zone/index.d.ts.map +1 -0
  414. package/dist/commands/shipping-zone/index.js +14 -0
  415. package/dist/commands/shipping-zone/index.js.map +1 -0
  416. package/dist/commands/shipping-zone/list.d.ts +3 -0
  417. package/dist/commands/shipping-zone/list.d.ts.map +1 -0
  418. package/dist/commands/shipping-zone/list.js +91 -0
  419. package/dist/commands/shipping-zone/list.js.map +1 -0
  420. package/dist/commands/shipping-zone/rates.d.ts +4 -0
  421. package/dist/commands/shipping-zone/rates.d.ts.map +1 -0
  422. package/dist/commands/shipping-zone/rates.js +285 -0
  423. package/dist/commands/shipping-zone/rates.js.map +1 -0
  424. package/dist/commands/test/health.d.ts +3 -0
  425. package/dist/commands/test/health.d.ts.map +1 -0
  426. package/dist/commands/test/health.js +126 -0
  427. package/dist/commands/test/health.js.map +1 -0
  428. package/dist/commands/test/index.d.ts +3 -0
  429. package/dist/commands/test/index.d.ts.map +1 -0
  430. package/dist/commands/test/index.js +8 -0
  431. package/dist/commands/test/index.js.map +1 -0
  432. package/dist/commands/test/smoke.d.ts +3 -0
  433. package/dist/commands/test/smoke.d.ts.map +1 -0
  434. package/dist/commands/test/smoke.js +201 -0
  435. package/dist/commands/test/smoke.js.map +1 -0
  436. package/dist/commands/transfer/index.d.ts +3 -0
  437. package/dist/commands/transfer/index.d.ts.map +1 -0
  438. package/dist/commands/transfer/index.js +8 -0
  439. package/dist/commands/transfer/index.js.map +1 -0
  440. package/dist/commands/transfer/list.d.ts +3 -0
  441. package/dist/commands/transfer/list.d.ts.map +1 -0
  442. package/dist/commands/transfer/list.js +90 -0
  443. package/dist/commands/transfer/list.js.map +1 -0
  444. package/dist/commands/transfer/summary.d.ts +3 -0
  445. package/dist/commands/transfer/summary.d.ts.map +1 -0
  446. package/dist/commands/transfer/summary.js +68 -0
  447. package/dist/commands/transfer/summary.js.map +1 -0
  448. package/dist/commands/upload/file.d.ts +3 -0
  449. package/dist/commands/upload/file.d.ts.map +1 -0
  450. package/dist/commands/upload/file.js +79 -0
  451. package/dist/commands/upload/file.js.map +1 -0
  452. package/dist/commands/upload/image.d.ts +3 -0
  453. package/dist/commands/upload/image.d.ts.map +1 -0
  454. package/dist/commands/upload/image.js +92 -0
  455. package/dist/commands/upload/image.js.map +1 -0
  456. package/dist/commands/upload/index.d.ts +3 -0
  457. package/dist/commands/upload/index.d.ts.map +1 -0
  458. package/dist/commands/upload/index.js +10 -0
  459. package/dist/commands/upload/index.js.map +1 -0
  460. package/dist/commands/upload/video.d.ts +3 -0
  461. package/dist/commands/upload/video.d.ts.map +1 -0
  462. package/dist/commands/upload/video.js +78 -0
  463. package/dist/commands/upload/video.js.map +1 -0
  464. package/dist/commands/variant/add-images.d.ts +3 -0
  465. package/dist/commands/variant/add-images.d.ts.map +1 -0
  466. package/dist/commands/variant/add-images.js +146 -0
  467. package/dist/commands/variant/add-images.js.map +1 -0
  468. package/dist/commands/variant/create.d.ts +3 -0
  469. package/dist/commands/variant/create.d.ts.map +1 -0
  470. package/dist/commands/variant/create.js +189 -0
  471. package/dist/commands/variant/create.js.map +1 -0
  472. package/dist/commands/variant/delete.d.ts +3 -0
  473. package/dist/commands/variant/delete.d.ts.map +1 -0
  474. package/dist/commands/variant/delete.js +110 -0
  475. package/dist/commands/variant/delete.js.map +1 -0
  476. package/dist/commands/variant/index.d.ts +3 -0
  477. package/dist/commands/variant/index.d.ts.map +1 -0
  478. package/dist/commands/variant/index.js +14 -0
  479. package/dist/commands/variant/index.js.map +1 -0
  480. package/dist/commands/variant/list.d.ts +3 -0
  481. package/dist/commands/variant/list.d.ts.map +1 -0
  482. package/dist/commands/variant/list.js +98 -0
  483. package/dist/commands/variant/list.js.map +1 -0
  484. package/dist/commands/variant/update.d.ts +3 -0
  485. package/dist/commands/variant/update.d.ts.map +1 -0
  486. package/dist/commands/variant/update.js +141 -0
  487. package/dist/commands/variant/update.js.map +1 -0
  488. package/dist/index.d.ts +3 -0
  489. package/dist/index.d.ts.map +1 -0
  490. package/dist/index.js +133 -0
  491. package/dist/index.js.map +1 -0
  492. package/dist/postinstall.d.ts +3 -0
  493. package/dist/postinstall.d.ts.map +1 -0
  494. package/dist/postinstall.js +108 -0
  495. package/dist/postinstall.js.map +1 -0
  496. package/dist/preuninstall.d.ts +3 -0
  497. package/dist/preuninstall.d.ts.map +1 -0
  498. package/dist/preuninstall.js +53 -0
  499. package/dist/preuninstall.js.map +1 -0
  500. package/dist/utils/config.d.ts +110 -0
  501. package/dist/utils/config.d.ts.map +1 -0
  502. package/dist/utils/config.js +347 -0
  503. package/dist/utils/config.js.map +1 -0
  504. package/dist/utils/error.d.ts +35 -0
  505. package/dist/utils/error.d.ts.map +1 -0
  506. package/dist/utils/error.js +110 -0
  507. package/dist/utils/error.js.map +1 -0
  508. package/dist/utils/format.d.ts +77 -0
  509. package/dist/utils/format.d.ts.map +1 -0
  510. package/dist/utils/format.js +406 -0
  511. package/dist/utils/format.js.map +1 -0
  512. package/dist/utils/helpText.d.ts +116 -0
  513. package/dist/utils/helpText.d.ts.map +1 -0
  514. package/dist/utils/helpText.js +138 -0
  515. package/dist/utils/helpText.js.map +1 -0
  516. package/dist/utils/interactive.d.ts +60 -0
  517. package/dist/utils/interactive.d.ts.map +1 -0
  518. package/dist/utils/interactive.js +118 -0
  519. package/dist/utils/interactive.js.map +1 -0
  520. package/dist/utils/output.d.ts +82 -0
  521. package/dist/utils/output.d.ts.map +1 -0
  522. package/dist/utils/output.js +151 -0
  523. package/dist/utils/output.js.map +1 -0
  524. package/dist/utils/validation.d.ts +16 -0
  525. package/dist/utils/validation.d.ts.map +1 -0
  526. package/dist/utils/validation.js +46 -0
  527. package/dist/utils/validation.js.map +1 -0
  528. package/package.json +73 -0
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const createProductCommand: Command;
3
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/product/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwGpC,eAAO,MAAM,oBAAoB,SAAM,CAAC"}
@@ -0,0 +1,369 @@
1
+ import { Command } from 'commander';
2
+ import inquirer from 'inquirer';
3
+ import chalk from 'chalk';
4
+ import { commerceApi } from '../../api/rest/commerce.js';
5
+ import { handleError, ValidationError, createApiError } from '../../utils/error.js';
6
+ import { formatProduct } from '../../utils/format.js';
7
+ import { existsSync } from 'fs';
8
+ import { output } from '../../utils/output.js';
9
+ import { addEnhancedHelp } from '../../utils/helpText.js';
10
+ import { isInteractiveEnvironment, requireParam, requireNumberParam } from '../../utils/interactive.js';
11
+ const cmd = new Command('create')
12
+ .description('Create a new product with title, price, and optional details')
13
+ .option('--title <string>', 'Product name (required)')
14
+ .option('--price <number>', 'Product price (required)')
15
+ .option('--description <string>', 'Product description')
16
+ .option('--stock <number>', 'Stock quantity (default: 0)', '0')
17
+ .option('--sku <string>', 'SKU code')
18
+ .option('--currency <string>', 'Currency code (default: USD)', 'USD')
19
+ .option('--status <string>', 'Status: active|inactive|draft (default: active)', 'active')
20
+ .option('--category-id <uuid>', 'Category ID')
21
+ .option('--images <paths>', 'Local image paths (comma-separated)')
22
+ .option('--media-ids <uuids>', 'Media IDs from upload command (comma-separated)')
23
+ .option('--collections <slugs>', 'Collection slugs to add product to (comma-separated)')
24
+ .option('--tags <tags>', 'Product tags (comma-separated, e.g., "featured,new,sale")')
25
+ .action(async (options) => {
26
+ try {
27
+ await createProduct(options);
28
+ }
29
+ catch (error) {
30
+ handleError(error);
31
+ }
32
+ });
33
+ addEnhancedHelp(cmd, {
34
+ examples: [
35
+ '# Create a basic product',
36
+ '$ commerce product create --title "Ceramic Mug" --price 29.99',
37
+ '',
38
+ '# Create with full details',
39
+ '$ commerce product create \\',
40
+ ' --title "Ceramic Mug" \\',
41
+ ' --price 29.99 \\',
42
+ ' --description "Handmade ceramic mug" \\',
43
+ ' --stock 100 \\',
44
+ ' --sku MUG-001',
45
+ '',
46
+ '# Create with images (recommended workflow)',
47
+ '$ commerce upload image --path mug.jpg # Get media_id first',
48
+ '$ commerce product create \\',
49
+ ' --title "Ceramic Mug" \\',
50
+ ' --price 29.99 \\',
51
+ ' --media-ids "abc-123-def"',
52
+ '',
53
+ '# Create with JSON output for scripting',
54
+ '$ commerce product create --title "Mug" --price 29.99 --json',
55
+ ],
56
+ output: {
57
+ example: JSON.stringify({
58
+ success: true,
59
+ data: {
60
+ product_id: 'uuid',
61
+ name: 'Product name',
62
+ handle: 'url-slug',
63
+ price: '29.99',
64
+ currency: 'USD',
65
+ status: 'active',
66
+ product_url: 'https://...',
67
+ created_at: 'timestamp',
68
+ },
69
+ }, null, 2),
70
+ },
71
+ relatedCommands: [
72
+ { command: 'upload image', description: 'Upload product images first' },
73
+ { command: 'product list', description: 'View created products' },
74
+ { command: 'product update', description: 'Modify product details' },
75
+ { command: 'category create', description: 'Create category before assigning' },
76
+ ],
77
+ notes: [
78
+ 'title and price are required (interactive prompt if not provided)',
79
+ 'Upload images first with \'commerce upload image\' to get media IDs',
80
+ 'Use --media-ids for uploaded images, not --images for local paths',
81
+ 'Default output is JSON, use --pretty for human-readable format',
82
+ ],
83
+ });
84
+ export const createProductCommand = cmd;
85
+ async function createProduct(options) {
86
+ let title;
87
+ let price;
88
+ let description;
89
+ let stock;
90
+ let sku;
91
+ let currency;
92
+ let status;
93
+ // 检测环境
94
+ if (isInteractiveEnvironment()) {
95
+ // 交互模式:友好提示
96
+ if (!options.title || !options.price) {
97
+ console.log(chalk.cyan('\n📦 创建新商品\n'));
98
+ const answers = await inquirer.prompt([
99
+ {
100
+ type: 'input',
101
+ name: 'title',
102
+ message: '商品名称:',
103
+ default: options.title,
104
+ validate: (input) => {
105
+ if (!input || input.trim().length === 0) {
106
+ return '商品名称不能为空';
107
+ }
108
+ return true;
109
+ },
110
+ },
111
+ {
112
+ type: 'input',
113
+ name: 'price',
114
+ message: '商品价格:',
115
+ default: options.price,
116
+ validate: (input) => {
117
+ const p = parseFloat(input);
118
+ if (isNaN(p) || p < 0) {
119
+ return '价格必须是大于等于 0 的数字';
120
+ }
121
+ return true;
122
+ },
123
+ },
124
+ {
125
+ type: 'input',
126
+ name: 'description',
127
+ message: '商品描述 (可选):',
128
+ default: options.description || '',
129
+ },
130
+ {
131
+ type: 'input',
132
+ name: 'stock',
133
+ message: '库存数量:',
134
+ default: options.stock || '0',
135
+ validate: (input) => {
136
+ const s = parseInt(input, 10);
137
+ if (isNaN(s) || s < 0) {
138
+ return '库存必须是大于等于 0 的整数';
139
+ }
140
+ return true;
141
+ },
142
+ },
143
+ {
144
+ type: 'input',
145
+ name: 'sku',
146
+ message: 'SKU 编码 (可选):',
147
+ default: options.sku || '',
148
+ },
149
+ {
150
+ type: 'list',
151
+ name: 'currency',
152
+ message: '货币单位:',
153
+ choices: ['USD', 'CNY', 'EUR', 'GBP', 'JPY'],
154
+ default: options.currency || 'USD',
155
+ },
156
+ {
157
+ type: 'list',
158
+ name: 'status',
159
+ message: '商品状态:',
160
+ choices: [
161
+ { name: '上架 (active)', value: 'active' },
162
+ { name: '下架 (inactive)', value: 'inactive' },
163
+ { name: '草稿 (draft)', value: 'draft' },
164
+ ],
165
+ default: options.status || 'active',
166
+ },
167
+ {
168
+ type: 'confirm',
169
+ name: 'hasImages',
170
+ message: '是否上传图片?',
171
+ default: false,
172
+ },
173
+ ]);
174
+ title = answers.title.trim();
175
+ price = parseFloat(answers.price);
176
+ description = answers.description?.trim() || undefined;
177
+ stock = parseInt(answers.stock, 10);
178
+ sku = answers.sku?.trim() || undefined;
179
+ currency = answers.currency;
180
+ status = answers.status;
181
+ // 如果需要上传图片
182
+ if (answers.hasImages) {
183
+ const imageAnswers = await inquirer.prompt([
184
+ {
185
+ type: 'input',
186
+ name: 'imagePaths',
187
+ message: '图片路径(逗号分隔,支持相对路径):',
188
+ validate: (input) => {
189
+ if (!input || input.trim().length === 0) {
190
+ return '请至少提供一张图片路径';
191
+ }
192
+ const paths = input.split(',').map((p) => p.trim());
193
+ for (const path of paths) {
194
+ if (!existsSync(path)) {
195
+ return `文件不存在: ${path}`;
196
+ }
197
+ }
198
+ return true;
199
+ },
200
+ },
201
+ ]);
202
+ options.images = imageAnswers.imagePaths;
203
+ }
204
+ }
205
+ else {
206
+ // 交互环境但参数完整
207
+ title = options.title;
208
+ price = parseFloat(options.price);
209
+ description = options.description;
210
+ stock = parseInt(options.stock || '0', 10);
211
+ sku = options.sku;
212
+ currency = options.currency || 'USD';
213
+ status = options.status || 'active';
214
+ // 验证价格
215
+ if (isNaN(price) || price < 0) {
216
+ throw new ValidationError('价格必须是大于等于 0 的数字', 'price');
217
+ }
218
+ // 验证库存
219
+ if (isNaN(stock) || stock < 0) {
220
+ throw new ValidationError('库存必须是大于等于 0 的整数', 'stock');
221
+ }
222
+ }
223
+ }
224
+ else {
225
+ // 非交互模式:直接验证参数
226
+ title = requireParam(options.title, 'title', '商品名称');
227
+ price = requireNumberParam(options.price, 'price', '商品价格', 0);
228
+ description = options.description;
229
+ stock = parseInt(options.stock || '0', 10);
230
+ sku = options.sku;
231
+ currency = options.currency || 'USD';
232
+ status = options.status || 'active';
233
+ // 验证库存
234
+ if (isNaN(stock) || stock < 0) {
235
+ throw new ValidationError('库存必须是大于等于 0 的整数', 'stock');
236
+ }
237
+ }
238
+ const productData = {
239
+ name: title, // API 期望的字段名
240
+ title: title, // 兼容性字段
241
+ price,
242
+ description,
243
+ stock_quantity: stock,
244
+ sku,
245
+ currency,
246
+ status,
247
+ category_id: options.categoryId,
248
+ };
249
+ // 添加 tags(如果提供)
250
+ if (options.tags) {
251
+ const tags = options.tags.split(',').map((tag) => tag.trim()).filter((tag) => tag.length > 0);
252
+ if (tags.length > 0) {
253
+ productData.tags = tags;
254
+ }
255
+ }
256
+ // 调用 API 创建商品
257
+ const spinner = output.spinner('正在创建商品...');
258
+ try {
259
+ const product = await commerceApi.products.create(productData);
260
+ spinner.succeed('商品创建成功!');
261
+ // 如果指定了 collections,添加商品到集合
262
+ if (options.collections) {
263
+ const collectionSlugs = options.collections.split(',').map((slug) => slug.trim()).filter((slug) => slug.length > 0);
264
+ if (collectionSlugs.length > 0) {
265
+ const collectionSpinner = output.spinner(`正在添加商品到 ${collectionSlugs.length} 个集合...`);
266
+ try {
267
+ // 为每个collection添加商品
268
+ for (const slug of collectionSlugs) {
269
+ await commerceApi.collections.addProducts(slug, [product.id || product.product_id]);
270
+ }
271
+ collectionSpinner.succeed(`商品已添加到集合!(${collectionSlugs.length} 个)`);
272
+ }
273
+ catch (error) {
274
+ collectionSpinner.fail('添加商品到集合失败');
275
+ // 不中断流程,继续处理图片
276
+ console.log(chalk.yellow(`⚠ 警告: ${error.message || '添加商品到集合失败'}`));
277
+ }
278
+ }
279
+ }
280
+ let imageCount = 0;
281
+ // 如果有 media IDs,直接关联
282
+ if (options.mediaIds) {
283
+ const mediaIds = options.mediaIds.split(',').map((id) => id.trim());
284
+ if (mediaIds.length > 0) {
285
+ const linkSpinner = output.spinner(`正在关联 ${mediaIds.length} 张图片...`);
286
+ try {
287
+ await commerceApi.products.addImagesByMediaIds(product.id || product.product_id, mediaIds);
288
+ linkSpinner.succeed(`图片关联成功!(${mediaIds.length} 张)`);
289
+ imageCount = mediaIds.length;
290
+ }
291
+ catch (error) {
292
+ linkSpinner.fail('图片关联失败');
293
+ throw createApiError(error);
294
+ }
295
+ }
296
+ }
297
+ // 如果有图片路径,上传图片
298
+ if (options.images) {
299
+ const imagePaths = options.images.split(',').map((p) => p.trim());
300
+ // 验证图片文件
301
+ for (const path of imagePaths) {
302
+ if (!existsSync(path)) {
303
+ console.log(chalk.yellow(`\n⚠ 图片文件不存在,跳过: ${path}`));
304
+ continue;
305
+ }
306
+ }
307
+ const validPaths = imagePaths.filter((p) => existsSync(p));
308
+ if (validPaths.length > 0) {
309
+ const uploadSpinner = output.spinner(`正在上传 ${validPaths.length} 张图片...`);
310
+ try {
311
+ await commerceApi.products.addImages(product.id || product.product_id, validPaths);
312
+ uploadSpinner.succeed(`图片上传成功!(${validPaths.length} 张)`);
313
+ imageCount += validPaths.length;
314
+ }
315
+ catch (error) {
316
+ uploadSpinner.fail('图片上传失败');
317
+ throw createApiError(error);
318
+ }
319
+ }
320
+ }
321
+ // 获取商品URL
322
+ let productUrl;
323
+ if (product.handle) {
324
+ const merchantSpinner = output.spinner('获取店铺链接...');
325
+ try {
326
+ const merchant = await commerceApi.merchant.getProfile();
327
+ merchantSpinner.stop();
328
+ if (merchant.slug) {
329
+ productUrl = `https://${merchant.slug}.optima.shop/products/${product.handle}`;
330
+ }
331
+ }
332
+ catch (err) {
333
+ merchantSpinner.stop();
334
+ // 静默失败,商品详情已经显示
335
+ }
336
+ }
337
+ if (output.isJson()) {
338
+ // JSON 模式:输出结构化数据
339
+ output.success({
340
+ product_id: product.id || product.product_id,
341
+ name: product.name,
342
+ handle: product.handle,
343
+ price: product.price,
344
+ currency: product.currency,
345
+ stock: product.stock,
346
+ sku: product.sku,
347
+ status: product.status,
348
+ images_uploaded: imageCount,
349
+ product_url: productUrl,
350
+ created_at: product.created_at
351
+ });
352
+ }
353
+ else {
354
+ // Pretty 模式:保持原有格式化输出
355
+ console.log();
356
+ console.log(formatProduct(product));
357
+ // 显示商品链接
358
+ if (productUrl) {
359
+ console.log(chalk.gray('产品链接: ') + chalk.cyan.underline(productUrl));
360
+ }
361
+ console.log();
362
+ }
363
+ }
364
+ catch (error) {
365
+ spinner.fail('商品创建失败');
366
+ throw createApiError(error);
367
+ }
368
+ }
369
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/product/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const deleteProductCommand: Command;
3
+ //# sourceMappingURL=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/product/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0DpC,eAAO,MAAM,oBAAoB,SAAM,CAAC"}
@@ -0,0 +1,100 @@
1
+ import { Command } from 'commander';
2
+ import inquirer from 'inquirer';
3
+ import chalk from 'chalk';
4
+ import { commerceApi } from '../../api/rest/commerce.js';
5
+ import { handleError, createApiError, ValidationError } from '../../utils/error.js';
6
+ import { output } from '../../utils/output.js';
7
+ import { addEnhancedHelp } from '../../utils/helpText.js';
8
+ import { isInteractiveEnvironment } from '../../utils/interactive.js';
9
+ const cmd = new Command('delete')
10
+ .description('Delete a product permanently')
11
+ .option('--id <uuid>', 'Product ID (required)')
12
+ .option('-y, --yes', 'Skip confirmation prompt (non-interactive)')
13
+ .action(async (options) => {
14
+ try {
15
+ if (!options.id) {
16
+ throw new ValidationError('请提供商品 ID (--id)', 'id');
17
+ }
18
+ await deleteProduct(options.id, options);
19
+ }
20
+ catch (error) {
21
+ handleError(error);
22
+ }
23
+ });
24
+ addEnhancedHelp(cmd, {
25
+ examples: [
26
+ '# Delete product with confirmation',
27
+ '$ commerce product delete --id prod-123',
28
+ '',
29
+ '# Delete without confirmation (non-interactive)',
30
+ '$ commerce product delete --id prod-123 --yes',
31
+ ],
32
+ output: {
33
+ example: JSON.stringify({
34
+ success: true,
35
+ data: {
36
+ product_id: 'uuid',
37
+ deleted: true
38
+ }
39
+ }, null, 2)
40
+ },
41
+ relatedCommands: [
42
+ { command: 'product list', description: 'Find product IDs' },
43
+ { command: 'product get', description: 'View product before deleting' },
44
+ ],
45
+ notes: [
46
+ 'Product ID is required',
47
+ 'Requires confirmation unless --yes flag is used',
48
+ 'This action cannot be undone',
49
+ 'Use --yes for non-interactive/automated operations',
50
+ ]
51
+ });
52
+ export const deleteProductCommand = cmd;
53
+ async function deleteProduct(productId, options) {
54
+ // 验证参数
55
+ if (!productId || productId.trim().length === 0) {
56
+ throw new ValidationError('商品 ID 不能为空', 'product-id');
57
+ }
58
+ // 确认删除(除非使用 --yes)
59
+ if (!options.yes) {
60
+ if (isInteractiveEnvironment()) {
61
+ // 交互模式:显示确认提示
62
+ console.log(chalk.yellow(`\n⚠️ 即将删除商品: ${productId}\n`));
63
+ const answers = await inquirer.prompt([
64
+ {
65
+ type: 'confirm',
66
+ name: 'confirmed',
67
+ message: '确定要删除此商品吗?',
68
+ default: false,
69
+ },
70
+ ]);
71
+ if (!answers.confirmed) {
72
+ console.log(chalk.gray('\n已取消删除\n'));
73
+ return;
74
+ }
75
+ }
76
+ else {
77
+ // 非交互模式:要求使用 --yes 标志
78
+ throw new ValidationError('非交互环境需要使用 --yes 标志确认删除操作', 'yes');
79
+ }
80
+ }
81
+ const spinner = output.spinner('正在删除商品...');
82
+ try {
83
+ await commerceApi.products.delete(productId);
84
+ spinner.succeed('商品删除成功!');
85
+ if (output.isJson()) {
86
+ output.success({
87
+ product_id: productId,
88
+ deleted: true
89
+ });
90
+ }
91
+ else {
92
+ console.log();
93
+ }
94
+ }
95
+ catch (error) {
96
+ spinner.fail('商品删除失败');
97
+ throw createApiError(error);
98
+ }
99
+ }
100
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/product/delete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const getProductCommand: Command;
3
+ //# sourceMappingURL=get.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/product/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuEpC,eAAO,MAAM,iBAAiB,SAAM,CAAC"}
@@ -0,0 +1,123 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import { commerceApi } from '../../api/rest/commerce.js';
4
+ import { handleError, createApiError, ValidationError } from '../../utils/error.js';
5
+ import { formatProduct } from '../../utils/format.js';
6
+ import { output } from '../../utils/output.js';
7
+ import { addEnhancedHelp } from '../../utils/helpText.js';
8
+ const cmd = new Command('get')
9
+ .description('Get detailed information for a specific product by ID')
10
+ .option('--id <uuid>', 'Product ID (required)')
11
+ .action(async (options) => {
12
+ try {
13
+ await getProduct(options);
14
+ }
15
+ catch (error) {
16
+ handleError(error);
17
+ }
18
+ });
19
+ addEnhancedHelp(cmd, {
20
+ examples: [
21
+ '# Get product details',
22
+ '$ commerce product get --id abc-123-def',
23
+ '',
24
+ '# Get product details in JSON format',
25
+ '$ commerce product get --id abc-123-def --json',
26
+ '',
27
+ '# Get product ID from list, then fetch details',
28
+ '$ commerce product list --limit 1',
29
+ '$ commerce product get --id <product_id_from_list>',
30
+ ],
31
+ output: {
32
+ example: JSON.stringify({
33
+ success: true,
34
+ data: {
35
+ product: {
36
+ product_id: 'uuid',
37
+ name: 'Product name',
38
+ handle: 'url-slug',
39
+ description: 'Product description',
40
+ price: '29.99',
41
+ currency: 'USD',
42
+ status: 'active',
43
+ stock_quantity: 100,
44
+ sku: 'SKU-001',
45
+ category_id: 'uuid',
46
+ images: ['https://...'],
47
+ created_at: 'timestamp',
48
+ updated_at: 'timestamp',
49
+ },
50
+ product_url: 'https://{slug}.optima.shop/products/{handle}',
51
+ },
52
+ }, null, 2),
53
+ },
54
+ relatedCommands: [
55
+ { command: 'product list', description: 'Get product IDs to query' },
56
+ { command: 'product update', description: 'Update product details' },
57
+ { command: 'product url', description: 'Get product frontend URL' },
58
+ { command: 'variant list', description: 'List product variants' },
59
+ ],
60
+ notes: [
61
+ 'Product ID is required (use \'commerce product list\' to find IDs)',
62
+ 'Returns full product details including images and metadata',
63
+ 'product_url is automatically generated from merchant slug and product handle',
64
+ ],
65
+ });
66
+ export const getProductCommand = cmd;
67
+ async function getProduct(options) {
68
+ // 验证参数
69
+ if (!options.id || options.id.trim().length === 0) {
70
+ throw new ValidationError('商品 ID 不能为空', 'id');
71
+ }
72
+ const productId = options.id;
73
+ const spinner = output.spinner('正在获取商品详情...');
74
+ try {
75
+ const product = await commerceApi.products.get(productId);
76
+ spinner.succeed('商品详情获取成功');
77
+ if (output.isJson()) {
78
+ // JSON 模式:输出结构化数据
79
+ const data = { product };
80
+ // 尝试获取商品链接
81
+ if (product.handle) {
82
+ try {
83
+ const merchant = await commerceApi.merchant.getProfile();
84
+ if (merchant.slug) {
85
+ data.product_url = `https://${merchant.slug}.optima.shop/products/${product.handle}`;
86
+ }
87
+ }
88
+ catch (err) {
89
+ // 静默失败
90
+ }
91
+ }
92
+ output.success(data);
93
+ }
94
+ else {
95
+ // Pretty 模式:保持原有格式化输出
96
+ console.log();
97
+ console.log(formatProduct(product));
98
+ // 显示商品链接
99
+ if (product.handle) {
100
+ // 获取商户信息以获取 slug
101
+ const merchantSpinner = output.spinner('获取店铺链接...');
102
+ try {
103
+ const merchant = await commerceApi.merchant.getProfile();
104
+ merchantSpinner.stop();
105
+ if (merchant.slug) {
106
+ const productUrl = `https://${merchant.slug}.optima.shop/products/${product.handle}`;
107
+ console.log(chalk.gray('产品链接: ') + chalk.cyan.underline(productUrl));
108
+ }
109
+ }
110
+ catch (err) {
111
+ merchantSpinner.stop();
112
+ // 静默失败,商品详情已经显示
113
+ }
114
+ }
115
+ console.log();
116
+ }
117
+ }
118
+ catch (error) {
119
+ spinner.fail('获取商品详情失败');
120
+ throw createApiError(error);
121
+ }
122
+ }
123
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/product/get.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const productCommand: Command;
3
+ //# sourceMappingURL=index.d.ts.map