@ordanetwork/sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +315 -0
  3. package/dist/browser/api/OffRampAPI.d.ts +45 -0
  4. package/dist/browser/api/OffRampAPI.d.ts.map +1 -0
  5. package/dist/browser/api/OffRampAPI.js +73 -0
  6. package/dist/browser/api/OffRampAPI.js.map +1 -0
  7. package/dist/browser/api/OnRampAPI.d.ts +42 -0
  8. package/dist/browser/api/OnRampAPI.d.ts.map +1 -0
  9. package/dist/browser/api/OnRampAPI.js +73 -0
  10. package/dist/browser/api/OnRampAPI.js.map +1 -0
  11. package/dist/browser/api/QuoteAPI.d.ts +16 -0
  12. package/dist/browser/api/QuoteAPI.d.ts.map +1 -0
  13. package/dist/browser/api/QuoteAPI.js +17 -0
  14. package/dist/browser/api/QuoteAPI.js.map +1 -0
  15. package/dist/browser/api/RecipientAPI.d.ts +25 -0
  16. package/dist/browser/api/RecipientAPI.d.ts.map +1 -0
  17. package/dist/browser/api/RecipientAPI.js +30 -0
  18. package/dist/browser/api/RecipientAPI.js.map +1 -0
  19. package/dist/browser/api/TransactionAPI.d.ts +35 -0
  20. package/dist/browser/api/TransactionAPI.d.ts.map +1 -0
  21. package/dist/browser/api/TransactionAPI.js +72 -0
  22. package/dist/browser/api/TransactionAPI.js.map +1 -0
  23. package/dist/browser/auth/hmac.d.ts +24 -0
  24. package/dist/browser/auth/hmac.d.ts.map +1 -0
  25. package/dist/browser/auth/hmac.js +70 -0
  26. package/dist/browser/auth/hmac.js.map +1 -0
  27. package/dist/browser/crypto/factory.d.ts +7 -0
  28. package/dist/browser/crypto/factory.d.ts.map +1 -0
  29. package/dist/browser/crypto/factory.js +18 -0
  30. package/dist/browser/crypto/factory.js.map +1 -0
  31. package/dist/browser/crypto/node-crypto.d.ts +10 -0
  32. package/dist/browser/crypto/node-crypto.d.ts.map +1 -0
  33. package/dist/browser/crypto/node-crypto.js +28 -0
  34. package/dist/browser/crypto/node-crypto.js.map +1 -0
  35. package/dist/browser/crypto/types.d.ts +13 -0
  36. package/dist/browser/crypto/types.d.ts.map +1 -0
  37. package/dist/browser/crypto/types.js +2 -0
  38. package/dist/browser/crypto/types.js.map +1 -0
  39. package/dist/browser/crypto/web-crypto.d.ts +8 -0
  40. package/dist/browser/crypto/web-crypto.d.ts.map +1 -0
  41. package/dist/browser/crypto/web-crypto.js +17 -0
  42. package/dist/browser/crypto/web-crypto.js.map +1 -0
  43. package/dist/browser/errors/index.d.ts +38 -0
  44. package/dist/browser/errors/index.d.ts.map +1 -0
  45. package/dist/browser/errors/index.js +72 -0
  46. package/dist/browser/errors/index.js.map +1 -0
  47. package/dist/browser/http/client.d.ts +50 -0
  48. package/dist/browser/http/client.d.ts.map +1 -0
  49. package/dist/browser/http/client.js +153 -0
  50. package/dist/browser/http/client.js.map +1 -0
  51. package/dist/browser/index.d.ts +59 -0
  52. package/dist/browser/index.d.ts.map +1 -0
  53. package/dist/browser/index.js +78 -0
  54. package/dist/browser/index.js.map +1 -0
  55. package/dist/browser/smart-wallets/LocalSigner.d.ts +19 -0
  56. package/dist/browser/smart-wallets/LocalSigner.d.ts.map +1 -0
  57. package/dist/browser/smart-wallets/LocalSigner.js +57 -0
  58. package/dist/browser/smart-wallets/LocalSigner.js.map +1 -0
  59. package/dist/browser/smart-wallets/SmartWalletClient.d.ts +19 -0
  60. package/dist/browser/smart-wallets/SmartWalletClient.d.ts.map +1 -0
  61. package/dist/browser/smart-wallets/SmartWalletClient.js +180 -0
  62. package/dist/browser/smart-wallets/SmartWalletClient.js.map +1 -0
  63. package/dist/browser/smart-wallets/SmartWalletManager.d.ts +17 -0
  64. package/dist/browser/smart-wallets/SmartWalletManager.d.ts.map +1 -0
  65. package/dist/browser/smart-wallets/SmartWalletManager.js +59 -0
  66. package/dist/browser/smart-wallets/SmartWalletManager.js.map +1 -0
  67. package/dist/browser/smart-wallets/chains.d.ts +11 -0
  68. package/dist/browser/smart-wallets/chains.d.ts.map +1 -0
  69. package/dist/browser/smart-wallets/chains.js +30 -0
  70. package/dist/browser/smart-wallets/chains.js.map +1 -0
  71. package/dist/browser/smart-wallets/errors.d.ts +23 -0
  72. package/dist/browser/smart-wallets/errors.d.ts.map +1 -0
  73. package/dist/browser/smart-wallets/errors.js +44 -0
  74. package/dist/browser/smart-wallets/errors.js.map +1 -0
  75. package/dist/browser/smart-wallets/index.d.ts +11 -0
  76. package/dist/browser/smart-wallets/index.d.ts.map +1 -0
  77. package/dist/browser/smart-wallets/index.js +13 -0
  78. package/dist/browser/smart-wallets/index.js.map +1 -0
  79. package/dist/browser/smart-wallets/types.d.ts +47 -0
  80. package/dist/browser/smart-wallets/types.d.ts.map +1 -0
  81. package/dist/browser/smart-wallets/types.js +2 -0
  82. package/dist/browser/smart-wallets/types.js.map +1 -0
  83. package/dist/browser/smart-wallets/utils.d.ts +22 -0
  84. package/dist/browser/smart-wallets/utils.d.ts.map +1 -0
  85. package/dist/browser/smart-wallets/utils.js +57 -0
  86. package/dist/browser/smart-wallets/utils.js.map +1 -0
  87. package/dist/browser/types/index.d.ts +170 -0
  88. package/dist/browser/types/index.d.ts.map +1 -0
  89. package/dist/browser/types/index.js +10 -0
  90. package/dist/browser/types/index.js.map +1 -0
  91. package/dist/browser/types/offramp.d.ts +55 -0
  92. package/dist/browser/types/offramp.d.ts.map +1 -0
  93. package/dist/browser/types/offramp.js +2 -0
  94. package/dist/browser/types/offramp.js.map +1 -0
  95. package/dist/browser/types/onramp.d.ts +54 -0
  96. package/dist/browser/types/onramp.d.ts.map +1 -0
  97. package/dist/browser/types/onramp.js +2 -0
  98. package/dist/browser/types/onramp.js.map +1 -0
  99. package/dist/cjs/api/OffRampAPI.d.ts +45 -0
  100. package/dist/cjs/api/OffRampAPI.d.ts.map +1 -0
  101. package/dist/cjs/api/OffRampAPI.js +77 -0
  102. package/dist/cjs/api/OffRampAPI.js.map +1 -0
  103. package/dist/cjs/api/OnRampAPI.d.ts +42 -0
  104. package/dist/cjs/api/OnRampAPI.d.ts.map +1 -0
  105. package/dist/cjs/api/OnRampAPI.js +77 -0
  106. package/dist/cjs/api/OnRampAPI.js.map +1 -0
  107. package/dist/cjs/api/QuoteAPI.d.ts +16 -0
  108. package/dist/cjs/api/QuoteAPI.d.ts.map +1 -0
  109. package/dist/cjs/api/QuoteAPI.js +21 -0
  110. package/dist/cjs/api/QuoteAPI.js.map +1 -0
  111. package/dist/cjs/api/RecipientAPI.d.ts +25 -0
  112. package/dist/cjs/api/RecipientAPI.d.ts.map +1 -0
  113. package/dist/cjs/api/RecipientAPI.js +34 -0
  114. package/dist/cjs/api/RecipientAPI.js.map +1 -0
  115. package/dist/cjs/api/TransactionAPI.d.ts +35 -0
  116. package/dist/cjs/api/TransactionAPI.d.ts.map +1 -0
  117. package/dist/cjs/api/TransactionAPI.js +76 -0
  118. package/dist/cjs/api/TransactionAPI.js.map +1 -0
  119. package/dist/cjs/auth/hmac.d.ts +24 -0
  120. package/dist/cjs/auth/hmac.d.ts.map +1 -0
  121. package/dist/cjs/auth/hmac.js +74 -0
  122. package/dist/cjs/auth/hmac.js.map +1 -0
  123. package/dist/cjs/crypto/factory.d.ts +7 -0
  124. package/dist/cjs/crypto/factory.d.ts.map +1 -0
  125. package/dist/cjs/crypto/factory.js +21 -0
  126. package/dist/cjs/crypto/factory.js.map +1 -0
  127. package/dist/cjs/crypto/node-crypto.d.ts +10 -0
  128. package/dist/cjs/crypto/node-crypto.d.ts.map +1 -0
  129. package/dist/cjs/crypto/node-crypto.js +65 -0
  130. package/dist/cjs/crypto/node-crypto.js.map +1 -0
  131. package/dist/cjs/crypto/types.d.ts +13 -0
  132. package/dist/cjs/crypto/types.d.ts.map +1 -0
  133. package/dist/cjs/crypto/types.js +3 -0
  134. package/dist/cjs/crypto/types.js.map +1 -0
  135. package/dist/cjs/crypto/web-crypto.d.ts +8 -0
  136. package/dist/cjs/crypto/web-crypto.d.ts.map +1 -0
  137. package/dist/cjs/crypto/web-crypto.js +21 -0
  138. package/dist/cjs/crypto/web-crypto.js.map +1 -0
  139. package/dist/cjs/errors/index.d.ts +38 -0
  140. package/dist/cjs/errors/index.d.ts.map +1 -0
  141. package/dist/cjs/errors/index.js +85 -0
  142. package/dist/cjs/errors/index.js.map +1 -0
  143. package/dist/cjs/http/client.d.ts +50 -0
  144. package/dist/cjs/http/client.d.ts.map +1 -0
  145. package/dist/cjs/http/client.js +157 -0
  146. package/dist/cjs/http/client.js.map +1 -0
  147. package/dist/cjs/index.d.ts +59 -0
  148. package/dist/cjs/index.d.ts.map +1 -0
  149. package/dist/cjs/index.js +112 -0
  150. package/dist/cjs/index.js.map +1 -0
  151. package/dist/cjs/package.json +1 -0
  152. package/dist/cjs/smart-wallets/LocalSigner.d.ts +19 -0
  153. package/dist/cjs/smart-wallets/LocalSigner.d.ts.map +1 -0
  154. package/dist/cjs/smart-wallets/LocalSigner.js +61 -0
  155. package/dist/cjs/smart-wallets/LocalSigner.js.map +1 -0
  156. package/dist/cjs/smart-wallets/SmartWalletClient.d.ts +19 -0
  157. package/dist/cjs/smart-wallets/SmartWalletClient.d.ts.map +1 -0
  158. package/dist/cjs/smart-wallets/SmartWalletClient.js +184 -0
  159. package/dist/cjs/smart-wallets/SmartWalletClient.js.map +1 -0
  160. package/dist/cjs/smart-wallets/SmartWalletManager.d.ts +17 -0
  161. package/dist/cjs/smart-wallets/SmartWalletManager.d.ts.map +1 -0
  162. package/dist/cjs/smart-wallets/SmartWalletManager.js +63 -0
  163. package/dist/cjs/smart-wallets/SmartWalletManager.js.map +1 -0
  164. package/dist/cjs/smart-wallets/chains.d.ts +11 -0
  165. package/dist/cjs/smart-wallets/chains.d.ts.map +1 -0
  166. package/dist/cjs/smart-wallets/chains.js +36 -0
  167. package/dist/cjs/smart-wallets/chains.js.map +1 -0
  168. package/dist/cjs/smart-wallets/errors.d.ts +23 -0
  169. package/dist/cjs/smart-wallets/errors.d.ts.map +1 -0
  170. package/dist/cjs/smart-wallets/errors.js +54 -0
  171. package/dist/cjs/smart-wallets/errors.js.map +1 -0
  172. package/dist/cjs/smart-wallets/index.d.ts +11 -0
  173. package/dist/cjs/smart-wallets/index.d.ts.map +1 -0
  174. package/dist/cjs/smart-wallets/index.js +36 -0
  175. package/dist/cjs/smart-wallets/index.js.map +1 -0
  176. package/dist/cjs/smart-wallets/types.d.ts +47 -0
  177. package/dist/cjs/smart-wallets/types.d.ts.map +1 -0
  178. package/dist/cjs/smart-wallets/types.js +3 -0
  179. package/dist/cjs/smart-wallets/types.js.map +1 -0
  180. package/dist/cjs/smart-wallets/utils.d.ts +22 -0
  181. package/dist/cjs/smart-wallets/utils.d.ts.map +1 -0
  182. package/dist/cjs/smart-wallets/utils.js +64 -0
  183. package/dist/cjs/smart-wallets/utils.js.map +1 -0
  184. package/dist/cjs/types/index.d.ts +170 -0
  185. package/dist/cjs/types/index.d.ts.map +1 -0
  186. package/dist/cjs/types/index.js +13 -0
  187. package/dist/cjs/types/index.js.map +1 -0
  188. package/dist/cjs/types/offramp.d.ts +55 -0
  189. package/dist/cjs/types/offramp.d.ts.map +1 -0
  190. package/dist/cjs/types/offramp.js +3 -0
  191. package/dist/cjs/types/offramp.js.map +1 -0
  192. package/dist/cjs/types/onramp.d.ts +54 -0
  193. package/dist/cjs/types/onramp.d.ts.map +1 -0
  194. package/dist/cjs/types/onramp.js +3 -0
  195. package/dist/cjs/types/onramp.js.map +1 -0
  196. package/dist/esm/api/OffRampAPI.d.ts +45 -0
  197. package/dist/esm/api/OffRampAPI.d.ts.map +1 -0
  198. package/dist/esm/api/OffRampAPI.js +73 -0
  199. package/dist/esm/api/OffRampAPI.js.map +1 -0
  200. package/dist/esm/api/OnRampAPI.d.ts +42 -0
  201. package/dist/esm/api/OnRampAPI.d.ts.map +1 -0
  202. package/dist/esm/api/OnRampAPI.js +73 -0
  203. package/dist/esm/api/OnRampAPI.js.map +1 -0
  204. package/dist/esm/api/QuoteAPI.d.ts +16 -0
  205. package/dist/esm/api/QuoteAPI.d.ts.map +1 -0
  206. package/dist/esm/api/QuoteAPI.js +17 -0
  207. package/dist/esm/api/QuoteAPI.js.map +1 -0
  208. package/dist/esm/api/RecipientAPI.d.ts +25 -0
  209. package/dist/esm/api/RecipientAPI.d.ts.map +1 -0
  210. package/dist/esm/api/RecipientAPI.js +30 -0
  211. package/dist/esm/api/RecipientAPI.js.map +1 -0
  212. package/dist/esm/api/TransactionAPI.d.ts +35 -0
  213. package/dist/esm/api/TransactionAPI.d.ts.map +1 -0
  214. package/dist/esm/api/TransactionAPI.js +72 -0
  215. package/dist/esm/api/TransactionAPI.js.map +1 -0
  216. package/dist/esm/auth/hmac.d.ts +24 -0
  217. package/dist/esm/auth/hmac.d.ts.map +1 -0
  218. package/dist/esm/auth/hmac.js +70 -0
  219. package/dist/esm/auth/hmac.js.map +1 -0
  220. package/dist/esm/crypto/factory.d.ts +7 -0
  221. package/dist/esm/crypto/factory.d.ts.map +1 -0
  222. package/dist/esm/crypto/factory.js +18 -0
  223. package/dist/esm/crypto/factory.js.map +1 -0
  224. package/dist/esm/crypto/node-crypto.d.ts +10 -0
  225. package/dist/esm/crypto/node-crypto.d.ts.map +1 -0
  226. package/dist/esm/crypto/node-crypto.js +28 -0
  227. package/dist/esm/crypto/node-crypto.js.map +1 -0
  228. package/dist/esm/crypto/types.d.ts +13 -0
  229. package/dist/esm/crypto/types.d.ts.map +1 -0
  230. package/dist/esm/crypto/types.js +2 -0
  231. package/dist/esm/crypto/types.js.map +1 -0
  232. package/dist/esm/crypto/web-crypto.d.ts +8 -0
  233. package/dist/esm/crypto/web-crypto.d.ts.map +1 -0
  234. package/dist/esm/crypto/web-crypto.js +17 -0
  235. package/dist/esm/crypto/web-crypto.js.map +1 -0
  236. package/dist/esm/errors/index.d.ts +38 -0
  237. package/dist/esm/errors/index.d.ts.map +1 -0
  238. package/dist/esm/errors/index.js +72 -0
  239. package/dist/esm/errors/index.js.map +1 -0
  240. package/dist/esm/http/client.d.ts +50 -0
  241. package/dist/esm/http/client.d.ts.map +1 -0
  242. package/dist/esm/http/client.js +153 -0
  243. package/dist/esm/http/client.js.map +1 -0
  244. package/dist/esm/index.d.ts +59 -0
  245. package/dist/esm/index.d.ts.map +1 -0
  246. package/dist/esm/index.js +78 -0
  247. package/dist/esm/index.js.map +1 -0
  248. package/dist/esm/package.json +1 -0
  249. package/dist/esm/smart-wallets/LocalSigner.d.ts +19 -0
  250. package/dist/esm/smart-wallets/LocalSigner.d.ts.map +1 -0
  251. package/dist/esm/smart-wallets/LocalSigner.js +57 -0
  252. package/dist/esm/smart-wallets/LocalSigner.js.map +1 -0
  253. package/dist/esm/smart-wallets/SmartWalletClient.d.ts +19 -0
  254. package/dist/esm/smart-wallets/SmartWalletClient.d.ts.map +1 -0
  255. package/dist/esm/smart-wallets/SmartWalletClient.js +180 -0
  256. package/dist/esm/smart-wallets/SmartWalletClient.js.map +1 -0
  257. package/dist/esm/smart-wallets/SmartWalletManager.d.ts +17 -0
  258. package/dist/esm/smart-wallets/SmartWalletManager.d.ts.map +1 -0
  259. package/dist/esm/smart-wallets/SmartWalletManager.js +59 -0
  260. package/dist/esm/smart-wallets/SmartWalletManager.js.map +1 -0
  261. package/dist/esm/smart-wallets/chains.d.ts +11 -0
  262. package/dist/esm/smart-wallets/chains.d.ts.map +1 -0
  263. package/dist/esm/smart-wallets/chains.js +30 -0
  264. package/dist/esm/smart-wallets/chains.js.map +1 -0
  265. package/dist/esm/smart-wallets/errors.d.ts +23 -0
  266. package/dist/esm/smart-wallets/errors.d.ts.map +1 -0
  267. package/dist/esm/smart-wallets/errors.js +44 -0
  268. package/dist/esm/smart-wallets/errors.js.map +1 -0
  269. package/dist/esm/smart-wallets/index.d.ts +11 -0
  270. package/dist/esm/smart-wallets/index.d.ts.map +1 -0
  271. package/dist/esm/smart-wallets/index.js +13 -0
  272. package/dist/esm/smart-wallets/index.js.map +1 -0
  273. package/dist/esm/smart-wallets/types.d.ts +47 -0
  274. package/dist/esm/smart-wallets/types.d.ts.map +1 -0
  275. package/dist/esm/smart-wallets/types.js +2 -0
  276. package/dist/esm/smart-wallets/types.js.map +1 -0
  277. package/dist/esm/smart-wallets/utils.d.ts +22 -0
  278. package/dist/esm/smart-wallets/utils.d.ts.map +1 -0
  279. package/dist/esm/smart-wallets/utils.js +57 -0
  280. package/dist/esm/smart-wallets/utils.js.map +1 -0
  281. package/dist/esm/types/index.d.ts +170 -0
  282. package/dist/esm/types/index.d.ts.map +1 -0
  283. package/dist/esm/types/index.js +10 -0
  284. package/dist/esm/types/index.js.map +1 -0
  285. package/dist/esm/types/offramp.d.ts +55 -0
  286. package/dist/esm/types/offramp.d.ts.map +1 -0
  287. package/dist/esm/types/offramp.js +2 -0
  288. package/dist/esm/types/offramp.js.map +1 -0
  289. package/dist/esm/types/onramp.d.ts +54 -0
  290. package/dist/esm/types/onramp.d.ts.map +1 -0
  291. package/dist/esm/types/onramp.js +2 -0
  292. package/dist/esm/types/onramp.js.map +1 -0
  293. package/dist/types/api/OffRampAPI.d.ts +45 -0
  294. package/dist/types/api/OffRampAPI.d.ts.map +1 -0
  295. package/dist/types/api/OnRampAPI.d.ts +42 -0
  296. package/dist/types/api/OnRampAPI.d.ts.map +1 -0
  297. package/dist/types/api/QuoteAPI.d.ts +16 -0
  298. package/dist/types/api/QuoteAPI.d.ts.map +1 -0
  299. package/dist/types/api/RecipientAPI.d.ts +25 -0
  300. package/dist/types/api/RecipientAPI.d.ts.map +1 -0
  301. package/dist/types/api/TransactionAPI.d.ts +35 -0
  302. package/dist/types/api/TransactionAPI.d.ts.map +1 -0
  303. package/dist/types/auth/hmac.d.ts +24 -0
  304. package/dist/types/auth/hmac.d.ts.map +1 -0
  305. package/dist/types/crypto/factory.d.ts +7 -0
  306. package/dist/types/crypto/factory.d.ts.map +1 -0
  307. package/dist/types/crypto/node-crypto.d.ts +10 -0
  308. package/dist/types/crypto/node-crypto.d.ts.map +1 -0
  309. package/dist/types/crypto/types.d.ts +13 -0
  310. package/dist/types/crypto/types.d.ts.map +1 -0
  311. package/dist/types/crypto/web-crypto.d.ts +8 -0
  312. package/dist/types/crypto/web-crypto.d.ts.map +1 -0
  313. package/dist/types/errors/index.d.ts +38 -0
  314. package/dist/types/errors/index.d.ts.map +1 -0
  315. package/dist/types/http/client.d.ts +50 -0
  316. package/dist/types/http/client.d.ts.map +1 -0
  317. package/dist/types/index.d.ts +59 -0
  318. package/dist/types/index.d.ts.map +1 -0
  319. package/dist/types/smart-wallets/LocalSigner.d.ts +19 -0
  320. package/dist/types/smart-wallets/LocalSigner.d.ts.map +1 -0
  321. package/dist/types/smart-wallets/SmartWalletClient.d.ts +19 -0
  322. package/dist/types/smart-wallets/SmartWalletClient.d.ts.map +1 -0
  323. package/dist/types/smart-wallets/SmartWalletManager.d.ts +17 -0
  324. package/dist/types/smart-wallets/SmartWalletManager.d.ts.map +1 -0
  325. package/dist/types/smart-wallets/chains.d.ts +11 -0
  326. package/dist/types/smart-wallets/chains.d.ts.map +1 -0
  327. package/dist/types/smart-wallets/errors.d.ts +23 -0
  328. package/dist/types/smart-wallets/errors.d.ts.map +1 -0
  329. package/dist/types/smart-wallets/index.d.ts +11 -0
  330. package/dist/types/smart-wallets/index.d.ts.map +1 -0
  331. package/dist/types/smart-wallets/types.d.ts +47 -0
  332. package/dist/types/smart-wallets/types.d.ts.map +1 -0
  333. package/dist/types/smart-wallets/utils.d.ts +22 -0
  334. package/dist/types/smart-wallets/utils.d.ts.map +1 -0
  335. package/dist/types/types/index.d.ts +170 -0
  336. package/dist/types/types/index.d.ts.map +1 -0
  337. package/dist/types/types/offramp.d.ts +55 -0
  338. package/dist/types/types/offramp.d.ts.map +1 -0
  339. package/dist/types/types/onramp.d.ts +54 -0
  340. package/dist/types/types/onramp.d.ts.map +1 -0
  341. package/package.json +99 -0
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HmacAuthenticator = void 0;
4
+ const factory_1 = require("../crypto/factory");
5
+ class HmacAuthenticator {
6
+ constructor(clientId, clientSecret) {
7
+ this.clientId = clientId;
8
+ this.clientSecret = clientSecret;
9
+ this.cryptoProvider = (0, factory_1.getCryptoProvider)();
10
+ }
11
+ /**
12
+ * Canonicalizes a JavaScript object into deterministic JSON string
13
+ */
14
+ canonicalizeJSON(obj, seenObjects = new WeakSet()) {
15
+ if (obj === null)
16
+ return 'null';
17
+ if (typeof obj === 'undefined')
18
+ return 'undefined';
19
+ if (typeof obj === 'boolean' || typeof obj === 'number')
20
+ return String(obj);
21
+ if (typeof obj === 'string')
22
+ return JSON.stringify(obj);
23
+ if (obj instanceof Date)
24
+ return JSON.stringify(obj.toISOString());
25
+ if (Array.isArray(obj)) {
26
+ if (seenObjects.has(obj))
27
+ return '[Circular]';
28
+ seenObjects.add(obj);
29
+ const items = obj.map((item) => this.canonicalizeJSON(item, seenObjects));
30
+ seenObjects.delete(obj);
31
+ return `[${items.join(',')}]`;
32
+ }
33
+ if (typeof obj === 'object' && obj !== null) {
34
+ if (seenObjects.has(obj))
35
+ return '{Circular}';
36
+ seenObjects.add(obj);
37
+ const sortedKeys = Object.keys(obj).sort();
38
+ const pairs = sortedKeys.map((key) => {
39
+ const value = this.canonicalizeJSON(obj[key], seenObjects);
40
+ return `${JSON.stringify(key)}:${value}`;
41
+ });
42
+ seenObjects.delete(obj);
43
+ return `{${pairs.join(',')}}`;
44
+ }
45
+ return JSON.stringify(obj);
46
+ }
47
+ /**
48
+ * Generates HMAC signature for a payload
49
+ * @param payload The payload to sign
50
+ * @returns Hex-encoded signature
51
+ */
52
+ async generateSignature(payload) {
53
+ const message = typeof payload === 'string' ? payload : this.canonicalizeJSON(payload);
54
+ return this.cryptoProvider.createHmacSha256(this.clientSecret, message);
55
+ }
56
+ /**
57
+ * Gets authentication headers for API requests
58
+ * @param body Request body to sign
59
+ * @param includeTimestamp Whether to include timestamp header
60
+ * @returns Authentication headers
61
+ */
62
+ async getAuthHeaders(body, includeTimestamp = true) {
63
+ const headers = {
64
+ 'x-client-id': this.clientId,
65
+ 'x-signature': await this.generateSignature(body)
66
+ };
67
+ if (includeTimestamp) {
68
+ headers['x-timestamp'] = Date.now().toString();
69
+ }
70
+ return headers;
71
+ }
72
+ }
73
+ exports.HmacAuthenticator = HmacAuthenticator;
74
+ //# sourceMappingURL=hmac.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hmac.js","sourceRoot":"","sources":["../../../src/auth/hmac.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { CryptoProvider } from './types';
2
+ /**
3
+ * Factory function to get the appropriate crypto provider
4
+ * based on the current environment
5
+ */
6
+ export declare function getCryptoProvider(): CryptoProvider;
7
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/crypto/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIzC;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAalD"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCryptoProvider = getCryptoProvider;
4
+ const web_crypto_1 = require("./web-crypto");
5
+ const node_crypto_1 = require("./node-crypto");
6
+ /**
7
+ * Factory function to get the appropriate crypto provider
8
+ * based on the current environment
9
+ */
10
+ function getCryptoProvider() {
11
+ // Check for Web Crypto API first (works in browsers and Node)
12
+ if (typeof crypto !== 'undefined' && crypto.subtle) {
13
+ return new web_crypto_1.WebCryptoProvider();
14
+ }
15
+ // Check for Node environment
16
+ if (typeof process !== 'undefined' && process.versions?.node) {
17
+ return new node_crypto_1.NodeCryptoProvider();
18
+ }
19
+ throw new Error('No suitable crypto provider found. This SDK requires either Web Crypto API or Node.js crypto module.');
20
+ }
21
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/crypto/factory.ts"],"names":[],"mappings":";;AAQA,8CAaC;AApBD,6CAAiD;AACjD,+CAAmD;AAEnD;;;GAGG;AACH,SAAgB,iBAAiB;IAC/B,8DAA8D;IAC9D,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACnD,OAAO,IAAI,8BAAiB,EAAE,CAAC;IACjC,CAAC;IACD,6BAA6B;IAC7B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC7D,OAAO,IAAI,gCAAkB,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,IAAI,KAAK,CACb,sGAAsG,CACvG,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { CryptoProvider } from './types';
2
+ /**
3
+ * Node.js crypto module provider for server environments
4
+ */
5
+ export declare class NodeCryptoProvider implements CryptoProvider {
6
+ private crypto;
7
+ constructor();
8
+ createHmacSha256(secret: string, message: string): Promise<string>;
9
+ }
10
+ //# sourceMappingURL=node-crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-crypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/node-crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC;;GAEG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IACvD,OAAO,CAAC,MAAM,CAAsC;;IAY9C,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAazE"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.NodeCryptoProvider = void 0;
37
+ /**
38
+ * Node.js crypto module provider for server environments
39
+ */
40
+ class NodeCryptoProvider {
41
+ constructor() {
42
+ // dynamic import to avoid bundling in browser builds
43
+ try {
44
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
45
+ this.crypto = require('crypto');
46
+ }
47
+ catch {
48
+ // will be handled by factory
49
+ }
50
+ }
51
+ async createHmacSha256(secret, message) {
52
+ if (!this.crypto) {
53
+ // fallback to Web Crypto if available in Node
54
+ if (typeof globalThis.crypto !== 'undefined' && globalThis.crypto.subtle) {
55
+ const webProvider = await Promise.resolve().then(() => __importStar(require('./web-crypto')));
56
+ const provider = new webProvider.WebCryptoProvider();
57
+ return provider.createHmacSha256(secret, message);
58
+ }
59
+ throw new Error('No crypto provider available');
60
+ }
61
+ return Promise.resolve(this.crypto.createHmac('sha256', secret).update(message).digest('hex'));
62
+ }
63
+ }
64
+ exports.NodeCryptoProvider = NodeCryptoProvider;
65
+ //# sourceMappingURL=node-crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-crypto.js","sourceRoot":"","sources":["../../../src/crypto/node-crypto.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;GAEG;AACH,MAAa,kBAAkB;IAG7B;QACE,qDAAqD;QACrD,IAAI,CAAC;YACH,8DAA8D;YAC9D,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,OAAe;QACpD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,8CAA8C;YAC9C,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACzE,MAAM,WAAW,GAAG,wDAAa,cAAc,GAAC,CAAC;gBACjD,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAE,CAAC;gBACrD,OAAO,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACjG,CAAC;CACF;AA1BD,gDA0BC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Interface for crypto providers that can create HMAC signatures
3
+ */
4
+ export interface CryptoProvider {
5
+ /**
6
+ * Creates an HMAC SHA-256 signature
7
+ * @param secret The secret key
8
+ * @param message The message to sign
9
+ * @returns Hex-encoded signature
10
+ */
11
+ createHmacSha256(secret: string, message: string): Promise<string>;
12
+ }
13
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/crypto/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpE"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/crypto/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { CryptoProvider } from './types';
2
+ /**
3
+ * Web Crypto API provider for browsers and Node.js
4
+ */
5
+ export declare class WebCryptoProvider implements CryptoProvider {
6
+ createHmacSha256(secret: string, message: string): Promise<string>;
7
+ }
8
+ //# sourceMappingURL=web-crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-crypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/web-crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC;;GAEG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IAChD,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAoBzE"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebCryptoProvider = void 0;
4
+ /**
5
+ * Web Crypto API provider for browsers and Node.js
6
+ */
7
+ class WebCryptoProvider {
8
+ async createHmacSha256(secret, message) {
9
+ const encoder = new TextEncoder();
10
+ const keyData = encoder.encode(secret);
11
+ const msgData = encoder.encode(message);
12
+ const key = await crypto.subtle.importKey('raw', keyData, { name: 'HMAC', hash: 'SHA-256' }, false, ['sign']);
13
+ const signature = await crypto.subtle.sign('HMAC', key, msgData);
14
+ // convert to hex string
15
+ return Array.from(new Uint8Array(signature))
16
+ .map((b) => b.toString(16).padStart(2, '0'))
17
+ .join('');
18
+ }
19
+ }
20
+ exports.WebCryptoProvider = WebCryptoProvider;
21
+ //# sourceMappingURL=web-crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-crypto.js","sourceRoot":"","sources":["../../../src/crypto/web-crypto.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAa,iBAAiB;IAC5B,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,OAAe;QACpD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAExC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACvC,KAAK,EACL,OAAO,EACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAEjE,wBAAwB;QACxB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;aACzC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;CACF;AArBD,8CAqBC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Base error class for all Orda SDK errors
3
+ */
4
+ export declare class OrdaError extends Error {
5
+ code: string;
6
+ statusCode?: number;
7
+ details?: unknown;
8
+ constructor(message: string, statusCode?: number, details?: unknown);
9
+ }
10
+ export declare class BadRequestError extends OrdaError {
11
+ constructor(message: string, statusCode?: number, details?: unknown);
12
+ }
13
+ export declare class UnauthorizedError extends OrdaError {
14
+ constructor(message: string, statusCode?: number, details?: unknown);
15
+ }
16
+ export declare class ForbiddenError extends OrdaError {
17
+ constructor(message: string, statusCode?: number, details?: unknown);
18
+ }
19
+ export declare class NotFoundError extends OrdaError {
20
+ constructor(message: string, statusCode?: number, details?: unknown);
21
+ }
22
+ export declare class ExternalApiError extends OrdaError {
23
+ constructor(message: string, details?: unknown);
24
+ }
25
+ export declare class DatabaseError extends OrdaError {
26
+ constructor(message: string, details?: unknown);
27
+ }
28
+ export declare class NetworkError extends OrdaError {
29
+ constructor(message: string, statusCode?: number, details?: unknown);
30
+ }
31
+ export declare class TimeoutError extends OrdaError {
32
+ constructor(message: string);
33
+ }
34
+ export declare class PollingTimeoutError extends OrdaError {
35
+ lastStatus?: string;
36
+ constructor(message: string, lastStatus?: string);
37
+ }
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEb,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAQpE;AAED,qBAAa,eAAgB,SAAQ,SAAS;gBAEhC,OAAO,EAAE,MAAM,EAAE,UAAU,SAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAIjE;AAED,qBAAa,iBAAkB,SAAQ,SAAS;gBAElC,OAAO,EAAE,MAAM,EAAE,UAAU,SAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAIjE;AAED,qBAAa,cAAe,SAAQ,SAAS;gBAE/B,OAAO,EAAE,MAAM,EAAE,UAAU,SAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAIjE;AAED,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,EAAE,MAAM,EAAE,UAAU,SAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAIjE;AAED,qBAAa,gBAAiB,SAAQ,SAAS;gBACjC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI/C;AAED,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI/C;AAED,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAIpE;AAED,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,mBAAoB,SAAQ,SAAS;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;gBAEf,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAKjD"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PollingTimeoutError = exports.TimeoutError = exports.NetworkError = exports.DatabaseError = exports.ExternalApiError = exports.NotFoundError = exports.ForbiddenError = exports.UnauthorizedError = exports.BadRequestError = exports.OrdaError = void 0;
4
+ /**
5
+ * Base error class for all Orda SDK errors
6
+ */
7
+ class OrdaError extends Error {
8
+ constructor(message, statusCode, details) {
9
+ super(message);
10
+ this.name = this.constructor.name;
11
+ this.code = this.constructor.name;
12
+ this.statusCode = statusCode;
13
+ this.details = details;
14
+ Error.captureStackTrace(this, this.constructor);
15
+ }
16
+ }
17
+ exports.OrdaError = OrdaError;
18
+ class BadRequestError extends OrdaError {
19
+ // validation error
20
+ constructor(message, statusCode = 400, details) {
21
+ super(message, statusCode, details);
22
+ this.code = 'BAD_REQUEST_ERROR';
23
+ }
24
+ }
25
+ exports.BadRequestError = BadRequestError;
26
+ class UnauthorizedError extends OrdaError {
27
+ // authentication error
28
+ constructor(message, statusCode = 401, details) {
29
+ super(message, statusCode, details);
30
+ this.code = 'UNAUTHORIZED_ERROR';
31
+ }
32
+ }
33
+ exports.UnauthorizedError = UnauthorizedError;
34
+ class ForbiddenError extends OrdaError {
35
+ // authorization error
36
+ constructor(message, statusCode = 403, details) {
37
+ super(message, statusCode, details);
38
+ this.code = 'FORBIDDEN_ERROR';
39
+ }
40
+ }
41
+ exports.ForbiddenError = ForbiddenError;
42
+ class NotFoundError extends OrdaError {
43
+ constructor(message, statusCode = 404, details) {
44
+ super(message, statusCode, details);
45
+ this.code = 'NOT_FOUND_ERROR';
46
+ }
47
+ }
48
+ exports.NotFoundError = NotFoundError;
49
+ class ExternalApiError extends OrdaError {
50
+ constructor(message, details) {
51
+ super(message, 502, details);
52
+ this.code = 'EXTERNAL_API_ERROR';
53
+ }
54
+ }
55
+ exports.ExternalApiError = ExternalApiError;
56
+ class DatabaseError extends OrdaError {
57
+ constructor(message, details) {
58
+ super(message, 500, details);
59
+ this.code = 'DATABASE_ERROR';
60
+ }
61
+ }
62
+ exports.DatabaseError = DatabaseError;
63
+ class NetworkError extends OrdaError {
64
+ constructor(message, statusCode, details) {
65
+ super(message, statusCode || 502, details);
66
+ this.code = 'NETWORK_ERROR';
67
+ }
68
+ }
69
+ exports.NetworkError = NetworkError;
70
+ class TimeoutError extends OrdaError {
71
+ constructor(message) {
72
+ super(message, 408);
73
+ this.code = 'TIMEOUT_ERROR';
74
+ }
75
+ }
76
+ exports.TimeoutError = TimeoutError;
77
+ class PollingTimeoutError extends OrdaError {
78
+ constructor(message, lastStatus) {
79
+ super(message, 408);
80
+ this.code = 'POLLING_TIMEOUT';
81
+ this.lastStatus = lastStatus;
82
+ }
83
+ }
84
+ exports.PollingTimeoutError = PollingTimeoutError;
85
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { HmacAuthenticator } from '../auth/hmac';
2
+ /**
3
+ * Request configuration
4
+ */
5
+ export interface RequestConfig {
6
+ path: string;
7
+ method: 'GET' | 'POST' | 'PUT' | 'DELETE';
8
+ headers?: Record<string, string>;
9
+ params?: Record<string, string | number | boolean | null | undefined>;
10
+ body?: unknown;
11
+ timeout?: number;
12
+ }
13
+ /**
14
+ * HTTP client configuration
15
+ */
16
+ export interface HttpClientConfig {
17
+ baseUrl: string;
18
+ authenticator?: HmacAuthenticator;
19
+ timeout?: number;
20
+ enableTimestamp?: boolean;
21
+ debug?: boolean;
22
+ }
23
+ /**
24
+ * Universal HTTP client using fetch API
25
+ */
26
+ export declare class UniversalHttpClient {
27
+ private baseUrl;
28
+ private timeout;
29
+ private authenticator?;
30
+ private enableTimestamp;
31
+ private debug;
32
+ constructor(baseUrl: string, timeout?: number, options?: {
33
+ authenticator?: HmacAuthenticator;
34
+ enableTimestamp?: boolean;
35
+ debug?: boolean;
36
+ });
37
+ /**
38
+ * Makes an HTTP request
39
+ */
40
+ request<T>(config: RequestConfig): Promise<T>;
41
+ /**
42
+ * Handles error responses from the API
43
+ */
44
+ private handleErrorResponse;
45
+ get<T>(path: string, params?: object): Promise<T>;
46
+ post<T>(path: string, body?: unknown): Promise<T>;
47
+ put<T>(path: string, body?: unknown): Promise<T>;
48
+ delete<T>(path: string): Promise<T>;
49
+ }
50
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAajD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACtE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAM5B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IANjB,OAAO,CAAC,aAAa,CAAC,CAAoB;IAC1C,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,KAAK,CAAU;gBAGb,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAc,EAC/B,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,iBAAiB,CAAC;QAClC,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;IAOH;;OAEG;IACG,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;IAwGnD;;OAEG;YACW,mBAAmB;IAsC3B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAQjD,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhD,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAG1C"}
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UniversalHttpClient = void 0;
4
+ const errors_1 = require("../errors");
5
+ /**
6
+ * Universal HTTP client using fetch API
7
+ */
8
+ class UniversalHttpClient {
9
+ constructor(baseUrl, timeout = 30000, options) {
10
+ this.baseUrl = baseUrl;
11
+ this.timeout = timeout;
12
+ this.authenticator = options?.authenticator;
13
+ this.enableTimestamp = options?.enableTimestamp !== false;
14
+ this.debug = options?.debug || false;
15
+ }
16
+ /**
17
+ * Makes an HTTP request
18
+ */
19
+ async request(config) {
20
+ const controller = new AbortController();
21
+ const timeoutId = setTimeout(() => controller.abort(), config.timeout || this.timeout);
22
+ try {
23
+ // build URL with params
24
+ const url = new URL(`${this.baseUrl}${config.path}`);
25
+ if (config.params) {
26
+ Object.entries(config.params).forEach(([key, value]) => {
27
+ if (value !== undefined && value !== null) {
28
+ url.searchParams.append(key, String(value));
29
+ }
30
+ });
31
+ }
32
+ const headers = {
33
+ 'Content-Type': 'application/json',
34
+ ...config.headers
35
+ };
36
+ if (this.authenticator) {
37
+ // sign an empty object for GET
38
+ const payloadToSign = config.method === 'GET' ? {} : config.body || {};
39
+ const authHeaders = await this.authenticator.getAuthHeaders(payloadToSign, this.enableTimestamp);
40
+ Object.assign(headers, authHeaders);
41
+ }
42
+ if (this.debug) {
43
+ console.log('\n========== API REQUEST ==========');
44
+ console.log('Method:', config.method);
45
+ console.log('URL:', url.toString());
46
+ console.log('Headers:', JSON.stringify(headers, null, 2));
47
+ if (config.body) {
48
+ console.log('Body:', JSON.stringify(config.body, null, 2));
49
+ }
50
+ console.log('================================\n');
51
+ }
52
+ const response = await fetch(url.toString(), {
53
+ method: config.method,
54
+ headers,
55
+ body: config.body ? JSON.stringify(config.body) : undefined,
56
+ signal: controller.signal
57
+ });
58
+ clearTimeout(timeoutId);
59
+ if (this.debug) {
60
+ console.log('\n========== API RESPONSE ==========');
61
+ console.log('Status:', response.status, response.statusText);
62
+ const headers = {};
63
+ response.headers.forEach((value, key) => {
64
+ headers[key] = value;
65
+ });
66
+ console.log('Response Headers:', JSON.stringify(headers, null, 2));
67
+ }
68
+ if (!response.ok) {
69
+ const errorText = await response.text();
70
+ if (this.debug) {
71
+ console.log('Error Response Body:', errorText);
72
+ console.log('================================\n');
73
+ }
74
+ const errorResponse = new Response(errorText, {
75
+ status: response.status,
76
+ statusText: response.statusText,
77
+ headers: response.headers
78
+ });
79
+ throw await this.handleErrorResponse(errorResponse);
80
+ }
81
+ if (this.debug) {
82
+ console.log('================================\n');
83
+ }
84
+ const contentLength = response.headers.get('content-length');
85
+ const contentType = response.headers.get('content-type');
86
+ if (contentLength === '0' || !contentType?.includes('application/json')) {
87
+ return {};
88
+ }
89
+ const data = await response.json();
90
+ return data;
91
+ }
92
+ catch (error) {
93
+ clearTimeout(timeoutId);
94
+ if (error instanceof Error) {
95
+ if (error.name === 'AbortError') {
96
+ throw new errors_1.TimeoutError(`Request timeout after ${config.timeout || this.timeout}ms`);
97
+ }
98
+ if (error instanceof errors_1.OrdaError) {
99
+ throw error;
100
+ }
101
+ }
102
+ throw new errors_1.NetworkError('Network request failed', undefined, error);
103
+ }
104
+ }
105
+ /**
106
+ * Handles error responses from the API
107
+ */
108
+ async handleErrorResponse(response) {
109
+ let errorData = {};
110
+ try {
111
+ const text = await response.text();
112
+ errorData = text ? JSON.parse(text) : {};
113
+ }
114
+ catch {
115
+ errorData = { message: response.statusText };
116
+ }
117
+ const errorObj = errorData;
118
+ const message = errorObj?.error || errorObj?.message || response.statusText;
119
+ switch (response.status) {
120
+ case 400:
121
+ return new errors_1.BadRequestError(message, response.status, errorData);
122
+ case 401:
123
+ return new errors_1.UnauthorizedError(message, response.status, errorData);
124
+ case 403:
125
+ return new errors_1.ForbiddenError(message, response.status, errorData);
126
+ case 404:
127
+ return new errors_1.NotFoundError(message, response.status, errorData);
128
+ case 429:
129
+ // const retryAfter = response.headers.get('retry-after') || response.headers.get('ratelimit-reset');
130
+ return new errors_1.NetworkError(`Rate limit exceeded`, response.status, errorData);
131
+ case 502:
132
+ return new errors_1.ExternalApiError(message, errorData);
133
+ case 500:
134
+ return new errors_1.DatabaseError(message, errorData);
135
+ default:
136
+ return new errors_1.NetworkError(`Request failed with status ${response.status}`, response.status, errorData);
137
+ }
138
+ }
139
+ async get(path, params) {
140
+ return this.request({
141
+ path,
142
+ method: 'GET',
143
+ params: params
144
+ });
145
+ }
146
+ async post(path, body) {
147
+ return this.request({ path, method: 'POST', body });
148
+ }
149
+ async put(path, body) {
150
+ return this.request({ path, method: 'PUT', body });
151
+ }
152
+ async delete(path) {
153
+ return this.request({ path, method: 'DELETE' });
154
+ }
155
+ }
156
+ exports.UniversalHttpClient = UniversalHttpClient;
157
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":"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"}