@simpleapps-com/augur-api 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/dist/cjs/client.d.ts +181 -0
  2. package/dist/cjs/client.d.ts.map +1 -1
  3. package/dist/cjs/client.js +449 -0
  4. package/dist/cjs/client.js.map +1 -1
  5. package/dist/cjs/core/base-client.d.ts +106 -2
  6. package/dist/cjs/core/base-client.d.ts.map +1 -1
  7. package/dist/cjs/core/base-client.js +201 -0
  8. package/dist/cjs/core/base-client.js.map +1 -1
  9. package/dist/cjs/core/common-schemas.d.ts +30 -30
  10. package/dist/cjs/core/common-schemas.d.ts.map +1 -1
  11. package/dist/cjs/core/common-schemas.js +3 -2
  12. package/dist/cjs/core/common-schemas.js.map +1 -1
  13. package/dist/cjs/core/schema-factories.d.ts +32 -32
  14. package/dist/cjs/core/schema-utils.d.ts +1115 -0
  15. package/dist/cjs/core/schema-utils.d.ts.map +1 -1
  16. package/dist/cjs/core/schema-utils.js +169 -1
  17. package/dist/cjs/core/schema-utils.js.map +1 -1
  18. package/dist/cjs/core/schemas.d.ts +12 -12
  19. package/dist/cjs/core/schemas.d.ts.map +1 -1
  20. package/dist/cjs/core/schemas.js +9 -2
  21. package/dist/cjs/core/schemas.js.map +1 -1
  22. package/dist/cjs/index.d.ts +2 -1
  23. package/dist/cjs/index.d.ts.map +1 -1
  24. package/dist/cjs/index.js +1 -1
  25. package/dist/cjs/index.js.map +1 -1
  26. package/dist/cjs/services/agr-site/client.d.ts +2 -2
  27. package/dist/cjs/services/agr-site/schemas/health.d.ts +6 -6
  28. package/dist/cjs/services/commerce/client.d.ts +18 -18
  29. package/dist/cjs/services/commerce/schemas/cart.d.ts +30 -30
  30. package/dist/cjs/services/commerce/schemas/checkout.d.ts +42 -42
  31. package/dist/cjs/services/commerce/schemas/health.d.ts +6 -6
  32. package/dist/cjs/services/commerce/schemas/recommendations.d.ts +6 -6
  33. package/dist/cjs/services/customers/client.d.ts +42 -42
  34. package/dist/cjs/services/customers/schemas/addresses.d.ts +18 -18
  35. package/dist/cjs/services/customers/schemas/contacts.d.ts +24 -24
  36. package/dist/cjs/services/customers/schemas/customers.d.ts +42 -42
  37. package/dist/cjs/services/customers/schemas/health.d.ts +6 -6
  38. package/dist/cjs/services/customers/schemas/invoices.d.ts +12 -12
  39. package/dist/cjs/services/customers/schemas/orders.d.ts +18 -18
  40. package/dist/cjs/services/customers/schemas/purchased-items.d.ts +6 -6
  41. package/dist/cjs/services/customers/schemas/quotes.d.ts +12 -12
  42. package/dist/cjs/services/items/client.d.ts +72 -72
  43. package/dist/cjs/services/items/schemas/alternateCode.d.ts +6 -6
  44. package/dist/cjs/services/items/schemas/alternateCode.d.ts.map +1 -1
  45. package/dist/cjs/services/items/schemas/alternateCode.js +3 -2
  46. package/dist/cjs/services/items/schemas/alternateCode.js.map +1 -1
  47. package/dist/cjs/services/items/schemas/attributeGroups.d.ts +12 -12
  48. package/dist/cjs/services/items/schemas/attributeGroups.d.ts.map +1 -1
  49. package/dist/cjs/services/items/schemas/attributeGroups.js +3 -2
  50. package/dist/cjs/services/items/schemas/attributeGroups.js.map +1 -1
  51. package/dist/cjs/services/items/schemas/attributes.d.ts +30 -30
  52. package/dist/cjs/services/items/schemas/brands.d.ts +12 -12
  53. package/dist/cjs/services/items/schemas/brands.d.ts.map +1 -1
  54. package/dist/cjs/services/items/schemas/brands.js +3 -2
  55. package/dist/cjs/services/items/schemas/brands.js.map +1 -1
  56. package/dist/cjs/services/items/schemas/categories.d.ts +68 -68
  57. package/dist/cjs/services/items/schemas/health.d.ts +12 -12
  58. package/dist/cjs/services/items/schemas/invLoc.d.ts +6 -6
  59. package/dist/cjs/services/items/schemas/products.d.ts +48 -48
  60. package/dist/cjs/services/items/schemas/products.d.ts.map +1 -1
  61. package/dist/cjs/services/items/schemas/products.js +5 -4
  62. package/dist/cjs/services/items/schemas/products.js.map +1 -1
  63. package/dist/cjs/services/joomla/client.d.ts +664 -119
  64. package/dist/cjs/services/joomla/client.d.ts.map +1 -1
  65. package/dist/cjs/services/joomla/client.js +467 -98
  66. package/dist/cjs/services/joomla/client.js.map +1 -1
  67. package/dist/cjs/services/joomla/schemas/content.d.ts +24 -24
  68. package/dist/cjs/services/joomla/schemas/groups.d.ts +24 -24
  69. package/dist/cjs/services/joomla/schemas/health.d.ts +12 -12
  70. package/dist/cjs/services/joomla/schemas/users.d.ts +48 -48
  71. package/dist/cjs/services/legacy/client.d.ts +12 -12
  72. package/dist/cjs/services/legacy/schemas/health.d.ts +6 -6
  73. package/dist/cjs/services/legacy/schemas/inventory.d.ts +36 -36
  74. package/dist/cjs/services/legacy/schemas/orders.d.ts +12 -12
  75. package/dist/cjs/services/legacy/schemas/states.d.ts +12 -12
  76. package/dist/cjs/services/nexus/client.d.ts +1206 -130
  77. package/dist/cjs/services/nexus/client.d.ts.map +1 -1
  78. package/dist/cjs/services/nexus/client.js +762 -28
  79. package/dist/cjs/services/nexus/client.js.map +1 -1
  80. package/dist/cjs/services/nexus/schemas/bin-transfers.d.ts +74 -74
  81. package/dist/cjs/services/nexus/schemas/bin-transfers.d.ts.map +1 -1
  82. package/dist/cjs/services/nexus/schemas/bin-transfers.js +25 -7
  83. package/dist/cjs/services/nexus/schemas/bin-transfers.js.map +1 -1
  84. package/dist/cjs/services/nexus/schemas/common.d.ts +3 -2
  85. package/dist/cjs/services/nexus/schemas/common.d.ts.map +1 -1
  86. package/dist/cjs/services/nexus/schemas/common.js +4 -2
  87. package/dist/cjs/services/nexus/schemas/common.js.map +1 -1
  88. package/dist/cjs/services/nexus/schemas/health.d.ts +12 -12
  89. package/dist/cjs/services/nexus/schemas/receiving.d.ts +108 -108
  90. package/dist/cjs/services/nexus/schemas/transfers.d.ts +162 -162
  91. package/dist/cjs/services/open-search/client.d.ts +19 -19
  92. package/dist/cjs/services/open-search/schemas/attributes.d.ts +8 -8
  93. package/dist/cjs/services/open-search/schemas/health.d.ts +12 -12
  94. package/dist/cjs/services/open-search/schemas/items.d.ts +24 -24
  95. package/dist/cjs/services/open-search/schemas/search.d.ts +8 -8
  96. package/dist/cjs/services/orders/client.d.ts +23 -23
  97. package/dist/cjs/services/orders/schemas/health.d.ts +6 -6
  98. package/dist/cjs/services/orders/schemas/invoices.d.ts +6 -6
  99. package/dist/cjs/services/orders/schemas/orders.d.ts +24 -24
  100. package/dist/cjs/services/orders/schemas/purchase-orders.d.ts +46 -46
  101. package/dist/cjs/services/orders/schemas/salesrep.d.ts +12 -12
  102. package/dist/cjs/services/p21-pim/client.d.ts +22 -22
  103. package/dist/cjs/services/p21-pim/schemas/ai-suggestions.d.ts +18 -18
  104. package/dist/cjs/services/p21-pim/schemas/health.d.ts +6 -6
  105. package/dist/cjs/services/p21-pim/schemas/inventory.d.ts +24 -24
  106. package/dist/cjs/services/p21-pim/schemas/podcasts.d.ts +12 -12
  107. package/dist/cjs/services/payments/client.d.ts +18 -18
  108. package/dist/cjs/services/payments/schemas/element.d.ts +6 -6
  109. package/dist/cjs/services/payments/schemas/health.d.ts +12 -12
  110. package/dist/cjs/services/payments/schemas/unified.d.ts +36 -36
  111. package/dist/cjs/services/pricing/client.d.ts +8 -8
  112. package/dist/cjs/services/pricing/schemas/health.d.ts +12 -12
  113. package/dist/cjs/services/pricing/schemas/job-pricing.d.ts +24 -24
  114. package/dist/cjs/services/pricing/schemas/pricing.d.ts +6 -6
  115. package/dist/cjs/services/pricing/schemas/tax.d.ts +6 -6
  116. package/dist/cjs/services/vmi/client.d.ts +50 -50
  117. package/dist/cjs/services/vmi/schemas/health.d.ts +12 -12
  118. package/dist/cjs/services/vmi/schemas/inventory.d.ts +12 -12
  119. package/dist/cjs/services/vmi/schemas/products.d.ts +36 -36
  120. package/dist/cjs/services/vmi/schemas/profiles.d.ts +24 -24
  121. package/dist/cjs/services/vmi/schemas/restock.d.ts +30 -30
  122. package/dist/cjs/services/vmi/schemas/warehouse.d.ts +36 -36
  123. package/dist/esm/client.d.ts +181 -0
  124. package/dist/esm/client.d.ts.map +1 -1
  125. package/dist/esm/client.js +449 -0
  126. package/dist/esm/client.js.map +1 -1
  127. package/dist/esm/core/base-client.d.ts +106 -2
  128. package/dist/esm/core/base-client.d.ts.map +1 -1
  129. package/dist/esm/core/base-client.js +201 -0
  130. package/dist/esm/core/base-client.js.map +1 -1
  131. package/dist/esm/core/common-schemas.d.ts +30 -30
  132. package/dist/esm/core/common-schemas.d.ts.map +1 -1
  133. package/dist/esm/core/common-schemas.js +3 -2
  134. package/dist/esm/core/common-schemas.js.map +1 -1
  135. package/dist/esm/core/schema-factories.d.ts +32 -32
  136. package/dist/esm/core/schema-utils.d.ts +1115 -0
  137. package/dist/esm/core/schema-utils.d.ts.map +1 -1
  138. package/dist/esm/core/schema-utils.js +167 -0
  139. package/dist/esm/core/schema-utils.js.map +1 -1
  140. package/dist/esm/core/schemas.d.ts +12 -12
  141. package/dist/esm/core/schemas.d.ts.map +1 -1
  142. package/dist/esm/core/schemas.js +9 -2
  143. package/dist/esm/core/schemas.js.map +1 -1
  144. package/dist/esm/index.d.ts +2 -1
  145. package/dist/esm/index.d.ts.map +1 -1
  146. package/dist/esm/index.js +1 -1
  147. package/dist/esm/index.js.map +1 -1
  148. package/dist/esm/services/agr-site/client.d.ts +2 -2
  149. package/dist/esm/services/agr-site/schemas/health.d.ts +6 -6
  150. package/dist/esm/services/commerce/client.d.ts +18 -18
  151. package/dist/esm/services/commerce/schemas/cart.d.ts +30 -30
  152. package/dist/esm/services/commerce/schemas/checkout.d.ts +42 -42
  153. package/dist/esm/services/commerce/schemas/health.d.ts +6 -6
  154. package/dist/esm/services/commerce/schemas/recommendations.d.ts +6 -6
  155. package/dist/esm/services/customers/client.d.ts +42 -42
  156. package/dist/esm/services/customers/schemas/addresses.d.ts +18 -18
  157. package/dist/esm/services/customers/schemas/contacts.d.ts +24 -24
  158. package/dist/esm/services/customers/schemas/customers.d.ts +42 -42
  159. package/dist/esm/services/customers/schemas/health.d.ts +6 -6
  160. package/dist/esm/services/customers/schemas/invoices.d.ts +12 -12
  161. package/dist/esm/services/customers/schemas/orders.d.ts +18 -18
  162. package/dist/esm/services/customers/schemas/purchased-items.d.ts +6 -6
  163. package/dist/esm/services/customers/schemas/quotes.d.ts +12 -12
  164. package/dist/esm/services/items/client.d.ts +72 -72
  165. package/dist/esm/services/items/schemas/alternateCode.d.ts +6 -6
  166. package/dist/esm/services/items/schemas/alternateCode.d.ts.map +1 -1
  167. package/dist/esm/services/items/schemas/alternateCode.js +3 -2
  168. package/dist/esm/services/items/schemas/alternateCode.js.map +1 -1
  169. package/dist/esm/services/items/schemas/attributeGroups.d.ts +12 -12
  170. package/dist/esm/services/items/schemas/attributeGroups.d.ts.map +1 -1
  171. package/dist/esm/services/items/schemas/attributeGroups.js +3 -2
  172. package/dist/esm/services/items/schemas/attributeGroups.js.map +1 -1
  173. package/dist/esm/services/items/schemas/attributes.d.ts +30 -30
  174. package/dist/esm/services/items/schemas/brands.d.ts +12 -12
  175. package/dist/esm/services/items/schemas/brands.d.ts.map +1 -1
  176. package/dist/esm/services/items/schemas/brands.js +3 -2
  177. package/dist/esm/services/items/schemas/brands.js.map +1 -1
  178. package/dist/esm/services/items/schemas/categories.d.ts +68 -68
  179. package/dist/esm/services/items/schemas/health.d.ts +12 -12
  180. package/dist/esm/services/items/schemas/invLoc.d.ts +6 -6
  181. package/dist/esm/services/items/schemas/products.d.ts +48 -48
  182. package/dist/esm/services/items/schemas/products.d.ts.map +1 -1
  183. package/dist/esm/services/items/schemas/products.js +5 -4
  184. package/dist/esm/services/items/schemas/products.js.map +1 -1
  185. package/dist/esm/services/joomla/client.d.ts +664 -119
  186. package/dist/esm/services/joomla/client.d.ts.map +1 -1
  187. package/dist/esm/services/joomla/client.js +467 -98
  188. package/dist/esm/services/joomla/client.js.map +1 -1
  189. package/dist/esm/services/joomla/schemas/content.d.ts +24 -24
  190. package/dist/esm/services/joomla/schemas/groups.d.ts +24 -24
  191. package/dist/esm/services/joomla/schemas/health.d.ts +12 -12
  192. package/dist/esm/services/joomla/schemas/users.d.ts +48 -48
  193. package/dist/esm/services/legacy/client.d.ts +12 -12
  194. package/dist/esm/services/legacy/schemas/health.d.ts +6 -6
  195. package/dist/esm/services/legacy/schemas/inventory.d.ts +36 -36
  196. package/dist/esm/services/legacy/schemas/orders.d.ts +12 -12
  197. package/dist/esm/services/legacy/schemas/states.d.ts +12 -12
  198. package/dist/esm/services/nexus/client.d.ts +1206 -130
  199. package/dist/esm/services/nexus/client.d.ts.map +1 -1
  200. package/dist/esm/services/nexus/client.js +762 -28
  201. package/dist/esm/services/nexus/client.js.map +1 -1
  202. package/dist/esm/services/nexus/schemas/bin-transfers.d.ts +74 -74
  203. package/dist/esm/services/nexus/schemas/bin-transfers.d.ts.map +1 -1
  204. package/dist/esm/services/nexus/schemas/bin-transfers.js +25 -7
  205. package/dist/esm/services/nexus/schemas/bin-transfers.js.map +1 -1
  206. package/dist/esm/services/nexus/schemas/common.d.ts +3 -2
  207. package/dist/esm/services/nexus/schemas/common.d.ts.map +1 -1
  208. package/dist/esm/services/nexus/schemas/common.js +4 -2
  209. package/dist/esm/services/nexus/schemas/common.js.map +1 -1
  210. package/dist/esm/services/nexus/schemas/health.d.ts +12 -12
  211. package/dist/esm/services/nexus/schemas/receiving.d.ts +108 -108
  212. package/dist/esm/services/nexus/schemas/transfers.d.ts +162 -162
  213. package/dist/esm/services/open-search/client.d.ts +19 -19
  214. package/dist/esm/services/open-search/schemas/attributes.d.ts +8 -8
  215. package/dist/esm/services/open-search/schemas/health.d.ts +12 -12
  216. package/dist/esm/services/open-search/schemas/items.d.ts +24 -24
  217. package/dist/esm/services/open-search/schemas/search.d.ts +8 -8
  218. package/dist/esm/services/orders/client.d.ts +23 -23
  219. package/dist/esm/services/orders/schemas/health.d.ts +6 -6
  220. package/dist/esm/services/orders/schemas/invoices.d.ts +6 -6
  221. package/dist/esm/services/orders/schemas/orders.d.ts +24 -24
  222. package/dist/esm/services/orders/schemas/purchase-orders.d.ts +46 -46
  223. package/dist/esm/services/orders/schemas/salesrep.d.ts +12 -12
  224. package/dist/esm/services/p21-pim/client.d.ts +22 -22
  225. package/dist/esm/services/p21-pim/schemas/ai-suggestions.d.ts +18 -18
  226. package/dist/esm/services/p21-pim/schemas/health.d.ts +6 -6
  227. package/dist/esm/services/p21-pim/schemas/inventory.d.ts +24 -24
  228. package/dist/esm/services/p21-pim/schemas/podcasts.d.ts +12 -12
  229. package/dist/esm/services/payments/client.d.ts +18 -18
  230. package/dist/esm/services/payments/schemas/element.d.ts +6 -6
  231. package/dist/esm/services/payments/schemas/health.d.ts +12 -12
  232. package/dist/esm/services/payments/schemas/unified.d.ts +36 -36
  233. package/dist/esm/services/pricing/client.d.ts +8 -8
  234. package/dist/esm/services/pricing/schemas/health.d.ts +12 -12
  235. package/dist/esm/services/pricing/schemas/job-pricing.d.ts +24 -24
  236. package/dist/esm/services/pricing/schemas/pricing.d.ts +6 -6
  237. package/dist/esm/services/pricing/schemas/tax.d.ts +6 -6
  238. package/dist/esm/services/vmi/client.d.ts +50 -50
  239. package/dist/esm/services/vmi/schemas/health.d.ts +12 -12
  240. package/dist/esm/services/vmi/schemas/inventory.d.ts +12 -12
  241. package/dist/esm/services/vmi/schemas/products.d.ts +36 -36
  242. package/dist/esm/services/vmi/schemas/profiles.d.ts +24 -24
  243. package/dist/esm/services/vmi/schemas/restock.d.ts +30 -30
  244. package/dist/esm/services/vmi/schemas/warehouse.d.ts +36 -36
  245. package/dist/types/client.d.ts +181 -0
  246. package/dist/types/client.d.ts.map +1 -1
  247. package/dist/types/core/base-client.d.ts +106 -2
  248. package/dist/types/core/base-client.d.ts.map +1 -1
  249. package/dist/types/core/common-schemas.d.ts +30 -30
  250. package/dist/types/core/common-schemas.d.ts.map +1 -1
  251. package/dist/types/core/schema-factories.d.ts +32 -32
  252. package/dist/types/core/schema-utils.d.ts +1115 -0
  253. package/dist/types/core/schema-utils.d.ts.map +1 -1
  254. package/dist/types/core/schemas.d.ts +12 -12
  255. package/dist/types/core/schemas.d.ts.map +1 -1
  256. package/dist/types/index.d.ts +2 -1
  257. package/dist/types/index.d.ts.map +1 -1
  258. package/dist/types/services/agr-site/client.d.ts +2 -2
  259. package/dist/types/services/agr-site/schemas/health.d.ts +6 -6
  260. package/dist/types/services/commerce/client.d.ts +18 -18
  261. package/dist/types/services/commerce/schemas/cart.d.ts +30 -30
  262. package/dist/types/services/commerce/schemas/checkout.d.ts +42 -42
  263. package/dist/types/services/commerce/schemas/health.d.ts +6 -6
  264. package/dist/types/services/commerce/schemas/recommendations.d.ts +6 -6
  265. package/dist/types/services/customers/client.d.ts +42 -42
  266. package/dist/types/services/customers/schemas/addresses.d.ts +18 -18
  267. package/dist/types/services/customers/schemas/contacts.d.ts +24 -24
  268. package/dist/types/services/customers/schemas/customers.d.ts +42 -42
  269. package/dist/types/services/customers/schemas/health.d.ts +6 -6
  270. package/dist/types/services/customers/schemas/invoices.d.ts +12 -12
  271. package/dist/types/services/customers/schemas/orders.d.ts +18 -18
  272. package/dist/types/services/customers/schemas/purchased-items.d.ts +6 -6
  273. package/dist/types/services/customers/schemas/quotes.d.ts +12 -12
  274. package/dist/types/services/items/client.d.ts +72 -72
  275. package/dist/types/services/items/schemas/alternateCode.d.ts +6 -6
  276. package/dist/types/services/items/schemas/alternateCode.d.ts.map +1 -1
  277. package/dist/types/services/items/schemas/attributeGroups.d.ts +12 -12
  278. package/dist/types/services/items/schemas/attributeGroups.d.ts.map +1 -1
  279. package/dist/types/services/items/schemas/attributes.d.ts +30 -30
  280. package/dist/types/services/items/schemas/brands.d.ts +12 -12
  281. package/dist/types/services/items/schemas/brands.d.ts.map +1 -1
  282. package/dist/types/services/items/schemas/categories.d.ts +68 -68
  283. package/dist/types/services/items/schemas/health.d.ts +12 -12
  284. package/dist/types/services/items/schemas/invLoc.d.ts +6 -6
  285. package/dist/types/services/items/schemas/products.d.ts +48 -48
  286. package/dist/types/services/items/schemas/products.d.ts.map +1 -1
  287. package/dist/types/services/joomla/client.d.ts +664 -119
  288. package/dist/types/services/joomla/client.d.ts.map +1 -1
  289. package/dist/types/services/joomla/schemas/content.d.ts +24 -24
  290. package/dist/types/services/joomla/schemas/groups.d.ts +24 -24
  291. package/dist/types/services/joomla/schemas/health.d.ts +12 -12
  292. package/dist/types/services/joomla/schemas/users.d.ts +48 -48
  293. package/dist/types/services/legacy/client.d.ts +12 -12
  294. package/dist/types/services/legacy/schemas/health.d.ts +6 -6
  295. package/dist/types/services/legacy/schemas/inventory.d.ts +36 -36
  296. package/dist/types/services/legacy/schemas/orders.d.ts +12 -12
  297. package/dist/types/services/legacy/schemas/states.d.ts +12 -12
  298. package/dist/types/services/nexus/client.d.ts +1206 -130
  299. package/dist/types/services/nexus/client.d.ts.map +1 -1
  300. package/dist/types/services/nexus/schemas/bin-transfers.d.ts +74 -74
  301. package/dist/types/services/nexus/schemas/bin-transfers.d.ts.map +1 -1
  302. package/dist/types/services/nexus/schemas/common.d.ts +3 -2
  303. package/dist/types/services/nexus/schemas/common.d.ts.map +1 -1
  304. package/dist/types/services/nexus/schemas/health.d.ts +12 -12
  305. package/dist/types/services/nexus/schemas/receiving.d.ts +108 -108
  306. package/dist/types/services/nexus/schemas/transfers.d.ts +162 -162
  307. package/dist/types/services/open-search/client.d.ts +19 -19
  308. package/dist/types/services/open-search/schemas/attributes.d.ts +8 -8
  309. package/dist/types/services/open-search/schemas/health.d.ts +12 -12
  310. package/dist/types/services/open-search/schemas/items.d.ts +24 -24
  311. package/dist/types/services/open-search/schemas/search.d.ts +8 -8
  312. package/dist/types/services/orders/client.d.ts +23 -23
  313. package/dist/types/services/orders/schemas/health.d.ts +6 -6
  314. package/dist/types/services/orders/schemas/invoices.d.ts +6 -6
  315. package/dist/types/services/orders/schemas/orders.d.ts +24 -24
  316. package/dist/types/services/orders/schemas/purchase-orders.d.ts +46 -46
  317. package/dist/types/services/orders/schemas/salesrep.d.ts +12 -12
  318. package/dist/types/services/p21-pim/client.d.ts +22 -22
  319. package/dist/types/services/p21-pim/schemas/ai-suggestions.d.ts +18 -18
  320. package/dist/types/services/p21-pim/schemas/health.d.ts +6 -6
  321. package/dist/types/services/p21-pim/schemas/inventory.d.ts +24 -24
  322. package/dist/types/services/p21-pim/schemas/podcasts.d.ts +12 -12
  323. package/dist/types/services/payments/client.d.ts +18 -18
  324. package/dist/types/services/payments/schemas/element.d.ts +6 -6
  325. package/dist/types/services/payments/schemas/health.d.ts +12 -12
  326. package/dist/types/services/payments/schemas/unified.d.ts +36 -36
  327. package/dist/types/services/pricing/client.d.ts +8 -8
  328. package/dist/types/services/pricing/schemas/health.d.ts +12 -12
  329. package/dist/types/services/pricing/schemas/job-pricing.d.ts +24 -24
  330. package/dist/types/services/pricing/schemas/pricing.d.ts +6 -6
  331. package/dist/types/services/pricing/schemas/tax.d.ts +6 -6
  332. package/dist/types/services/vmi/client.d.ts +50 -50
  333. package/dist/types/services/vmi/schemas/health.d.ts +12 -12
  334. package/dist/types/services/vmi/schemas/inventory.d.ts +12 -12
  335. package/dist/types/services/vmi/schemas/products.d.ts +36 -36
  336. package/dist/types/services/vmi/schemas/profiles.d.ts +24 -24
  337. package/dist/types/services/vmi/schemas/restock.d.ts +30 -30
  338. package/dist/types/services/vmi/schemas/warehouse.d.ts +36 -36
  339. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import { AugurAPIConfig } from './core/config';
