@mywebapi.com/sdk 0.2.1 → 0.3.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 (363) hide show
  1. package/README.md +87 -14
  2. package/dist/browser/index.js +1079 -85
  3. package/dist/client.d.ts +20 -2
  4. package/dist/errors.d.ts +49 -2
  5. package/dist/generated/model/activationModes.d.ts +1 -1
  6. package/dist/generated/model/activationType.d.ts +1 -1
  7. package/dist/generated/model/apiError.d.ts +1 -1
  8. package/dist/generated/model/apiMeta.d.ts +1 -1
  9. package/dist/generated/model/arcBackupExecutionPeriod.d.ts +1 -1
  10. package/dist/generated/model/arcBackupStorePeriod.d.ts +1 -1
  11. package/dist/generated/model/backupExecutionPeriod.d.ts +1 -1
  12. package/dist/generated/model/backupStorePeriod.d.ts +1 -1
  13. package/dist/generated/model/booleanApiResponse.d.ts +1 -1
  14. package/dist/generated/model/chartPeriod.d.ts +1 -1
  15. package/dist/generated/model/dataFeedMode.d.ts +1 -1
  16. package/dist/generated/model/dateTimeApiResponse.d.ts +1 -1
  17. package/dist/generated/model/dealAction.d.ts +1 -1
  18. package/dist/generated/model/dealReason.d.ts +1 -1
  19. package/dist/generated/model/enAuthMode.d.ts +1 -1
  20. package/dist/generated/model/enAuthOTPMode.d.ts +1 -1
  21. package/dist/generated/model/enCalcMode.d.ts +1 -1
  22. package/dist/generated/model/enChartMode.d.ts +1 -1
  23. package/dist/generated/model/enCommActionMode.d.ts +1 -1
  24. package/dist/generated/model/enCommChargeMode.d.ts +1 -1
  25. package/dist/generated/model/enCommEntryMode.d.ts +1 -1
  26. package/dist/generated/model/enCommMode.d.ts +1 -1
  27. package/dist/generated/model/enCommProfitMode.d.ts +1 -1
  28. package/dist/generated/model/enCommRangeMode.d.ts +1 -1
  29. package/dist/generated/model/enCommReasonFlags.d.ts +6 -13
  30. package/dist/generated/model/enCommissionMode.d.ts +1 -1
  31. package/dist/generated/model/enCommissionVolumeType.d.ts +1 -1
  32. package/dist/generated/model/enExecutionMode.d.ts +1 -1
  33. package/dist/generated/model/enExpirationFlags.d.ts +6 -10
  34. package/dist/generated/model/enFillingFlags.d.ts +6 -9
  35. package/dist/generated/model/enFreeMarginMode.d.ts +1 -1
  36. package/dist/generated/model/enGatewayAccountFlags.d.ts +1 -1
  37. package/dist/generated/model/enGtcMode.d.ts +1 -1
  38. package/dist/generated/model/enHistoryLimit.d.ts +1 -1
  39. package/dist/generated/model/enIndustries.d.ts +1 -1
  40. package/dist/generated/model/enInstantFlags.d.ts +6 -6
  41. package/dist/generated/model/enInstantMode.d.ts +1 -1
  42. package/dist/generated/model/enLogType.d.ts +1 -1
  43. package/dist/generated/model/enMailMode.d.ts +1 -1
  44. package/dist/generated/model/enManagerLimit.d.ts +1 -1
  45. package/dist/generated/model/enManagerRights.d.ts +1 -1
  46. package/dist/generated/model/enMarginCalcFlags.d.ts +6 -6
  47. package/dist/generated/model/enMarginFlags.d.ts +6 -11
  48. package/dist/generated/model/enMarginMode.d.ts +1 -1
  49. package/dist/generated/model/enNewsMode.d.ts +1 -1
  50. package/dist/generated/model/enOptionMode.d.ts +1 -1
  51. package/dist/generated/model/enOrderFlags.d.ts +6 -13
  52. package/dist/generated/model/enPermissionsFlags.d.ts +6 -16
  53. package/dist/generated/model/enReportsFlags.d.ts +6 -9
  54. package/dist/generated/model/enReportsMode.d.ts +1 -1
  55. package/dist/generated/model/enRequestFlags.d.ts +6 -6
  56. package/dist/generated/model/enSectors.d.ts +1 -1
  57. package/dist/generated/model/enSpliceTimeType.d.ts +1 -1
  58. package/dist/generated/model/enSpliceType.d.ts +1 -1
  59. package/dist/generated/model/enStopOutMode.d.ts +1 -1
  60. package/dist/generated/model/enSwapDays.d.ts +1 -1
  61. package/dist/generated/model/enSwapFlags.d.ts +6 -6
  62. package/dist/generated/model/enSwapMode.d.ts +1 -1
  63. package/dist/generated/model/enTickFlags.d.ts +6 -10
  64. package/dist/generated/model/enTradeFlags.d.ts +4 -9
  65. package/dist/generated/model/enTradeMode.d.ts +1 -1
  66. package/dist/generated/model/enTradeRightsFlags.d.ts +6 -19
  67. package/dist/generated/model/enTransferMode.d.ts +1 -1
  68. package/dist/generated/model/entryFlag.d.ts +1 -1
  69. package/dist/generated/model/exportExecutionPeriod.d.ts +1 -1
  70. package/dist/generated/model/gTCMode.d.ts +1 -1
  71. package/dist/generated/model/getAdmBalanceCheckParams.d.ts +1 -1
  72. package/dist/generated/model/getAdmTradesRequestGroupParams.d.ts +1 -1
  73. package/dist/generated/model/getBackupRequestOrdersFileParams.d.ts +1 -1
  74. package/dist/generated/model/getBackupRequestUsersFileParams.d.ts +1 -1
  75. package/dist/generated/model/getCfgRequestAccessParams.d.ts +1 -1
  76. package/dist/generated/model/getCfgRequestDataServerParams.d.ts +1 -1
  77. package/dist/generated/model/getCfgRequestFeederParams.d.ts +1 -1
  78. package/dist/generated/model/getCfgRequestGatewayAccountParams.d.ts +1 -1
  79. package/dist/generated/model/getCfgRequestGatewayMarkupParams.d.ts +1 -1
  80. package/dist/generated/model/getCfgRequestGatewayRuleParams.d.ts +1 -1
  81. package/dist/generated/model/getCfgRequestHolidayParams.d.ts +1 -1
  82. package/dist/generated/model/getCfgRequestLiveUpdateParams.d.ts +1 -1
  83. package/dist/generated/model/getCfgRequestManagerParams.d.ts +1 -1
  84. package/dist/generated/model/getCfgRequestSyncParams.d.ts +1 -1
  85. package/dist/generated/model/getChartRequestSymbolParams.d.ts +1 -1
  86. package/dist/generated/model/getDailyReportsRequestExParams.d.ts +1 -1
  87. package/dist/generated/model/getDailyReportsRequestParams.d.ts +1 -1
  88. package/dist/generated/model/getDealByGroupMaskParams.d.ts +1 -1
  89. package/dist/generated/model/getGroupsRequestParams.d.ts +1 -1
  90. package/dist/generated/model/getJournalRequestParams.d.ts +1 -1
  91. package/dist/generated/model/getOnlineGetParams.d.ts +1 -1
  92. package/dist/generated/model/getOnlineRequestParams.d.ts +1 -1
  93. package/dist/generated/model/getOrderByGroupMaskParams.d.ts +1 -1
  94. package/dist/generated/model/getPerformanceRequestParams.d.ts +1 -1
  95. package/dist/generated/model/getPositionByGroupMaskParams.d.ts +1 -1
  96. package/dist/generated/model/getReportsRequestParams.d.ts +1 -1
  97. package/dist/generated/model/getSrvFeedersParams.d.ts +1 -1
  98. package/dist/generated/model/getSymbolInfoGetParams.d.ts +1 -1
  99. package/dist/generated/model/getSymbolInfoUpdatedParams.d.ts +1 -1
  100. package/dist/generated/model/getTicksRequestSymbolParams.d.ts +1 -1
  101. package/dist/generated/model/getTradeRecordsRequestParams.d.ts +1 -1
  102. package/dist/generated/model/getTradesGetBySymbolParams.d.ts +1 -1
  103. package/dist/generated/model/getTradesGetParams.d.ts +1 -1
  104. package/dist/generated/model/getTradesRequestParams.d.ts +1 -1
  105. package/dist/generated/model/getTradesSnapshotParams.d.ts +1 -1
  106. package/dist/generated/model/getTradesSyncReadParams.d.ts +1 -1
  107. package/dist/generated/model/getTradesUserHistoryLoginParams.d.ts +1 -1
  108. package/dist/generated/model/getUserRecordsRequestParams.d.ts +1 -1
  109. package/dist/generated/model/getUsersRequestParams.d.ts +1 -1
  110. package/dist/generated/model/getUsersSnapshotParams.d.ts +1 -1
  111. package/dist/generated/model/getUsersSyncReadParams.d.ts +1 -1
  112. package/dist/generated/model/groupRights.d.ts +6 -12
  113. package/dist/generated/model/index.d.ts +7 -1
  114. package/dist/generated/model/int32ApiResponse.d.ts +1 -1
  115. package/dist/generated/model/int32MT4DailyReportListDictionaryApiResponse.d.ts +1 -1
  116. package/dist/generated/model/int32MT4DailyReportListDictionaryApiResponseData.d.ts +1 -1
  117. package/dist/generated/model/jsonNode.d.ts +1 -1
  118. package/dist/generated/model/jsonNodeApiResponse.d.ts +1 -1
  119. package/dist/generated/model/jsonNodeOptions.d.ts +1 -1
  120. package/dist/generated/model/mT4Access.d.ts +1 -1
  121. package/dist/generated/model/mT4AccessApiResponse.d.ts +1 -1
  122. package/dist/generated/model/mT4AccessListApiResponse.d.ts +1 -1
  123. package/dist/generated/model/mT4Backup.d.ts +1 -1
  124. package/dist/generated/model/mT4BackupApiResponse.d.ts +1 -1
  125. package/dist/generated/model/mT4BackupInfo.d.ts +1 -1
  126. package/dist/generated/model/mT4BackupInfoListApiResponse.d.ts +1 -1
  127. package/dist/generated/model/mT4BalanceDiff.d.ts +1 -1
  128. package/dist/generated/model/mT4BalanceDiffApiResponse.d.ts +1 -1
  129. package/dist/generated/model/mT4BalanceDiffListApiResponse.d.ts +1 -1
  130. package/dist/generated/model/mT4ChartBar.d.ts +1 -1
  131. package/dist/generated/model/mT4ChartBarListApiResponse.d.ts +1 -1
  132. package/dist/generated/model/mT4ChartWriteRequest.d.ts +1 -1
  133. package/dist/generated/model/mT4Common.d.ts +1 -1
  134. package/dist/generated/model/mT4CommonApiResponse.d.ts +1 -1
  135. package/dist/generated/model/mT4CommonUpdate.d.ts +1 -1
  136. package/dist/generated/model/mT4DailyReport.d.ts +1 -1
  137. package/dist/generated/model/mT4DailyReportListApiResponse.d.ts +1 -1
  138. package/dist/generated/model/mT4DataServer.d.ts +1 -1
  139. package/dist/generated/model/mT4DataServerApiResponse.d.ts +1 -1
  140. package/dist/generated/model/mT4DataServerListApiResponse.d.ts +1 -1
  141. package/dist/generated/model/mT4ExternalCommandBinaryRequest.d.ts +1 -1
  142. package/dist/generated/model/mT4ExternalCommandBinaryResponse.d.ts +1 -1
  143. package/dist/generated/model/mT4ExternalCommandBinaryResponseApiResponse.d.ts +1 -1
  144. package/dist/generated/model/mT4Feeder.d.ts +1 -1
  145. package/dist/generated/model/mT4FeederApiResponse.d.ts +1 -1
  146. package/dist/generated/model/mT4FeederListApiResponse.d.ts +1 -1
  147. package/dist/generated/model/mT4GatewayAccount.d.ts +1 -1
  148. package/dist/generated/model/mT4GatewayAccountApiResponse.d.ts +1 -1
  149. package/dist/generated/model/mT4GatewayAccountListApiResponse.d.ts +1 -1
  150. package/dist/generated/model/mT4GatewayMarkup.d.ts +1 -1
  151. package/dist/generated/model/mT4GatewayMarkupApiResponse.d.ts +1 -1
  152. package/dist/generated/model/mT4GatewayMarkupListApiResponse.d.ts +1 -1
  153. package/dist/generated/model/mT4GatewayRule.d.ts +1 -1
  154. package/dist/generated/model/mT4GatewayRuleApiResponse.d.ts +1 -1
  155. package/dist/generated/model/mT4GatewayRuleListApiResponse.d.ts +1 -1
  156. package/dist/generated/model/mT4Group.d.ts +4 -4
  157. package/dist/generated/model/mT4GroupApiResponse.d.ts +4 -4
  158. package/dist/generated/model/mT4GroupListApiResponse.d.ts +1 -1
  159. package/dist/generated/model/mT4GroupMargin.d.ts +1 -1
  160. package/dist/generated/model/mT4GroupMarginListApiResponse.d.ts +1 -1
  161. package/dist/generated/model/mT4GroupSec.d.ts +1 -1
  162. package/dist/generated/model/mT4GroupSecListApiResponse.d.ts +1 -1
  163. package/dist/generated/model/mT4GroupUpdate.d.ts +1 -1
  164. package/dist/generated/model/mT4Holiday.d.ts +1 -1
  165. package/dist/generated/model/mT4HolidayApiResponse.d.ts +1 -1
  166. package/dist/generated/model/mT4HolidayListApiResponse.d.ts +1 -1
  167. package/dist/generated/model/mT4LiveUpdate.d.ts +1 -1
  168. package/dist/generated/model/mT4LiveUpdateApiResponse.d.ts +1 -1
  169. package/dist/generated/model/mT4LiveUpdateListApiResponse.d.ts +1 -1
  170. package/dist/generated/model/mT4MailBox.d.ts +1 -1
  171. package/dist/generated/model/mT4MailBoxListApiResponse.d.ts +1 -1
  172. package/dist/generated/model/mT4MailSendRequest.d.ts +1 -1
  173. package/dist/generated/model/mT4ManagerRights.d.ts +1 -1
  174. package/dist/generated/model/mT4ManagerRightsApiResponse.d.ts +1 -1
  175. package/dist/generated/model/mT4ManagerRightsListApiResponse.d.ts +1 -1
  176. package/dist/generated/model/mT4MarginLevel.d.ts +1 -1
  177. package/dist/generated/model/mT4MarginLevelApiResponse.d.ts +1 -1
  178. package/dist/generated/model/mT4MarginLevelListApiResponse.d.ts +1 -1
  179. package/dist/generated/model/mT4NewsSendRequest.d.ts +1 -1
  180. package/dist/generated/model/mT4NewsTopic.d.ts +1 -1
  181. package/dist/generated/model/mT4NewsTopicApiResponse.d.ts +1 -1
  182. package/dist/generated/model/mT4NewsTopicListApiResponse.d.ts +1 -1
  183. package/dist/generated/model/mT4NotificationsSendRequest.d.ts +1 -1
  184. package/dist/generated/model/mT4Online.d.ts +1 -1
  185. package/dist/generated/model/mT4OnlineListApiResponse.d.ts +1 -1
  186. package/dist/generated/model/mT4Performance.d.ts +1 -1
  187. package/dist/generated/model/mT4PerformanceListApiResponse.d.ts +1 -1
  188. package/dist/generated/model/mT4Plugin.d.ts +1 -1
  189. package/dist/generated/model/mT4PluginConfig.d.ts +1 -1
  190. package/dist/generated/model/mT4PluginListApiResponse.d.ts +1 -1
  191. package/dist/generated/model/mT4PluginParam.d.ts +1 -1
  192. package/dist/generated/model/mT4PluginParamApiResponse.d.ts +1 -1
  193. package/dist/generated/model/mT4PluginParamListApiResponse.d.ts +1 -1
  194. package/dist/generated/model/mT4ServerLog.d.ts +1 -1
  195. package/dist/generated/model/mT4ServerLogListApiResponse.d.ts +1 -1
  196. package/dist/generated/model/mT4ServerTime.d.ts +1 -1
  197. package/dist/generated/model/mT4ServerTimeApiResponse.d.ts +1 -1
  198. package/dist/generated/model/mT4SymbolChangeRequest.d.ts +1 -1
  199. package/dist/generated/model/mT4SymbolConfig.d.ts +1 -1
  200. package/dist/generated/model/mT4SymbolConfigApiResponse.d.ts +1 -1
  201. package/dist/generated/model/mT4SymbolConfigListApiResponse.d.ts +1 -1
  202. package/dist/generated/model/mT4SymbolConfigUpdate.d.ts +1 -1
  203. package/dist/generated/model/mT4SymbolDaySessions.d.ts +1 -1
  204. package/dist/generated/model/mT4SymbolDaySessionsListApiResponse.d.ts +1 -1
  205. package/dist/generated/model/mT4SymbolGroup.d.ts +1 -1
  206. package/dist/generated/model/mT4SymbolGroupApiResponse.d.ts +1 -1
  207. package/dist/generated/model/mT4SymbolGroupListApiResponse.d.ts +1 -1
  208. package/dist/generated/model/mT4SymbolInfo.d.ts +1 -1
  209. package/dist/generated/model/mT4SymbolInfoApiResponse.d.ts +1 -1
  210. package/dist/generated/model/mT4SymbolInfoListApiResponse.d.ts +1 -1
  211. package/dist/generated/model/mT4SymbolSession.d.ts +1 -1
  212. package/dist/generated/model/mT4Sync.d.ts +1 -1
  213. package/dist/generated/model/mT4SyncApiResponse.d.ts +1 -1
  214. package/dist/generated/model/mT4SyncListApiResponse.d.ts +1 -1
  215. package/dist/generated/model/mT4TickInfo.d.ts +1 -1
  216. package/dist/generated/model/mT4TickInfoApiResponse.d.ts +1 -1
  217. package/dist/generated/model/mT4TickInfoListApiResponse.d.ts +1 -1
  218. package/dist/generated/model/mT4TickRecord.d.ts +1 -1
  219. package/dist/generated/model/mT4TickRecordListApiResponse.d.ts +1 -1
  220. package/dist/generated/model/mT4Trade.d.ts +1 -1
  221. package/dist/generated/model/mT4TradeApiResponse.d.ts +1 -1
  222. package/dist/generated/model/mT4TradeListApiResponse.d.ts +1 -1
  223. package/dist/generated/model/mT4TradeRestoreInput.d.ts +1 -1
  224. package/dist/generated/model/mT4TradeRestoreResult.d.ts +1 -1
  225. package/dist/generated/model/mT4TradeRestoreResultListApiResponse.d.ts +1 -1
  226. package/dist/generated/model/mT4TradeTransaction.d.ts +1 -1
  227. package/dist/generated/model/mT4TradeTransactionApiResponse.d.ts +1 -1
  228. package/dist/generated/model/mT4TradeUpdate.d.ts +1 -1
  229. package/dist/generated/model/mT4User.d.ts +1 -1
  230. package/dist/generated/model/mT4UserApiResponse.d.ts +1 -1
  231. package/dist/generated/model/mT4UserCreate.d.ts +1 -1
  232. package/dist/generated/model/mT4UserListApiResponse.d.ts +1 -1
  233. package/dist/generated/model/mT4UserRestoreInput.d.ts +1 -1
  234. package/dist/generated/model/mT4UserUpdate.d.ts +1 -1
  235. package/dist/generated/model/mT4UsersGroupOp.d.ts +1 -1
  236. package/dist/generated/model/mT5ConCommTier.d.ts +1 -1
  237. package/dist/generated/model/mT5ConCommission.d.ts +1 -1
  238. package/dist/generated/model/mT5ConGroup.d.ts +1 -1
  239. package/dist/generated/model/mT5ConGroupApiResponse.d.ts +1 -1
  240. package/dist/generated/model/mT5ConGroupCommissions.d.ts +1 -1
  241. package/dist/generated/model/mT5ConManager.d.ts +1 -1
  242. package/dist/generated/model/mT5ConManagerApiResponse.d.ts +1 -1
  243. package/dist/generated/model/mT5Deal.d.ts +1 -1
  244. package/dist/generated/model/mT5DealListApiResponse.d.ts +1 -1
  245. package/dist/generated/model/mT5Order.d.ts +1 -1
  246. package/dist/generated/model/mT5OrderListApiResponse.d.ts +1 -1
  247. package/dist/generated/model/mT5Position.d.ts +1 -1
  248. package/dist/generated/model/mT5PositionListApiResponse.d.ts +1 -1
  249. package/dist/generated/model/mT5Symbol.d.ts +1 -1
  250. package/dist/generated/model/mT5SymbolApiResponse.d.ts +1 -1
  251. package/dist/generated/model/mT5SymbolMarginRateInitial.d.ts +1 -1
  252. package/dist/generated/model/mT5SymbolMarginRateMaintenance.d.ts +1 -1
  253. package/dist/generated/model/mT5SymbolSession.d.ts +1 -1
  254. package/dist/generated/model/mT5Time.d.ts +1 -1
  255. package/dist/generated/model/mT5TimeApiResponse.d.ts +1 -1
  256. package/dist/generated/model/mT5User.d.ts +3 -3
  257. package/dist/generated/model/mT5UserApiResponse.d.ts +2 -2
  258. package/dist/generated/model/marginCalculationMode.d.ts +1 -1
  259. package/dist/generated/model/marginControllingType.d.ts +1 -1
  260. package/dist/generated/model/marginLevelType.d.ts +1 -1
  261. package/dist/generated/model/marginMode.d.ts +1 -1
  262. package/dist/generated/model/newsMode.d.ts +1 -1
  263. package/dist/generated/model/oTPMode.d.ts +1 -1
  264. package/dist/generated/model/orderFilling.d.ts +1 -1
  265. package/dist/generated/model/orderReason.d.ts +1 -1
  266. package/dist/generated/model/orderState.d.ts +1 -1
  267. package/dist/generated/model/orderTime.d.ts +1 -1
  268. package/dist/generated/model/orderType.d.ts +1 -1
  269. package/dist/generated/model/pagingMeta.d.ts +1 -1
  270. package/dist/generated/model/patchGroupRecordGroupMT4Body.d.ts +13 -0
  271. package/dist/generated/model/patchGroupRecordGroupMT5Body.d.ts +13 -0
  272. package/dist/generated/model/patchSymbolConfigSymbolBody.d.ts +13 -0
  273. package/dist/generated/model/patchSymbolRecordSymbolBody.d.ts +13 -0
  274. package/dist/generated/model/patchUserRecordLoginMT4Body.d.ts +13 -0
  275. package/dist/generated/model/patchUserRecordLoginMT5Body.d.ts +13 -0
  276. package/dist/generated/model/positionActions.d.ts +1 -1
  277. package/dist/generated/model/positionReasons.d.ts +1 -1
  278. package/dist/generated/model/postAdmBalanceFixParams.d.ts +1 -1
  279. package/dist/generated/model/postAdmTradesDeleteParams.d.ts +1 -1
  280. package/dist/generated/model/postBackupRestoreOrdersParams.d.ts +1 -1
  281. package/dist/generated/model/postBackupRestoreUsersParams.d.ts +1 -1
  282. package/dist/generated/model/postCfgShiftAccessPosParams.d.ts +1 -1
  283. package/dist/generated/model/postCfgShiftDataServerPosParams.d.ts +1 -1
  284. package/dist/generated/model/postCfgShiftFeederPosParams.d.ts +1 -1
  285. package/dist/generated/model/postCfgShiftGatewayAccountPosParams.d.ts +1 -1
  286. package/dist/generated/model/postCfgShiftGatewayMarkupPosParams.d.ts +1 -1
  287. package/dist/generated/model/postCfgShiftGatewayRulePosParams.d.ts +1 -1
  288. package/dist/generated/model/postCfgShiftGroupPosParams.d.ts +1 -1
  289. package/dist/generated/model/postCfgShiftHolidayPosParams.d.ts +1 -1
  290. package/dist/generated/model/postCfgShiftLiveUpdatePosParams.d.ts +1 -1
  291. package/dist/generated/model/postCfgShiftManagerPosParams.d.ts +1 -1
  292. package/dist/generated/model/postCfgShiftPluginPosParams.d.ts +1 -1
  293. package/dist/generated/model/postCfgShiftSymbolPosParams.d.ts +1 -1
  294. package/dist/generated/model/postCfgShiftSyncPosParams.d.ts +1 -1
  295. package/dist/generated/model/postChartAddSymbolParams.d.ts +1 -1
  296. package/dist/generated/model/postChartDeleteSymbolParams.d.ts +1 -1
  297. package/dist/generated/model/postChartUpdateSymbolParams.d.ts +1 -1
  298. package/dist/generated/model/postDailySyncStartParams.d.ts +1 -1
  299. package/dist/generated/model/postSrvChartsSyncParams.d.ts +1 -1
  300. package/dist/generated/model/postSrvFeedsRestartParams.d.ts +1 -1
  301. package/dist/generated/model/postSrvLiveUpdateStartParams.d.ts +1 -1
  302. package/dist/generated/model/postSrvRestartParams.d.ts +1 -1
  303. package/dist/generated/model/postSymbolSendTickParams.d.ts +1 -1
  304. package/dist/generated/model/postTradeCheckStopsParams.d.ts +1 -1
  305. package/dist/generated/model/postTradesSyncStartParams.d.ts +1 -1
  306. package/dist/generated/model/postUserPasswordSetLoginParams.d.ts +1 -1
  307. package/dist/generated/model/postUsersSyncStartParams.d.ts +1 -1
  308. package/dist/generated/model/profitCalculationMode.d.ts +1 -1
  309. package/dist/generated/model/requestMode.d.ts +1 -1
  310. package/dist/generated/model/resultCode.d.ts +1 -1
  311. package/dist/generated/model/serverRole.d.ts +1 -1
  312. package/dist/generated/model/stringApiResponse.d.ts +1 -1
  313. package/dist/generated/model/swapType.d.ts +1 -1
  314. package/dist/generated/model/symbolExecMode.d.ts +1 -1
  315. package/dist/generated/model/symbolPriceDirection.d.ts +1 -1
  316. package/dist/generated/model/synchronizationMode.d.ts +1 -1
  317. package/dist/generated/model/tickRequestFlags.d.ts +6 -7
  318. package/dist/generated/model/tradeActivationFlags.d.ts +6 -13
  319. package/dist/generated/model/tradeCommand.d.ts +1 -1
  320. package/dist/generated/model/tradeMode.d.ts +1 -1
  321. package/dist/generated/model/tradeModifyFlags.d.ts +4 -15
  322. package/dist/generated/model/tradeRecordReason.d.ts +1 -1
  323. package/dist/generated/model/tradeRecordState.d.ts +1 -1
  324. package/dist/generated/model/usersRights.d.ts +4 -24
  325. package/dist/generated/model/watchdogFailoverMode.d.ts +1 -1
  326. package/dist/generated/model/watchdogState.d.ts +1 -1
  327. package/dist/generated/model/webApiErrorCode.d.ts +4 -1
  328. package/dist/generated/mt4-v2-authentication.d.ts +9 -3
  329. package/dist/generated/mt4-v2-backup-destructive.d.ts +10 -3
  330. package/dist/generated/mt4-v2-backup.d.ts +16 -5
  331. package/dist/generated/mt4-v2-common.d.ts +11 -4
  332. package/dist/generated/mt4-v2-config.d.ts +156 -52
  333. package/dist/generated/mt4-v2-groups.d.ts +28 -10
  334. package/dist/generated/mt4-v2-history.d.ts +5 -2
  335. package/dist/generated/mt4-v2-mail.d.ts +5 -2
  336. package/dist/generated/mt4-v2-margins.d.ts +11 -4
  337. package/dist/generated/mt4-v2-news.d.ts +17 -6
  338. package/dist/generated/mt4-v2-online.d.ts +8 -3
  339. package/dist/generated/mt4-v2-plugins.d.ts +5 -2
  340. package/dist/generated/mt4-v2-prices.d.ts +26 -9
  341. package/dist/generated/mt4-v2-reports.d.ts +20 -7
  342. package/dist/generated/mt4-v2-server-admin-destructive.d.ts +15 -5
  343. package/dist/generated/mt4-v2-server-admin.d.ts +16 -5
  344. package/dist/generated/mt4-v2-sidecar-batch-reads.d.ts +14 -5
  345. package/dist/generated/mt4-v2-sidecar-externalcommand.d.ts +6 -2
  346. package/dist/generated/mt4-v2-sidecar-messaging.d.ts +11 -4
  347. package/dist/generated/mt4-v2-sidecar-plugins.d.ts +17 -6
  348. package/dist/generated/mt4-v2-symbols.d.ts +42 -15
  349. package/dist/generated/mt4-v2-trades.d.ts +52 -17
  350. package/dist/generated/mt4-v2-users.d.ts +43 -15
  351. package/dist/generated/mt5-v2-common.d.ts +6 -3
  352. package/dist/generated/mt5-v2-groups.d.ts +8 -4
  353. package/dist/generated/mt5-v2-managers.d.ts +4 -2
  354. package/dist/generated/mt5-v2-symbols.d.ts +8 -4
  355. package/dist/generated/mt5-v2-trades.d.ts +11 -4
  356. package/dist/generated/mt5-v2-users.d.ts +8 -4
  357. package/dist/index.d.ts +4 -2
  358. package/dist/mutator.context.d.ts +3 -0
  359. package/dist/mutator.d.ts +3 -2
  360. package/dist/node/index.js +1079 -85
  361. package/dist/request-timeout.d.ts +56 -0
  362. package/dist/request-timeouts.generated.d.ts +6 -0
  363. package/package.json +3 -3
