@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,177 @@
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 { output } from '../../utils/output.js';
6
+ import { addEnhancedHelp } from '../../utils/helpText.js';
7
+ const cmd = new Command('update')
8
+ .description('Update merchant account information and settings')
9
+ .option('-n, --name <string>', 'Merchant name')
10
+ .option('-s, --slug <string>', 'Store URL slug (used in https://<slug>.optima.shop)')
11
+ .option('-d, --description <string>', 'Store description')
12
+ .option('-e, --email <string>', 'Contact email')
13
+ .option('--logo-url <url>', 'Logo image URL')
14
+ .option('--banner-url <url>', 'Banner image URL')
15
+ .option('--default-currency <string>', 'Default currency code')
16
+ .option('--origin-country-alpha2 <code>', '发货国家代码(如: CN, US, HK)')
17
+ .option('--origin-city <city>', '发货城市')
18
+ .option('--origin-postal-code <code>', '发货邮政编码')
19
+ .option('--origin-line-1 <address>', '发货地址第一行')
20
+ .option('--origin-line-2 <address>', '发货地址第二行')
21
+ .option('--origin-state <state>', '发货省/州')
22
+ .option('--contact-name <name>', '联系人姓名')
23
+ .option('--contact-phone <phone>', '联系电话')
24
+ .option('--contact-email <email>', '联系邮箱')
25
+ .option('--company-name <name>', '公司名称')
26
+ .action(async (options) => {
27
+ try {
28
+ await updateMerchant(options);
29
+ }
30
+ catch (error) {
31
+ handleError(error);
32
+ }
33
+ });
34
+ addEnhancedHelp(cmd, {
35
+ examples: [
36
+ '# Update store name',
37
+ '$ commerce merchant update --name "My Awesome Store"',
38
+ '',
39
+ '# Update store URL slug',
40
+ '$ commerce merchant update --slug my-store',
41
+ '',
42
+ '# Update multiple fields',
43
+ '$ commerce merchant update \\',
44
+ ' --name "Premium Store" \\',
45
+ ' --description "High-quality products" \\',
46
+ ' --default-currency USD',
47
+ ],
48
+ output: {
49
+ example: JSON.stringify({
50
+ success: true,
51
+ data: {
52
+ merchant_id: 'uuid',
53
+ updated_fields: ['name', 'description'],
54
+ merchant: {
55
+ id: 'uuid',
56
+ name: 'Updated name',
57
+ slug: 'store-slug',
58
+ description: 'New description'
59
+ }
60
+ }
61
+ }, null, 2)
62
+ },
63
+ relatedCommands: [
64
+ { command: 'merchant info', description: 'View current merchant info' },
65
+ { command: 'merchant url', description: 'Get store frontend URL' },
66
+ ],
67
+ notes: [
68
+ 'At least one field must be specified for update',
69
+ 'slug must be unique and URL-safe (lowercase, hyphens)',
70
+ 'Changing slug will change your store URL: https://{slug}.optima.shop',
71
+ ]
72
+ });
73
+ export const updateCommand = cmd;
74
+ async function updateMerchant(options) {
75
+ // 检查是否提供了至少一个更新字段
76
+ const hasUpdates = !!(options.name ||
77
+ options.slug ||
78
+ options.description !== undefined ||
79
+ options.email ||
80
+ options.logoUrl ||
81
+ options.bannerUrl ||
82
+ options.defaultCurrency ||
83
+ options.originCountryAlpha2 ||
84
+ options.originCity ||
85
+ options.originPostalCode ||
86
+ options.originLine1 ||
87
+ options.originLine2 ||
88
+ options.originState ||
89
+ options.contactName ||
90
+ options.contactPhone ||
91
+ options.contactEmail ||
92
+ options.companyName);
93
+ if (!hasUpdates) {
94
+ throw new ValidationError('请至少提供一个要更新的字段');
95
+ }
96
+ // 构造更新数据(转换 camelCase 到 snake_case)
97
+ const updateData = {};
98
+ if (options.name) {
99
+ updateData.name = options.name;
100
+ }
101
+ if (options.slug) {
102
+ updateData.slug = options.slug;
103
+ }
104
+ if (options.description !== undefined) {
105
+ updateData.description = options.description;
106
+ }
107
+ if (options.email) {
108
+ updateData.email = options.email;
109
+ }
110
+ if (options.logoUrl) {
111
+ updateData.logo_url = options.logoUrl;
112
+ }
113
+ if (options.bannerUrl) {
114
+ updateData.banner_url = options.bannerUrl;
115
+ }
116
+ if (options.defaultCurrency) {
117
+ updateData.default_currency = options.defaultCurrency;
118
+ }
119
+ if (options.originCountryAlpha2) {
120
+ updateData.origin_country_alpha2 = options.originCountryAlpha2.toUpperCase();
121
+ }
122
+ if (options.originCity) {
123
+ updateData.origin_city = options.originCity;
124
+ }
125
+ if (options.originPostalCode !== undefined) {
126
+ updateData.origin_postal_code = options.originPostalCode;
127
+ }
128
+ if (options.originLine1) {
129
+ updateData.origin_line_1 = options.originLine1;
130
+ }
131
+ if (options.originLine2 !== undefined) {
132
+ updateData.origin_line_2 = options.originLine2;
133
+ }
134
+ if (options.originState) {
135
+ updateData.origin_state = options.originState;
136
+ }
137
+ if (options.contactName) {
138
+ updateData.contact_name = options.contactName;
139
+ }
140
+ if (options.contactPhone) {
141
+ updateData.contact_phone = options.contactPhone;
142
+ }
143
+ if (options.contactEmail) {
144
+ updateData.contact_email = options.contactEmail;
145
+ }
146
+ if (options.companyName !== undefined) {
147
+ updateData.company_name = options.companyName;
148
+ }
149
+ const spinner = output.spinner('正在更新商户资料...');
150
+ try {
151
+ const merchant = await commerceApi.merchant.updateProfile(updateData);
152
+ spinner.succeed('商户资料更新成功!');
153
+ if (output.isJson()) {
154
+ output.success({
155
+ merchant_id: merchant.id,
156
+ updated_fields: Object.keys(updateData),
157
+ merchant: merchant
158
+ });
159
+ }
160
+ else {
161
+ console.log();
162
+ console.log(chalk.gray('商户名称: ') + chalk.cyan(merchant.name || '-'));
163
+ if (merchant.slug) {
164
+ console.log(chalk.gray('店铺链接: ') + chalk.cyan.underline(`https://${merchant.slug}.optima.shop`));
165
+ }
166
+ if (merchant.description) {
167
+ console.log(chalk.gray('商户描述: ') + merchant.description);
168
+ }
169
+ console.log();
170
+ }
171
+ }
172
+ catch (error) {
173
+ spinner.fail('商户资料更新失败');
174
+ throw createApiError(error);
175
+ }
176
+ }
177
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/merchant/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const urlCommand: Command;
3
+ //# sourceMappingURL=url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/commands/merchant/url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoDpC,eAAO,MAAM,UAAU,SAAM,CAAC"}
@@ -0,0 +1,96 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import open from 'open';
4
+ import { commerceApi } from '../../api/rest/commerce.js';
5
+ import { handleError, createApiError } from '../../utils/error.js';
6
+ import { output } from '../../utils/output.js';
7
+ import { addEnhancedHelp } from '../../utils/helpText.js';
8
+ import { getStoreDomain } from '../../utils/config.js';
9
+ const cmd = new Command('url')
10
+ .description('Get public store URL and optionally open in browser')
11
+ .option('--open', 'Open store homepage in browser')
12
+ .action(async (options) => {
13
+ try {
14
+ await getStoreUrl(options.open);
15
+ }
16
+ catch (error) {
17
+ handleError(error);
18
+ }
19
+ });
20
+ addEnhancedHelp(cmd, {
21
+ examples: [
22
+ '# Get store URL',
23
+ '$ commerce merchant url',
24
+ '',
25
+ '# Open store in browser',
26
+ '$ commerce merchant url --open',
27
+ ],
28
+ output: {
29
+ description: 'Returns public storefront URL',
30
+ example: JSON.stringify({
31
+ success: true,
32
+ data: {
33
+ url: 'https://my-store.optima.shop',
34
+ slug: 'my-store',
35
+ opened: false
36
+ }
37
+ }, null, 2)
38
+ },
39
+ relatedCommands: [
40
+ { command: 'merchant info', description: 'View merchant details' },
41
+ { command: 'merchant setup', description: 'Initialize store slug' },
42
+ { command: 'product url', description: 'Get product URLs' },
43
+ ],
44
+ notes: [
45
+ 'Merchant must have a slug configured',
46
+ 'URL format: https://{slug}.optima.shop (production) or https://{slug}.optima.sh (development)',
47
+ 'Domain automatically selected based on current environment',
48
+ 'Use --open to automatically open in browser',
49
+ ]
50
+ });
51
+ export const urlCommand = cmd;
52
+ async function getStoreUrl(shouldOpen) {
53
+ const spinner = output.spinner('正在获取店铺信息...');
54
+ try {
55
+ const merchant = await commerceApi.merchant.getProfile();
56
+ spinner.succeed('店铺信息获取成功');
57
+ if (!merchant.slug) {
58
+ if (output.isJson()) {
59
+ output.error(new Error('店铺 slug 未设置'), 'SLUG_NOT_SET');
60
+ }
61
+ else {
62
+ console.log(chalk.yellow('\n⚠️ 店铺 slug 未设置\n'));
63
+ }
64
+ return;
65
+ }
66
+ const storeUrl = `https://${merchant.slug}.${getStoreDomain()}`;
67
+ // 如果指定了 --open,在浏览器中打开
68
+ if (shouldOpen) {
69
+ try {
70
+ await open(storeUrl);
71
+ }
72
+ catch (error) {
73
+ // 静默失败
74
+ }
75
+ }
76
+ if (output.isJson()) {
77
+ output.success({
78
+ url: storeUrl,
79
+ slug: merchant.slug,
80
+ opened: shouldOpen
81
+ });
82
+ }
83
+ else {
84
+ // 只输出链接(方便脚本使用)
85
+ console.log(storeUrl);
86
+ if (shouldOpen) {
87
+ console.log(chalk.gray('\n已在浏览器中打开店铺\n'));
88
+ }
89
+ }
90
+ }
91
+ catch (error) {
92
+ spinner.fail('获取店铺信息失败');
93
+ throw createApiError(error);
94
+ }
95
+ }
96
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/commands/merchant/url.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const cancelOrderCommand: Command;
3
+ //# sourceMappingURL=cancel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../../src/commands/order/cancel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgEpC,eAAO,MAAM,kBAAkB,SAAM,CAAC"}
@@ -0,0 +1,142 @@
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('cancel')
10
+ .description('Cancel an order')
11
+ .option('--id <uuid>', 'Order ID (required)')
12
+ .option('-r, --reason <string>', 'Cancellation reason (optional)')
13
+ .option('-y, --yes', 'Skip confirmation prompt (non-interactive)')
14
+ .action(async (options) => {
15
+ try {
16
+ await cancelOrder(options);
17
+ }
18
+ catch (error) {
19
+ handleError(error);
20
+ }
21
+ });
22
+ addEnhancedHelp(cmd, {
23
+ examples: [
24
+ '# Cancel order with confirmation',
25
+ '$ commerce order cancel --id order-123',
26
+ '',
27
+ '# Cancel with reason',
28
+ '$ commerce order cancel \\',
29
+ ' --id order-123 \\',
30
+ ' --reason "Customer requested cancellation"',
31
+ '',
32
+ '# Cancel without confirmation (non-interactive)',
33
+ '$ commerce order cancel --id order-123 --yes',
34
+ ],
35
+ output: {
36
+ example: JSON.stringify({
37
+ success: true,
38
+ data: {
39
+ order_id: 'uuid',
40
+ status: 'cancelled',
41
+ reason: 'Customer requested cancellation'
42
+ }
43
+ }, null, 2)
44
+ },
45
+ relatedCommands: [
46
+ { command: 'order list', description: 'Find order IDs' },
47
+ { command: 'order get', description: 'View order before canceling' },
48
+ { command: 'refund create', description: 'Refund cancelled orders' },
49
+ ],
50
+ notes: [
51
+ 'Order ID is required',
52
+ 'Requires confirmation unless --yes flag is used',
53
+ 'Reason is optional but recommended',
54
+ 'Use --yes for non-interactive/automated operations',
55
+ ]
56
+ });
57
+ export const cancelOrderCommand = cmd;
58
+ async function cancelOrder(options) {
59
+ // 验证参数
60
+ if (!options.id || options.id.trim().length === 0) {
61
+ throw new ValidationError('订单 ID 不能为空', 'id');
62
+ }
63
+ const orderId = options.id;
64
+ let reason = options.reason;
65
+ // 如果没有提供原因,询问
66
+ if (!reason && !options.yes) {
67
+ if (isInteractiveEnvironment()) {
68
+ // 交互模式:询问原因并确认
69
+ console.log(chalk.yellow(`\n⚠️ 即将取消订单: ${orderId}\n`));
70
+ const answers = await inquirer.prompt([
71
+ {
72
+ type: 'input',
73
+ name: 'reason',
74
+ message: '取消原因 (可选):',
75
+ default: '',
76
+ },
77
+ {
78
+ type: 'confirm',
79
+ name: 'confirmed',
80
+ message: '确定要取消此订单吗?',
81
+ default: false,
82
+ },
83
+ ]);
84
+ if (!answers.confirmed) {
85
+ console.log(chalk.gray('\n已取消操作\n'));
86
+ return;
87
+ }
88
+ reason = answers.reason || undefined;
89
+ }
90
+ else {
91
+ // 非交互模式:要求使用 --yes 标志
92
+ throw new ValidationError('非交互环境需要使用 --yes 标志确认取消操作', 'yes');
93
+ }
94
+ }
95
+ else if (!options.yes) {
96
+ // 有原因但需要确认
97
+ if (isInteractiveEnvironment()) {
98
+ // 交互模式:显示原因并确认
99
+ console.log(chalk.yellow(`\n⚠️ 即将取消订单: ${orderId}`));
100
+ console.log(chalk.gray(`原因: ${reason || '无'}\n`));
101
+ const answers = await inquirer.prompt([
102
+ {
103
+ type: 'confirm',
104
+ name: 'confirmed',
105
+ message: '确定要取消此订单吗?',
106
+ default: false,
107
+ },
108
+ ]);
109
+ if (!answers.confirmed) {
110
+ console.log(chalk.gray('\n已取消操作\n'));
111
+ return;
112
+ }
113
+ }
114
+ else {
115
+ // 非交互模式:要求使用 --yes 标志
116
+ throw new ValidationError('非交互环境需要使用 --yes 标志确认取消操作', 'yes');
117
+ }
118
+ }
119
+ const spinner = output.spinner('正在取消订单...');
120
+ try {
121
+ await commerceApi.orders.cancel(orderId, reason);
122
+ spinner.succeed('订单已取消!');
123
+ if (output.isJson()) {
124
+ output.success({
125
+ order_id: orderId,
126
+ status: 'cancelled',
127
+ reason: reason
128
+ });
129
+ }
130
+ else {
131
+ if (reason) {
132
+ console.log(chalk.gray('\n取消原因: ') + reason);
133
+ }
134
+ console.log();
135
+ }
136
+ }
137
+ catch (error) {
138
+ spinner.fail('订单取消失败');
139
+ throw createApiError(error);
140
+ }
141
+ }
142
+ //# sourceMappingURL=cancel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../../src/commands/order/cancel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const completeOrderCommand: Command;
3
+ //# sourceMappingURL=complete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complete.d.ts","sourceRoot":"","sources":["../../../src/commands/order/complete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwDpC,eAAO,MAAM,oBAAoB,SAAM,CAAC"}
@@ -0,0 +1,99 @@
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('complete')
10
+ .description('Mark order as complete/fulfilled')
11
+ .option('--id <uuid>', 'Order ID (required)')
12
+ .option('-y, --yes', 'Skip confirmation prompt (non-interactive)')
13
+ .action(async (options) => {
14
+ try {
15
+ await completeOrder(options);
16
+ }
17
+ catch (error) {
18
+ handleError(error);
19
+ }
20
+ });
21
+ addEnhancedHelp(cmd, {
22
+ examples: [
23
+ '# Complete order with confirmation',
24
+ '$ commerce order complete --id order-123',
25
+ '',
26
+ '# Complete without confirmation (non-interactive)',
27
+ '$ commerce order complete --id order-123 --yes',
28
+ ],
29
+ output: {
30
+ example: JSON.stringify({
31
+ success: true,
32
+ data: {
33
+ order_id: 'uuid',
34
+ status: 'completed'
35
+ }
36
+ }, null, 2)
37
+ },
38
+ relatedCommands: [
39
+ { command: 'order ship', description: 'Ship order first' },
40
+ { command: 'order mark-delivered', description: 'Mark as delivered' },
41
+ { command: 'order list', description: 'Find order IDs' },
42
+ ],
43
+ notes: [
44
+ 'Order ID is required',
45
+ 'Requires confirmation unless --yes flag is used',
46
+ 'Order should be shipped/delivered before completing',
47
+ 'Use --yes for non-interactive/automated operations',
48
+ ]
49
+ });
50
+ export const completeOrderCommand = cmd;
51
+ async function completeOrder(options) {
52
+ // 验证参数
53
+ if (!options.id || options.id.trim().length === 0) {
54
+ throw new ValidationError('订单 ID 不能为空', 'id');
55
+ }
56
+ const orderId = options.id;
57
+ // 确认完成(除非使用 --yes)
58
+ if (!options.yes) {
59
+ if (isInteractiveEnvironment()) {
60
+ // 交互模式:显示确认提示
61
+ console.log(chalk.yellow(`\n⚠️ 即将完成订单: ${orderId}\n`));
62
+ const answers = await inquirer.prompt([
63
+ {
64
+ type: 'confirm',
65
+ name: 'confirmed',
66
+ message: '确定要完成此订单吗?',
67
+ default: false,
68
+ },
69
+ ]);
70
+ if (!answers.confirmed) {
71
+ console.log(chalk.gray('\n已取消操作\n'));
72
+ return;
73
+ }
74
+ }
75
+ else {
76
+ // 非交互模式:要求使用 --yes 标志
77
+ throw new ValidationError('非交互环境需要使用 --yes 标志确认完成操作', 'yes');
78
+ }
79
+ }
80
+ const spinner = output.spinner('正在完成订单...');
81
+ try {
82
+ await commerceApi.orders.complete(orderId);
83
+ spinner.succeed('订单已完成!');
84
+ if (output.isJson()) {
85
+ output.success({
86
+ order_id: orderId,
87
+ status: 'completed'
88
+ });
89
+ }
90
+ else {
91
+ console.log();
92
+ }
93
+ }
94
+ catch (error) {
95
+ spinner.fail('订单完成失败');
96
+ throw createApiError(error);
97
+ }
98
+ }
99
+ //# sourceMappingURL=complete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complete.js","sourceRoot":"","sources":["../../../src/commands/order/complete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const getOrderCommand: Command;
3
+ //# sourceMappingURL=get.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/order/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuDpC,eAAO,MAAM,eAAe,SAAM,CAAC"}
@@ -0,0 +1,80 @@
1
+ import { Command } from 'commander';
2
+ import { commerceApi } from '../../api/rest/commerce.js';
3
+ import { handleError, createApiError, ValidationError } from '../../utils/error.js';
4
+ import { formatOrder } from '../../utils/format.js';
5
+ import { output } from '../../utils/output.js';
6
+ import { addEnhancedHelp } from '../../utils/helpText.js';
7
+ const cmd = new Command('get')
8
+ .description('Get detailed information for a specific order by ID')
9
+ .option('--id <uuid>', 'Order ID (required)')
10
+ .action(async (options) => {
11
+ try {
12
+ await getOrder(options);
13
+ }
14
+ catch (error) {
15
+ handleError(error);
16
+ }
17
+ });
18
+ addEnhancedHelp(cmd, {
19
+ examples: [
20
+ '# Get order details',
21
+ '$ commerce order get --id abc-123-def',
22
+ '',
23
+ '# Get from list first',
24
+ '$ commerce order list --status paid',
25
+ '$ commerce order get --id <order_id_from_list>',
26
+ ],
27
+ output: {
28
+ example: JSON.stringify({
29
+ success: true,
30
+ data: {
31
+ order: {
32
+ order_id: 'uuid',
33
+ order_number: 'ORD-001',
34
+ status: 'paid',
35
+ total: '99.99',
36
+ currency: 'USD',
37
+ customer: { email: 'customer@example.com', name: 'John Doe' },
38
+ items: [{ product_id: 'uuid', quantity: 2, price: '49.99' }],
39
+ shipping_address: { country: 'US', city: 'New York' },
40
+ created_at: 'timestamp'
41
+ }
42
+ }
43
+ }, null, 2)
44
+ },
45
+ relatedCommands: [
46
+ { command: 'order list', description: 'Find order IDs' },
47
+ { command: 'order ship', description: 'Ship this order' },
48
+ ],
49
+ notes: [
50
+ 'Use \'commerce order list\' to find order IDs',
51
+ 'Returns full order details including items and shipping address',
52
+ ]
53
+ });
54
+ export const getOrderCommand = cmd;
55
+ async function getOrder(options) {
56
+ // 验证参数
57
+ if (!options.id || options.id.trim().length === 0) {
58
+ throw new ValidationError('订单 ID 不能为空', 'id');
59
+ }
60
+ const orderId = options.id;
61
+ const spinner = output.spinner('正在获取订单详情...');
62
+ try {
63
+ const order = await commerceApi.orders.get(orderId);
64
+ spinner.succeed('订单详情获取成功');
65
+ if (output.isJson()) {
66
+ // JSON 模式:输出结构化数据
67
+ output.success({ order });
68
+ }
69
+ else {
70
+ // Pretty 模式:保持原有格式化输出
71
+ console.log();
72
+ console.log(formatOrder(order));
73
+ }
74
+ }
75
+ catch (error) {
76
+ spinner.fail('获取订单详情失败');
77
+ throw createApiError(error);
78
+ }
79
+ }
80
+ //# sourceMappingURL=get.js.map