2
+ import { DiscoveryEndpoint as BaseDiscoveryEndpoint } from './core/base-client';
2
3
  import { JoomlaClient } from './services/joomla';
3
4
  import { CommerceClient } from './services/commerce';
4
5
  import { PricingClient } from './services/pricing';
@@ -12,6 +13,36 @@ import { CustomersClient } from './services/customers';
12
13
  import { OrdersClient } from './services/orders';
13
14
  import { P21PimClient } from './services/p21-pim';
14
15
  import { PaymentsClient } from './services/payments';
16
+ /**
17
+ * Interface for discovery endpoint information - re-export base discovery endpoint
18
+ */
19
+ export type DiscoveryEndpoint = BaseDiscoveryEndpoint;
20
+ /**
21
+ * Interface for service discovery results
22
+ */
23
+ export interface ServiceMap {
24
+ /** Service name */
25
+ serviceName: string;
26
+ /** Service description */
27
+ description: string;
28
+ /** Base URL for the service */
29
+ baseUrl: string;
30
+ /** Number of discoverable endpoints */
31
+ endpointCount: number;
32
+ /** Array of discoverable endpoints */
33
+ endpoints: DiscoveryEndpoint[];
34
+ }
35
+ /**
36
+ * Interface for endpoint search results
37
+ */
38
+ export interface EndpointSearchResult {
39
+ /** The matching endpoint */
40
+ endpoint: DiscoveryEndpoint;
41
+ /** Relevance score (0-1) */
42
+ score: number;
43
+ /** Reason why this endpoint matched */
44
+ matchReason: string;
45
+ }
15
46
  /**
16
47
  * Main client factory for accessing Augur microservices
17
48
  *
@@ -172,5 +203,155 @@ export declare class AugurAPI {
172
203
  * @param siteId New site ID
173
204
  */