@@ -798,6 +798,11 @@ function withRequestContext(options, ctx) {
798
798
  var responseMeta = Symbol("cplugin.webapi.response-meta");
799
799
 
800
800
  // src/errors.ts
801
+ var REQUEST_OUTCOMES = new Set(["timeout", "unknown", "not-started", "in-progress"]);
802
+ function parseRequestOutcome(value) {
803
+ const normalized = value?.trim().toLowerCase();
804
+ return normalized && REQUEST_OUTCOMES.has(normalized) ? normalized : undefined;
805
+ }
801
806
  function codeForHttpStatus(status) {
802
807
  if (status === 401 || status === 403)
803
808
  return "Forbidden";
@@ -812,7 +817,9 @@ class ApiError extends Error {
812
817
  activityId;
813
818
  managerCode;
814
819
  status;
815
- constructor(body, meta, status) {
820
+ outcome;
821
+ appliedTimeout;
822
+ constructor(body, meta, status, details) {
816
823
  const desc = body.message ?? undefined;
817
824
  super(desc ?? `v2 error: ${body.code}`);
818
825
  this.name = "ApiError";
@@ -821,36 +828,309 @@ class ApiError extends Error {
821
828
  this.activityId = meta?.activityId ?? undefined;
822
829
  this.managerCode = body.managerCode ?? undefined;
823
830
  this.status = status;
831
+ this.outcome = details?.outcome;
832
+ this.appliedTimeout = details?.appliedTimeout;
824
833
  }
825
834
  }
835
+ function isOutcomeUnknown(error) {
836
+ return error instanceof ApiError && reportsOutcomeUnknown(error);
837
+ }
838
+ function reportsOutcomeUnknown(error) {
839
+ return error.code === "OutcomeUnknown" || error.outcome === "unknown" || error.outcome === "in-progress";
840
+ }
841
+ function isRetryable(error) {
842
+ if (!(error instanceof ApiError) || reportsOutcomeUnknown(error))
843
+ return false;
844
+ return error.code === "Busy" || error.code === "Timeout" || error.outcome === "not-started" || error.outcome === "timeout";
845
+ }
846
+
847
+ // src/request-timeouts.generated.ts
848
+ var REQUEST_TIMEOUT_MIN_SECONDS = 1;
849
+ var REQUEST_TIMEOUT_MAX_SECONDS = 300;
850
+ var OPERATION_TIMEOUTS = [
851
+ ["GET", "/api/v2/MT4/{tradePlatform}/AdmBalanceCheck", 10],
852
+ ["GET", "/api/v2/MT4/{tradePlatform}/AdmBalanceCheck/{login}", 10],
853
+ ["POST", "/api/v2/MT4/{tradePlatform}/AdmBalanceFix", 5],
854
+ ["POST", "/api/v2/MT4/{tradePlatform}/AdmTradeRecordModify/{ticket}", 5],
855
+ ["POST", "/api/v2/MT4/{tradePlatform}/AdmTradesDelete", 5],
856
+ ["GET", "/api/v2/MT4/{tradePlatform}/AdmTradesRequest/{group}", 30],
857
+ ["GET", "/api/v2/MT4/{tradePlatform}/AdmUsersRequestSafe/{group}", 30],
858
+ ["GET", "/api/v2/MT4/{tradePlatform}/BackupInfoOrders/{mode}", 30],
859
+ ["GET", "/api/v2/MT4/{tradePlatform}/BackupInfoUsers/{mode}", 30],
860
+ ["GET", "/api/v2/MT4/{tradePlatform}/BackupRequestOrders/{file}", 30],
861
+ ["GET", "/api/v2/MT4/{tradePlatform}/BackupRequestUsers/{file}", 30],
862
+ ["POST", "/api/v2/MT4/{tradePlatform}/BackupRestoreOrders", 60],
863
+ ["POST", "/api/v2/MT4/{tradePlatform}/BackupRestoreUsers", 60],
864
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteAccess/{pos}", 15],
865
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteDataServer/{pos}", 15],
866
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteFeeder/{pos}", 15],
867
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteGatewayAccount/{pos}", 15],
868
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteGatewayMarkup/{pos}", 15],
869
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteGatewayRule/{pos}", 15],
870
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteHoliday/{pos}", 15],
871
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteLiveUpdate/{pos}", 15],
872
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteManager/{pos}", 15],
873
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteSymbol/{pos}", 15],
874
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteSync/{pos}", 15],
875
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestAccess", 10],
876
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestBackup", 10],
877
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestCommon", 10],
878
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestDataServer", 10],
879
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestFeeder", 10],
880
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestGatewayAccount", 10],
881
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestGatewayMarkup", 10],
882
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestGatewayRule", 10],
883
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestHoliday", 10],
884
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestLiveUpdate", 10],
885
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestManager", 10],
886
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestPlugin", 10],
887
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestSymbol", 10],
888
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestSymbol/{symbol}", 10],
889
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestSync", 10],
890
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestTime", 10],
891
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftAccess/{pos}", 15],
892
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftDataServer/{pos}", 15],
893
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftFeeder/{pos}", 15],
894
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftGatewayAccount/{pos}", 15],
895
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftGatewayMarkup/{pos}", 15],
896
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftGatewayRule/{pos}", 15],
897
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftGroup/{pos}", 15],
898
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftHoliday/{pos}", 15],
899
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftLiveUpdate/{pos}", 15],
900
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftManager/{pos}", 15],
901
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftPlugin/{pos}", 15],
902
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftSymbol/{pos}", 15],
903
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftSync/{pos}", 15],
904
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateAccess/{pos}", 15],
905
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateBackup", 15],
906
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateCommon", 15],
907
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateDataServer/{pos}", 15],
908
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateFeeder", 15],
909
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateGatewayAccount", 15],
910
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateGatewayMarkup", 15],
911
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateGatewayRule", 15],
912
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateHoliday/{pos}", 15],
913
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateLiveUpdate", 15],
914
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateManager", 15],
915
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdatePlugin", 15],
916
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateSymbol/{symbol}", 15],
917
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateSymbolGroup/{pos}", 15],
918
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateSync", 15],
919
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateTime", 15],
920
+ ["POST", "/api/v2/MT4/{tradePlatform}/ChartAdd/{symbol}", 15],
921
+ ["POST", "/api/v2/MT4/{tradePlatform}/ChartDelete/{symbol}", 15],
922
+ ["GET", "/api/v2/MT4/{tradePlatform}/ChartRequest/{symbol}", 30],
923
+ ["POST", "/api/v2/MT4/{tradePlatform}/ChartUpdate/{symbol}", 15],
924
+ ["GET", "/api/v2/MT4/{tradePlatform}/DailyReportsRequest", 30],
925
+ ["GET", "/api/v2/MT4/{tradePlatform}/DailyReportsRequestEx", 30],
926
+ ["POST", "/api/v2/MT4/{tradePlatform}/DailySyncRead", 30],
927
+ ["POST", "/api/v2/MT4/{tradePlatform}/DailySyncStart", 60],
928
+ ["GET", "/api/v2/MT4/{tradePlatform}/EnsureGroupNameExist/{group}", 10],
929
+ ["POST", "/api/v2/MT4/{tradePlatform}/ExternalCommandBinary", 60],
930
+ ["POST", "/api/v2/MT4/{tradePlatform}/ExternalCommandJSON", 60],
931
+ ["PATCH", "/api/v2/MT4/{tradePlatform}/GroupRecord/{group}", 15],
932
+ ["GET", "/api/v2/MT4/{tradePlatform}/GroupRecordGet/{group}", 10],
933
+ ["POST", "/api/v2/MT4/{tradePlatform}/GroupRecordUpdate/{group}", 15],
934
+ ["GET", "/api/v2/MT4/{tradePlatform}/GroupSecGroupsGet/{group}", 10],
935
+ ["GET", "/api/v2/MT4/{tradePlatform}/GroupSecMarginsGet/{group}", 10],
936
+ ["GET", "/api/v2/MT4/{tradePlatform}/GroupsGet", 10],
937
+ ["GET", "/api/v2/MT4/{tradePlatform}/GroupsRequest", 10],
938
+ ["POST", "/api/v2/MT4/{tradePlatform}/HistoryCorrect/{symbol}", 60],
939
+ ["GET", "/api/v2/MT4/{tradePlatform}/JournalRequest", 30],
940
+ ["GET", "/api/v2/MT4/{tradePlatform}/LicenseCheck/{licenseName}", 10],
941
+ ["GET", "/api/v2/MT4/{tradePlatform}/MailLast", 10],
942
+ ["POST", "/api/v2/MT4/{tradePlatform}/MailSend", 15],
943
+ ["GET", "/api/v2/MT4/{tradePlatform}/MailsRequest", 30],
944
+ ["GET", "/api/v2/MT4/{tradePlatform}/ManagerCommon", 10],
945
+ ["GET", "/api/v2/MT4/{tradePlatform}/MarginLevelGet/{login}", 10],
946
+ ["GET", "/api/v2/MT4/{tradePlatform}/MarginLevelRequest/{login}", 10],
947
+ ["GET", "/api/v2/MT4/{tradePlatform}/MarginsGet", 10],
948
+ ["GET", "/api/v2/MT4/{tradePlatform}/NewsBodyGet/{key}", 10],
949
+ ["POST", "/api/v2/MT4/{tradePlatform}/NewsBodyRequest/{key}", 15],
950
+ ["GET", "/api/v2/MT4/{tradePlatform}/NewsGet", 10],
951
+ ["POST", "/api/v2/MT4/{tradePlatform}/NewsSend", 15],
952
+ ["GET", "/api/v2/MT4/{tradePlatform}/NewsTopicGet/{pos}", 10],
953
+ ["GET", "/api/v2/MT4/{tradePlatform}/NewsTotal", 10],
954
+ ["POST", "/api/v2/MT4/{tradePlatform}/NotificationsSend", 15],
955
+ ["GET", "/api/v2/MT4/{tradePlatform}/OnlineGet", 10],
956
+ ["GET", "/api/v2/MT4/{tradePlatform}/OnlineRequest", 10],
957
+ ["GET", "/api/v2/MT4/{tradePlatform}/PerformanceRequest", 30],
958
+ ["GET", "/api/v2/MT4/{tradePlatform}/PluginParamGet/{pos}", 10],
959
+ ["GET", "/api/v2/MT4/{tradePlatform}/PluginsGet", 10],
960
+ ["POST", "/api/v2/MT4/{tradePlatform}/PluginUpdate", 15],
961
+ ["GET", "/api/v2/MT4/{tradePlatform}/ReportsRequest", 30],
962
+ ["GET", "/api/v2/MT4/{tradePlatform}/ServerTime", 10],
963
+ ["POST", "/api/v2/MT4/{tradePlatform}/SrvChartsSync", 60],
964
+ ["GET", "/api/v2/MT4/{tradePlatform}/SrvFeederLog/{name}", 30],
965
+ ["GET", "/api/v2/MT4/{tradePlatform}/SrvFeeders", 10],
966
+ ["POST", "/api/v2/MT4/{tradePlatform}/SrvFeedsRestart", 60],
967
+ ["POST", "/api/v2/MT4/{tradePlatform}/SrvLiveUpdateStart", 60],
968
+ ["POST", "/api/v2/MT4/{tradePlatform}/SrvRestart", 60],
969
+ ["POST", "/api/v2/MT4/{tradePlatform}/SymbolAdd/{symbol}", 15],
970
+ ["POST", "/api/v2/MT4/{tradePlatform}/SymbolChange", 15],
971
+ ["PATCH", "/api/v2/MT4/{tradePlatform}/SymbolConfig/{symbol}", 15],
972
+ ["POST", "/api/v2/MT4/{tradePlatform}/SymbolHide/{symbol}", 15],
973
+ ["GET", "/api/v2/MT4/{tradePlatform}/SymbolInfoGet", 10],
974
+ ["GET", "/api/v2/MT4/{tradePlatform}/SymbolInfoUpdated", 10],
975
+ ["POST", "/api/v2/MT4/{tradePlatform}/SymbolSendTick", 15],
976
+ ["GET", "/api/v2/MT4/{tradePlatform}/SymbolSessionsGet/{symbol}", 10],
977
+ ["GET", "/api/v2/MT4/{tradePlatform}/SymbolsGroupsGet", 10],
978
+ ["POST", "/api/v2/MT4/{tradePlatform}/SymbolsRefresh", 60],
979
+ ["GET", "/api/v2/MT4/{tradePlatform}/TickInfoLast", 10],
980
+ ["GET", "/api/v2/MT4/{tradePlatform}/TickInfoLast/{symbol}", 10],
981
+ ["GET", "/api/v2/MT4/{tradePlatform}/TicksRequest/{symbol}", 30],
982
+ ["POST", "/api/v2/MT4/{tradePlatform}/TradeCheckStops", 5],
983
+ ["POST", "/api/v2/MT4/{tradePlatform}/TradeClearRollback/{order}", 5],
984
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradeRecordGet/{order}", 10],
985
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradeRecordRequest/{order}", 10],
986
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradeRecordsRequest", 10],
987
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradesGet", 10],
988
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradesGet/{ticket}", 10],
989
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradesGetByLogin/{login}/{group}", 10],
990
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradesGetByMarket", 10],
991
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradesGetBySymbol", 10],
992
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradesRequest", 10],
993
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradesSnapshot", 30],
994
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradesSyncRead", 30],
995
+ ["POST", "/api/v2/MT4/{tradePlatform}/TradesSyncStart", 60],
996
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradesUserHistory/{login}", 30],
997
+ ["POST", "/api/v2/MT4/{tradePlatform}/TradeTransaction", 5],
998
+ ["POST", "/api/v2/MT4/{tradePlatform}/UserPasswordCheck/{login}", 15],
999
+ ["POST", "/api/v2/MT4/{tradePlatform}/UserPasswordSet/{login}", 15],
1000
+ ["PATCH", "/api/v2/MT4/{tradePlatform}/UserRecord/{login}", 15],
1001
+ ["GET", "/api/v2/MT4/{tradePlatform}/UserRecordGet/{login}", 10],
1002
+ ["POST", "/api/v2/MT4/{tradePlatform}/UserRecordNew", 15],
1003
+ ["GET", "/api/v2/MT4/{tradePlatform}/UserRecordRequest/{login}", 10],
1004
+ ["GET", "/api/v2/MT4/{tradePlatform}/UserRecordsRequest", 10],
1005
+ ["POST", "/api/v2/MT4/{tradePlatform}/UserRecordUpdate/{login}", 15],
1006
+ ["POST", "/api/v2/MT4/{tradePlatform}/UsersGroupOp", 60],
1007
+ ["GET", "/api/v2/MT4/{tradePlatform}/UsersRequest", 10],
1008
+ ["GET", "/api/v2/MT4/{tradePlatform}/UsersSnapshot", 30],
1009
+ ["GET", "/api/v2/MT4/{tradePlatform}/UsersSyncRead", 30],
1010
+ ["POST", "/api/v2/MT4/{tradePlatform}/UsersSyncStart", 60],
1011
+ ["GET", "/api/v2/MT5/{tradePlatform}/DealByGroup/{mask}", 30],
1012
+ ["GET", "/api/v2/MT5/{tradePlatform}/GroupGet/{group}", 10],
1013
+ ["PATCH", "/api/v2/MT5/{tradePlatform}/GroupRecord/{group}", 15],
1014
+ ["GET", "/api/v2/MT5/{tradePlatform}/ManagerCurrent", 10],
1015
+ ["GET", "/api/v2/MT5/{tradePlatform}/OrderByGroup/{mask}", 10],
1016
+ ["GET", "/api/v2/MT5/{tradePlatform}/PositionByGroup/{mask}", 10],
1017
+ ["GET", "/api/v2/MT5/{tradePlatform}/ServerTime", 10],
1018
+ ["GET", "/api/v2/MT5/{tradePlatform}/SymbolGet/{symbol}", 10],
1019
+ ["PATCH", "/api/v2/MT5/{tradePlatform}/SymbolRecord/{symbol}", 15],
1020
+ ["GET", "/api/v2/MT5/{tradePlatform}/TimeGet", 10],
1021
+ ["GET", "/api/v2/MT5/{tradePlatform}/UserGet/{login}", 10],
1022
+ ["PATCH", "/api/v2/MT5/{tradePlatform}/UserRecord/{login}", 15]
1023
+ ];
1024
+
1025
+ // src/request-timeout.ts
1026
+ var REQUEST_TIMEOUT_HEADER = "X-Request-Timeout";
1027
+ var REQUEST_TIMEOUT_QUERY = "requestTimeout";
1028
+ var REQUEST_TIMEOUT_APPLIED_HEADER = "X-Request-Timeout-Applied";
1029
+ var REQUEST_OUTCOME_HEADER = "X-Request-Outcome";
1030
+ var SERVER_ANSWER_MARGIN_MS = 30000;
1031
+ function validateRequestTimeout(seconds, name = "requestTimeout") {
1032
+ if (typeof seconds !== "number" || !Number.isFinite(seconds) || seconds < REQUEST_TIMEOUT_MIN_SECONDS || seconds > REQUEST_TIMEOUT_MAX_SECONDS) {
1033
+ throw new TypeError(`${name} must be a number of seconds from ${REQUEST_TIMEOUT_MIN_SECONDS} to ${REQUEST_TIMEOUT_MAX_SECONDS}`);
1034
+ }
1035
+ return seconds;
1036
+ }
1037
+ var ROUTES = new Map;
1038
+ for (const [method, path, seconds] of OPERATION_TIMEOUTS) {
1039
+ const segments = path.split("/").filter(Boolean).map((s) => s.startsWith("{") ? null : s.toLowerCase());
1040
+ const list = ROUTES.get(method) ?? [];
1041
+ list.push({ segments, staticCount: segments.filter((s) => s !== null).length, seconds });
1042
+ ROUTES.set(method, list);
1043
+ }
1044
+ function operationDefaultTimeout(method, pathname) {
1045
+ const candidates = ROUTES.get(method.toUpperCase());
1046
+ if (!candidates)
1047
+ return;
1048
+ const segments = pathname.split("/").filter(Boolean).map((s) => s.toLowerCase());
1049
+ let best;
1050
+ for (const route of candidates) {
1051
+ if (route.segments.length !== segments.length)
1052
+ continue;
1053
+ if (!route.segments.every((s, i) => s === null || s === segments[i]))
1054
+ continue;
1055
+ if (!best || route.staticCount > best.staticCount)
1056
+ best = route;
1057
+ }
1058
+ return best?.seconds;
1059
+ }
1060
+ function parseSeconds(value) {
1061
+ if (value == null || value.trim() === "")
1062
+ return;
1063
+ const seconds = Number(value.trim());
1064
+ return Number.isFinite(seconds) && seconds > 0 ? seconds : undefined;
1065
+ }
1066
+ function planRequestTimeout(args) {
1067
+ const { method, url, headers, perCall, clientDefault, timeoutMs } = args;
1068
+ const operationDefault = operationDefaultTimeout(method, url.pathname);
1069
+ let send;
1070
+ let serverSeconds;
1071
+ if (perCall !== undefined) {
1072
+ send = validateRequestTimeout(perCall);
1073
+ serverSeconds = send;
1074
+ } else {
1075
+ const manualHeader = Object.entries(headers).find(([k]) => k.toLowerCase() === REQUEST_TIMEOUT_HEADER.toLowerCase());
1076
+ const manual = manualHeader ? parseSeconds(manualHeader[1]) : parseSeconds(url.searchParams.get(REQUEST_TIMEOUT_QUERY));
1077
+ if (manualHeader || url.searchParams.has(REQUEST_TIMEOUT_QUERY)) {
1078
+ serverSeconds = manual;
1079
+ } else if (clientDefault !== undefined && operationDefault !== undefined) {
1080
+ send = clientDefault;
1081
+ serverSeconds = clientDefault;
1082
+ }
1083
+ }
1084
+ serverSeconds ??= operationDefault;
1085
+ const deadlineMs = serverSeconds === undefined ? timeoutMs : Math.max(timeoutMs, Math.ceil(serverSeconds * 1000) + SERVER_ANSWER_MARGIN_MS);
1086
+ return { send, deadlineMs };
1087
+ }
1088
+ function setTimeoutHeader(headers, seconds) {
1089
+ for (const key of Object.keys(headers)) {
1090
+ if (key.toLowerCase() === REQUEST_TIMEOUT_HEADER.toLowerCase())
1091
+ delete headers[key];
1092
+ }
1093
+ headers[REQUEST_TIMEOUT_HEADER] = String(seconds);
1094
+ }
826
1095
 
827
1096
  // src/mutator.ts
828
1097
  async function authenticatedFetch(ctx, url, options, consume) {
829
- return withDeadline(ctx.timeoutMs, options.signal, async (signal) => {
830
- const fullUrl = new URL(url, ctx.apiBaseUrl).toString();
831
- const requestOptions = { ...options };
832
- delete requestOptions[requestContext];
833
- const headerObj = {};
834
- if (options.headers) {
835
- if (options.headers instanceof Headers) {
836
- options.headers.forEach((value, key) => {
837
- headerObj[key] = value;
838
- });
839
- } else if (Array.isArray(options.headers)) {
840
- for (const [key, value] of options.headers)
841
- headerObj[key] = value;
842
- } else {
843
- Object.assign(headerObj, options.headers);
844
- }
1098
+ const fullUrl = new URL(url, ctx.apiBaseUrl);
1099
+ const { requestTimeout, ...fetchOptions } = options;
1100
+ const requestOptions = fetchOptions;
1101
+ delete requestOptions[requestContext];
1102
+ const headerObj = {};
1103
+ if (options.headers) {
1104
+ if (options.headers instanceof Headers) {
1105
+ options.headers.forEach((value, key) => {
1106
+ headerObj[key] = value;
1107
+ });
1108
+ } else if (Array.isArray(options.headers)) {
1109
+ for (const [key, value] of options.headers)
1110
+ headerObj[key] = value;
1111
+ } else {
1112
+ Object.assign(headerObj, options.headers);
845
1113
  }
846
- const method = (options.method ?? "GET").toUpperCase();
1114
+ }
1115
+ const method = (options.method ?? "GET").toUpperCase();
1116
+ const plan = planRequestTimeout({
1117
+ method,
1118
+ url: fullUrl,
1119
+ headers: headerObj,
1120
+ perCall: requestTimeout,
1121
+ clientDefault: ctx.requestTimeout,
1122
+ timeoutMs: ctx.timeoutMs
1123
+ });
1124
+ if (plan.send !== undefined)
1125
+ setTimeoutHeader(headerObj, plan.send);
1126
+ return withDeadline(plan.deadlineMs, options.signal, async (signal) => {
847
1127
  const isIdempotent = method === "GET" || method === "HEAD" || method === "OPTIONS" || method === "PUT" || method === "DELETE";
848
1128
  const doFetch = async (forceRefresh) => {
849
1129
  const token = await ctx.tokenProvider.getToken({
850
1130
  ...forceRefresh ? { forceRefresh: true } : {},
851
1131
  signal
852
1132
  });
853
- return ctx.fetchImpl(fullUrl, {
1133
+ return ctx.fetchImpl(fullUrl.toString(), {
854
1134
  ...requestOptions,
855
1135
  method,
856
1136
  headers: {
@@ -873,26 +1153,34 @@ async function authenticatedFetch(ctx, url, options, consume) {
873
1153
  }
874
1154
  async function customFetch(url, options) {
875
1155
  const ctx = contextFromOptions(options);
876
- return authenticatedFetch(ctx, url, options, async (response, signal) => {
1156
+ return authenticatedFetch(ctx, url, options, async (response) => {
1157
+ const details = errorDetails(response);
877
1158
  if (!response.ok) {
878
1159
  const text = await response.text();
879
1160
  try {
880
1161
  const env = JSON.parse(text);
881
1162
  if (env.error != null)
882
- throw new ApiError(env.error, env.meta, response.status);
883
- throw new ApiError({ code: codeForHttpStatus(response.status), message: "HTTP " + response.status }, env.meta ?? null, response.status);
1163
+ throw new ApiError(env.error, env.meta, response.status, details);
1164
+ throw new ApiError({ code: codeForHttpStatus(response.status), message: "HTTP " + response.status }, env.meta ?? null, response.status, details);
884
1165
  } catch (error) {
885
1166
  if (error instanceof ApiError)
886
1167
  throw error;
887
- throw new ApiError({ code: codeForHttpStatus(response.status), message: "HTTP " + response.status }, null, response.status);
1168
+ throw new ApiError({ code: codeForHttpStatus(response.status), message: "HTTP " + response.status }, null, response.status, details);
888
1169
  }
889
1170
  }
890
1171
  const envelope = await response.json();
891
1172
  if (envelope.error != null)
892
- throw new ApiError(envelope.error, envelope.meta, response.status);
1173
+ throw new ApiError(envelope.error, envelope.meta, response.status, details);
893
1174
  return attachResponseMeta(envelope.data, envelope.meta);
894
1175
  });
895
1176
  }
1177
+ function errorDetails(response) {
1178
+ const applied = Number(response.headers.get(REQUEST_TIMEOUT_APPLIED_HEADER) ?? Number.NaN);
1179
+ return {
1180
+ outcome: parseRequestOutcome(response.headers.get(REQUEST_OUTCOME_HEADER)),
1181
+ appliedTimeout: Number.isFinite(applied) ? applied : undefined
1182
+ };
1183
+ }
896
1184
  function attachResponseMeta(data, meta) {
897
1185
  if (data !== null && (typeof data === "object" || typeof data === "function")) {
898
1186
  Object.defineProperty(data, responseMeta, { value: meta ?? null, enumerable: false, configurable: true });
@@ -918,10 +1206,25 @@ var getPostUserPasswordCheckLoginUrl = (tradePlatform, login) => {
918
1206
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/UserPasswordCheck/${encodeURIComponent(String(login))}`;
919
1207
  };
920
1208
  var postUserPasswordCheckLogin = async (tradePlatform, login, postUserPasswordCheckLoginBody, options) => {
1209
+ const getHeaders = (h) => {
1210
+ if (!h)
1211
+ return {};
1212
+ if (h instanceof Headers)
1213
+ return Object.fromEntries(h.entries());
1214
+ if (Symbol.iterator in h) {
1215
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1216
+ }
1217
+ const headers = {};
1218
+ for (const [name, value] of Object.entries(h)) {
1219
+ if (value !== undefined)
1220
+ headers[name] = value;
1221
+ }
1222
+ return headers;
1223
+ };
921
1224
  return customFetch(getPostUserPasswordCheckLoginUrl(tradePlatform, login), {
922
1225
  ...options,
923
1226
  method: "POST",
924
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1227
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
925
1228
  body: JSON.stringify(postUserPasswordCheckLoginBody)
926
1229
  });
927
1230
  };
@@ -936,10 +1239,25 @@ var getPostUserPasswordSetLoginUrl = (tradePlatform, login, params) => {
936
1239
  return stringifiedParams.length > 0 ? `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/UserPasswordSet/${encodeURIComponent(String(login))}?${stringifiedParams}` : `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/UserPasswordSet/${encodeURIComponent(String(login))}`;
937
1240
  };
938
1241
  var postUserPasswordSetLogin = async (tradePlatform, login, postUserPasswordSetLoginBody, params, options) => {
1242
+ const getHeaders = (h) => {
1243
+ if (!h)
1244
+ return {};
1245
+ if (h instanceof Headers)
1246
+ return Object.fromEntries(h.entries());
1247
+ if (Symbol.iterator in h) {
1248
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1249
+ }
1250
+ const headers = {};
1251
+ for (const [name, value] of Object.entries(h)) {
1252
+ if (value !== undefined)
1253
+ headers[name] = value;
1254
+ }
1255
+ return headers;
1256
+ };
939
1257
  return customFetch(getPostUserPasswordSetLoginUrl(tradePlatform, login, params), {
940
1258
  ...options,
941
1259
  method: "POST",
942
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1260
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
943
1261
  body: JSON.stringify(postUserPasswordSetLoginBody)
944
1262
  });
945
1263
  };
@@ -963,10 +1281,25 @@ var getPostBackupRestoreUsersUrl = (tradePlatform, params) => {
963
1281
  return stringifiedParams.length > 0 ? `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/BackupRestoreUsers?${stringifiedParams}` : `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/BackupRestoreUsers`;
964
1282
  };
965
1283
  var postBackupRestoreUsers = async (tradePlatform, mT4UserRestoreInput, params, options) => {
1284
+ const getHeaders = (h) => {
1285
+ if (!h)
1286
+ return {};
1287
+ if (h instanceof Headers)
1288
+ return Object.fromEntries(h.entries());
1289
+ if (Symbol.iterator in h) {
1290
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1291
+ }
1292
+ const headers = {};
1293
+ for (const [name, value] of Object.entries(h)) {
1294
+ if (value !== undefined)
1295
+ headers[name] = value;
1296
+ }
1297
+ return headers;
1298
+ };
966
1299
  return customFetch(getPostBackupRestoreUsersUrl(tradePlatform, params), {
967
1300
  ...options,
968
1301
  method: "POST",
969
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1302
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
970
1303
  body: JSON.stringify(mT4UserRestoreInput)
971
1304
  });
972
1305
  };
@@ -981,10 +1314,25 @@ var getPostBackupRestoreOrdersUrl = (tradePlatform, params) => {
981
1314
  return stringifiedParams.length > 0 ? `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/BackupRestoreOrders?${stringifiedParams}` : `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/BackupRestoreOrders`;
982
1315
  };
983
1316
  var postBackupRestoreOrders = async (tradePlatform, mT4TradeRestoreInput, params, options) => {
1317
+ const getHeaders = (h) => {
1318
+ if (!h)
1319
+ return {};
1320
+ if (h instanceof Headers)
1321
+ return Object.fromEntries(h.entries());
1322
+ if (Symbol.iterator in h) {
1323
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1324
+ }
1325
+ const headers = {};
1326
+ for (const [name, value] of Object.entries(h)) {
1327
+ if (value !== undefined)
1328
+ headers[name] = value;
1329
+ }
1330
+ return headers;
1331
+ };
984
1332
  return customFetch(getPostBackupRestoreOrdersUrl(tradePlatform, params), {
985
1333
  ...options,
986
1334
  method: "POST",
987
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1335
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
988
1336
  body: JSON.stringify(mT4TradeRestoreInput)
989
1337
  });
990
1338
  };
@@ -1216,10 +1564,25 @@ var getPostCfgUpdateCommonUrl = (tradePlatform) => {
1216
1564
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateCommon`;
1217
1565
  };
1218
1566
  var postCfgUpdateCommon = async (tradePlatform, mT4CommonUpdate, options) => {
1567
+ const getHeaders = (h) => {
1568
+ if (!h)
1569
+ return {};
1570
+ if (h instanceof Headers)
1571
+ return Object.fromEntries(h.entries());
1572
+ if (Symbol.iterator in h) {
1573
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1574
+ }
1575
+ const headers = {};
1576
+ for (const [name, value] of Object.entries(h)) {
1577
+ if (value !== undefined)
1578
+ headers[name] = value;
1579
+ }
1580
+ return headers;
1581
+ };
1219
1582
  return customFetch(getPostCfgUpdateCommonUrl(tradePlatform), {
1220
1583
  ...options,
1221
1584
  method: "POST",
1222
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1585
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1223
1586
  body: JSON.stringify(mT4CommonUpdate)
1224
1587
  });
1225
1588
  };
@@ -1268,10 +1631,25 @@ var getPostCfgUpdateTimeUrl = (tradePlatform) => {
1268
1631
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateTime`;
1269
1632
  };
1270
1633
  var postCfgUpdateTime = async (tradePlatform, mT4ServerTime, options) => {
1634
+ const getHeaders = (h) => {
1635
+ if (!h)
1636
+ return {};
1637
+ if (h instanceof Headers)
1638
+ return Object.fromEntries(h.entries());
1639
+ if (Symbol.iterator in h) {
1640
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1641
+ }
1642
+ const headers = {};
1643
+ for (const [name, value] of Object.entries(h)) {
1644
+ if (value !== undefined)
1645
+ headers[name] = value;
1646
+ }
1647
+ return headers;
1648
+ };
1271
1649
  return customFetch(getPostCfgUpdateTimeUrl(tradePlatform), {
1272
1650
  ...options,
1273
1651
  method: "POST",
1274
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1652
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1275
1653
  body: JSON.stringify(mT4ServerTime)
1276
1654
  });
1277
1655
  };
@@ -1304,10 +1682,25 @@ var getPostCfgUpdateBackupUrl = (tradePlatform) => {
1304
1682
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateBackup`;
1305
1683
  };
1306
1684
  var postCfgUpdateBackup = async (tradePlatform, mT4Backup, options) => {
1685
+ const getHeaders = (h) => {
1686
+ if (!h)
1687
+ return {};
1688
+ if (h instanceof Headers)
1689
+ return Object.fromEntries(h.entries());
1690
+ if (Symbol.iterator in h) {
1691
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1692
+ }
1693
+ const headers = {};
1694
+ for (const [name, value] of Object.entries(h)) {
1695
+ if (value !== undefined)
1696
+ headers[name] = value;
1697
+ }
1698
+ return headers;
1699
+ };
1307
1700
  return customFetch(getPostCfgUpdateBackupUrl(tradePlatform), {
1308
1701
  ...options,
1309
1702
  method: "POST",
1310
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1703
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1311
1704
  body: JSON.stringify(mT4Backup)
1312
1705
  });
1313
1706
  };
@@ -1315,10 +1708,25 @@ var getPostCfgUpdateSyncUrl = (tradePlatform) => {
1315
1708
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateSync`;
1316
1709
  };
1317
1710
  var postCfgUpdateSync = async (tradePlatform, mT4Sync, options) => {
1711
+ const getHeaders = (h) => {
1712
+ if (!h)
1713
+ return {};
1714
+ if (h instanceof Headers)
1715
+ return Object.fromEntries(h.entries());
1716
+ if (Symbol.iterator in h) {
1717
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1718
+ }
1719
+ const headers = {};
1720
+ for (const [name, value] of Object.entries(h)) {
1721
+ if (value !== undefined)
1722
+ headers[name] = value;
1723
+ }
1724
+ return headers;
1725
+ };
1318
1726
  return customFetch(getPostCfgUpdateSyncUrl(tradePlatform), {
1319
1727
  ...options,
1320
1728
  method: "POST",
1321
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1729
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1322
1730
  body: JSON.stringify(mT4Sync)
1323
1731
  });
1324
1732
  };
@@ -1326,10 +1734,25 @@ var getPostCfgUpdateFeederUrl = (tradePlatform) => {
1326
1734
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateFeeder`;
1327
1735
  };
1328
1736
  var postCfgUpdateFeeder = async (tradePlatform, mT4Feeder, options) => {
1737
+ const getHeaders = (h) => {
1738
+ if (!h)
1739
+ return {};
1740
+ if (h instanceof Headers)
1741
+ return Object.fromEntries(h.entries());
1742
+ if (Symbol.iterator in h) {
1743
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1744
+ }
1745
+ const headers = {};
1746
+ for (const [name, value] of Object.entries(h)) {
1747
+ if (value !== undefined)
1748
+ headers[name] = value;
1749
+ }
1750
+ return headers;
1751
+ };
1329
1752
  return customFetch(getPostCfgUpdateFeederUrl(tradePlatform), {
1330
1753
  ...options,
1331
1754
  method: "POST",
1332
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1755
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1333
1756
  body: JSON.stringify(mT4Feeder)
1334
1757
  });
1335
1758
  };
@@ -1337,10 +1760,25 @@ var getPostCfgUpdateGatewayAccountUrl = (tradePlatform) => {
1337
1760
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateGatewayAccount`;
1338
1761
  };
1339
1762
  var postCfgUpdateGatewayAccount = async (tradePlatform, mT4GatewayAccount, options) => {
1763
+ const getHeaders = (h) => {
1764
+ if (!h)
1765
+ return {};
1766
+ if (h instanceof Headers)
1767
+ return Object.fromEntries(h.entries());
1768
+ if (Symbol.iterator in h) {
1769
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1770
+ }
1771
+ const headers = {};
1772
+ for (const [name, value] of Object.entries(h)) {
1773
+ if (value !== undefined)
1774
+ headers[name] = value;
1775
+ }
1776
+ return headers;
1777
+ };
1340
1778
  return customFetch(getPostCfgUpdateGatewayAccountUrl(tradePlatform), {
1341
1779
  ...options,
1342
1780
  method: "POST",
1343
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1781
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1344
1782
  body: JSON.stringify(mT4GatewayAccount)
1345
1783
  });
1346
1784
  };
@@ -1348,10 +1786,25 @@ var getPostCfgUpdateGatewayMarkupUrl = (tradePlatform) => {
1348
1786
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateGatewayMarkup`;
1349
1787
  };
1350
1788
  var postCfgUpdateGatewayMarkup = async (tradePlatform, mT4GatewayMarkup, options) => {
1789
+ const getHeaders = (h) => {
1790
+ if (!h)
1791
+ return {};
1792
+ if (h instanceof Headers)
1793
+ return Object.fromEntries(h.entries());
1794
+ if (Symbol.iterator in h) {
1795
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1796
+ }
1797
+ const headers = {};
1798
+ for (const [name, value] of Object.entries(h)) {
1799
+ if (value !== undefined)
1800
+ headers[name] = value;
1801
+ }
1802
+ return headers;
1803
+ };
1351
1804
  return customFetch(getPostCfgUpdateGatewayMarkupUrl(tradePlatform), {
1352
1805
  ...options,
1353
1806
  method: "POST",
1354
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1807
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1355
1808
  body: JSON.stringify(mT4GatewayMarkup)
1356
1809
  });
1357
1810
  };
@@ -1359,10 +1812,25 @@ var getPostCfgUpdateGatewayRuleUrl = (tradePlatform) => {
1359
1812
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateGatewayRule`;
1360
1813
  };
1361
1814
  var postCfgUpdateGatewayRule = async (tradePlatform, mT4GatewayRule, options) => {
1815
+ const getHeaders = (h) => {
1816
+ if (!h)
1817
+ return {};
1818
+ if (h instanceof Headers)
1819
+ return Object.fromEntries(h.entries());
1820
+ if (Symbol.iterator in h) {
1821
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1822
+ }
1823
+ const headers = {};
1824
+ for (const [name, value] of Object.entries(h)) {
1825
+ if (value !== undefined)
1826
+ headers[name] = value;
1827
+ }
1828
+ return headers;
1829
+ };
1362
1830
  return customFetch(getPostCfgUpdateGatewayRuleUrl(tradePlatform), {
1363
1831
  ...options,
1364
1832
  method: "POST",
1365
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1833
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1366
1834
  body: JSON.stringify(mT4GatewayRule)
1367
1835
  });
1368
1836
  };
@@ -1370,10 +1838,25 @@ var getPostCfgUpdateLiveUpdateUrl = (tradePlatform) => {
1370
1838
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateLiveUpdate`;
1371
1839
  };
1372
1840
  var postCfgUpdateLiveUpdate = async (tradePlatform, mT4LiveUpdate, options) => {
1841
+ const getHeaders = (h) => {
1842
+ if (!h)
1843
+ return {};
1844
+ if (h instanceof Headers)
1845
+ return Object.fromEntries(h.entries());
1846
+ if (Symbol.iterator in h) {
1847
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1848
+ }
1849
+ const headers = {};
1850
+ for (const [name, value] of Object.entries(h)) {
1851
+ if (value !== undefined)
1852
+ headers[name] = value;
1853
+ }
1854
+ return headers;
1855
+ };
1373
1856
  return customFetch(getPostCfgUpdateLiveUpdateUrl(tradePlatform), {
1374
1857
  ...options,
1375
1858
  method: "POST",
1376
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1859
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1377
1860
  body: JSON.stringify(mT4LiveUpdate)
1378
1861
  });
1379
1862
  };
@@ -1381,10 +1864,25 @@ var getPostCfgUpdateManagerUrl = (tradePlatform) => {
1381
1864
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateManager`;
1382
1865
  };
1383
1866
  var postCfgUpdateManager = async (tradePlatform, mT4ManagerRights, options) => {
1867
+ const getHeaders = (h) => {
1868
+ if (!h)
1869
+ return {};
1870
+ if (h instanceof Headers)
1871
+ return Object.fromEntries(h.entries());
1872
+ if (Symbol.iterator in h) {
1873
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1874
+ }
1875
+ const headers = {};
1876
+ for (const [name, value] of Object.entries(h)) {
1877
+ if (value !== undefined)
1878
+ headers[name] = value;
1879
+ }
1880
+ return headers;
1881
+ };
1384
1882
  return customFetch(getPostCfgUpdateManagerUrl(tradePlatform), {
1385
1883
  ...options,
1386
1884
  method: "POST",
1387
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1885
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1388
1886
  body: JSON.stringify(mT4ManagerRights)
1389
1887
  });
1390
1888
  };
@@ -1392,10 +1890,25 @@ var getPostCfgUpdateAccessPosUrl = (tradePlatform, pos) => {
1392
1890
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateAccess/${encodeURIComponent(String(pos))}`;
1393
1891
  };
1394
1892
  var postCfgUpdateAccessPos = async (tradePlatform, pos, mT4Access, options) => {
1893
+ const getHeaders = (h) => {
1894
+ if (!h)
1895
+ return {};
1896
+ if (h instanceof Headers)
1897
+ return Object.fromEntries(h.entries());
1898
+ if (Symbol.iterator in h) {
1899
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1900
+ }
1901
+ const headers = {};
1902
+ for (const [name, value] of Object.entries(h)) {
1903
+ if (value !== undefined)
1904
+ headers[name] = value;
1905
+ }
1906
+ return headers;
1907
+ };
1395
1908
  return customFetch(getPostCfgUpdateAccessPosUrl(tradePlatform, pos), {
1396
1909
  ...options,
1397
1910
  method: "POST",
1398
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1911
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1399
1912
  body: JSON.stringify(mT4Access)
1400
1913
  });
1401
1914
  };
@@ -1403,10 +1916,25 @@ var getPostCfgUpdateDataServerPosUrl = (tradePlatform, pos) => {
1403
1916
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateDataServer/${encodeURIComponent(String(pos))}`;
1404
1917
  };
1405
1918
  var postCfgUpdateDataServerPos = async (tradePlatform, pos, mT4DataServer, options) => {
1919
+ const getHeaders = (h) => {
1920
+ if (!h)
1921
+ return {};
1922
+ if (h instanceof Headers)
1923
+ return Object.fromEntries(h.entries());
1924
+ if (Symbol.iterator in h) {
1925
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1926
+ }
1927
+ const headers = {};
1928
+ for (const [name, value] of Object.entries(h)) {
1929
+ if (value !== undefined)
1930
+ headers[name] = value;
1931
+ }
1932
+ return headers;
1933
+ };
1406
1934
  return customFetch(getPostCfgUpdateDataServerPosUrl(tradePlatform, pos), {
1407
1935
  ...options,
1408
1936
  method: "POST",
1409
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1937
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1410
1938
  body: JSON.stringify(mT4DataServer)
1411
1939
  });
1412
1940
  };
@@ -1414,10 +1942,25 @@ var getPostCfgUpdateHolidayPosUrl = (tradePlatform, pos) => {
1414
1942
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateHoliday/${encodeURIComponent(String(pos))}`;
1415
1943
  };
1416
1944
  var postCfgUpdateHolidayPos = async (tradePlatform, pos, mT4Holiday, options) => {
1945
+ const getHeaders = (h) => {
1946
+ if (!h)
1947
+ return {};
1948
+ if (h instanceof Headers)
1949
+ return Object.fromEntries(h.entries());
1950
+ if (Symbol.iterator in h) {
1951
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1952
+ }
1953
+ const headers = {};
1954
+ for (const [name, value] of Object.entries(h)) {
1955
+ if (value !== undefined)
1956
+ headers[name] = value;
1957
+ }
1958
+ return headers;
1959
+ };
1417
1960
  return customFetch(getPostCfgUpdateHolidayPosUrl(tradePlatform, pos), {
1418
1961
  ...options,
1419
1962
  method: "POST",
1420
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1963
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1421
1964
  body: JSON.stringify(mT4Holiday)
1422
1965
  });
1423
1966
  };
@@ -1425,10 +1968,25 @@ var getPostCfgUpdateSymbolGroupPosUrl = (tradePlatform, pos) => {
1425
1968
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateSymbolGroup/${encodeURIComponent(String(pos))}`;
1426
1969
  };
1427
1970
  var postCfgUpdateSymbolGroupPos = async (tradePlatform, pos, mT4SymbolGroup, options) => {
1971
+ const getHeaders = (h) => {
1972
+ if (!h)
1973
+ return {};
1974
+ if (h instanceof Headers)
1975
+ return Object.fromEntries(h.entries());
1976
+ if (Symbol.iterator in h) {
1977
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1978
+ }
1979
+ const headers = {};
1980
+ for (const [name, value] of Object.entries(h)) {
1981
+ if (value !== undefined)
1982
+ headers[name] = value;
1983
+ }
1984
+ return headers;
1985
+ };
1428
1986
  return customFetch(getPostCfgUpdateSymbolGroupPosUrl(tradePlatform, pos), {
1429
1987
  ...options,
1430
1988
  method: "POST",
1431
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1989
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1432
1990
  body: JSON.stringify(mT4SymbolGroup)
1433
1991
  });
1434
1992
  };
@@ -1928,20 +2486,52 @@ var getPostGroupRecordUpdateGroupUrl = (tradePlatform, group) => {
1928
2486
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/GroupRecordUpdate/${encodeURIComponent(String(group))}`;
1929
2487
  };
1930
2488
  var postGroupRecordUpdateGroup = async (tradePlatform, group, mT4GroupUpdate, options) => {
2489
+ const getHeaders = (h) => {
2490
+ if (!h)
2491
+ return {};
2492
+ if (h instanceof Headers)
2493
+ return Object.fromEntries(h.entries());
2494
+ if (Symbol.iterator in h) {
2495
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
2496
+ }
2497
+ const headers = {};
2498
+ for (const [name, value] of Object.entries(h)) {
2499
+ if (value !== undefined)
2500
+ headers[name] = value;
2501
+ }
2502
+ return headers;
2503
+ };
1931
2504
  return customFetch(getPostGroupRecordUpdateGroupUrl(tradePlatform, group), {
1932
2505
  ...options,
1933
2506
  method: "POST",
1934
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
2507
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1935
2508
  body: JSON.stringify(mT4GroupUpdate)
1936
2509
  });
1937
2510
  };
1938
2511
  var getPatchGroupRecordGroupMT4Url = (tradePlatform, group) => {
1939
2512
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/GroupRecord/${encodeURIComponent(String(group))}`;
1940
2513
  };
1941
- var patchGroupRecordGroupMT4 = async (tradePlatform, group, options) => {
2514
+ var patchGroupRecordGroupMT4 = async (tradePlatform, group, patchGroupRecordGroupMT4Body, options) => {
2515
+ const getHeaders = (h) => {
2516
+ if (!h)
2517
+ return {};
2518
+ if (h instanceof Headers)
2519
+ return Object.fromEntries(h.entries());
2520
+ if (Symbol.iterator in h) {
2521
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
2522
+ }
2523
+ const headers = {};
2524
+ for (const [name, value] of Object.entries(h)) {
2525
+ if (value !== undefined)
2526
+ headers[name] = value;
2527
+ }
2528
+ return headers;
2529
+ };
1942
2530
  return customFetch(getPatchGroupRecordGroupMT4Url(tradePlatform, group), {
1943
2531
  ...options,
1944
- method: "PATCH"
2532
+ method: "PATCH",
2533
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
2534
+ body: JSON.stringify(patchGroupRecordGroupMT4Body)
1945
2535
  });
1946
2536
  };
1947
2537
  var getGetEnsureGroupNameExistGroupUrl = (tradePlatform, group) => {
@@ -2141,10 +2731,27 @@ __export(exports_mt4_v2_plugins, {
2141
2731
  var getPostExternalCommandJSONUrl = (tradePlatform) => {
2142
2732
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/ExternalCommandJSON`;
2143
2733
  };
2144
- var postExternalCommandJSON = async (tradePlatform, options) => {
2734
+ var postExternalCommandJSON = async (tradePlatform, postExternalCommandJSONBody, options) => {
2735
+ const getHeaders = (h) => {
2736
+ if (!h)
2737
+ return {};
2738
+ if (h instanceof Headers)
2739
+ return Object.fromEntries(h.entries());
2740
+ if (Symbol.iterator in h) {
2741
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
2742
+ }
2743
+ const headers = {};
2744
+ for (const [name, value] of Object.entries(h)) {
2745
+ if (value !== undefined)
2746
+ headers[name] = value;
2747
+ }
2748
+ return headers;
2749
+ };
2145
2750
  return customFetch(getPostExternalCommandJSONUrl(tradePlatform), {
2146
2751
  ...options,
2147
- method: "POST"
2752
+ method: "POST",
2753
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
2754
+ body: JSON.stringify(postExternalCommandJSONBody)
2148
2755
  });
2149
2756
  };
2150
2757
 
@@ -2195,10 +2802,25 @@ var getPostChartAddSymbolUrl = (tradePlatform, symbol, params) => {
2195
2802
  return stringifiedParams.length > 0 ? `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/ChartAdd/${encodeURIComponent(String(symbol))}?${stringifiedParams}` : `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/ChartAdd/${encodeURIComponent(String(symbol))}`;
2196
2803
  };
2197
2804
  var postChartAddSymbol = async (tradePlatform, symbol, mT4ChartWriteRequest, params, options) => {
2805
+ const getHeaders = (h) => {
2806
+ if (!h)
2807
+ return {};
2808
+ if (h instanceof Headers)
2809
+ return Object.fromEntries(h.entries());
2810
+ if (Symbol.iterator in h) {
2811
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
2812
+ }
2813
+ const headers = {};
2814
+ for (const [name, value] of Object.entries(h)) {
2815
+ if (value !== undefined)
2816
+ headers[name] = value;
2817
+ }
2818
+ return headers;
2819
+ };
2198
2820
  return customFetch(getPostChartAddSymbolUrl(tradePlatform, symbol, params), {
2199
2821
  ...options,
2200
2822
  method: "POST",
2201
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
2823
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
2202
2824
  body: JSON.stringify(mT4ChartWriteRequest)
2203
2825
  });
2204
2826
  };
@@ -2213,10 +2835,25 @@ var getPostChartUpdateSymbolUrl = (tradePlatform, symbol, params) => {
2213
2835
  return stringifiedParams.length > 0 ? `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/ChartUpdate/${encodeURIComponent(String(symbol))}?${stringifiedParams}` : `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/ChartUpdate/${encodeURIComponent(String(symbol))}`;
2214
2836
  };
2215
2837
  var postChartUpdateSymbol = async (tradePlatform, symbol, mT4ChartWriteRequest, params, options) => {
2838
+ const getHeaders = (h) => {
2839
+ if (!h)
2840
+ return {};
2841
+ if (h instanceof Headers)
2842
+ return Object.fromEntries(h.entries());
2843
+ if (Symbol.iterator in h) {
2844
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
2845
+ }
2846
+ const headers = {};
2847
+ for (const [name, value] of Object.entries(h)) {
2848
+ if (value !== undefined)
2849
+ headers[name] = value;
2850
+ }
2851
+ return headers;
2852
+ };
2216
2853
  return customFetch(getPostChartUpdateSymbolUrl(tradePlatform, symbol, params), {
2217
2854
  ...options,
2218
2855
  method: "POST",
2219
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
2856
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
2220
2857
  body: JSON.stringify(mT4ChartWriteRequest)
2221
2858
  });
2222
2859
  };
@@ -2231,10 +2868,25 @@ var getPostChartDeleteSymbolUrl = (tradePlatform, symbol, params) => {
2231
2868
  return stringifiedParams.length > 0 ? `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/ChartDelete/${encodeURIComponent(String(symbol))}?${stringifiedParams}` : `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/ChartDelete/${encodeURIComponent(String(symbol))}`;
2232
2869
  };
2233
2870
  var postChartDeleteSymbol = async (tradePlatform, symbol, mT4ChartWriteRequest, params, options) => {
2871
+ const getHeaders = (h) => {
2872
+ if (!h)
2873
+ return {};
2874
+ if (h instanceof Headers)
2875
+ return Object.fromEntries(h.entries());
2876
+ if (Symbol.iterator in h) {
2877
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
2878
+ }
2879
+ const headers = {};
2880
+ for (const [name, value] of Object.entries(h)) {
2881
+ if (value !== undefined)
2882
+ headers[name] = value;
2883
+ }
2884
+ return headers;
2885
+ };
2234
2886
  return customFetch(getPostChartDeleteSymbolUrl(tradePlatform, symbol, params), {
2235
2887
  ...options,
2236
2888
  method: "POST",
2237
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
2889
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
2238
2890
  body: JSON.stringify(mT4ChartWriteRequest)
2239
2891
  });
2240
2892
  };
@@ -2317,6 +2969,13 @@ var getPerformanceRequest = async (tradePlatform, params, options) => {
2317
2969
  var getGetReportsRequestUrl = (tradePlatform, params) => {
2318
2970
  const normalizedParams = new URLSearchParams;
2319
2971
  Object.entries(params || {}).forEach(([key, value]) => {
2972
+ const explodeParameters = ["logins"];
2973
+ if (Array.isArray(value) && explodeParameters.includes(key)) {
2974
+ value.forEach((v) => {
2975
+ normalizedParams.append(key, v === null ? "null" : String(v));
2976
+ });
2977
+ return;
2978
+ }
2320
2979
  if (value !== undefined) {
2321
2980
  normalizedParams.append(key, value === null ? "null" : String(value));
2322
2981
  }
@@ -2333,6 +2992,13 @@ var getReportsRequest = async (tradePlatform, params, options) => {
2333
2992
  var getGetDailyReportsRequestUrl = (tradePlatform, params) => {
2334
2993
  const normalizedParams = new URLSearchParams;
2335
2994
  Object.entries(params || {}).forEach(([key, value]) => {
2995
+ const explodeParameters = ["logins"];
2996
+ if (Array.isArray(value) && explodeParameters.includes(key)) {
2997
+ value.forEach((v) => {
2998
+ normalizedParams.append(key, v === null ? "null" : String(v));
2999
+ });
3000
+ return;
3001
+ }
2336
3002
  if (value !== undefined) {
2337
3003
  normalizedParams.append(key, value === null ? "null" : String(value));
2338
3004
  }
@@ -2349,6 +3015,13 @@ var getDailyReportsRequest = async (tradePlatform, params, options) => {
2349
3015
  var getGetDailyReportsRequestExUrl = (tradePlatform, params) => {
2350
3016
  const normalizedParams = new URLSearchParams;
2351
3017
  Object.entries(params || {}).forEach(([key, value]) => {
3018
+ const explodeParameters = ["logins"];
3019
+ if (Array.isArray(value) && explodeParameters.includes(key)) {
3020
+ value.forEach((v) => {
3021
+ normalizedParams.append(key, v === null ? "null" : String(v));
3022
+ });
3023
+ return;
3024
+ }
2352
3025
  if (value !== undefined) {
2353
3026
  normalizedParams.append(key, value === null ? "null" : String(value));
2354
3027
  }
@@ -2506,10 +3179,25 @@ var getPostNotificationsSendUrl = (tradePlatform) => {
2506
3179
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/NotificationsSend`;
2507
3180
  };
2508
3181
  var postNotificationsSend = async (tradePlatform, mT4NotificationsSendRequest, options) => {
3182
+ const getHeaders = (h) => {
3183
+ if (!h)
3184
+ return {};
3185
+ if (h instanceof Headers)
3186
+ return Object.fromEntries(h.entries());
3187
+ if (Symbol.iterator in h) {
3188
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3189
+ }
3190
+ const headers = {};
3191
+ for (const [name, value] of Object.entries(h)) {
3192
+ if (value !== undefined)
3193
+ headers[name] = value;
3194
+ }
3195
+ return headers;
3196
+ };
2509
3197
  return customFetch(getPostNotificationsSendUrl(tradePlatform), {
2510
3198
  ...options,
2511
3199
  method: "POST",
2512
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
3200
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
2513
3201
  body: JSON.stringify(mT4NotificationsSendRequest)
2514
3202
  });
2515
3203
  };
@@ -2625,20 +3313,52 @@ var getPostCfgUpdateSymbolSymbolUrl = (tradePlatform, symbol) => {
2625
3313
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateSymbol/${encodeURIComponent(String(symbol))}`;
2626
3314
  };
2627
3315
  var postCfgUpdateSymbolSymbol = async (tradePlatform, symbol, mT4SymbolConfigUpdate, options) => {
3316
+ const getHeaders = (h) => {
3317
+ if (!h)
3318
+ return {};
3319
+ if (h instanceof Headers)
3320
+ return Object.fromEntries(h.entries());
3321
+ if (Symbol.iterator in h) {
3322
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3323
+ }
3324
+ const headers = {};
3325
+ for (const [name, value] of Object.entries(h)) {
3326
+ if (value !== undefined)
3327
+ headers[name] = value;
3328
+ }
3329
+ return headers;
3330
+ };
2628
3331
  return customFetch(getPostCfgUpdateSymbolSymbolUrl(tradePlatform, symbol), {
2629
3332
  ...options,
2630
3333
  method: "POST",
2631
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
3334
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
2632
3335
  body: JSON.stringify(mT4SymbolConfigUpdate)
2633
3336
  });
2634
3337
  };
2635
3338
  var getPatchSymbolConfigSymbolUrl = (tradePlatform, symbol) => {
2636
3339
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/SymbolConfig/${encodeURIComponent(String(symbol))}`;
2637
3340
  };
2638
- var patchSymbolConfigSymbol = async (tradePlatform, symbol, options) => {
3341
+ var patchSymbolConfigSymbol = async (tradePlatform, symbol, patchSymbolConfigSymbolBody, options) => {
3342
+ const getHeaders = (h) => {
3343
+ if (!h)
3344
+ return {};
3345
+ if (h instanceof Headers)
3346
+ return Object.fromEntries(h.entries());
3347
+ if (Symbol.iterator in h) {
3348
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3349
+ }
3350
+ const headers = {};
3351
+ for (const [name, value] of Object.entries(h)) {
3352
+ if (value !== undefined)
3353
+ headers[name] = value;
3354
+ }
3355
+ return headers;
3356
+ };
2639
3357
  return customFetch(getPatchSymbolConfigSymbolUrl(tradePlatform, symbol), {
2640
3358
  ...options,
2641
- method: "PATCH"
3359
+ method: "PATCH",
3360
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
3361
+ body: JSON.stringify(patchSymbolConfigSymbolBody)
2642
3362
  });
2643
3363
  };
2644
3364
  var getPostSymbolAddSymbolUrl = (tradePlatform, symbol) => {
@@ -2672,10 +3392,25 @@ var getPostSymbolChangeUrl = (tradePlatform) => {
2672
3392
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/SymbolChange`;
2673
3393
  };
2674
3394
  var postSymbolChange = async (tradePlatform, mT4SymbolChangeRequest, options) => {
3395
+ const getHeaders = (h) => {
3396
+ if (!h)
3397
+ return {};
3398
+ if (h instanceof Headers)
3399
+ return Object.fromEntries(h.entries());
3400
+ if (Symbol.iterator in h) {
3401
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3402
+ }
3403
+ const headers = {};
3404
+ for (const [name, value] of Object.entries(h)) {
3405
+ if (value !== undefined)
3406
+ headers[name] = value;
3407
+ }
3408
+ return headers;
3409
+ };
2675
3410
  return customFetch(getPostSymbolChangeUrl(tradePlatform), {
2676
3411
  ...options,
2677
3412
  method: "POST",
2678
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
3413
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
2679
3414
  body: JSON.stringify(mT4SymbolChangeRequest)
2680
3415
  });
2681
3416
  };
@@ -2811,10 +3546,25 @@ var getPostTradeCheckStopsUrl = (tradePlatform, params) => {
2811
3546
  return stringifiedParams.length > 0 ? `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/TradeCheckStops?${stringifiedParams}` : `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/TradeCheckStops`;
2812
3547
  };
2813
3548
  var postTradeCheckStops = async (tradePlatform, mT4TradeTransaction, params, options) => {
3549
+ const getHeaders = (h) => {
3550
+ if (!h)
3551
+ return {};
3552
+ if (h instanceof Headers)
3553
+ return Object.fromEntries(h.entries());
3554
+ if (Symbol.iterator in h) {
3555
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3556
+ }
3557
+ const headers = {};
3558
+ for (const [name, value] of Object.entries(h)) {
3559
+ if (value !== undefined)
3560
+ headers[name] = value;
3561
+ }
3562
+ return headers;
3563
+ };
2814
3564
  return customFetch(getPostTradeCheckStopsUrl(tradePlatform, params), {
2815
3565
  ...options,
2816
3566
  method: "POST",
2817
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
3567
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
2818
3568
  body: JSON.stringify(mT4TradeTransaction)
2819
3569
  });
2820
3570
  };
@@ -2856,10 +3606,25 @@ var getPostAdmTradeRecordModifyTicketUrl = (tradePlatform, ticket) => {
2856
3606
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/AdmTradeRecordModify/${encodeURIComponent(String(ticket))}`;
2857
3607
  };
2858
3608
  var postAdmTradeRecordModifyTicket = async (tradePlatform, ticket, mT4TradeUpdate, options) => {
3609
+ const getHeaders = (h) => {
3610
+ if (!h)
3611
+ return {};
3612
+ if (h instanceof Headers)
3613
+ return Object.fromEntries(h.entries());
3614
+ if (Symbol.iterator in h) {
3615
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3616
+ }
3617
+ const headers = {};
3618
+ for (const [name, value] of Object.entries(h)) {
3619
+ if (value !== undefined)
3620
+ headers[name] = value;
3621
+ }
3622
+ return headers;
3623
+ };
2859
3624
  return customFetch(getPostAdmTradeRecordModifyTicketUrl(tradePlatform, ticket), {
2860
3625
  ...options,
2861
3626
  method: "POST",
2862
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
3627
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
2863
3628
  body: JSON.stringify(mT4TradeUpdate)
2864
3629
  });
2865
3630
  };
@@ -2867,18 +3632,37 @@ var getPostTradeTransactionUrl = (tradePlatform) => {
2867
3632
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/TradeTransaction`;
2868
3633
  };
2869
3634
  var postTradeTransaction = async (tradePlatform, mT4TradeTransaction, options) => {
3635
+ const getHeaders = (h) => {
3636
+ if (!h)
3637
+ return {};
3638
+ if (h instanceof Headers)
3639
+ return Object.fromEntries(h.entries());
3640
+ if (Symbol.iterator in h) {
3641
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3642
+ }
3643
+ const headers = {};
3644
+ for (const [name, value] of Object.entries(h)) {
3645
+ if (value !== undefined)
3646
+ headers[name] = value;
3647
+ }
3648
+ return headers;
3649
+ };
2870
3650
  return customFetch(getPostTradeTransactionUrl(tradePlatform), {
2871
3651
  ...options,
2872
3652
  method: "POST",
2873
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
3653
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
2874
3654
  body: JSON.stringify(mT4TradeTransaction)
2875
3655
  });
2876
3656
  };
2877
3657
  var getGetTradeRecordsRequestUrl = (tradePlatform, params) => {
2878
3658
  const normalizedParams = new URLSearchParams;
2879
3659
  Object.entries(params || {}).forEach(([key, value]) => {
2880
- if (value !== undefined) {
2881
- normalizedParams.append(key, value === null ? "null" : String(value));
3660
+ const explodeParameters = ["orders"];
3661
+ if (Array.isArray(value) && explodeParameters.includes(key)) {
3662
+ value.forEach((v) => {
3663
+ normalizedParams.append(key, v === null ? "null" : String(v));
3664
+ });
3665
+ return;
2882
3666
  }
2883
3667
  });
2884
3668
  const stringifiedParams = normalizedParams.toString();
@@ -2909,8 +3693,12 @@ var getAdmTradesRequestGroup = async (tradePlatform, group, params, options) =>
2909
3693
  var getPostAdmTradesDeleteUrl = (tradePlatform, params) => {
2910
3694
  const normalizedParams = new URLSearchParams;
2911
3695
  Object.entries(params || {}).forEach(([key, value]) => {
2912
- if (value !== undefined) {
2913
- normalizedParams.append(key, value === null ? "null" : String(value));
3696
+ const explodeParameters = ["orders"];
3697
+ if (Array.isArray(value) && explodeParameters.includes(key)) {
3698
+ value.forEach((v) => {
3699
+ normalizedParams.append(key, v === null ? "null" : String(v));
3700
+ });
3701
+ return;
2914
3702
  }
2915
3703
  });
2916
3704
  const stringifiedParams = normalizedParams.toString();
@@ -2990,8 +3778,12 @@ var getUserRecordRequestLogin = async (tradePlatform, login, options) => {
2990
3778
  var getGetUserRecordsRequestUrl = (tradePlatform, params) => {
2991
3779
  const normalizedParams = new URLSearchParams;
2992
3780
  Object.entries(params || {}).forEach(([key, value]) => {
2993
- if (value !== undefined) {
2994
- normalizedParams.append(key, value === null ? "null" : String(value));
3781
+ const explodeParameters = ["logins"];
3782
+ if (Array.isArray(value) && explodeParameters.includes(key)) {
3783
+ value.forEach((v) => {
3784
+ normalizedParams.append(key, v === null ? "null" : String(v));
3785
+ });
3786
+ return;
2995
3787
  }
2996
3788
  });
2997
3789
  const stringifiedParams = normalizedParams.toString();
@@ -3015,8 +3807,12 @@ var getAdmBalanceCheckLogin = async (tradePlatform, login, options) => {
3015
3807
  var getGetAdmBalanceCheckUrl = (tradePlatform, params) => {
3016
3808
  const normalizedParams = new URLSearchParams;
3017
3809
  Object.entries(params || {}).forEach(([key, value]) => {
3018
- if (value !== undefined) {
3019
- normalizedParams.append(key, value === null ? "null" : String(value));
3810
+ const explodeParameters = ["logins"];
3811
+ if (Array.isArray(value) && explodeParameters.includes(key)) {
3812
+ value.forEach((v) => {
3813
+ normalizedParams.append(key, v === null ? "null" : String(v));
3814
+ });
3815
+ return;
3020
3816
  }
3021
3817
  });
3022
3818
  const stringifiedParams = normalizedParams.toString();
@@ -3031,8 +3827,12 @@ var getAdmBalanceCheck = async (tradePlatform, params, options) => {
3031
3827
  var getPostAdmBalanceFixUrl = (tradePlatform, params) => {
3032
3828
  const normalizedParams = new URLSearchParams;
3033
3829
  Object.entries(params || {}).forEach(([key, value]) => {
3034
- if (value !== undefined) {
3035
- normalizedParams.append(key, value === null ? "null" : String(value));
3830
+ const explodeParameters = ["logins"];
3831
+ if (Array.isArray(value) && explodeParameters.includes(key)) {
3832
+ value.forEach((v) => {
3833
+ normalizedParams.append(key, v === null ? "null" : String(v));
3834
+ });
3835
+ return;
3036
3836
  }
3037
3837
  });
3038
3838
  const stringifiedParams = normalizedParams.toString();
@@ -3064,10 +3864,25 @@ var getPostUserRecordNewUrl = (tradePlatform) => {
3064
3864
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/UserRecordNew`;
3065
3865
  };
3066
3866
  var postUserRecordNew = async (tradePlatform, mT4UserCreate, options) => {
3867
+ const getHeaders = (h) => {
3868
+ if (!h)
3869
+ return {};
3870
+ if (h instanceof Headers)
3871
+ return Object.fromEntries(h.entries());
3872
+ if (Symbol.iterator in h) {
3873
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3874
+ }
3875
+ const headers = {};
3876
+ for (const [name, value] of Object.entries(h)) {
3877
+ if (value !== undefined)
3878
+ headers[name] = value;
3879
+ }
3880
+ return headers;
3881
+ };
3067
3882
  return customFetch(getPostUserRecordNewUrl(tradePlatform), {
3068
3883
  ...options,
3069
3884
  method: "POST",
3070
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
3885
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
3071
3886
  body: JSON.stringify(mT4UserCreate)
3072
3887
  });
3073
3888
  };
@@ -3075,20 +3890,52 @@ var getPostUserRecordUpdateLoginUrl = (tradePlatform, login) => {
3075
3890
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/UserRecordUpdate/${encodeURIComponent(String(login))}`;
3076
3891
  };
3077
3892
  var postUserRecordUpdateLogin = async (tradePlatform, login, mT4UserUpdate, options) => {
3893
+ const getHeaders = (h) => {
3894
+ if (!h)
3895
+ return {};
3896
+ if (h instanceof Headers)
3897
+ return Object.fromEntries(h.entries());
3898
+ if (Symbol.iterator in h) {
3899
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3900
+ }
3901
+ const headers = {};
3902
+ for (const [name, value] of Object.entries(h)) {
3903
+ if (value !== undefined)
3904
+ headers[name] = value;
3905
+ }
3906
+ return headers;
3907
+ };
3078
3908
  return customFetch(getPostUserRecordUpdateLoginUrl(tradePlatform, login), {
3079
3909
  ...options,
3080
3910
  method: "POST",
3081
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
3911
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
3082
3912
  body: JSON.stringify(mT4UserUpdate)
3083
3913
  });
3084
3914
  };
3085
3915
  var getPatchUserRecordLoginMT4Url = (tradePlatform, login) => {
3086
3916
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/UserRecord/${encodeURIComponent(String(login))}`;
3087
3917
  };
3088
- var patchUserRecordLoginMT4 = async (tradePlatform, login, options) => {
3918
+ var patchUserRecordLoginMT4 = async (tradePlatform, login, patchUserRecordLoginMT4Body, options) => {
3919
+ const getHeaders = (h) => {
3920
+ if (!h)
3921
+ return {};
3922
+ if (h instanceof Headers)
3923
+ return Object.fromEntries(h.entries());
3924
+ if (Symbol.iterator in h) {
3925
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3926
+ }
3927
+ const headers = {};
3928
+ for (const [name, value] of Object.entries(h)) {
3929
+ if (value !== undefined)
3930
+ headers[name] = value;
3931
+ }
3932
+ return headers;
3933
+ };
3089
3934
  return customFetch(getPatchUserRecordLoginMT4Url(tradePlatform, login), {
3090
3935
  ...options,
3091
- method: "PATCH"
3936
+ method: "PATCH",
3937
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
3938
+ body: JSON.stringify(patchUserRecordLoginMT4Body)
3092
3939
  });
3093
3940
  };
3094
3941
  var getGetAdmUsersRequestSafeGroupUrl = (tradePlatform, group) => {
@@ -3120,10 +3967,25 @@ var getPostUsersGroupOpUrl = (tradePlatform) => {
3120
3967
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/UsersGroupOp`;
3121
3968
  };
3122
3969
  var postUsersGroupOp = async (tradePlatform, mT4UsersGroupOp, options) => {
3970
+ const getHeaders = (h) => {
3971
+ if (!h)
3972
+ return {};
3973
+ if (h instanceof Headers)
3974
+ return Object.fromEntries(h.entries());
3975
+ if (Symbol.iterator in h) {
3976
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3977
+ }
3978
+ const headers = {};
3979
+ for (const [name, value] of Object.entries(h)) {
3980
+ if (value !== undefined)
3981
+ headers[name] = value;
3982
+ }
3983
+ return headers;
3984
+ };
3123
3985
  return customFetch(getPostUsersGroupOpUrl(tradePlatform), {
3124
3986
  ...options,
3125
3987
  method: "POST",
3126
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
3988
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
3127
3989
  body: JSON.stringify(mT4UsersGroupOp)
3128
3990
  });
3129
3991
  };
@@ -3142,10 +4004,25 @@ var getPostNewsSendUrl = (tradePlatform) => {
3142
4004
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/NewsSend`;
3143
4005
  };
3144
4006
  var postNewsSend = async (tradePlatform, mT4NewsSendRequest, options) => {
4007
+ const getHeaders = (h) => {
4008
+ if (!h)
4009
+ return {};
4010
+ if (h instanceof Headers)
4011
+ return Object.fromEntries(h.entries());
4012
+ if (Symbol.iterator in h) {
4013
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
4014
+ }
4015
+ const headers = {};
4016
+ for (const [name, value] of Object.entries(h)) {
4017
+ if (value !== undefined)
4018
+ headers[name] = value;
4019
+ }
4020
+ return headers;
4021
+ };
3145
4022
  return customFetch(getPostNewsSendUrl(tradePlatform), {
3146
4023
  ...options,
3147
4024
  method: "POST",
3148
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
4025
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
3149
4026
  body: JSON.stringify(mT4NewsSendRequest)
3150
4027
  });
3151
4028
  };
@@ -3153,10 +4030,25 @@ var getPostMailSendUrl = (tradePlatform) => {
3153
4030
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/MailSend`;
3154
4031
  };
3155
4032
  var postMailSend = async (tradePlatform, mT4MailSendRequest, options) => {
4033
+ const getHeaders = (h) => {
4034
+ if (!h)
4035
+ return {};
4036
+ if (h instanceof Headers)
4037
+ return Object.fromEntries(h.entries());
4038
+ if (Symbol.iterator in h) {
4039
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
4040
+ }
4041
+ const headers = {};
4042
+ for (const [name, value] of Object.entries(h)) {
4043
+ if (value !== undefined)
4044
+ headers[name] = value;
4045
+ }
4046
+ return headers;
4047
+ };
3156
4048
  return customFetch(getPostMailSendUrl(tradePlatform), {
3157
4049
  ...options,
3158
4050
  method: "POST",
3159
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
4051
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
3160
4052
  body: JSON.stringify(mT4MailSendRequest)
3161
4053
  });
3162
4054
  };
@@ -3206,10 +4098,25 @@ var getPostPluginUpdateUrl = (tradePlatform) => {
3206
4098
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/PluginUpdate`;
3207
4099
  };
3208
4100
  var postPluginUpdate = async (tradePlatform, mT4PluginParam, options) => {
4101
+ const getHeaders = (h) => {
4102
+ if (!h)
4103
+ return {};
4104
+ if (h instanceof Headers)
4105
+ return Object.fromEntries(h.entries());
4106
+ if (Symbol.iterator in h) {
4107
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
4108
+ }
4109
+ const headers = {};
4110
+ for (const [name, value] of Object.entries(h)) {
4111
+ if (value !== undefined)
4112
+ headers[name] = value;
4113
+ }
4114
+ return headers;
4115
+ };
3209
4116
  return customFetch(getPostPluginUpdateUrl(tradePlatform), {
3210
4117
  ...options,
3211
4118
  method: "POST",
3212
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
4119
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
3213
4120
  body: JSON.stringify(mT4PluginParam)
3214
4121
  });
3215
4122
  };
@@ -3226,10 +4133,25 @@ var getPostCfgUpdatePluginUrl = (tradePlatform) => {
3226
4133
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdatePlugin`;
3227
4134
  };
3228
4135
  var postCfgUpdatePlugin = async (tradePlatform, mT4PluginParam, options) => {
4136
+ const getHeaders = (h) => {
4137
+ if (!h)
4138
+ return {};
4139
+ if (h instanceof Headers)
4140
+ return Object.fromEntries(h.entries());
4141
+ if (Symbol.iterator in h) {
4142
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
4143
+ }
4144
+ const headers = {};
4145
+ for (const [name, value] of Object.entries(h)) {
4146
+ if (value !== undefined)
4147
+ headers[name] = value;
4148
+ }
4149
+ return headers;
4150
+ };
3229
4151
  return customFetch(getPostCfgUpdatePluginUrl(tradePlatform), {
3230
4152
  ...options,
3231
4153
  method: "POST",
3232
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
4154
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
3233
4155
  body: JSON.stringify(mT4PluginParam)
3234
4156
  });
3235
4157
  };
@@ -3321,10 +4243,25 @@ var getPostExternalCommandBinaryUrl = (tradePlatform) => {
3321
4243
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/ExternalCommandBinary`;
3322
4244
  };
3323
4245
  var postExternalCommandBinary = async (tradePlatform, mT4ExternalCommandBinaryRequest, options) => {
4246
+ const getHeaders = (h) => {
4247
+ if (!h)
4248
+ return {};
4249
+ if (h instanceof Headers)
4250
+ return Object.fromEntries(h.entries());
4251
+ if (Symbol.iterator in h) {
4252
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
4253
+ }
4254
+ const headers = {};
4255
+ for (const [name, value] of Object.entries(h)) {
4256
+ if (value !== undefined)
4257
+ headers[name] = value;
4258
+ }
4259
+ return headers;
4260
+ };
3324
4261
  return customFetch(getPostExternalCommandBinaryUrl(tradePlatform), {
3325
4262
  ...options,
3326
4263
  method: "POST",
3327
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
4264
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
3328
4265
  body: JSON.stringify(mT4ExternalCommandBinaryRequest)
3329
4266
  });
3330
4267
  };
@@ -3376,10 +4313,27 @@ var getGroupGetGroup = async (tradePlatform, group, options) => {
3376
4313
  var getPatchGroupRecordGroupMT5Url = (tradePlatform, group) => {
3377
4314
  return `/api/v2/MT5/${encodeURIComponent(String(tradePlatform))}/GroupRecord/${encodeURIComponent(String(group))}`;
3378
4315
  };
3379
- var patchGroupRecordGroupMT5 = async (tradePlatform, group, options) => {
4316
+ var patchGroupRecordGroupMT5 = async (tradePlatform, group, patchGroupRecordGroupMT5Body, options) => {
4317
+ const getHeaders = (h) => {
4318
+ if (!h)
4319
+ return {};
4320
+ if (h instanceof Headers)
4321
+ return Object.fromEntries(h.entries());
4322
+ if (Symbol.iterator in h) {
4323
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
4324
+ }
4325
+ const headers = {};
4326
+ for (const [name, value] of Object.entries(h)) {
4327
+ if (value !== undefined)
4328
+ headers[name] = value;
4329
+ }
4330
+ return headers;
4331
+ };
3380
4332
  return customFetch(getPatchGroupRecordGroupMT5Url(tradePlatform, group), {
3381
4333
  ...options,
3382
- method: "PATCH"
4334
+ method: "PATCH",
4335
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
4336
+ body: JSON.stringify(patchGroupRecordGroupMT5Body)
3383
4337
  });
3384
4338
  };
3385
4339
 
@@ -3419,10 +4373,27 @@ var getSymbolGetSymbol = async (tradePlatform, symbol, options) => {
3419
4373
  var getPatchSymbolRecordSymbolUrl = (tradePlatform, symbol) => {
3420
4374
  return `/api/v2/MT5/${encodeURIComponent(String(tradePlatform))}/SymbolRecord/${encodeURIComponent(String(symbol))}`;
3421
4375
  };
3422
- var patchSymbolRecordSymbol = async (tradePlatform, symbol, options) => {
4376
+ var patchSymbolRecordSymbol = async (tradePlatform, symbol, patchSymbolRecordSymbolBody, options) => {
4377
+ const getHeaders = (h) => {
4378
+ if (!h)
4379
+ return {};
4380
+ if (h instanceof Headers)
4381
+ return Object.fromEntries(h.entries());
4382
+ if (Symbol.iterator in h) {
4383
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
4384
+ }
4385
+ const headers = {};
4386
+ for (const [name, value] of Object.entries(h)) {
4387
+ if (value !== undefined)
4388
+ headers[name] = value;
4389
+ }
4390
+ return headers;
4391
+ };
3423
4392
  return customFetch(getPatchSymbolRecordSymbolUrl(tradePlatform, symbol), {
3424
4393
  ...options,
3425
- method: "PATCH"
4394
+ method: "PATCH",
4395
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
4396
+ body: JSON.stringify(patchSymbolRecordSymbolBody)
3426
4397
  });
3427
4398
  };
3428
4399
 
@@ -3505,10 +4476,27 @@ var getUserGetLogin = async (tradePlatform, login, options) => {
3505
4476
  var getPatchUserRecordLoginMT5Url = (tradePlatform, login) => {
3506
4477
  return `/api/v2/MT5/${encodeURIComponent(String(tradePlatform))}/UserRecord/${encodeURIComponent(String(login))}`;
3507
4478
  };
3508
- var patchUserRecordLoginMT5 = async (tradePlatform, login, options) => {
4479
+ var patchUserRecordLoginMT5 = async (tradePlatform, login, patchUserRecordLoginMT5Body, options) => {
4480
+ const getHeaders = (h) => {
4481
+ if (!h)
4482
+ return {};
4483
+ if (h instanceof Headers)
4484
+ return Object.fromEntries(h.entries());
4485
+ if (Symbol.iterator in h) {
4486
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
4487
+ }
4488
+ const headers = {};
4489
+ for (const [name, value] of Object.entries(h)) {
4490
+ if (value !== undefined)
4491
+ headers[name] = value;
4492
+ }
4493
+ return headers;
4494
+ };
3509
4495
  return customFetch(getPatchUserRecordLoginMT5Url(tradePlatform, login), {
3510
4496
  ...options,
3511
- method: "PATCH"
4497
+ method: "PATCH",
4498
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
4499
+ body: JSON.stringify(patchUserRecordLoginMT5Body)
3512
4500
  });
3513
4501
  };
3514
4502
 
@@ -3554,7 +4542,8 @@ class CPluginWebApiClient {
3554
4542
  tokenProvider,
3555
4543
  fetchImpl: init.fetch ?? globalThis.fetch.bind(globalThis),
3556
4544
  retryPolicy: { ...defaultPolicy, ...init.retry ?? {} },
3557
- timeoutMs: init.timeoutMs ?? 30000
4545
+ timeoutMs: init.timeoutMs ?? 30000,
4546
+ ...init.requestTimeout !== undefined ? { requestTimeout: validateRequestTimeout(init.requestTimeout) } : {}
3558
4547
  };
3559
4548
  if (!Number.isFinite(this.base.timeoutMs) || this.base.timeoutMs <= 0) {
3560
4549
  throw new TypeError("timeoutMs must be a positive finite number");
@@ -3657,9 +4646,14 @@ async function collectAll(fetchPage) {
3657
4646
  export {
3658
4647
  resolveEnvironment,
3659
4648
  paginate,
4649
+ isRetryable,
4650
+ isOutcomeUnknown,
3660
4651
  defaultPolicy,
3661
4652
  collectAll,
3662
4653
  StaticTokenProvider,
4654
+ SERVER_ANSWER_MARGIN_MS,
4655
+ REQUEST_TIMEOUT_MIN_SECONDS,
4656
+ REQUEST_TIMEOUT_MAX_SECONDS,
3663
4657
  OAuth2TokenError,
3664
4658
  MT5V2SignalRClient,
3665
4659
  MT4V2SignalRError,