project-cpu-mcp 0.10.0 → 0.12.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 (574) hide show
  1. package/README.md +111 -35
  2. package/dist/api/authentication-required.error.d.ts +6 -0
  3. package/dist/api/authentication-required.error.d.ts.map +1 -0
  4. package/dist/api/authentication-required.error.js +9 -0
  5. package/dist/api/authentication-required.error.js.map +1 -0
  6. package/dist/api/client.d.ts +7 -5
  7. package/dist/api/client.d.ts.map +1 -1
  8. package/dist/api/client.js +29 -14
  9. package/dist/api/client.js.map +1 -1
  10. package/dist/api/constants.d.ts +2 -0
  11. package/dist/api/constants.d.ts.map +1 -1
  12. package/dist/api/constants.js +6 -0
  13. package/dist/api/constants.js.map +1 -1
  14. package/dist/api/types.d.ts +189 -220
  15. package/dist/api/types.d.ts.map +1 -1
  16. package/dist/api/types.js +43 -29
  17. package/dist/api/types.js.map +1 -1
  18. package/dist/config/constants.d.ts +6 -2
  19. package/dist/config/constants.d.ts.map +1 -1
  20. package/dist/config/constants.js +6 -2
  21. package/dist/config/constants.js.map +1 -1
  22. package/dist/config/types.js +2 -2
  23. package/dist/config/types.js.map +1 -1
  24. package/dist/contracts/cell.abi.d.ts +26 -2
  25. package/dist/contracts/cell.abi.d.ts.map +1 -1
  26. package/dist/contracts/cell.abi.js +21 -2
  27. package/dist/contracts/cell.abi.js.map +1 -1
  28. package/dist/contracts/erc20.abi.d.ts.map +1 -1
  29. package/dist/contracts/erc20.abi.js +1 -2
  30. package/dist/contracts/erc20.abi.js.map +1 -1
  31. package/dist/contracts/trade.abi.d.ts +341 -0
  32. package/dist/contracts/trade.abi.d.ts.map +1 -1
  33. package/dist/contracts/trade.abi.js +163 -0
  34. package/dist/contracts/trade.abi.js.map +1 -1
  35. package/dist/contracts/trade.types.d.ts +14 -0
  36. package/dist/contracts/trade.types.d.ts.map +1 -0
  37. package/dist/contracts/trade.types.js +15 -0
  38. package/dist/contracts/trade.types.js.map +1 -0
  39. package/dist/contracts/transport.abi.d.ts +4 -0
  40. package/dist/contracts/transport.abi.d.ts.map +1 -1
  41. package/dist/contracts/transport.abi.js +1 -0
  42. package/dist/contracts/transport.abi.js.map +1 -1
  43. package/dist/index.js +40 -3
  44. package/dist/index.js.map +1 -1
  45. package/dist/logger/constants.d.ts +7 -0
  46. package/dist/logger/constants.d.ts.map +1 -1
  47. package/dist/logger/constants.js +11 -0
  48. package/dist/logger/constants.js.map +1 -1
  49. package/dist/logger/file-log.utils.d.ts +4 -0
  50. package/dist/logger/file-log.utils.d.ts.map +1 -0
  51. package/dist/logger/file-log.utils.js +23 -0
  52. package/dist/logger/file-log.utils.js.map +1 -0
  53. package/dist/logger/index.d.ts +1 -1
  54. package/dist/logger/index.d.ts.map +1 -1
  55. package/dist/logger/index.js +5 -3
  56. package/dist/logger/index.js.map +1 -1
  57. package/dist/logger/logger.d.ts +4 -0
  58. package/dist/logger/logger.d.ts.map +1 -1
  59. package/dist/logger/logger.js +48 -3
  60. package/dist/logger/logger.js.map +1 -1
  61. package/dist/logger/redact.utils.d.ts.map +1 -1
  62. package/dist/logger/redact.utils.js +7 -2
  63. package/dist/logger/redact.utils.js.map +1 -1
  64. package/dist/logger/types.d.ts +8 -0
  65. package/dist/logger/types.d.ts.map +1 -1
  66. package/dist/map/attention.utils.d.ts.map +1 -1
  67. package/dist/map/attention.utils.js +1 -0
  68. package/dist/map/attention.utils.js.map +1 -1
  69. package/dist/map/cell-view.utils.d.ts.map +1 -1
  70. package/dist/map/cell-view.utils.js +5 -3
  71. package/dist/map/cell-view.utils.js.map +1 -1
  72. package/dist/map/process-projection.utils.js +2 -2
  73. package/dist/map/process-projection.utils.js.map +1 -1
  74. package/dist/map/reader.utils.d.ts.map +1 -1
  75. package/dist/map/reader.utils.js +3 -2
  76. package/dist/map/reader.utils.js.map +1 -1
  77. package/dist/map/storage.utils.d.ts.map +1 -1
  78. package/dist/map/storage.utils.js +5 -1
  79. package/dist/map/storage.utils.js.map +1 -1
  80. package/dist/map/types.d.ts +21 -0
  81. package/dist/map/types.d.ts.map +1 -1
  82. package/dist/map/types.js +6 -0
  83. package/dist/map/types.js.map +1 -1
  84. package/dist/paybox/auth/authority.d.ts +46 -0
  85. package/dist/paybox/auth/authority.d.ts.map +1 -0
  86. package/dist/paybox/auth/authority.js +410 -0
  87. package/dist/paybox/auth/authority.js.map +1 -0
  88. package/dist/paybox/auth/browser-opener.d.ts +8 -0
  89. package/dist/paybox/auth/browser-opener.d.ts.map +1 -0
  90. package/dist/paybox/auth/browser-opener.js +22 -0
  91. package/dist/paybox/auth/browser-opener.js.map +1 -0
  92. package/dist/paybox/auth/browser-opener.utils.d.ts +2 -0
  93. package/dist/paybox/auth/browser-opener.utils.d.ts.map +1 -0
  94. package/dist/paybox/auth/browser-opener.utils.js +10 -0
  95. package/dist/paybox/auth/browser-opener.utils.js.map +1 -0
  96. package/dist/paybox/auth/constants.d.ts +16 -0
  97. package/dist/paybox/auth/constants.d.ts.map +1 -0
  98. package/dist/paybox/auth/constants.js +16 -0
  99. package/dist/paybox/auth/constants.js.map +1 -0
  100. package/dist/paybox/auth/coordinator.d.ts +21 -0
  101. package/dist/paybox/auth/coordinator.d.ts.map +1 -0
  102. package/dist/paybox/auth/coordinator.factory.d.ts +5 -0
  103. package/dist/paybox/auth/coordinator.factory.d.ts.map +1 -0
  104. package/dist/paybox/auth/coordinator.factory.js +5 -0
  105. package/dist/paybox/auth/coordinator.factory.js.map +1 -0
  106. package/dist/paybox/auth/coordinator.js +87 -0
  107. package/dist/paybox/auth/coordinator.js.map +1 -0
  108. package/dist/paybox/auth/coordinator.utils.d.ts +4 -0
  109. package/dist/paybox/auth/coordinator.utils.d.ts.map +1 -0
  110. package/dist/paybox/auth/coordinator.utils.js +8 -0
  111. package/dist/paybox/auth/coordinator.utils.js.map +1 -0
  112. package/dist/paybox/auth/flow-session.d.ts +24 -0
  113. package/dist/paybox/auth/flow-session.d.ts.map +1 -0
  114. package/dist/paybox/auth/flow-session.js +155 -0
  115. package/dist/paybox/auth/flow-session.js.map +1 -0
  116. package/dist/paybox/auth/loopback-flow.d.ts +49 -0
  117. package/dist/paybox/auth/loopback-flow.d.ts.map +1 -0
  118. package/dist/paybox/auth/loopback-flow.js +381 -0
  119. package/dist/paybox/auth/loopback-flow.js.map +1 -0
  120. package/dist/paybox/auth/loopback-flow.utils.d.ts +7 -0
  121. package/dist/paybox/auth/loopback-flow.utils.d.ts.map +1 -0
  122. package/dist/paybox/auth/loopback-flow.utils.js +47 -0
  123. package/dist/paybox/auth/loopback-flow.utils.js.map +1 -0
  124. package/dist/paybox/auth/loopback-page-fonts.constants.d.ts +3 -0
  125. package/dist/paybox/auth/loopback-page-fonts.constants.d.ts.map +1 -0
  126. package/dist/paybox/auth/loopback-page-fonts.constants.js +228 -0
  127. package/dist/paybox/auth/loopback-page-fonts.constants.js.map +1 -0
  128. package/dist/paybox/auth/loopback-page.utils.d.ts +4 -0
  129. package/dist/paybox/auth/loopback-page.utils.d.ts.map +1 -0
  130. package/dist/paybox/auth/loopback-page.utils.js +261 -0
  131. package/dist/paybox/auth/loopback-page.utils.js.map +1 -0
  132. package/dist/paybox/auth/provisioning.utils.d.ts +3 -0
  133. package/dist/paybox/auth/provisioning.utils.d.ts.map +1 -0
  134. package/dist/paybox/auth/provisioning.utils.js +27 -0
  135. package/dist/paybox/auth/provisioning.utils.js.map +1 -0
  136. package/dist/paybox/auth/signing-key.utils.d.ts +2 -0
  137. package/dist/paybox/auth/signing-key.utils.d.ts.map +1 -0
  138. package/dist/paybox/auth/signing-key.utils.js +14 -0
  139. package/dist/paybox/auth/signing-key.utils.js.map +1 -0
  140. package/dist/paybox/auth/types.d.ts +18 -0
  141. package/dist/paybox/auth/types.d.ts.map +1 -0
  142. package/dist/paybox/auth/types.js +6 -0
  143. package/dist/paybox/auth/types.js.map +1 -0
  144. package/dist/paybox/auth/utils.d.ts +5 -0
  145. package/dist/paybox/auth/utils.d.ts.map +1 -0
  146. package/dist/paybox/auth/utils.js +17 -0
  147. package/dist/paybox/auth/utils.js.map +1 -0
  148. package/dist/paybox/constants.d.ts +11 -0
  149. package/dist/paybox/constants.d.ts.map +1 -0
  150. package/dist/paybox/constants.js +11 -0
  151. package/dist/paybox/constants.js.map +1 -0
  152. package/dist/paybox/errors.d.ts +43 -0
  153. package/dist/paybox/errors.d.ts.map +1 -0
  154. package/dist/paybox/errors.js +141 -0
  155. package/dist/paybox/errors.js.map +1 -0
  156. package/dist/paybox/sdk/adapter.d.ts +16 -0
  157. package/dist/paybox/sdk/adapter.d.ts.map +1 -0
  158. package/dist/paybox/sdk/adapter.js +127 -0
  159. package/dist/paybox/sdk/adapter.js.map +1 -0
  160. package/dist/paybox/sdk/constants.d.ts +14 -0
  161. package/dist/paybox/sdk/constants.d.ts.map +1 -0
  162. package/dist/paybox/sdk/constants.js +23 -0
  163. package/dist/paybox/sdk/constants.js.map +1 -0
  164. package/dist/paybox/sdk/factory.d.ts +4 -0
  165. package/dist/paybox/sdk/factory.d.ts.map +1 -0
  166. package/dist/paybox/sdk/factory.js +24 -0
  167. package/dist/paybox/sdk/factory.js.map +1 -0
  168. package/dist/paybox/sdk/logging.utils.d.ts +4 -0
  169. package/dist/paybox/sdk/logging.utils.d.ts.map +1 -0
  170. package/dist/paybox/sdk/logging.utils.js +19 -0
  171. package/dist/paybox/sdk/logging.utils.js.map +1 -0
  172. package/dist/paybox/sdk/utils.d.ts +7 -0
  173. package/dist/paybox/sdk/utils.d.ts.map +1 -0
  174. package/dist/paybox/sdk/utils.js +182 -0
  175. package/dist/paybox/sdk/utils.js.map +1 -0
  176. package/dist/paybox/storage.d.ts +17 -0
  177. package/dist/paybox/storage.d.ts.map +1 -0
  178. package/dist/paybox/storage.js +87 -0
  179. package/dist/paybox/storage.js.map +1 -0
  180. package/dist/paybox/types.d.ts +481 -0
  181. package/dist/paybox/types.d.ts.map +1 -0
  182. package/dist/paybox/types.js +144 -0
  183. package/dist/paybox/types.js.map +1 -0
  184. package/dist/paybox/wallet/manager.d.ts +22 -0
  185. package/dist/paybox/wallet/manager.d.ts.map +1 -0
  186. package/dist/paybox/wallet/manager.js +111 -0
  187. package/dist/paybox/wallet/manager.js.map +1 -0
  188. package/dist/paybox/wallet/rpc.client.d.ts +16 -0
  189. package/dist/paybox/wallet/rpc.client.d.ts.map +1 -0
  190. package/dist/paybox/wallet/rpc.client.js +53 -0
  191. package/dist/paybox/wallet/rpc.client.js.map +1 -0
  192. package/dist/paybox/wallet/utils.d.ts +5 -0
  193. package/dist/paybox/wallet/utils.d.ts.map +1 -0
  194. package/dist/paybox/wallet/utils.js +82 -0
  195. package/dist/paybox/wallet/utils.js.map +1 -0
  196. package/dist/server.constants.d.ts.map +1 -1
  197. package/dist/server.constants.js +5 -2
  198. package/dist/server.constants.js.map +1 -1
  199. package/dist/server.d.ts.map +1 -1
  200. package/dist/server.js +8 -2
  201. package/dist/server.js.map +1 -1
  202. package/dist/services/app-config.utils.d.ts.map +1 -1
  203. package/dist/services/app-config.utils.js +22 -11
  204. package/dist/services/app-config.utils.js.map +1 -1
  205. package/dist/services/auth.service.d.ts +3 -5
  206. package/dist/services/auth.service.d.ts.map +1 -1
  207. package/dist/services/auth.service.js +20 -77
  208. package/dist/services/auth.service.js.map +1 -1
  209. package/dist/services/cell.client.d.ts.map +1 -1
  210. package/dist/services/cell.client.js +22 -9
  211. package/dist/services/cell.client.js.map +1 -1
  212. package/dist/services/lot-return.constants.d.ts +3 -0
  213. package/dist/services/lot-return.constants.d.ts.map +1 -0
  214. package/dist/services/lot-return.constants.js +35 -0
  215. package/dist/services/lot-return.constants.js.map +1 -0
  216. package/dist/services/lot-return.service.d.ts +25 -0
  217. package/dist/services/lot-return.service.d.ts.map +1 -0
  218. package/dist/services/lot-return.service.js +151 -0
  219. package/dist/services/lot-return.service.js.map +1 -0
  220. package/dist/services/lot-return.types.d.ts +19 -0
  221. package/dist/services/lot-return.types.d.ts.map +1 -0
  222. package/dist/services/lot-return.types.js +2 -0
  223. package/dist/services/lot-return.types.js.map +1 -0
  224. package/dist/services/lot-return.utils.d.ts +33 -0
  225. package/dist/services/lot-return.utils.d.ts.map +1 -0
  226. package/dist/services/lot-return.utils.js +128 -0
  227. package/dist/services/lot-return.utils.js.map +1 -0
  228. package/dist/services/lot-terms.constants.d.ts +4 -0
  229. package/dist/services/lot-terms.constants.d.ts.map +1 -0
  230. package/dist/services/lot-terms.constants.js +5 -0
  231. package/dist/services/lot-terms.constants.js.map +1 -0
  232. package/dist/services/lot-terms.helpers.d.ts +11 -0
  233. package/dist/services/lot-terms.helpers.d.ts.map +1 -0
  234. package/dist/services/lot-terms.helpers.js +45 -0
  235. package/dist/services/lot-terms.helpers.js.map +1 -0
  236. package/dist/services/lot-terms.service.d.ts +20 -0
  237. package/dist/services/lot-terms.service.d.ts.map +1 -0
  238. package/dist/services/lot-terms.service.js +119 -0
  239. package/dist/services/lot-terms.service.js.map +1 -0
  240. package/dist/services/lot-terms.types.d.ts +25 -0
  241. package/dist/services/lot-terms.types.d.ts.map +1 -0
  242. package/dist/services/lot-terms.types.js +2 -0
  243. package/dist/services/lot-terms.types.js.map +1 -0
  244. package/dist/services/reveal-revert.utils.d.ts +1 -0
  245. package/dist/services/reveal-revert.utils.d.ts.map +1 -1
  246. package/dist/services/reveal-revert.utils.js +20 -0
  247. package/dist/services/reveal-revert.utils.js.map +1 -1
  248. package/dist/services/reveal.constants.d.ts +1 -1
  249. package/dist/services/reveal.constants.d.ts.map +1 -1
  250. package/dist/services/reveal.constants.js +1 -1
  251. package/dist/services/reveal.constants.js.map +1 -1
  252. package/dist/services/reveal.service.d.ts +4 -3
  253. package/dist/services/reveal.service.d.ts.map +1 -1
  254. package/dist/services/reveal.service.js +35 -10
  255. package/dist/services/reveal.service.js.map +1 -1
  256. package/dist/services/reveal.utils.d.ts +7 -8
  257. package/dist/services/reveal.utils.d.ts.map +1 -1
  258. package/dist/services/reveal.utils.js +15 -8
  259. package/dist/services/reveal.utils.js.map +1 -1
  260. package/dist/services/route.constants.d.ts +12 -1
  261. package/dist/services/route.constants.d.ts.map +1 -1
  262. package/dist/services/route.constants.js +66 -15
  263. package/dist/services/route.constants.js.map +1 -1
  264. package/dist/services/route.lots.d.ts +18 -0
  265. package/dist/services/route.lots.d.ts.map +1 -0
  266. package/dist/services/route.lots.js +33 -0
  267. package/dist/services/route.lots.js.map +1 -0
  268. package/dist/services/route.service.d.ts +13 -4
  269. package/dist/services/route.service.d.ts.map +1 -1
  270. package/dist/services/route.service.js +95 -13
  271. package/dist/services/route.service.js.map +1 -1
  272. package/dist/services/route.types.d.ts +76 -0
  273. package/dist/services/route.types.d.ts.map +1 -0
  274. package/dist/services/route.types.js +8 -0
  275. package/dist/services/route.types.js.map +1 -0
  276. package/dist/services/route.utils.d.ts +19 -0
  277. package/dist/services/route.utils.d.ts.map +1 -1
  278. package/dist/services/route.utils.js +35 -0
  279. package/dist/services/route.utils.js.map +1 -1
  280. package/dist/services/trade-eviction.constants.d.ts +12 -0
  281. package/dist/services/trade-eviction.constants.d.ts.map +1 -0
  282. package/dist/services/trade-eviction.constants.js +25 -0
  283. package/dist/services/trade-eviction.constants.js.map +1 -0
  284. package/dist/services/trade-eviction.service.d.ts +22 -0
  285. package/dist/services/trade-eviction.service.d.ts.map +1 -0
  286. package/dist/services/trade-eviction.service.js +101 -0
  287. package/dist/services/trade-eviction.service.js.map +1 -0
  288. package/dist/services/trade-eviction.types.d.ts +30 -0
  289. package/dist/services/trade-eviction.types.d.ts.map +1 -0
  290. package/dist/services/trade-eviction.types.js +2 -0
  291. package/dist/services/trade-eviction.types.js.map +1 -0
  292. package/dist/services/trade-eviction.utils.d.ts +9 -0
  293. package/dist/services/trade-eviction.utils.d.ts.map +1 -0
  294. package/dist/services/trade-eviction.utils.js +38 -0
  295. package/dist/services/trade-eviction.utils.js.map +1 -0
  296. package/dist/services/trade-rules.service.d.ts +15 -0
  297. package/dist/services/trade-rules.service.d.ts.map +1 -0
  298. package/dist/services/trade-rules.service.js +45 -0
  299. package/dist/services/trade-rules.service.js.map +1 -0
  300. package/dist/services/trade.client.d.ts +11 -1
  301. package/dist/services/trade.client.d.ts.map +1 -1
  302. package/dist/services/trade.client.js +87 -0
  303. package/dist/services/trade.client.js.map +1 -1
  304. package/dist/services/trade.constants.d.ts +9 -0
  305. package/dist/services/trade.constants.d.ts.map +1 -0
  306. package/dist/services/trade.constants.js +28 -0
  307. package/dist/services/trade.constants.js.map +1 -0
  308. package/dist/services/trade.helpers.d.ts +9 -1
  309. package/dist/services/trade.helpers.d.ts.map +1 -1
  310. package/dist/services/trade.helpers.js +40 -27
  311. package/dist/services/trade.helpers.js.map +1 -1
  312. package/dist/services/transport-revert.utils.d.ts +3 -0
  313. package/dist/services/transport-revert.utils.d.ts.map +1 -0
  314. package/dist/services/transport-revert.utils.js +15 -0
  315. package/dist/services/transport-revert.utils.js.map +1 -0
  316. package/dist/services/transport.client.d.ts.map +1 -1
  317. package/dist/services/transport.client.js +14 -6
  318. package/dist/services/transport.client.js.map +1 -1
  319. package/dist/services/types.d.ts +249 -21
  320. package/dist/services/types.d.ts.map +1 -1
  321. package/dist/services/types.js +25 -0
  322. package/dist/services/types.js.map +1 -1
  323. package/dist/services/warehouse.utils.d.ts +8 -0
  324. package/dist/services/warehouse.utils.d.ts.map +1 -1
  325. package/dist/services/warehouse.utils.js +25 -0
  326. package/dist/services/warehouse.utils.js.map +1 -1
  327. package/dist/session/manager.d.ts +1 -0
  328. package/dist/session/manager.d.ts.map +1 -1
  329. package/dist/session/manager.js +13 -0
  330. package/dist/session/manager.js.map +1 -1
  331. package/dist/session/storage.d.ts +0 -3
  332. package/dist/session/storage.d.ts.map +1 -1
  333. package/dist/session/storage.js +6 -43
  334. package/dist/session/storage.js.map +1 -1
  335. package/dist/session/types.d.ts +4 -98
  336. package/dist/session/types.d.ts.map +1 -1
  337. package/dist/session/types.js +0 -15
  338. package/dist/session/types.js.map +1 -1
  339. package/dist/tools/authenticate.d.ts +1 -1
  340. package/dist/tools/authenticate.d.ts.map +1 -1
  341. package/dist/tools/authenticate.js +19 -45
  342. package/dist/tools/authenticate.js.map +1 -1
  343. package/dist/tools/config/get-game-config/constants.d.ts +3 -0
  344. package/dist/tools/config/get-game-config/constants.d.ts.map +1 -1
  345. package/dist/tools/config/get-game-config/constants.js +13 -2
  346. package/dist/tools/config/get-game-config/constants.js.map +1 -1
  347. package/dist/tools/config/get-game-config/get-game-config.d.ts.map +1 -1
  348. package/dist/tools/config/get-game-config/get-game-config.js +6 -3
  349. package/dist/tools/config/get-game-config/get-game-config.js.map +1 -1
  350. package/dist/tools/config/get-game-config/get-game-config.utils.d.ts +4 -4
  351. package/dist/tools/config/get-game-config/get-game-config.utils.d.ts.map +1 -1
  352. package/dist/tools/config/get-game-config/get-game-config.utils.js +26 -9
  353. package/dist/tools/config/get-game-config/get-game-config.utils.js.map +1 -1
  354. package/dist/tools/config/get-game-config/types.d.ts +6 -2
  355. package/dist/tools/config/get-game-config/types.d.ts.map +1 -1
  356. package/dist/tools/config/resource-lens/resource-lens.utils.d.ts.map +1 -1
  357. package/dist/tools/config/resource-lens/resource-lens.utils.js +5 -4
  358. package/dist/tools/config/resource-lens/resource-lens.utils.js.map +1 -1
  359. package/dist/tools/map/attention/attention.d.ts.map +1 -1
  360. package/dist/tools/map/attention/attention.js +16 -5
  361. package/dist/tools/map/attention/attention.js.map +1 -1
  362. package/dist/tools/map/attention/constants.d.ts +6 -0
  363. package/dist/tools/map/attention/constants.d.ts.map +1 -1
  364. package/dist/tools/map/attention/constants.js +16 -2
  365. package/dist/tools/map/attention/constants.js.map +1 -1
  366. package/dist/tools/map/attention/evicted.service.d.ts +19 -0
  367. package/dist/tools/map/attention/evicted.service.d.ts.map +1 -0
  368. package/dist/tools/map/attention/evicted.service.js +73 -0
  369. package/dist/tools/map/attention/evicted.service.js.map +1 -0
  370. package/dist/tools/map/attention/evicted.utils.d.ts +16 -0
  371. package/dist/tools/map/attention/evicted.utils.d.ts.map +1 -0
  372. package/dist/tools/map/attention/evicted.utils.js +72 -0
  373. package/dist/tools/map/attention/evicted.utils.js.map +1 -0
  374. package/dist/tools/map/attention/panel.utils.d.ts.map +1 -1
  375. package/dist/tools/map/attention/panel.utils.js +1 -0
  376. package/dist/tools/map/attention/panel.utils.js.map +1 -1
  377. package/dist/tools/map/attention/types.d.ts +17 -0
  378. package/dist/tools/map/attention/types.d.ts.map +1 -1
  379. package/dist/tools/map/attention/types.js.map +1 -1
  380. package/dist/tools/map/get-map/constants.d.ts.map +1 -1
  381. package/dist/tools/map/get-map/constants.js +4 -2
  382. package/dist/tools/map/get-map/constants.js.map +1 -1
  383. package/dist/tools/reveal/constants.d.ts.map +1 -1
  384. package/dist/tools/reveal/constants.js +3 -1
  385. package/dist/tools/reveal/constants.js.map +1 -1
  386. package/dist/tools/trade/buy-lot/buy-lot.d.ts.map +1 -1
  387. package/dist/tools/trade/buy-lot/buy-lot.js +2 -0
  388. package/dist/tools/trade/buy-lot/buy-lot.js.map +1 -1
  389. package/dist/tools/trade/buy-lot/constants.d.ts.map +1 -1
  390. package/dist/tools/trade/buy-lot/constants.js +2 -0
  391. package/dist/tools/trade/buy-lot/constants.js.map +1 -1
  392. package/dist/tools/trade/buyer-guard/constants.d.ts +4 -0
  393. package/dist/tools/trade/buyer-guard/constants.d.ts.map +1 -0
  394. package/dist/tools/trade/buyer-guard/constants.js +11 -0
  395. package/dist/tools/trade/buyer-guard/constants.js.map +1 -0
  396. package/dist/tools/trade/buyer-guard/lot-open.guard.d.ts +9 -0
  397. package/dist/tools/trade/buyer-guard/lot-open.guard.d.ts.map +1 -0
  398. package/dist/tools/trade/buyer-guard/lot-open.guard.js +15 -0
  399. package/dist/tools/trade/buyer-guard/lot-open.guard.js.map +1 -0
  400. package/dist/tools/trade/buyer-guard/types.d.ts +6 -0
  401. package/dist/tools/trade/buyer-guard/types.d.ts.map +1 -0
  402. package/dist/tools/trade/buyer-guard/types.js +2 -0
  403. package/dist/tools/trade/buyer-guard/types.js.map +1 -0
  404. package/dist/tools/trade/constants.d.ts +5 -0
  405. package/dist/tools/trade/constants.d.ts.map +1 -0
  406. package/dist/tools/trade/constants.js +14 -0
  407. package/dist/tools/trade/constants.js.map +1 -0
  408. package/dist/tools/trade/create-lot/constants.d.ts.map +1 -1
  409. package/dist/tools/trade/create-lot/constants.js +4 -1
  410. package/dist/tools/trade/create-lot/constants.js.map +1 -1
  411. package/dist/tools/trade/create-lot/create-lot.d.ts +2 -1
  412. package/dist/tools/trade/create-lot/create-lot.d.ts.map +1 -1
  413. package/dist/tools/trade/create-lot/create-lot.js +15 -1
  414. package/dist/tools/trade/create-lot/create-lot.js.map +1 -1
  415. package/dist/tools/trade/evict-lot/constants.d.ts +4 -0
  416. package/dist/tools/trade/evict-lot/constants.d.ts.map +1 -0
  417. package/dist/tools/trade/evict-lot/constants.js +13 -0
  418. package/dist/tools/trade/evict-lot/constants.js.map +1 -0
  419. package/dist/tools/trade/evict-lot/evict-lot.d.ts +6 -0
  420. package/dist/tools/trade/evict-lot/evict-lot.d.ts.map +1 -0
  421. package/dist/tools/trade/evict-lot/evict-lot.js +35 -0
  422. package/dist/tools/trade/evict-lot/evict-lot.js.map +1 -0
  423. package/dist/tools/trade/evict-lot/format.utils.d.ts +5 -0
  424. package/dist/tools/trade/evict-lot/format.utils.d.ts.map +1 -0
  425. package/dist/tools/trade/evict-lot/format.utils.js +10 -0
  426. package/dist/tools/trade/evict-lot/format.utils.js.map +1 -0
  427. package/dist/tools/trade/evict-lot/types.d.ts +5 -0
  428. package/dist/tools/trade/evict-lot/types.d.ts.map +1 -0
  429. package/dist/tools/trade/evict-lot/types.js +8 -0
  430. package/dist/tools/trade/evict-lot/types.js.map +1 -0
  431. package/dist/tools/trade/format.utils.d.ts +2 -4
  432. package/dist/tools/trade/format.utils.d.ts.map +1 -1
  433. package/dist/tools/trade/format.utils.js +11 -13
  434. package/dist/tools/trade/format.utils.js.map +1 -1
  435. package/dist/tools/trade/get-lot/constants.d.ts.map +1 -1
  436. package/dist/tools/trade/get-lot/constants.js +2 -1
  437. package/dist/tools/trade/get-lot/constants.js.map +1 -1
  438. package/dist/tools/trade/list-lots/constants.d.ts +2 -0
  439. package/dist/tools/trade/list-lots/constants.d.ts.map +1 -1
  440. package/dist/tools/trade/list-lots/constants.js +5 -1
  441. package/dist/tools/trade/list-lots/constants.js.map +1 -1
  442. package/dist/tools/trade/list-lots/list-lots.d.ts.map +1 -1
  443. package/dist/tools/trade/list-lots/list-lots.js +2 -1
  444. package/dist/tools/trade/list-lots/list-lots.js.map +1 -1
  445. package/dist/tools/trade/list-lots/list-lots.utils.d.ts +8 -0
  446. package/dist/tools/trade/list-lots/list-lots.utils.d.ts.map +1 -0
  447. package/dist/tools/trade/list-lots/list-lots.utils.js +10 -0
  448. package/dist/tools/trade/list-lots/list-lots.utils.js.map +1 -0
  449. package/dist/tools/trade/list-mine/constants.d.ts.map +1 -1
  450. package/dist/tools/trade/list-mine/constants.js +3 -1
  451. package/dist/tools/trade/list-mine/constants.js.map +1 -1
  452. package/dist/tools/trade/lot-terms/constants.d.ts +5 -0
  453. package/dist/tools/trade/lot-terms/constants.d.ts.map +1 -0
  454. package/dist/tools/trade/lot-terms/constants.js +13 -0
  455. package/dist/tools/trade/lot-terms/constants.js.map +1 -0
  456. package/dist/tools/trade/lot-terms/factory.d.ts +4 -0
  457. package/dist/tools/trade/lot-terms/factory.d.ts.map +1 -0
  458. package/dist/tools/trade/lot-terms/factory.js +14 -0
  459. package/dist/tools/trade/lot-terms/factory.js.map +1 -0
  460. package/dist/tools/trade/lot-terms/format.utils.d.ts +4 -0
  461. package/dist/tools/trade/lot-terms/format.utils.d.ts.map +1 -0
  462. package/dist/tools/trade/lot-terms/format.utils.js +30 -0
  463. package/dist/tools/trade/lot-terms/format.utils.js.map +1 -0
  464. package/dist/tools/trade/lot-terms/lot-terms.d.ts +5 -0
  465. package/dist/tools/trade/lot-terms/lot-terms.d.ts.map +1 -0
  466. package/dist/tools/trade/lot-terms/lot-terms.js +23 -0
  467. package/dist/tools/trade/lot-terms/lot-terms.js.map +1 -0
  468. package/dist/tools/trade/lot-terms/types.d.ts +6 -0
  469. package/dist/tools/trade/lot-terms/types.d.ts.map +1 -0
  470. package/dist/tools/trade/lot-terms/types.js +7 -0
  471. package/dist/tools/trade/lot-terms/types.js.map +1 -0
  472. package/dist/tools/trade/market-index/constants.d.ts.map +1 -1
  473. package/dist/tools/trade/market-index/constants.js +2 -0
  474. package/dist/tools/trade/market-index/constants.js.map +1 -1
  475. package/dist/tools/trade/markets/constants.d.ts.map +1 -1
  476. package/dist/tools/trade/markets/constants.js +2 -1
  477. package/dist/tools/trade/markets/constants.js.map +1 -1
  478. package/dist/tools/trade/quote-buy/constants.d.ts.map +1 -1
  479. package/dist/tools/trade/quote-buy/constants.js +4 -2
  480. package/dist/tools/trade/quote-buy/constants.js.map +1 -1
  481. package/dist/tools/trade/quote-buy/quote-buy.d.ts.map +1 -1
  482. package/dist/tools/trade/quote-buy/quote-buy.js +2 -0
  483. package/dist/tools/trade/quote-buy/quote-buy.js.map +1 -1
  484. package/dist/tools/trade/quote-lot-return/constants.d.ts +2 -0
  485. package/dist/tools/trade/quote-lot-return/constants.d.ts.map +1 -0
  486. package/dist/tools/trade/quote-lot-return/constants.js +11 -0
  487. package/dist/tools/trade/quote-lot-return/constants.js.map +1 -0
  488. package/dist/tools/trade/quote-lot-return/quote-lot-return.d.ts +5 -0
  489. package/dist/tools/trade/quote-lot-return/quote-lot-return.d.ts.map +1 -0
  490. package/dist/tools/trade/quote-lot-return/quote-lot-return.js +20 -0
  491. package/dist/tools/trade/quote-lot-return/quote-lot-return.js.map +1 -0
  492. package/dist/tools/trade/return-lot/constants.d.ts +5 -0
  493. package/dist/tools/trade/return-lot/constants.d.ts.map +1 -0
  494. package/dist/tools/trade/return-lot/constants.js +26 -0
  495. package/dist/tools/trade/return-lot/constants.js.map +1 -0
  496. package/dist/tools/trade/return-lot/factory.d.ts +4 -0
  497. package/dist/tools/trade/return-lot/factory.d.ts.map +1 -0
  498. package/dist/tools/trade/return-lot/factory.js +18 -0
  499. package/dist/tools/trade/return-lot/factory.js.map +1 -0
  500. package/dist/tools/trade/return-lot/format.utils.d.ts +5 -0
  501. package/dist/tools/trade/return-lot/format.utils.d.ts.map +1 -0
  502. package/dist/tools/trade/return-lot/format.utils.js +39 -0
  503. package/dist/tools/trade/return-lot/format.utils.js.map +1 -0
  504. package/dist/tools/trade/return-lot/return-lot.d.ts +5 -0
  505. package/dist/tools/trade/return-lot/return-lot.d.ts.map +1 -0
  506. package/dist/tools/trade/return-lot/return-lot.js +25 -0
  507. package/dist/tools/trade/return-lot/return-lot.js.map +1 -0
  508. package/dist/tools/trade/return-lot/types.d.ts +11 -0
  509. package/dist/tools/trade/return-lot/types.d.ts.map +1 -0
  510. package/dist/tools/trade/return-lot/types.js +21 -0
  511. package/dist/tools/trade/return-lot/types.js.map +1 -0
  512. package/dist/tools/trade/types.d.ts +0 -4
  513. package/dist/tools/trade/types.d.ts.map +1 -1
  514. package/dist/tools/trade/types.js +4 -12
  515. package/dist/tools/trade/types.js.map +1 -1
  516. package/dist/tools/transport/constants.d.ts.map +1 -1
  517. package/dist/tools/transport/constants.js +9 -0
  518. package/dist/tools/transport/constants.js.map +1 -1
  519. package/dist/tools/transport/network/constants.d.ts +2 -0
  520. package/dist/tools/transport/network/constants.d.ts.map +1 -1
  521. package/dist/tools/transport/network/constants.js +2 -0
  522. package/dist/tools/transport/network/constants.js.map +1 -1
  523. package/dist/tools/transport/network/panel.utils.d.ts +2 -2
  524. package/dist/tools/transport/network/panel.utils.d.ts.map +1 -1
  525. package/dist/tools/transport/network/panel.utils.js +20 -0
  526. package/dist/tools/transport/network/panel.utils.js.map +1 -1
  527. package/dist/tools/transport/network/route-network.d.ts.map +1 -1
  528. package/dist/tools/transport/network/route-network.js +1 -1
  529. package/dist/tools/transport/network/route-network.js.map +1 -1
  530. package/dist/tools/transport/next-hops/next-hops.d.ts.map +1 -1
  531. package/dist/tools/transport/next-hops/next-hops.js +13 -3
  532. package/dist/tools/transport/next-hops/next-hops.js.map +1 -1
  533. package/dist/tools/transport/quote/constants.d.ts.map +1 -1
  534. package/dist/tools/transport/quote/constants.js +5 -3
  535. package/dist/tools/transport/quote/constants.js.map +1 -1
  536. package/dist/tools/transport/types.d.ts +2 -0
  537. package/dist/tools/transport/types.d.ts.map +1 -1
  538. package/dist/tools/transport/types.js +16 -0
  539. package/dist/tools/transport/types.js.map +1 -1
  540. package/dist/tools/types.d.ts +7 -1
  541. package/dist/tools/types.d.ts.map +1 -1
  542. package/dist/tools/types.js +16 -1
  543. package/dist/tools/types.js.map +1 -1
  544. package/dist/types.d.ts +3 -1
  545. package/dist/types.d.ts.map +1 -1
  546. package/dist/types.js +1 -1
  547. package/dist/types.js.map +1 -1
  548. package/dist/utils/wei.constants.d.ts +6 -0
  549. package/dist/utils/wei.constants.d.ts.map +1 -0
  550. package/dist/utils/wei.constants.js +6 -0
  551. package/dist/utils/wei.constants.js.map +1 -0
  552. package/dist/wallet/index.d.ts.map +1 -1
  553. package/dist/wallet/index.js +2 -3
  554. package/dist/wallet/index.js.map +1 -1
  555. package/dist/wallet/types.d.ts +0 -9
  556. package/dist/wallet/types.d.ts.map +1 -1
  557. package/dist/wallet/types.js.map +1 -1
  558. package/package.json +2 -2
  559. package/dist/tools/trade/cancel-lot/cancel-lot.d.ts +0 -4
  560. package/dist/tools/trade/cancel-lot/cancel-lot.d.ts.map +0 -1
  561. package/dist/tools/trade/cancel-lot/cancel-lot.js +0 -20
  562. package/dist/tools/trade/cancel-lot/cancel-lot.js.map +0 -1
  563. package/dist/tools/trade/cancel-lot/constants.d.ts +0 -2
  564. package/dist/tools/trade/cancel-lot/constants.d.ts.map +0 -1
  565. package/dist/tools/trade/cancel-lot/constants.js +0 -8
  566. package/dist/tools/trade/cancel-lot/constants.js.map +0 -1
  567. package/dist/wallet/agw.manager.d.ts +0 -20
  568. package/dist/wallet/agw.manager.d.ts.map +0 -1
  569. package/dist/wallet/agw.manager.js +0 -90
  570. package/dist/wallet/agw.manager.js.map +0 -1
  571. package/dist/wallet/agw.provider.d.ts +0 -14
  572. package/dist/wallet/agw.provider.d.ts.map +0 -1
  573. package/dist/wallet/agw.provider.js +0 -48
  574. package/dist/wallet/agw.provider.js.map +0 -1