174
205
  setSiteId(siteId: string): void;
206
+ /**
207
+ * Discover all available services and their capabilities
208
+ *
209
+ * Returns a complete service map showing all discoverable endpoints across
210
+ * all microservices, enabling AI agents to understand the full API topology.
211
+ *
212
+ * @returns Promise<ServiceMap[]> Array of service maps with endpoint metadata
213
+ *
214
+ * @example
215
+ * ```typescript
216
+ * const api = new AugurAPI({ siteId: 'my-site', bearerToken: 'token' });
217
+ * const services = await api.discover();
218
+ *
219
+ * // Find all user-related endpoints
220
+ * const userEndpoints = services.flatMap(s => s.endpoints)
221
+ * .filter(e => e.searchTerms.some(term => term.includes('user')));
222
+ *
223
+ * // Show service capabilities
224
+ * services.forEach(service => {
225
+ * console.log(`${service.serviceName}: ${service.endpointCount} endpoints`);
226
+ * service.endpoints.forEach(endpoint => {
227
+ * console.log(` ${endpoint.fullPath} - ${endpoint.description}`);
228
+ * });
229
+ * });
230
+ * ```
231
+ */
232
+ discover(): Promise<ServiceMap[]>;
233
+ /**
234
+ * Find endpoints by search term or functionality description
235
+ *
236
+ * Searches across all services to find endpoints that match the given search term.
237
+ * Uses intelligent matching against endpoint descriptions, search terms, domains,
238
+ * and common usage patterns.
239
+ *
240
+ * @param searchTerm The functionality or term to search for
241
+ * @param options Search options for filtering and ranking
242
+ * @returns Promise<EndpointSearchResult[]> Array of matching endpoints with relevance scores
243
+ *
244
+ * @example
245
+ * ```typescript
246
+ * const api = new AugurAPI({ siteId: 'my-site', bearerToken: 'token' });
247
+ *
248
+ * // Find user-related endpoints
249
+ * const userEndpoints = await api.findEndpoint('users');
250
+ * console.log(`Found ${userEndpoints.length} user-related endpoints`);
251
+ *
252
+ * // Find authentication endpoints
253
+ * const authEndpoints = await api.findEndpoint('authentication');
254
+ *
255
+ * // Find inventory management
256
+ * const inventoryEndpoints = await api.findEndpoint('inventory management');
257
+ *
258
+ * // Show results with scores
259
+ * userEndpoints.forEach(result => {
260
+ * console.log(`${result.endpoint.fullPath} (${result.score.toFixed(2)}) - ${result.matchReason}`);
261
+ * });
262
+ * ```
263
+ */
264
+ findEndpoint(searchTerm: string, options?: {
265
+ /** Minimum relevance score (0-1, default: 0.1) */
266
+ minScore?: number;
267
+ /** Maximum number of results (default: 10) */
268
+ maxResults?: number;
269
+ /** Filter by specific service */
270
+ service?: string;
271
+ /** Filter by business domain */
272
+ domain?: string;
273
+ /** Include only GET endpoints */
274
+ readOnly?: boolean;
275
+ }): Promise<EndpointSearchResult[]>;
276
+ /**
277
+ * Get endpoints filtered by service, domain, and method options
278
+ */
279
+ private getFilteredEndpoints;
280
+ /**
281
+ * Search and score endpoints against search term
282
+ */
283
+ private searchAndScoreEndpoints;
284
+ /**
285
+ * Check if endpoint has required fields
286
+ */
287
+ private isValidEndpoint;
288
+ /**
289
+ * Calculate final score with domain filter adjustments
290
+ */
291
+ private calculateFinalScore;
292
+ /**
293
+ * Calculate relevance score for an endpoint against a search term
294
+ */
295
+ private calculateEndpointRelevance;
296
+ /**
297
+ * Process exact matches with appropriate combining logic
298
+ */
299
+ private processExactMatches;
300
+ /**
301
+ * Check if match type should be exclusive (no combining)
302
+ */
303
+ private isExclusiveMatch;
304
+ /**
305
+ * Check if match type can be combined with partial matches
306
+ */
307
+ private isCombinableMatch;
308
+ /**
309
+ * Process fallback matches when no exact match found
310
+ */
311
+ private processFallbackMatches;
312
+ /**
313
+ * Calculate exact field matches with high scores
314
+ */
315
+ private calculateExactMatches;
316
+ /**
317
+ * Check for path substring matches
318
+ */
319
+ private checkPathSubstringMatch;
320
+ /**
321
+ * Check for description substring matches
322
+ */
323
+ private checkDescriptionSubstringMatch;
324
+ /**
325
+ * Check for other substring matches (domain, service)
326
+ */
327
+ private checkOtherSubstringMatches;
328
+ /**
329
+ * Check for exact field matches
330
+ */
331
+ private checkExactFieldMatches;
332
+ /**
333
+ * Check search terms and common patterns
334
+ */
335
+ private checkSearchTermsAndPatterns;
336
+ /**
337
+ * Calculate partial word matches with lower scores
338
+ */
339
+ private calculatePartialMatches;
340
+ /**
341
+ * Build searchable text from endpoint fields
342
+ */
343
+ private buildSearchableText;
344
+ /**
345
+ * Count matching words in text
346
+ */
347
+ private countWordMatches;
348
+ /**
349
+ * Build partial match result with score and reason
350
+ */
351
+ private buildPartialMatchResult;
352
+ /**
353
+ * Calculate multi-word matches by finding the best match for each word
354
+ */
355
+ private calculateMultiWordMatches;
175
356
  }
