@simpleapps-com/augur-api 0.3.2 → 0.4.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 (843) hide show
  1. package/API-DISCOVERY.md +2 -2
  2. package/API-SERVICES.md +227 -0
  3. package/QUICKSTART.md +2 -2
  4. package/README.md +144 -10
  5. package/dist/cjs/client.d.ts +78 -0
  6. package/dist/cjs/client.d.ts.map +1 -1
  7. package/dist/cjs/client.js +182 -0
  8. package/dist/cjs/client.js.map +1 -1
  9. package/dist/cjs/index.d.ts +1 -1
  10. package/dist/cjs/index.js +1 -1
  11. package/dist/cjs/services/agr-info/client.d.ts +579 -545
  12. package/dist/cjs/services/agr-info/client.d.ts.map +1 -1
  13. package/dist/cjs/services/agr-info/client.js +440 -407
  14. package/dist/cjs/services/agr-info/client.js.map +1 -1
  15. package/dist/cjs/services/agr-site/client.d.ts +156 -85
  16. package/dist/cjs/services/agr-site/client.d.ts.map +1 -1
  17. package/dist/cjs/services/agr-site/client.js +179 -106
  18. package/dist/cjs/services/agr-site/client.js.map +1 -1
  19. package/dist/cjs/services/agr-work/client.d.ts +152 -96
  20. package/dist/cjs/services/agr-work/client.d.ts.map +1 -1
  21. package/dist/cjs/services/agr-work/client.js +155 -81
  22. package/dist/cjs/services/agr-work/client.js.map +1 -1
  23. package/dist/cjs/services/avalara/client.d.ts +260 -316
  24. package/dist/cjs/services/avalara/client.d.ts.map +1 -1
  25. package/dist/cjs/services/avalara/client.js +194 -136
  26. package/dist/cjs/services/avalara/client.js.map +1 -1
  27. package/dist/cjs/services/brand-folder/client.d.ts +200 -170
  28. package/dist/cjs/services/brand-folder/client.d.ts.map +1 -1
  29. package/dist/cjs/services/brand-folder/client.js +181 -124
  30. package/dist/cjs/services/brand-folder/client.js.map +1 -1
  31. package/dist/cjs/services/brand-folder/schemas.d.ts +8 -8
  32. package/dist/cjs/services/commerce/client.d.ts +821 -877
  33. package/dist/cjs/services/commerce/client.d.ts.map +1 -1
  34. package/dist/cjs/services/commerce/client.js +843 -487
  35. package/dist/cjs/services/commerce/client.js.map +1 -1
  36. package/dist/cjs/services/customers/client.d.ts +310 -565
  37. package/dist/cjs/services/customers/client.d.ts.map +1 -1
  38. package/dist/cjs/services/customers/client.js +224 -452
  39. package/dist/cjs/services/customers/client.js.map +1 -1
  40. package/dist/cjs/services/gregorovich/client.d.ts +347 -311
  41. package/dist/cjs/services/gregorovich/client.d.ts.map +1 -1
  42. package/dist/cjs/services/gregorovich/client.js +292 -254
  43. package/dist/cjs/services/gregorovich/client.js.map +1 -1
  44. package/dist/cjs/services/gregorovich/index.d.ts +1 -1
  45. package/dist/cjs/services/gregorovich/index.d.ts.map +1 -1
  46. package/dist/cjs/services/gregorovich/schemas/chatGptAsk.d.ts +371 -0
  47. package/dist/cjs/services/gregorovich/schemas/chatGptAsk.d.ts.map +1 -0
  48. package/dist/cjs/services/gregorovich/schemas/chatGptAsk.js +71 -0
  49. package/dist/cjs/services/gregorovich/schemas/chatGptAsk.js.map +1 -0
  50. package/dist/cjs/services/gregorovich/schemas/documents.d.ts +398 -0
  51. package/dist/cjs/services/gregorovich/schemas/documents.d.ts.map +1 -0
  52. package/dist/cjs/services/gregorovich/schemas/documents.js +61 -0
  53. package/dist/cjs/services/gregorovich/schemas/documents.js.map +1 -0
  54. package/dist/cjs/services/gregorovich/schemas/healthCheck.d.ts +53 -0
  55. package/dist/cjs/services/gregorovich/schemas/healthCheck.d.ts.map +1 -0
  56. package/dist/cjs/services/gregorovich/schemas/healthCheck.js +11 -0
  57. package/dist/cjs/services/gregorovich/schemas/healthCheck.js.map +1 -0
  58. package/dist/cjs/services/gregorovich/schemas/index.d.ts +5 -0
  59. package/dist/cjs/services/gregorovich/schemas/index.d.ts.map +1 -0
  60. package/dist/cjs/services/gregorovich/schemas/index.js +21 -0
  61. package/dist/cjs/services/gregorovich/schemas/index.js.map +1 -0
  62. package/dist/cjs/services/gregorovich/schemas/ollamaGenerate.d.ts +433 -0
  63. package/dist/cjs/services/gregorovich/schemas/ollamaGenerate.d.ts.map +1 -0
  64. package/dist/cjs/services/gregorovich/schemas/ollamaGenerate.js +100 -0
  65. package/dist/cjs/services/gregorovich/schemas/ollamaGenerate.js.map +1 -0
  66. package/dist/cjs/services/gregorovich/schemas.d.ts +1 -1217
  67. package/dist/cjs/services/gregorovich/schemas.d.ts.map +1 -1
  68. package/dist/cjs/services/gregorovich/schemas.js +16 -198
  69. package/dist/cjs/services/gregorovich/schemas.js.map +1 -1
  70. package/dist/cjs/services/items/client.d.ts +1865 -1724
  71. package/dist/cjs/services/items/client.d.ts.map +1 -1
  72. package/dist/cjs/services/items/client.js +1726 -1171
  73. package/dist/cjs/services/items/client.js.map +1 -1
  74. package/dist/cjs/services/items/schemas/attributes.d.ts +2 -2
  75. package/dist/cjs/services/items/schemas/brandsItems.d.ts +304 -0
  76. package/dist/cjs/services/items/schemas/brandsItems.d.ts.map +1 -0
  77. package/dist/cjs/services/items/schemas/brandsItems.js +44 -0
  78. package/dist/cjs/services/items/schemas/brandsItems.js.map +1 -0
  79. package/dist/cjs/services/items/schemas/categoriesImages.d.ts +127 -0
  80. package/dist/cjs/services/items/schemas/categoriesImages.d.ts.map +1 -0
  81. package/dist/cjs/services/items/schemas/categoriesImages.js +24 -0
  82. package/dist/cjs/services/items/schemas/categoriesImages.js.map +1 -0
  83. package/dist/cjs/services/items/schemas/index.d.ts +12 -0
  84. package/dist/cjs/services/items/schemas/index.d.ts.map +1 -1
  85. package/dist/cjs/services/items/schemas/index.js +12 -0
  86. package/dist/cjs/services/items/schemas/index.js.map +1 -1
  87. package/dist/cjs/services/items/schemas/internalPdf.d.ts +212 -0
  88. package/dist/cjs/services/items/schemas/internalPdf.d.ts.map +1 -0
  89. package/dist/cjs/services/items/schemas/internalPdf.js +44 -0
  90. package/dist/cjs/services/items/schemas/internalPdf.js.map +1 -0
  91. package/dist/cjs/services/items/schemas/invMastAccessory.d.ts +127 -0
  92. package/dist/cjs/services/items/schemas/invMastAccessory.d.ts.map +1 -0
  93. package/dist/cjs/services/items/schemas/invMastAccessory.js +21 -0
  94. package/dist/cjs/services/items/schemas/invMastAccessory.js.map +1 -0
  95. package/dist/cjs/services/items/schemas/invMastAlternateCode.d.ts +147 -0
  96. package/dist/cjs/services/items/schemas/invMastAlternateCode.d.ts.map +1 -0
  97. package/dist/cjs/services/items/schemas/invMastAlternateCode.js +26 -0
  98. package/dist/cjs/services/items/schemas/invMastAlternateCode.js.map +1 -0
  99. package/dist/cjs/services/items/schemas/invMastAttributes.d.ts +177 -0
  100. package/dist/cjs/services/items/schemas/invMastAttributes.d.ts.map +1 -0
  101. package/dist/cjs/services/items/schemas/invMastAttributes.js +35 -0
  102. package/dist/cjs/services/items/schemas/invMastAttributes.js.map +1 -0
  103. package/dist/cjs/services/items/schemas/invMastAttributesValues.d.ts +333 -0
  104. package/dist/cjs/services/items/schemas/invMastAttributesValues.d.ts.map +1 -0
  105. package/dist/cjs/services/items/schemas/invMastAttributesValues.js +49 -0
  106. package/dist/cjs/services/items/schemas/invMastAttributesValues.js.map +1 -0
  107. package/dist/cjs/services/items/schemas/invMastDoc.d.ts +137 -0
  108. package/dist/cjs/services/items/schemas/invMastDoc.d.ts.map +1 -0
  109. package/dist/cjs/services/items/schemas/invMastDoc.js +22 -0
  110. package/dist/cjs/services/items/schemas/invMastDoc.js.map +1 -0
  111. package/dist/cjs/services/items/schemas/invMastLinks.d.ts +147 -0
  112. package/dist/cjs/services/items/schemas/invMastLinks.d.ts.map +1 -0
  113. package/dist/cjs/services/items/schemas/invMastLinks.js +10 -0
  114. package/dist/cjs/services/items/schemas/invMastLinks.js.map +1 -0
  115. package/dist/cjs/services/items/schemas/invMastSimilar.d.ts +127 -0
  116. package/dist/cjs/services/items/schemas/invMastSimilar.d.ts.map +1 -0
  117. package/dist/cjs/services/items/schemas/invMastSimilar.js +21 -0
  118. package/dist/cjs/services/items/schemas/invMastSimilar.js.map +1 -0
  119. package/dist/cjs/services/items/schemas/invMastSub.d.ts +127 -0
  120. package/dist/cjs/services/items/schemas/invMastSub.d.ts.map +1 -0
  121. package/dist/cjs/services/items/schemas/invMastSub.js +21 -0
  122. package/dist/cjs/services/items/schemas/invMastSub.js.map +1 -0
  123. package/dist/cjs/services/items/schemas/invMastSubParts.d.ts +187 -0
  124. package/dist/cjs/services/items/schemas/invMastSubParts.d.ts.map +1 -0
  125. package/dist/cjs/services/items/schemas/invMastSubParts.js +14 -0
  126. package/dist/cjs/services/items/schemas/invMastSubParts.js.map +1 -0
  127. package/dist/cjs/services/items/schemas/itemFavorites.d.ts +236 -0
  128. package/dist/cjs/services/items/schemas/itemFavorites.d.ts.map +1 -0
  129. package/dist/cjs/services/items/schemas/itemFavorites.js +11 -0
  130. package/dist/cjs/services/items/schemas/itemFavorites.js.map +1 -0
  131. package/dist/cjs/services/items/schemas/locationsBins.d.ts +381 -0
  132. package/dist/cjs/services/items/schemas/locationsBins.d.ts.map +1 -0
  133. package/dist/cjs/services/items/schemas/locationsBins.js +35 -0
  134. package/dist/cjs/services/items/schemas/locationsBins.js.map +1 -0
  135. package/dist/cjs/services/legacy/client.d.ts +522 -280
  136. package/dist/cjs/services/legacy/client.d.ts.map +1 -1
  137. package/dist/cjs/services/legacy/client.js +388 -146
  138. package/dist/cjs/services/legacy/client.js.map +1 -1
  139. package/dist/cjs/services/nexus/client.d.ts +169 -156
  140. package/dist/cjs/services/nexus/client.d.ts.map +1 -1
  141. package/dist/cjs/services/nexus/client.js +158 -145
  142. package/dist/cjs/services/nexus/client.js.map +1 -1
  143. package/dist/cjs/services/open-search/client.d.ts +434 -162
  144. package/dist/cjs/services/open-search/client.d.ts.map +1 -1
  145. package/dist/cjs/services/open-search/client.js +248 -115
  146. package/dist/cjs/services/open-search/client.js.map +1 -1
  147. package/dist/cjs/services/{pricing/schemas/health.d.ts → open-search/schemas/healthCheck.d.ts} +19 -49
  148. package/dist/cjs/services/open-search/schemas/healthCheck.d.ts.map +1 -0
  149. package/dist/cjs/services/open-search/schemas/healthCheck.js +17 -0
  150. package/dist/cjs/services/open-search/schemas/healthCheck.js.map +1 -0
  151. package/dist/cjs/services/open-search/schemas/index.d.ts +5 -0
  152. package/dist/cjs/services/open-search/schemas/index.d.ts.map +1 -1
  153. package/dist/cjs/services/open-search/schemas/index.js +27 -0
  154. package/dist/cjs/services/open-search/schemas/index.js.map +1 -1
  155. package/dist/cjs/services/open-search/schemas/itemSearch.d.ts +394 -0
  156. package/dist/cjs/services/open-search/schemas/itemSearch.d.ts.map +1 -0
  157. package/dist/cjs/services/open-search/schemas/itemSearch.js +74 -0
  158. package/dist/cjs/services/open-search/schemas/itemSearch.js.map +1 -0
  159. package/dist/cjs/services/open-search/schemas/itemSearchAttributes.d.ts +359 -0
  160. package/dist/cjs/services/open-search/schemas/itemSearchAttributes.d.ts.map +1 -0
  161. package/dist/cjs/services/open-search/schemas/itemSearchAttributes.js +47 -0
  162. package/dist/cjs/services/open-search/schemas/itemSearchAttributes.js.map +1 -0
  163. package/dist/cjs/services/open-search/schemas/itemsRefresh.d.ts +512 -0
  164. package/dist/cjs/services/open-search/schemas/itemsRefresh.d.ts.map +1 -0
  165. package/dist/cjs/services/open-search/schemas/itemsRefresh.js +62 -0
  166. package/dist/cjs/services/open-search/schemas/itemsRefresh.js.map +1 -0
  167. package/dist/cjs/services/open-search/schemas/ping.d.ts +57 -0
  168. package/dist/cjs/services/open-search/schemas/ping.d.ts.map +1 -0
  169. package/dist/cjs/services/open-search/schemas/ping.js +14 -0
  170. package/dist/cjs/services/open-search/schemas/ping.js.map +1 -0
  171. package/dist/cjs/services/orders/client.d.ts +496 -646
  172. package/dist/cjs/services/orders/client.d.ts.map +1 -1
  173. package/dist/cjs/services/orders/client.js +311 -476
  174. package/dist/cjs/services/orders/client.js.map +1 -1
  175. package/dist/cjs/services/orders/schemas/invoices.d.ts +10 -10
  176. package/dist/cjs/services/orders/schemas/invoices.js +1 -1
  177. package/dist/cjs/services/p21-apis/client.d.ts +311 -534
  178. package/dist/cjs/services/p21-apis/client.d.ts.map +1 -1
  179. package/dist/cjs/services/p21-apis/client.js +303 -636
  180. package/dist/cjs/services/p21-apis/client.js.map +1 -1
  181. package/dist/cjs/services/p21-apis/schemas.d.ts +9 -78
  182. package/dist/cjs/services/p21-apis/schemas.d.ts.map +1 -1
  183. package/dist/cjs/services/p21-apis/schemas.js +9 -32
  184. package/dist/cjs/services/p21-apis/schemas.js.map +1 -1
  185. package/dist/cjs/services/p21-core/client.d.ts +111 -75
  186. package/dist/cjs/services/p21-core/client.d.ts.map +1 -1
  187. package/dist/cjs/services/p21-core/client.js +146 -106
  188. package/dist/cjs/services/p21-core/client.js.map +1 -1
  189. package/dist/cjs/services/p21-pim/client.d.ts +163 -37
  190. package/dist/cjs/services/p21-pim/client.d.ts.map +1 -1
  191. package/dist/cjs/services/p21-pim/client.js +163 -37
  192. package/dist/cjs/services/p21-pim/client.js.map +1 -1
  193. package/dist/cjs/services/p21-pim/schemas/ai-suggestions.d.ts +6 -6
  194. package/dist/cjs/services/p21-pim/schemas/ai-suggestions.d.ts.map +1 -1
  195. package/dist/cjs/services/p21-pim/schemas/ai-suggestions.js +1 -1
  196. package/dist/cjs/services/p21-pim/schemas/ai-suggestions.js.map +1 -1
  197. package/dist/cjs/services/p21-pim/schemas/inventory.d.ts +32 -32
  198. package/dist/cjs/services/p21-sism/client.d.ts +315 -261
  199. package/dist/cjs/services/p21-sism/client.d.ts.map +1 -1
  200. package/dist/cjs/services/p21-sism/client.js +371 -313
  201. package/dist/cjs/services/p21-sism/client.js.map +1 -1
  202. package/dist/cjs/services/pricing/client.d.ts +289 -59
  203. package/dist/cjs/services/pricing/client.d.ts.map +1 -1
  204. package/dist/cjs/services/pricing/client.js +318 -70
  205. package/dist/cjs/services/pricing/client.js.map +1 -1
  206. package/dist/cjs/services/pricing/schemas/healthCheck.d.ts +70 -0
  207. package/dist/cjs/services/pricing/schemas/healthCheck.d.ts.map +1 -0
  208. package/dist/cjs/services/pricing/schemas/{health.js → healthCheck.js} +2 -3
  209. package/dist/cjs/services/pricing/schemas/healthCheck.js.map +1 -0
  210. package/dist/cjs/services/pricing/schemas/index.d.ts +6 -4
  211. package/dist/cjs/services/pricing/schemas/index.d.ts.map +1 -1
  212. package/dist/cjs/services/pricing/schemas/index.js +9 -5
  213. package/dist/cjs/services/pricing/schemas/index.js.map +1 -1
  214. package/dist/cjs/services/pricing/schemas/jobPriceHdr.d.ts +391 -0
  215. package/dist/cjs/services/pricing/schemas/jobPriceHdr.d.ts.map +1 -0
  216. package/dist/cjs/services/pricing/schemas/jobPriceHdr.js +34 -0
  217. package/dist/cjs/services/pricing/schemas/jobPriceHdr.js.map +1 -0
  218. package/dist/cjs/services/pricing/schemas/{job-pricing.d.ts → jobPriceHdrLines.d.ts} +1 -390
  219. package/dist/cjs/services/pricing/schemas/jobPriceHdrLines.d.ts.map +1 -0
  220. package/dist/cjs/services/pricing/schemas/{job-pricing.js → jobPriceHdrLines.js} +5 -29
  221. package/dist/cjs/services/pricing/schemas/jobPriceHdrLines.js.map +1 -0
  222. package/dist/cjs/services/pricing/schemas/ping.d.ts +49 -0
  223. package/dist/cjs/services/pricing/schemas/ping.d.ts.map +1 -0
  224. package/dist/cjs/services/pricing/schemas/ping.js +6 -0
  225. package/dist/cjs/services/pricing/schemas/ping.js.map +1 -0
  226. package/dist/cjs/services/pricing/schemas/{pricing.d.ts → priceEngine.d.ts} +1 -1
  227. package/dist/cjs/services/pricing/schemas/priceEngine.d.ts.map +1 -0
  228. package/dist/cjs/services/pricing/schemas/{pricing.js → priceEngine.js} +4 -2
  229. package/dist/cjs/services/pricing/schemas/priceEngine.js.map +1 -0
  230. package/dist/{types/services/pricing/schemas/tax.d.ts → cjs/services/pricing/schemas/taxEngine.d.ts} +1 -1
  231. package/dist/cjs/services/pricing/schemas/taxEngine.d.ts.map +1 -0
  232. package/dist/cjs/services/pricing/schemas/{tax.js → taxEngine.js} +7 -2
  233. package/dist/cjs/services/pricing/schemas/taxEngine.js.map +1 -0
  234. package/dist/cjs/services/shipping/client.d.ts +47 -110
  235. package/dist/cjs/services/shipping/client.d.ts.map +1 -1
  236. package/dist/cjs/services/shipping/client.js +62 -115
  237. package/dist/cjs/services/shipping/client.js.map +1 -1
  238. package/dist/cjs/services/shipping/index.d.ts +2 -2
  239. package/dist/cjs/services/shipping/index.d.ts.map +1 -1
  240. package/dist/cjs/services/shipping/index.js +3 -3
  241. package/dist/cjs/services/shipping/index.js.map +1 -1
  242. package/dist/cjs/services/shipping/schemas/healthCheck.d.ts +118 -0
  243. package/dist/cjs/services/shipping/schemas/healthCheck.d.ts.map +1 -0
  244. package/dist/cjs/services/shipping/schemas/healthCheck.js +27 -0
  245. package/dist/cjs/services/shipping/schemas/healthCheck.js.map +1 -0
  246. package/dist/cjs/services/shipping/schemas/index.d.ts +5 -0
  247. package/dist/cjs/services/shipping/schemas/index.d.ts.map +1 -0
  248. package/dist/cjs/services/shipping/schemas/index.js +18 -0
  249. package/dist/cjs/services/shipping/schemas/index.js.map +1 -0
  250. package/dist/cjs/services/shipping/{schemas.d.ts → schemas/rates.d.ts} +1 -117
  251. package/dist/cjs/services/shipping/{schemas.d.ts.map → schemas/rates.d.ts.map} +1 -1
  252. package/dist/cjs/services/shipping/{schemas.js → schemas/rates.js} +3 -27
  253. package/dist/cjs/services/shipping/schemas/rates.js.map +1 -0
  254. package/dist/cjs/services/slack/client.d.ts +289 -260
  255. package/dist/cjs/services/slack/client.d.ts.map +1 -1
  256. package/dist/cjs/services/slack/client.js +322 -279
  257. package/dist/cjs/services/slack/client.js.map +1 -1
  258. package/dist/cjs/services/slack/index.d.ts +2 -2
  259. package/dist/cjs/services/slack/index.d.ts.map +1 -1
  260. package/dist/cjs/services/slack/index.js +5 -5
  261. package/dist/cjs/services/slack/index.js.map +1 -1
  262. package/dist/cjs/services/slack/schemas/healthCheck.d.ts +138 -0
  263. package/dist/cjs/services/slack/schemas/healthCheck.d.ts.map +1 -0
  264. package/dist/cjs/services/slack/schemas/healthCheck.js +29 -0
  265. package/dist/cjs/services/slack/schemas/healthCheck.js.map +1 -0
  266. package/dist/cjs/services/slack/schemas/index.d.ts +4 -0
  267. package/dist/cjs/services/slack/schemas/index.d.ts.map +1 -0
  268. package/dist/cjs/services/slack/schemas/index.js +19 -0
  269. package/dist/cjs/services/slack/schemas/index.js.map +1 -0
  270. package/dist/{types/services/slack/schemas.d.ts → cjs/services/slack/schemas/webHook.d.ts} +3 -298
  271. package/dist/cjs/services/slack/schemas/webHook.d.ts.map +1 -0
  272. package/dist/cjs/services/slack/{schemas.js → schemas/webHook.js} +4 -56
  273. package/dist/cjs/services/slack/schemas/webHook.js.map +1 -0
  274. package/dist/cjs/services/slack/schemas/webHookRefresh.d.ts +161 -0
  275. package/dist/cjs/services/slack/schemas/webHookRefresh.d.ts.map +1 -0
  276. package/dist/cjs/services/slack/schemas/webHookRefresh.js +32 -0
  277. package/dist/cjs/services/slack/schemas/webHookRefresh.js.map +1 -0
  278. package/dist/cjs/services/smarty-streets/client.d.ts +238 -214
  279. package/dist/cjs/services/smarty-streets/client.d.ts.map +1 -1
  280. package/dist/cjs/services/smarty-streets/client.js +273 -250
  281. package/dist/cjs/services/smarty-streets/client.js.map +1 -1
  282. package/dist/cjs/services/smarty-streets/index.d.ts +2 -2
  283. package/dist/cjs/services/smarty-streets/index.d.ts.map +1 -1
  284. package/dist/cjs/services/smarty-streets/index.js +9 -9
  285. package/dist/cjs/services/smarty-streets/index.js.map +1 -1
  286. package/dist/cjs/services/smarty-streets/schemas/healthCheck.d.ts +140 -0
  287. package/dist/cjs/services/smarty-streets/schemas/healthCheck.d.ts.map +1 -0
  288. package/dist/cjs/services/smarty-streets/schemas/healthCheck.js +31 -0
  289. package/dist/cjs/services/smarty-streets/schemas/healthCheck.js.map +1 -0
  290. package/dist/cjs/services/smarty-streets/schemas/index.d.ts +7 -0
  291. package/dist/cjs/services/smarty-streets/schemas/index.d.ts.map +1 -0
  292. package/dist/cjs/services/smarty-streets/schemas/index.js +25 -0
  293. package/dist/cjs/services/smarty-streets/schemas/index.js.map +1 -0
  294. package/dist/cjs/services/smarty-streets/schemas/ping.d.ts +120 -0
  295. package/dist/cjs/services/smarty-streets/schemas/ping.d.ts.map +1 -0
  296. package/dist/cjs/services/smarty-streets/schemas/ping.js +29 -0
  297. package/dist/cjs/services/smarty-streets/schemas/ping.js.map +1 -0
  298. package/dist/cjs/services/smarty-streets/{schemas.d.ts → schemas/usLookup.d.ts} +11 -262
  299. package/dist/cjs/services/smarty-streets/schemas/usLookup.d.ts.map +1 -0
  300. package/dist/cjs/services/smarty-streets/{schemas.js → schemas/usLookup.js} +9 -55
  301. package/dist/cjs/services/smarty-streets/schemas/usLookup.js.map +1 -0
  302. package/dist/cjs/services/ups/client.d.ts +65 -95
  303. package/dist/cjs/services/ups/client.d.ts.map +1 -1
  304. package/dist/cjs/services/ups/client.js +76 -105
  305. package/dist/cjs/services/ups/client.js.map +1 -1
  306. package/dist/cjs/services/ups/schemas/healthCheck.d.ts +138 -0
  307. package/dist/cjs/services/ups/schemas/healthCheck.d.ts.map +1 -0
  308. package/dist/cjs/services/ups/schemas/healthCheck.js +29 -0
  309. package/dist/cjs/services/ups/schemas/healthCheck.js.map +1 -0
  310. package/dist/cjs/services/ups/schemas/index.d.ts +5 -0
  311. package/dist/cjs/services/ups/schemas/index.d.ts.map +1 -0
  312. package/dist/cjs/services/ups/schemas/index.js +18 -0
  313. package/dist/cjs/services/ups/schemas/index.js.map +1 -0
  314. package/dist/cjs/services/ups/schemas/ratesShop.d.ts +1751 -0
  315. package/dist/cjs/services/ups/schemas/ratesShop.d.ts.map +1 -0
  316. package/dist/cjs/services/ups/schemas/ratesShop.js +175 -0
  317. package/dist/cjs/services/ups/schemas/ratesShop.js.map +1 -0
  318. package/dist/cjs/services/ups/schemas.d.ts +4 -1886
  319. package/dist/cjs/services/ups/schemas.d.ts.map +1 -1
  320. package/dist/cjs/services/ups/schemas.js +15 -198
  321. package/dist/cjs/services/ups/schemas.js.map +1 -1
  322. package/dist/cjs/services/vmi/client.d.ts +605 -550
  323. package/dist/cjs/services/vmi/client.d.ts.map +1 -1
  324. package/dist/cjs/services/vmi/client.js +604 -558
  325. package/dist/cjs/services/vmi/client.js.map +1 -1
  326. package/dist/esm/client.d.ts +78 -0
  327. package/dist/esm/client.d.ts.map +1 -1
  328. package/dist/esm/client.js +182 -0
  329. package/dist/esm/client.js.map +1 -1
  330. package/dist/esm/index.d.ts +1 -1
  331. package/dist/esm/index.js +1 -1
  332. package/dist/esm/services/agr-info/client.d.ts +579 -545
  333. package/dist/esm/services/agr-info/client.d.ts.map +1 -1
  334. package/dist/esm/services/agr-info/client.js +440 -407
  335. package/dist/esm/services/agr-info/client.js.map +1 -1
  336. package/dist/esm/services/agr-site/client.d.ts +156 -85
  337. package/dist/esm/services/agr-site/client.d.ts.map +1 -1
  338. package/dist/esm/services/agr-site/client.js +179 -106
  339. package/dist/esm/services/agr-site/client.js.map +1 -1
  340. package/dist/esm/services/agr-work/client.d.ts +152 -96
  341. package/dist/esm/services/agr-work/client.d.ts.map +1 -1
  342. package/dist/esm/services/agr-work/client.js +155 -81
  343. package/dist/esm/services/agr-work/client.js.map +1 -1
  344. package/dist/esm/services/avalara/client.d.ts +260 -316
  345. package/dist/esm/services/avalara/client.d.ts.map +1 -1
  346. package/dist/esm/services/avalara/client.js +195 -137
  347. package/dist/esm/services/avalara/client.js.map +1 -1
  348. package/dist/esm/services/brand-folder/client.d.ts +200 -170
  349. package/dist/esm/services/brand-folder/client.d.ts.map +1 -1
  350. package/dist/esm/services/brand-folder/client.js +182 -125
  351. package/dist/esm/services/brand-folder/client.js.map +1 -1
  352. package/dist/esm/services/brand-folder/schemas.d.ts +8 -8
  353. package/dist/esm/services/commerce/client.d.ts +821 -877
  354. package/dist/esm/services/commerce/client.d.ts.map +1 -1
  355. package/dist/esm/services/commerce/client.js +844 -488
  356. package/dist/esm/services/commerce/client.js.map +1 -1
  357. package/dist/esm/services/customers/client.d.ts +310 -565
  358. package/dist/esm/services/customers/client.d.ts.map +1 -1
  359. package/dist/esm/services/customers/client.js +224 -452
  360. package/dist/esm/services/customers/client.js.map +1 -1
  361. package/dist/esm/services/gregorovich/client.d.ts +347 -311
  362. package/dist/esm/services/gregorovich/client.d.ts.map +1 -1
  363. package/dist/esm/services/gregorovich/client.js +292 -254
  364. package/dist/esm/services/gregorovich/client.js.map +1 -1
  365. package/dist/esm/services/gregorovich/index.d.ts +1 -1
  366. package/dist/esm/services/gregorovich/index.d.ts.map +1 -1
  367. package/dist/esm/services/gregorovich/schemas/chatGptAsk.d.ts +371 -0
  368. package/dist/esm/services/gregorovich/schemas/chatGptAsk.d.ts.map +1 -0
  369. package/dist/esm/services/gregorovich/schemas/chatGptAsk.js +68 -0
  370. package/dist/esm/services/gregorovich/schemas/chatGptAsk.js.map +1 -0
  371. package/dist/esm/services/gregorovich/schemas/documents.d.ts +398 -0
  372. package/dist/esm/services/gregorovich/schemas/documents.d.ts.map +1 -0
  373. package/dist/esm/services/gregorovich/schemas/documents.js +58 -0
  374. package/dist/esm/services/gregorovich/schemas/documents.js.map +1 -0
  375. package/dist/esm/services/gregorovich/schemas/healthCheck.d.ts +53 -0
  376. package/dist/esm/services/gregorovich/schemas/healthCheck.d.ts.map +1 -0
  377. package/dist/esm/services/gregorovich/schemas/healthCheck.js +8 -0
  378. package/dist/esm/services/gregorovich/schemas/healthCheck.js.map +1 -0
  379. package/dist/esm/services/gregorovich/schemas/index.d.ts +5 -0
  380. package/dist/esm/services/gregorovich/schemas/index.d.ts.map +1 -0
  381. package/dist/esm/services/gregorovich/schemas/index.js +9 -0
  382. package/dist/esm/services/gregorovich/schemas/index.js.map +1 -0
  383. package/dist/esm/services/gregorovich/schemas/ollamaGenerate.d.ts +433 -0
  384. package/dist/esm/services/gregorovich/schemas/ollamaGenerate.d.ts.map +1 -0
  385. package/dist/esm/services/gregorovich/schemas/ollamaGenerate.js +97 -0
  386. package/dist/esm/services/gregorovich/schemas/ollamaGenerate.js.map +1 -0
  387. package/dist/esm/services/gregorovich/schemas.d.ts +1 -1217
  388. package/dist/esm/services/gregorovich/schemas.d.ts.map +1 -1
  389. package/dist/esm/services/gregorovich/schemas.js +2 -197
  390. package/dist/esm/services/gregorovich/schemas.js.map +1 -1
  391. package/dist/esm/services/items/client.d.ts +1865 -1724
  392. package/dist/esm/services/items/client.d.ts.map +1 -1
  393. package/dist/esm/services/items/client.js +1738 -1176
  394. package/dist/esm/services/items/client.js.map +1 -1
  395. package/dist/esm/services/items/schemas/attributes.d.ts +2 -2
  396. package/dist/esm/services/items/schemas/brandsItems.d.ts +304 -0
  397. package/dist/esm/services/items/schemas/brandsItems.d.ts.map +1 -0
  398. package/dist/esm/services/items/schemas/brandsItems.js +41 -0
  399. package/dist/esm/services/items/schemas/brandsItems.js.map +1 -0
  400. package/dist/esm/services/items/schemas/categoriesImages.d.ts +127 -0
  401. package/dist/esm/services/items/schemas/categoriesImages.d.ts.map +1 -0
  402. package/dist/esm/services/items/schemas/categoriesImages.js +21 -0
  403. package/dist/esm/services/items/schemas/categoriesImages.js.map +1 -0
  404. package/dist/esm/services/items/schemas/index.d.ts +12 -0
  405. package/dist/esm/services/items/schemas/index.d.ts.map +1 -1
  406. package/dist/esm/services/items/schemas/index.js +12 -0
  407. package/dist/esm/services/items/schemas/index.js.map +1 -1
  408. package/dist/esm/services/items/schemas/internalPdf.d.ts +212 -0
  409. package/dist/esm/services/items/schemas/internalPdf.d.ts.map +1 -0
  410. package/dist/esm/services/items/schemas/internalPdf.js +41 -0
  411. package/dist/esm/services/items/schemas/internalPdf.js.map +1 -0
  412. package/dist/esm/services/items/schemas/invMastAccessory.d.ts +127 -0
  413. package/dist/esm/services/items/schemas/invMastAccessory.d.ts.map +1 -0
  414. package/dist/esm/services/items/schemas/invMastAccessory.js +18 -0
  415. package/dist/esm/services/items/schemas/invMastAccessory.js.map +1 -0
  416. package/dist/esm/services/items/schemas/invMastAlternateCode.d.ts +147 -0
  417. package/dist/esm/services/items/schemas/invMastAlternateCode.d.ts.map +1 -0
  418. package/dist/esm/services/items/schemas/invMastAlternateCode.js +23 -0
  419. package/dist/esm/services/items/schemas/invMastAlternateCode.js.map +1 -0
  420. package/dist/esm/services/items/schemas/invMastAttributes.d.ts +177 -0
  421. package/dist/esm/services/items/schemas/invMastAttributes.d.ts.map +1 -0
  422. package/dist/esm/services/items/schemas/invMastAttributes.js +32 -0
  423. package/dist/esm/services/items/schemas/invMastAttributes.js.map +1 -0
  424. package/dist/esm/services/items/schemas/invMastAttributesValues.d.ts +333 -0
  425. package/dist/esm/services/items/schemas/invMastAttributesValues.d.ts.map +1 -0
  426. package/dist/esm/services/items/schemas/invMastAttributesValues.js +46 -0
  427. package/dist/esm/services/items/schemas/invMastAttributesValues.js.map +1 -0
  428. package/dist/esm/services/items/schemas/invMastDoc.d.ts +137 -0
  429. package/dist/esm/services/items/schemas/invMastDoc.d.ts.map +1 -0
  430. package/dist/esm/services/items/schemas/invMastDoc.js +19 -0
  431. package/dist/esm/services/items/schemas/invMastDoc.js.map +1 -0
  432. package/dist/esm/services/items/schemas/invMastLinks.d.ts +147 -0
  433. package/dist/esm/services/items/schemas/invMastLinks.d.ts.map +1 -0
  434. package/dist/esm/services/items/schemas/invMastLinks.js +7 -0
  435. package/dist/esm/services/items/schemas/invMastLinks.js.map +1 -0
  436. package/dist/esm/services/items/schemas/invMastSimilar.d.ts +127 -0
  437. package/dist/esm/services/items/schemas/invMastSimilar.d.ts.map +1 -0
  438. package/dist/esm/services/items/schemas/invMastSimilar.js +18 -0
  439. package/dist/esm/services/items/schemas/invMastSimilar.js.map +1 -0
  440. package/dist/esm/services/items/schemas/invMastSub.d.ts +127 -0
  441. package/dist/esm/services/items/schemas/invMastSub.d.ts.map +1 -0
  442. package/dist/esm/services/items/schemas/invMastSub.js +18 -0
  443. package/dist/esm/services/items/schemas/invMastSub.js.map +1 -0
  444. package/dist/esm/services/items/schemas/invMastSubParts.d.ts +187 -0
  445. package/dist/esm/services/items/schemas/invMastSubParts.d.ts.map +1 -0
  446. package/dist/esm/services/items/schemas/invMastSubParts.js +11 -0
  447. package/dist/esm/services/items/schemas/invMastSubParts.js.map +1 -0
  448. package/dist/esm/services/items/schemas/itemFavorites.d.ts +236 -0
  449. package/dist/esm/services/items/schemas/itemFavorites.d.ts.map +1 -0
  450. package/dist/esm/services/items/schemas/itemFavorites.js +8 -0
  451. package/dist/esm/services/items/schemas/itemFavorites.js.map +1 -0
  452. package/dist/esm/services/items/schemas/locationsBins.d.ts +381 -0
  453. package/dist/esm/services/items/schemas/locationsBins.d.ts.map +1 -0
  454. package/dist/esm/services/items/schemas/locationsBins.js +32 -0
  455. package/dist/esm/services/items/schemas/locationsBins.js.map +1 -0
  456. package/dist/esm/services/legacy/client.d.ts +522 -280
  457. package/dist/esm/services/legacy/client.d.ts.map +1 -1
  458. package/dist/esm/services/legacy/client.js +388 -146
  459. package/dist/esm/services/legacy/client.js.map +1 -1
  460. package/dist/esm/services/nexus/client.d.ts +169 -156
  461. package/dist/esm/services/nexus/client.d.ts.map +1 -1
  462. package/dist/esm/services/nexus/client.js +158 -145
  463. package/dist/esm/services/nexus/client.js.map +1 -1
  464. package/dist/esm/services/open-search/client.d.ts +434 -162
  465. package/dist/esm/services/open-search/client.d.ts.map +1 -1
  466. package/dist/esm/services/open-search/client.js +253 -116
  467. package/dist/esm/services/open-search/client.js.map +1 -1
  468. package/dist/esm/services/{pricing/schemas/health.d.ts → open-search/schemas/healthCheck.d.ts} +19 -49
  469. package/dist/esm/services/open-search/schemas/healthCheck.d.ts.map +1 -0
  470. package/dist/esm/services/open-search/schemas/healthCheck.js +14 -0
  471. package/dist/esm/services/open-search/schemas/healthCheck.js.map +1 -0
  472. package/dist/esm/services/open-search/schemas/index.d.ts +5 -0
  473. package/dist/esm/services/open-search/schemas/index.d.ts.map +1 -1
  474. package/dist/esm/services/open-search/schemas/index.js +6 -0
  475. package/dist/esm/services/open-search/schemas/index.js.map +1 -1
  476. package/dist/esm/services/open-search/schemas/itemSearch.d.ts +394 -0
  477. package/dist/esm/services/open-search/schemas/itemSearch.d.ts.map +1 -0
  478. package/dist/esm/services/open-search/schemas/itemSearch.js +71 -0
  479. package/dist/esm/services/open-search/schemas/itemSearch.js.map +1 -0
  480. package/dist/esm/services/open-search/schemas/itemSearchAttributes.d.ts +359 -0
  481. package/dist/esm/services/open-search/schemas/itemSearchAttributes.d.ts.map +1 -0
  482. package/dist/esm/services/open-search/schemas/itemSearchAttributes.js +44 -0
  483. package/dist/esm/services/open-search/schemas/itemSearchAttributes.js.map +1 -0
  484. package/dist/esm/services/open-search/schemas/itemsRefresh.d.ts +512 -0
  485. package/dist/esm/services/open-search/schemas/itemsRefresh.d.ts.map +1 -0
  486. package/dist/esm/services/open-search/schemas/itemsRefresh.js +59 -0
  487. package/dist/esm/services/open-search/schemas/itemsRefresh.js.map +1 -0
  488. package/dist/esm/services/open-search/schemas/ping.d.ts +57 -0
  489. package/dist/esm/services/open-search/schemas/ping.d.ts.map +1 -0
  490. package/dist/esm/services/open-search/schemas/ping.js +11 -0
  491. package/dist/esm/services/open-search/schemas/ping.js.map +1 -0
  492. package/dist/esm/services/orders/client.d.ts +496 -646
  493. package/dist/esm/services/orders/client.d.ts.map +1 -1
  494. package/dist/esm/services/orders/client.js +311 -476
  495. package/dist/esm/services/orders/client.js.map +1 -1
  496. package/dist/esm/services/orders/schemas/invoices.d.ts +10 -10
  497. package/dist/esm/services/orders/schemas/invoices.js +1 -1
  498. package/dist/esm/services/p21-apis/client.d.ts +311 -534
  499. package/dist/esm/services/p21-apis/client.d.ts.map +1 -1
  500. package/dist/esm/services/p21-apis/client.js +304 -637
  501. package/dist/esm/services/p21-apis/client.js.map +1 -1
  502. package/dist/esm/services/p21-apis/schemas.d.ts +9 -78
  503. package/dist/esm/services/p21-apis/schemas.d.ts.map +1 -1
  504. package/dist/esm/services/p21-apis/schemas.js +9 -32
  505. package/dist/esm/services/p21-apis/schemas.js.map +1 -1
  506. package/dist/esm/services/p21-core/client.d.ts +111 -75
  507. package/dist/esm/services/p21-core/client.d.ts.map +1 -1
  508. package/dist/esm/services/p21-core/client.js +146 -106
  509. package/dist/esm/services/p21-core/client.js.map +1 -1
  510. package/dist/esm/services/p21-pim/client.d.ts +163 -37
  511. package/dist/esm/services/p21-pim/client.d.ts.map +1 -1
  512. package/dist/esm/services/p21-pim/client.js +163 -37
  513. package/dist/esm/services/p21-pim/client.js.map +1 -1
  514. package/dist/esm/services/p21-pim/schemas/ai-suggestions.d.ts +6 -6
  515. package/dist/esm/services/p21-pim/schemas/ai-suggestions.d.ts.map +1 -1
  516. package/dist/esm/services/p21-pim/schemas/ai-suggestions.js +1 -1
  517. package/dist/esm/services/p21-pim/schemas/ai-suggestions.js.map +1 -1
  518. package/dist/esm/services/p21-pim/schemas/inventory.d.ts +32 -32
  519. package/dist/esm/services/p21-sism/client.d.ts +315 -261
  520. package/dist/esm/services/p21-sism/client.d.ts.map +1 -1
  521. package/dist/esm/services/p21-sism/client.js +371 -313
  522. package/dist/esm/services/p21-sism/client.js.map +1 -1
  523. package/dist/esm/services/pricing/client.d.ts +289 -59
  524. package/dist/esm/services/pricing/client.d.ts.map +1 -1
  525. package/dist/esm/services/pricing/client.js +318 -70
  526. package/dist/esm/services/pricing/client.js.map +1 -1
  527. package/dist/esm/services/pricing/schemas/healthCheck.d.ts +70 -0
  528. package/dist/esm/services/pricing/schemas/healthCheck.d.ts.map +1 -0
  529. package/dist/esm/services/pricing/schemas/healthCheck.js +3 -0
  530. package/dist/esm/services/pricing/schemas/healthCheck.js.map +1 -0
  531. package/dist/esm/services/pricing/schemas/index.d.ts +6 -4
  532. package/dist/esm/services/pricing/schemas/index.d.ts.map +1 -1
  533. package/dist/esm/services/pricing/schemas/index.js +9 -5
  534. package/dist/esm/services/pricing/schemas/index.js.map +1 -1
  535. package/dist/esm/services/pricing/schemas/jobPriceHdr.d.ts +391 -0
  536. package/dist/esm/services/pricing/schemas/jobPriceHdr.d.ts.map +1 -0
  537. package/dist/esm/services/pricing/schemas/jobPriceHdr.js +31 -0
  538. package/dist/esm/services/pricing/schemas/jobPriceHdr.js.map +1 -0
  539. package/dist/{types/services/pricing/schemas/job-pricing.d.ts → esm/services/pricing/schemas/jobPriceHdrLines.d.ts} +1 -390
  540. package/dist/esm/services/pricing/schemas/jobPriceHdrLines.d.ts.map +1 -0
  541. package/dist/esm/services/pricing/schemas/{job-pricing.js → jobPriceHdrLines.js} +4 -28
  542. package/dist/esm/services/pricing/schemas/jobPriceHdrLines.js.map +1 -0
  543. package/dist/esm/services/pricing/schemas/ping.d.ts +49 -0
  544. package/dist/esm/services/pricing/schemas/ping.d.ts.map +1 -0
  545. package/dist/esm/services/pricing/schemas/ping.js +3 -0
  546. package/dist/esm/services/pricing/schemas/ping.js.map +1 -0
  547. package/dist/{types/services/pricing/schemas/pricing.d.ts → esm/services/pricing/schemas/priceEngine.d.ts} +1 -1
  548. package/dist/esm/services/pricing/schemas/priceEngine.d.ts.map +1 -0
  549. package/dist/esm/services/pricing/schemas/{pricing.js → priceEngine.js} +4 -2
  550. package/dist/esm/services/pricing/schemas/priceEngine.js.map +1 -0
  551. package/dist/{cjs/services/pricing/schemas/tax.d.ts → esm/services/pricing/schemas/taxEngine.d.ts} +1 -1
  552. package/dist/esm/services/pricing/schemas/taxEngine.d.ts.map +1 -0
  553. package/dist/esm/services/pricing/schemas/{tax.js → taxEngine.js} +7 -2
  554. package/dist/esm/services/pricing/schemas/taxEngine.js.map +1 -0
  555. package/dist/esm/services/shipping/client.d.ts +47 -110
  556. package/dist/esm/services/shipping/client.d.ts.map +1 -1
  557. package/dist/esm/services/shipping/client.js +62 -115
  558. package/dist/esm/services/shipping/client.js.map +1 -1
  559. package/dist/esm/services/shipping/index.d.ts +2 -2
  560. package/dist/esm/services/shipping/index.d.ts.map +1 -1
  561. package/dist/esm/services/shipping/index.js +1 -1
  562. package/dist/esm/services/shipping/index.js.map +1 -1
  563. package/dist/esm/services/shipping/schemas/healthCheck.d.ts +118 -0
  564. package/dist/esm/services/shipping/schemas/healthCheck.d.ts.map +1 -0
  565. package/dist/esm/services/shipping/schemas/healthCheck.js +24 -0
  566. package/dist/esm/services/shipping/schemas/healthCheck.js.map +1 -0
  567. package/dist/esm/services/shipping/schemas/index.d.ts +5 -0
  568. package/dist/esm/services/shipping/schemas/index.d.ts.map +1 -0
  569. package/dist/esm/services/shipping/schemas/index.js +5 -0
  570. package/dist/esm/services/shipping/schemas/index.js.map +1 -0
  571. package/dist/esm/services/shipping/{schemas.d.ts → schemas/rates.d.ts} +1 -117
  572. package/dist/{types/services/shipping/schemas.d.ts.map → esm/services/shipping/schemas/rates.d.ts.map} +1 -1
  573. package/dist/esm/services/shipping/{schemas.js → schemas/rates.js} +2 -26
  574. package/dist/esm/services/shipping/schemas/rates.js.map +1 -0
  575. package/dist/esm/services/slack/client.d.ts +289 -260
  576. package/dist/esm/services/slack/client.d.ts.map +1 -1
  577. package/dist/esm/services/slack/client.js +323 -280
  578. package/dist/esm/services/slack/client.js.map +1 -1
  579. package/dist/esm/services/slack/index.d.ts +2 -2
  580. package/dist/esm/services/slack/index.d.ts.map +1 -1
  581. package/dist/esm/services/slack/index.js +1 -1
  582. package/dist/esm/services/slack/index.js.map +1 -1
  583. package/dist/esm/services/slack/schemas/healthCheck.d.ts +138 -0
  584. package/dist/esm/services/slack/schemas/healthCheck.d.ts.map +1 -0
  585. package/dist/esm/services/slack/schemas/healthCheck.js +26 -0
  586. package/dist/esm/services/slack/schemas/healthCheck.js.map +1 -0
  587. package/dist/esm/services/slack/schemas/index.d.ts +4 -0
  588. package/dist/esm/services/slack/schemas/index.d.ts.map +1 -0
  589. package/dist/esm/services/slack/schemas/index.js +7 -0
  590. package/dist/esm/services/slack/schemas/index.js.map +1 -0
  591. package/dist/esm/services/slack/{schemas.d.ts → schemas/webHook.d.ts} +3 -298
  592. package/dist/esm/services/slack/schemas/webHook.d.ts.map +1 -0
  593. package/dist/esm/services/slack/{schemas.js → schemas/webHook.js} +3 -55
  594. package/dist/esm/services/slack/schemas/webHook.js.map +1 -0
  595. package/dist/esm/services/slack/schemas/webHookRefresh.d.ts +161 -0
  596. package/dist/esm/services/slack/schemas/webHookRefresh.d.ts.map +1 -0
  597. package/dist/esm/services/slack/schemas/webHookRefresh.js +29 -0
  598. package/dist/esm/services/slack/schemas/webHookRefresh.js.map +1 -0
  599. package/dist/esm/services/smarty-streets/client.d.ts +238 -214
  600. package/dist/esm/services/smarty-streets/client.d.ts.map +1 -1
  601. package/dist/esm/services/smarty-streets/client.js +274 -251
  602. package/dist/esm/services/smarty-streets/client.js.map +1 -1
  603. package/dist/esm/services/smarty-streets/index.d.ts +2 -2
  604. package/dist/esm/services/smarty-streets/index.d.ts.map +1 -1
  605. package/dist/esm/services/smarty-streets/index.js +2 -2
  606. package/dist/esm/services/smarty-streets/index.js.map +1 -1
  607. package/dist/esm/services/smarty-streets/schemas/healthCheck.d.ts +140 -0
  608. package/dist/esm/services/smarty-streets/schemas/healthCheck.d.ts.map +1 -0
  609. package/dist/esm/services/smarty-streets/schemas/healthCheck.js +28 -0
  610. package/dist/esm/services/smarty-streets/schemas/healthCheck.js.map +1 -0
  611. package/dist/esm/services/smarty-streets/schemas/index.d.ts +7 -0
  612. package/dist/esm/services/smarty-streets/schemas/index.d.ts.map +1 -0
  613. package/dist/esm/services/smarty-streets/schemas/index.js +8 -0
  614. package/dist/esm/services/smarty-streets/schemas/index.js.map +1 -0
  615. package/dist/esm/services/smarty-streets/schemas/ping.d.ts +120 -0
  616. package/dist/esm/services/smarty-streets/schemas/ping.d.ts.map +1 -0
  617. package/dist/esm/services/smarty-streets/schemas/ping.js +26 -0
  618. package/dist/esm/services/smarty-streets/schemas/ping.js.map +1 -0
  619. package/dist/esm/services/smarty-streets/{schemas.d.ts → schemas/usLookup.d.ts} +11 -262
  620. package/dist/esm/services/smarty-streets/schemas/usLookup.d.ts.map +1 -0
  621. package/dist/esm/services/smarty-streets/{schemas.js → schemas/usLookup.js} +8 -54
  622. package/dist/esm/services/smarty-streets/schemas/usLookup.js.map +1 -0
  623. package/dist/esm/services/ups/client.d.ts +65 -95
  624. package/dist/esm/services/ups/client.d.ts.map +1 -1
  625. package/dist/esm/services/ups/client.js +76 -105
  626. package/dist/esm/services/ups/client.js.map +1 -1
  627. package/dist/esm/services/ups/schemas/healthCheck.d.ts +138 -0
  628. package/dist/esm/services/ups/schemas/healthCheck.d.ts.map +1 -0
  629. package/dist/esm/services/ups/schemas/healthCheck.js +26 -0
  630. package/dist/esm/services/ups/schemas/healthCheck.js.map +1 -0
  631. package/dist/esm/services/ups/schemas/index.d.ts +5 -0
  632. package/dist/esm/services/ups/schemas/index.d.ts.map +1 -0
  633. package/dist/esm/services/ups/schemas/index.js +5 -0
  634. package/dist/esm/services/ups/schemas/index.js.map +1 -0
  635. package/dist/esm/services/ups/schemas/ratesShop.d.ts +1751 -0
  636. package/dist/esm/services/ups/schemas/ratesShop.d.ts.map +1 -0
  637. package/dist/esm/services/ups/schemas/ratesShop.js +172 -0
  638. package/dist/esm/services/ups/schemas/ratesShop.js.map +1 -0
  639. package/dist/esm/services/ups/schemas.d.ts +4 -1886
  640. package/dist/esm/services/ups/schemas.d.ts.map +1 -1
  641. package/dist/esm/services/ups/schemas.js +4 -197
  642. package/dist/esm/services/ups/schemas.js.map +1 -1
  643. package/dist/esm/services/vmi/client.d.ts +605 -550
  644. package/dist/esm/services/vmi/client.d.ts.map +1 -1
  645. package/dist/esm/services/vmi/client.js +604 -558
  646. package/dist/esm/services/vmi/client.js.map +1 -1
  647. package/dist/types/client.d.ts +78 -0
  648. package/dist/types/client.d.ts.map +1 -1
  649. package/dist/types/index.d.ts +1 -1
  650. package/dist/types/services/agr-info/client.d.ts +579 -545
  651. package/dist/types/services/agr-info/client.d.ts.map +1 -1
  652. package/dist/types/services/agr-site/client.d.ts +156 -85
  653. package/dist/types/services/agr-site/client.d.ts.map +1 -1
  654. package/dist/types/services/agr-work/client.d.ts +152 -96
  655. package/dist/types/services/agr-work/client.d.ts.map +1 -1
  656. package/dist/types/services/avalara/client.d.ts +260 -316
  657. package/dist/types/services/avalara/client.d.ts.map +1 -1
  658. package/dist/types/services/brand-folder/client.d.ts +200 -170
  659. package/dist/types/services/brand-folder/client.d.ts.map +1 -1
  660. package/dist/types/services/brand-folder/schemas.d.ts +8 -8
  661. package/dist/types/services/commerce/client.d.ts +821 -877
  662. package/dist/types/services/commerce/client.d.ts.map +1 -1
  663. package/dist/types/services/customers/client.d.ts +310 -565
  664. package/dist/types/services/customers/client.d.ts.map +1 -1
  665. package/dist/types/services/gregorovich/client.d.ts +347 -311
  666. package/dist/types/services/gregorovich/client.d.ts.map +1 -1
  667. package/dist/types/services/gregorovich/index.d.ts +1 -1
  668. package/dist/types/services/gregorovich/index.d.ts.map +1 -1
  669. package/dist/types/services/gregorovich/schemas/chatGptAsk.d.ts +371 -0
  670. package/dist/types/services/gregorovich/schemas/chatGptAsk.d.ts.map +1 -0
  671. package/dist/types/services/gregorovich/schemas/documents.d.ts +398 -0
  672. package/dist/types/services/gregorovich/schemas/documents.d.ts.map +1 -0
  673. package/dist/types/services/gregorovich/schemas/healthCheck.d.ts +53 -0
  674. package/dist/types/services/gregorovich/schemas/healthCheck.d.ts.map +1 -0
  675. package/dist/types/services/gregorovich/schemas/index.d.ts +5 -0
  676. package/dist/types/services/gregorovich/schemas/index.d.ts.map +1 -0
  677. package/dist/types/services/gregorovich/schemas/ollamaGenerate.d.ts +433 -0
  678. package/dist/types/services/gregorovich/schemas/ollamaGenerate.d.ts.map +1 -0
  679. package/dist/types/services/gregorovich/schemas.d.ts +1 -1217
  680. package/dist/types/services/gregorovich/schemas.d.ts.map +1 -1
  681. package/dist/types/services/items/client.d.ts +1865 -1724
  682. package/dist/types/services/items/client.d.ts.map +1 -1
  683. package/dist/types/services/items/schemas/attributes.d.ts +2 -2
  684. package/dist/types/services/items/schemas/brandsItems.d.ts +304 -0
  685. package/dist/types/services/items/schemas/brandsItems.d.ts.map +1 -0
  686. package/dist/types/services/items/schemas/categoriesImages.d.ts +127 -0
  687. package/dist/types/services/items/schemas/categoriesImages.d.ts.map +1 -0
  688. package/dist/types/services/items/schemas/index.d.ts +12 -0
  689. package/dist/types/services/items/schemas/index.d.ts.map +1 -1
  690. package/dist/types/services/items/schemas/internalPdf.d.ts +212 -0
  691. package/dist/types/services/items/schemas/internalPdf.d.ts.map +1 -0
  692. package/dist/types/services/items/schemas/invMastAccessory.d.ts +127 -0
  693. package/dist/types/services/items/schemas/invMastAccessory.d.ts.map +1 -0
  694. package/dist/types/services/items/schemas/invMastAlternateCode.d.ts +147 -0
  695. package/dist/types/services/items/schemas/invMastAlternateCode.d.ts.map +1 -0
  696. package/dist/types/services/items/schemas/invMastAttributes.d.ts +177 -0
  697. package/dist/types/services/items/schemas/invMastAttributes.d.ts.map +1 -0
  698. package/dist/types/services/items/schemas/invMastAttributesValues.d.ts +333 -0
  699. package/dist/types/services/items/schemas/invMastAttributesValues.d.ts.map +1 -0
  700. package/dist/types/services/items/schemas/invMastDoc.d.ts +137 -0
  701. package/dist/types/services/items/schemas/invMastDoc.d.ts.map +1 -0
  702. package/dist/types/services/items/schemas/invMastLinks.d.ts +147 -0
  703. package/dist/types/services/items/schemas/invMastLinks.d.ts.map +1 -0
  704. package/dist/types/services/items/schemas/invMastSimilar.d.ts +127 -0
  705. package/dist/types/services/items/schemas/invMastSimilar.d.ts.map +1 -0
  706. package/dist/types/services/items/schemas/invMastSub.d.ts +127 -0
  707. package/dist/types/services/items/schemas/invMastSub.d.ts.map +1 -0
  708. package/dist/types/services/items/schemas/invMastSubParts.d.ts +187 -0
  709. package/dist/types/services/items/schemas/invMastSubParts.d.ts.map +1 -0
  710. package/dist/types/services/items/schemas/itemFavorites.d.ts +236 -0
  711. package/dist/types/services/items/schemas/itemFavorites.d.ts.map +1 -0
  712. package/dist/types/services/items/schemas/locationsBins.d.ts +381 -0
  713. package/dist/types/services/items/schemas/locationsBins.d.ts.map +1 -0
  714. package/dist/types/services/legacy/client.d.ts +522 -280
  715. package/dist/types/services/legacy/client.d.ts.map +1 -1
  716. package/dist/types/services/nexus/client.d.ts +169 -156
  717. package/dist/types/services/nexus/client.d.ts.map +1 -1
  718. package/dist/types/services/open-search/client.d.ts +434 -162
  719. package/dist/types/services/open-search/client.d.ts.map +1 -1
  720. package/dist/types/services/{pricing/schemas/health.d.ts → open-search/schemas/healthCheck.d.ts} +19 -49
  721. package/dist/types/services/open-search/schemas/healthCheck.d.ts.map +1 -0
  722. package/dist/types/services/open-search/schemas/index.d.ts +5 -0
  723. package/dist/types/services/open-search/schemas/index.d.ts.map +1 -1
  724. package/dist/types/services/open-search/schemas/itemSearch.d.ts +394 -0
  725. package/dist/types/services/open-search/schemas/itemSearch.d.ts.map +1 -0
  726. package/dist/types/services/open-search/schemas/itemSearchAttributes.d.ts +359 -0
  727. package/dist/types/services/open-search/schemas/itemSearchAttributes.d.ts.map +1 -0
  728. package/dist/types/services/open-search/schemas/itemsRefresh.d.ts +512 -0
  729. package/dist/types/services/open-search/schemas/itemsRefresh.d.ts.map +1 -0
  730. package/dist/types/services/open-search/schemas/ping.d.ts +57 -0
  731. package/dist/types/services/open-search/schemas/ping.d.ts.map +1 -0
  732. package/dist/types/services/orders/client.d.ts +496 -646
  733. package/dist/types/services/orders/client.d.ts.map +1 -1
  734. package/dist/types/services/orders/schemas/invoices.d.ts +10 -10
  735. package/dist/types/services/p21-apis/client.d.ts +311 -534
  736. package/dist/types/services/p21-apis/client.d.ts.map +1 -1
  737. package/dist/types/services/p21-apis/schemas.d.ts +9 -78
  738. package/dist/types/services/p21-apis/schemas.d.ts.map +1 -1
  739. package/dist/types/services/p21-core/client.d.ts +111 -75
  740. package/dist/types/services/p21-core/client.d.ts.map +1 -1
  741. package/dist/types/services/p21-pim/client.d.ts +163 -37
  742. package/dist/types/services/p21-pim/client.d.ts.map +1 -1
  743. package/dist/types/services/p21-pim/schemas/ai-suggestions.d.ts +6 -6
  744. package/dist/types/services/p21-pim/schemas/ai-suggestions.d.ts.map +1 -1
  745. package/dist/types/services/p21-pim/schemas/inventory.d.ts +32 -32
  746. package/dist/types/services/p21-sism/client.d.ts +315 -261
  747. package/dist/types/services/p21-sism/client.d.ts.map +1 -1
  748. package/dist/types/services/pricing/client.d.ts +289 -59
  749. package/dist/types/services/pricing/client.d.ts.map +1 -1
  750. package/dist/types/services/pricing/schemas/healthCheck.d.ts +70 -0
  751. package/dist/types/services/pricing/schemas/healthCheck.d.ts.map +1 -0
  752. package/dist/types/services/pricing/schemas/index.d.ts +6 -4
  753. package/dist/types/services/pricing/schemas/index.d.ts.map +1 -1
  754. package/dist/types/services/pricing/schemas/jobPriceHdr.d.ts +391 -0
  755. package/dist/types/services/pricing/schemas/jobPriceHdr.d.ts.map +1 -0
  756. package/dist/{esm/services/pricing/schemas/job-pricing.d.ts → types/services/pricing/schemas/jobPriceHdrLines.d.ts} +1 -390
  757. package/dist/types/services/pricing/schemas/jobPriceHdrLines.d.ts.map +1 -0
  758. package/dist/types/services/pricing/schemas/ping.d.ts +49 -0
  759. package/dist/types/services/pricing/schemas/ping.d.ts.map +1 -0
  760. package/dist/{esm/services/pricing/schemas/pricing.d.ts → types/services/pricing/schemas/priceEngine.d.ts} +1 -1
  761. package/dist/types/services/pricing/schemas/priceEngine.d.ts.map +1 -0
  762. package/dist/{esm/services/pricing/schemas/tax.d.ts → types/services/pricing/schemas/taxEngine.d.ts} +1 -1
  763. package/dist/types/services/pricing/schemas/taxEngine.d.ts.map +1 -0
  764. package/dist/types/services/shipping/client.d.ts +47 -110
  765. package/dist/types/services/shipping/client.d.ts.map +1 -1
  766. package/dist/types/services/shipping/index.d.ts +2 -2
  767. package/dist/types/services/shipping/index.d.ts.map +1 -1
  768. package/dist/types/services/shipping/schemas/healthCheck.d.ts +118 -0
  769. package/dist/types/services/shipping/schemas/healthCheck.d.ts.map +1 -0
  770. package/dist/types/services/shipping/schemas/index.d.ts +5 -0
  771. package/dist/types/services/shipping/schemas/index.d.ts.map +1 -0
  772. package/dist/types/services/shipping/{schemas.d.ts → schemas/rates.d.ts} +1 -117
  773. package/dist/{esm/services/shipping/schemas.d.ts.map → types/services/shipping/schemas/rates.d.ts.map} +1 -1
  774. package/dist/types/services/slack/client.d.ts +289 -260
  775. package/dist/types/services/slack/client.d.ts.map +1 -1
  776. package/dist/types/services/slack/index.d.ts +2 -2
  777. package/dist/types/services/slack/index.d.ts.map +1 -1
  778. package/dist/types/services/slack/schemas/healthCheck.d.ts +138 -0
  779. package/dist/types/services/slack/schemas/healthCheck.d.ts.map +1 -0
  780. package/dist/types/services/slack/schemas/index.d.ts +4 -0
  781. package/dist/types/services/slack/schemas/index.d.ts.map +1 -0
  782. package/dist/{cjs/services/slack/schemas.d.ts → types/services/slack/schemas/webHook.d.ts} +3 -298
  783. package/dist/types/services/slack/schemas/webHook.d.ts.map +1 -0
  784. package/dist/types/services/slack/schemas/webHookRefresh.d.ts +161 -0
  785. package/dist/types/services/slack/schemas/webHookRefresh.d.ts.map +1 -0
  786. package/dist/types/services/smarty-streets/client.d.ts +238 -214
  787. package/dist/types/services/smarty-streets/client.d.ts.map +1 -1
  788. package/dist/types/services/smarty-streets/index.d.ts +2 -2
  789. package/dist/types/services/smarty-streets/index.d.ts.map +1 -1
  790. package/dist/types/services/smarty-streets/schemas/healthCheck.d.ts +140 -0
  791. package/dist/types/services/smarty-streets/schemas/healthCheck.d.ts.map +1 -0
  792. package/dist/types/services/smarty-streets/schemas/index.d.ts +7 -0
  793. package/dist/types/services/smarty-streets/schemas/index.d.ts.map +1 -0
  794. package/dist/types/services/smarty-streets/schemas/ping.d.ts +120 -0
  795. package/dist/types/services/smarty-streets/schemas/ping.d.ts.map +1 -0
  796. package/dist/types/services/smarty-streets/{schemas.d.ts → schemas/usLookup.d.ts} +11 -262
  797. package/dist/types/services/smarty-streets/schemas/usLookup.d.ts.map +1 -0
  798. package/dist/types/services/ups/client.d.ts +65 -95
  799. package/dist/types/services/ups/client.d.ts.map +1 -1
  800. package/dist/types/services/ups/schemas/healthCheck.d.ts +138 -0
  801. package/dist/types/services/ups/schemas/healthCheck.d.ts.map +1 -0
  802. package/dist/types/services/ups/schemas/index.d.ts +5 -0
  803. package/dist/types/services/ups/schemas/index.d.ts.map +1 -0
  804. package/dist/types/services/ups/schemas/ratesShop.d.ts +1751 -0
  805. package/dist/types/services/ups/schemas/ratesShop.d.ts.map +1 -0
  806. package/dist/types/services/ups/schemas.d.ts +4 -1886
  807. package/dist/types/services/ups/schemas.d.ts.map +1 -1
  808. package/dist/types/services/vmi/client.d.ts +605 -550
  809. package/dist/types/services/vmi/client.d.ts.map +1 -1
  810. package/package.json +3 -1
  811. package/dist/cjs/services/pricing/schemas/health.d.ts.map +0 -1
  812. package/dist/cjs/services/pricing/schemas/health.js.map +0 -1
  813. package/dist/cjs/services/pricing/schemas/job-pricing.d.ts.map +0 -1
  814. package/dist/cjs/services/pricing/schemas/job-pricing.js.map +0 -1
  815. package/dist/cjs/services/pricing/schemas/pricing.d.ts.map +0 -1
  816. package/dist/cjs/services/pricing/schemas/pricing.js.map +0 -1
  817. package/dist/cjs/services/pricing/schemas/tax.d.ts.map +0 -1
  818. package/dist/cjs/services/pricing/schemas/tax.js.map +0 -1
  819. package/dist/cjs/services/shipping/schemas.js.map +0 -1
  820. package/dist/cjs/services/slack/schemas.d.ts.map +0 -1
  821. package/dist/cjs/services/slack/schemas.js.map +0 -1
  822. package/dist/cjs/services/smarty-streets/schemas.d.ts.map +0 -1
  823. package/dist/cjs/services/smarty-streets/schemas.js.map +0 -1
  824. package/dist/esm/services/pricing/schemas/health.d.ts.map +0 -1
  825. package/dist/esm/services/pricing/schemas/health.js +0 -4
  826. package/dist/esm/services/pricing/schemas/health.js.map +0 -1
  827. package/dist/esm/services/pricing/schemas/job-pricing.d.ts.map +0 -1
  828. package/dist/esm/services/pricing/schemas/job-pricing.js.map +0 -1
  829. package/dist/esm/services/pricing/schemas/pricing.d.ts.map +0 -1
  830. package/dist/esm/services/pricing/schemas/pricing.js.map +0 -1
  831. package/dist/esm/services/pricing/schemas/tax.d.ts.map +0 -1
  832. package/dist/esm/services/pricing/schemas/tax.js.map +0 -1
  833. package/dist/esm/services/shipping/schemas.js.map +0 -1
  834. package/dist/esm/services/slack/schemas.d.ts.map +0 -1
  835. package/dist/esm/services/slack/schemas.js.map +0 -1
  836. package/dist/esm/services/smarty-streets/schemas.d.ts.map +0 -1
  837. package/dist/esm/services/smarty-streets/schemas.js.map +0 -1
  838. package/dist/types/services/pricing/schemas/health.d.ts.map +0 -1
  839. package/dist/types/services/pricing/schemas/job-pricing.d.ts.map +0 -1
  840. package/dist/types/services/pricing/schemas/pricing.d.ts.map +0 -1
  841. package/dist/types/services/pricing/schemas/tax.d.ts.map +0 -1
  842. package/dist/types/services/slack/schemas.d.ts.map +0 -1
  843. package/dist/types/services/smarty-streets/schemas.d.ts.map +0 -1