@@ -0,0 +1,182 @@
1
+ import { PayboxError } from '@paybox-sh/sdk';
2
+ import { getAddress, isAddress } from 'viem';
3
+ import { redactString } from '../../logger/redact.utils.js';
4
+ import { PayboxAuthFlowError, PayboxAuthInvalidError, PayboxInvalidOperationArtifactError, PayboxOperationDeniedError, PayboxOperationIncompleteError, PayboxTemporarilyUnavailableError, } from '../errors.js';
5
+ import { PAYBOX_AUTONOMOUS_MODE, PAYBOX_CONFIRMED_AUTH_HTTP_STATUSES, PAYBOX_EIP155_CHAIN_ID_PATTERN, PAYBOX_INVALID_GRANT_HTTP_STATUS, PAYBOX_PROVIDER_ERROR_MESSAGE_FIELDS, PAYBOX_PROVIDER_ERROR_MESSAGE_MAX_LENGTH, PAYBOX_RATE_LIMIT_HTTP_STATUS, PAYBOX_REFRESH_HTTP_STATUS_PATTERN, PAYBOX_MANAGEMENT_HOST_BY_API_HOST, PAYBOX_SERVER_ERROR_STATUS_MINIMUM, PAYBOX_TRANSPORT_ERROR_CODES, PAYBOX_TRANSPORT_ERROR_NAMES, PAYBOX_WALLET_TYPE, } from './constants.js';
6
+ import { PayboxRequestContext, PayboxRefreshFailureDisposition, PayboxResetCause, } from '../types.js';
7
+ export function autonomousEvmGrants(value, baseUrl) {
8
+ return {
9
+ grants: value.credentials.flatMap(normalizeGrant),
10
+ managementUrl: managementUrlFromBaseUrl(baseUrl),
11
+ };
12
+ }
13
+ export function classifiedPayboxError(error, context) {
14
+ if (error instanceof PayboxAuthFlowError ||
15
+ error instanceof PayboxAuthInvalidError ||
16
+ error instanceof PayboxInvalidOperationArtifactError ||
17
+ error instanceof PayboxOperationDeniedError ||
18
+ error instanceof PayboxOperationIncompleteError ||
19
+ error instanceof PayboxTemporarilyUnavailableError) {
20
+ return error;
21
+ }
22
+ const status = payboxHttpStatus(error, context);
23
+ if (status !== null)
24
+ return classifiedPayboxHttpStatus(status, context, error);
25
+ if (isNetworkOrTimeoutError(error)) {
26
+ return new PayboxTemporarilyUnavailableError({ cause: error }, context === PayboxRequestContext.Refresh
27
+ ? PayboxRefreshFailureDisposition.Ambiguous
28
+ : PayboxRefreshFailureDisposition.NotApplicable);
29
+ }
30
+ if (context === PayboxRequestContext.Authenticated)
31
+ return operationIncompleteError(error);
32
+ if (context === PayboxRequestContext.Refresh) {
33
+ return new PayboxTemporarilyUnavailableError(error instanceof Error ? { cause: error } : null, PayboxRefreshFailureDisposition.Ambiguous);
34
+ }
35
+ return new PayboxAuthFlowError(error instanceof Error ? { cause: error } : null);
36
+ }
37
+ export function classifiedPayboxHttpStatus(status, context, cause = null) {
38
+ const options = cause === null ? null : { cause };
39
+ if (isConfirmedAuthenticationStatus(status, context)) {
40
+ return new PayboxAuthInvalidError('Paybox authentication authority was rejected.', resetCause(context), options);
41
+ }
42
+ if (status === PAYBOX_RATE_LIMIT_HTTP_STATUS || status >= PAYBOX_SERVER_ERROR_STATUS_MINIMUM) {
43
+ return new PayboxTemporarilyUnavailableError(options, context === PayboxRequestContext.Refresh
44
+ ? PayboxRefreshFailureDisposition.SafeToRetry
45
+ : PayboxRefreshFailureDisposition.NotApplicable);
46
+ }
47
+ if (context === PayboxRequestContext.Authenticated)
48
+ return operationIncompleteError(cause, status);
49
+ if (context === PayboxRequestContext.Refresh || context === PayboxRequestContext.OAuthToken) {
50
+ return new PayboxAuthInvalidError('Paybox authentication authority was rejected.', resetCause(context), options);
51
+ }
52
+ return new PayboxAuthFlowError(options);
53
+ }
54
+ function payboxHttpStatus(error, context) {
55
+ if (error instanceof PayboxError)
56
+ return error.status;
57
+ if (context !== PayboxRequestContext.Refresh || !(error instanceof Error))
58
+ return null;
59
+ const match = PAYBOX_REFRESH_HTTP_STATUS_PATTERN.exec(error.message);
60
+ return match === null ? null : Number(match[1]);
61
+ }
62
+ function isConfirmedAuthenticationStatus(status, context) {
63
+ if (context === PayboxRequestContext.Authenticated) {
64
+ return PAYBOX_CONFIRMED_AUTH_HTTP_STATUSES.has(status);
65
+ }
66
+ if (context === PayboxRequestContext.Refresh || context === PayboxRequestContext.OAuthToken) {
67
+ return status === PAYBOX_INVALID_GRANT_HTTP_STATUS || PAYBOX_CONFIRMED_AUTH_HTTP_STATUSES.has(status);
68
+ }
69
+ return false;
70
+ }
71
+ function resetCause(context) {
72
+ if (context === PayboxRequestContext.Refresh)
73
+ return PayboxResetCause.InvalidRefresh;
74
+ if (context === PayboxRequestContext.OAuthToken)
75
+ return PayboxResetCause.OAuthRejected;
76
+ return PayboxResetCause.AuthenticatedRequestRejected;
77
+ }
78
+ function isNetworkOrTimeoutError(error) {
79
+ if (error instanceof TypeError)
80
+ return true;
81
+ if (!(error instanceof Error))
82
+ return false;
83
+ if (PAYBOX_TRANSPORT_ERROR_NAMES.has(error.name))
84
+ return true;
85
+ const code = error.code;
86
+ return typeof code === 'string' && PAYBOX_TRANSPORT_ERROR_CODES.has(code);
87
+ }
88
+ function operationIncompleteError(error, status = null) {
89
+ return new PayboxOperationIncompleteError(status, providerErrorMessage(error), error instanceof Error ? { cause: error } : null);
90
+ }
91
+ function providerErrorMessage(error) {
92
+ const message = error instanceof PayboxError ? providerMessageFromBody(error.body) : errorMessage(error);
93
+ if (message === null)
94
+ return null;
95
+ const normalized = redactString(message).replace(/\s+/gu, ' ').trim();
96
+ if (normalized.length === 0)
97
+ return null;
98
+ return normalized.slice(0, PAYBOX_PROVIDER_ERROR_MESSAGE_MAX_LENGTH);
99
+ }
100
+ function providerMessageFromBody(body) {
101
+ try {
102
+ const value = JSON.parse(body);
103
+ if (typeof value === 'string')
104
+ return value;
105
+ if (!isRecord(value))
106
+ return null;
107
+ for (const field of PAYBOX_PROVIDER_ERROR_MESSAGE_FIELDS) {
108
+ const message = value[field];
109
+ if (typeof message === 'string')
110
+ return message;
111
+ }
112
+ return null;
113
+ }
114
+ catch {
115
+ return body;
116
+ }
117
+ }
118
+ function errorMessage(error) {
119
+ return error instanceof Error ? error.message : null;
120
+ }
121
+ function normalizeGrant(value) {
122
+ const credential = value.credential;
123
+ const grant = value.grant;
124
+ if (credential.credential_type !== PAYBOX_WALLET_TYPE ||
125
+ credential.disabled_at !== null ||
126
+ grant.approval_mode !== PAYBOX_AUTONOMOUS_MODE ||
127
+ grant.credential_id !== credential.id ||
128
+ credential.id.length === 0) {
129
+ return [];
130
+ }
131
+ const metadata = isRecord(credential.metadata) ? credential.metadata : null;
132
+ const address = metadata === null ? null : addressField(metadata);
133
+ if (metadata === null || address === null || !isEvm(metadata))
134
+ return [];
135
+ return [
136
+ {
137
+ credentialId: credential.id,
138
+ address: getAddress(address),
139
+ label: credential.name,
140
+ provider: credential.provider,
141
+ },
142
+ ];
143
+ }
144
+ export function managementUrlFromBaseUrl(baseUrl) {
145
+ let parsed;
146
+ try {
147
+ parsed = new URL(baseUrl);
148
+ }
149
+ catch {
150
+ return null;
151
+ }
152
+ if (parsed.protocol !== 'https:' ||
153
+ parsed.username !== '' ||
154
+ parsed.password !== '' ||
155
+ parsed.port !== '' ||
156
+ parsed.pathname !== '/' ||
157
+ parsed.search !== '' ||
158
+ parsed.hash !== '') {
159
+ return null;
160
+ }
161
+ const managementHost = PAYBOX_MANAGEMENT_HOST_BY_API_HOST[parsed.hostname];
162
+ return managementHost === undefined ? null : `https://${managementHost}`;
163
+ }
164
+ function addressField(metadata) {
165
+ const value = metadata.address ?? metadata.wallet_address;
166
+ return typeof value === 'string' && isAddress(value) ? value : null;
167
+ }
168
+ function isEvm(metadata) {
169
+ if (isEvmChain(metadata.chain ?? metadata.chain_type ?? metadata.network))
170
+ return true;
171
+ const chains = metadata.chains;
172
+ return Array.isArray(chains) && chains.some(isEvmChain);
173
+ }
174
+ function isEvmChain(chain) {
175
+ return (chain === 'evm' ||
176
+ chain === 'ethereum' ||
177
+ (typeof chain === 'string' && PAYBOX_EIP155_CHAIN_ID_PATTERN.test(chain)));
178
+ }
179
+ function isRecord(value) {
180
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
181
+ }
182
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/paybox/sdk/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import * as fs from 'node:fs';
2
+ import { type IPayboxAuthStorage, type PayboxAuthRecord } from './types.js';
3
+ import type { ILogger } from '../logger/types.js';
4
+ /** Owns only Project CPU's Paybox record; it deliberately never consults SDK configuration. */
5
+ export declare class PayboxAuthStorage implements IPayboxAuthStorage {
6
+ private readonly homeDir;
7
+ private readonly logger;
8
+ private readonly removeFile;
9
+ constructor(homeDir: string, logger: ILogger, removeFile?: typeof fs.unlinkSync);
10
+ load(): PayboxAuthRecord | null;
11
+ save(record: PayboxAuthRecord): void;
12
+ clear(): void;
13
+ private wipeAfterFailedDelete;
14
+ private get directory();
15
+ private get filePath();
16
+ }
17
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/paybox/storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAI9B,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAA0B,MAAM,YAAY,CAAC;AAEpG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGlD,+FAA+F;AAC/F,qBAAa,iBAAkB,YAAW,kBAAkB;IAEpD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAFV,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EACf,UAAU,GAAE,OAAO,EAAE,CAAC,UAA0B;IAGrE,IAAI,IAAI,gBAAgB,GAAG,IAAI;IAc/B,IAAI,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAoBpC,KAAK,IAAI,IAAI;IAWb,OAAO,CAAC,qBAAqB;IAW7B,OAAO,KAAK,SAAS,GAEpB;IACD,OAAO,KAAK,QAAQ,GAEnB;CACJ"}
@@ -0,0 +1,87 @@
1
+ import { randomBytes } from 'node:crypto';
2
+ import * as fs from 'node:fs';
3
+ import * as path from 'node:path';
4
+ import { PAYBOX_AUTH_FILE, PAYBOX_DIR_MODE, PAYBOX_FILE_MODE } from './constants.js';
5
+ import { payboxAuthRecordSchema } from './types.js';
6
+ import { SESSION_DIR } from '../config/constants.js';
7
+ import { errorMessage } from '../utils/error.utils.js';
8
+ /** Owns only Project CPU's Paybox record; it deliberately never consults SDK configuration. */
9
+ export class PayboxAuthStorage {
10
+ homeDir;
11
+ logger;
12
+ removeFile;
13
+ constructor(homeDir, logger, removeFile = fs.unlinkSync) {
14
+ this.homeDir = homeDir;
15
+ this.logger = logger;
16
+ this.removeFile = removeFile;
17
+ }
18
+ load() {
19
+ if (!fs.existsSync(this.filePath))
20
+ return null;
21
+ try {
22
+ const parsed = JSON.parse(fs.readFileSync(this.filePath, 'utf8'));
23
+ const result = payboxAuthRecordSchema.safeParse(parsed);
24
+ if (!result.success)
25
+ throw new Error('invalid or incompatible Paybox auth record');
26
+ return result.data;
27
+ }
28
+ catch (error) {
29
+ this.logger.warn('Paybox auth record is invalid; removing it', { reason: errorMessage(error) });
30
+ this.clear();
31
+ return null;
32
+ }
33
+ }
34
+ save(record) {
35
+ const validated = payboxAuthRecordSchema.parse(record);
36
+ fs.mkdirSync(this.directory, { recursive: true, mode: PAYBOX_DIR_MODE });
37
+ fs.chmodSync(this.directory, PAYBOX_DIR_MODE);
38
+ const temporary = `${this.filePath}.${process.pid}.${randomBytes(8).toString('hex')}.tmp`;
39
+ let descriptor = null;
40
+ try {
41
+ descriptor = fs.openSync(temporary, 'wx', PAYBOX_FILE_MODE);
42
+ fs.writeFileSync(descriptor, JSON.stringify(validated, null, 2));
43
+ fs.fsyncSync(descriptor);
44
+ fs.closeSync(descriptor);
45
+ descriptor = null;
46
+ fs.renameSync(temporary, this.filePath);
47
+ fs.chmodSync(this.filePath, PAYBOX_FILE_MODE);
48
+ }
49
+ finally {
50
+ if (descriptor !== null)
51
+ fs.closeSync(descriptor);
52
+ if (fs.existsSync(temporary))
53
+ fs.unlinkSync(temporary);
54
+ }
55
+ }
56
+ clear() {
57
+ try {
58
+ this.removeFile(this.filePath);
59
+ }
60
+ catch (error) {
61
+ if (error.code === 'ENOENT')
62
+ return;
63
+ this.wipeAfterFailedDelete();
64
+ this.logger.warn('failed to remove Paybox auth record', { reason: errorMessage(error) });
65
+ throw error;
66
+ }
67
+ }
68
+ wipeAfterFailedDelete() {
69
+ let descriptor = null;
70
+ try {
71
+ descriptor = fs.openSync(this.filePath, 'r+');
72
+ fs.ftruncateSync(descriptor, 0);
73
+ fs.fsyncSync(descriptor);
74
+ }
75
+ finally {
76
+ if (descriptor !== null)
77
+ fs.closeSync(descriptor);
78
+ }
79
+ }
80
+ get directory() {
81
+ return path.join(this.homeDir, SESSION_DIR);
82
+ }
83
+ get filePath() {
84
+ return path.join(this.directory, PAYBOX_AUTH_FILE);
85
+ }
86
+ }
87
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/paybox/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAkD,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,+FAA+F;AAC/F,MAAM,OAAO,iBAAiB;IAEL;IACA;IACA;IAHrB,YACqB,OAAe,EACf,MAAe,EACf,aAAmC,EAAE,CAAC,UAAU;QAFhD,YAAO,GAAP,OAAO,CAAQ;QACf,WAAM,GAAN,MAAM,CAAS;QACf,eAAU,GAAV,UAAU,CAAsC;IAClE,CAAC;IAEJ,IAAI;QACA,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,CAAC;YACD,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YACnF,OAAO,MAAM,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChG,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,IAAI,CAAC,MAAwB;QACzB,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACvD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;QACzE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1F,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,IAAI,CAAC;YACD,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;YAC5D,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACjE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACzB,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACzB,UAAU,GAAG,IAAI,CAAC;YAClB,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAClD,CAAC;gBAAS,CAAC;YACP,IAAI,UAAU,KAAK,IAAI;gBAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;gBAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IAED,KAAK;QACD,IAAI,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO;YAC/D,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzF,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAEO,qBAAqB;QACzB,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,IAAI,CAAC;YACD,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC9C,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAChC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACP,IAAI,UAAU,KAAK,IAAI;gBAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC;IACL,CAAC;IAED,IAAY,SAAS;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAChD,CAAC;IACD,IAAY,QAAQ;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACvD,CAAC;CACJ"}