176
357
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiFG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAAC,CAAe;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,IAAI,CAAC,CAAY;IACzB,OAAO,CAAC,WAAW,CAAC,CAAmB;IACvC,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAe;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,UAAU,CAAC,CAAkB;IACrC,OAAO,CAAC,OAAO,CAAC,CAAe;IAC/B,OAAO,CAAC,OAAO,CAAC,CAAe;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAiB;gBAEvB,MAAM,EAAE,cAAc;IAIlC;;OAEG;IACH,IAAI,MAAM,IAAI,YAAY,CAMzB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,cAAc,CAM7B;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,aAAa,CAM3B;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,SAAS,CAMnB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,gBAAgB,CAMjC;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,WAAW,CAMvB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,YAAY,CAMzB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,WAAW,CAMvB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,aAAa,CAM3B;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,eAAe,CAM/B;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,YAAY,CAMzB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,YAAY,CAMzB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,cAAc,CAM7B;IAED;;;OAGG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAkBvC;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAiBhC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -273,6 +273,455 @@ class AugurAPI {
273
273
  this._p21Pim = undefined;
274
274
  this._payments = undefined;
275
275
  }
276
+ /**
277
+ * Discover all available services and their capabilities
278
+ *
279
+ * Returns a complete service map showing all discoverable endpoints across
280
+ * all microservices, enabling AI agents to understand the full API topology.
281
+ *
282
+ * @returns Promise<ServiceMap[]> Array of service maps with endpoint metadata
283
+ *
284
+ * @example
285
+ * ```typescript
286
+ * const api = new AugurAPI({ siteId: 'my-site', bearerToken: 'token' });
287
+ * const services = await api.discover();
288
+ *
289
+ * // Find all user-related endpoints
290
+ * const userEndpoints = services.flatMap(s => s.endpoints)
291
+ * .filter(e => e.searchTerms.some(term => term.includes('user')));
292
+ *
293
+ * // Show service capabilities
294
+ * services.forEach(service => {
295
+ * console.log(`${service.serviceName}: ${service.endpointCount} endpoints`);
296
+ * service.endpoints.forEach(endpoint => {
297
+ * console.log(` ${endpoint.fullPath} - ${endpoint.description}`);
298
+ * });
299
+ * });
300
+ * ```
301
+ */
302
+ async discover() {
303
+ const services = [];
304
+ // Get all available service clients
305
+ const serviceClients = [
306
+ { name: 'joomla', client: this.joomla },
307
+ { name: 'commerce', client: this.commerce },
308
+ { name: 'pricing', client: this.pricing },
309
+ { name: 'vmi', client: this.vmi },
310
+ { name: 'opensearch', client: this.opensearch },
311
+ { name: 'items', client: this.items },
312
+ { name: 'legacy', client: this.legacy },
313
+ { name: 'nexus', client: this.nexus },
314
+ { name: 'agrSite', client: this.agrSite },
315
+ { name: 'customers', client: this.customers },
316
+ { name: 'orders', client: this.orders },
317
+ { name: 'p21Pim', client: this.p21Pim },
318
+ { name: 'payments', client: this.payments },
319
+ ];
320
+ for (const { client } of serviceClients) {
321
+ try {
322
+ // Get discovery metadata from each service client
323
+ const metadata = client.getDiscoveryMetadata();
324
+ services.push({
325
+ serviceName: metadata.serviceName,
326
+ description: metadata.description,
327
+ baseUrl: metadata.baseUrl,
328
+ endpointCount: metadata.endpoints.length,
329
+ endpoints: metadata.endpoints,
330
+ });
331
+ }
332
+ catch {
333
+ // Silently skip services that don't support discovery
334
+ continue;
335
+ }
336
+ }
337
+ return services;
338
+ }
339
+ /**
340
+ * Find endpoints by search term or functionality description
341
+ *
342
+ * Searches across all services to find endpoints that match the given search term.
343
+ * Uses intelligent matching against endpoint descriptions, search terms, domains,
344
+ * and common usage patterns.
345
+ *
346
+ * @param searchTerm The functionality or term to search for
347
+ * @param options Search options for filtering and ranking
348
+ * @returns Promise<EndpointSearchResult[]> Array of matching endpoints with relevance scores
349
+ *
350
+ * @example
351
+ * ```typescript
352
+ * const api = new AugurAPI({ siteId: 'my-site', bearerToken: 'token' });
353
+ *
354
+ * // Find user-related endpoints
355
+ * const userEndpoints = await api.findEndpoint('users');
356
+ * console.log(`Found ${userEndpoints.length} user-related endpoints`);
357
+ *
358
+ * // Find authentication endpoints
359
+ * const authEndpoints = await api.findEndpoint('authentication');
360
+ *
361
+ * // Find inventory management
362
+ * const inventoryEndpoints = await api.findEndpoint('inventory management');
363
+ *
364
+ * // Show results with scores
365
+ * userEndpoints.forEach(result => {
366
+ * console.log(`${result.endpoint.fullPath} (${result.score.toFixed(2)}) - ${result.matchReason}`);
367
+ * });
368
+ * ```
369
+ */
370
+ async findEndpoint(searchTerm, options = {}) {
371
+ const { minScore = 0.1, maxResults = 10, service, domain, readOnly = false } = options;
372
+ // Handle empty search term
373
+ if (!searchTerm.trim()) {
374
+ return [];
375
+ }
376
+ // Get filtered endpoints
377
+ const filteredEndpoints = await this.getFilteredEndpoints({ service, domain, readOnly });
378
+ // Search and score endpoints
379
+ const results = this.searchAndScoreEndpoints(filteredEndpoints, searchTerm, {
380
+ domain,
381
+ minScore,
382
+ });
383
+ // Sort by relevance score (highest first) and limit results
384
+ return results.sort((a, b) => b.score - a.score).slice(0, maxResults);
385
+ }
386
+ /**
387
+ * Get endpoints filtered by service, domain, and method options
388
+ */
389
+ async getFilteredEndpoints(filters) {
390
+ const { service, domain, readOnly } = filters;
391
+ const services = await this.discover();
392
+ let filteredEndpoints = services.flatMap(s => s.endpoints);
393
+ if (service) {
394
+ filteredEndpoints = filteredEndpoints.filter(e => e.service === service);
395
+ }
396
+ if (domain) {
397
+ filteredEndpoints = filteredEndpoints.filter(e => e.domain === domain);
398
+ }
399
+ if (readOnly) {
400
+ filteredEndpoints = filteredEndpoints.filter(e => e.method === 'GET');
401
+ }
402
+ return filteredEndpoints;
403
+ }
404
+ /**
405
+ * Search and score endpoints against search term
406
+ */
407
+ searchAndScoreEndpoints(endpoints, searchTerm, options) {
408
+ const { domain, minScore } = options;
409
+ const results = [];
410
+ const searchTermLower = searchTerm.toLowerCase();
411
+ for (const endpoint of endpoints) {
412
+ // Skip malformed endpoints
413
+ if (!this.isValidEndpoint(endpoint)) {
414
+ continue;
415
+ }
416
+ const { finalScore, finalMatchReason } = this.calculateFinalScore(endpoint, searchTermLower, domain);
417
+ if (finalScore >= minScore) {
418
+ results.push({
419
+ endpoint,
420
+ score: finalScore,
421
+ matchReason: finalMatchReason,
422
+ });
423
+ }
424
+ }
425
+ return results;
426
+ }
427
+ /**
428
+ * Check if endpoint has required fields
429
+ */
430
+ isValidEndpoint(endpoint) {
431
+ return !!(endpoint.domain && endpoint.description && endpoint.method);
432
+ }
433
+ /**
434
+ * Calculate final score with domain filter adjustments
435
+ */
436
+ calculateFinalScore(endpoint, searchTermLower, domain) {
437
+ const { score, matchReason } = this.calculateEndpointRelevance(endpoint, searchTermLower);
438
+ // If domain filter is applied and search score is 0, give minimal score
439
+ if (domain && score === 0) {
440
+ return {
441
+ finalScore: 0.1,
442
+ finalMatchReason: 'Domain filter match',
443
+ };
444
+ }
445
+ return {
446
+ finalScore: score,
447
+ finalMatchReason: matchReason,
448
+ };
449
+ }
450
+ /**
451
+ * Calculate relevance score for an endpoint against a search term
452
+ */
453
+ calculateEndpointRelevance(endpoint, searchTermLower) {
454
+ const exactMatches = this.calculateExactMatches(endpoint, searchTermLower);
455
+ const partialMatches = this.calculatePartialMatches(endpoint, searchTermLower);
456
+ // Process exact matches if found
457
+ if (exactMatches.score > 0) {
458
+ return this.processExactMatches(exactMatches, partialMatches);
459
+ }
460
+ // Fallback to multi-word or partial matches
461
+ return this.processFallbackMatches(endpoint, searchTermLower, partialMatches);
462
+ }
463
+ /**
464
+ * Process exact matches with appropriate combining logic
465
+ */
466
+ processExactMatches(exactMatches, partialMatches) {
467
+ // Service and search term matches are exclusive
468
+ if (this.isExclusiveMatch(exactMatches.reason)) {
469
+ return {
470
+ score: exactMatches.score,
471
+ matchReason: exactMatches.reason,
472
+ };
473
+ }
474
+ // Combinable matches get partial score boost
475
+ if (this.isCombinableMatch(exactMatches.reason)) {
476
+ const totalScore = Math.min(exactMatches.score + partialMatches.score, 1.0);
477
+ return {
478
+ score: totalScore,
479
+ matchReason: exactMatches.reason,
480
+ };
481
+ }
482
+ // Default to exact match
483
+ return {
484
+ score: exactMatches.score,
485
+ matchReason: exactMatches.reason,
486
+ };
487
+ }
488
+ /**
489
+ * Check if match type should be exclusive (no combining)
490
+ */
491
+ isExclusiveMatch(reason) {
492
+ return reason === 'Service match' || reason.startsWith('Search term match');
493
+ }
494
+ /**
495
+ * Check if match type can be combined with partial matches
496
+ */
497
+ isCombinableMatch(reason) {
498
+ const combinableReasons = [
499
+ 'Description match',
500
+ 'Full path match',
501
+ 'Path substring match',
502
+ 'Domain match',
503
+ 'Usage pattern match',
504
+ ];
505
+ return combinableReasons.includes(reason);
506
+ }
507
+ /**
508
+ * Process fallback matches when no exact match found
509
+ */
510
+ processFallbackMatches(endpoint, searchTermLower, partialMatches) {
511
+ const multiWordMatches = this.calculateMultiWordMatches(endpoint, searchTermLower);
512
+ if (multiWordMatches.score > partialMatches.score) {
513
+ return {
514
+ score: multiWordMatches.score,
515
+ matchReason: multiWordMatches.reason,
516
+ };
517
+ }
518
+ return {
519
+ score: partialMatches.score,
520
+ matchReason: partialMatches.reason || 'Low relevance match',
521
+ };
522
+ }
523
+ /**
524
+ * Calculate exact field matches with high scores
525
+ */
526
+ calculateExactMatches(endpoint, searchTermLower) {
527
+ // Check matches in priority order (not just highest score)
528
+ // Priority 1: Exact field matches (domain, service, exact path, exact description)
529
+ const exactMatch = this.checkExactFieldMatches(endpoint, searchTermLower);
530
+ if (exactMatch.score > 0) {
531
+ return exactMatch;
532
+ }
533
+ // Priority 2: Path and description substring matches (higher business value)
534
+ const pathMatch = this.checkPathSubstringMatch(endpoint, searchTermLower);
535
+ if (pathMatch.score > 0) {
536
+ return pathMatch;
537
+ }
538
+ const descSubstringMatch = this.checkDescriptionSubstringMatch(endpoint, searchTermLower);
539
+ if (descSubstringMatch.score > 0) {
540
+ return descSubstringMatch;
541
+ }
542
+ // Priority 3: Search terms and patterns
543
+ const termMatch = this.checkSearchTermsAndPatterns(endpoint, searchTermLower);
544
+ if (termMatch.score > 0) {
545
+ return termMatch;
546
+ }
547
+ // Priority 4: Other substring matches (domain, service)
548
+ const otherSubstringMatch = this.checkOtherSubstringMatches(endpoint, searchTermLower);
549
+ if (otherSubstringMatch.score > 0) {
550
+ return otherSubstringMatch;
551
+ }
552
+ return { score: 0, reason: '' };
553
+ }
554
+ /**
555
+ * Check for path substring matches
556
+ */
557
+ checkPathSubstringMatch(endpoint, searchTermLower) {
558
+ if (endpoint.fullPath &&
559
+ (endpoint.fullPath.toLowerCase().includes(searchTermLower) ||
560
+ searchTermLower.includes(endpoint.fullPath.toLowerCase()))) {
561
+ return { score: 0.9, reason: 'Path substring match' };
562
+ }
563
+ return { score: 0, reason: '' };
564
+ }
565
+ /**
566
+ * Check for description substring matches
567
+ */
568
+ checkDescriptionSubstringMatch(endpoint, searchTermLower) {
569
+ if (endpoint.description && endpoint.description.toLowerCase().includes(searchTermLower)) {
570
+ return { score: 0.65, reason: 'Description substring match' };
571
+ }
572
+ return { score: 0, reason: '' };
573
+ }
574
+ /**
575
+ * Check for other substring matches (domain, service)
576
+ */
577
+ checkOtherSubstringMatches(endpoint, searchTermLower) {
578
+ if (endpoint.domain && endpoint.domain.toLowerCase().includes(searchTermLower)) {
579
+ return { score: 0.5, reason: 'Domain match' };
580
+ }
581
+ if (endpoint.service && endpoint.service.toLowerCase().includes(searchTermLower)) {
582
+ return { score: 0.3, reason: 'Service match' };
583
+ }
584
+ return { score: 0, reason: '' };
585
+ }
586
+ /**
587
+ * Check for exact field matches
588
+ */
589
+ checkExactFieldMatches(endpoint, searchTermLower) {
590
+ if (endpoint.domain && endpoint.domain.toLowerCase() === searchTermLower) {
591
+ return { score: 0.6, reason: 'Domain match' };
592
+ }
593
+ if (endpoint.service && endpoint.service.toLowerCase() === searchTermLower) {
594
+ return { score: 0.3, reason: 'Service match' };
595
+ }
596
+ if (endpoint.fullPath && endpoint.fullPath.toLowerCase() === searchTermLower) {
597
+ return { score: 1.0, reason: 'Full path match' };
598
+ }
599
+ if (endpoint.description && endpoint.description.toLowerCase() === searchTermLower) {
600
+ return { score: 0.8, reason: 'Description match' };
601
+ }
602
+ return { score: 0, reason: '' };
603
+ }
604
+ /**
605
+ * Check search terms and common patterns
606
+ */
607
+ checkSearchTermsAndPatterns(endpoint, searchTermLower) {
608
+ if (Array.isArray(endpoint.searchTerms)) {
609
+ const searchTermMatches = endpoint.searchTerms.filter(term => term && typeof term === 'string' && term.toLowerCase().includes(searchTermLower));
610
+ if (searchTermMatches.length > 0) {
611
+ return { score: 0.7, reason: `Search term match: ${searchTermMatches[0]}` };
612
+ }
613
+ }
614
+ if (Array.isArray(endpoint.commonPatterns)) {
615
+ const patternMatches = endpoint.commonPatterns.filter(pattern => {
616
+ if (!pattern || typeof pattern !== 'string')
617
+ return false;
618
+ const patternLower = pattern.toLowerCase();
619
+ return patternLower.includes(searchTermLower);
620
+ });
621
+ if (patternMatches.length > 0) {
622
+ return { score: 0.5, reason: 'Usage pattern match' };
623
+ }
624
+ }
625
+ return { score: 0, reason: '' };
626
+ }
627
+ /**
628
+ * Calculate partial word matches with lower scores
629
+ */
630
+ calculatePartialMatches(endpoint, searchTermLower) {
631
+ const allText = this.buildSearchableText(endpoint);
632
+ const wordMatches = this.countWordMatches(searchTermLower, allText);
633
+ return this.buildPartialMatchResult(wordMatches, searchTermLower);
634
+ }
635
+ /**
636
+ * Build searchable text from endpoint fields
637
+ */
638
+ buildSearchableText(endpoint) {
639
+ const searchTerms = Array.isArray(endpoint.searchTerms) ? endpoint.searchTerms : [];
640
+ const commonPatterns = Array.isArray(endpoint.commonPatterns) ? endpoint.commonPatterns : [];
641
+ return [
642
+ endpoint.fullPath || '',
643
+ endpoint.description || '',
644
+ endpoint.domain || '',
645
+ endpoint.service || '',
646
+ ...searchTerms,
647
+ ...commonPatterns,
648
+ ]
649
+ .filter(text => typeof text === 'string')
650
+ .join(' ')
651
+ .toLowerCase();
652
+ }
653
+ /**
654
+ * Count matching words in text
655
+ */
656
+ countWordMatches(searchTermLower, allText) {
657
+ const searchWords = searchTermLower.split(/\s+/).filter(word => word.length > 0);
658
+ let wordMatches = 0;
659
+ for (const word of searchWords) {
660
+ if (word.length > 2 && allText.includes(word)) {
661
+ wordMatches++;
662
+ }
663
+ }
664
+ return wordMatches;
665
+ }
666
+ /**
667
+ * Build partial match result with score and reason
668
+ */
669
+ buildPartialMatchResult(wordMatches, searchTermLower) {
670
+ if (wordMatches > 0) {
671
+ const searchWords = searchTermLower.split(/\s+/).filter(word => word.length > 0);
672
+ const partialScore = (wordMatches / searchWords.length) * 0.2;
673
+ const reasonText = `Partial word match (${wordMatches}/${searchWords.length})`;
674
+ return {
675
+ score: partialScore,
676
+ reason: reasonText,
677
+ matchReason: reasonText,
678
+ };
679
+ }
680
+ return { score: 0, reason: '', matchReason: '' };
681
+ }
682
+ /**
683
+ * Calculate multi-word matches by finding the best match for each word
684
+ */
685
+ calculateMultiWordMatches(endpoint, searchTermLower) {
686
+ const searchWords = searchTermLower.split(/\s+/).filter(word => word.length > 0);
687
+ // If only one word, fall back to exact matching
688
+ if (searchWords.length <= 1) {
689
+ return { score: 0, reason: '' };
690
+ }
691
+ let bestScore = 0;
692
+ let bestReason = '';
693
+ const matchedWords = [];
694
+ // Check each word against the endpoint fields
695
+ for (const word of searchWords) {
696
+ const wordMatch = this.calculateExactMatches(endpoint, word);
697
+ if (wordMatch.score > 0) {
698
+ // Keep track of the highest scoring match
699
+ if (wordMatch.score > bestScore) {
700
+ bestScore = wordMatch.score;
701
+ bestReason = wordMatch.reason;
702
+ }
703
+ matchedWords.push(word);
704
+ }
705
+ }
706
+ // If we matched multiple words, boost the score
707
+ if (matchedWords.length > 1) {
708
+ // Base score is the best individual match, with bonus for additional matches
709
+ const bonusScore = Math.min((matchedWords.length - 1) * 0.1, 0.3);
710
+ const finalScore = Math.min(bestScore + bonusScore, 1.0);
711
+ return {
712
+ score: finalScore,
713
+ reason: `Multi-word match (${matchedWords.length}/${searchWords.length} words): ${bestReason}`,
714
+ };
715
+ }
716
+ // Single word match - return as-is
717
+ if (bestScore > 0) {
718
+ return {
719
+ score: bestScore,
720
+ reason: bestReason,
721
+ };
722
+ }
723
+ return { score: 0, reason: '' };
724
+ }
276
725
  }
277
726
  exports.AugurAPI = AugurAPI;
278
727
  //# sourceMappingURL=client.js.map