@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
@@ -803,6 +803,11 @@ function withRequestContext(options, ctx) {
803
803
  var responseMeta = Symbol("cplugin.webapi.response-meta");
804
804
 
805
805
  // src/errors.ts
806
+ var REQUEST_OUTCOMES = new Set(["timeout", "unknown", "not-started", "in-progress"]);
807
+ function parseRequestOutcome(value) {
808
+ const normalized = value?.trim().toLowerCase();
809
+ return normalized && REQUEST_OUTCOMES.has(normalized) ? normalized : undefined;
810
+ }
806
811
  function codeForHttpStatus(status) {
807
812
  if (status === 401 || status === 403)
808
813
  return "Forbidden";
@@ -817,7 +822,9 @@ class ApiError extends Error {
817
822
  activityId;
818
823
  managerCode;
819
824
  status;
820
- constructor(body, meta, status) {
825
+ outcome;
826
+ appliedTimeout;
827
+ constructor(body, meta, status, details) {
821
828
  const desc = body.message ?? undefined;
822
829
  super(desc ?? `v2 error: ${body.code}`);
823
830
  this.name = "ApiError";
@@ -826,36 +833,309 @@ class ApiError extends Error {
826
833
  this.activityId = meta?.activityId ?? undefined;
827
834
  this.managerCode = body.managerCode ?? undefined;
828
835
  this.status = status;
836
+ this.outcome = details?.outcome;
837
+ this.appliedTimeout = details?.appliedTimeout;
829
838
  }
830
839
  }
840
+ function isOutcomeUnknown(error) {
841
+ return error instanceof ApiError && reportsOutcomeUnknown(error);
842
+ }
843
+ function reportsOutcomeUnknown(error) {
844
+ return error.code === "OutcomeUnknown" || error.outcome === "unknown" || error.outcome === "in-progress";
845
+ }
846
+ function isRetryable(error) {
847
+ if (!(error instanceof ApiError) || reportsOutcomeUnknown(error))
848
+ return false;
849
+ return error.code === "Busy" || error.code === "Timeout" || error.outcome === "not-started" || error.outcome === "timeout";
850
+ }
851
+
852
+ // src/request-timeouts.generated.ts
853
+ var REQUEST_TIMEOUT_MIN_SECONDS = 1;
854
+ var REQUEST_TIMEOUT_MAX_SECONDS = 300;
855
+ var OPERATION_TIMEOUTS = [
856
+ ["GET", "/api/v2/MT4/{tradePlatform}/AdmBalanceCheck", 10],
857
+ ["GET", "/api/v2/MT4/{tradePlatform}/AdmBalanceCheck/{login}", 10],
858
+ ["POST", "/api/v2/MT4/{tradePlatform}/AdmBalanceFix", 5],
859
+ ["POST", "/api/v2/MT4/{tradePlatform}/AdmTradeRecordModify/{ticket}", 5],
860
+ ["POST", "/api/v2/MT4/{tradePlatform}/AdmTradesDelete", 5],
861
+ ["GET", "/api/v2/MT4/{tradePlatform}/AdmTradesRequest/{group}", 30],
862
+ ["GET", "/api/v2/MT4/{tradePlatform}/AdmUsersRequestSafe/{group}", 30],
863
+ ["GET", "/api/v2/MT4/{tradePlatform}/BackupInfoOrders/{mode}", 30],
864
+ ["GET", "/api/v2/MT4/{tradePlatform}/BackupInfoUsers/{mode}", 30],
865
+ ["GET", "/api/v2/MT4/{tradePlatform}/BackupRequestOrders/{file}", 30],
866
+ ["GET", "/api/v2/MT4/{tradePlatform}/BackupRequestUsers/{file}", 30],
867
+ ["POST", "/api/v2/MT4/{tradePlatform}/BackupRestoreOrders", 60],
868
+ ["POST", "/api/v2/MT4/{tradePlatform}/BackupRestoreUsers", 60],
869
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteAccess/{pos}", 15],
870
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteDataServer/{pos}", 15],
871
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteFeeder/{pos}", 15],
872
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteGatewayAccount/{pos}", 15],
873
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteGatewayMarkup/{pos}", 15],
874
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteGatewayRule/{pos}", 15],
875
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteHoliday/{pos}", 15],
876
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteLiveUpdate/{pos}", 15],
877
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteManager/{pos}", 15],
878
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteSymbol/{pos}", 15],
879
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgDeleteSync/{pos}", 15],
880
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestAccess", 10],
881
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestBackup", 10],
882
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestCommon", 10],
883
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestDataServer", 10],
884
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestFeeder", 10],
885
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestGatewayAccount", 10],
886
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestGatewayMarkup", 10],
887
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestGatewayRule", 10],
888
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestHoliday", 10],
889
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestLiveUpdate", 10],
890
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestManager", 10],
891
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestPlugin", 10],
892
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestSymbol", 10],
893
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestSymbol/{symbol}", 10],
894
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestSync", 10],
895
+ ["GET", "/api/v2/MT4/{tradePlatform}/CfgRequestTime", 10],
896
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftAccess/{pos}", 15],
897
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftDataServer/{pos}", 15],
898
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftFeeder/{pos}", 15],
899
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftGatewayAccount/{pos}", 15],
900
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftGatewayMarkup/{pos}", 15],
901
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftGatewayRule/{pos}", 15],
902
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftGroup/{pos}", 15],
903
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftHoliday/{pos}", 15],
904
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftLiveUpdate/{pos}", 15],
905
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftManager/{pos}", 15],
906
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftPlugin/{pos}", 15],
907
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftSymbol/{pos}", 15],
908
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgShiftSync/{pos}", 15],
909
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateAccess/{pos}", 15],
910
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateBackup", 15],
911
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateCommon", 15],
912
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateDataServer/{pos}", 15],
913
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateFeeder", 15],
914
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateGatewayAccount", 15],
915
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateGatewayMarkup", 15],
916
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateGatewayRule", 15],
917
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateHoliday/{pos}", 15],
918
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateLiveUpdate", 15],
919
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateManager", 15],
920
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdatePlugin", 15],
921
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateSymbol/{symbol}", 15],
922
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateSymbolGroup/{pos}", 15],
923
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateSync", 15],
924
+ ["POST", "/api/v2/MT4/{tradePlatform}/CfgUpdateTime", 15],
925
+ ["POST", "/api/v2/MT4/{tradePlatform}/ChartAdd/{symbol}", 15],
926
+ ["POST", "/api/v2/MT4/{tradePlatform}/ChartDelete/{symbol}", 15],
927
+ ["GET", "/api/v2/MT4/{tradePlatform}/ChartRequest/{symbol}", 30],
928
+ ["POST", "/api/v2/MT4/{tradePlatform}/ChartUpdate/{symbol}", 15],
929
+ ["GET", "/api/v2/MT4/{tradePlatform}/DailyReportsRequest", 30],
930
+ ["GET", "/api/v2/MT4/{tradePlatform}/DailyReportsRequestEx", 30],
931
+ ["POST", "/api/v2/MT4/{tradePlatform}/DailySyncRead", 30],
932
+ ["POST", "/api/v2/MT4/{tradePlatform}/DailySyncStart", 60],
933
+ ["GET", "/api/v2/MT4/{tradePlatform}/EnsureGroupNameExist/{group}", 10],
934
+ ["POST", "/api/v2/MT4/{tradePlatform}/ExternalCommandBinary", 60],
935
+ ["POST", "/api/v2/MT4/{tradePlatform}/ExternalCommandJSON", 60],
936
+ ["PATCH", "/api/v2/MT4/{tradePlatform}/GroupRecord/{group}", 15],
937
+ ["GET", "/api/v2/MT4/{tradePlatform}/GroupRecordGet/{group}", 10],
938
+ ["POST", "/api/v2/MT4/{tradePlatform}/GroupRecordUpdate/{group}", 15],
939
+ ["GET", "/api/v2/MT4/{tradePlatform}/GroupSecGroupsGet/{group}", 10],
940
+ ["GET", "/api/v2/MT4/{tradePlatform}/GroupSecMarginsGet/{group}", 10],
941
+ ["GET", "/api/v2/MT4/{tradePlatform}/GroupsGet", 10],
942
+ ["GET", "/api/v2/MT4/{tradePlatform}/GroupsRequest", 10],
943
+ ["POST", "/api/v2/MT4/{tradePlatform}/HistoryCorrect/{symbol}", 60],
944
+ ["GET", "/api/v2/MT4/{tradePlatform}/JournalRequest", 30],
945
+ ["GET", "/api/v2/MT4/{tradePlatform}/LicenseCheck/{licenseName}", 10],
946
+ ["GET", "/api/v2/MT4/{tradePlatform}/MailLast", 10],
947
+ ["POST", "/api/v2/MT4/{tradePlatform}/MailSend", 15],
948
+ ["GET", "/api/v2/MT4/{tradePlatform}/MailsRequest", 30],
949
+ ["GET", "/api/v2/MT4/{tradePlatform}/ManagerCommon", 10],
950
+ ["GET", "/api/v2/MT4/{tradePlatform}/MarginLevelGet/{login}", 10],
951
+ ["GET", "/api/v2/MT4/{tradePlatform}/MarginLevelRequest/{login}", 10],
952
+ ["GET", "/api/v2/MT4/{tradePlatform}/MarginsGet", 10],
953
+ ["GET", "/api/v2/MT4/{tradePlatform}/NewsBodyGet/{key}", 10],
954
+ ["POST", "/api/v2/MT4/{tradePlatform}/NewsBodyRequest/{key}", 15],
955
+ ["GET", "/api/v2/MT4/{tradePlatform}/NewsGet", 10],
956
+ ["POST", "/api/v2/MT4/{tradePlatform}/NewsSend", 15],
957
+ ["GET", "/api/v2/MT4/{tradePlatform}/NewsTopicGet/{pos}", 10],
958
+ ["GET", "/api/v2/MT4/{tradePlatform}/NewsTotal", 10],
959
+ ["POST", "/api/v2/MT4/{tradePlatform}/NotificationsSend", 15],
960
+ ["GET", "/api/v2/MT4/{tradePlatform}/OnlineGet", 10],
961
+ ["GET", "/api/v2/MT4/{tradePlatform}/OnlineRequest", 10],
962
+ ["GET", "/api/v2/MT4/{tradePlatform}/PerformanceRequest", 30],
963
+ ["GET", "/api/v2/MT4/{tradePlatform}/PluginParamGet/{pos}", 10],
964
+ ["GET", "/api/v2/MT4/{tradePlatform}/PluginsGet", 10],
965
+ ["POST", "/api/v2/MT4/{tradePlatform}/PluginUpdate", 15],
966
+ ["GET", "/api/v2/MT4/{tradePlatform}/ReportsRequest", 30],
967
+ ["GET", "/api/v2/MT4/{tradePlatform}/ServerTime", 10],
968
+ ["POST", "/api/v2/MT4/{tradePlatform}/SrvChartsSync", 60],
969
+ ["GET", "/api/v2/MT4/{tradePlatform}/SrvFeederLog/{name}", 30],
970
+ ["GET", "/api/v2/MT4/{tradePlatform}/SrvFeeders", 10],
971
+ ["POST", "/api/v2/MT4/{tradePlatform}/SrvFeedsRestart", 60],
972
+ ["POST", "/api/v2/MT4/{tradePlatform}/SrvLiveUpdateStart", 60],
973
+ ["POST", "/api/v2/MT4/{tradePlatform}/SrvRestart", 60],
974
+ ["POST", "/api/v2/MT4/{tradePlatform}/SymbolAdd/{symbol}", 15],
975
+ ["POST", "/api/v2/MT4/{tradePlatform}/SymbolChange", 15],
976
+ ["PATCH", "/api/v2/MT4/{tradePlatform}/SymbolConfig/{symbol}", 15],
977
+ ["POST", "/api/v2/MT4/{tradePlatform}/SymbolHide/{symbol}", 15],
978
+ ["GET", "/api/v2/MT4/{tradePlatform}/SymbolInfoGet", 10],
979
+ ["GET", "/api/v2/MT4/{tradePlatform}/SymbolInfoUpdated", 10],
980
+ ["POST", "/api/v2/MT4/{tradePlatform}/SymbolSendTick", 15],
981
+ ["GET", "/api/v2/MT4/{tradePlatform}/SymbolSessionsGet/{symbol}", 10],
982
+ ["GET", "/api/v2/MT4/{tradePlatform}/SymbolsGroupsGet", 10],
983
+ ["POST", "/api/v2/MT4/{tradePlatform}/SymbolsRefresh", 60],
984
+ ["GET", "/api/v2/MT4/{tradePlatform}/TickInfoLast", 10],
985
+ ["GET", "/api/v2/MT4/{tradePlatform}/TickInfoLast/{symbol}", 10],
986
+ ["GET", "/api/v2/MT4/{tradePlatform}/TicksRequest/{symbol}", 30],
987
+ ["POST", "/api/v2/MT4/{tradePlatform}/TradeCheckStops", 5],
988
+ ["POST", "/api/v2/MT4/{tradePlatform}/TradeClearRollback/{order}", 5],
989
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradeRecordGet/{order}", 10],
990
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradeRecordRequest/{order}", 10],
991
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradeRecordsRequest", 10],
992
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradesGet", 10],
993
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradesGet/{ticket}", 10],
994
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradesGetByLogin/{login}/{group}", 10],
995
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradesGetByMarket", 10],
996
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradesGetBySymbol", 10],
997
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradesRequest", 10],
998
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradesSnapshot", 30],
999
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradesSyncRead", 30],
1000
+ ["POST", "/api/v2/MT4/{tradePlatform}/TradesSyncStart", 60],
1001
+ ["GET", "/api/v2/MT4/{tradePlatform}/TradesUserHistory/{login}", 30],
1002
+ ["POST", "/api/v2/MT4/{tradePlatform}/TradeTransaction", 5],
1003
+ ["POST", "/api/v2/MT4/{tradePlatform}/UserPasswordCheck/{login}", 15],
1004
+ ["POST", "/api/v2/MT4/{tradePlatform}/UserPasswordSet/{login}", 15],
1005
+ ["PATCH", "/api/v2/MT4/{tradePlatform}/UserRecord/{login}", 15],
1006
+ ["GET", "/api/v2/MT4/{tradePlatform}/UserRecordGet/{login}", 10],
1007
+ ["POST", "/api/v2/MT4/{tradePlatform}/UserRecordNew", 15],
1008
+ ["GET", "/api/v2/MT4/{tradePlatform}/UserRecordRequest/{login}", 10],
1009
+ ["GET", "/api/v2/MT4/{tradePlatform}/UserRecordsRequest", 10],
1010
+ ["POST", "/api/v2/MT4/{tradePlatform}/UserRecordUpdate/{login}", 15],
1011
+ ["POST", "/api/v2/MT4/{tradePlatform}/UsersGroupOp", 60],
1012
+ ["GET", "/api/v2/MT4/{tradePlatform}/UsersRequest", 10],
1013
+ ["GET", "/api/v2/MT4/{tradePlatform}/UsersSnapshot", 30],
1014
+ ["GET", "/api/v2/MT4/{tradePlatform}/UsersSyncRead", 30],
1015
+ ["POST", "/api/v2/MT4/{tradePlatform}/UsersSyncStart", 60],
1016
+ ["GET", "/api/v2/MT5/{tradePlatform}/DealByGroup/{mask}", 30],
1017
+ ["GET", "/api/v2/MT5/{tradePlatform}/GroupGet/{group}", 10],
1018
+ ["PATCH", "/api/v2/MT5/{tradePlatform}/GroupRecord/{group}", 15],
1019
+ ["GET", "/api/v2/MT5/{tradePlatform}/ManagerCurrent", 10],
1020
+ ["GET", "/api/v2/MT5/{tradePlatform}/OrderByGroup/{mask}", 10],
1021
+ ["GET", "/api/v2/MT5/{tradePlatform}/PositionByGroup/{mask}", 10],
1022
+ ["GET", "/api/v2/MT5/{tradePlatform}/ServerTime", 10],
1023
+ ["GET", "/api/v2/MT5/{tradePlatform}/SymbolGet/{symbol}", 10],
1024
+ ["PATCH", "/api/v2/MT5/{tradePlatform}/SymbolRecord/{symbol}", 15],
1025
+ ["GET", "/api/v2/MT5/{tradePlatform}/TimeGet", 10],
1026
+ ["GET", "/api/v2/MT5/{tradePlatform}/UserGet/{login}", 10],
1027
+ ["PATCH", "/api/v2/MT5/{tradePlatform}/UserRecord/{login}", 15]
1028
+ ];
1029
+
1030
+ // src/request-timeout.ts
1031
+ var REQUEST_TIMEOUT_HEADER = "X-Request-Timeout";
1032
+ var REQUEST_TIMEOUT_QUERY = "requestTimeout";
1033
+ var REQUEST_TIMEOUT_APPLIED_HEADER = "X-Request-Timeout-Applied";
1034
+ var REQUEST_OUTCOME_HEADER = "X-Request-Outcome";
1035
+ var SERVER_ANSWER_MARGIN_MS = 30000;
1036
+ function validateRequestTimeout(seconds, name = "requestTimeout") {
1037
+ if (typeof seconds !== "number" || !Number.isFinite(seconds) || seconds < REQUEST_TIMEOUT_MIN_SECONDS || seconds > REQUEST_TIMEOUT_MAX_SECONDS) {
1038
+ throw new TypeError(`${name} must be a number of seconds from ${REQUEST_TIMEOUT_MIN_SECONDS} to ${REQUEST_TIMEOUT_MAX_SECONDS}`);
1039
+ }
1040
+ return seconds;
1041
+ }
1042
+ var ROUTES = new Map;
1043
+ for (const [method, path, seconds] of OPERATION_TIMEOUTS) {
1044
+ const segments = path.split("/").filter(Boolean).map((s) => s.startsWith("{") ? null : s.toLowerCase());
1045
+ const list = ROUTES.get(method) ?? [];
1046
+ list.push({ segments, staticCount: segments.filter((s) => s !== null).length, seconds });
1047
+ ROUTES.set(method, list);
1048
+ }
1049
+ function operationDefaultTimeout(method, pathname) {
1050
+ const candidates = ROUTES.get(method.toUpperCase());
1051
+ if (!candidates)
1052
+ return;
1053
+ const segments = pathname.split("/").filter(Boolean).map((s) => s.toLowerCase());
1054
+ let best;
1055
+ for (const route of candidates) {
1056
+ if (route.segments.length !== segments.length)
1057
+ continue;
1058
+ if (!route.segments.every((s, i) => s === null || s === segments[i]))
1059
+ continue;
1060
+ if (!best || route.staticCount > best.staticCount)
1061
+ best = route;
1062
+ }
1063
+ return best?.seconds;
1064
+ }
1065
+ function parseSeconds(value) {
1066
+ if (value == null || value.trim() === "")
1067
+ return;
1068
+ const seconds = Number(value.trim());
1069
+ return Number.isFinite(seconds) && seconds > 0 ? seconds : undefined;
1070
+ }
1071
+ function planRequestTimeout(args) {
1072
+ const { method, url, headers, perCall, clientDefault, timeoutMs } = args;
1073
+ const operationDefault = operationDefaultTimeout(method, url.pathname);
1074
+ let send;
1075
+ let serverSeconds;
1076
+ if (perCall !== undefined) {
1077
+ send = validateRequestTimeout(perCall);
1078
+ serverSeconds = send;
1079
+ } else {
1080
+ const manualHeader = Object.entries(headers).find(([k]) => k.toLowerCase() === REQUEST_TIMEOUT_HEADER.toLowerCase());
1081
+ const manual = manualHeader ? parseSeconds(manualHeader[1]) : parseSeconds(url.searchParams.get(REQUEST_TIMEOUT_QUERY));
1082
+ if (manualHeader || url.searchParams.has(REQUEST_TIMEOUT_QUERY)) {
1083
+ serverSeconds = manual;
1084
+ } else if (clientDefault !== undefined && operationDefault !== undefined) {
1085
+ send = clientDefault;
1086
+ serverSeconds = clientDefault;
1087
+ }
1088
+ }
1089
+ serverSeconds ??= operationDefault;
1090
+ const deadlineMs = serverSeconds === undefined ? timeoutMs : Math.max(timeoutMs, Math.ceil(serverSeconds * 1000) + SERVER_ANSWER_MARGIN_MS);
1091
+ return { send, deadlineMs };
1092
+ }
1093
+ function setTimeoutHeader(headers, seconds) {
1094
+ for (const key of Object.keys(headers)) {
1095
+ if (key.toLowerCase() === REQUEST_TIMEOUT_HEADER.toLowerCase())
1096
+ delete headers[key];
1097
+ }
1098
+ headers[REQUEST_TIMEOUT_HEADER] = String(seconds);
1099
+ }
831
1100
 
832
1101
  // src/mutator.ts
833
1102
  async function authenticatedFetch(ctx, url, options, consume) {
834
- return withDeadline(ctx.timeoutMs, options.signal, async (signal) => {
835
- const fullUrl = new URL(url, ctx.apiBaseUrl).toString();
836
- const requestOptions = { ...options };
837
- delete requestOptions[requestContext];
838
- const headerObj = {};
839
- if (options.headers) {
840
- if (options.headers instanceof Headers) {
841
- options.headers.forEach((value, key) => {
842
- headerObj[key] = value;
843
- });
844
- } else if (Array.isArray(options.headers)) {
845
- for (const [key, value] of options.headers)
846
- headerObj[key] = value;
847
- } else {
848
- Object.assign(headerObj, options.headers);
849
- }
1103
+ const fullUrl = new URL(url, ctx.apiBaseUrl);
1104
+ const { requestTimeout, ...fetchOptions } = options;
1105
+ const requestOptions = fetchOptions;
1106
+ delete requestOptions[requestContext];
1107
+ const headerObj = {};
1108
+ if (options.headers) {
1109
+ if (options.headers instanceof Headers) {
1110
+ options.headers.forEach((value, key) => {
1111
+ headerObj[key] = value;
1112
+ });
1113
+ } else if (Array.isArray(options.headers)) {
1114
+ for (const [key, value] of options.headers)
1115
+ headerObj[key] = value;
1116
+ } else {
1117
+ Object.assign(headerObj, options.headers);
850
1118
  }
851
- const method = (options.method ?? "GET").toUpperCase();
1119
+ }
1120
+ const method = (options.method ?? "GET").toUpperCase();
1121
+ const plan = planRequestTimeout({
1122
+ method,
1123
+ url: fullUrl,
1124
+ headers: headerObj,
1125
+ perCall: requestTimeout,
1126
+ clientDefault: ctx.requestTimeout,
1127
+ timeoutMs: ctx.timeoutMs
1128
+ });
1129
+ if (plan.send !== undefined)
1130
+ setTimeoutHeader(headerObj, plan.send);
1131
+ return withDeadline(plan.deadlineMs, options.signal, async (signal) => {
852
1132
  const isIdempotent = method === "GET" || method === "HEAD" || method === "OPTIONS" || method === "PUT" || method === "DELETE";
853
1133
  const doFetch = async (forceRefresh) => {
854
1134
  const token = await ctx.tokenProvider.getToken({
855
1135
  ...forceRefresh ? { forceRefresh: true } : {},
856
1136
  signal
857
1137
  });
858
- return ctx.fetchImpl(fullUrl, {
1138
+ return ctx.fetchImpl(fullUrl.toString(), {
859
1139
  ...requestOptions,
860
1140
  method,
861
1141
  headers: {
@@ -878,26 +1158,34 @@ async function authenticatedFetch(ctx, url, options, consume) {
878
1158
  }
879
1159
  async function customFetch(url, options) {
880
1160
  const ctx = contextFromOptions(options);
881
- return authenticatedFetch(ctx, url, options, async (response, signal) => {
1161
+ return authenticatedFetch(ctx, url, options, async (response) => {
1162
+ const details = errorDetails(response);
882
1163
  if (!response.ok) {
883
1164
  const text = await response.text();
884
1165
  try {
885
1166
  const env = JSON.parse(text);
886
1167
  if (env.error != null)
887
- throw new ApiError(env.error, env.meta, response.status);
888
- throw new ApiError({ code: codeForHttpStatus(response.status), message: "HTTP " + response.status }, env.meta ?? null, response.status);
1168
+ throw new ApiError(env.error, env.meta, response.status, details);
1169
+ throw new ApiError({ code: codeForHttpStatus(response.status), message: "HTTP " + response.status }, env.meta ?? null, response.status, details);
889
1170
  } catch (error) {
890
1171
  if (error instanceof ApiError)
891
1172
  throw error;
892
- throw new ApiError({ code: codeForHttpStatus(response.status), message: "HTTP " + response.status }, null, response.status);
1173
+ throw new ApiError({ code: codeForHttpStatus(response.status), message: "HTTP " + response.status }, null, response.status, details);
893
1174
  }
894
1175
  }
895
1176
  const envelope = await response.json();
896
1177
  if (envelope.error != null)
897
- throw new ApiError(envelope.error, envelope.meta, response.status);
1178
+ throw new ApiError(envelope.error, envelope.meta, response.status, details);
898
1179
  return attachResponseMeta(envelope.data, envelope.meta);
899
1180
  });
900
1181
  }
1182
+ function errorDetails(response) {
1183
+ const applied = Number(response.headers.get(REQUEST_TIMEOUT_APPLIED_HEADER) ?? Number.NaN);
1184
+ return {
1185
+ outcome: parseRequestOutcome(response.headers.get(REQUEST_OUTCOME_HEADER)),
1186
+ appliedTimeout: Number.isFinite(applied) ? applied : undefined
1187
+ };
1188
+ }
901
1189
  function attachResponseMeta(data, meta) {
902
1190
  if (data !== null && (typeof data === "object" || typeof data === "function")) {
903
1191
  Object.defineProperty(data, responseMeta, { value: meta ?? null, enumerable: false, configurable: true });
@@ -923,10 +1211,25 @@ var getPostUserPasswordCheckLoginUrl = (tradePlatform, login) => {
923
1211
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/UserPasswordCheck/${encodeURIComponent(String(login))}`;
924
1212
  };
925
1213
  var postUserPasswordCheckLogin = async (tradePlatform, login, postUserPasswordCheckLoginBody, options) => {
1214
+ const getHeaders = (h) => {
1215
+ if (!h)
1216
+ return {};
1217
+ if (h instanceof Headers)
1218
+ return Object.fromEntries(h.entries());
1219
+ if (Symbol.iterator in h) {
1220
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1221
+ }
1222
+ const headers = {};
1223
+ for (const [name, value] of Object.entries(h)) {
1224
+ if (value !== undefined)
1225
+ headers[name] = value;
1226
+ }
1227
+ return headers;
1228
+ };
926
1229
  return customFetch(getPostUserPasswordCheckLoginUrl(tradePlatform, login), {
927
1230
  ...options,
928
1231
  method: "POST",
929
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1232
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
930
1233
  body: JSON.stringify(postUserPasswordCheckLoginBody)
931
1234
  });
932
1235
  };
@@ -941,10 +1244,25 @@ var getPostUserPasswordSetLoginUrl = (tradePlatform, login, params) => {
941
1244
  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))}`;
942
1245
  };
943
1246
  var postUserPasswordSetLogin = async (tradePlatform, login, postUserPasswordSetLoginBody, params, options) => {
1247
+ const getHeaders = (h) => {
1248
+ if (!h)
1249
+ return {};
1250
+ if (h instanceof Headers)
1251
+ return Object.fromEntries(h.entries());
1252
+ if (Symbol.iterator in h) {
1253
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1254
+ }
1255
+ const headers = {};
1256
+ for (const [name, value] of Object.entries(h)) {
1257
+ if (value !== undefined)
1258
+ headers[name] = value;
1259
+ }
1260
+ return headers;
1261
+ };
944
1262
  return customFetch(getPostUserPasswordSetLoginUrl(tradePlatform, login, params), {
945
1263
  ...options,
946
1264
  method: "POST",
947
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1265
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
948
1266
  body: JSON.stringify(postUserPasswordSetLoginBody)
949
1267
  });
950
1268
  };
@@ -968,10 +1286,25 @@ var getPostBackupRestoreUsersUrl = (tradePlatform, params) => {
968
1286
  return stringifiedParams.length > 0 ? `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/BackupRestoreUsers?${stringifiedParams}` : `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/BackupRestoreUsers`;
969
1287
  };
970
1288
  var postBackupRestoreUsers = async (tradePlatform, mT4UserRestoreInput, params, options) => {
1289
+ const getHeaders = (h) => {
1290
+ if (!h)
1291
+ return {};
1292
+ if (h instanceof Headers)
1293
+ return Object.fromEntries(h.entries());
1294
+ if (Symbol.iterator in h) {
1295
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1296
+ }
1297
+ const headers = {};
1298
+ for (const [name, value] of Object.entries(h)) {
1299
+ if (value !== undefined)
1300
+ headers[name] = value;
1301
+ }
1302
+ return headers;
1303
+ };
971
1304
  return customFetch(getPostBackupRestoreUsersUrl(tradePlatform, params), {
972
1305
  ...options,
973
1306
  method: "POST",
974
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1307
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
975
1308
  body: JSON.stringify(mT4UserRestoreInput)
976
1309
  });
977
1310
  };
@@ -986,10 +1319,25 @@ var getPostBackupRestoreOrdersUrl = (tradePlatform, params) => {
986
1319
  return stringifiedParams.length > 0 ? `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/BackupRestoreOrders?${stringifiedParams}` : `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/BackupRestoreOrders`;
987
1320
  };
988
1321
  var postBackupRestoreOrders = async (tradePlatform, mT4TradeRestoreInput, params, options) => {
1322
+ const getHeaders = (h) => {
1323
+ if (!h)
1324
+ return {};
1325
+ if (h instanceof Headers)
1326
+ return Object.fromEntries(h.entries());
1327
+ if (Symbol.iterator in h) {
1328
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1329
+ }
1330
+ const headers = {};
1331
+ for (const [name, value] of Object.entries(h)) {
1332
+ if (value !== undefined)
1333
+ headers[name] = value;
1334
+ }
1335
+ return headers;
1336
+ };
989
1337
  return customFetch(getPostBackupRestoreOrdersUrl(tradePlatform, params), {
990
1338
  ...options,
991
1339
  method: "POST",
992
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1340
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
993
1341
  body: JSON.stringify(mT4TradeRestoreInput)
994
1342
  });
995
1343
  };
@@ -1221,10 +1569,25 @@ var getPostCfgUpdateCommonUrl = (tradePlatform) => {
1221
1569
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateCommon`;
1222
1570
  };
1223
1571
  var postCfgUpdateCommon = async (tradePlatform, mT4CommonUpdate, options) => {
1572
+ const getHeaders = (h) => {
1573
+ if (!h)
1574
+ return {};
1575
+ if (h instanceof Headers)
1576
+ return Object.fromEntries(h.entries());
1577
+ if (Symbol.iterator in h) {
1578
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1579
+ }
1580
+ const headers = {};
1581
+ for (const [name, value] of Object.entries(h)) {
1582
+ if (value !== undefined)
1583
+ headers[name] = value;
1584
+ }
1585
+ return headers;
1586
+ };
1224
1587
  return customFetch(getPostCfgUpdateCommonUrl(tradePlatform), {
1225
1588
  ...options,
1226
1589
  method: "POST",
1227
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1590
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1228
1591
  body: JSON.stringify(mT4CommonUpdate)
1229
1592
  });
1230
1593
  };
@@ -1273,10 +1636,25 @@ var getPostCfgUpdateTimeUrl = (tradePlatform) => {
1273
1636
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateTime`;
1274
1637
  };
1275
1638
  var postCfgUpdateTime = async (tradePlatform, mT4ServerTime, options) => {
1639
+ const getHeaders = (h) => {
1640
+ if (!h)
1641
+ return {};
1642
+ if (h instanceof Headers)
1643
+ return Object.fromEntries(h.entries());
1644
+ if (Symbol.iterator in h) {
1645
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1646
+ }
1647
+ const headers = {};
1648
+ for (const [name, value] of Object.entries(h)) {
1649
+ if (value !== undefined)
1650
+ headers[name] = value;
1651
+ }
1652
+ return headers;
1653
+ };
1276
1654
  return customFetch(getPostCfgUpdateTimeUrl(tradePlatform), {
1277
1655
  ...options,
1278
1656
  method: "POST",
1279
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1657
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1280
1658
  body: JSON.stringify(mT4ServerTime)
1281
1659
  });
1282
1660
  };
@@ -1309,10 +1687,25 @@ var getPostCfgUpdateBackupUrl = (tradePlatform) => {
1309
1687
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateBackup`;
1310
1688
  };
1311
1689
  var postCfgUpdateBackup = async (tradePlatform, mT4Backup, options) => {
1690
+ const getHeaders = (h) => {
1691
+ if (!h)
1692
+ return {};
1693
+ if (h instanceof Headers)
1694
+ return Object.fromEntries(h.entries());
1695
+ if (Symbol.iterator in h) {
1696
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1697
+ }
1698
+ const headers = {};
1699
+ for (const [name, value] of Object.entries(h)) {
1700
+ if (value !== undefined)
1701
+ headers[name] = value;
1702
+ }
1703
+ return headers;
1704
+ };
1312
1705
  return customFetch(getPostCfgUpdateBackupUrl(tradePlatform), {
1313
1706
  ...options,
1314
1707
  method: "POST",
1315
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1708
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1316
1709
  body: JSON.stringify(mT4Backup)
1317
1710
  });
1318
1711
  };
@@ -1320,10 +1713,25 @@ var getPostCfgUpdateSyncUrl = (tradePlatform) => {
1320
1713
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateSync`;
1321
1714
  };
1322
1715
  var postCfgUpdateSync = async (tradePlatform, mT4Sync, options) => {
1716
+ const getHeaders = (h) => {
1717
+ if (!h)
1718
+ return {};
1719
+ if (h instanceof Headers)
1720
+ return Object.fromEntries(h.entries());
1721
+ if (Symbol.iterator in h) {
1722
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1723
+ }
1724
+ const headers = {};
1725
+ for (const [name, value] of Object.entries(h)) {
1726
+ if (value !== undefined)
1727
+ headers[name] = value;
1728
+ }
1729
+ return headers;
1730
+ };
1323
1731
  return customFetch(getPostCfgUpdateSyncUrl(tradePlatform), {
1324
1732
  ...options,
1325
1733
  method: "POST",
1326
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1734
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1327
1735
  body: JSON.stringify(mT4Sync)
1328
1736
  });
1329
1737
  };
@@ -1331,10 +1739,25 @@ var getPostCfgUpdateFeederUrl = (tradePlatform) => {
1331
1739
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateFeeder`;
1332
1740
  };
1333
1741
  var postCfgUpdateFeeder = async (tradePlatform, mT4Feeder, options) => {
1742
+ const getHeaders = (h) => {
1743
+ if (!h)
1744
+ return {};
1745
+ if (h instanceof Headers)
1746
+ return Object.fromEntries(h.entries());
1747
+ if (Symbol.iterator in h) {
1748
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1749
+ }
1750
+ const headers = {};
1751
+ for (const [name, value] of Object.entries(h)) {
1752
+ if (value !== undefined)
1753
+ headers[name] = value;
1754
+ }
1755
+ return headers;
1756
+ };
1334
1757
  return customFetch(getPostCfgUpdateFeederUrl(tradePlatform), {
1335
1758
  ...options,
1336
1759
  method: "POST",
1337
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1760
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1338
1761
  body: JSON.stringify(mT4Feeder)
1339
1762
  });
1340
1763
  };
@@ -1342,10 +1765,25 @@ var getPostCfgUpdateGatewayAccountUrl = (tradePlatform) => {
1342
1765
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateGatewayAccount`;
1343
1766
  };
1344
1767
  var postCfgUpdateGatewayAccount = async (tradePlatform, mT4GatewayAccount, options) => {
1768
+ const getHeaders = (h) => {
1769
+ if (!h)
1770
+ return {};
1771
+ if (h instanceof Headers)
1772
+ return Object.fromEntries(h.entries());
1773
+ if (Symbol.iterator in h) {
1774
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1775
+ }
1776
+ const headers = {};
1777
+ for (const [name, value] of Object.entries(h)) {
1778
+ if (value !== undefined)
1779
+ headers[name] = value;
1780
+ }
1781
+ return headers;
1782
+ };
1345
1783
  return customFetch(getPostCfgUpdateGatewayAccountUrl(tradePlatform), {
1346
1784
  ...options,
1347
1785
  method: "POST",
1348
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1786
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1349
1787
  body: JSON.stringify(mT4GatewayAccount)
1350
1788
  });
1351
1789
  };
@@ -1353,10 +1791,25 @@ var getPostCfgUpdateGatewayMarkupUrl = (tradePlatform) => {
1353
1791
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateGatewayMarkup`;
1354
1792
  };
1355
1793
  var postCfgUpdateGatewayMarkup = async (tradePlatform, mT4GatewayMarkup, options) => {
1794
+ const getHeaders = (h) => {
1795
+ if (!h)
1796
+ return {};
1797
+ if (h instanceof Headers)
1798
+ return Object.fromEntries(h.entries());
1799
+ if (Symbol.iterator in h) {
1800
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1801
+ }
1802
+ const headers = {};
1803
+ for (const [name, value] of Object.entries(h)) {
1804
+ if (value !== undefined)
1805
+ headers[name] = value;
1806
+ }
1807
+ return headers;
1808
+ };
1356
1809
  return customFetch(getPostCfgUpdateGatewayMarkupUrl(tradePlatform), {
1357
1810
  ...options,
1358
1811
  method: "POST",
1359
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1812
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1360
1813
  body: JSON.stringify(mT4GatewayMarkup)
1361
1814
  });
1362
1815
  };
@@ -1364,10 +1817,25 @@ var getPostCfgUpdateGatewayRuleUrl = (tradePlatform) => {
1364
1817
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateGatewayRule`;
1365
1818
  };
1366
1819
  var postCfgUpdateGatewayRule = async (tradePlatform, mT4GatewayRule, options) => {
1820
+ const getHeaders = (h) => {
1821
+ if (!h)
1822
+ return {};
1823
+ if (h instanceof Headers)
1824
+ return Object.fromEntries(h.entries());
1825
+ if (Symbol.iterator in h) {
1826
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1827
+ }
1828
+ const headers = {};
1829
+ for (const [name, value] of Object.entries(h)) {
1830
+ if (value !== undefined)
1831
+ headers[name] = value;
1832
+ }
1833
+ return headers;
1834
+ };
1367
1835
  return customFetch(getPostCfgUpdateGatewayRuleUrl(tradePlatform), {
1368
1836
  ...options,
1369
1837
  method: "POST",
1370
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1838
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1371
1839
  body: JSON.stringify(mT4GatewayRule)
1372
1840
  });
1373
1841
  };
@@ -1375,10 +1843,25 @@ var getPostCfgUpdateLiveUpdateUrl = (tradePlatform) => {
1375
1843
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateLiveUpdate`;
1376
1844
  };
1377
1845
  var postCfgUpdateLiveUpdate = async (tradePlatform, mT4LiveUpdate, options) => {
1846
+ const getHeaders = (h) => {
1847
+ if (!h)
1848
+ return {};
1849
+ if (h instanceof Headers)
1850
+ return Object.fromEntries(h.entries());
1851
+ if (Symbol.iterator in h) {
1852
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1853
+ }
1854
+ const headers = {};
1855
+ for (const [name, value] of Object.entries(h)) {
1856
+ if (value !== undefined)
1857
+ headers[name] = value;
1858
+ }
1859
+ return headers;
1860
+ };
1378
1861
  return customFetch(getPostCfgUpdateLiveUpdateUrl(tradePlatform), {
1379
1862
  ...options,
1380
1863
  method: "POST",
1381
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1864
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1382
1865
  body: JSON.stringify(mT4LiveUpdate)
1383
1866
  });
1384
1867
  };
@@ -1386,10 +1869,25 @@ var getPostCfgUpdateManagerUrl = (tradePlatform) => {
1386
1869
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateManager`;
1387
1870
  };
1388
1871
  var postCfgUpdateManager = async (tradePlatform, mT4ManagerRights, options) => {
1872
+ const getHeaders = (h) => {
1873
+ if (!h)
1874
+ return {};
1875
+ if (h instanceof Headers)
1876
+ return Object.fromEntries(h.entries());
1877
+ if (Symbol.iterator in h) {
1878
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1879
+ }
1880
+ const headers = {};
1881
+ for (const [name, value] of Object.entries(h)) {
1882
+ if (value !== undefined)
1883
+ headers[name] = value;
1884
+ }
1885
+ return headers;
1886
+ };
1389
1887
  return customFetch(getPostCfgUpdateManagerUrl(tradePlatform), {
1390
1888
  ...options,
1391
1889
  method: "POST",
1392
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1890
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1393
1891
  body: JSON.stringify(mT4ManagerRights)
1394
1892
  });
1395
1893
  };
@@ -1397,10 +1895,25 @@ var getPostCfgUpdateAccessPosUrl = (tradePlatform, pos) => {
1397
1895
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateAccess/${encodeURIComponent(String(pos))}`;
1398
1896
  };
1399
1897
  var postCfgUpdateAccessPos = async (tradePlatform, pos, mT4Access, options) => {
1898
+ const getHeaders = (h) => {
1899
+ if (!h)
1900
+ return {};
1901
+ if (h instanceof Headers)
1902
+ return Object.fromEntries(h.entries());
1903
+ if (Symbol.iterator in h) {
1904
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1905
+ }
1906
+ const headers = {};
1907
+ for (const [name, value] of Object.entries(h)) {
1908
+ if (value !== undefined)
1909
+ headers[name] = value;
1910
+ }
1911
+ return headers;
1912
+ };
1400
1913
  return customFetch(getPostCfgUpdateAccessPosUrl(tradePlatform, pos), {
1401
1914
  ...options,
1402
1915
  method: "POST",
1403
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1916
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1404
1917
  body: JSON.stringify(mT4Access)
1405
1918
  });
1406
1919
  };
@@ -1408,10 +1921,25 @@ var getPostCfgUpdateDataServerPosUrl = (tradePlatform, pos) => {
1408
1921
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateDataServer/${encodeURIComponent(String(pos))}`;
1409
1922
  };
1410
1923
  var postCfgUpdateDataServerPos = async (tradePlatform, pos, mT4DataServer, options) => {
1924
+ const getHeaders = (h) => {
1925
+ if (!h)
1926
+ return {};
1927
+ if (h instanceof Headers)
1928
+ return Object.fromEntries(h.entries());
1929
+ if (Symbol.iterator in h) {
1930
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1931
+ }
1932
+ const headers = {};
1933
+ for (const [name, value] of Object.entries(h)) {
1934
+ if (value !== undefined)
1935
+ headers[name] = value;
1936
+ }
1937
+ return headers;
1938
+ };
1411
1939
  return customFetch(getPostCfgUpdateDataServerPosUrl(tradePlatform, pos), {
1412
1940
  ...options,
1413
1941
  method: "POST",
1414
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1942
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1415
1943
  body: JSON.stringify(mT4DataServer)
1416
1944
  });
1417
1945
  };
@@ -1419,10 +1947,25 @@ var getPostCfgUpdateHolidayPosUrl = (tradePlatform, pos) => {
1419
1947
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateHoliday/${encodeURIComponent(String(pos))}`;
1420
1948
  };
1421
1949
  var postCfgUpdateHolidayPos = async (tradePlatform, pos, mT4Holiday, options) => {
1950
+ const getHeaders = (h) => {
1951
+ if (!h)
1952
+ return {};
1953
+ if (h instanceof Headers)
1954
+ return Object.fromEntries(h.entries());
1955
+ if (Symbol.iterator in h) {
1956
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1957
+ }
1958
+ const headers = {};
1959
+ for (const [name, value] of Object.entries(h)) {
1960
+ if (value !== undefined)
1961
+ headers[name] = value;
1962
+ }
1963
+ return headers;
1964
+ };
1422
1965
  return customFetch(getPostCfgUpdateHolidayPosUrl(tradePlatform, pos), {
1423
1966
  ...options,
1424
1967
  method: "POST",
1425
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1968
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1426
1969
  body: JSON.stringify(mT4Holiday)
1427
1970
  });
1428
1971
  };
@@ -1430,10 +1973,25 @@ var getPostCfgUpdateSymbolGroupPosUrl = (tradePlatform, pos) => {
1430
1973
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateSymbolGroup/${encodeURIComponent(String(pos))}`;
1431
1974
  };
1432
1975
  var postCfgUpdateSymbolGroupPos = async (tradePlatform, pos, mT4SymbolGroup, options) => {
1976
+ const getHeaders = (h) => {
1977
+ if (!h)
1978
+ return {};
1979
+ if (h instanceof Headers)
1980
+ return Object.fromEntries(h.entries());
1981
+ if (Symbol.iterator in h) {
1982
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1983
+ }
1984
+ const headers = {};
1985
+ for (const [name, value] of Object.entries(h)) {
1986
+ if (value !== undefined)
1987
+ headers[name] = value;
1988
+ }
1989
+ return headers;
1990
+ };
1433
1991
  return customFetch(getPostCfgUpdateSymbolGroupPosUrl(tradePlatform, pos), {
1434
1992
  ...options,
1435
1993
  method: "POST",
1436
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
1994
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1437
1995
  body: JSON.stringify(mT4SymbolGroup)
1438
1996
  });
1439
1997
  };
@@ -1933,20 +2491,52 @@ var getPostGroupRecordUpdateGroupUrl = (tradePlatform, group) => {
1933
2491
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/GroupRecordUpdate/${encodeURIComponent(String(group))}`;
1934
2492
  };
1935
2493
  var postGroupRecordUpdateGroup = async (tradePlatform, group, mT4GroupUpdate, options) => {
2494
+ const getHeaders = (h) => {
2495
+ if (!h)
2496
+ return {};
2497
+ if (h instanceof Headers)
2498
+ return Object.fromEntries(h.entries());
2499
+ if (Symbol.iterator in h) {
2500
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
2501
+ }
2502
+ const headers = {};
2503
+ for (const [name, value] of Object.entries(h)) {
2504
+ if (value !== undefined)
2505
+ headers[name] = value;
2506
+ }
2507
+ return headers;
2508
+ };
1936
2509
  return customFetch(getPostGroupRecordUpdateGroupUrl(tradePlatform, group), {
1937
2510
  ...options,
1938
2511
  method: "POST",
1939
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
2512
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
1940
2513
  body: JSON.stringify(mT4GroupUpdate)
1941
2514
  });
1942
2515
  };
1943
2516
  var getPatchGroupRecordGroupMT4Url = (tradePlatform, group) => {
1944
2517
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/GroupRecord/${encodeURIComponent(String(group))}`;
1945
2518
  };
1946
- var patchGroupRecordGroupMT4 = async (tradePlatform, group, options) => {
2519
+ var patchGroupRecordGroupMT4 = async (tradePlatform, group, patchGroupRecordGroupMT4Body, options) => {
2520
+ const getHeaders = (h) => {
2521
+ if (!h)
2522
+ return {};
2523
+ if (h instanceof Headers)
2524
+ return Object.fromEntries(h.entries());
2525
+ if (Symbol.iterator in h) {
2526
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
2527
+ }
2528
+ const headers = {};
2529
+ for (const [name, value] of Object.entries(h)) {
2530
+ if (value !== undefined)
2531
+ headers[name] = value;
2532
+ }
2533
+ return headers;
2534
+ };
1947
2535
  return customFetch(getPatchGroupRecordGroupMT4Url(tradePlatform, group), {
1948
2536
  ...options,
1949
- method: "PATCH"
2537
+ method: "PATCH",
2538
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
2539
+ body: JSON.stringify(patchGroupRecordGroupMT4Body)
1950
2540
  });
1951
2541
  };
1952
2542
  var getGetEnsureGroupNameExistGroupUrl = (tradePlatform, group) => {
@@ -2146,10 +2736,27 @@ __export(exports_mt4_v2_plugins, {
2146
2736
  var getPostExternalCommandJSONUrl = (tradePlatform) => {
2147
2737
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/ExternalCommandJSON`;
2148
2738
  };
2149
- var postExternalCommandJSON = async (tradePlatform, options) => {
2739
+ var postExternalCommandJSON = async (tradePlatform, postExternalCommandJSONBody, options) => {
2740
+ const getHeaders = (h) => {
2741
+ if (!h)
2742
+ return {};
2743
+ if (h instanceof Headers)
2744
+ return Object.fromEntries(h.entries());
2745
+ if (Symbol.iterator in h) {
2746
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
2747
+ }
2748
+ const headers = {};
2749
+ for (const [name, value] of Object.entries(h)) {
2750
+ if (value !== undefined)
2751
+ headers[name] = value;
2752
+ }
2753
+ return headers;
2754
+ };
2150
2755
  return customFetch(getPostExternalCommandJSONUrl(tradePlatform), {
2151
2756
  ...options,
2152
- method: "POST"
2757
+ method: "POST",
2758
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
2759
+ body: JSON.stringify(postExternalCommandJSONBody)
2153
2760
  });
2154
2761
  };
2155
2762
 
@@ -2200,10 +2807,25 @@ var getPostChartAddSymbolUrl = (tradePlatform, symbol, params) => {
2200
2807
  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))}`;
2201
2808
  };
2202
2809
  var postChartAddSymbol = async (tradePlatform, symbol, mT4ChartWriteRequest, params, options) => {
2810
+ const getHeaders = (h) => {
2811
+ if (!h)
2812
+ return {};
2813
+ if (h instanceof Headers)
2814
+ return Object.fromEntries(h.entries());
2815
+ if (Symbol.iterator in h) {
2816
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
2817
+ }
2818
+ const headers = {};
2819
+ for (const [name, value] of Object.entries(h)) {
2820
+ if (value !== undefined)
2821
+ headers[name] = value;
2822
+ }
2823
+ return headers;
2824
+ };
2203
2825
  return customFetch(getPostChartAddSymbolUrl(tradePlatform, symbol, params), {
2204
2826
  ...options,
2205
2827
  method: "POST",
2206
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
2828
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
2207
2829
  body: JSON.stringify(mT4ChartWriteRequest)
2208
2830
  });
2209
2831
  };
@@ -2218,10 +2840,25 @@ var getPostChartUpdateSymbolUrl = (tradePlatform, symbol, params) => {
2218
2840
  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))}`;
2219
2841
  };
2220
2842
  var postChartUpdateSymbol = async (tradePlatform, symbol, mT4ChartWriteRequest, params, options) => {
2843
+ const getHeaders = (h) => {
2844
+ if (!h)
2845
+ return {};
2846
+ if (h instanceof Headers)
2847
+ return Object.fromEntries(h.entries());
2848
+ if (Symbol.iterator in h) {
2849
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
2850
+ }
2851
+ const headers = {};
2852
+ for (const [name, value] of Object.entries(h)) {
2853
+ if (value !== undefined)
2854
+ headers[name] = value;
2855
+ }
2856
+ return headers;
2857
+ };
2221
2858
  return customFetch(getPostChartUpdateSymbolUrl(tradePlatform, symbol, params), {
2222
2859
  ...options,
2223
2860
  method: "POST",
2224
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
2861
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
2225
2862
  body: JSON.stringify(mT4ChartWriteRequest)
2226
2863
  });
2227
2864
  };
@@ -2236,10 +2873,25 @@ var getPostChartDeleteSymbolUrl = (tradePlatform, symbol, params) => {
2236
2873
  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))}`;
2237
2874
  };
2238
2875
  var postChartDeleteSymbol = async (tradePlatform, symbol, mT4ChartWriteRequest, params, options) => {
2876
+ const getHeaders = (h) => {
2877
+ if (!h)
2878
+ return {};
2879
+ if (h instanceof Headers)
2880
+ return Object.fromEntries(h.entries());
2881
+ if (Symbol.iterator in h) {
2882
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
2883
+ }
2884
+ const headers = {};
2885
+ for (const [name, value] of Object.entries(h)) {
2886
+ if (value !== undefined)
2887
+ headers[name] = value;
2888
+ }
2889
+ return headers;
2890
+ };
2239
2891
  return customFetch(getPostChartDeleteSymbolUrl(tradePlatform, symbol, params), {
2240
2892
  ...options,
2241
2893
  method: "POST",
2242
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
2894
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
2243
2895
  body: JSON.stringify(mT4ChartWriteRequest)
2244
2896
  });
2245
2897
  };
@@ -2322,6 +2974,13 @@ var getPerformanceRequest = async (tradePlatform, params, options) => {
2322
2974
  var getGetReportsRequestUrl = (tradePlatform, params) => {
2323
2975
  const normalizedParams = new URLSearchParams;
2324
2976
  Object.entries(params || {}).forEach(([key, value]) => {
2977
+ const explodeParameters = ["logins"];
2978
+ if (Array.isArray(value) && explodeParameters.includes(key)) {
2979
+ value.forEach((v) => {
2980
+ normalizedParams.append(key, v === null ? "null" : String(v));
2981
+ });
2982
+ return;
2983
+ }
2325
2984
  if (value !== undefined) {
2326
2985
  normalizedParams.append(key, value === null ? "null" : String(value));
2327
2986
  }
@@ -2338,6 +2997,13 @@ var getReportsRequest = async (tradePlatform, params, options) => {
2338
2997
  var getGetDailyReportsRequestUrl = (tradePlatform, params) => {
2339
2998
  const normalizedParams = new URLSearchParams;
2340
2999
  Object.entries(params || {}).forEach(([key, value]) => {
3000
+ const explodeParameters = ["logins"];
3001
+ if (Array.isArray(value) && explodeParameters.includes(key)) {
3002
+ value.forEach((v) => {
3003
+ normalizedParams.append(key, v === null ? "null" : String(v));
3004
+ });
3005
+ return;
3006
+ }
2341
3007
  if (value !== undefined) {
2342
3008
  normalizedParams.append(key, value === null ? "null" : String(value));
2343
3009
  }
@@ -2354,6 +3020,13 @@ var getDailyReportsRequest = async (tradePlatform, params, options) => {
2354
3020
  var getGetDailyReportsRequestExUrl = (tradePlatform, params) => {
2355
3021
  const normalizedParams = new URLSearchParams;
2356
3022
  Object.entries(params || {}).forEach(([key, value]) => {
3023
+ const explodeParameters = ["logins"];
3024
+ if (Array.isArray(value) && explodeParameters.includes(key)) {
3025
+ value.forEach((v) => {
3026
+ normalizedParams.append(key, v === null ? "null" : String(v));
3027
+ });
3028
+ return;
3029
+ }
2357
3030
  if (value !== undefined) {
2358
3031
  normalizedParams.append(key, value === null ? "null" : String(value));
2359
3032
  }
@@ -2511,10 +3184,25 @@ var getPostNotificationsSendUrl = (tradePlatform) => {
2511
3184
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/NotificationsSend`;
2512
3185
  };
2513
3186
  var postNotificationsSend = async (tradePlatform, mT4NotificationsSendRequest, options) => {
3187
+ const getHeaders = (h) => {
3188
+ if (!h)
3189
+ return {};
3190
+ if (h instanceof Headers)
3191
+ return Object.fromEntries(h.entries());
3192
+ if (Symbol.iterator in h) {
3193
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3194
+ }
3195
+ const headers = {};
3196
+ for (const [name, value] of Object.entries(h)) {
3197
+ if (value !== undefined)
3198
+ headers[name] = value;
3199
+ }
3200
+ return headers;
3201
+ };
2514
3202
  return customFetch(getPostNotificationsSendUrl(tradePlatform), {
2515
3203
  ...options,
2516
3204
  method: "POST",
2517
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
3205
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
2518
3206
  body: JSON.stringify(mT4NotificationsSendRequest)
2519
3207
  });
2520
3208
  };
@@ -2630,20 +3318,52 @@ var getPostCfgUpdateSymbolSymbolUrl = (tradePlatform, symbol) => {
2630
3318
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdateSymbol/${encodeURIComponent(String(symbol))}`;
2631
3319
  };
2632
3320
  var postCfgUpdateSymbolSymbol = async (tradePlatform, symbol, mT4SymbolConfigUpdate, options) => {
3321
+ const getHeaders = (h) => {
3322
+ if (!h)
3323
+ return {};
3324
+ if (h instanceof Headers)
3325
+ return Object.fromEntries(h.entries());
3326
+ if (Symbol.iterator in h) {
3327
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3328
+ }
3329
+ const headers = {};
3330
+ for (const [name, value] of Object.entries(h)) {
3331
+ if (value !== undefined)
3332
+ headers[name] = value;
3333
+ }
3334
+ return headers;
3335
+ };
2633
3336
  return customFetch(getPostCfgUpdateSymbolSymbolUrl(tradePlatform, symbol), {
2634
3337
  ...options,
2635
3338
  method: "POST",
2636
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
3339
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
2637
3340
  body: JSON.stringify(mT4SymbolConfigUpdate)
2638
3341
  });
2639
3342
  };
2640
3343
  var getPatchSymbolConfigSymbolUrl = (tradePlatform, symbol) => {
2641
3344
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/SymbolConfig/${encodeURIComponent(String(symbol))}`;
2642
3345
  };
2643
- var patchSymbolConfigSymbol = async (tradePlatform, symbol, options) => {
3346
+ var patchSymbolConfigSymbol = async (tradePlatform, symbol, patchSymbolConfigSymbolBody, options) => {
3347
+ const getHeaders = (h) => {
3348
+ if (!h)
3349
+ return {};
3350
+ if (h instanceof Headers)
3351
+ return Object.fromEntries(h.entries());
3352
+ if (Symbol.iterator in h) {
3353
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3354
+ }
3355
+ const headers = {};
3356
+ for (const [name, value] of Object.entries(h)) {
3357
+ if (value !== undefined)
3358
+ headers[name] = value;
3359
+ }
3360
+ return headers;
3361
+ };
2644
3362
  return customFetch(getPatchSymbolConfigSymbolUrl(tradePlatform, symbol), {
2645
3363
  ...options,
2646
- method: "PATCH"
3364
+ method: "PATCH",
3365
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
3366
+ body: JSON.stringify(patchSymbolConfigSymbolBody)
2647
3367
  });
2648
3368
  };
2649
3369
  var getPostSymbolAddSymbolUrl = (tradePlatform, symbol) => {
@@ -2677,10 +3397,25 @@ var getPostSymbolChangeUrl = (tradePlatform) => {
2677
3397
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/SymbolChange`;
2678
3398
  };
2679
3399
  var postSymbolChange = async (tradePlatform, mT4SymbolChangeRequest, options) => {
3400
+ const getHeaders = (h) => {
3401
+ if (!h)
3402
+ return {};
3403
+ if (h instanceof Headers)
3404
+ return Object.fromEntries(h.entries());
3405
+ if (Symbol.iterator in h) {
3406
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3407
+ }
3408
+ const headers = {};
3409
+ for (const [name, value] of Object.entries(h)) {
3410
+ if (value !== undefined)
3411
+ headers[name] = value;
3412
+ }
3413
+ return headers;
3414
+ };
2680
3415
  return customFetch(getPostSymbolChangeUrl(tradePlatform), {
2681
3416
  ...options,
2682
3417
  method: "POST",
2683
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
3418
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
2684
3419
  body: JSON.stringify(mT4SymbolChangeRequest)
2685
3420
  });
2686
3421
  };
@@ -2816,10 +3551,25 @@ var getPostTradeCheckStopsUrl = (tradePlatform, params) => {
2816
3551
  return stringifiedParams.length > 0 ? `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/TradeCheckStops?${stringifiedParams}` : `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/TradeCheckStops`;
2817
3552
  };
2818
3553
  var postTradeCheckStops = async (tradePlatform, mT4TradeTransaction, params, options) => {
3554
+ const getHeaders = (h) => {
3555
+ if (!h)
3556
+ return {};
3557
+ if (h instanceof Headers)
3558
+ return Object.fromEntries(h.entries());
3559
+ if (Symbol.iterator in h) {
3560
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3561
+ }
3562
+ const headers = {};
3563
+ for (const [name, value] of Object.entries(h)) {
3564
+ if (value !== undefined)
3565
+ headers[name] = value;
3566
+ }
3567
+ return headers;
3568
+ };
2819
3569
  return customFetch(getPostTradeCheckStopsUrl(tradePlatform, params), {
2820
3570
  ...options,
2821
3571
  method: "POST",
2822
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
3572
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
2823
3573
  body: JSON.stringify(mT4TradeTransaction)
2824
3574
  });
2825
3575
  };
@@ -2861,10 +3611,25 @@ var getPostAdmTradeRecordModifyTicketUrl = (tradePlatform, ticket) => {
2861
3611
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/AdmTradeRecordModify/${encodeURIComponent(String(ticket))}`;
2862
3612
  };
2863
3613
  var postAdmTradeRecordModifyTicket = async (tradePlatform, ticket, mT4TradeUpdate, options) => {
3614
+ const getHeaders = (h) => {
3615
+ if (!h)
3616
+ return {};
3617
+ if (h instanceof Headers)
3618
+ return Object.fromEntries(h.entries());
3619
+ if (Symbol.iterator in h) {
3620
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3621
+ }
3622
+ const headers = {};
3623
+ for (const [name, value] of Object.entries(h)) {
3624
+ if (value !== undefined)
3625
+ headers[name] = value;
3626
+ }
3627
+ return headers;
3628
+ };
2864
3629
  return customFetch(getPostAdmTradeRecordModifyTicketUrl(tradePlatform, ticket), {
2865
3630
  ...options,
2866
3631
  method: "POST",
2867
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
3632
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
2868
3633
  body: JSON.stringify(mT4TradeUpdate)
2869
3634
  });
2870
3635
  };
@@ -2872,18 +3637,37 @@ var getPostTradeTransactionUrl = (tradePlatform) => {
2872
3637
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/TradeTransaction`;
2873
3638
  };
2874
3639
  var postTradeTransaction = async (tradePlatform, mT4TradeTransaction, options) => {
3640
+ const getHeaders = (h) => {
3641
+ if (!h)
3642
+ return {};
3643
+ if (h instanceof Headers)
3644
+ return Object.fromEntries(h.entries());
3645
+ if (Symbol.iterator in h) {
3646
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3647
+ }
3648
+ const headers = {};
3649
+ for (const [name, value] of Object.entries(h)) {
3650
+ if (value !== undefined)
3651
+ headers[name] = value;
3652
+ }
3653
+ return headers;
3654
+ };
2875
3655
  return customFetch(getPostTradeTransactionUrl(tradePlatform), {
2876
3656
  ...options,
2877
3657
  method: "POST",
2878
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
3658
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
2879
3659
  body: JSON.stringify(mT4TradeTransaction)
2880
3660
  });
2881
3661
  };
2882
3662
  var getGetTradeRecordsRequestUrl = (tradePlatform, params) => {
2883
3663
  const normalizedParams = new URLSearchParams;
2884
3664
  Object.entries(params || {}).forEach(([key, value]) => {
2885
- if (value !== undefined) {
2886
- normalizedParams.append(key, value === null ? "null" : String(value));
3665
+ const explodeParameters = ["orders"];
3666
+ if (Array.isArray(value) && explodeParameters.includes(key)) {
3667
+ value.forEach((v) => {
3668
+ normalizedParams.append(key, v === null ? "null" : String(v));
3669
+ });
3670
+ return;
2887
3671
  }
2888
3672
  });
2889
3673
  const stringifiedParams = normalizedParams.toString();
@@ -2914,8 +3698,12 @@ var getAdmTradesRequestGroup = async (tradePlatform, group, params, options) =>
2914
3698
  var getPostAdmTradesDeleteUrl = (tradePlatform, params) => {
2915
3699
  const normalizedParams = new URLSearchParams;
2916
3700
  Object.entries(params || {}).forEach(([key, value]) => {
2917
- if (value !== undefined) {
2918
- normalizedParams.append(key, value === null ? "null" : String(value));
3701
+ const explodeParameters = ["orders"];
3702
+ if (Array.isArray(value) && explodeParameters.includes(key)) {
3703
+ value.forEach((v) => {
3704
+ normalizedParams.append(key, v === null ? "null" : String(v));
3705
+ });
3706
+ return;
2919
3707
  }
2920
3708
  });
2921
3709
  const stringifiedParams = normalizedParams.toString();
@@ -2995,8 +3783,12 @@ var getUserRecordRequestLogin = async (tradePlatform, login, options) => {
2995
3783
  var getGetUserRecordsRequestUrl = (tradePlatform, params) => {
2996
3784
  const normalizedParams = new URLSearchParams;
2997
3785
  Object.entries(params || {}).forEach(([key, value]) => {
2998
- if (value !== undefined) {
2999
- normalizedParams.append(key, value === null ? "null" : String(value));
3786
+ const explodeParameters = ["logins"];
3787
+ if (Array.isArray(value) && explodeParameters.includes(key)) {
3788
+ value.forEach((v) => {
3789
+ normalizedParams.append(key, v === null ? "null" : String(v));
3790
+ });
3791
+ return;
3000
3792
  }
3001
3793
  });
3002
3794
  const stringifiedParams = normalizedParams.toString();
@@ -3020,8 +3812,12 @@ var getAdmBalanceCheckLogin = async (tradePlatform, login, options) => {
3020
3812
  var getGetAdmBalanceCheckUrl = (tradePlatform, params) => {
3021
3813
  const normalizedParams = new URLSearchParams;
3022
3814
  Object.entries(params || {}).forEach(([key, value]) => {
3023
- if (value !== undefined) {
3024
- normalizedParams.append(key, value === null ? "null" : String(value));
3815
+ const explodeParameters = ["logins"];
3816
+ if (Array.isArray(value) && explodeParameters.includes(key)) {
3817
+ value.forEach((v) => {
3818
+ normalizedParams.append(key, v === null ? "null" : String(v));
3819
+ });
3820
+ return;
3025
3821
  }
3026
3822
  });
3027
3823
  const stringifiedParams = normalizedParams.toString();
@@ -3036,8 +3832,12 @@ var getAdmBalanceCheck = async (tradePlatform, params, options) => {
3036
3832
  var getPostAdmBalanceFixUrl = (tradePlatform, params) => {
3037
3833
  const normalizedParams = new URLSearchParams;
3038
3834
  Object.entries(params || {}).forEach(([key, value]) => {
3039
- if (value !== undefined) {
3040
- normalizedParams.append(key, value === null ? "null" : String(value));
3835
+ const explodeParameters = ["logins"];
3836
+ if (Array.isArray(value) && explodeParameters.includes(key)) {
3837
+ value.forEach((v) => {
3838
+ normalizedParams.append(key, v === null ? "null" : String(v));
3839
+ });
3840
+ return;
3041
3841
  }
3042
3842
  });
3043
3843
  const stringifiedParams = normalizedParams.toString();
@@ -3069,10 +3869,25 @@ var getPostUserRecordNewUrl = (tradePlatform) => {
3069
3869
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/UserRecordNew`;
3070
3870
  };
3071
3871
  var postUserRecordNew = async (tradePlatform, mT4UserCreate, options) => {
3872
+ const getHeaders = (h) => {
3873
+ if (!h)
3874
+ return {};
3875
+ if (h instanceof Headers)
3876
+ return Object.fromEntries(h.entries());
3877
+ if (Symbol.iterator in h) {
3878
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3879
+ }
3880
+ const headers = {};
3881
+ for (const [name, value] of Object.entries(h)) {
3882
+ if (value !== undefined)
3883
+ headers[name] = value;
3884
+ }
3885
+ return headers;
3886
+ };
3072
3887
  return customFetch(getPostUserRecordNewUrl(tradePlatform), {
3073
3888
  ...options,
3074
3889
  method: "POST",
3075
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
3890
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
3076
3891
  body: JSON.stringify(mT4UserCreate)
3077
3892
  });
3078
3893
  };
@@ -3080,20 +3895,52 @@ var getPostUserRecordUpdateLoginUrl = (tradePlatform, login) => {
3080
3895
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/UserRecordUpdate/${encodeURIComponent(String(login))}`;
3081
3896
  };
3082
3897
  var postUserRecordUpdateLogin = async (tradePlatform, login, mT4UserUpdate, options) => {
3898
+ const getHeaders = (h) => {
3899
+ if (!h)
3900
+ return {};
3901
+ if (h instanceof Headers)
3902
+ return Object.fromEntries(h.entries());
3903
+ if (Symbol.iterator in h) {
3904
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3905
+ }
3906
+ const headers = {};
3907
+ for (const [name, value] of Object.entries(h)) {
3908
+ if (value !== undefined)
3909
+ headers[name] = value;
3910
+ }
3911
+ return headers;
3912
+ };
3083
3913
  return customFetch(getPostUserRecordUpdateLoginUrl(tradePlatform, login), {
3084
3914
  ...options,
3085
3915
  method: "POST",
3086
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
3916
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
3087
3917
  body: JSON.stringify(mT4UserUpdate)
3088
3918
  });
3089
3919
  };
3090
3920
  var getPatchUserRecordLoginMT4Url = (tradePlatform, login) => {
3091
3921
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/UserRecord/${encodeURIComponent(String(login))}`;
3092
3922
  };
3093
- var patchUserRecordLoginMT4 = async (tradePlatform, login, options) => {
3923
+ var patchUserRecordLoginMT4 = async (tradePlatform, login, patchUserRecordLoginMT4Body, options) => {
3924
+ const getHeaders = (h) => {
3925
+ if (!h)
3926
+ return {};
3927
+ if (h instanceof Headers)
3928
+ return Object.fromEntries(h.entries());
3929
+ if (Symbol.iterator in h) {
3930
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3931
+ }
3932
+ const headers = {};
3933
+ for (const [name, value] of Object.entries(h)) {
3934
+ if (value !== undefined)
3935
+ headers[name] = value;
3936
+ }
3937
+ return headers;
3938
+ };
3094
3939
  return customFetch(getPatchUserRecordLoginMT4Url(tradePlatform, login), {
3095
3940
  ...options,
3096
- method: "PATCH"
3941
+ method: "PATCH",
3942
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
3943
+ body: JSON.stringify(patchUserRecordLoginMT4Body)
3097
3944
  });
3098
3945
  };
3099
3946
  var getGetAdmUsersRequestSafeGroupUrl = (tradePlatform, group) => {
@@ -3125,10 +3972,25 @@ var getPostUsersGroupOpUrl = (tradePlatform) => {
3125
3972
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/UsersGroupOp`;
3126
3973
  };
3127
3974
  var postUsersGroupOp = async (tradePlatform, mT4UsersGroupOp, options) => {
3975
+ const getHeaders = (h) => {
3976
+ if (!h)
3977
+ return {};
3978
+ if (h instanceof Headers)
3979
+ return Object.fromEntries(h.entries());
3980
+ if (Symbol.iterator in h) {
3981
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3982
+ }
3983
+ const headers = {};
3984
+ for (const [name, value] of Object.entries(h)) {
3985
+ if (value !== undefined)
3986
+ headers[name] = value;
3987
+ }
3988
+ return headers;
3989
+ };
3128
3990
  return customFetch(getPostUsersGroupOpUrl(tradePlatform), {
3129
3991
  ...options,
3130
3992
  method: "POST",
3131
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
3993
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
3132
3994
  body: JSON.stringify(mT4UsersGroupOp)
3133
3995
  });
3134
3996
  };
@@ -3147,10 +4009,25 @@ var getPostNewsSendUrl = (tradePlatform) => {
3147
4009
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/NewsSend`;
3148
4010
  };
3149
4011
  var postNewsSend = async (tradePlatform, mT4NewsSendRequest, options) => {
4012
+ const getHeaders = (h) => {
4013
+ if (!h)
4014
+ return {};
4015
+ if (h instanceof Headers)
4016
+ return Object.fromEntries(h.entries());
4017
+ if (Symbol.iterator in h) {
4018
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
4019
+ }
4020
+ const headers = {};
4021
+ for (const [name, value] of Object.entries(h)) {
4022
+ if (value !== undefined)
4023
+ headers[name] = value;
4024
+ }
4025
+ return headers;
4026
+ };
3150
4027
  return customFetch(getPostNewsSendUrl(tradePlatform), {
3151
4028
  ...options,
3152
4029
  method: "POST",
3153
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
4030
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
3154
4031
  body: JSON.stringify(mT4NewsSendRequest)
3155
4032
  });
3156
4033
  };
@@ -3158,10 +4035,25 @@ var getPostMailSendUrl = (tradePlatform) => {
3158
4035
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/MailSend`;
3159
4036
  };
3160
4037
  var postMailSend = async (tradePlatform, mT4MailSendRequest, options) => {
4038
+ const getHeaders = (h) => {
4039
+ if (!h)
4040
+ return {};
4041
+ if (h instanceof Headers)
4042
+ return Object.fromEntries(h.entries());
4043
+ if (Symbol.iterator in h) {
4044
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
4045
+ }
4046
+ const headers = {};
4047
+ for (const [name, value] of Object.entries(h)) {
4048
+ if (value !== undefined)
4049
+ headers[name] = value;
4050
+ }
4051
+ return headers;
4052
+ };
3161
4053
  return customFetch(getPostMailSendUrl(tradePlatform), {
3162
4054
  ...options,
3163
4055
  method: "POST",
3164
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
4056
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
3165
4057
  body: JSON.stringify(mT4MailSendRequest)
3166
4058
  });
3167
4059
  };
@@ -3211,10 +4103,25 @@ var getPostPluginUpdateUrl = (tradePlatform) => {
3211
4103
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/PluginUpdate`;
3212
4104
  };
3213
4105
  var postPluginUpdate = async (tradePlatform, mT4PluginParam, options) => {
4106
+ const getHeaders = (h) => {
4107
+ if (!h)
4108
+ return {};
4109
+ if (h instanceof Headers)
4110
+ return Object.fromEntries(h.entries());
4111
+ if (Symbol.iterator in h) {
4112
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
4113
+ }
4114
+ const headers = {};
4115
+ for (const [name, value] of Object.entries(h)) {
4116
+ if (value !== undefined)
4117
+ headers[name] = value;
4118
+ }
4119
+ return headers;
4120
+ };
3214
4121
  return customFetch(getPostPluginUpdateUrl(tradePlatform), {
3215
4122
  ...options,
3216
4123
  method: "POST",
3217
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
4124
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
3218
4125
  body: JSON.stringify(mT4PluginParam)
3219
4126
  });
3220
4127
  };
@@ -3231,10 +4138,25 @@ var getPostCfgUpdatePluginUrl = (tradePlatform) => {
3231
4138
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/CfgUpdatePlugin`;
3232
4139
  };
3233
4140
  var postCfgUpdatePlugin = async (tradePlatform, mT4PluginParam, options) => {
4141
+ const getHeaders = (h) => {
4142
+ if (!h)
4143
+ return {};
4144
+ if (h instanceof Headers)
4145
+ return Object.fromEntries(h.entries());
4146
+ if (Symbol.iterator in h) {
4147
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
4148
+ }
4149
+ const headers = {};
4150
+ for (const [name, value] of Object.entries(h)) {
4151
+ if (value !== undefined)
4152
+ headers[name] = value;
4153
+ }
4154
+ return headers;
4155
+ };
3234
4156
  return customFetch(getPostCfgUpdatePluginUrl(tradePlatform), {
3235
4157
  ...options,
3236
4158
  method: "POST",
3237
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
4159
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
3238
4160
  body: JSON.stringify(mT4PluginParam)
3239
4161
  });
3240
4162
  };
@@ -3326,10 +4248,25 @@ var getPostExternalCommandBinaryUrl = (tradePlatform) => {
3326
4248
  return `/api/v2/MT4/${encodeURIComponent(String(tradePlatform))}/ExternalCommandBinary`;
3327
4249
  };
3328
4250
  var postExternalCommandBinary = async (tradePlatform, mT4ExternalCommandBinaryRequest, options) => {
4251
+ const getHeaders = (h) => {
4252
+ if (!h)
4253
+ return {};
4254
+ if (h instanceof Headers)
4255
+ return Object.fromEntries(h.entries());
4256
+ if (Symbol.iterator in h) {
4257
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
4258
+ }
4259
+ const headers = {};
4260
+ for (const [name, value] of Object.entries(h)) {
4261
+ if (value !== undefined)
4262
+ headers[name] = value;
4263
+ }
4264
+ return headers;
4265
+ };
3329
4266
  return customFetch(getPostExternalCommandBinaryUrl(tradePlatform), {
3330
4267
  ...options,
3331
4268
  method: "POST",
3332
- headers: { "Content-Type": "application/json-patch+json", ...options?.headers },
4269
+ headers: { "Content-Type": "application/json-patch+json", ...getHeaders(options?.headers) },
3333
4270
  body: JSON.stringify(mT4ExternalCommandBinaryRequest)
3334
4271
  });
3335
4272
  };
@@ -3381,10 +4318,27 @@ var getGroupGetGroup = async (tradePlatform, group, options) => {
3381
4318
  var getPatchGroupRecordGroupMT5Url = (tradePlatform, group) => {
3382
4319
  return `/api/v2/MT5/${encodeURIComponent(String(tradePlatform))}/GroupRecord/${encodeURIComponent(String(group))}`;
3383
4320
  };
3384
- var patchGroupRecordGroupMT5 = async (tradePlatform, group, options) => {
4321
+ var patchGroupRecordGroupMT5 = async (tradePlatform, group, patchGroupRecordGroupMT5Body, options) => {
4322
+ const getHeaders = (h) => {
4323
+ if (!h)
4324
+ return {};
4325
+ if (h instanceof Headers)
4326
+ return Object.fromEntries(h.entries());
4327
+ if (Symbol.iterator in h) {
4328
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
4329
+ }
4330
+ const headers = {};
4331
+ for (const [name, value] of Object.entries(h)) {
4332
+ if (value !== undefined)
4333
+ headers[name] = value;
4334
+ }
4335
+ return headers;
4336
+ };
3385
4337
  return customFetch(getPatchGroupRecordGroupMT5Url(tradePlatform, group), {
3386
4338
  ...options,
3387
- method: "PATCH"
4339
+ method: "PATCH",
4340
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
4341
+ body: JSON.stringify(patchGroupRecordGroupMT5Body)
3388
4342
  });
3389
4343
  };
3390
4344
 
@@ -3424,10 +4378,27 @@ var getSymbolGetSymbol = async (tradePlatform, symbol, options) => {
3424
4378
  var getPatchSymbolRecordSymbolUrl = (tradePlatform, symbol) => {
3425
4379
  return `/api/v2/MT5/${encodeURIComponent(String(tradePlatform))}/SymbolRecord/${encodeURIComponent(String(symbol))}`;
3426
4380
  };
3427
- var patchSymbolRecordSymbol = async (tradePlatform, symbol, options) => {
4381
+ var patchSymbolRecordSymbol = async (tradePlatform, symbol, patchSymbolRecordSymbolBody, options) => {
4382
+ const getHeaders = (h) => {
4383
+ if (!h)
4384
+ return {};
4385
+ if (h instanceof Headers)
4386
+ return Object.fromEntries(h.entries());
4387
+ if (Symbol.iterator in h) {
4388
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
4389
+ }
4390
+ const headers = {};
4391
+ for (const [name, value] of Object.entries(h)) {
4392
+ if (value !== undefined)
4393
+ headers[name] = value;
4394
+ }
4395
+ return headers;
4396
+ };
3428
4397
  return customFetch(getPatchSymbolRecordSymbolUrl(tradePlatform, symbol), {
3429
4398
  ...options,
3430
- method: "PATCH"
4399
+ method: "PATCH",
4400
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
4401
+ body: JSON.stringify(patchSymbolRecordSymbolBody)
3431
4402
  });
3432
4403
  };
3433
4404
 
@@ -3510,10 +4481,27 @@ var getUserGetLogin = async (tradePlatform, login, options) => {
3510
4481
  var getPatchUserRecordLoginMT5Url = (tradePlatform, login) => {
3511
4482
  return `/api/v2/MT5/${encodeURIComponent(String(tradePlatform))}/UserRecord/${encodeURIComponent(String(login))}`;
3512
4483
  };
3513
- var patchUserRecordLoginMT5 = async (tradePlatform, login, options) => {
4484
+ var patchUserRecordLoginMT5 = async (tradePlatform, login, patchUserRecordLoginMT5Body, options) => {
4485
+ const getHeaders = (h) => {
4486
+ if (!h)
4487
+ return {};
4488
+ if (h instanceof Headers)
4489
+ return Object.fromEntries(h.entries());
4490
+ if (Symbol.iterator in h) {
4491
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
4492
+ }
4493
+ const headers = {};
4494
+ for (const [name, value] of Object.entries(h)) {
4495
+ if (value !== undefined)
4496
+ headers[name] = value;
4497
+ }
4498
+ return headers;
4499
+ };
3514
4500
  return customFetch(getPatchUserRecordLoginMT5Url(tradePlatform, login), {
3515
4501
  ...options,
3516
- method: "PATCH"
4502
+ method: "PATCH",
4503
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
4504
+ body: JSON.stringify(patchUserRecordLoginMT5Body)
3517
4505
  });
3518
4506
  };
3519
4507
 
@@ -3559,7 +4547,8 @@ class CPluginWebApiClient {
3559
4547
  tokenProvider,
3560
4548
  fetchImpl: init.fetch ?? globalThis.fetch.bind(globalThis),
3561
4549
  retryPolicy: { ...defaultPolicy, ...init.retry ?? {} },
3562
- timeoutMs: init.timeoutMs ?? 30000
4550
+ timeoutMs: init.timeoutMs ?? 30000,
4551
+ ...init.requestTimeout !== undefined ? { requestTimeout: validateRequestTimeout(init.requestTimeout) } : {}
3563
4552
  };
3564
4553
  if (!Number.isFinite(this.base.timeoutMs) || this.base.timeoutMs <= 0) {
3565
4554
  throw new TypeError("timeoutMs must be a positive finite number");
@@ -3662,9 +4651,14 @@ async function collectAll(fetchPage) {
3662
4651
  export {
3663
4652
  resolveEnvironment,
3664
4653
  paginate,
4654
+ isRetryable,
4655
+ isOutcomeUnknown,
3665
4656
  defaultPolicy,
3666
4657
  collectAll,
3667
4658
  StaticTokenProvider,
4659
+ SERVER_ANSWER_MARGIN_MS,
4660
+ REQUEST_TIMEOUT_MIN_SECONDS,
4661
+ REQUEST_TIMEOUT_MAX_SECONDS,
3668
4662
  OAuth2TokenError,
3669
4663
  MT5V2SignalRClient,
3670
4664
  MT4V2SignalRError,