@@ -7,22 +7,27 @@ HealthCheckResponseSchema, PingResponseSchema,
7
7
  // Product schemas
8
8
  ProductSearchParamsSchema, ProductListParamsSchema, ProductLookupParamsSchema, ProductResponseSchema, ProductListResponseSchema, ProductLookupResponseSchema, AccessoryListResponseSchema, BinInfoListResponseSchema,
9
9
  // Category schemas
10
- CategoryDetailsParamsSchema, CategoryItemsParamsSchema, CategoryListParamsSchema, CategoryLookupParamsSchema, CategoryResponseSchema, CategoryListResponseSchema, CategoryLookupResponseSchema, CategoryPreCacheResponseSchema, CategoryItemsResponseSchema, CategoryAttributesResponseSchema, CategoryFiltersResponseSchema, CategoryImagesResponseSchema,
10
+ CategoryDetailsParamsSchema, CategoryItemsParamsSchema, CategoryListParamsSchema, CategoryLookupParamsSchema, CategoryResponseSchema, CategoryListResponseSchema, CategoryLookupResponseSchema, CategoryItemsResponseSchema, CategoryAttributesResponseSchema, CategoryImagesResponseSchema,
11
11
  // Attribute schemas
12
12
  CreateAttributeRequestSchema, UpdateAttributeRequestSchema, AttributeResponseSchema, AttributeListResponseSchema, AttributeValueListResponseSchema,
13
13
  // Attribute Group schemas
14
14
  CreateAttributeGroupRequestSchema, UpdateAttributeGroupRequestSchema, AttributeGroupListParamsSchema, AttributeGroupResponseSchema, AttributeGroupListResponseSchema,
15
15
  // Stock schemas
16
+ // Note: GetStock schemas still used by invMast.stock endpoint
16
17
  GetStockParamsSchema, GetStockResponseSchema,
17
18
  // Brand schemas
18
19
  CreateBrandRequestSchema, UpdateBrandRequestSchema, BrandListParamsSchema, BrandResponseSchema, BrandListResponseSchema,
19
20
  // Alternate Code schemas
21
+ AlternateCodeListResponseSchema, AlternateCodeListParamsSchema,
20
22
  // Item attribute value schemas
21
23
  CreateItemAttributeValueRequestSchema, ItemAttributeValueListResponseSchema, ItemAttributeValueResponseSchema,
22
- // Favorites schemas
23
- CreateItemFavoriteRequestSchema, UpdateItemFavoriteRequestSchema, ItemFavoritesListParamsSchema, ItemFavoriteResponseSchema, ItemFavoriteListResponseSchema,
24
+ // Favorites schemas - unused imports removed for OpenAPI compliance
25
+ // New missing implementation schemas
26
+ InternalPdfResponseSchema,
24
27
  // Wishlists schemas
25
- CreateItemWishlistHeaderRequestSchema, UpdateItemWishlistHeaderRequestSchema, CreateItemWishlistLineRequestSchema, UpdateItemWishlistLineRequestSchema, ItemWishlistListParamsSchema, ItemWishlistLineListParamsSchema, ItemWishlistHeaderResponseSchema, ItemWishlistHeaderListResponseSchema, ItemWishlistLineResponseSchema, ItemWishlistLineListResponseSchema,
28
+ CreateItemWishlistHeaderRequestSchema,
29
+ // Note: Removed unused schemas for methods removed for OpenAPI compliance
30
+ ItemWishlistHeaderResponseSchema, ItemWishlistHeaderListResponseSchema, ItemWishlistLineResponseSchema,
26
31
  // Variants schemas
27
32
  CreateItemVariantHeaderRequestSchema, UpdateItemVariantHeaderRequestSchema, CreateItemVariantLineRequestSchema, UpdateItemVariantLineRequestSchema, ItemVariantListParamsSchema, ItemVariantHeaderResponseSchema, ItemVariantHeaderListResponseSchema, ItemVariantLineResponseSchema, ItemVariantLineListResponseSchema,
28
33
  // FAQ schemas
@@ -34,7 +39,9 @@ CreateProductLinkRequestSchema, UpdateProductLinkRequestSchema, ProductLinkListP
34
39
  // Sub-parts schemas
35
40
  CreateSubPartRequestSchema, UpdateSubPartRequestSchema, SubPartListParamsSchema, SubPartResponseSchema, SubPartListResponseSchema,
36
41
  // Bins schemas
37
- CreateBinRequestSchema, UpdateBinRequestSchema, BinListParamsSchema, InventoryLocationBinListParamsSchema, BinResponseSchema, BinListResponseSchema, InventoryLocationBinListResponseSchema, } from './schemas';
42
+ CreateBinRequestSchema, UpdateBinRequestSchema, BinResponseSchema, LocationsBinsParamsSchema, LocationsBinsResponseSchema,
43
+ // New OpenAPI endpoint schemas
44
+ InvMastLinksResponseSchema, InvMastSubPartsParamsSchema, InvMastSubPartsResponseSchema, ItemFavoritesListResponseSchema, ItemFavoritesItemResponseSchema, } from './schemas';
38
45
  /**
39
46
  * Items API Client
40
47
  * @description Client for interacting with Items microservice API endpoints for comprehensive product catalog, inventory, categories, and attributes management
@@ -68,7 +75,7 @@ CreateBinRequestSchema, UpdateBinRequestSchema, BinListParamsSchema, InventoryLo
68
75
  *
69
76
  * // Get category with items
70
77
  * const category = await items.categories.get(100);
71
- * const categoryItems = await items.categories.getItems(100, { limit: 12 });
78
+ * const categoryItems = await items.categories.item.list(100);
72
79
  * ```
73
80
  */
74
81
  export class ItemsClient extends BaseServiceClient {
@@ -84,19 +91,22 @@ export class ItemsClient extends BaseServiceClient {
84
91
  * @description Methods for product management including search, details, alternate codes, and accessories
85
92
  */
86
93
  /**
87
- * Category management endpoints
88
- * @description Methods for hierarchical product categorization including category details, items, attributes, and filtering
94
+ * Item Category management endpoints
95
+ * @description Methods for /item-category/* paths following OpenAPI Path Mirroring Pattern
89
96
  */
90
- this.categories = {
97
+ this.itemCategory = {
91
98
  /**
92
- * List all categories with filtering and pagination
93
- * @description Retrieve a paginated list of categories with filtering options
99
+ * List all item categories with filtering and pagination
100
+ * @description Retrieve a paginated list of item categories with filtering options
101
+ * @fullPath api.items.itemCategory.list
102
+ * @service items
103
+ * @domain inventory-management
94
104
  * @param params Optional filtering and pagination parameters
95
- * @returns Array of category entities
105
+ * @returns Array of item category entities
96
106
  * @throws ValidationError When parameters are invalid or response is malformed
97
107
  * @example
98
108
  * ```typescript
99
- * const categories = await client.categories.list({
109
+ * const categories = await client.itemCategory.list({
100
110
  * displayOnWebFlag: 'Y',
101
111
  * limit: 50
102
112
  * });
@@ -111,257 +121,267 @@ export class ItemsClient extends BaseServiceClient {
111
121
  }, params);
112
122
  },
113
123
  /**
114
- * Lookup category with hierarchical structure
115
- * @description Retrieve category with subcategories in hierarchical structure
116
- * @param params Lookup parameters including category UID or ID
117
- * @returns Category with subcategories
118
- * @throws ValidationError When parameters are invalid or response is malformed
124
+ * Get item category details by ID
125
+ * @description Retrieve comprehensive item category information
126
+ * @fullPath api.items.itemCategory.get
127
+ * @service items
128
+ * @domain inventory-management
129
+ * @param itemCategoryUid Item category unique identifier
130
+ * @returns Complete item category details
131
+ * @throws ValidationError When response is malformed
119
132
  * @example
120
133
  * ```typescript
121
- * const categoryLookup = await client.categories.lookup({
122
- * itemCategoryUid: 100,
123
- * includeSubCategories: true
124
- * });
134
+ * const category = await client.itemCategory.get(100);
135
+ * console.log(category.data.itemCategoryDesc);
125
136
  * ```
126
137
  */
127
- lookup: async (params) => {
138
+ get: async (itemCategoryUid) => {
128
139
  return this.executeRequest({
129
140
  method: 'GET',
130
- path: '/item-category/lookup',
131
- paramsSchema: CategoryLookupParamsSchema,
132
- responseSchema: CategoryLookupResponseSchema,
133
- }, params);
141
+ path: '/item-category/{itemCategoryUid}',
142
+ responseSchema: CategoryResponseSchema,
143
+ }, undefined, { itemCategoryUid: String(itemCategoryUid) });
134
144
  },
135
145
  /**
136
- * Pre-cache a single category
137
- * @description Trigger pre-caching for a specific category to improve response times
138
- * @param itemCategoryUid Category unique identifier
139
- * @returns Boolean indicating if pre-cache was queued successfully
140
- * @throws ValidationError When response is malformed
141
- * @example
142
- * ```typescript
143
- * const cached = await client.categories.preCache(100);
144
- * if (cached.data) {
145
- * console.log('Category pre-cache queued successfully');
146
- * }
147
- * ```
146
+ * Item category lookup - Direct path mapping to /item-category/lookup
147
+ * @description OpenAPI Path Mirroring: /item-category/lookup itemCategory.lookup.get()
148
148
  */
149
- preCache: async (itemCategoryUid) => {
150
- return this.executeRequest({
151
- method: 'GET',
152
- path: '/item-category/{id}/precache',
153
- responseSchema: CategoryPreCacheResponseSchema,
154
- }, undefined, { id: String(itemCategoryUid) });
149
+ lookup: {
150
+ /**
151
+ * Lookup item category with hierarchical structure
152
+ * @description Retrieve item category with subcategories in hierarchical structure
153
+ * @fullPath api.items.itemCategory.lookup.get
154
+ * @service items
155
+ * @domain inventory-management
156
+ * @param params Lookup parameters
157
+ * @returns Item category with hierarchical structure
158
+ * @throws ValidationError When parameters are invalid or response is malformed
159
+ * @example
160
+ * ```typescript
161
+ * const categoryLookup = await client.itemCategory.lookup.get();
162
+ * ```
163
+ */
164
+ get: async (params) => {
165
+ return this.executeRequest({
166
+ method: 'GET',
167
+ path: '/item-category/lookup',
168
+ paramsSchema: CategoryLookupParamsSchema,
169
+ responseSchema: CategoryLookupResponseSchema,
170
+ }, params);
171
+ },
172
+ },
173
+ /**
174
+ * Item category documentation - Direct path mapping to /item-category/{itemCategoryUid}/doc
175
+ * @description OpenAPI Path Mirroring: /item-category/{itemCategoryUid}/doc → itemCategory.doc.get()
176
+ */
177
+ doc: {
178
+ /**
179
+ * Get item category documentation
180
+ * @description Retrieve documentation for a specific item category
181
+ * @fullPath api.items.itemCategory.doc.get
182
+ * @service items
183
+ * @domain inventory-management
184
+ * @param itemCategoryUid Item category unique identifier
185
+ * @returns Item category documentation
186
+ * @throws ValidationError When response is malformed
187
+ * @example
188
+ * ```typescript
189
+ * const docs = await client.itemCategory.doc.get(100);
190
+ * ```
191
+ */
192
+ get: async (itemCategoryUid) => {
193
+ return this.executeRequest({
194
+ method: 'GET',
195
+ path: '/item-category/{itemCategoryUid}/doc',
196
+ responseSchema: CategoryResponseSchema,
197
+ }, undefined, { itemCategoryUid: String(itemCategoryUid) });
198
+ },
155
199
  },
200
+ };
201
+ /**
202
+ * Category management endpoints
203
+ * @description Methods for /categories/* paths following OpenAPI Path Mirroring Pattern
204
+ */
205
+ this.categories = {
156
206
  /**
157
- * Get category details by ID or path
158
- * @description Retrieve comprehensive category information including children, attributes, and metadata
207
+ * Get category details by ID
208
+ * @description Retrieve comprehensive category information
159
209
  * @fullPath api.items.categories.get
160
210
  * @service items
161
211
  * @domain inventory-management
162
- * @dataMethod categoriesData.get
163
- * @discoverable true
164
- * @searchTerms ["category details", "category info", "category by id", "category lookup", "hierarchical categories"]
165
- * @relatedEndpoints ["api.items.categories.getItems", "api.items.categories.list", "api.items.categories.getAttributes", "api.opensearch.categories"]
166
- * @commonPatterns ["Category navigation", "Get category info", "Category detail page", "Hierarchical browsing"]
167
- * @workflow ["category-navigation", "product-browsing", "taxonomy-management"]
168
- * @prerequisites ["Valid category UID or path", "Category access permissions"]
169
- * @nextSteps ["api.items.categories.getItems", "api.items.categories.getAttributes", "api.items.categories.getFilters"]
170
- * @businessRules ["Returns category hierarchy", "Includes subcategories if requested", "Respects category visibility settings"]
171
- * @functionalArea "category-and-taxonomy-management"
172
- * @caching "Cache for 30 minutes, invalidate on category structure changes"
173
- * @performance "Optimized for category navigation, supports path-based lookups"
174
- * @param itemCategoryUid Category unique identifier (use 0 for path-based lookup)
175
- * @param params Optional parameters for path lookup, filtering, and children pagination
176
- * @returns Complete category details with children and attributes
177
- * @throws ValidationError When parameters are invalid or response is malformed
212
+ * @param itemCategoryUid Category unique identifier
213
+ * @returns Complete category details
214
+ * @throws ValidationError When response is malformed
178
215
  * @example
179
216
  * ```typescript
180
- * // Get category by ID
181
217
  * const category = await client.categories.get(100);
182
- * console.log(category.data.itemCategoryDesc, category.data.path);
183
- *
184
- * // Get category by path
185
- * const categoryByPath = await client.categories.get(0, {
186
- * path: '/Electronics/Cables'
187
- * });
188
- *
189
- * // Get category with filtered children
190
- * const categoryWithChildren = await client.categories.get(100, {
191
- * childrenLimit: 10,
192
- * childrenFilter: 'audio'
193
- * });
218
+ * console.log(category.data.itemCategoryDesc);
194
219
  * ```
195
220
  */
196
221
  get: async (itemCategoryUid, params) => {
197
222
  return this.executeRequest({
198
223
  method: 'GET',
199
- path: '/categories/{id}',
224
+ path: '/categories/{itemCategoryUid}',
200
225
  paramsSchema: CategoryDetailsParamsSchema,
201
226
  responseSchema: CategoryResponseSchema,
202
- }, params, { id: String(itemCategoryUid) });
227
+ }, params, { itemCategoryUid: String(itemCategoryUid) });
203
228
  },
204
229
  /**
205
- * Get items within a category
206
- * @description Retrieve items within a specific category with advanced filtering, sorting, and pagination
207
- * @param itemCategoryUid Category unique identifier
208
- * @param params Optional filtering, sorting, and pagination parameters
209
- * @returns Array of category items with optional stock information
210
- * @throws ValidationError When parameters are invalid or response is malformed
211
- * @example
212
- * ```typescript
213
- * // Get category items with basic pagination
214
- * const items = await client.categories.getItems(100, { limit: 12 });
215
- *
216
- * // Get items with filtering and stock information
217
- * const filteredItems = await client.categories.getItems(100, {
218
- * limit: 20,
219
- * sortBy: 'listPrice|ASC',
220
- * includeStock: 'Y',
221
- * displayOnWebFlag: 'Y',
222
- * filters: JSON.stringify([
223
- * { attributeId: 'color', values: ['red', 'blue'], operator: 'IN' }
224
- * ])
225
- * });
226
- *
227
- * // Search within category
228
- * const searchResults = await client.categories.getItems(100, {
229
- * q: 'wireless',
230
- * limit: 10
231
- * });
232
- * ```
230
+ * Category lookup - Direct path mapping to /categories/lookup
231
+ * @description OpenAPI Path Mirroring: /categories/lookup categories.lookup.get()
233
232
  */
234
- getItems: async (itemCategoryUid, params) => {
235
- return this.executeRequest({
236
- method: 'GET',
237
- path: '/categories/{id}/items',
238
- paramsSchema: CategoryItemsParamsSchema,
239
- responseSchema: CategoryItemsResponseSchema,
240
- }, params, { id: String(itemCategoryUid) });
233
+ lookup: {
234
+ /**
235
+ * Lookup category with hierarchical structure
236
+ * @description Retrieve category with subcategories in hierarchical structure
237
+ * @fullPath api.items.categories.lookup.get
238
+ * @service items
239
+ * @domain inventory-management
240
+ * @param params Lookup parameters
241
+ * @returns Category with subcategories
242
+ * @throws ValidationError When parameters are invalid or response is malformed
243
+ * @example
244
+ * ```typescript
245
+ * const categoryLookup = await client.categories.lookup.get();
246
+ * ```
247
+ */
248
+ get: async (params) => {
249
+ return this.executeRequest({
250
+ method: 'GET',
251
+ path: '/categories/lookup',
252
+ paramsSchema: CategoryLookupParamsSchema,
253
+ responseSchema: CategoryLookupResponseSchema,
254
+ }, params);
255
+ },
241
256
  },
242
257
  /**
243
- * Get attributes available for a category
244
- * @description Retrieve attributes available for filtering within a category
245
- * @param itemCategoryUid Category unique identifier
246
- * @returns Array of category attributes with their available values
247
- * @throws ValidationError When response is malformed
248
- * @example
249
- * ```typescript
250
- * const attributes = await client.categories.getAttributes(100);
251
- * attributes.data.forEach(attr => {
252
- * console.log(`${attr.attributeDesc}: ${attr.values?.join(', ')}`);
253
- * });
254
- * ```
258
+ * Category items - Direct path mapping to /categories/{itemCategoryUid}/item
259
+ * @description OpenAPI Path Mirroring: /categories/{itemCategoryUid}/item categories.item.list()
255
260
  */
256
- getAttributes: async (itemCategoryUid) => {
257
- return this.executeRequest({
258
- method: 'GET',
259
- path: '/categories/{id}/attributes',
260
- responseSchema: CategoryAttributesResponseSchema,
261
- }, undefined, { id: String(itemCategoryUid) });
261
+ item: {
262
+ /**
263
+ * List items within a category
264
+ * @description Retrieve items within a specific category
265
+ * @fullPath api.items.categories.item.list
266
+ * @service items
267
+ * @domain inventory-management
268
+ * @param itemCategoryUid Category unique identifier
269
+ * @returns Array of category items
270
+ * @throws ValidationError When response is malformed
271
+ * @example
272
+ * ```typescript
273
+ * const items = await client.categories.item.list(100);
274
+ * ```
275
+ */
276
+ list: async (itemCategoryUid) => {
277
+ return this.executeRequest({
278
+ method: 'GET',
279
+ path: '/categories/{itemCategoryUid}/item',
280
+ responseSchema: CategoryItemsResponseSchema,
281
+ }, undefined, { itemCategoryUid: String(itemCategoryUid) });
282
+ },
262
283
  },
263
284
  /**
264
- * Get available filter options for a category
265
- * @description Get available filter options for a category based on its items
266
- * @param itemCategoryUid Category unique identifier
267
- * @returns Array of filter options with values and counts
268
- * @throws ValidationError When response is malformed
269
- * @example
270
- * ```typescript
271
- * const filters = await client.categories.getFilters(100);
272
- * filters.data.forEach(filter => {
273
- * console.log(`${filter.attributeDesc}:`);
274
- * filter.values.forEach(value => {
275
- * console.log(` ${value.value} (${value.count})`);
276
- * });
277
- * });
278
- * ```
285
+ * Category attributes - Direct path mapping to /categories/{itemCategoryUid}/attributes
286
+ * @description OpenAPI Path Mirroring: /categories/{itemCategoryUid}/attributes categories.attributes.list()
279
287
  */
280
- getFilters: async (itemCategoryUid) => {
281
- return this.executeRequest({
282
- method: 'GET',
283
- path: '/categories/{id}/filters',
284
- responseSchema: CategoryFiltersResponseSchema,
285
- }, undefined, { id: String(itemCategoryUid) });
288
+ attributes: {
289
+ /**
290
+ * List attributes available for a category
291
+ * @description Retrieve attributes available for filtering within a category
292
+ * @fullPath api.items.categories.attributes.list
293
+ * @service items
294
+ * @domain inventory-management
295
+ * @param itemCategoryUid Category unique identifier
296
+ * @returns Array of category attributes with their available values
297
+ * @throws ValidationError When response is malformed
298
+ * @example
299
+ * ```typescript
300
+ * const attributes = await client.categories.attributes.list(100);
301
+ * attributes.data.forEach(attr => {
302
+ * console.log(`${attr.attributeDesc}: ${attr.values?.join(', ')}`);
303
+ * });
304
+ * ```
305
+ */
306
+ list: async (itemCategoryUid) => {
307
+ return this.executeRequest({
308
+ method: 'GET',
309
+ path: '/categories/{itemCategoryUid}/attributes',
310
+ responseSchema: CategoryAttributesResponseSchema,
311
+ }, undefined, { itemCategoryUid: String(itemCategoryUid) });
312
+ },
286
313
  },
287
314
  /**
288
- * Get images for a category
289
- * @description Retrieve images associated with a category
290
- * @param itemCategoryUid Category unique identifier
291
- * @returns Array of category images
292
- * @throws ValidationError When response is malformed
293
- * @example
294
- * ```typescript
295
- * const images = await client.categories.getImages(100);
296
- * images.data.forEach(image => {
297
- * console.log(`Image: ${image.imagePath} (${image.imageType})`);
298
- * });
299
- * ```
315
+ * Category images - Direct path mapping to /categories/{itemCategoryUid}/images
316
+ * @description OpenAPI Path Mirroring: /categories/{itemCategoryUid}/images categories.images.list()
300
317
  */
301
- getImages: async (itemCategoryUid) => {
302
- return this.executeRequest({
303
- method: 'GET',
304
- path: '/categories/{id}/images',
305
- responseSchema: CategoryImagesResponseSchema,
306
- }, undefined, { id: String(itemCategoryUid) });
318
+ images: {
319
+ /**
320
+ * List images for a category
321
+ * @description Retrieve images associated with a category
322
+ * @fullPath api.items.categories.images.list
323
+ * @service items
324
+ * @domain inventory-management
325
+ * @param itemCategoryUid Category unique identifier
326
+ * @returns Array of category images
327
+ * @throws ValidationError When response is malformed
328
+ * @example
329
+ * ```typescript
330
+ * const images = await client.categories.images.list(100);
331
+ * images.data.forEach(image => {
332
+ * console.log(`Image: ${image.imagePath} (${image.imageType})`);
333
+ * });
334
+ * ```
335
+ */
336
+ list: async (itemCategoryUid) => {
337
+ return this.executeRequest({
338
+ method: 'GET',
339
+ path: '/categories/{itemCategoryUid}/images',
340
+ responseSchema: CategoryImagesResponseSchema,
341
+ }, undefined, { itemCategoryUid: String(itemCategoryUid) });
342
+ },
307
343
  },
308
344
  };
309
345
  /**
310
- * Category data-only endpoints
311
- * @description Data-only methods that return just the data portion of category responses
346
+ * Item Category data-only endpoints
347
+ * @description Data-only methods that return just the data portion of item category responses
312
348
  */
313
- this.categoriesData = {
349
+ this.itemCategoryData = {
314
350
  /**
315
- * Get category details data only
316
- * @description Returns only the data portion of category details response
317
- * @fullPath api.items.categoriesData.get
318
- * @service items
319
- * @domain inventory-management
320
- * @discoverable true
321
- * @searchTerms ["category data", "category details data only"]
322
- * @relatedEndpoints ["api.items.categories.get"]
323
- * @commonPatterns ["Get category data without metadata"]
324
- * @param itemCategoryUid Category unique identifier
325
- * @param params Optional parameters
326
- * @returns Category data only
351
+ * Get item category details data only
352
+ * @description Returns only the data portion of item category details response
353
+ * @param itemCategoryUid Item category unique identifier
354
+ * @returns Item category data only
327
355
  */
328
- get: async (itemCategoryUid, params) => {
329
- const response = await this.categories.get(itemCategoryUid, params);
356
+ get: async (itemCategoryUid) => {
357
+ const response = await this.itemCategory.get(itemCategoryUid);
330
358
  return response.data;
331
359
  },
332
360
  /**
333
- * List categories data only
334
- * @description Returns only the data portion of category list response
335
- * @fullPath api.items.categoriesData.list
336
- * @service items
337
- * @domain inventory-management
338
- * @discoverable true
339
- * @searchTerms ["category list data", "categories data only"]
340
- * @relatedEndpoints ["api.items.categories.list"]
341
- * @commonPatterns ["List categories without metadata"]
361
+ * List item categories data only
362
+ * @description Returns only the data portion of item category list response
342
363
  * @param params Optional filtering parameters
343
- * @returns Category list data only
364
+ * @returns Item category list data only
344
365
  */
345
366
  list: async (params) => {
346
- const response = await this.categories.list(params);
367
+ const response = await this.itemCategory.list(params);
347
368
  return response.data;
348
369
  },
370
+ };
371
+ /**
372
+ * Category data-only endpoints
373
+ * @description Data-only methods that return just the data portion of category responses
374
+ */
375
+ this.categoriesData = {
349
376
  /**
350
- * Get category items data only
351
- * @description Returns only the data portion of category items response
352
- * @fullPath api.items.categoriesData.getItems
353
- * @service items
354
- * @domain inventory-management
355
- * @discoverable true
356
- * @searchTerms ["category items data", "items in category data only"]
357
- * @relatedEndpoints ["api.items.categories.getItems"]
358
- * @commonPatterns ["Get category items without metadata"]
377
+ * Get category details data only
378
+ * @description Returns only the data portion of category details response
359
379
  * @param itemCategoryUid Category unique identifier
360
- * @param params Optional filtering parameters
361
- * @returns Category items data only
380
+ * @param params Optional parameters
381
+ * @returns Category data only
362
382
  */
363
- getItems: async (itemCategoryUid, params) => {
364
- const response = await this.categories.getItems(itemCategoryUid, params);
383
+ get: async (itemCategoryUid, params) => {
384
+ const response = await this.categories.get(itemCategoryUid, params);
365
385
  return response.data;
366
386
  },
367
387
  };
@@ -404,7 +424,7 @@ export class ItemsClient extends BaseServiceClient {
404
424
  * console.log(attribute.attributeDesc, attribute.dataType, attribute.maxLength);
405
425
  * ```
406
426
  */
407
- get: this.createGetMethod('/attributes/{id}', AttributeResponseSchema),
427
+ get: this.createGetMethod('/attributes/{attributeUid}', AttributeResponseSchema),
408
428
  /**
409
429
  * Create a new attribute
410
430
  * @description Create a new attribute with specified properties
@@ -438,7 +458,7 @@ export class ItemsClient extends BaseServiceClient {
438
458
  * });
439
459
  * ```
440
460
  */
441
- update: this.createUpdateMethod('/attributes/{id}', UpdateAttributeRequestSchema, AttributeResponseSchema),
461
+ update: this.createUpdateMethod('/attributes/{attributeUid}', UpdateAttributeRequestSchema, AttributeResponseSchema),
442
462
  /**
443
463
  * Delete an attribute
444
464
  * @description Soft delete an attribute (sets status to inactive)
@@ -456,87 +476,319 @@ export class ItemsClient extends BaseServiceClient {
456
476
  delete: async (attributeUid) => {
457
477
  await this.executeRequest({
458
478
  method: 'DELETE',
459
- path: '/attributes/{id}',
479
+ path: '/attributes/{attributeUid}',
460
480
  responseSchema: z.undefined(),
461
- }, undefined, { id: String(attributeUid) });
481
+ }, undefined, { attributeUid: String(attributeUid) });
462
482
  return true;
463
483
  },
464
- };
465
- /**
466
- * Stock and location management endpoints
467
- * @description Methods for inventory stock information across locations
468
- */
469
- this.stock = {
470
- /**
471
- * Get comprehensive stock details for an item
472
- * @description Retrieve comprehensive stock information for an item across all locations with detailed calculations
473
- * @param invMastUid Inventory master unique identifier
474
- * @param params Optional parameters for filtering and including additional data
475
- * @returns Stock details with location breakdown and company summary
476
- * @throws ValidationError When response is malformed
477
- * @example
478
- * ```typescript
479
- * const stockInfo = await client.stock.getDetails(12345);
480
- * console.log('Company Summary:', stockInfo.data.companySummary);
481
- *
482
- * stockInfo.data.stockData.forEach(location => {
483
- * console.log(`Location ${location.locationName}: ${location.qtyOnHand} on hand, ${location.qtyAvailable} available`);
484
- * console.log(` Calculated: ${location.calcQtyOnHand} (${location.defaultSellingUnit})`);
485
- * });
486
- * ```
487
- */
488
- getDetails: async (invMastUid, params) => {
489
- return this.executeRequest({
490
- method: 'GET',
491
- path: '/inv-loc/{id}/stock',
492
- paramsSchema: GetStockParamsSchema,
493
- responseSchema: GetStockResponseSchema,
494
- }, params, { id: String(invMastUid) });
495
- },
496
- };
497
- /**
498
- * Brand management endpoints
499
- * @description Methods for managing product brands including CRUD operations
500
- */
501
- this.brands = {
502
- /**
503
- * List all brands
504
- * @description Retrieve a paginated list of brands with filtering options
505
- * @param params Optional filtering and pagination parameters
506
- * @returns Array of brands
507
- * @throws ValidationError When parameters are invalid or response is malformed
508
- * @example
509
- * ```typescript
510
- * const brands = await client.brands.list({ limit: 50, statusCd: 704 });
511
- * brands.data.forEach(brand => {
512
- * console.log(`${brand.brandsId}: ${brand.brandsName}`);
513
- * });
514
- * ```
515
- */
516
- list: async (params) => {
517
- return this.executeRequest({
518
- method: 'GET',
519
- path: '/brands',
520
- paramsSchema: BrandListParamsSchema,
521
- responseSchema: BrandListResponseSchema,
522
- }, params);
523
- },
524
484
  /**
525
- * Get brand details by ID
526
- * @description Retrieve details for a specific brand
527
- * @param brandsUid Brand unique identifier
528
- * @returns Brand details
529
- * @throws ValidationError When response is malformed
530
- * @example
531
- * ```typescript
532
- * const brand = await client.brands.get(123);
533
- * console.log(brand.data.brandsName, brand.data.brandsDesc);
534
- * ```
485
+ * Attribute values - Direct path mapping to /attributes/{attributeUid}/values
486
+ * @description OpenAPI Path Mirroring: /attributes/{attributeUid}/values attributes.values.*
535
487
  */
536
- get: this.createGetMethod('/brands/{id}', BrandResponseSchema),
537
- /**
538
- * Create a new brand
539
- * @description Create a new brand with specified properties
488
+ values: {
489
+ /**
490
+ * List attribute values for a specific attribute
491
+ * @description Retrieve all values for an attribute
492
+ * @fullPath api.items.attributes.values.list
493
+ * @service items
494
+ * @domain attribute-management
495
+ * @dataMethod attributesValuesData.list
496
+ * @discoverable true
497
+ * @searchTerms ["attribute values", "attribute options", "value list", "attribute choices"]
498
+ * @relatedEndpoints ["api.items.attributes.list", "api.items.attributeGroups.attributes.list"]
499
+ * @commonPatterns ["List available values for an attribute", "Manage attribute options"]
500
+ * @workflow ["attribute-management", "value-management"]
501
+ * @prerequisites ["Valid authentication token", "Attribute management permissions", "Attribute must exist"]
502
+ * @nextSteps ["Create new values", "Edit value details", "Associate with products"]
503
+ * @businessRules ["Values define available options for attributes", "Can be used across multiple products"]
504
+ * @functionalArea "attribute-and-value-management"
505
+ * @caching "Standard pagination caching"
506
+ * @performance "Use pagination for attributes with many values"
507
+ * @param attributeUid Attribute unique identifier
508
+ * @param params Optional pagination parameters
509
+ * @returns Array of attribute values
510
+ * @throws ValidationError When parameters are invalid or response is malformed
511
+ * @example
512
+ * ```typescript
513
+ * const values = await client.attributes.values.list(123);
514
+ * values.data.forEach(value => {
515
+ * console.log(`${value.attributeValueId}: ${value.value}`);
516
+ * });
517
+ * ```
518
+ */
519
+ list: async (attributeUid, params) => {
520
+ return this.executeRequest({
521
+ method: 'GET',
522
+ path: '/attributes/{attributeUid}/values',
523
+ paramsSchema: StandardPaginationParamsSchema,
524
+ responseSchema: AttributeValueListResponseSchema,
525
+ }, params, { attributeUid: String(attributeUid) });
526
+ },
527
+ /**
528
+ * Get specific attribute value details
529
+ * @description Retrieve details for a specific attribute value
530
+ * @fullPath api.items.attributes.values.get
531
+ * @service items
532
+ * @domain attribute-management
533
+ * @dataMethod attributesValuesData.get
534
+ * @discoverable true
535
+ * @searchTerms ["attribute value details", "specific value", "value information"]
536
+ * @relatedEndpoints ["api.items.attributes.values.list", "api.items.attributes.get"]
537
+ * @commonPatterns ["Get value details", "View value information"]
538
+ * @workflow ["attribute-management", "value-details"]
539
+ * @prerequisites ["Valid authentication token", "Attribute management permissions", "Value must exist"]
540
+ * @nextSteps ["Update value", "Delete value", "Use in product associations"]
541
+ * @businessRules ["Value belongs to specific attribute", "Includes display and internal values"]
542
+ * @functionalArea "attribute-and-value-management"
543
+ * @caching "Standard detail caching"
544
+ * @performance "Direct lookup by ID"
545
+ * @param attributeUid Attribute unique identifier
546
+ * @param attributeValueUid Attribute value unique identifier
547
+ * @returns Attribute value details
548
+ * @throws ValidationError When response is malformed
549
+ * @example
550
+ * ```typescript
551
+ * const value = await client.attributes.values.get(123, 456);
552
+ * console.log(value.data.value, value.data.displayValue);
553
+ * ```
554
+ */
555
+ get: async (attributeUid, attributeValueUid) => {
556
+ return this.executeRequest({
557
+ method: 'GET',
558
+ path: '/attributes/{attributeUid}/values/{attributeValueUid}',
559
+ responseSchema: z.object({
560
+ count: z.number(),
561
+ data: z.object({
562
+ attributeValueUid: z.number(),
563
+ attributeUid: z.number(),
564
+ value: z.string(),
565
+ displayValue: z.string().optional(),
566
+ sequenceNo: z.number().optional(),
567
+ }),
568
+ message: z.string(),
569
+ options: z.any(),
570
+ params: z.any(),
571
+ status: z.number(),
572
+ total: z.number(),
573
+ totalResults: z.number(),
574
+ }),
575
+ }, undefined, {
576
+ attributeUid: String(attributeUid),
577
+ attributeValueUid: String(attributeValueUid),
578
+ });
579
+ },
580
+ /**
581
+ * Create new attribute value
582
+ * @description Create a new value for an attribute
583
+ * @fullPath api.items.attributes.values.create
584
+ * @service items
585
+ * @domain attribute-management
586
+ * @dataMethod attributesValuesData.create
587
+ * @discoverable true
588
+ * @searchTerms ["create attribute value", "add value", "new attribute option"]
589
+ * @relatedEndpoints ["api.items.attributes.values.list", "api.items.attributes.get"]
590
+ * @commonPatterns ["Add new attribute option", "Expand attribute choices"]
591
+ * @workflow ["attribute-management", "value-creation"]
592
+ * @prerequisites ["Valid authentication token", "Attribute management permissions", "Attribute must exist"]
593
+ * @nextSteps ["List updated values", "Use in products"]
594
+ * @businessRules ["Value must be unique within attribute", "Display value enhances user experience"]
595
+ * @functionalArea "attribute-and-value-management"
596
+ * @caching "Invalidates attribute cache"
597
+ * @performance "Direct creation operation"
598
+ * @param attributeUid Attribute unique identifier
599
+ * @param request Attribute value data
600
+ * @returns Created attribute value information
601
+ * @throws ValidationError When request is invalid or response is malformed
602
+ * @example
603
+ * ```typescript
604
+ * const value = await client.attributes.values.create(123, {
605
+ * value: 'Blue',
606
+ * displayValue: 'Royal Blue',
607
+ * sequenceNo: 10
608
+ * });
609
+ * ```
610
+ */
611
+ create: async (attributeUid, request) => {
612
+ return this.executeRequest({
613
+ method: 'POST',
614
+ path: '/attributes/{attributeUid}/values',
615
+ paramsSchema: z.object({
616
+ value: z.string(),
617
+ displayValue: z.string().optional(),
618
+ sequenceNo: z.number().optional(),
619
+ }),
620
+ responseSchema: z.object({
621
+ count: z.number(),
622
+ data: z.object({
623
+ attributeValueUid: z.number(),
624
+ attributeUid: z.number(),
625
+ value: z.string(),
626
+ displayValue: z.string().optional(),
627
+ sequenceNo: z.number().optional(),
628
+ }),
629
+ message: z.string(),
630
+ options: z.any(),
631
+ params: z.any(),
632
+ status: z.number(),
633
+ total: z.number(),
634
+ totalResults: z.number(),
635
+ }),
636
+ }, request, { attributeUid: String(attributeUid) });
637
+ },
638
+ /**
639
+ * Update existing attribute value
640
+ * @description Update an existing attribute value
641
+ * @fullPath api.items.attributes.values.update
642
+ * @service items
643
+ * @domain attribute-management
644
+ * @dataMethod attributesValuesData.update
645
+ * @discoverable true
646
+ * @searchTerms ["update attribute value", "modify value", "edit attribute option"]
647
+ * @relatedEndpoints ["api.items.attributes.values.get", "api.items.attributes.values.list"]
648
+ * @commonPatterns ["Update value details", "Modify attribute options"]
649
+ * @workflow ["attribute-management", "value-maintenance"]
650
+ * @prerequisites ["Valid authentication token", "Attribute management permissions", "Value must exist"]
651
+ * @nextSteps ["Verify changes", "Update product associations if needed"]
652
+ * @businessRules ["Cannot change core value without affecting products", "Display value changes are safe"]
653
+ * @functionalArea "attribute-and-value-management"
654
+ * @caching "Invalidates attribute cache"
655
+ * @performance "Direct update operation"
656
+ * @param attributeUid Attribute unique identifier
657
+ * @param attributeValueUid Attribute value unique identifier
658
+ * @param request Update data
659
+ * @returns Updated attribute value information
660
+ * @throws ValidationError When request is invalid or response is malformed
661
+ * @example
662
+ * ```typescript
663
+ * const updated = await client.attributes.values.update(123, 456, {
664
+ * displayValue: 'Deep Royal Blue',
665
+ * sequenceNo: 15
666
+ * });
667
+ * ```
668
+ */
669
+ update: async (attributeUid, attributeValueUid, request) => {
670
+ return this.executeRequest({
671
+ method: 'PUT',
672
+ path: '/attributes/{attributeUid}/values/{attributeValueUid}',
673
+ paramsSchema: z.object({
674
+ value: z.string().optional(),
675
+ displayValue: z.string().optional(),
676
+ sequenceNo: z.number().optional(),
677
+ }),
678
+ responseSchema: z.object({
679
+ count: z.number(),
680
+ data: z.object({
681
+ attributeValueUid: z.number(),
682
+ attributeUid: z.number(),
683
+ value: z.string(),
684
+ displayValue: z.string().optional(),
685
+ sequenceNo: z.number().optional(),
686
+ }),
687
+ message: z.string(),
688
+ options: z.any(),
689
+ params: z.any(),
690
+ status: z.number(),
691
+ total: z.number(),
692
+ totalResults: z.number(),
693
+ }),
694
+ }, request, {
695
+ attributeUid: String(attributeUid),
696
+ attributeValueUid: String(attributeValueUid),
697
+ });
698
+ },
699
+ /**
700
+ * Delete attribute value
701
+ * @description Delete an attribute value
702
+ * @fullPath api.items.attributes.values.delete
703
+ * @service items
704
+ * @domain attribute-management
705
+ * @dataMethod attributesValuesData.delete
706
+ * @discoverable true
707
+ * @searchTerms ["delete attribute value", "remove value", "delete attribute option"]
708
+ * @relatedEndpoints ["api.items.attributes.values.list", "api.items.attributes.values.create"]
709
+ * @commonPatterns ["Remove attribute option", "Clean up unused values"]
710
+ * @workflow ["attribute-management", "value-cleanup"]
711
+ * @prerequisites ["Valid authentication token", "Attribute management permissions", "Value must exist", "Value not in use by products"]
712
+ * @nextSteps ["Verify removal", "List remaining values"]
713
+ * @businessRules ["Cannot delete values in use by products", "Deletion may affect product availability"]
714
+ * @functionalArea "attribute-and-value-management"
715
+ * @caching "Invalidates attribute cache"
716
+ * @performance "Direct deletion operation"
717
+ * @param attributeUid Attribute unique identifier
718
+ * @param attributeValueUid Attribute value unique identifier
719
+ * @returns Success status
720
+ * @throws ValidationError When response is malformed
721
+ * @example
722
+ * ```typescript
723
+ * await client.attributes.values.delete(123, 456);
724
+ * ```
725
+ */
726
+ delete: async (attributeUid, attributeValueUid) => {
727
+ await this.executeRequest({
728
+ method: 'DELETE',
729
+ path: '/attributes/{attributeUid}/values/{attributeValueUid}',
730
+ responseSchema: z.object({
731
+ count: z.number(),
732
+ data: z.any(),
733
+ message: z.string(),
734
+ options: z.any(),
735
+ params: z.any(),
736
+ status: z.number(),
737
+ total: z.number(),
738
+ totalResults: z.number(),
739
+ }),
740
+ }, undefined, {
741
+ attributeUid: String(attributeUid),
742
+ attributeValueUid: String(attributeValueUid),
743
+ });
744
+ return true;
745
+ },
746
+ },
747
+ };
748
+ // Note: stock endpoints removed - not part of OpenAPI specification
749
+ /**
750
+ * Brand management endpoints
751
+ * @description Methods for managing product brands including CRUD operations
752
+ */
753
+ this.brands = {
754
+ /**
755
+ * List all brands
756
+ * @description Retrieve a paginated list of brands with filtering options
757
+ * @param params Optional filtering and pagination parameters
758
+ * @returns Array of brands
759
+ * @throws ValidationError When parameters are invalid or response is malformed
760
+ * @example
761
+ * ```typescript
762
+ * const brands = await client.brands.list({ limit: 50, statusCd: 704 });
763
+ * brands.data.forEach(brand => {
764
+ * console.log(`${brand.brandsId}: ${brand.brandsName}`);
765
+ * });
766
+ * ```
767
+ */
768
+ list: async (params) => {
769
+ return this.executeRequest({
770
+ method: 'GET',
771
+ path: '/brands',
772
+ paramsSchema: BrandListParamsSchema,
773
+ responseSchema: BrandListResponseSchema,
774
+ }, params);
775
+ },
776
+ /**
777
+ * Get brand details by ID
778
+ * @description Retrieve details for a specific brand
779
+ * @param brandsUid Brand unique identifier
780
+ * @returns Brand details
781
+ * @throws ValidationError When response is malformed
782
+ * @example
783
+ * ```typescript
784
+ * const brand = await client.brands.get(123);
785
+ * console.log(brand.data.brandsName, brand.data.brandsDesc);
786
+ * ```
787
+ */
788
+ get: this.createGetMethod('/brands/{brandsUid}', BrandResponseSchema),
789
+ /**
790
+ * Create a new brand
791
+ * @description Create a new brand with specified properties
540
792
  * @param request Brand creation data
541
793
  * @returns Created brand information
542
794
  * @throws ValidationError When request is invalid or response is malformed
@@ -564,7 +816,7 @@ export class ItemsClient extends BaseServiceClient {
564
816
  * });
565
817
  * ```
566
818
  */
567
- update: this.createUpdateMethod('/brands/{id}', UpdateBrandRequestSchema, BrandResponseSchema),
819
+ update: this.createUpdateMethod('/brands/{brandsUid}', UpdateBrandRequestSchema, BrandResponseSchema),
568
820
  /**
569
821
  * Delete a brand
570
822
  * @description Soft delete a brand (sets status to inactive)
@@ -582,11 +834,220 @@ export class ItemsClient extends BaseServiceClient {
582
834
  delete: async (brandsUid) => {
583
835
  await this.executeRequest({
584
836
  method: 'DELETE',
585
- path: '/brands/{id}',
837
+ path: '/brands/{brandsUid}',
586
838
  responseSchema: z.undefined(),
587
- }, undefined, { id: String(brandsUid) });
839
+ }, undefined, { brandsUid: String(brandsUid) });
588
840
  return true;
589
841
  },
842
+ /**
843
+ * Brand items - Direct path mapping to /brands/{brandsUid}/items
844
+ * @description OpenAPI Path Mirroring: /brands/{brandsUid}/items → brands.items.*
845
+ */
846
+ items: {
847
+ /**
848
+ * List items associated with a brand
849
+ * @description Retrieve all items associated with a specific brand
850
+ * @fullPath api.items.brands.items.list
851
+ * @service items
852
+ * @domain product-catalog
853
+ * @dataMethod brandsItemsData.list
854
+ * @discoverable true
855
+ * @searchTerms ["brand items", "brand products", "brand relationships", "manufacturer items", "brand catalog"]
856
+ * @relatedEndpoints ["api.items.brands.list", "api.items.invMast.list"]
857
+ * @commonPatterns ["List products from a manufacturer", "Browse brand catalog"]
858
+ * @workflow ["product-catalog", "brand-management"]
859
+ * @prerequisites ["Valid authentication token", "Product catalog permissions", "Brand must exist"]
860
+ * @nextSteps ["Get item details", "Create brand associations"]
861
+ * @businessRules ["Items can belong to multiple brands", "Primary brand relationships have priority"]
862
+ * @functionalArea "product-catalog-and-brand-management"
863
+ * @caching "Standard pagination caching"
864
+ * @performance "Use pagination for brands with many items"
865
+ * @param brandsUid Brand unique identifier
866
+ * @param params Optional pagination parameters
867
+ * @returns Array of items associated with the brand
868
+ * @throws ValidationError When parameters are invalid or response is malformed
869
+ * @example
870
+ * ```typescript
871
+ * const brandItems = await client.brands.items.list(123);
872
+ * brandItems.data.forEach(item => {
873
+ * console.log(`${item.itemId}: ${item.itemDesc}`);
874
+ * });
875
+ * ```
876
+ */
877
+ list: async (brandsUid, params) => {
878
+ return this.executeRequest({
879
+ method: 'GET',
880
+ path: '/brands/{brandsUid}/items',
881
+ paramsSchema: BrandItemListParamsSchema,
882
+ responseSchema: BrandItemListResponseSchema,
883
+ }, params, { brandsUid: String(brandsUid) });
884
+ },
885
+ /**
886
+ * Get specific brand-item association
887
+ * @description Retrieve details for a specific brand-item association
888
+ * @fullPath api.items.brands.items.get
889
+ * @service items
890
+ * @domain product-catalog
891
+ * @dataMethod brandsItemsData.get
892
+ * @discoverable true
893
+ * @searchTerms ["brand item association", "brand product details", "manufacturer item details"]
894
+ * @relatedEndpoints ["api.items.brands.items.list", "api.items.invMast.get"]
895
+ * @commonPatterns ["Get brand-item relationship details", "View manufacturer part information"]
896
+ * @workflow ["product-catalog", "brand-relationship-details"]
897
+ * @prerequisites ["Valid authentication token", "Product catalog permissions", "Association must exist"]
898
+ * @nextSteps ["Update association", "Remove brand relationship"]
899
+ * @businessRules ["Includes manufacturer part numbers", "Shows relationship priority"]
900
+ * @functionalArea "product-catalog-and-brand-management"
901
+ * @caching "Standard detail caching"
902
+ * @performance "Direct lookup by ID"
903
+ * @param brandsUid Brand unique identifier
904
+ * @param brandsXItemsUid Brand-item association unique identifier
905
+ * @returns Brand-item association details
906
+ * @throws ValidationError When response is malformed
907
+ * @example
908
+ * ```typescript
909
+ * const association = await client.brands.items.get(123, 789);
910
+ * console.log(association.data.brandPartNumber, association.data.isPrimary);
911
+ * ```
912
+ */
913
+ get: async (brandsUid, brandsXItemsUid) => {
914
+ return this.executeRequest({
915
+ method: 'GET',
916
+ path: '/brands/{brandsUid}/items/{brandsXItemsUid}',
917
+ responseSchema: BrandItemResponseSchema,
918
+ }, undefined, {
919
+ brandsUid: String(brandsUid),
920
+ brandsXItemsUid: String(brandsXItemsUid),
921
+ });
922
+ },
923
+ /**
924
+ * Create brand-item association
925
+ * @description Create a new association between a brand and an item
926
+ * @fullPath api.items.brands.items.create
927
+ * @service items
928
+ * @domain product-catalog
929
+ * @dataMethod brandsItemsData.create
930
+ * @discoverable true
931
+ * @searchTerms ["create brand association", "add item to brand", "brand item relationship"]
932
+ * @relatedEndpoints ["api.items.brands.items.list", "api.items.invMast.get"]
933
+ * @commonPatterns ["Associate product with manufacturer", "Add brand to product"]
934
+ * @workflow ["product-catalog", "brand-association"]
935
+ * @prerequisites ["Valid authentication token", "Product catalog permissions", "Both brand and item must exist"]
936
+ * @nextSteps ["List updated brand items", "Set as primary brand"]
937
+ * @businessRules ["Item can have multiple brand associations", "Only one primary brand per item"]
938
+ * @functionalArea "product-catalog-and-brand-management"
939
+ * @caching "Invalidates brand catalog cache"
940
+ * @performance "Direct creation operation"
941
+ * @param brandsUid Brand unique identifier
942
+ * @param request Brand-item association data
943
+ * @returns Created association information
944
+ * @throws ValidationError When request is invalid or response is malformed
945
+ * @example
946
+ * ```typescript
947
+ * const association = await client.brands.items.create(123, {
948
+ * invMastUid: 456,
949
+ * brandPartNumber: 'ACME-12345',
950
+ * isPrimary: 'Y'
951
+ * });
952
+ * ```
953
+ */
954
+ create: async (brandsUid, request) => {
955
+ return this.executeRequest({
956
+ method: 'POST',
957
+ path: '/brands/{brandsUid}/items',
958
+ paramsSchema: CreateBrandItemRequestSchema,
959
+ responseSchema: BrandItemResponseSchema,
960
+ }, request, { brandsUid: String(brandsUid) });
961
+ },
962
+ /**
963
+ * Update brand-item association
964
+ * @description Update an existing brand-item association
965
+ * @fullPath api.items.brands.items.update
966
+ * @service items
967
+ * @domain product-catalog
968
+ * @dataMethod brandsItemsData.update
969
+ * @discoverable true
970
+ * @searchTerms ["update brand association", "modify brand relationship", "brand item update"]
971
+ * @relatedEndpoints ["api.items.brands.items.get", "api.items.brands.items.list"]
972
+ * @commonPatterns ["Update manufacturer part number", "Change primary brand status"]
973
+ * @workflow ["product-catalog", "brand-maintenance"]
974
+ * @prerequisites ["Valid authentication token", "Product catalog permissions", "Association must exist"]
975
+ * @nextSteps ["Verify changes", "Update product information"]
976
+ * @businessRules ["Cannot change core brand-item link", "Can update metadata like part numbers"]
977
+ * @functionalArea "product-catalog-and-brand-management"
978
+ * @caching "Invalidates brand catalog cache"
979
+ * @performance "Direct update operation"
980
+ * @param brandsUid Brand unique identifier
981
+ * @param brandsXItemsUid Brand-item association unique identifier
982
+ * @param request Update data
983
+ * @returns Updated association information
984
+ * @throws ValidationError When request is invalid or response is malformed
985
+ * @example
986
+ * ```typescript
987
+ * const updated = await client.brands.items.update(123, 789, {
988
+ * brandPartNumber: 'ACME-12345-V2',
989
+ * isPrimary: 'N'
990
+ * });
991
+ * ```
992
+ */
993
+ update: async (brandsUid, brandsXItemsUid, request) => {
994
+ return this.executeRequest({
995
+ method: 'PUT',
996
+ path: '/brands/{brandsUid}/items/{brandsXItemsUid}',
997
+ paramsSchema: UpdateBrandItemRequestSchema,
998
+ responseSchema: BrandItemResponseSchema,
999
+ }, request, {
1000
+ brandsUid: String(brandsUid),
1001
+ brandsXItemsUid: String(brandsXItemsUid),
1002
+ });
1003
+ },
1004
+ /**
1005
+ * Delete brand-item association
1006
+ * @description Remove an item from a brand
1007
+ * @fullPath api.items.brands.items.delete
1008
+ * @service items
1009
+ * @domain product-catalog
1010
+ * @dataMethod brandsItemsData.delete
1011
+ * @discoverable true
1012
+ * @searchTerms ["remove brand association", "delete brand relationship", "brand item removal"]
1013
+ * @relatedEndpoints ["api.items.brands.items.list", "api.items.brands.items.create"]
1014
+ * @commonPatterns ["Remove product from brand", "Clean up brand associations"]
1015
+ * @workflow ["product-catalog", "brand-cleanup"]
1016
+ * @prerequisites ["Valid authentication token", "Product catalog permissions", "Association must exist"]
1017
+ * @nextSteps ["Verify removal", "Update product brand information"]
1018
+ * @businessRules ["Only removes association, not the item or brand", "May affect primary brand status"]
1019
+ * @functionalArea "product-catalog-and-brand-management"
1020
+ * @caching "Invalidates brand catalog cache"
1021
+ * @performance "Direct deletion operation"
1022
+ * @param brandsUid Brand unique identifier
1023
+ * @param brandsXItemsUid Brand-item association unique identifier
1024
+ * @returns Success status
1025
+ * @throws ValidationError When response is malformed
1026
+ * @example
1027
+ * ```typescript
1028
+ * await client.brands.items.delete(123, 789);
1029
+ * ```
1030
+ */
1031
+ delete: async (brandsUid, brandsXItemsUid) => {
1032
+ return this.executeRequest({
1033
+ method: 'DELETE',
1034
+ path: '/brands/{brandsUid}/items/{brandsXItemsUid}',
1035
+ responseSchema: z.object({
1036
+ count: z.number(),
1037
+ data: z.any(),
1038
+ message: z.string(),
1039
+ options: z.any(),
1040
+ params: z.any(),
1041
+ status: z.number(),
1042
+ total: z.number(),
1043
+ totalResults: z.number(),
1044
+ }),
1045
+ }, undefined, {
1046
+ brandsUid: String(brandsUid),
1047
+ brandsXItemsUid: String(brandsXItemsUid),
1048
+ });
1049
+ },
1050
+ },
590
1051
  };
591
1052
  /**
592
1053
  * Attribute group management endpoints
@@ -630,7 +1091,7 @@ export class ItemsClient extends BaseServiceClient {
630
1091
  * console.log(group.data.attributeGroupDesc, group.data.attributeGroupType);
631
1092
  * ```
632
1093
  */
633
- get: this.createGetMethod('/attribute-groups/{id}', AttributeGroupResponseSchema),
1094
+ get: this.createGetMethod('/attribute-groups/{attributeGroupUid}', AttributeGroupResponseSchema),
634
1095
  /**
635
1096
  * Create a new attribute group
636
1097
  * @description Create a new attribute group with specified properties
@@ -662,7 +1123,7 @@ export class ItemsClient extends BaseServiceClient {
662
1123
  * });
663
1124
  * ```
664
1125
  */
665
- update: this.createUpdateMethod('/attribute-groups/{id}', UpdateAttributeGroupRequestSchema, AttributeGroupResponseSchema),
1126
+ update: this.createUpdateMethod('/attribute-groups/{attributeGroupUid}', UpdateAttributeGroupRequestSchema, AttributeGroupResponseSchema),
666
1127
  /**
667
1128
  * Delete an attribute group
668
1129
  * @description Soft delete an attribute group (sets status to inactive)
@@ -678,9 +1139,264 @@ export class ItemsClient extends BaseServiceClient {
678
1139
  delete: async (attributeGroupUid) => {
679
1140
  return this.executeRequest({
680
1141
  method: 'DELETE',
681
- path: '/attribute-groups/{id}',
1142
+ path: '/attribute-groups/{attributeGroupUid}',
682
1143
  responseSchema: AttributeGroupResponseSchema,
683
- }, undefined, { id: String(attributeGroupUid) });
1144
+ }, undefined, { attributeGroupUid: String(attributeGroupUid) });
1145
+ },
1146
+ /**
1147
+ * Attribute group attributes - Direct path mapping to /attribute-groups/{attributeGroupUid}/attributes
1148
+ * @description OpenAPI Path Mirroring: /attribute-groups/{attributeGroupUid}/attributes → attributeGroups.attributes.*
1149
+ */
1150
+ attributes: {
1151
+ /**
1152
+ * List attributes in a group
1153
+ * @description Retrieve all attributes associated with an attribute group
1154
+ * @fullPath api.items.attributeGroups.attributes.list
1155
+ * @service items
1156
+ * @domain attribute-management
1157
+ * @dataMethod attributeGroupsAttributesData.list
1158
+ * @discoverable true
1159
+ * @searchTerms ["attribute group attributes", "group attributes", "attribute associations"]
1160
+ * @relatedEndpoints ["api.items.attributes.list", "api.items.attributeGroups.list"]
1161
+ * @commonPatterns ["List attributes in a group", "Manage attribute groups"]
1162
+ * @workflow ["attribute-management", "group-management"]
1163
+ * @prerequisites ["Valid authentication token", "Attribute management permissions"]
1164
+ * @nextSteps ["Create attribute associations", "Manage individual attributes"]
1165
+ * @businessRules ["Attributes can belong to multiple groups", "Group membership controls attribute display"]
1166
+ * @functionalArea "attribute-and-group-management"
1167
+ * @caching "Standard pagination caching"
1168
+ * @performance "Use pagination for large attribute groups"
1169
+ * @param attributeGroupUid Attribute group unique identifier
1170
+ * @param params Optional pagination parameters
1171
+ * @returns Array of attributes in the group
1172
+ * @throws ValidationError When parameters are invalid or response is malformed
1173
+ * @example
1174
+ * ```typescript
1175
+ * const groupAttrs = await client.attributeGroups.attributes.list(123);
1176
+ * groupAttrs.data.forEach(attr => {
1177
+ * console.log(`${attr.attributeId}: ${attr.attributeDesc}`);
1178
+ * });
1179
+ * ```
1180
+ */
1181
+ list: async (attributeGroupUid, params) => {
1182
+ return this.executeRequest({
1183
+ method: 'GET',
1184
+ path: '/attribute-groups/{attributeGroupUid}/attributes',
1185
+ paramsSchema: StandardPaginationParamsSchema,
1186
+ responseSchema: AttributeValueListResponseSchema,
1187
+ }, params, { attributeGroupUid: String(attributeGroupUid) });
1188
+ },
1189
+ /**
1190
+ * Get specific attribute association in a group
1191
+ * @description Retrieve details for a specific attribute-group association
1192
+ * @fullPath api.items.attributeGroups.attributes.get
1193
+ * @service items
1194
+ * @domain attribute-management
1195
+ * @dataMethod attributeGroupsAttributesData.get
1196
+ * @discoverable true
1197
+ * @searchTerms ["attribute group association", "group attribute details", "attribute association"]
1198
+ * @relatedEndpoints ["api.items.attributeGroups.attributes.list", "api.items.attributes.get"]
1199
+ * @commonPatterns ["Get attribute association details", "View group membership"]
1200
+ * @workflow ["attribute-management", "association-details"]
1201
+ * @prerequisites ["Valid authentication token", "Attribute management permissions"]
1202
+ * @nextSteps ["Update association", "Remove from group"]
1203
+ * @businessRules ["Association must exist", "Includes sequence information"]
1204
+ * @functionalArea "attribute-and-group-management"
1205
+ * @caching "Standard detail caching"
1206
+ * @performance "Direct lookup by ID"
1207
+ * @param attributeGroupUid Attribute group unique identifier
1208
+ * @param attributeXAttributeGroupUid Attribute association unique identifier
1209
+ * @returns Attribute association details
1210
+ * @throws ValidationError When response is malformed
1211
+ * @example
1212
+ * ```typescript
1213
+ * const association = await client.attributeGroups.attributes.get(123, 789);
1214
+ * console.log(association.data.attributeUid, association.data.sequenceNo);
1215
+ * ```
1216
+ */
1217
+ get: async (attributeGroupUid, attributeXAttributeGroupUid) => {
1218
+ return this.executeRequest({
1219
+ method: 'GET',
1220
+ path: '/attribute-groups/{attributeGroupUid}/attributes/{attributeXAttributeGroupUid}',
1221
+ responseSchema: z.object({
1222
+ count: z.number(),
1223
+ data: z.object({
1224
+ attributeXAttributeGroupUid: z.number(),
1225
+ attributeGroupUid: z.number(),
1226
+ attributeUid: z.number(),
1227
+ sequenceNo: z.number().optional(),
1228
+ }),
1229
+ message: z.string(),
1230
+ options: z.any(),
1231
+ params: z.any(),
1232
+ status: z.number(),
1233
+ total: z.number(),
1234
+ totalResults: z.number(),
1235
+ }),
1236
+ }, undefined, {
1237
+ attributeGroupUid: String(attributeGroupUid),
1238
+ attributeXAttributeGroupUid: String(attributeXAttributeGroupUid),
1239
+ });
1240
+ },
1241
+ /**
1242
+ * Create attribute association in a group
1243
+ * @description Create an association between an attribute and an attribute group
1244
+ * @fullPath api.items.attributeGroups.attributes.create
1245
+ * @service items
1246
+ * @domain attribute-management
1247
+ * @dataMethod attributeGroupsAttributesData.create
1248
+ * @discoverable true
1249
+ * @searchTerms ["create attribute association", "add attribute to group", "attribute group membership"]
1250
+ * @relatedEndpoints ["api.items.attributeGroups.attributes.list", "api.items.attributes.list"]
1251
+ * @commonPatterns ["Add attribute to group", "Organize attributes"]
1252
+ * @workflow ["attribute-management", "group-organization"]
1253
+ * @prerequisites ["Valid authentication token", "Attribute management permissions", "Both attribute and group must exist"]
1254
+ * @nextSteps ["Update association sequence", "List group attributes"]
1255
+ * @businessRules ["Attribute can belong to multiple groups", "Sequence controls display order"]
1256
+ * @functionalArea "attribute-and-group-management"
1257
+ * @caching "Invalidates group cache"
1258
+ * @performance "Direct creation operation"
1259
+ * @param attributeGroupUid Attribute group unique identifier
1260
+ * @param request Attribute association data
1261
+ * @returns Created association information
1262
+ * @throws ValidationError When request is invalid or response is malformed
1263
+ * @example
1264
+ * ```typescript
1265
+ * const association = await client.attributeGroups.attributes.create(123, {
1266
+ * attributeUid: 456,
1267
+ * sequenceNo: 10
1268
+ * });
1269
+ * ```
1270
+ */
1271
+ create: async (attributeGroupUid, request) => {
1272
+ return this.executeRequest({
1273
+ method: 'POST',
1274
+ path: '/attribute-groups/{attributeGroupUid}/attributes',
1275
+ paramsSchema: z.object({
1276
+ attributeUid: z.number(),
1277
+ sequenceNo: z.number().optional(),
1278
+ }),
1279
+ responseSchema: z.object({
1280
+ count: z.number(),
1281
+ data: z.object({
1282
+ attributeXAttributeGroupUid: z.number(),
1283
+ attributeGroupUid: z.number(),
1284
+ attributeUid: z.number(),
1285
+ sequenceNo: z.number().optional(),
1286
+ }),
1287
+ message: z.string(),
1288
+ options: z.any(),
1289
+ params: z.any(),
1290
+ status: z.number(),
1291
+ total: z.number(),
1292
+ totalResults: z.number(),
1293
+ }),
1294
+ }, request, { attributeGroupUid: String(attributeGroupUid) });
1295
+ },
1296
+ /**
1297
+ * Update attribute association in a group
1298
+ * @description Update an existing attribute-group association
1299
+ * @fullPath api.items.attributeGroups.attributes.update
1300
+ * @service items
1301
+ * @domain attribute-management
1302
+ * @dataMethod attributeGroupsAttributesData.update
1303
+ * @discoverable true
1304
+ * @searchTerms ["update attribute association", "modify group membership", "attribute sequence"]
1305
+ * @relatedEndpoints ["api.items.attributeGroups.attributes.get", "api.items.attributeGroups.attributes.list"]
1306
+ * @commonPatterns ["Update display sequence", "Modify group organization"]
1307
+ * @workflow ["attribute-management", "group-organization"]
1308
+ * @prerequisites ["Valid authentication token", "Attribute management permissions", "Association must exist"]
1309
+ * @nextSteps ["List updated group attributes", "Verify changes"]
1310
+ * @businessRules ["Can only update sequence and other non-key fields", "Sequence controls display order"]
1311
+ * @functionalArea "attribute-and-group-management"
1312
+ * @caching "Invalidates group cache"
1313
+ * @performance "Direct update operation"
1314
+ * @param attributeGroupUid Attribute group unique identifier
1315
+ * @param attributeXAttributeGroupUid Attribute association unique identifier
1316
+ * @param request Update data
1317
+ * @returns Updated association information
1318
+ * @throws ValidationError When request is invalid or response is malformed
1319
+ * @example
1320
+ * ```typescript
1321
+ * const updated = await client.attributeGroups.attributes.update(123, 789, {
1322
+ * sequenceNo: 20
1323
+ * });
1324
+ * ```
1325
+ */
1326
+ update: async (attributeGroupUid, attributeXAttributeGroupUid, request) => {
1327
+ return this.executeRequest({
1328
+ method: 'PUT',
1329
+ path: '/attribute-groups/{attributeGroupUid}/attributes/{attributeXAttributeGroupUid}',
1330
+ paramsSchema: z.object({
1331
+ sequenceNo: z.number().optional(),
1332
+ }),
1333
+ responseSchema: z.object({
1334
+ count: z.number(),
1335
+ data: z.object({
1336
+ attributeXAttributeGroupUid: z.number(),
1337
+ attributeGroupUid: z.number(),
1338
+ attributeUid: z.number(),
1339
+ sequenceNo: z.number().optional(),
1340
+ }),
1341
+ message: z.string(),
1342
+ options: z.any(),
1343
+ params: z.any(),
1344
+ status: z.number(),
1345
+ total: z.number(),
1346
+ totalResults: z.number(),
1347
+ }),
1348
+ }, request, {
1349
+ attributeGroupUid: String(attributeGroupUid),
1350
+ attributeXAttributeGroupUid: String(attributeXAttributeGroupUid),
1351
+ });
1352
+ },
1353
+ /**
1354
+ * Delete attribute association from a group
1355
+ * @description Remove an attribute from an attribute group
1356
+ * @fullPath api.items.attributeGroups.attributes.delete
1357
+ * @service items
1358
+ * @domain attribute-management
1359
+ * @dataMethod attributeGroupsAttributesData.delete
1360
+ * @discoverable true
1361
+ * @searchTerms ["remove attribute from group", "delete attribute association", "group membership removal"]
1362
+ * @relatedEndpoints ["api.items.attributeGroups.attributes.list", "api.items.attributeGroups.attributes.create"]
1363
+ * @commonPatterns ["Remove attribute from group", "Clean up attribute organization"]
1364
+ * @workflow ["attribute-management", "group-cleanup"]
1365
+ * @prerequisites ["Valid authentication token", "Attribute management permissions", "Association must exist"]
1366
+ * @nextSteps ["List remaining group attributes", "Verify removal"]
1367
+ * @businessRules ["Only removes association, not the attribute itself", "Does not affect other group memberships"]
1368
+ * @functionalArea "attribute-and-group-management"
1369
+ * @caching "Invalidates group cache"
1370
+ * @performance "Direct deletion operation"
1371
+ * @param attributeGroupUid Attribute group unique identifier
1372
+ * @param attributeXAttributeGroupUid Attribute association unique identifier
1373
+ * @returns Success status
1374
+ * @throws ValidationError When response is malformed
1375
+ * @example
1376
+ * ```typescript
1377
+ * await client.attributeGroups.attributes.delete(123, 789);
1378
+ * ```
1379
+ */
1380
+ delete: async (attributeGroupUid, attributeXAttributeGroupUid) => {
1381
+ await this.executeRequest({
1382
+ method: 'DELETE',
1383
+ path: '/attribute-groups/{attributeGroupUid}/attributes/{attributeXAttributeGroupUid}',
1384
+ responseSchema: z.object({
1385
+ count: z.number(),
1386
+ data: z.any(),
1387
+ message: z.string(),
1388
+ options: z.any(),
1389
+ params: z.any(),
1390
+ status: z.number(),
1391
+ total: z.number(),
1392
+ totalResults: z.number(),
1393
+ }),
1394
+ }, undefined, {
1395
+ attributeGroupUid: String(attributeGroupUid),
1396
+ attributeXAttributeGroupUid: String(attributeXAttributeGroupUid),
1397
+ });
1398
+ return true;
1399
+ },
684
1400
  },
685
1401
  };
686
1402
  /**
@@ -710,26 +1426,7 @@ export class ItemsClient extends BaseServiceClient {
710
1426
  responseSchema: AttributeValueListResponseSchema,
711
1427
  }, params);
712
1428
  },
713
- /**
714
- * Get attribute value details by ID
715
- * @description Retrieve details for a specific attribute value
716
- * @param attributeValueUid Attribute value unique identifier
717
- * @returns Attribute value details
718
- * @throws ValidationError When response is malformed
719
- * @example
720
- * ```typescript
721
- * const value = await client.attributeValues.get(123);
722
- * console.log(value.attributeValue, value.displayValue);
723
- * ```
724
- */
725
- get: async (attributeValueUid) => {
726
- const response = await this.executeRequest({
727
- method: 'GET',
728
- path: '/attribute-values/{id}',
729
- responseSchema: AttributeValueListResponseSchema,
730
- }, undefined, { id: String(attributeValueUid) });
731
- return response.data[0];
732
- },
1429
+ // Note: get method removed - /attribute-values/{id} not in OpenAPI specification
733
1430
  };
734
1431
  /**
735
1432
  * Item attribute value management endpoints
@@ -777,20 +1474,20 @@ export class ItemsClient extends BaseServiceClient {
777
1474
  create: this.createCreateMethod('/item-attribute-values', CreateItemAttributeValueRequestSchema, ItemAttributeValueResponseSchema),
778
1475
  };
779
1476
  /**
780
- * Health monitoring endpoints
781
- * @description Service health monitoring and connectivity testing
1477
+ * Health check endpoint - Direct path mapping to /health-check
1478
+ * @description OpenAPI Path Mirroring: /health-check healthCheck.get()
782
1479
  */
783
- this.health = {
1480
+ this.healthCheck = {
784
1481
  /**
785
1482
  * Service health check
786
1483
  * @description Verify service health and trigger seed jobs if needed
787
- * @fullPath api.items.health.check
1484
+ * @fullPath api.items.healthCheck.get
788
1485
  * @service items
789
1486
  * @domain system-health
790
- * @dataMethod healthData.check
1487
+ * @dataMethod healthCheckData.get
791
1488
  * @discoverable true
792
1489
  * @searchTerms ["health check", "service status", "system health", "service monitoring"]
793
- * @relatedEndpoints ["api.joomla.health.check", "api.nexus.health.check", "api.commerce.health.check"]
1490
+ * @relatedEndpoints ["api.joomla.healthCheck.get", "api.nexus.healthCheck.get", "api.commerce.healthCheck.get"]
794
1491
  * @commonPatterns ["Check service health", "Monitor system status", "Verify connectivity"]
795
1492
  * @workflow ["service-monitoring", "health-verification", "system-diagnostics"]
796
1493
  * @prerequisites ["Valid authentication token", "System monitoring permissions"]
@@ -803,26 +1500,32 @@ export class ItemsClient extends BaseServiceClient {
803
1500
  * @throws ValidationError When response is malformed
804
1501
  * @example
805
1502
  * ```typescript
806
- * const health = await client.health.check();
1503
+ * const health = await client.healthCheck.get();
807
1504
  * console.log('Site ID:', health.data.siteId);
808
1505
  * console.log('Site Hash:', health.data.siteHash);
809
1506
  * ```
810
1507
  */
811
- check: this.createHealthCheckMethod(HealthCheckResponseSchema),
1508
+ get: this.createHealthCheckMethod(HealthCheckResponseSchema),
1509
+ };
1510
+ /**
1511
+ * Ping endpoint - Direct path mapping to /ping
1512
+ * @description OpenAPI Path Mirroring: /ping → ping.get()
1513
+ */
1514
+ this.ping = {
812
1515
  /**
813
1516
  * Simple connectivity test
814
1517
  * @description Simple connectivity test endpoint (no authentication required)
815
- * @fullPath api.items.health.ping
1518
+ * @fullPath api.items.ping.get
816
1519
  * @service items
817
1520
  * @domain system-health
818
- * @dataMethod healthData.ping
1521
+ * @dataMethod pingData.get
819
1522
  * @discoverable true
820
1523
  * @searchTerms ["ping", "connectivity test", "service alive", "basic health"]
821
- * @relatedEndpoints ["api.joomla.health.ping", "api.nexus.health.ping", "api.commerce.health.ping"]
1524
+ * @relatedEndpoints ["api.joomla.ping.get", "api.nexus.ping.get", "api.commerce.ping.get"]
822
1525
  * @commonPatterns ["Test connectivity", "Basic health check", "Service alive check"]
823
1526
  * @workflow ["connectivity-verification", "basic-monitoring"]
824
1527
  * @prerequisites ["Network connectivity"]
825
- * @nextSteps ["api.items.health.check for full health verification"]
1528
+ * @nextSteps ["api.items.healthCheck.get for full health verification"]
826
1529
  * @businessRules ["No authentication required", "Always returns 'pong'", "Minimal resource usage"]
827
1530
  * @functionalArea "basic-connectivity-testing"
828
1531
  * @caching "No caching, real-time response"
@@ -831,11 +1534,11 @@ export class ItemsClient extends BaseServiceClient {
831
1534
  * @throws ValidationError When response is malformed
832
1535
  * @example
833
1536
  * ```typescript
834
- * const pong = await client.health.ping();
1537
+ * const pong = await client.ping.get();
835
1538
  * console.log(pong.data); // "pong"
836
1539
  * ```
837
1540
  */
838
- ping: async () => {
1541
+ get: async () => {
839
1542
  return this.executeRequest({
840
1543
  method: 'GET',
841
1544
  path: '/ping',
@@ -845,510 +1548,318 @@ export class ItemsClient extends BaseServiceClient {
845
1548
  },
846
1549
  };
847
1550
  /**
848
- * Health monitoring data-only endpoints
849
- * @description Data-only methods that return just the data portion of health responses
1551
+ * Health check data-only endpoints
1552
+ * @description Data-only methods that return just the data portion of health check responses
850
1553
  */
851
- this.healthData = {
1554
+ this.healthCheckData = {
852
1555
  /**
853
1556
  * Service health check data only
854
1557
  * @description Returns only the data portion of health check response
855
- * @fullPath api.items.healthData.check
1558
+ * @fullPath api.items.healthCheckData.get
856
1559
  * @service items
857
1560
  * @domain system-health
858
1561
  * @discoverable true
859
1562
  * @searchTerms ["health data", "service status data", "health check data only"]
860
- * @relatedEndpoints ["api.items.health.check"]
1563
+ * @relatedEndpoints ["api.items.healthCheck.get"]
861
1564
  * @commonPatterns ["Get health status without metadata"]
862
1565
  * @returns Health check data only
863
1566
  */
864
- check: async () => {
865
- const response = await this.health.check();
1567
+ get: async () => {
1568
+ const response = await this.healthCheck.get();
866
1569
  return response.data;
867
1570
  },
1571
+ };
1572
+ /**
1573
+ * Ping data-only endpoints
1574
+ * @description Data-only methods that return just the data portion of ping responses
1575
+ */
1576
+ this.pingData = {
868
1577
  /**
869
1578
  * Simple connectivity test data only
870
1579
  * @description Returns only the data portion of ping response
871
- * @fullPath api.items.healthData.ping
1580
+ * @fullPath api.items.pingData.get
872
1581
  * @service items
873
1582
  * @domain system-health
874
1583
  * @discoverable true
875
1584
  * @searchTerms ["ping data", "connectivity data", "service alive data"]
876
- * @relatedEndpoints ["api.items.health.ping"]
1585
+ * @relatedEndpoints ["api.items.ping.get"]
877
1586
  * @commonPatterns ["Test connectivity without metadata"]
878
1587
  * @returns Ping data only
879
1588
  */
880
- ping: async () => {
881
- const response = await this.health.ping();
882
- return response.data;
883
- },
884
- };
885
- /**
886
- * Item favorites management endpoints
887
- * @description Methods for managing user favorite items
888
- */
889
- this.itemFavorites = {
890
- /**
891
- * List user's favorite items
892
- * @description Retrieve a list of the current user's favorite items
893
- * @fullPath api.items.itemFavorites.list
894
- * @service items
895
- * @domain user-preferences
896
- * @dataMethod itemFavoritesData.list
897
- * @discoverable true
898
- * @searchTerms ["favorites", "user favorites", "liked items", "bookmarked items", "favorite products"]
899
- * @relatedEndpoints ["api.items.itemWishlist.list", "api.customers.users.preferences"]
900
- * @commonPatterns ["Show user favorites", "Manage favorite items", "User preference management"]
901
- * @workflow ["user-preferences", "favorites-management"]
902
- * @prerequisites ["Valid authentication token", "User context"]
903
- * @nextSteps ["api.items.invMast.get for product details", "api.commerce.cartHeaders.addItem for adding to cart"]
904
- * @businessRules ["Shows only current user's favorites", "Respects product visibility", "Returns active favorites only"]
905
- * @functionalArea "user-preference-management"
906
- * @caching "Cache for 5 minutes, invalidate on favorites changes"
907
- * @performance "Paginated results for large favorite lists"
908
- * @param params Optional filtering and pagination parameters
909
- * @returns Array of user's favorite items
910
- * @throws ValidationError When parameters are invalid or response is malformed
911
- * @example
912
- * ```typescript
913
- * const favorites = await client.itemFavorites.list({ limit: 20 });
914
- * favorites.data.forEach(fav => {
915
- * console.log(`Favorite: ${fav.itemDesc} (${fav.itemId})`);
916
- * });
917
- * ```
918
- */
919
- list: async (params) => {
920
- return this.executeRequest({
921
- method: 'GET',
922
- path: '/item-favorites',
923
- paramsSchema: ItemFavoritesListParamsSchema,
924
- responseSchema: ItemFavoriteListResponseSchema,
925
- }, params);
926
- },
927
- /**
928
- * Add item to favorites
929
- * @description Add an item to the current user's favorites
930
- * @param request Favorite item creation data
931
- * @returns Created favorite item information
932
- * @throws ValidationError When request is invalid or response is malformed
933
- * @example
934
- * ```typescript
935
- * const favorite = await client.itemFavorites.create({
936
- * invMastUid: 12345,
937
- * itemNote: 'Great product for my projects'
938
- * });
939
- * ```
940
- */
941
- create: this.createCreateMethod('/item-favorites', CreateItemFavoriteRequestSchema, ItemFavoriteResponseSchema),
942
- /**
943
- * Remove item from favorites
944
- * @description Remove an item from the current user's favorites
945
- * @param favoriteUid Favorite item unique identifier
946
- * @returns Success response
947
- * @throws ValidationError When response is malformed
948
- * @example
949
- * ```typescript
950
- * await client.itemFavorites.delete(123);
951
- * ```
952
- */
953
- delete: this.createDeleteMethod('/item-favorites/{id}', ItemFavoriteResponseSchema),
954
- /**
955
- * Update favorite item
956
- * @description Update a favorite item's information
957
- * @param favoriteUid Favorite item unique identifier
958
- * @param request Update data
959
- * @returns Updated favorite item information
960
- * @throws ValidationError When request is invalid or response is malformed
961
- * @example
962
- * ```typescript
963
- * const updated = await client.itemFavorites.update(123, {
964
- * itemNote: 'Updated note about this favorite item'
965
- * });
966
- * ```
967
- */
968
- update: this.createUpdateMethod('/item-favorites/{id}', UpdateItemFavoriteRequestSchema, ItemFavoriteResponseSchema),
969
- };
970
- /**
971
- * Item favorites data-only endpoints
972
- * @description Data-only methods that return just the data portion of favorites responses
973
- */
974
- this.itemFavoritesData = {
975
- /**
976
- * List user's favorite items data only
977
- * @description Returns only the data portion of favorites list response
978
- * @param params Optional filtering and pagination parameters
979
- * @returns Array of favorite items data
980
- */
981
- list: async (params) => {
982
- const response = await this.itemFavorites.list(params);
1589
+ get: async () => {
1590
+ const response = await this.ping.get();
983
1591
  return response.data;
984
1592
  },
985
1593
  };
986
1594
  /**
987
- * Item wishlists management endpoints
988
- * @description Methods for managing user wishlists and wishlist items
989
- */
990
- this.itemWishlist = {
991
- /**
992
- * List user's wishlists
993
- * @description Retrieve a list of the current user's wishlists
994
- * @fullPath api.items.itemWishlist.list
995
- * @service items
996
- * @domain user-preferences
997
- * @dataMethod itemWishlistData.list
998
- * @discoverable true
999
- * @searchTerms ["wishlists", "user wishlists", "shopping lists", "saved lists", "wishlist management"]
1000
- * @relatedEndpoints ["api.items.itemFavorites.list", "api.commerce.cartHeaders.list"]
1001
- * @commonPatterns ["Show user wishlists", "Manage wishlist collections", "Shopping list management"]
1002
- * @workflow ["user-preferences", "wishlist-management"]
1003
- * @prerequisites ["Valid authentication token", "User context"]
1004
- * @nextSteps ["api.items.itemWishlist.getLines for wishlist items", "api.commerce.cartHeaders.create for converting to cart"]
1005
- * @businessRules ["Shows only current user's wishlists", "Includes public wishlists if shared", "Returns active wishlists only"]
1006
- * @functionalArea "user-preference-management"
1007
- * @caching "Cache for 5 minutes, invalidate on wishlist changes"
1008
- * @performance "Paginated results for large wishlist collections"
1009
- * @param params Optional filtering and pagination parameters
1010
- * @returns Array of user's wishlists
1011
- * @throws ValidationError When parameters are invalid or response is malformed
1012
- * @example
1013
- * ```typescript
1014
- * const wishlists = await client.itemWishlist.list({ limit: 10 });
1015
- * wishlists.data.forEach(list => {
1016
- * console.log(`Wishlist: ${list.wishlistName} (${list.wishlistDescription})`);
1017
- * });
1018
- * ```
1019
- */
1020
- list: async (params) => {
1021
- return this.executeRequest({
1022
- method: 'GET',
1023
- path: '/item-wishlist',
1024
- paramsSchema: ItemWishlistListParamsSchema,
1025
- responseSchema: ItemWishlistHeaderListResponseSchema,
1026
- }, params);
1027
- },
1028
- /**
1029
- * Get wishlist details
1030
- * @description Retrieve details for a specific wishlist
1031
- * @param wishlistUid Wishlist unique identifier
1032
- * @returns Wishlist details
1033
- * @throws ValidationError When response is malformed
1034
- * @example
1035
- * ```typescript
1036
- * const wishlist = await client.itemWishlist.get(123);
1037
- * console.log(wishlist.data.wishlistName, wishlist.data.wishlistDescription);
1038
- * ```
1039
- */
1040
- get: this.createGetMethod('/item-wishlist/{id}', ItemWishlistHeaderResponseSchema),
1041
- /**
1042
- * Create new wishlist
1043
- * @description Create a new wishlist for the current user
1044
- * @param request Wishlist creation data
1045
- * @returns Created wishlist information
1046
- * @throws ValidationError When request is invalid or response is malformed
1047
- * @example
1048
- * ```typescript
1049
- * const wishlist = await client.itemWishlist.create({
1050
- * wishlistName: 'Home Office Setup',
1051
- * wishlistDescription: 'Items for my home office renovation',
1052
- * isPublic: 'N'
1053
- * });
1054
- * ```
1055
- */
1056
- create: this.createCreateMethod('/item-wishlist', CreateItemWishlistHeaderRequestSchema, ItemWishlistHeaderResponseSchema),
1057
- /**
1058
- * Update wishlist
1059
- * @description Update a wishlist's information
1060
- * @param wishlistUid Wishlist unique identifier
1061
- * @param request Update data
1062
- * @returns Updated wishlist information
1063
- * @throws ValidationError When request is invalid or response is malformed
1064
- * @example
1065
- * ```typescript
1066
- * const updated = await client.itemWishlist.update(123, {
1067
- * wishlistName: 'Updated Office Setup',
1068
- * wishlistDescription: 'Updated description for my office items'
1069
- * });
1070
- * ```
1071
- */
1072
- update: this.createUpdateMethod('/item-wishlist/{id}', UpdateItemWishlistHeaderRequestSchema, ItemWishlistHeaderResponseSchema),
1073
- /**
1074
- * Delete wishlist
1075
- * @description Delete a wishlist and all its items
1076
- * @param wishlistUid Wishlist unique identifier
1077
- * @returns Success response
1078
- * @throws ValidationError When response is malformed
1079
- * @example
1080
- * ```typescript
1081
- * await client.itemWishlist.delete(123);
1082
- * ```
1083
- */
1084
- delete: this.createDeleteMethod('/item-wishlist/{id}', ItemWishlistHeaderResponseSchema),
1085
- /**
1086
- * Get wishlist items
1087
- * @description Retrieve items in a specific wishlist
1088
- * @param wishlistUid Wishlist unique identifier
1089
- * @param params Optional filtering and pagination parameters
1090
- * @returns Array of wishlist items
1091
- * @throws ValidationError When parameters are invalid or response is malformed
1092
- * @example
1093
- * ```typescript
1094
- * const items = await client.itemWishlist.getLines(123, { limit: 20 });
1095
- * items.data.forEach(item => {
1096
- * console.log(`${item.itemDesc} - Qty: ${item.qtyDesired}, Priority: ${item.priority}`);
1097
- * });
1098
- * ```
1099
- */
1100
- getLines: async (wishlistUid, params) => {
1101
- return this.executeRequest({
1102
- method: 'GET',
1103
- path: '/item-wishlist/{id}/lines',
1104
- paramsSchema: ItemWishlistLineListParamsSchema,
1105
- responseSchema: ItemWishlistLineListResponseSchema,
1106
- }, params, { id: String(wishlistUid) });
1107
- },
1108
- /**
1109
- * Add item to wishlist
1110
- * @description Add an item to a specific wishlist
1111
- * @param wishlistUid Wishlist unique identifier
1112
- * @param request Wishlist item creation data
1113
- * @returns Created wishlist item information
1114
- * @throws ValidationError When request is invalid or response is malformed
1115
- * @example
1116
- * ```typescript
1117
- * const item = await client.itemWishlist.addLine(123, {
1118
- * invMastUid: 12345,
1119
- * qtyDesired: 2,
1120
- * priority: 1,
1121
- * notes: 'Need this for the new office setup'
1122
- * });
1123
- * ```
1124
- */
1125
- addLine: async (wishlistUid, request) => {
1126
- return this.executeRequest({
1127
- method: 'POST',
1128
- path: '/item-wishlist/{id}/lines',
1129
- paramsSchema: CreateItemWishlistLineRequestSchema,
1130
- responseSchema: ItemWishlistLineResponseSchema,
1131
- }, request, { id: String(wishlistUid) });
1132
- },
1133
- /**
1134
- * Update wishlist item
1135
- * @description Update an item in a wishlist
1136
- * @param wishlistUid Wishlist unique identifier
1137
- * @param lineUid Wishlist line unique identifier
1138
- * @param request Update data
1139
- * @returns Updated wishlist item information
1140
- * @throws ValidationError When request is invalid or response is malformed
1141
- * @example
1142
- * ```typescript
1143
- * const updated = await client.itemWishlist.updateLine(123, 456, {
1144
- * qtyDesired: 3,
1145
- * priority: 2,
1146
- * notes: 'Updated quantity needed'
1147
- * });
1148
- * ```
1149
- */
1150
- updateLine: async (wishlistUid, lineUid, request) => {
1151
- return this.executeRequest({
1152
- method: 'PUT',
1153
- path: '/item-wishlist/{wishlistId}/lines/{lineId}',
1154
- paramsSchema: UpdateItemWishlistLineRequestSchema,
1155
- responseSchema: ItemWishlistLineResponseSchema,
1156
- }, request, { wishlistId: String(wishlistUid), lineId: String(lineUid) });
1157
- },
1158
- /**
1159
- * Remove item from wishlist
1160
- * @description Remove an item from a wishlist
1161
- * @param wishlistUid Wishlist unique identifier
1162
- * @param lineUid Wishlist line unique identifier
1163
- * @returns Success response
1164
- * @throws ValidationError When response is malformed
1165
- * @example
1166
- * ```typescript
1167
- * await client.itemWishlist.deleteLine(123, 456);
1168
- * ```
1169
- */
1170
- deleteLine: async (wishlistUid, lineUid) => {
1171
- return this.executeRequest({
1172
- method: 'DELETE',
1173
- path: '/item-wishlist/{wishlistId}/lines/{lineId}',
1174
- responseSchema: ItemWishlistLineResponseSchema,
1175
- }, undefined, { wishlistId: String(wishlistUid), lineId: String(lineUid) });
1176
- },
1177
- };
1178
- /**
1179
- * Item wishlists data-only endpoints
1180
- * @description Data-only methods that return just the data portion of wishlists responses
1595
+ * Internal endpoints - Direct path mapping to /internal/*
1596
+ * @description OpenAPI Path Mirroring: /internal/* internal.*
1181
1597
  */
1182
- this.itemWishlistData = {
1183
- /**
1184
- * List user's wishlists data only
1185
- * @description Returns only the data portion of wishlists list response
1186
- * @param params Optional filtering and pagination parameters
1187
- * @returns Array of wishlists data
1188
- */
1189
- list: async (params) => {
1190
- const response = await this.itemWishlist.list(params);
1191
- return response.data;
1192
- },
1598
+ this.internal = {
1193
1599
  /**
1194
- * Get wishlist items data only
1195
- * @description Returns only the data portion of wishlist items response
1196
- * @param wishlistUid Wishlist unique identifier
1197
- * @param params Optional filtering and pagination parameters
1198
- * @returns Array of wishlist items data
1600
+ * PDF generation endpoints - Direct path mapping to /internal/pdf
1601
+ * @description OpenAPI Path Mirroring: /internal/pdf internal.pdf.create()
1199
1602
  */
1200
- getLines: async (wishlistUid, params) => {
1201
- const response = await this.itemWishlist.getLines(wishlistUid, params);
1202
- return response.data;
1603
+ pdf: {
1604
+ /**
1605
+ * Create internal PDF
1606
+ * @description Generate internal PDF documents
1607
+ * @fullPath api.items.internal.pdf.create
1608
+ * @service items
1609
+ * @domain document-generation
1610
+ * @dataMethod internalPdfData.create
1611
+ * @discoverable true
1612
+ * @searchTerms ["pdf generation", "internal pdf", "document creation", "pdf templates"]
1613
+ * @relatedEndpoints ["api.joomla.internal.pdf.create", "api.nexus.internal.pdf.create"]
1614
+ * @commonPatterns ["Generate PDF documents", "Create reports", "Export data to PDF"]
1615
+ * @workflow ["document-generation", "report-creation"]
1616
+ * @prerequisites ["Valid authentication token", "Document generation permissions"]
1617
+ * @nextSteps ["Download generated PDF", "Store PDF reference"]
1618
+ * @businessRules ["Template must exist", "Data structure must match template requirements"]
1619
+ * @functionalArea "document-and-report-generation"
1620
+ * @caching "No caching, dynamic generation"
1621
+ * @performance "PDF generation can take 1-5 seconds depending on complexity"
1622
+ * @param request PDF generation parameters
1623
+ * @returns PDF generation result
1624
+ * @throws ValidationError When request is invalid or response is malformed
1625
+ * @example
1626
+ * ```typescript
1627
+ * const pdf = await client.internal.pdf.create({
1628
+ * templateId: 'invoice',
1629
+ * data: { orderId: 12345 }
1630
+ * });
1631
+ * console.log('PDF URL:', pdf.data.pdfUrl);
1632
+ * ```
1633
+ */
1634
+ create: async (request) => {
1635
+ return this.executeRequest({
1636
+ method: 'POST',
1637
+ path: '/internal/pdf',
1638
+ paramsSchema: z.object({
1639
+ templateId: z.string(),
1640
+ data: z.record(z.unknown()),
1641
+ }),
1642
+ responseSchema: InternalPdfResponseSchema,
1643
+ }, request);
1644
+ },
1203
1645
  },
1204
1646
  };
1205
1647
  /**
1206
- * Item category management endpoints
1207
- * @description Methods for managing item categories following OpenAPI path mirroring pattern
1648
+ * Legacy itemFavorites removed - now using OpenAPI Path Mirroring Pattern
1649
+ * @see itemFavorites implementation below that follows /item-favorites/{usersId} structure
1208
1650
  */
1209
- this.itemCategory = {
1651
+ // Legacy implementation removed
1652
+ /**
1653
+ * Item wishlists management endpoints
1654
+ * @description Methods for managing user wishlists and wishlist items
1655
+ */
1656
+ this.itemWishlist = {
1210
1657
  /**
1211
- * List item categories
1212
- * @description Retrieve a list of item categories
1213
- * @fullPath api.items.itemCategory.list
1658
+ * Get user's wishlists
1659
+ * @description Retrieve wishlists for a specific user (OpenAPI: /item-wishlist/{usersId})
1660
+ * @fullPath api.items.itemWishlist.get
1214
1661
  * @service items
1215
- * @domain product-catalog
1216
- * @dataMethod itemCategoryData.list
1662
+ * @domain user-preferences
1663
+ * @dataMethod itemWishlistData.get
1217
1664
  * @discoverable true
1218
- * @searchTerms ["categories", "item categories", "product categories", "category management"]
1219
- * @relatedEndpoints ["api.items.invMast.list", "api.items.attributes.list"]
1220
- * @commonPatterns ["Show categories", "Manage category structure", "Category navigation"]
1221
- * @workflow ["product-catalog-management", "category-management"]
1222
- * @prerequisites ["Valid authentication token", "Catalog permissions"]
1223
- * @nextSteps ["api.items.itemCategory.get for category details", "api.items.invMast.list for category products"]
1224
- * @businessRules ["Shows active categories only", "Respects category hierarchy", "Returns visible categories"]
1225
- * @functionalArea "product-catalog-management"
1226
- * @caching "Cache for 30 minutes, invalidate on category changes"
1227
- * @performance "Paginated results for large category trees"
1228
- * @param params Optional filtering and pagination parameters
1229
- * @returns Array of item categories
1665
+ * @searchTerms ["wishlists", "user wishlists", "shopping lists", "user lists"]
1666
+ * @relatedEndpoints ["api.items.itemFavorites.list", "api.items.itemWishlist.hdr.get"]
1667
+ * @commonPatterns ["Get user wishlists", "Wishlist management by user"]
1668
+ * @workflow ["user-preferences", "wishlist-management"]
1669
+ * @prerequisites ["Valid authentication token", "User context"]
1670
+ * @nextSteps ["api.items.itemWishlist.hdr.get for specific wishlist", "api.items.itemWishlist.hdr.line.get for line items"]
1671
+ * @businessRules ["Shows wishlists for specified user", "Includes accessible wishlists only"]
1672
+ * @functionalArea "user-preference-management"
1673
+ * @caching "Cache for 5 minutes, invalidate on wishlist changes"
1674
+ * @performance "Returns all wishlists for user"
1675
+ * @param usersId User unique identifier
1676
+ * @returns Array of user's wishlists
1230
1677
  * @throws ValidationError When parameters are invalid or response is malformed
1231
1678
  * @example
1232
1679
  * ```typescript
1233
- * const categories = await client.itemCategory.list({ parentUid: 100 });
1234
- * categories.data.forEach(cat => {
1235
- * console.log(`Category: ${cat.itemCategoryDesc} (${cat.path})`);
1680
+ * const wishlists = await client.itemWishlist.get(12345);
1681
+ * wishlists.data.forEach(list => {
1682
+ * console.log(`Wishlist: ${list.wishlistName} (${list.wishlistDescription})`);
1236
1683
  * });
1237
1684
  * ```
1238
1685
  */
1239
- list: async (params) => {
1686
+ get: async (usersId) => {
1240
1687
  return this.executeRequest({
1241
1688
  method: 'GET',
1242
- path: '/item-category',
1243
- paramsSchema: CategoryListParamsSchema,
1244
- responseSchema: CategoryListResponseSchema,
1245
- }, params);
1689
+ path: '/item-wishlist/{usersId}',
1690
+ responseSchema: ItemWishlistHeaderListResponseSchema,
1691
+ }, undefined, { usersId: String(usersId) });
1246
1692
  },
1693
+ // Note: duplicate get method removed - OpenAPI structure requires usersId parameter
1247
1694
  /**
1248
- * Get item category details
1249
- * @description Retrieve detailed information about a specific item category
1250
- * @fullPath api.items.itemCategory.get
1251
- * @service items
1252
- * @domain product-catalog
1253
- * @dataMethod itemCategoryData.get
1254
- * @discoverable true
1255
- * @searchTerms ["category details", "category info", "category data"]
1256
- * @relatedEndpoints ["api.items.itemCategory.list", "api.items.invMast.list"]
1257
- * @commonPatterns ["Show category details", "Category information lookup"]
1258
- * @param itemCategoryUid Category unique identifier
1259
- * @param params Optional query parameters
1260
- * @returns Category details
1261
- * @throws ValidationError When response is malformed
1695
+ * Create new wishlist for user
1696
+ * @description Create a new wishlist for a specific user (OpenAPI: /item-wishlist/{usersId})
1697
+ * @param usersId User unique identifier
1698
+ * @param request Wishlist creation data
1699
+ * @returns Created wishlist information
1700
+ * @throws ValidationError When request is invalid or response is malformed
1262
1701
  * @example
1263
1702
  * ```typescript
1264
- * const category = await client.itemCategory.get(123);
1265
- * console.log(category.data.itemCategoryDesc, category.data.path);
1703
+ * const wishlist = await client.itemWishlist.create(12345, {
1704
+ * wishlistName: 'Home Office Setup',
1705
+ * wishlistDescription: 'Items for my home office renovation',
1706
+ * isPublic: 'N'
1707
+ * });
1266
1708
  * ```
1267
1709
  */
1268
- get: this.createGetMethod('/item-category/{id}', CategoryResponseSchema),
1710
+ create: async (usersId, request) => {
1711
+ return this.executeRequest({
1712
+ method: 'POST',
1713
+ path: '/item-wishlist/{usersId}',
1714
+ paramsSchema: CreateItemWishlistHeaderRequestSchema,
1715
+ responseSchema: ItemWishlistHeaderResponseSchema,
1716
+ }, request, { usersId: String(usersId) });
1717
+ },
1269
1718
  /**
1270
- * Get category documentation
1271
- * @description Retrieve documentation for a specific item category
1272
- * @fullPath api.items.itemCategory.doc.get
1273
- * @service items
1274
- * @domain product-catalog
1275
- * @discoverable true
1276
- * @searchTerms ["category documentation", "category docs", "category help"]
1277
- * @relatedEndpoints ["api.items.itemCategory.get", "api.items.itemCategory.list"]
1278
- * @commonPatterns ["Show category documentation", "Category help content"]
1279
- * @param itemCategoryUid Category unique identifier
1280
- * @returns Category documentation
1281
- * @throws ValidationError When response is malformed
1282
- * @example
1283
- * ```typescript
1284
- * const docs = await client.itemCategory.doc.get(123);
1285
- * console.log(docs.data.documentationContent);
1286
- * ```
1719
+ * Wishlist header management endpoints
1720
+ * @description Methods for managing specific wishlist headers (OpenAPI: /item-wishlist/{usersId}/hdr/{itemWishlistHdrUid})
1287
1721
  */
1288
- doc: {
1289
- get: async (itemCategoryUid) => {
1722
+ hdr: {
1723
+ /**
1724
+ * Get wishlist header details
1725
+ * @description Retrieve details for a specific wishlist header
1726
+ * @fullPath api.items.itemWishlist.hdr.get
1727
+ * @service items
1728
+ * @domain user-preferences
1729
+ * @param usersId User unique identifier
1730
+ * @param itemWishlistHdrUid Wishlist header unique identifier
1731
+ * @returns Wishlist header details
1732
+ * @throws ValidationError When response is malformed
1733
+ * @example
1734
+ * ```typescript
1735
+ * const wishlist = await client.itemWishlist.hdr.get(12345, 678);
1736
+ * console.log(wishlist.data.wishlistName);
1737
+ * ```
1738
+ */
1739
+ get: async (usersId, itemWishlistHdrUid) => {
1290
1740
  return this.executeRequest({
1291
1741
  method: 'GET',
1292
- path: '/item-category/{itemCategoryUid}/doc',
1293
- responseSchema: CategoryResponseSchema,
1294
- }, undefined, { itemCategoryUid: String(itemCategoryUid) });
1742
+ path: '/item-wishlist/{usersId}/hdr/{itemWishlistHdrUid}',
1743
+ responseSchema: ItemWishlistHeaderResponseSchema,
1744
+ }, undefined, { usersId: String(usersId), itemWishlistHdrUid: String(itemWishlistHdrUid) });
1745
+ },
1746
+ /**
1747
+ * Create wishlist header
1748
+ * @description Create a new wishlist header
1749
+ * @param usersId User unique identifier
1750
+ * @param itemWishlistHdrUid Wishlist header unique identifier
1751
+ * @param request Wishlist header creation data
1752
+ * @returns Created wishlist header information
1753
+ * @throws ValidationError When request is invalid or response is malformed
1754
+ */
1755
+ create: async (usersId, itemWishlistHdrUid, request) => {
1756
+ return this.executeRequest({
1757
+ method: 'POST',
1758
+ path: '/item-wishlist/{usersId}/hdr/{itemWishlistHdrUid}',
1759
+ paramsSchema: CreateItemWishlistHeaderRequestSchema,
1760
+ responseSchema: ItemWishlistHeaderResponseSchema,
1761
+ }, request, { usersId: String(usersId), itemWishlistHdrUid: String(itemWishlistHdrUid) });
1762
+ },
1763
+ /**
1764
+ * Wishlist line management endpoints
1765
+ * @description Methods for managing specific wishlist line items
1766
+ */
1767
+ line: {
1768
+ /**
1769
+ * Get wishlist line details
1770
+ * @description Retrieve details for a specific wishlist line item
1771
+ * @fullPath api.items.itemWishlist.hdr.line.get
1772
+ * @service items
1773
+ * @domain user-preferences
1774
+ * @param usersId User unique identifier
1775
+ * @param itemWishlistHdrUid Wishlist header unique identifier
1776
+ * @param itemWishlistLineUid Wishlist line unique identifier
1777
+ * @returns Wishlist line details
1778
+ * @throws ValidationError When response is malformed
1779
+ * @example
1780
+ * ```typescript
1781
+ * const line = await client.itemWishlist.hdr.line.get(12345, 678, 901);
1782
+ * console.log(`Item: ${line.data.itemDesc}, Qty: ${line.data.qtyDesired}`);
1783
+ * ```
1784
+ */
1785
+ get: async (usersId, itemWishlistHdrUid, itemWishlistLineUid) => {
1786
+ return this.executeRequest({
1787
+ method: 'GET',
1788
+ path: '/item-wishlist/{usersId}/hdr/{itemWishlistHdrUid}/line/{itemWishlistLineUid}',
1789
+ responseSchema: ItemWishlistLineResponseSchema,
1790
+ }, undefined, {
1791
+ usersId: String(usersId),
1792
+ itemWishlistHdrUid: String(itemWishlistHdrUid),
1793
+ itemWishlistLineUid: String(itemWishlistLineUid),
1794
+ });
1795
+ },
1796
+ /**
1797
+ * Delete wishlist line item
1798
+ * @description Remove a specific item from a wishlist
1799
+ * @fullPath api.items.itemWishlist.hdr.line.delete
1800
+ * @service items
1801
+ * @domain user-preferences
1802
+ * @dataMethod itemWishlistData.hdr.line.delete
1803
+ * @discoverable true
1804
+ * @searchTerms ["delete wishlist item", "remove wishlist item", "wishlist line deletion"]
1805
+ * @relatedEndpoints ["api.items.itemWishlist.hdr.line.get", "api.items.itemWishlist.hdr.get"]
1806
+ * @commonPatterns ["Remove item from wishlist", "Clean up wishlist"]
1807
+ * @workflow ["user-preferences", "wishlist-maintenance"]
1808
+ * @prerequisites ["Valid authentication token", "User context", "Line item must exist"]
1809
+ * @nextSteps ["Verify deletion", "Update wishlist display"]
1810
+ * @businessRules ["Removes specific line item only", "Does not affect other wishlist items"]
1811
+ * @functionalArea "user-preference-management"
1812
+ * @caching "Invalidates wishlist cache"
1813
+ * @performance "Direct deletion operation"
1814
+ * @param usersId User unique identifier
1815
+ * @param itemWishlistHdrUid Wishlist header unique identifier
1816
+ * @param itemWishlistLineUid Wishlist line unique identifier
1817
+ * @returns Success status
1818
+ * @throws ValidationError When response is malformed
1819
+ * @example
1820
+ * ```typescript
1821
+ * await client.itemWishlist.hdr.line.delete(12345, 678, 901);
1822
+ * ```
1823
+ */
1824
+ delete: async (usersId, itemWishlistHdrUid, itemWishlistLineUid) => {
1825
+ return this.executeRequest({
1826
+ method: 'DELETE',
1827
+ path: '/item-wishlist/{usersId}/hdr/{itemWishlistHdrUid}/line/{itemWishlistLineUid}',
1828
+ responseSchema: z.object({
1829
+ count: z.number(),
1830
+ data: z.any(),
1831
+ message: z.string(),
1832
+ options: z.any(),
1833
+ params: z.any(),
1834
+ status: z.number(),
1835
+ total: z.number(),
1836
+ totalResults: z.number(),
1837
+ }),
1838
+ }, undefined, {
1839
+ usersId: String(usersId),
1840
+ itemWishlistHdrUid: String(itemWishlistHdrUid),
1841
+ itemWishlistLineUid: String(itemWishlistLineUid),
1842
+ });
1843
+ },
1295
1844
  },
1296
- },
1297
- /**
1298
- * Category lookup
1299
- * @description Lookup categories by various criteria
1300
- * @fullPath api.items.itemCategory.lookup
1301
- * @service items
1302
- * @domain product-catalog
1303
- * @discoverable true
1304
- * @searchTerms ["category lookup", "find categories", "category search"]
1305
- * @relatedEndpoints ["api.items.itemCategory.list", "api.items.itemCategory.get"]
1306
- * @commonPatterns ["Find categories", "Category search", "Category filtering"]
1307
- * @param params Lookup criteria
1308
- * @returns Matching categories
1309
- * @throws ValidationError When parameters are invalid or response is malformed
1310
- * @example
1311
- * ```typescript
1312
- * const categories = await client.itemCategory.lookup({
1313
- * categoryPath: '/Electronics/Components'
1314
- * });
1315
- * ```
1316
- */
1317
- lookup: async (params) => {
1318
- return this.executeRequest({
1319
- method: 'GET',
1320
- path: '/item-category/lookup',
1321
- paramsSchema: CategoryLookupParamsSchema,
1322
- responseSchema: CategoryListResponseSchema,
1323
- }, params);
1324
1845
  },
1325
1846
  };
1326
1847
  /**
1327
- * Item category data-only endpoints
1328
- * @description Data-only methods that return just the data portion of category responses
1848
+ * Item wishlists data-only endpoints
1849
+ * @description Data-only methods that return just the data portion of wishlists responses
1329
1850
  */
1330
- this.itemCategoryData = {
1331
- /**
1332
- * List item categories data only
1333
- * @description Returns only the data portion of categories list response
1334
- * @param params Optional filtering and pagination parameters
1335
- * @returns Array of category data
1336
- */
1337
- list: async (params) => {
1338
- const response = await this.itemCategory.list(params);
1339
- return response.data;
1340
- },
1851
+ this.itemWishlistData = {
1341
1852
  /**
1342
- * Get item category details data only
1343
- * @description Returns only the data portion of category details response
1344
- * @param itemCategoryUid Category unique identifier
1345
- * @param params Optional query parameters
1346
- * @returns Category data
1853
+ * Get user's wishlists data only
1854
+ * @description Returns only the data portion of user wishlists response
1855
+ * @param usersId User unique identifier
1856
+ * @returns Array of wishlists data
1347
1857
  */
1348
- get: async (itemCategoryUid) => {
1349
- const response = await this.itemCategory.get(itemCategoryUid);
1858
+ get: async (usersId) => {
1859
+ const response = await this.itemWishlist.get(usersId);
1350
1860
  return response.data;
1351
1861
  },
1862
+ // Note: getLines data method removed - parent method was removed for OpenAPI compliance
1352
1863
  };
1353
1864
  /**
1354
1865
  * Product variants management endpoints
@@ -1404,7 +1915,7 @@ export class ItemsClient extends BaseServiceClient {
1404
1915
  * console.log(variant.data.variantGroupName, variant.data.variantType);
1405
1916
  * ```
1406
1917
  */
1407
- get: this.createGetMethod('/variants/{id}', ItemVariantHeaderResponseSchema),
1918
+ get: this.createGetMethod('/variants/{itemVariantHdrUid}', ItemVariantHeaderResponseSchema),
1408
1919
  /**
1409
1920
  * Create new variant group
1410
1921
  * @description Create a new product variant group
@@ -1437,7 +1948,7 @@ export class ItemsClient extends BaseServiceClient {
1437
1948
  * });
1438
1949
  * ```
1439
1950
  */
1440
- update: this.createUpdateMethod('/variants/{id}', UpdateItemVariantHeaderRequestSchema, ItemVariantHeaderResponseSchema),
1951
+ update: this.createUpdateMethod('/variants/{itemVariantHdrUid}', UpdateItemVariantHeaderRequestSchema, ItemVariantHeaderResponseSchema),
1441
1952
  /**
1442
1953
  * Delete variant group
1443
1954
  * @description Delete a variant group and all its variant items
@@ -1449,7 +1960,7 @@ export class ItemsClient extends BaseServiceClient {
1449
1960
  * await client.variants.delete(123);
1450
1961
  * ```
1451
1962
  */
1452
- delete: this.createDeleteMethod('/variants/{id}', ItemVariantHeaderResponseSchema),
1963
+ delete: this.createDeleteMethod('/variants/{itemVariantHdrUid}', ItemVariantHeaderResponseSchema),
1453
1964
  /**
1454
1965
  * Get variant items
1455
1966
  * @description Retrieve items in a specific variant group
@@ -1467,9 +1978,9 @@ export class ItemsClient extends BaseServiceClient {
1467
1978
  getLines: async (variantHeaderUid) => {
1468
1979
  return this.executeRequest({
1469
1980
  method: 'GET',
1470
- path: '/variants/{id}/lines',
1981
+ path: '/variants/{itemVariantHdrUid}/lines',
1471
1982
  responseSchema: ItemVariantLineListResponseSchema,
1472
- }, undefined, { id: String(variantHeaderUid) });
1983
+ }, undefined, { itemVariantHdrUid: String(variantHeaderUid) });
1473
1984
  },
1474
1985
  /**
1475
1986
  * Add variant item
@@ -1492,10 +2003,10 @@ export class ItemsClient extends BaseServiceClient {
1492
2003
  addLine: async (variantHeaderUid, request) => {
1493
2004
  return this.executeRequest({
1494
2005
  method: 'POST',
1495
- path: '/variants/{id}/lines',
2006
+ path: '/variants/{itemVariantHdrUid}/lines',
1496
2007
  paramsSchema: CreateItemVariantLineRequestSchema,
1497
2008
  responseSchema: ItemVariantLineResponseSchema,
1498
- }, request, { id: String(variantHeaderUid) });
2009
+ }, request, { itemVariantHdrUid: String(variantHeaderUid) });
1499
2010
  },
1500
2011
  /**
1501
2012
  * Update variant item
@@ -1607,10 +2118,10 @@ export class ItemsClient extends BaseServiceClient {
1607
2118
  list: async (invMastUid, params) => {
1608
2119
  return this.executeRequest({
1609
2120
  method: 'GET',
1610
- path: '/inv-mast/{id}/faq',
2121
+ path: '/inv-mast/{invMastUid}/faq',
1611
2122
  paramsSchema: ItemFaqListParamsSchema,
1612
2123
  responseSchema: ItemFaqListResponseSchema,
1613
- }, params, { id: String(invMastUid) });
2124
+ }, params, { invMastUid: String(invMastUid) });
1614
2125
  },
1615
2126
  /**
1616
2127
  * Get FAQ details
@@ -1652,10 +2163,10 @@ export class ItemsClient extends BaseServiceClient {
1652
2163
  create: async (invMastUid, request) => {
1653
2164
  return this.executeRequest({
1654
2165
  method: 'POST',
1655
- path: '/inv-mast/{id}/faq',
2166
+ path: '/inv-mast/{invMastUid}/faq',
1656
2167
  paramsSchema: CreateItemFaqRequestSchema,
1657
2168
  responseSchema: ItemFaqResponseSchema,
1658
- }, request, { id: String(invMastUid) });
2169
+ }, request, { invMastUid: String(invMastUid) });
1659
2170
  },
1660
2171
  /**
1661
2172
  * Update FAQ
@@ -1739,155 +2250,6 @@ export class ItemsClient extends BaseServiceClient {
1739
2250
  return response.data;
1740
2251
  },
1741
2252
  };
1742
- /**
1743
- * Brand-item relationship management endpoints
1744
- * @description Methods for managing relationships between brands and items
1745
- */
1746
- this.brandItems = {
1747
- /**
1748
- * List brand-item relationships
1749
- * @description Retrieve brand-item relationships for a specific brand
1750
- * @fullPath api.items.brandItems.list
1751
- * @service items
1752
- * @domain product-catalog
1753
- * @dataMethod brandItemsData.list
1754
- * @discoverable true
1755
- * @searchTerms ["brand items", "brand products", "brand relationships", "manufacturer items", "brand catalog"]
1756
- * @relatedEndpoints ["api.items.brands.list", "api.items.products.get"]
1757
- * @commonPatterns ["Show brand products", "Manage brand relationships", "Brand catalog management"]
1758
- * @workflow ["product-catalog-management", "brand-management"]
1759
- * @prerequisites ["Valid authentication token", "Brand management permissions"]
1760
- * @nextSteps ["api.items.products.get for product details", "api.items.brands.get for brand details"]
1761
- * @businessRules ["Shows active relationships only", "Respects product visibility", "Primary brand identification"]
1762
- * @functionalArea "product-catalog-management"
1763
- * @caching "Cache for 20 minutes, invalidate on relationship changes"
1764
- * @performance "Paginated results for brands with many products"
1765
- * @param brandUid Brand unique identifier
1766
- * @param params Optional filtering and pagination parameters
1767
- * @returns Array of brand-item relationships
1768
- * @throws ValidationError When parameters are invalid or response is malformed
1769
- * @example
1770
- * ```typescript
1771
- * const brandItems = await client.brandItems.list(123, { isPrimary: 'Y' });
1772
- * brandItems.data.forEach(item => {
1773
- * console.log(`${item.itemDesc} - Brand Part: ${item.brandPartNumber}`);
1774
- * });
1775
- * ```
1776
- */
1777
- list: async (brandUid, params) => {
1778
- return this.executeRequest({
1779
- method: 'GET',
1780
- path: '/brands/{id}/items',
1781
- paramsSchema: BrandItemListParamsSchema,
1782
- responseSchema: BrandItemListResponseSchema,
1783
- }, params, { id: String(brandUid) });
1784
- },
1785
- /**
1786
- * Get brand-item relationship details
1787
- * @description Retrieve details for a specific brand-item relationship
1788
- * @param brandUid Brand unique identifier
1789
- * @param brandItemUid Brand-item relationship unique identifier
1790
- * @returns Brand-item relationship details
1791
- * @throws ValidationError When response is malformed
1792
- * @example
1793
- * ```typescript
1794
- * const relationship = await client.brandItems.get(123, 456);
1795
- * console.log(relationship.data.brandPartNumber, relationship.data.brandItemDesc);
1796
- * ```
1797
- */
1798
- get: async (brandUid, brandItemUid) => {
1799
- return this.executeRequest({
1800
- method: 'GET',
1801
- path: '/brands/{brandId}/items/{itemId}',
1802
- responseSchema: BrandItemResponseSchema,
1803
- }, undefined, { brandId: String(brandUid), itemId: String(brandItemUid) });
1804
- },
1805
- /**
1806
- * Create brand-item relationship
1807
- * @description Create a new relationship between a brand and an item
1808
- * @param brandUid Brand unique identifier
1809
- * @param request Brand-item relationship creation data
1810
- * @returns Created relationship information
1811
- * @throws ValidationError When request is invalid or response is malformed
1812
- * @example
1813
- * ```typescript
1814
- * const relationship = await client.brandItems.create(123, {
1815
- * invMastUid: 12345,
1816
- * brandPartNumber: 'BRD-001',
1817
- * brandItemDesc: 'Brand-specific description',
1818
- * isPrimary: 'Y'
1819
- * });
1820
- * ```
1821
- */
1822
- create: async (brandUid, request) => {
1823
- return this.executeRequest({
1824
- method: 'POST',
1825
- path: '/brands/{id}/items',
1826
- paramsSchema: CreateBrandItemRequestSchema,
1827
- responseSchema: BrandItemResponseSchema,
1828
- }, request, { id: String(brandUid) });
1829
- },
1830
- /**
1831
- * Update brand-item relationship
1832
- * @description Update an existing brand-item relationship
1833
- * @param brandUid Brand unique identifier
1834
- * @param brandItemUid Brand-item relationship unique identifier
1835
- * @param request Update data
1836
- * @returns Updated relationship information
1837
- * @throws ValidationError When request is invalid or response is malformed
1838
- * @example
1839
- * ```typescript
1840
- * const updated = await client.brandItems.update(123, 456, {
1841
- * brandPartNumber: 'BRD-001-V2',
1842
- * brandItemDesc: 'Updated brand-specific description'
1843
- * });
1844
- * ```
1845
- */
1846
- update: async (brandUid, brandItemUid, request) => {
1847
- return this.executeRequest({
1848
- method: 'PUT',
1849
- path: '/brands/{brandId}/items/{itemId}',
1850
- paramsSchema: UpdateBrandItemRequestSchema,
1851
- responseSchema: BrandItemResponseSchema,
1852
- }, request, { brandId: String(brandUid), itemId: String(brandItemUid) });
1853
- },
1854
- /**
1855
- * Delete brand-item relationship
1856
- * @description Remove a relationship between a brand and an item
1857
- * @param brandUid Brand unique identifier
1858
- * @param brandItemUid Brand-item relationship unique identifier
1859
- * @returns Success response
1860
- * @throws ValidationError When response is malformed
1861
- * @example
1862
- * ```typescript
1863
- * await client.brandItems.delete(123, 456);
1864
- * ```
1865
- */
1866
- delete: async (brandUid, brandItemUid) => {
1867
- return this.executeRequest({
1868
- method: 'DELETE',
1869
- path: '/brands/{brandId}/items/{itemId}',
1870
- responseSchema: BrandItemResponseSchema,
1871
- }, undefined, { brandId: String(brandUid), itemId: String(brandItemUid) });
1872
- },
1873
- };
1874
- /**
1875
- * Brand-item relationship data-only endpoints
1876
- * @description Data-only methods that return just the data portion of brand-item responses
1877
- */
1878
- this.brandItemsData = {
1879
- /**
1880
- * List brand-item relationships data only
1881
- * @description Returns only the data portion of brand-item relationships response
1882
- * @param brandUid Brand unique identifier
1883
- * @param params Optional filtering and pagination parameters
1884
- * @returns Array of brand-item relationships data
1885
- */
1886
- list: async (brandUid, params) => {
1887
- const response = await this.brandItems.list(brandUid, params);
1888
- return response.data;
1889
- },
1890
- };
1891
2253
  /**
1892
2254
  * Product links management endpoints
1893
2255
  * @description Methods for managing relationships between products (accessories, related items, etc.)
@@ -1926,10 +2288,10 @@ export class ItemsClient extends BaseServiceClient {
1926
2288
  list: async (invMastUid, params) => {
1927
2289
  return this.executeRequest({
1928
2290
  method: 'GET',
1929
- path: '/inv-mast/{id}/links',
2291
+ path: '/inv-mast/{invMastUid}/links',
1930
2292
  paramsSchema: ProductLinkListParamsSchema,
1931
2293
  responseSchema: ProductLinkListResponseSchema,
1932
- }, params, { id: String(invMastUid) });
2294
+ }, params, { invMastUid: String(invMastUid) });
1933
2295
  },
1934
2296
  /**
1935
2297
  * Get product link details
@@ -1971,10 +2333,10 @@ export class ItemsClient extends BaseServiceClient {
1971
2333
  create: async (invMastUid, request) => {
1972
2334
  return this.executeRequest({
1973
2335
  method: 'POST',
1974
- path: '/inv-mast/{id}/links',
2336
+ path: '/inv-mast/{invMastUid}/links',
1975
2337
  paramsSchema: CreateProductLinkRequestSchema,
1976
2338
  responseSchema: ProductLinkResponseSchema,
1977
- }, request, { id: String(invMastUid) });
2339
+ }, request, { invMastUid: String(invMastUid) });
1978
2340
  },
1979
2341
  /**
1980
2342
  * Update product link
@@ -2075,10 +2437,10 @@ export class ItemsClient extends BaseServiceClient {
2075
2437
  list: async (invMastUid, params) => {
2076
2438
  return this.executeRequest({
2077
2439
  method: 'GET',
2078
- path: '/inv-mast/{id}/subparts',
2440
+ path: '/inv-mast/{invMastUid}/subparts',
2079
2441
  paramsSchema: SubPartListParamsSchema,
2080
2442
  responseSchema: SubPartListResponseSchema,
2081
- }, params, { id: String(invMastUid) });
2443
+ }, params, { invMastUid: String(invMastUid) });
2082
2444
  },
2083
2445
  /**
2084
2446
  * Get sub-part details
@@ -2121,10 +2483,10 @@ export class ItemsClient extends BaseServiceClient {
2121
2483
  create: async (invMastUid, request) => {
2122
2484
  return this.executeRequest({
2123
2485
  method: 'POST',
2124
- path: '/inv-mast/{id}/subparts',
2486
+ path: '/inv-mast/{invMastUid}/subparts',
2125
2487
  paramsSchema: CreateSubPartRequestSchema,
2126
2488
  responseSchema: SubPartResponseSchema,
2127
- }, request, { id: String(invMastUid) });
2489
+ }, request, { invMastUid: String(invMastUid) });
2128
2490
  },
2129
2491
  /**
2130
2492
  * Update sub-part relationship
@@ -2198,62 +2560,61 @@ export class ItemsClient extends BaseServiceClient {
2198
2560
  */
2199
2561
  bins: {
2200
2562
  /**
2201
- * List location bins
2202
- * @description Retrieve bins for a specific location
2563
+ * List all items in bins at a location
2564
+ * @description OpenAPI: /locations/{locationId}/bins - "List all items in bins at a location"
2203
2565
  * @fullPath api.items.locations.bins.list
2204
2566
  * @service items
2205
2567
  * @domain inventory-management
2206
- * @dataMethod locationsData.bins.list
2207
- * @discoverable true
2208
- * @searchTerms ["bins", "warehouse bins", "location bins", "storage bins", "inventory locations"]
2209
- * @relatedEndpoints ["api.nexus.inventory.locations", "api.items.stock.getDetails"]
2210
- * @commonPatterns ["Warehouse management", "Inventory location tracking", "Bin organization"]
2211
- * @workflow ["inventory-management", "warehouse-operations"]
2212
- * @prerequisites ["Valid authentication token", "Warehouse access permissions"]
2213
- * @nextSteps ["api.items.bins.getInventory for stock levels", "api.nexus.inventory.movements for movements"]
2214
- * @businessRules ["Shows active bins only", "Location-specific access", "Capacity tracking"]
2215
- * @functionalArea "warehouse-and-inventory-management"
2216
- * @caching "Cache for 10 minutes, invalidate on bin changes"
2217
- * @performance "Paginated results for locations with many bins"
2218
2568
  * @param locationId Location unique identifier
2219
- * @param params Optional filtering and pagination parameters
2220
- * @returns Array of location bins
2221
- * @throws ValidationError When parameters are invalid or response is malformed
2569
+ * @param params Optional filtering parameters (excludeZero, bin filter, pagination)
2570
+ * @returns Array of inventory items in bins at the location
2222
2571
  * @example
2223
2572
  * ```typescript
2224
- * const bins = await client.locations.bins.list(123, { zone: 'A', isActive: 'Y' });
2225
- * bins.data.forEach(bin => {
2226
- * console.log(`${bin.bin} - ${bin.binDesc} (${bin.zone}-${bin.aisle}-${bin.shelf})`);
2573
+ * const items = await client.locations.bins.list(123);
2574
+ * items.data.forEach(item => {
2575
+ * console.log(`${item.bin}: ${item.itemId} (${item.qtyOnHand})`);
2227
2576
  * });
2228
2577
  * ```
2229
2578
  */
2230
2579
  list: async (locationId, params) => {
2231
2580
  return this.executeRequest({
2232
2581
  method: 'GET',
2233
- path: '/locations/{id}/bins',
2234
- paramsSchema: BinListParamsSchema,
2235
- responseSchema: BinListResponseSchema,
2236
- }, params, { id: String(locationId) });
2582
+ path: '/locations/{locationId}/bins',
2583
+ paramsSchema: LocationsBinsParamsSchema,
2584
+ responseSchema: LocationsBinsResponseSchema,
2585
+ }, params, { locationId: String(locationId) });
2237
2586
  },
2238
2587
  /**
2239
- * Get bin details
2240
- * @description Retrieve details for a specific bin
2241
- * @param locationId Location unique identifier
2242
- * @param bin Bin identifier
2243
- * @returns Bin details
2244
- * @throws ValidationError When response is malformed
2245
- * @example
2246
- * ```typescript
2247
- * const binDetails = await client.bins.get(123, 'A01-B02-S03');
2248
- * console.log(binDetails.data.binDesc, binDetails.data.maxCapacity);
2249
- * ```
2588
+ * Specific bin endpoints
2589
+ * @description Methods for accessing specific bins by identifier
2250
2590
  */
2251
- get: async (locationId, bin) => {
2252
- return this.executeRequest({
2253
- method: 'GET',
2254
- path: '/locations/{locationId}/bins/{bin}',
2255
- responseSchema: BinResponseSchema,
2256
- }, undefined, { locationId: String(locationId), bin });
2591
+ bin: {
2592
+ /**
2593
+ * List all items in a specific bin
2594
+ * @description OpenAPI: /locations/{locationId}/bins/{bin} - "List all items in a specific bin"
2595
+ * @fullPath api.items.locations.bins.bin.get
2596
+ * @service items
2597
+ * @domain inventory-management
2598
+ * @param locationId Location unique identifier
2599
+ * @param bin Bin identifier
2600
+ * @param params Optional filtering parameters (excludeZero, pagination)
2601
+ * @returns Array of inventory items in the specific bin
2602
+ * @example
2603
+ * ```typescript
2604
+ * const items = await client.locations.bins.bin.get(123, 'A-01');
2605
+ * items.data.forEach(item => {
2606
+ * console.log(`${item.itemId}: ${item.qtyOnHand}`);
2607
+ * });
2608
+ * ```
2609
+ */
2610
+ get: async (locationId, bin, params) => {
2611
+ return this.executeRequest({
2612
+ method: 'GET',
2613
+ path: '/locations/{locationId}/bins/{bin}',
2614
+ paramsSchema: LocationsBinsParamsSchema,
2615
+ responseSchema: LocationsBinsResponseSchema,
2616
+ }, params, { locationId: String(locationId), bin });
2617
+ },
2257
2618
  },
2258
2619
  /**
2259
2620
  * Create new bin
@@ -2278,10 +2639,10 @@ export class ItemsClient extends BaseServiceClient {
2278
2639
  create: async (locationId, request) => {
2279
2640
  return this.executeRequest({
2280
2641
  method: 'POST',
2281
- path: '/locations/{id}/bins',
2642
+ path: '/locations/{locationId}/bins',
2282
2643
  paramsSchema: CreateBinRequestSchema,
2283
2644
  responseSchema: BinResponseSchema,
2284
- }, request, { id: String(locationId) });
2645
+ }, request, { locationId: String(locationId) });
2285
2646
  },
2286
2647
  /**
2287
2648
  * Update bin
@@ -2346,8 +2707,8 @@ export class ItemsClient extends BaseServiceClient {
2346
2707
  return this.executeRequest({
2347
2708
  method: 'GET',
2348
2709
  path: '/inv-mast/{invMastId}/locations/{locationId}/bins',
2349
- paramsSchema: InventoryLocationBinListParamsSchema,
2350
- responseSchema: InventoryLocationBinListResponseSchema,
2710
+ paramsSchema: LocationsBinsParamsSchema,
2711
+ responseSchema: LocationsBinsResponseSchema,
2351
2712
  }, params, { invMastId: String(invMastUid), locationId: String(locationId) });
2352
2713
  },
2353
2714
  },
@@ -2385,6 +2746,40 @@ export class ItemsClient extends BaseServiceClient {
2385
2746
  const response = await this.locations.bins.getInventory(invMastUid, locationId, params);
2386
2747
  return response.data;
2387
2748
  },
2749
+ /**
2750
+ * Bin-specific data methods
2751
+ * @description Data-only methods for specific bin operations
2752
+ */
2753
+ bin: {
2754
+ /**
2755
+ * Get items in specific bin data only
2756
+ * @description Returns only the data portion of items in a specific bin
2757
+ *
2758
+ * @fullPath api.items.locations.bins.bin.get
2759
+ * @service items
2760
+ * @domain inventory
2761
+ * @dataMethod true
2762
+ * @discoverable true
2763
+ * @searchTerms ["specific bin items", "bin contents", "single bin inventory"]
2764
+ * @relatedEndpoints ["locations.bins.list"]
2765
+ * @commonPatterns ["show items in bin A-01", "what's in bin B-02"]
2766
+ *
2767
+ * @param locationId Location unique identifier
2768
+ * @param bin Bin identifier
2769
+ * @param params Optional filtering parameters
2770
+ * @returns Array of items in the specified bin
2771
+ *
2772
+ * @example
2773
+ * ```typescript
2774
+ * // Get items in specific bin
2775
+ * const items = await client.locationsData.bins.bin.get(100, 'A-01');
2776
+ * ```
2777
+ */
2778
+ get: async (locationId, bin, params) => {
2779
+ const response = await this.locations.bins.bin.get(locationId, bin, params);
2780
+ return response.data;
2781
+ },
2782
+ },
2388
2783
  },
2389
2784
  };
2390
2785
  /**
@@ -2732,157 +3127,6 @@ export class ItemsClient extends BaseServiceClient {
2732
3127
  * Brand item associations
2733
3128
  * @description Methods for managing item associations within brands
2734
3129
  */
2735
- this.brandsItems = {
2736
- /**
2737
- * List items for a brand
2738
- * @description Retrieve all items associated with a brand
2739
- * @param brandsUid Brand unique identifier
2740
- * @param params Optional pagination parameters
2741
- * @returns Array of items for the brand
2742
- * @throws ValidationError When parameters are invalid or response is malformed
2743
- * @example
2744
- * ```typescript
2745
- * const brandItems = await client.brandsItems.list(123);
2746
- * brandItems.data.forEach(item => {
2747
- * console.log(`${item.itemId}: ${item.itemDesc}`);
2748
- * });
2749
- * ```
2750
- */
2751
- list: async (brandsUid, params) => {
2752
- return this.executeRequest({
2753
- method: 'GET',
2754
- path: '/brands/{brandsUid}/items',
2755
- paramsSchema: StandardPaginationParamsSchema,
2756
- responseSchema: ProductListResponseSchema,
2757
- }, params, { brandsUid: String(brandsUid) });
2758
- },
2759
- /**
2760
- * Add item to brand
2761
- * @description Associate an item with a brand
2762
- * @param brandsUid Brand unique identifier
2763
- * @param request Association data
2764
- * @returns Created association
2765
- * @throws ValidationError When request is invalid or response is malformed
2766
- * @example
2767
- * ```typescript
2768
- * const association = await client.brandsItems.create(123, {
2769
- * invMastUid: 456
2770
- * });
2771
- * ```
2772
- */
2773
- create: async (brandsUid, request) => {
2774
- return this.executeRequest({
2775
- method: 'POST',
2776
- path: '/brands/{brandsUid}/items',
2777
- paramsSchema: z.object({
2778
- invMastUid: z.number(),
2779
- }),
2780
- responseSchema: z.object({
2781
- count: z.number(),
2782
- data: z.object({
2783
- brandsXItemsUid: z.number(),
2784
- brandsUid: z.number(),
2785
- invMastUid: z.number(),
2786
- }),
2787
- message: z.string(),
2788
- options: z.any(),
2789
- params: z.any(),
2790
- status: z.number(),
2791
- total: z.number(),
2792
- totalResults: z.number(),
2793
- }),
2794
- }, request, { brandsUid: String(brandsUid) });
2795
- },
2796
- /**
2797
- * Get specific brand-item association
2798
- * @description Get details of a specific brand-item association
2799
- * @param brandsUid Brand unique identifier
2800
- * @param brandsXItemsUid Association unique identifier
2801
- * @returns Association details
2802
- * @throws ValidationError When response is malformed
2803
- * @example
2804
- * ```typescript
2805
- * const association = await client.brandItems.get(123, 789);
2806
- * console.log(association.data.invMastUid);
2807
- * ```
2808
- */
2809
- get: async (brandsUid, brandsXItemsUid) => {
2810
- return this.executeRequest({
2811
- method: 'GET',
2812
- path: '/brands/{brandsUid}/items/{brandsXItemsUid}',
2813
- responseSchema: z.object({
2814
- count: z.number(),
2815
- data: z.object({
2816
- brandsXItemsUid: z.number(),
2817
- brandsUid: z.number(),
2818
- invMastUid: z.number(),
2819
- }),
2820
- message: z.string(),
2821
- options: z.any(),
2822
- params: z.any(),
2823
- status: z.number(),
2824
- total: z.number(),
2825
- totalResults: z.number(),
2826
- }),
2827
- }, undefined, { brandsUid: String(brandsUid), brandsXItemsUid: String(brandsXItemsUid) });
2828
- },
2829
- /**
2830
- * Update brand-item association
2831
- * @description Update a brand-item association
2832
- * @param brandsUid Brand unique identifier
2833
- * @param brandsXItemsUid Association unique identifier
2834
- * @param request Update data
2835
- * @returns Updated association
2836
- * @throws ValidationError When request is invalid or response is malformed
2837
- * @example
2838
- * ```typescript
2839
- * const updated = await client.brandItems.update(123, 789, {
2840
- * invMastUid: 999
2841
- * });
2842
- * ```
2843
- */
2844
- update: async (brandsUid, brandsXItemsUid, request) => {
2845
- return this.executeRequest({
2846
- method: 'PUT',
2847
- path: '/brands/{brandsUid}/items/{brandsXItemsUid}',
2848
- paramsSchema: UpdateBrandItemRequestSchema,
2849
- responseSchema: z.object({
2850
- count: z.number(),
2851
- data: z.object({
2852
- brandsXItemsUid: z.number(),
2853
- brandsUid: z.number(),
2854
- invMastUid: z.number(),
2855
- }),
2856
- message: z.string(),
2857
- options: z.any(),
2858
- params: z.any(),
2859
- status: z.number(),
2860
- total: z.number(),
2861
- totalResults: z.number(),
2862
- }),
2863
- }, request, { brandsUid: String(brandsUid), brandsXItemsUid: String(brandsXItemsUid) });
2864
- },
2865
- /**
2866
- * Remove item from brand
2867
- * @description Remove an item association from a brand
2868
- * @param brandsUid Brand unique identifier
2869
- * @param brandsXItemsUid Association unique identifier
2870
- * @returns Success indication
2871
- * @throws ValidationError When response is malformed
2872
- * @example
2873
- * ```typescript
2874
- * await client.brandItems.delete(123, 789);
2875
- * ```
2876
- */
2877
- delete: async (brandsUid, brandsXItemsUid) => {
2878
- await this.executeRequest({
2879
- method: 'DELETE',
2880
- path: '/brands/{brandsUid}/items/{brandsXItemsUid}',
2881
- responseSchema: z.undefined(),
2882
- }, undefined, { brandsUid: String(brandsUid), brandsXItemsUid: String(brandsXItemsUid) });
2883
- return true;
2884
- },
2885
- };
2886
3130
  /**
2887
3131
  * Additional missing endpoints
2888
3132
  * @description Methods for endpoints that were missing from the implementation
@@ -3269,7 +3513,7 @@ export class ItemsClient extends BaseServiceClient {
3269
3513
  * console.log(invMast.data.itemId, invMast.data.itemDesc, invMast.data.listPrice);
3270
3514
  * ```
3271
3515
  */
3272
- get: this.createGetMethod('/inv-mast/{id}', ProductResponseSchema),
3516
+ get: this.createGetMethod('/inv-mast/{invMastUid}', ProductResponseSchema),
3273
3517
  /**
3274
3518
  * List inventory masters with filtering and pagination
3275
3519
  * @description Retrieve a paginated list of inventory masters with comprehensive filtering options
@@ -3372,7 +3616,7 @@ export class ItemsClient extends BaseServiceClient {
3372
3616
  get: async (invMastUid, params) => {
3373
3617
  return this.executeRequest({
3374
3618
  method: 'GET',
3375
- path: '/inv-mast/{id}/doc',
3619
+ path: '/inv-mast/{invMastUid}/doc',
3376
3620
  paramsSchema: z
3377
3621
  .object({
3378
3622
  includePricing: z.string().optional(),
@@ -3380,13 +3624,13 @@ export class ItemsClient extends BaseServiceClient {
3380
3624
  })
3381
3625
  .optional(),
3382
3626
  responseSchema: ProductResponseSchema,
3383
- }, params, { id: String(invMastUid) });
3627
+ }, params, { invMastUid: String(invMastUid) });
3384
3628
  },
3385
3629
  },
3386
3630
  /**
3387
3631
  * Get similar inventory masters
3388
3632
  * @description Retrieve similar inventory masters to the specified one
3389
- * @fullPath api.items.invMast.similar.get
3633
+ * @fullPath api.items.invMast.similar.list
3390
3634
  * @service items
3391
3635
  * @domain inventory-management
3392
3636
  * @discoverable true
@@ -3396,22 +3640,22 @@ export class ItemsClient extends BaseServiceClient {
3396
3640
  * @throws ValidationError When response is malformed
3397
3641
  * @example
3398
3642
  * ```typescript
3399
- * const similar = await client.invMast.similar.get(12345);
3643
+ * const similar = await client.invMast.similar.list(12345);
3400
3644
  * ```
3401
3645
  */
3402
3646
  similar: {
3403
- get: async (invMastUid) => {
3647
+ list: async (invMastUid) => {
3404
3648
  return this.executeRequest({
3405
3649
  method: 'GET',
3406
- path: '/inv-mast/{id}/similar',
3650
+ path: '/inv-mast/{invMastUid}/similar',
3407
3651
  responseSchema: ProductListResponseSchema,
3408
- }, undefined, { id: String(invMastUid) });
3652
+ }, undefined, { invMastUid: String(invMastUid) });
3409
3653
  },
3410
3654
  },
3411
3655
  /**
3412
3656
  * Get inventory master alternate codes
3413
3657
  * @description Retrieve alternate codes for a specific inventory master
3414
- * @fullPath api.items.invMast.alternateCode.get
3658
+ * @fullPath api.items.invMast.alternateCode.list
3415
3659
  * @service items
3416
3660
  * @domain inventory-management
3417
3661
  * @discoverable true
@@ -3421,34 +3665,23 @@ export class ItemsClient extends BaseServiceClient {
3421
3665
  * @throws ValidationError When response is malformed
3422
3666
  * @example
3423
3667
  * ```typescript
3424
- * const altCodes = await client.invMast.alternateCode.get(12345);
3668
+ * const altCodes = await client.invMast.alternateCode.list(12345);
3425
3669
  * ```
3426
3670
  */
3427
3671
  alternateCode: {
3428
- get: async (invMastUid) => {
3672
+ list: async (invMastUid, params) => {
3429
3673
  return this.executeRequest({
3430
3674
  method: 'GET',
3431
- path: '/inv-mast/{id}/alternate-code',
3432
- responseSchema: z.object({
3433
- count: z.number(),
3434
- data: z.array(z.object({
3435
- alternateCode: z.string(),
3436
- codeType: z.string().optional(),
3437
- })),
3438
- message: z.string(),
3439
- options: z.any(),
3440
- params: z.any(),
3441
- status: z.number(),
3442
- total: z.number(),
3443
- totalResults: z.number(),
3444
- }),
3445
- }, undefined, { id: String(invMastUid) });
3675
+ path: '/inv-mast/{invMastUid}/alternate-code',
3676
+ paramsSchema: AlternateCodeListParamsSchema,
3677
+ responseSchema: AlternateCodeListResponseSchema,
3678
+ }, params, { invMastUid: String(invMastUid) });
3446
3679
  },
3447
3680
  },
3448
3681
  /**
3449
3682
  * Get inventory master accessories
3450
3683
  * @description Retrieve accessories for a specific inventory master
3451
- * @fullPath api.items.invMast.invAccessory.get
3684
+ * @fullPath api.items.invMast.invAccessory.list
3452
3685
  * @service items
3453
3686
  * @domain inventory-management
3454
3687
  * @discoverable true
@@ -3458,22 +3691,22 @@ export class ItemsClient extends BaseServiceClient {
3458
3691
  * @throws ValidationError When response is malformed
3459
3692
  * @example
3460
3693
  * ```typescript
3461
- * const accessories = await client.invMast.invAccessory.get(12345);
3694
+ * const accessories = await client.invMast.invAccessory.list(12345);
3462
3695
  * ```
3463
3696
  */
3464
3697
  invAccessory: {
3465
- get: async (invMastUid) => {
3698
+ list: async (invMastUid) => {
3466
3699
  return this.executeRequest({
3467
3700
  method: 'GET',
3468
- path: '/inv-mast/{id}/inv-accessory',
3701
+ path: '/inv-mast/{invMastUid}/inv-accessory',
3469
3702
  responseSchema: AccessoryListResponseSchema,
3470
- }, undefined, { id: String(invMastUid) });
3703
+ }, undefined, { invMastUid: String(invMastUid) });
3471
3704
  },
3472
3705
  },
3473
3706
  /**
3474
3707
  * Get inventory master sub-items
3475
3708
  * @description Retrieve sub-items for a specific inventory master
3476
- * @fullPath api.items.invMast.invSub.get
3709
+ * @fullPath api.items.invMast.invSub.list
3477
3710
  * @service items
3478
3711
  * @domain inventory-management
3479
3712
  * @discoverable true
@@ -3483,16 +3716,16 @@ export class ItemsClient extends BaseServiceClient {
3483
3716
  * @throws ValidationError When response is malformed
3484
3717
  * @example
3485
3718
  * ```typescript
3486
- * const subItems = await client.invMast.invSub.get(12345);
3719
+ * const subItems = await client.invMast.invSub.list(12345);
3487
3720
  * ```
3488
3721
  */
3489
3722
  invSub: {
3490
- get: async (invMastUid) => {
3723
+ list: async (invMastUid) => {
3491
3724
  return this.executeRequest({
3492
3725
  method: 'GET',
3493
- path: '/inv-mast/{id}/inv-sub',
3726
+ path: '/inv-mast/{invMastUid}/inv-sub',
3494
3727
  responseSchema: ProductListResponseSchema,
3495
- }, undefined, { id: String(invMastUid) });
3728
+ }, undefined, { invMastUid: String(invMastUid) });
3496
3729
  },
3497
3730
  },
3498
3731
  /**
@@ -3516,10 +3749,10 @@ export class ItemsClient extends BaseServiceClient {
3516
3749
  get: async (invMastUid, params) => {
3517
3750
  return this.executeRequest({
3518
3751
  method: 'GET',
3519
- path: '/inv-mast/{id}/stock',
3752
+ path: '/inv-mast/{invMastUid}/stock',
3520
3753
  paramsSchema: GetStockParamsSchema,
3521
3754
  responseSchema: GetStockResponseSchema,
3522
- }, params, { id: String(invMastUid) });
3755
+ }, params, { invMastUid: String(invMastUid) });
3523
3756
  },
3524
3757
  },
3525
3758
  /**
@@ -3537,10 +3770,10 @@ export class ItemsClient extends BaseServiceClient {
3537
3770
  list: async (invMastUid, params) => {
3538
3771
  return this.executeRequest({
3539
3772
  method: 'GET',
3540
- path: '/inv-mast/{id}/faq',
3773
+ path: '/inv-mast/{invMastUid}/faq',
3541
3774
  paramsSchema: ItemFaqListParamsSchema,
3542
3775
  responseSchema: ItemFaqListResponseSchema,
3543
- }, params, { id: String(invMastUid) });
3776
+ }, params, { invMastUid: String(invMastUid) });
3544
3777
  },
3545
3778
  /**
3546
3779
  * Create FAQ for an inventory master
@@ -3552,10 +3785,10 @@ export class ItemsClient extends BaseServiceClient {
3552
3785
  create: async (invMastUid, request) => {
3553
3786
  return this.executeRequest({
3554
3787
  method: 'POST',
3555
- path: '/inv-mast/{id}/faq',
3788
+ path: '/inv-mast/{invMastUid}/faq',
3556
3789
  paramsSchema: CreateItemFaqRequestSchema,
3557
3790
  responseSchema: ItemFaqResponseSchema,
3558
- }, request, { id: String(invMastUid) });
3791
+ }, request, { invMastUid: String(invMastUid) });
3559
3792
  },
3560
3793
  /**
3561
3794
  * Get specific FAQ for an inventory master
@@ -3862,6 +4095,335 @@ export class ItemsClient extends BaseServiceClient {
3862
4095
  },
3863
4096
  },
3864
4097
  };
4098
+ /**
4099
+ * Inventory Master Links - Direct OpenAPI Path Mirror
4100
+ * @description New OpenAPI endpoint for listing document links for an item
4101
+ *
4102
+ * **CRITICAL: This endpoint follows OpenAPI Path Mirroring Pattern**
4103
+ * OpenAPI Path: /inv-mast-links/{invMastUid} → api.items.invMastLinks.list()
4104
+ */
4105
+ this.invMastLinks = {
4106
+ /**
4107
+ * List document links for an inventory master item
4108
+ *
4109
+ * @fullPath api.items.invMastLinks.list
4110
+ * @service items
4111
+ * @domain inventory-management
4112
+ * @dataMethod listData - returns only the links array without metadata
4113
+ * @discoverable true
4114
+ * @searchTerms ["inventory links", "item documents", "product links", "inv mast links", "document links"]
4115
+ * @relatedEndpoints ["api.items.productLinks.list", "api.items.invMast.get", "api.legacy.invMastTags.list"]
4116
+ * @commonPatterns ["Get item documentation links", "Find product documents", "Document management"]
4117
+ * @workflow ["inventory-management", "document-management", "product-information"]
4118
+ * @prerequisites ["Valid authentication token", "Inventory access permissions"]
4119
+ * @nextSteps ["api.items.invMast.get for item details", "api.legacy.invMastTags for additional metadata"]
4120
+ * @businessRules ["Returns active document links only", "Ordered by link type and display order"]
4121
+ * @functionalArea "inventory-master-management"
4122
+ * @caching "Cache for 10 minutes, invalidate on item changes"
4123
+ * @performance "Fast lookup by inventory master UID"
4124
+ *
4125
+ * @param invMastUid Inventory master unique identifier
4126
+ * @returns Promise<InvMastLinksResponse> Complete response with document links array and metadata
4127
+ *
4128
+ * @example
4129
+ * ```typescript
4130
+ * // Get all document links for an item
4131
+ * const response = await api.items.invMastLinks.list(12345);
4132
+ * console.log(response.data); // ProductLink[]
4133
+ *
4134
+ * // Get just the data
4135
+ * const links = await api.items.invMastLinks.listData(12345);
4136
+ * ```
4137
+ */
4138
+ list: async (invMastUid) => {
4139
+ return this.executeRequest({
4140
+ method: 'GET',
4141
+ path: '/inv-mast-links/{invMastUid}',
4142
+ responseSchema: InvMastLinksResponseSchema,
4143
+ }, undefined, { invMastUid: String(invMastUid) });
4144
+ },
4145
+ /**
4146
+ * List document links data only
4147
+ * @description Returns only the links array without BaseResponse wrapper
4148
+ * @param invMastUid Inventory master unique identifier
4149
+ * @returns Promise<ProductLink[]> Links array only
4150
+ */
4151
+ listData: async (invMastUid) => {
4152
+ const response = await this.invMastLinks.list(invMastUid);
4153
+ return response.data;
4154
+ },
4155
+ };
4156
+ /**
4157
+ * Inventory Master Sub Parts - Direct OpenAPI Path Mirror
4158
+ * @description New OpenAPI endpoint for listing sub parts for an item
4159
+ *
4160
+ * **CRITICAL: This endpoint follows OpenAPI Path Mirroring Pattern**
4161
+ * OpenAPI Path: /inv-mast-sub-parts/{invMastUid} → api.items.invMastSubParts.list()
4162
+ */
4163
+ this.invMastSubParts = {
4164
+ /**
4165
+ * List sub parts for an inventory master item
4166
+ *
4167
+ * @fullPath api.items.invMastSubParts.list
4168
+ * @service items
4169
+ * @domain inventory-management
4170
+ * @dataMethod listData - returns only the sub parts array without metadata
4171
+ * @discoverable true
4172
+ * @searchTerms ["inventory sub parts", "item subparts", "product parts", "inv mast subparts", "component parts"]
4173
+ * @relatedEndpoints ["api.items.subparts.list", "api.items.invMast.get", "api.items.invMastLinks.list"]
4174
+ * @commonPatterns ["Get item sub parts", "Find product components", "Parts management"]
4175
+ * @workflow ["inventory-management", "parts-management", "product-assembly"]
4176
+ * @prerequisites ["Valid authentication token", "Inventory access permissions"]
4177
+ * @nextSteps ["api.items.invMast.get for part details", "api.items.subparts.get for specific subpart info"]
4178
+ * @businessRules ["Returns active sub parts only", "Optional filtering by links", "Ordered by display sequence"]
4179
+ * @functionalArea "inventory-master-management"
4180
+ * @caching "Cache for 15 minutes, invalidate on parts changes"
4181
+ * @performance "Supports optional filtering by inv mast links UID"
4182
+ *
4183
+ * @param invMastUid Inventory master unique identifier
4184
+ * @param params Optional filtering parameters
4185
+ * @returns Promise<InvMastSubPartsResponse> Complete response with sub parts array and metadata
4186
+ *
4187
+ * @example
4188
+ * ```typescript
4189
+ * // Get all sub parts for an item
4190
+ * const response = await api.items.invMastSubParts.list(12345);
4191
+ * console.log(response.data); // Subpart[]
4192
+ *
4193
+ * // Filter by specific link
4194
+ * const filtered = await api.items.invMastSubParts.list(12345, { invMastLinksUid: 67890 });
4195
+ *
4196
+ * // Get just the data
4197
+ * const parts = await api.items.invMastSubParts.listData(12345);
4198
+ * ```
4199
+ */
4200
+ list: async (invMastUid, params) => {
4201
+ return this.executeRequest({
4202
+ method: 'GET',
4203
+ path: '/inv-mast-sub-parts/{invMastUid}',
4204
+ paramsSchema: InvMastSubPartsParamsSchema,
4205
+ responseSchema: InvMastSubPartsResponseSchema,
4206
+ }, params, { invMastUid: String(invMastUid) });
4207
+ },
4208
+ /**
4209
+ * List sub parts data only
4210
+ * @description Returns only the sub parts array without BaseResponse wrapper
4211
+ * @param invMastUid Inventory master unique identifier
4212
+ * @param params Optional filtering parameters
4213
+ * @returns Promise<Subpart[]> Sub parts array only
4214
+ */
4215
+ listData: async (invMastUid, params) => {
4216
+ const response = await this.invMastSubParts.list(invMastUid, params);
4217
+ return response.data;
4218
+ },
4219
+ };
4220
+ /**
4221
+ * User Favorites (User-based) - Direct OpenAPI Path Mirror
4222
+ * @description New OpenAPI endpoints for user-specific item favorites
4223
+ *
4224
+ * **CRITICAL: This endpoint follows OpenAPI Path Mirroring Pattern**
4225
+ * OpenAPI Paths:
4226
+ * - /item-favorites/{usersId} → api.items.itemFavorites.list()
4227
+ * - /item-favorites/{usersId}/{invMastUid} → api.items.itemFavorites.get/create/delete()
4228
+ */
4229
+ this.itemFavorites = {
4230
+ /**
4231
+ * List favorites for a specific user
4232
+ *
4233
+ * @fullPath api.items.itemFavorites.list
4234
+ * @service items
4235
+ * @domain user-management
4236
+ * @dataMethod listData - returns only the favorites array without metadata
4237
+ * @discoverable true
4238
+ * @searchTerms ["user favorites", "item favorites", "user wishlist", "favorite products", "bookmarked items"]
4239
+ * @relatedEndpoints ["api.items.favorites.list", "api.joomla.users.get", "api.items.itemWishlist.list"]
4240
+ * @commonPatterns ["Get user's favorite items", "User preference management", "Personalized catalogs"]
4241
+ * @workflow ["user-experience", "personalization", "catalog-management"]
4242
+ * @prerequisites ["Valid authentication token", "User access permissions"]
4243
+ * @nextSteps ["api.items.invMast.get for item details", "api.items.itemFavorites.create to add favorites"]
4244
+ * @businessRules ["User can only see their own favorites", "Returns active favorites only"]
4245
+ * @functionalArea "user-and-account-management"
4246
+ * @caching "Cache for 5 minutes per user, invalidate on user changes"
4247
+ * @performance "Indexed by user ID for fast retrieval"
4248
+ *
4249
+ * @param usersId User unique identifier
4250
+ * @returns Promise<ItemFavoritesListResponse> Complete response with user favorites array and metadata
4251
+ *
4252
+ * @example
4253
+ * ```typescript
4254
+ * // Get all favorites for a user
4255
+ * const response = await api.items.itemFavorites.list(123);
4256
+ * console.log(response.data); // ItemFavorite[]
4257
+ *
4258
+ * // Get just the data
4259
+ * const favorites = await api.items.itemFavorites.listData(123);
4260
+ * ```
4261
+ */
4262
+ list: async (usersId) => {
4263
+ return this.executeRequest({
4264
+ method: 'GET',
4265
+ path: '/item-favorites/{usersId}',
4266
+ responseSchema: ItemFavoritesListResponseSchema,
4267
+ }, undefined, { usersId: String(usersId) });
4268
+ },
4269
+ /**
4270
+ * Create a favorite item for a user
4271
+ *
4272
+ * @fullPath api.items.itemFavorites.create
4273
+ * @service items
4274
+ * @domain user-management
4275
+ * @dataMethod N/A - creation operation
4276
+ * @discoverable true
4277
+ * @searchTerms ["add favorite", "bookmark item", "save favorite", "user preferences"]
4278
+ * @relatedEndpoints ["api.items.itemFavorites.list", "api.items.itemFavorites.delete"]
4279
+ * @commonPatterns ["Add item to favorites", "Bookmark product", "User preference setting"]
4280
+ * @workflow ["user-experience", "personalization"]
4281
+ * @prerequisites ["Valid authentication token", "User must own the favorites"]
4282
+ * @nextSteps ["api.items.itemFavorites.list to view updated favorites"]
4283
+ * @businessRules ["Users can only manage their own favorites", "Prevents duplicate favorites"]
4284
+ * @functionalArea "user-and-account-management"
4285
+ * @performance "Fast creation with duplicate prevention"
4286
+ *
4287
+ * @param usersId User unique identifier
4288
+ * @returns Promise<ItemFavoritesItemResponse> Complete response with created favorite and metadata
4289
+ *
4290
+ * @example
4291
+ * ```typescript
4292
+ * // Add item to user's favorites
4293
+ * const response = await api.items.itemFavorites.create(123);
4294
+ * console.log(response.data); // ItemFavorite
4295
+ * ```
4296
+ */
4297
+ create: async (usersId) => {
4298
+ return this.executeRequest({
4299
+ method: 'POST',
4300
+ path: '/item-favorites/{usersId}',
4301
+ responseSchema: ItemFavoritesItemResponseSchema,
4302
+ }, undefined, { usersId: String(usersId) });
4303
+ },
4304
+ /**
4305
+ * Get specific favorite item for a user
4306
+ *
4307
+ * @fullPath api.items.itemFavorites.get
4308
+ * @service items
4309
+ * @domain user-management
4310
+ * @dataMethod getData - returns only the favorite data without metadata
4311
+ * @discoverable true
4312
+ * @searchTerms ["get favorite", "check favorite", "favorite status", "user item preference"]
4313
+ * @relatedEndpoints ["api.items.itemFavorites.list", "api.items.invMast.get"]
4314
+ * @commonPatterns ["Check if item is favorited", "Get favorite details"]
4315
+ * @workflow ["user-experience", "personalization"]
4316
+ * @prerequisites ["Valid authentication token", "User access permissions"]
4317
+ * @nextSteps ["api.items.invMast.get for full item details"]
4318
+ * @businessRules ["Users can only see their own favorites", "Returns 404 if not favorited"]
4319
+ * @functionalArea "user-and-account-management"
4320
+ * @performance "Direct lookup by user and item IDs"
4321
+ *
4322
+ * @param usersId User unique identifier
4323
+ * @param invMastUid Inventory master unique identifier
4324
+ * @returns Promise<ItemFavoritesItemResponse> Complete response with favorite details and metadata
4325
+ *
4326
+ * @example
4327
+ * ```typescript
4328
+ * // Check if user has favorited specific item
4329
+ * const response = await api.items.itemFavorites.get(123, 12345);
4330
+ * console.log(response.data); // ItemFavorite or null
4331
+ *
4332
+ * // Get just the data
4333
+ * const favorite = await api.items.itemFavorites.getData(123, 12345);
4334
+ * ```
4335
+ */
4336
+ get: async (usersId, invMastUid) => {
4337
+ return this.executeRequest({
4338
+ method: 'GET',
4339
+ path: '/item-favorites/{usersId}/{invMastUid}',
4340
+ responseSchema: ItemFavoritesItemResponseSchema,
4341
+ }, undefined, { usersId: String(usersId), invMastUid: String(invMastUid) });
4342
+ },
4343
+ /**
4344
+ * Delete specific favorite item for a user
4345
+ *
4346
+ * @fullPath api.items.itemFavorites.delete
4347
+ * @service items
4348
+ * @domain user-management
4349
+ * @dataMethod N/A - deletion operation
4350
+ * @discoverable true
4351
+ * @searchTerms ["remove favorite", "delete favorite", "unfavorite", "remove bookmark"]
4352
+ * @relatedEndpoints ["api.items.itemFavorites.list", "api.items.itemFavorites.create"]
4353
+ * @commonPatterns ["Remove from favorites", "Unfavorite item", "User preference removal"]
4354
+ * @workflow ["user-experience", "personalization"]
4355
+ * @prerequisites ["Valid authentication token", "User must own the favorite"]
4356
+ * @nextSteps ["api.items.itemFavorites.list to view updated favorites"]
4357
+ * @businessRules ["Users can only delete their own favorites", "Idempotent operation"]
4358
+ * @functionalArea "user-and-account-management"
4359
+ * @performance "Fast deletion with proper cleanup"
4360
+ *
4361
+ * @param usersId User unique identifier
4362
+ * @param invMastUid Inventory master unique identifier
4363
+ * @returns Promise<UserFavoriteResponse> Complete response confirming deletion
4364
+ *
4365
+ * @example
4366
+ * ```typescript
4367
+ * // Remove item from user's favorites
4368
+ * const response = await api.items.itemFavorites.delete(123, 12345);
4369
+ * console.log(response.success); // true
4370
+ * ```
4371
+ */
4372
+ delete: async (usersId, invMastUid) => {
4373
+ return this.executeRequest({
4374
+ method: 'DELETE',
4375
+ path: '/item-favorites/{usersId}/{invMastUid}',
4376
+ responseSchema: ItemFavoritesItemResponseSchema,
4377
+ }, undefined, { usersId: String(usersId), invMastUid: String(invMastUid) });
4378
+ },
4379
+ /**
4380
+ * Update specific favorite item for a user
4381
+ *
4382
+ * @fullPath api.items.itemFavorites.update
4383
+ * @service items
4384
+ * @domain user-management
4385
+ * @dataMethod N/A - update operation
4386
+ * @discoverable true
4387
+ * @searchTerms ["update favorite", "modify favorite", "favorite metadata", "user preference update"]
4388
+ * @relatedEndpoints ["api.items.itemFavorites.get", "api.items.itemFavorites.list"]
4389
+ * @commonPatterns ["Update favorite details", "Modify user preference"]
4390
+ * @workflow ["user-experience", "personalization"]
4391
+ * @prerequisites ["Valid authentication token", "User must own the favorite", "Favorite must exist"]
4392
+ * @nextSteps ["api.items.itemFavorites.get to verify changes"]
4393
+ * @businessRules ["Users can only update their own favorites", "Maintains favorite relationship"]
4394
+ * @functionalArea "user-and-account-management"
4395
+ * @performance "Direct update by user and item IDs"
4396
+ *
4397
+ * @param usersId User unique identifier
4398
+ * @param invMastUid Inventory master unique identifier
4399
+ * @returns Promise<ItemFavoritesItemResponse> Complete response with updated favorite and metadata
4400
+ *
4401
+ * @example
4402
+ * ```typescript
4403
+ * // Update user's favorite item metadata
4404
+ * const response = await api.items.itemFavorites.update(123, 12345);
4405
+ * console.log(response.data); // Updated ItemFavorite
4406
+ * ```
4407
+ */
4408
+ update: async (usersId, invMastUid) => {
4409
+ return this.executeRequest({
4410
+ method: 'PUT',
4411
+ path: '/item-favorites/{usersId}/{invMastUid}',
4412
+ responseSchema: ItemFavoritesItemResponseSchema,
4413
+ }, undefined, { usersId: String(usersId), invMastUid: String(invMastUid) });
4414
+ },
4415
+ /**
4416
+ * Data-only methods for item favorites
4417
+ */
4418
+ listData: async (usersId) => {
4419
+ const response = await this.itemFavorites.list(usersId);
4420
+ return response.data;
4421
+ },
4422
+ getData: async (usersId, invMastUid) => {
4423
+ const response = await this.itemFavorites.get(usersId, invMastUid);
4424
+ return response.data;
4425
+ },
4426
+ };
3865
4427
  }
3866
4428
  }
3867
4429
  //# sourceMappingURL=client.js.map