@mywebapi.com/sdk 0.1.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 (361) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +252 -0
  3. package/dist/auth.d.ts +54 -0
  4. package/dist/client.d.ts +137 -0
  5. package/dist/environments.d.ts +13 -0
  6. package/dist/errors.d.ts +27 -0
  7. package/dist/generated/model/activationModes.d.ts +14 -0
  8. package/dist/generated/model/activationType.d.ts +19 -0
  9. package/dist/generated/model/apiError.d.ts +25 -0
  10. package/dist/generated/model/apiMeta.d.ts +23 -0
  11. package/dist/generated/model/arcBackupExecutionPeriod.d.ts +14 -0
  12. package/dist/generated/model/arcBackupStorePeriod.d.ts +15 -0
  13. package/dist/generated/model/backupExecutionPeriod.d.ts +13 -0
  14. package/dist/generated/model/backupStorePeriod.d.ts +14 -0
  15. package/dist/generated/model/booleanApiResponse.d.ts +30 -0
  16. package/dist/generated/model/chartPeriod.d.ts +19 -0
  17. package/dist/generated/model/dataFeedMode.d.ts +13 -0
  18. package/dist/generated/model/dateTimeApiResponse.d.ts +30 -0
  19. package/dist/generated/model/dealAction.d.ts +31 -0
  20. package/dist/generated/model/dealReason.d.ts +30 -0
  21. package/dist/generated/model/enAuthMode.d.ts +14 -0
  22. package/dist/generated/model/enAuthOTPMode.d.ts +13 -0
  23. package/dist/generated/model/enCalcMode.d.ts +25 -0
  24. package/dist/generated/model/enChartMode.d.ts +13 -0
  25. package/dist/generated/model/enCommActionMode.d.ts +13 -0
  26. package/dist/generated/model/enCommChargeMode.d.ts +13 -0
  27. package/dist/generated/model/enCommEntryMode.d.ts +13 -0
  28. package/dist/generated/model/enCommMode.d.ts +13 -0
  29. package/dist/generated/model/enCommProfitMode.d.ts +13 -0
  30. package/dist/generated/model/enCommRangeMode.d.ts +15 -0
  31. package/dist/generated/model/enCommReasonFlags.d.ts +19 -0
  32. package/dist/generated/model/enCommissionMode.d.ts +18 -0
  33. package/dist/generated/model/enCommissionVolumeType.d.ts +12 -0
  34. package/dist/generated/model/enExecutionMode.d.ts +14 -0
  35. package/dist/generated/model/enExpirationFlags.d.ts +16 -0
  36. package/dist/generated/model/enFillingFlags.d.ts +15 -0
  37. package/dist/generated/model/enFreeMarginMode.d.ts +14 -0
  38. package/dist/generated/model/enGatewayAccountFlags.d.ts +12 -0
  39. package/dist/generated/model/enGtcMode.d.ts +13 -0
  40. package/dist/generated/model/enHistoryLimit.d.ts +17 -0
  41. package/dist/generated/model/enIndustries.d.ts +176 -0
  42. package/dist/generated/model/enInstantFlags.d.ts +12 -0
  43. package/dist/generated/model/enInstantMode.d.ts +16 -0
  44. package/dist/generated/model/enLogType.d.ts +18 -0
  45. package/dist/generated/model/enMailMode.d.ts +12 -0
  46. package/dist/generated/model/enManagerLimit.d.ts +17 -0
  47. package/dist/generated/model/enManagerRights.d.ts +86 -0
  48. package/dist/generated/model/enMarginCalcFlags.d.ts +12 -0
  49. package/dist/generated/model/enMarginFlags.d.ts +17 -0
  50. package/dist/generated/model/enMarginMode.d.ts +13 -0
  51. package/dist/generated/model/enNewsMode.d.ts +13 -0
  52. package/dist/generated/model/enOptionMode.d.ts +14 -0
  53. package/dist/generated/model/enOrderFlags.d.ts +19 -0
  54. package/dist/generated/model/enPermissionsFlags.d.ts +22 -0
  55. package/dist/generated/model/enReportsFlags.d.ts +15 -0
  56. package/dist/generated/model/enReportsMode.d.ts +14 -0
  57. package/dist/generated/model/enRequestFlags.d.ts +12 -0
  58. package/dist/generated/model/enSectors.d.ts +26 -0
  59. package/dist/generated/model/enSpliceTimeType.d.ts +11 -0
  60. package/dist/generated/model/enSpliceType.d.ts +13 -0
  61. package/dist/generated/model/enStopOutMode.d.ts +12 -0
  62. package/dist/generated/model/enSwapDays.d.ts +18 -0
  63. package/dist/generated/model/enSwapFlags.d.ts +12 -0
  64. package/dist/generated/model/enSwapMode.d.ts +20 -0
  65. package/dist/generated/model/enTickFlags.d.ts +16 -0
  66. package/dist/generated/model/enTradeFlags.d.ts +17 -0
  67. package/dist/generated/model/enTradeMode.d.ts +15 -0
  68. package/dist/generated/model/enTradeRightsFlags.d.ts +25 -0
  69. package/dist/generated/model/enTransferMode.d.ts +14 -0
  70. package/dist/generated/model/entryFlag.d.ts +14 -0
  71. package/dist/generated/model/exportExecutionPeriod.d.ts +15 -0
  72. package/dist/generated/model/gTCMode.d.ts +13 -0
  73. package/dist/generated/model/getAdmBalanceCheckParams.d.ts +13 -0
  74. package/dist/generated/model/getAdmTradesRequestGroupParams.d.ts +13 -0
  75. package/dist/generated/model/getBackupRequestOrdersFileParams.d.ts +17 -0
  76. package/dist/generated/model/getBackupRequestUsersFileParams.d.ts +17 -0
  77. package/dist/generated/model/getCfgRequestAccessParams.d.ts +19 -0
  78. package/dist/generated/model/getCfgRequestDataServerParams.d.ts +19 -0
  79. package/dist/generated/model/getCfgRequestFeederParams.d.ts +19 -0
  80. package/dist/generated/model/getCfgRequestGatewayAccountParams.d.ts +19 -0
  81. package/dist/generated/model/getCfgRequestGatewayMarkupParams.d.ts +19 -0
  82. package/dist/generated/model/getCfgRequestGatewayRuleParams.d.ts +19 -0
  83. package/dist/generated/model/getCfgRequestHolidayParams.d.ts +19 -0
  84. package/dist/generated/model/getCfgRequestLiveUpdateParams.d.ts +19 -0
  85. package/dist/generated/model/getCfgRequestManagerParams.d.ts +19 -0
  86. package/dist/generated/model/getCfgRequestSyncParams.d.ts +19 -0
  87. package/dist/generated/model/getChartRequestSymbolParams.d.ts +27 -0
  88. package/dist/generated/model/getDailyReportsRequestExParams.d.ts +27 -0
  89. package/dist/generated/model/getDailyReportsRequestParams.d.ts +27 -0
  90. package/dist/generated/model/getDealByGroupMaskParams.d.ts +19 -0
  91. package/dist/generated/model/getGroupsRequestParams.d.ts +19 -0
  92. package/dist/generated/model/getJournalRequestParams.d.ts +26 -0
  93. package/dist/generated/model/getOnlineGetParams.d.ts +19 -0
  94. package/dist/generated/model/getOnlineRequestParams.d.ts +19 -0
  95. package/dist/generated/model/getOrderByGroupMaskParams.d.ts +19 -0
  96. package/dist/generated/model/getPerformanceRequestParams.d.ts +15 -0
  97. package/dist/generated/model/getPositionByGroupMaskParams.d.ts +19 -0
  98. package/dist/generated/model/getReportsRequestParams.d.ts +27 -0
  99. package/dist/generated/model/getSrvFeedersParams.d.ts +19 -0
  100. package/dist/generated/model/getSymbolInfoGetParams.d.ts +13 -0
  101. package/dist/generated/model/getSymbolInfoUpdatedParams.d.ts +19 -0
  102. package/dist/generated/model/getTicksRequestSymbolParams.d.ts +22 -0
  103. package/dist/generated/model/getTradeRecordsRequestParams.d.ts +13 -0
  104. package/dist/generated/model/getTradesGetBySymbolParams.d.ts +13 -0
  105. package/dist/generated/model/getTradesGetParams.d.ts +19 -0
  106. package/dist/generated/model/getTradesRequestParams.d.ts +23 -0
  107. package/dist/generated/model/getTradesSnapshotParams.d.ts +13 -0
  108. package/dist/generated/model/getTradesSyncReadParams.d.ts +13 -0
  109. package/dist/generated/model/getTradesUserHistoryLoginParams.d.ts +17 -0
  110. package/dist/generated/model/getUserRecordsRequestParams.d.ts +13 -0
  111. package/dist/generated/model/getUsersRequestParams.d.ts +19 -0
  112. package/dist/generated/model/getUsersSnapshotParams.d.ts +13 -0
  113. package/dist/generated/model/getUsersSyncReadParams.d.ts +13 -0
  114. package/dist/generated/model/groupRights.d.ts +18 -0
  115. package/dist/generated/model/index.d.ts +323 -0
  116. package/dist/generated/model/int32ApiResponse.d.ts +30 -0
  117. package/dist/generated/model/int32MT4DailyReportListDictionaryApiResponse.d.ts +32 -0
  118. package/dist/generated/model/int32MT4DailyReportListDictionaryApiResponseData.d.ts +14 -0
  119. package/dist/generated/model/jsonNode.d.ts +13 -0
  120. package/dist/generated/model/jsonNodeApiResponse.d.ts +31 -0
  121. package/dist/generated/model/jsonNodeOptions.d.ts +10 -0
  122. package/dist/generated/model/mT4Access.d.ts +30 -0
  123. package/dist/generated/model/mT4AccessApiResponse.d.ts +37 -0
  124. package/dist/generated/model/mT4AccessListApiResponse.d.ts +32 -0
  125. package/dist/generated/model/mT4Backup.d.ts +83 -0
  126. package/dist/generated/model/mT4BackupApiResponse.d.ts +38 -0
  127. package/dist/generated/model/mT4BackupInfo.d.ts +27 -0
  128. package/dist/generated/model/mT4BackupInfoListApiResponse.d.ts +32 -0
  129. package/dist/generated/model/mT4BalanceDiff.d.ts +20 -0
  130. package/dist/generated/model/mT4BalanceDiffApiResponse.d.ts +38 -0
  131. package/dist/generated/model/mT4BalanceDiffListApiResponse.d.ts +32 -0
  132. package/dist/generated/model/mT4ChartBar.d.ts +27 -0
  133. package/dist/generated/model/mT4ChartBarListApiResponse.d.ts +32 -0
  134. package/dist/generated/model/mT4ChartWriteRequest.d.ts +21 -0
  135. package/dist/generated/model/mT4Common.d.ts +30 -0
  136. package/dist/generated/model/mT4CommonApiResponse.d.ts +36 -0
  137. package/dist/generated/model/mT4CommonUpdate.d.ts +49 -0
  138. package/dist/generated/model/mT4DailyReport.d.ts +51 -0
  139. package/dist/generated/model/mT4DailyReportListApiResponse.d.ts +32 -0
  140. package/dist/generated/model/mT4DataServer.d.ts +38 -0
  141. package/dist/generated/model/mT4DataServerApiResponse.d.ts +38 -0
  142. package/dist/generated/model/mT4DataServerListApiResponse.d.ts +32 -0
  143. package/dist/generated/model/mT4ExternalCommandBinaryRequest.d.ts +20 -0
  144. package/dist/generated/model/mT4ExternalCommandBinaryResponse.d.ts +17 -0
  145. package/dist/generated/model/mT4ExternalCommandBinaryResponseApiResponse.d.ts +32 -0
  146. package/dist/generated/model/mT4Feeder.d.ts +54 -0
  147. package/dist/generated/model/mT4FeederApiResponse.d.ts +36 -0
  148. package/dist/generated/model/mT4FeederListApiResponse.d.ts +32 -0
  149. package/dist/generated/model/mT4GatewayAccount.d.ts +42 -0
  150. package/dist/generated/model/mT4GatewayAccountApiResponse.d.ts +38 -0
  151. package/dist/generated/model/mT4GatewayAccountListApiResponse.d.ts +32 -0
  152. package/dist/generated/model/mT4GatewayMarkup.d.ts +39 -0
  153. package/dist/generated/model/mT4GatewayMarkupApiResponse.d.ts +38 -0
  154. package/dist/generated/model/mT4GatewayMarkupListApiResponse.d.ts +32 -0
  155. package/dist/generated/model/mT4GatewayRule.d.ts +59 -0
  156. package/dist/generated/model/mT4GatewayRuleApiResponse.d.ts +41 -0
  157. package/dist/generated/model/mT4GatewayRuleListApiResponse.d.ts +32 -0
  158. package/dist/generated/model/mT4Group.d.ts +126 -0
  159. package/dist/generated/model/mT4GroupApiResponse.d.ts +57 -0
  160. package/dist/generated/model/mT4GroupListApiResponse.d.ts +32 -0
  161. package/dist/generated/model/mT4GroupMargin.d.ts +26 -0
  162. package/dist/generated/model/mT4GroupMarginListApiResponse.d.ts +32 -0
  163. package/dist/generated/model/mT4GroupSec.d.ts +77 -0
  164. package/dist/generated/model/mT4GroupSecListApiResponse.d.ts +32 -0
  165. package/dist/generated/model/mT4GroupUpdate.d.ts +111 -0
  166. package/dist/generated/model/mT4Holiday.d.ts +38 -0
  167. package/dist/generated/model/mT4HolidayApiResponse.d.ts +38 -0
  168. package/dist/generated/model/mT4HolidayListApiResponse.d.ts +32 -0
  169. package/dist/generated/model/mT4LiveUpdate.d.ts +43 -0
  170. package/dist/generated/model/mT4LiveUpdateApiResponse.d.ts +41 -0
  171. package/dist/generated/model/mT4LiveUpdateListApiResponse.d.ts +32 -0
  172. package/dist/generated/model/mT4MailBox.d.ts +34 -0
  173. package/dist/generated/model/mT4MailBoxListApiResponse.d.ts +32 -0
  174. package/dist/generated/model/mT4MailSendRequest.d.ts +36 -0
  175. package/dist/generated/model/mT4ManagerRights.d.ts +61 -0
  176. package/dist/generated/model/mT4ManagerRightsApiResponse.d.ts +39 -0
  177. package/dist/generated/model/mT4ManagerRightsListApiResponse.d.ts +32 -0
  178. package/dist/generated/model/mT4MarginLevel.d.ts +45 -0
  179. package/dist/generated/model/mT4MarginLevelApiResponse.d.ts +38 -0
  180. package/dist/generated/model/mT4MarginLevelListApiResponse.d.ts +32 -0
  181. package/dist/generated/model/mT4NewsSendRequest.d.ts +31 -0
  182. package/dist/generated/model/mT4NewsTopic.d.ts +53 -0
  183. package/dist/generated/model/mT4NewsTopicApiResponse.d.ts +42 -0
  184. package/dist/generated/model/mT4NewsTopicListApiResponse.d.ts +32 -0
  185. package/dist/generated/model/mT4NotificationsSendRequest.d.ts +29 -0
  186. package/dist/generated/model/mT4Online.d.ts +24 -0
  187. package/dist/generated/model/mT4OnlineListApiResponse.d.ts +32 -0
  188. package/dist/generated/model/mT4Performance.d.ts +30 -0
  189. package/dist/generated/model/mT4PerformanceListApiResponse.d.ts +32 -0
  190. package/dist/generated/model/mT4Plugin.d.ts +36 -0
  191. package/dist/generated/model/mT4PluginConfig.d.ts +23 -0
  192. package/dist/generated/model/mT4PluginListApiResponse.d.ts +32 -0
  193. package/dist/generated/model/mT4PluginParam.d.ts +22 -0
  194. package/dist/generated/model/mT4PluginParamApiResponse.d.ts +35 -0
  195. package/dist/generated/model/mT4PluginParamListApiResponse.d.ts +32 -0
  196. package/dist/generated/model/mT4ServerLog.d.ts +45 -0
  197. package/dist/generated/model/mT4ServerLogListApiResponse.d.ts +32 -0
  198. package/dist/generated/model/mT4ServerTime.d.ts +26 -0
  199. package/dist/generated/model/mT4ServerTimeApiResponse.d.ts +42 -0
  200. package/dist/generated/model/mT4SymbolChangeRequest.d.ts +38 -0
  201. package/dist/generated/model/mT4SymbolConfig.d.ts +154 -0
  202. package/dist/generated/model/mT4SymbolConfigApiResponse.d.ts +41 -0
  203. package/dist/generated/model/mT4SymbolConfigListApiResponse.d.ts +32 -0
  204. package/dist/generated/model/mT4SymbolConfigUpdate.d.ts +82 -0
  205. package/dist/generated/model/mT4SymbolDaySessions.d.ts +30 -0
  206. package/dist/generated/model/mT4SymbolDaySessionsListApiResponse.d.ts +32 -0
  207. package/dist/generated/model/mT4SymbolGroup.d.ts +26 -0
  208. package/dist/generated/model/mT4SymbolGroupApiResponse.d.ts +38 -0
  209. package/dist/generated/model/mT4SymbolGroupListApiResponse.d.ts +32 -0
  210. package/dist/generated/model/mT4SymbolInfo.d.ts +50 -0
  211. package/dist/generated/model/mT4SymbolInfoApiResponse.d.ts +42 -0
  212. package/dist/generated/model/mT4SymbolInfoListApiResponse.d.ts +32 -0
  213. package/dist/generated/model/mT4SymbolSession.d.ts +23 -0
  214. package/dist/generated/model/mT4Sync.d.ts +41 -0
  215. package/dist/generated/model/mT4SyncApiResponse.d.ts +37 -0
  216. package/dist/generated/model/mT4SyncListApiResponse.d.ts +32 -0
  217. package/dist/generated/model/mT4TickInfo.d.ts +28 -0
  218. package/dist/generated/model/mT4TickInfoApiResponse.d.ts +39 -0
  219. package/dist/generated/model/mT4TickInfoListApiResponse.d.ts +32 -0
  220. package/dist/generated/model/mT4TickRecord.d.ts +30 -0
  221. package/dist/generated/model/mT4TickRecordListApiResponse.d.ts +32 -0
  222. package/dist/generated/model/mT4Trade.d.ts +83 -0
  223. package/dist/generated/model/mT4TradeApiResponse.d.ts +43 -0
  224. package/dist/generated/model/mT4TradeListApiResponse.d.ts +32 -0
  225. package/dist/generated/model/mT4TradeRestoreInput.d.ts +54 -0
  226. package/dist/generated/model/mT4TradeRestoreResult.d.ts +18 -0
  227. package/dist/generated/model/mT4TradeRestoreResultListApiResponse.d.ts +32 -0
  228. package/dist/generated/model/mT4TradeTransaction.d.ts +65 -0
  229. package/dist/generated/model/mT4TradeTransactionApiResponse.d.ts +44 -0
  230. package/dist/generated/model/mT4TradeUpdate.d.ts +45 -0
  231. package/dist/generated/model/mT4User.d.ts +141 -0
  232. package/dist/generated/model/mT4UserApiResponse.d.ts +48 -0
  233. package/dist/generated/model/mT4UserCreate.d.ts +63 -0
  234. package/dist/generated/model/mT4UserListApiResponse.d.ts +32 -0
  235. package/dist/generated/model/mT4UserRestoreInput.d.ts +46 -0
  236. package/dist/generated/model/mT4UserUpdate.d.ts +122 -0
  237. package/dist/generated/model/mT4UsersGroupOp.d.ts +30 -0
  238. package/dist/generated/model/mT5ConCommTier.d.ts +45 -0
  239. package/dist/generated/model/mT5ConCommission.d.ts +58 -0
  240. package/dist/generated/model/mT5ConGroup.d.ts +207 -0
  241. package/dist/generated/model/mT5ConGroupApiResponse.d.ts +31 -0
  242. package/dist/generated/model/mT5ConGroupCommissions.d.ts +15 -0
  243. package/dist/generated/model/mT5ConManager.d.ts +36 -0
  244. package/dist/generated/model/mT5ConManagerApiResponse.d.ts +31 -0
  245. package/dist/generated/model/mT5Deal.d.ts +232 -0
  246. package/dist/generated/model/mT5DealListApiResponse.d.ts +32 -0
  247. package/dist/generated/model/mT5Order.d.ts +201 -0
  248. package/dist/generated/model/mT5OrderListApiResponse.d.ts +32 -0
  249. package/dist/generated/model/mT5Position.d.ts +154 -0
  250. package/dist/generated/model/mT5PositionListApiResponse.d.ts +32 -0
  251. package/dist/generated/model/mT5Symbol.d.ts +548 -0
  252. package/dist/generated/model/mT5SymbolApiResponse.d.ts +31 -0
  253. package/dist/generated/model/mT5SymbolMarginRateInitial.d.ts +21 -0
  254. package/dist/generated/model/mT5SymbolMarginRateMaintenance.d.ts +21 -0
  255. package/dist/generated/model/mT5SymbolSession.d.ts +39 -0
  256. package/dist/generated/model/mT5Time.d.ts +23 -0
  257. package/dist/generated/model/mT5TimeApiResponse.d.ts +32 -0
  258. package/dist/generated/model/mT5User.d.ts +168 -0
  259. package/dist/generated/model/mT5UserApiResponse.d.ts +36 -0
  260. package/dist/generated/model/marginCalculationMode.d.ts +15 -0
  261. package/dist/generated/model/marginControllingType.d.ts +12 -0
  262. package/dist/generated/model/marginLevelType.d.ts +13 -0
  263. package/dist/generated/model/marginMode.d.ts +14 -0
  264. package/dist/generated/model/newsMode.d.ts +13 -0
  265. package/dist/generated/model/oTPMode.d.ts +12 -0
  266. package/dist/generated/model/orderFilling.d.ts +14 -0
  267. package/dist/generated/model/orderReason.d.ts +30 -0
  268. package/dist/generated/model/orderState.d.ts +20 -0
  269. package/dist/generated/model/orderTime.d.ts +14 -0
  270. package/dist/generated/model/orderType.d.ts +19 -0
  271. package/dist/generated/model/pagingMeta.d.ts +23 -0
  272. package/dist/generated/model/positionActions.d.ts +15 -0
  273. package/dist/generated/model/positionReasons.d.ts +30 -0
  274. package/dist/generated/model/postAdmBalanceFixParams.d.ts +13 -0
  275. package/dist/generated/model/postAdmTradesDeleteParams.d.ts +14 -0
  276. package/dist/generated/model/postBackupRestoreOrdersParams.d.ts +13 -0
  277. package/dist/generated/model/postBackupRestoreUsersParams.d.ts +13 -0
  278. package/dist/generated/model/postCfgShiftAccessPosParams.d.ts +13 -0
  279. package/dist/generated/model/postCfgShiftDataServerPosParams.d.ts +13 -0
  280. package/dist/generated/model/postCfgShiftFeederPosParams.d.ts +13 -0
  281. package/dist/generated/model/postCfgShiftGatewayAccountPosParams.d.ts +13 -0
  282. package/dist/generated/model/postCfgShiftGatewayMarkupPosParams.d.ts +13 -0
  283. package/dist/generated/model/postCfgShiftGatewayRulePosParams.d.ts +13 -0
  284. package/dist/generated/model/postCfgShiftGroupPosParams.d.ts +13 -0
  285. package/dist/generated/model/postCfgShiftHolidayPosParams.d.ts +13 -0
  286. package/dist/generated/model/postCfgShiftLiveUpdatePosParams.d.ts +13 -0
  287. package/dist/generated/model/postCfgShiftManagerPosParams.d.ts +13 -0
  288. package/dist/generated/model/postCfgShiftPluginPosParams.d.ts +13 -0
  289. package/dist/generated/model/postCfgShiftSymbolPosParams.d.ts +13 -0
  290. package/dist/generated/model/postCfgShiftSyncPosParams.d.ts +13 -0
  291. package/dist/generated/model/postChartAddSymbolParams.d.ts +14 -0
  292. package/dist/generated/model/postChartDeleteSymbolParams.d.ts +14 -0
  293. package/dist/generated/model/postChartUpdateSymbolParams.d.ts +14 -0
  294. package/dist/generated/model/postDailySyncStartParams.d.ts +14 -0
  295. package/dist/generated/model/postSrvChartsSyncParams.d.ts +13 -0
  296. package/dist/generated/model/postSrvFeedsRestartParams.d.ts +13 -0
  297. package/dist/generated/model/postSrvLiveUpdateStartParams.d.ts +13 -0
  298. package/dist/generated/model/postSrvRestartParams.d.ts +13 -0
  299. package/dist/generated/model/postSymbolSendTickParams.d.ts +21 -0
  300. package/dist/generated/model/postTradeCheckStopsParams.d.ts +13 -0
  301. package/dist/generated/model/postTradesSyncStartParams.d.ts +14 -0
  302. package/dist/generated/model/postUserPasswordSetLoginParams.d.ts +17 -0
  303. package/dist/generated/model/postUsersSyncStartParams.d.ts +14 -0
  304. package/dist/generated/model/profitCalculationMode.d.ts +13 -0
  305. package/dist/generated/model/requestMode.d.ts +14 -0
  306. package/dist/generated/model/resultCode.d.ts +50 -0
  307. package/dist/generated/model/serverRole.d.ts +13 -0
  308. package/dist/generated/model/stringApiResponse.d.ts +31 -0
  309. package/dist/generated/model/swapType.d.ts +14 -0
  310. package/dist/generated/model/symbolExecMode.d.ts +13 -0
  311. package/dist/generated/model/symbolPriceDirection.d.ts +13 -0
  312. package/dist/generated/model/synchronizationMode.d.ts +15 -0
  313. package/dist/generated/model/tickRequestFlags.d.ts +13 -0
  314. package/dist/generated/model/tradeActivationFlags.d.ts +19 -0
  315. package/dist/generated/model/tradeCommand.d.ts +18 -0
  316. package/dist/generated/model/tradeMode.d.ts +13 -0
  317. package/dist/generated/model/tradeModifyFlags.d.ts +23 -0
  318. package/dist/generated/model/tradeRecordReason.d.ts +18 -0
  319. package/dist/generated/model/tradeRecordState.d.ts +17 -0
  320. package/dist/generated/model/usersRights.d.ts +32 -0
  321. package/dist/generated/model/watchdogFailoverMode.d.ts +13 -0
  322. package/dist/generated/model/watchdogState.d.ts +13 -0
  323. package/dist/generated/model/webApiErrorCode.d.ts +24 -0
  324. package/dist/generated/mt4-v2-authentication.d.ts +64 -0
  325. package/dist/generated/mt4-v2-backup-destructive.d.ts +57 -0
  326. package/dist/generated/mt4-v2-backup.d.ts +98 -0
  327. package/dist/generated/mt4-v2-common.d.ts +66 -0
  328. package/dist/generated/mt4-v2-config.d.ts +948 -0
  329. package/dist/generated/mt4-v2-groups.d.ts +166 -0
  330. package/dist/generated/mt4-v2-history.d.ts +28 -0
  331. package/dist/generated/mt4-v2-mail.d.ts +25 -0
  332. package/dist/generated/mt4-v2-margins.d.ts +65 -0
  333. package/dist/generated/mt4-v2-news.d.ts +101 -0
  334. package/dist/generated/mt4-v2-online.d.ts +49 -0
  335. package/dist/generated/mt4-v2-plugins.d.ts +41 -0
  336. package/dist/generated/mt4-v2-prices.d.ts +175 -0
  337. package/dist/generated/mt4-v2-reports.d.ts +169 -0
  338. package/dist/generated/mt4-v2-server-admin-destructive.d.ts +87 -0
  339. package/dist/generated/mt4-v2-server-admin.d.ts +80 -0
  340. package/dist/generated/mt4-v2-sidecar-batch-reads.d.ts +82 -0
  341. package/dist/generated/mt4-v2-sidecar-externalcommand.d.ts +43 -0
  342. package/dist/generated/mt4-v2-sidecar-messaging.d.ts +65 -0
  343. package/dist/generated/mt4-v2-sidecar-plugins.d.ts +100 -0
  344. package/dist/generated/mt4-v2-symbols.d.ts +273 -0
  345. package/dist/generated/mt4-v2-trades.d.ts +356 -0
  346. package/dist/generated/mt4-v2-users.d.ts +319 -0
  347. package/dist/generated/mt5-v2-common.d.ts +34 -0
  348. package/dist/generated/mt5-v2-groups.d.ts +36 -0
  349. package/dist/generated/mt5-v2-managers.d.ts +21 -0
  350. package/dist/generated/mt5-v2-symbols.d.ts +36 -0
  351. package/dist/generated/mt5-v2-trades.d.ts +53 -0
  352. package/dist/generated/mt5-v2-users.d.ts +36 -0
  353. package/dist/index.d.ts +12 -0
  354. package/dist/index.js +6357 -0
  355. package/dist/mutator.context.d.ts +13 -0
  356. package/dist/mutator.d.ts +4 -0
  357. package/dist/pagination.d.ts +27 -0
  358. package/dist/retry.d.ts +20 -0
  359. package/dist/signalr.d.ts +179 -0
  360. package/dist/signalr.mt5.d.ts +78 -0
  361. package/package.json +51 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 CPlugin
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,252 @@
1
+ # @mywebapi.com/sdk
2
+
3
+ TypeScript client for the SaaS WebAPI v2 (MT4/MT5 trading platform management).
4
+
5
+ **Status:** Develop-only (not yet published). API shape is stable; package will be released to the private npm registry once the v2 API reaches production maturity.
6
+
7
+ - **Auto-generated types** from the live OpenAPI spec — all endpoints, DTOs, and enums are exact and stay in sync with the server.
8
+ - **Unified entry point** — `CPluginWebApiClient` with `mt4` and `mt5` namespaces; credentials and token management configured once at instantiation.
9
+ - **Envelope-aware** — automatic unwrapping of API responses; failures throw `ApiError` carrying `code`, `description`, and `activityId`.
10
+ - **Pagination helper** — `paged()` and `collectAll()` for cursor-based v2 list endpoints.
11
+ - **Native fetch foundation** — uses platform `fetch` (Web API / Node.js 18+), injectable for testing.
12
+
13
+ ## Install
14
+
15
+ ```bash
16
+ bun add @mywebapi.com/sdk
17
+ # or: npm / pnpm install @mywebapi.com/sdk
18
+ ```
19
+
20
+ **Credentials & trade platforms:** Create API keys (client ID and client secret) and manage your trade platforms in the CPlugin Toolbox — staging: https://pre.toolbox.cplugin.com · production: https://toolbox.cplugin.com
21
+
22
+ ## Quick start
23
+
24
+ The SDK manages OAuth2 access tokens for you — pass `clientId` / `clientSecret` and the SDK handles discovery, caching, expiry, and 401-driven refresh transparently. Credentials and environment are configured once; then call methods on `client.mt4` or `client.mt5` namespaces.
25
+
26
+ ```typescript
27
+ import { CPluginWebApiClient, ApiError, collectAll } from '@mywebapi.com/sdk';
28
+
29
+ const client = new CPluginWebApiClient({
30
+ env: 'prod', // or 'staging' or { baseUrl, authUrl }
31
+ clientId: 'your-client-id',
32
+ clientSecret: process.env.CPLUGIN_WEBAPI_CLIENT_SECRET!,
33
+ });
34
+
35
+ // MT4 server time
36
+ const tp = '3029d415-d0a6-4710-a9c1-8cb063ef872f';
37
+ const time = await client.mt4.getServerTime(tp);
38
+ console.log('MT4 server time:', time.data.timestamp);
39
+
40
+ // MT5 server time
41
+ const mt5Time = await client.mt5.getServerTime(tp);
42
+ console.log('MT5 server time:', mt5Time.data.timestamp);
43
+
44
+ // Pagination — single page with cursor capture
45
+ const page = await client.paged(() =>
46
+ client.mt4.getOnlineGet(tp, { limit: 50 }),
47
+ );
48
+ console.log(`Page items: ${page.items.length}, has more: ${page.paging?.hasMore}`);
49
+
50
+ // Collect all items across pages
51
+ const allUsers = await collectAll((cursor) =>
52
+ client.paged(() =>
53
+ client.mt4.getUsersRequest(tp, { limit: 100, ...(cursor ? { cursor } : {}) }),
54
+ ),
55
+ );
56
+ console.log(`Fetched ${allUsers.length} users across all pages`);
57
+
58
+ // Async iteration over pages
59
+ import { paginate } from '@mywebapi.com/sdk';
60
+ for await (const pageItems of paginate((cursor) =>
61
+ client.paged(() =>
62
+ client.mt4.getUsersRequest(tp, { limit: 50, ...(cursor ? { cursor } : {}) }),
63
+ ),
64
+ )) {
65
+ for (const user of pageItems) {
66
+ console.log(user.login, user.balance);
67
+ }
68
+ }
69
+
70
+ // Error handling
71
+ try {
72
+ await client.mt4.getUserRecordGetLogin(tp, 99999999);
73
+ } catch (e) {
74
+ if (e instanceof ApiError) {
75
+ console.error('API error:', {
76
+ code: e.code,
77
+ description: e.description,
78
+ activityId: e.activityId,
79
+ });
80
+ }
81
+ }
82
+ ```
83
+
84
+ ### From environment variables
85
+
86
+ `CPluginWebApiClient.fromEnvironment()` builds a client from `CPLUGIN_WEBAPI_ENV` (or `CPLUGIN_WEBAPI_BASE_URL` + `CPLUGIN_WEBAPI_AUTH_URL`), `CPLUGIN_WEBAPI_CLIENT_ID`, and `CPLUGIN_WEBAPI_CLIENT_SECRET`. Missing variables raise an `Error` that names the missing key.
87
+
88
+ ```typescript
89
+ const client = CPluginWebApiClient.fromEnvironment();
90
+ const tp = process.env.CPLUGIN_WEBAPI_TRADE_PLATFORM!;
91
+ const time = await client.mt4.getServerTime(tp);
92
+ ```
93
+
94
+ ### Static token (advanced / testing)
95
+
96
+ For scenarios with a pre-issued JWT (CI fixtures, short-lived service-account tokens, test rigs), pass a `token` instead of `clientId` / `clientSecret`. No refresh is performed — when the token expires, the API returns errors.
97
+
98
+ ```typescript
99
+ const client = new CPluginWebApiClient({
100
+ env: 'prod',
101
+ token: 'eyJhbGc...',
102
+ });
103
+
104
+ const tp = '3029d415-d0a6-4710-a9c1-8cb063ef872f';
105
+ const time = await client.mt4.getServerTime(tp);
106
+ ```
107
+
108
+ ## Retries
109
+
110
+ Idempotent requests retry automatically on transient errors (`429`, `502`, `503`, `504`, and `408`). Retry-eligible:
111
+
112
+ - `GET` and `HEAD` — always idempotent per HTTP spec.
113
+ - `POST` / `PATCH` / `PUT` / `DELETE` — only when you supply an `Idempotency-Key` header via method options.
114
+
115
+ Backoff is exponential (default 3 attempts, base 500 ms, factor 2, ±25% jitter) with `Retry-After` honoured (both `delta-seconds` and HTTP-date forms). Override per-client:
116
+
117
+ ```typescript
118
+ const client = new CPluginWebApiClient({
119
+ env: 'prod',
120
+ clientId: '...',
121
+ clientSecret: '...',
122
+ retry: { maxAttempts: 5, baseDelayMs: 200 },
123
+ });
124
+ ```
125
+
126
+ ## Error handling
127
+
128
+ `ApiError` is thrown for any API-level failure. It carries `code`, `description`, and `activityId` for diagnostics and correlation.
129
+
130
+ ```typescript
131
+ import { ApiError } from '@mywebapi.com/sdk';
132
+
133
+ const tp = '3029d415-d0a6-4710-a9c1-8cb063ef872f';
134
+
135
+ try {
136
+ await client.mt4.getUserRecordGetLogin(tp, 99999999);
137
+ } catch (e) {
138
+ if (e instanceof ApiError) {
139
+ console.error('API error:', {
140
+ code: e.code,
141
+ description: e.description,
142
+ activityId: e.activityId,
143
+ });
144
+ } else {
145
+ console.error('Network or auth error:', e instanceof Error ? e.message : e);
146
+ }
147
+ }
148
+ ```
149
+
150
+ ## Idempotency
151
+
152
+ Mutating endpoints (POST / PATCH / PUT / DELETE) accept an optional `Idempotency-Key` header for safe retries. Pass it in the options object:
153
+
154
+ ```typescript
155
+ const tp = '3029d415-d0a6-4710-a9c1-8cb063ef872f';
156
+
157
+ await client.mt4.patchUserRecordLogin(
158
+ tp,
159
+ 817542,
160
+ { comment: 'updated comment' },
161
+ { 'idempotency-key': 'my-request-id-12345' },
162
+ );
163
+ ```
164
+
165
+ Any string ≤255 chars is valid. Two calls with the same key within the server's `cacheTimeout` window return the cached response. Supplying a key also marks the request as idempotent for the retry layer, enabling automatic retry on transient failures.
166
+
167
+ ## Pagination helpers
168
+
169
+ The SDK exports `paged()`, `paginate()`, and `collectAll()` helpers for paginated endpoints.
170
+
171
+ **`client.paged(call)`** — wraps a single generated method call, capturing cursor metadata:
172
+
173
+ ```typescript
174
+ const tp = '3029d415-d0a6-4710-a9c1-8cb063ef872f';
175
+
176
+ const page = await client.paged(() =>
177
+ client.mt4.getTradesGet(tp, { limit: 50 }),
178
+ );
179
+ console.log(page.items, page.paging?.nextCursor, page.paging?.hasMore);
180
+ ```
181
+
182
+ **`collectAll(fetchPage)`** — flattens all pages into a single array (requires `paged()` wrapper):
183
+
184
+ ```typescript
185
+ const allTrades = await collectAll((cursor) =>
186
+ client.paged(() =>
187
+ client.mt4.getTradesGet(tp, { limit: 100, ...(cursor ? { cursor } : {}) }),
188
+ ),
189
+ );
190
+ console.log(`Total trades: ${allTrades.length}`);
191
+ ```
192
+
193
+ **`paginate(fetchPage)`** — async iterable for streaming large datasets page-by-page:
194
+
195
+ ```typescript
196
+ import { paginate } from '@mywebapi.com/sdk';
197
+
198
+ for await (const pageItems of paginate((cursor) =>
199
+ client.paged(() =>
200
+ client.mt4.getTradesGet(tp, { limit: 100, ...(cursor ? { cursor } : {}) }),
201
+ ),
202
+ )) {
203
+ // process pageItems without loading everything into memory
204
+ }
205
+ ```
206
+
207
+ ## Development
208
+
209
+ ```bash
210
+ bun install
211
+ bun run fetch-spec # download swagger.json from running WebAPI (WEBAPI_BASE_URL env)
212
+ bun run generate # regenerate src/generated/api.d.ts
213
+ bun run typecheck
214
+
215
+ # Integration tests against the live WebAPI — needs env vars (or a .env file):
216
+ # WEBAPI_BASE_URL, WEBAPI_AUTH_SERVER, WEBAPI_CLIENT_ID, WEBAPI_CLIENT_SECRET,
217
+ # WEBAPI_TRADE_PLATFORM, WEBAPI_KNOWN_LOGIN
218
+ bun run test
219
+
220
+ bun run build # outputs dist/index.js + dist/*.d.ts
221
+ ```
222
+
223
+ ## SignalR (real-time streams)
224
+
225
+ Real-time streaming is **built into this package** — there is no separate SignalR package. The only extra is the optional peer dependency `@microsoft/signalr`, installed **only if you use real-time** (the REST surface works without it):
226
+
227
+ ```sh
228
+ bun add @microsoft/signalr # or: npm install @microsoft/signalr
229
+ ```
230
+
231
+ Open a hub from the same client — it reuses the client's environment and OAuth token:
232
+
233
+ ```ts
234
+ const rt = client.realtime.mt4(tradePlatform); // or client.realtime.mt5(tradePlatform)
235
+ rt.onConnectionStatus((s) => console.log('connected:', s.connected));
236
+ await rt.start();
237
+ for await (const tick of rt.streamTicks('EURUSD')) {
238
+ console.log(tick.symbol, tick.bid, tick.ask);
239
+ }
240
+ await rt.stop();
241
+ ```
242
+
243
+ MT4 hubs expose ticks, trades, margin-call, user and symbol streams; MT5 hubs expose connection status and margin-call updates.
244
+
245
+ ## What's next
246
+
247
+ - Add typed convenience wrappers for every v2 endpoint as usage patterns crystallise.
248
+ - Tag a release (`vX.Y.Z`) to publish `@mywebapi.com/sdk` to npm via the GitHub Actions workflow.
249
+
250
+ ## License
251
+
252
+ MIT — see [LICENSE](./LICENSE).
package/dist/auth.d.ts ADDED
@@ -0,0 +1,54 @@
1
+ export interface TokenProvider {
2
+ /** Return a valid bearer token. May trigger a network call on first use or after expiry. */
3
+ getToken(opts?: {
4
+ forceRefresh?: boolean;
5
+ }): Promise<string>;
6
+ }
7
+ export declare class StaticTokenProvider implements TokenProvider {
8
+ private readonly token;
9
+ constructor(token: string);
10
+ getToken(_opts?: {
11
+ forceRefresh?: boolean;
12
+ }): Promise<string>;
13
+ }
14
+ export interface ClientCredentialsOptions {
15
+ clientId: string;
16
+ clientSecret: string;
17
+ /** IdentityServer base URL, e.g. `https://identity.example`. Discovery doc resolved as `${identityUrl}/.well-known/openid-configuration`. */
18
+ identityUrl: string;
19
+ scopes?: readonly string[];
20
+ /** Inject a custom fetch (tests, instrumentation). Defaults to global `fetch`. */
21
+ fetch?: typeof fetch;
22
+ /** Treat a token as expired this many seconds before its true expiry. RFC 6749 §10.4 — buffer for clock drift + flight time. */
23
+ clockSkewSeconds?: number;
24
+ }
25
+ export declare class OAuth2TokenError extends Error {
26
+ readonly status: number;
27
+ readonly errorCode: string | undefined;
28
+ readonly errorDescription: string | undefined;
29
+ readonly requestId: string | undefined;
30
+ constructor(opts: {
31
+ status: number;
32
+ errorCode?: string;
33
+ errorDescription?: string;
34
+ requestId?: string;
35
+ });
36
+ }
37
+ export declare class ClientCredentialsTokenProvider implements TokenProvider {
38
+ private readonly clientId;
39
+ private readonly clientSecret;
40
+ private readonly identityUrl;
41
+ private readonly scopes;
42
+ private readonly fetchFn;
43
+ private readonly clockSkewMs;
44
+ private cached;
45
+ private discoveryPromise;
46
+ private refreshPromise;
47
+ constructor(opts: ClientCredentialsOptions);
48
+ getToken(opts?: {
49
+ forceRefresh?: boolean;
50
+ }): Promise<string>;
51
+ private acquireToken;
52
+ private getDiscovery;
53
+ private fetchDiscovery;
54
+ }
@@ -0,0 +1,137 @@
1
+ import { MT4V2SignalRClient, type SignalRClientExtras } from './signalr';
2
+ import { MT5V2SignalRClient } from './signalr.mt5';
3
+ import type { RetryPolicy } from './retry';
4
+ import { type EnvironmentSelector } from './environments';
5
+ import { type UnwrapEnvelope } from './mutator';
6
+ import type { PagedResult } from './pagination';
7
+ /** A trade platform the authenticated principal can access.
8
+ *
9
+ * Shape mirrors the server `TradePlatform` entity (serialized camelCase by STJ).
10
+ * Known fields confirmed against a live server response (2026-06-26).
11
+ * The index signature absorbs extra fields so client code does not break
12
+ * if the server adds properties in future versions. */
13
+ export interface TradePlatform {
14
+ /** Platform GUID — pass as `tradePlatform` to every MT4/MT5 endpoint. */
15
+ id: string;
16
+ /** Human-readable display name (e.g. "Demo MT4 London"). */
17
+ name?: string | null;
18
+ type?: string | number | null;
19
+ /** Manager login used for this platform connection. */
20
+ login?: number | null;
21
+ /** Organization (tenant) GUID this platform belongs to. */
22
+ organizationId?: string | null;
23
+ /** Nested organization object — id + name + created timestamp. */
24
+ organization?: {
25
+ id: string;
26
+ name: string;
27
+ created: string;
28
+ } | null;
29
+ /** ISO 8601 creation timestamp of this platform record. */
30
+ created?: string | null;
31
+ [key: string]: unknown;
32
+ }
33
+ import * as mt4Authentication from './generated/mt4-v2-authentication';
34
+ import * as mt4BackupDestructive from './generated/mt4-v2-backup-destructive';
35
+ import * as mt4Backup from './generated/mt4-v2-backup';
36
+ import * as mt4Common from './generated/mt4-v2-common';
37
+ import * as mt4Config from './generated/mt4-v2-config';
38
+ import * as mt4Groups from './generated/mt4-v2-groups';
39
+ import * as mt4History from './generated/mt4-v2-history';
40
+ import * as mt4Mail from './generated/mt4-v2-mail';
41
+ import * as mt4Margins from './generated/mt4-v2-margins';
42
+ import * as mt4News from './generated/mt4-v2-news';
43
+ import * as mt4Online from './generated/mt4-v2-online';
44
+ import * as mt4Plugins from './generated/mt4-v2-plugins';
45
+ import * as mt4Prices from './generated/mt4-v2-prices';
46
+ import * as mt4Reports from './generated/mt4-v2-reports';
47
+ import * as mt4ServerAdminDestructive from './generated/mt4-v2-server-admin-destructive';
48
+ import * as mt4ServerAdmin from './generated/mt4-v2-server-admin';
49
+ import * as mt4Symbols from './generated/mt4-v2-symbols';
50
+ import * as mt4Trades from './generated/mt4-v2-trades';
51
+ import * as mt4Users from './generated/mt4-v2-users';
52
+ import * as mt4SidecarMessaging from './generated/mt4-v2-sidecar-messaging';
53
+ import * as mt4SidecarPlugins from './generated/mt4-v2-sidecar-plugins';
54
+ import * as mt4SidecarBatchReads from './generated/mt4-v2-sidecar-batch-reads';
55
+ import * as mt4SidecarExternalCommand from './generated/mt4-v2-sidecar-externalcommand';
56
+ import * as mt5Common from './generated/mt5-v2-common';
57
+ import * as mt5Groups from './generated/mt5-v2-groups';
58
+ import * as mt5Managers from './generated/mt5-v2-managers';
59
+ import * as mt5Symbols from './generated/mt5-v2-symbols';
60
+ import * as mt5Trades from './generated/mt5-v2-trades';
61
+ import * as mt5Users from './generated/mt5-v2-users';
62
+ export type MT4V2ClientOptions = {
63
+ baseUrl: string;
64
+ tradePlatform: string;
65
+ token: string;
66
+ fetch?: typeof fetch;
67
+ retry?: Partial<RetryPolicy>;
68
+ } | {
69
+ baseUrl: string;
70
+ tradePlatform: string;
71
+ clientId: string;
72
+ clientSecret: string;
73
+ identityUrl: string;
74
+ scopes?: readonly string[];
75
+ fetch?: typeof fetch;
76
+ retry?: Partial<RetryPolicy>;
77
+ };
78
+ export interface CPluginWebApiClientOptions {
79
+ clientId: string;
80
+ clientSecret: string;
81
+ scopes?: readonly string[];
82
+ /** Inject a custom fetch implementation (testing / Bun / Node polyfill). */
83
+ fetch?: typeof fetch;
84
+ /** Override individual retry-policy fields. */
85
+ retry?: Partial<RetryPolicy>;
86
+ }
87
+ /** Combine environment selector with client credentials. */
88
+ export type CPluginWebApiClientInit = EnvironmentSelector & CPluginWebApiClientOptions;
89
+ type StripPlatform<K, P extends string> = K extends `${infer Base}${P}` ? Base : K;
90
+ type CleanNamespace<M, P extends string> = {
91
+ [K in keyof M as StripPlatform<K & string, P>]: M[K];
92
+ };
93
+ type MT4Namespace = CleanNamespace<BoundModule<typeof mt4Authentication> & BoundModule<typeof mt4BackupDestructive> & BoundModule<typeof mt4Backup> & BoundModule<typeof mt4Common> & BoundModule<typeof mt4Config> & BoundModule<typeof mt4Groups> & BoundModule<typeof mt4History> & BoundModule<typeof mt4Mail> & BoundModule<typeof mt4Margins> & BoundModule<typeof mt4News> & BoundModule<typeof mt4Online> & BoundModule<typeof mt4Plugins> & BoundModule<typeof mt4Prices> & BoundModule<typeof mt4Reports> & BoundModule<typeof mt4ServerAdminDestructive> & BoundModule<typeof mt4ServerAdmin> & BoundModule<typeof mt4Symbols> & BoundModule<typeof mt4Trades> & BoundModule<typeof mt4Users> & BoundModule<typeof mt4SidecarMessaging> & BoundModule<typeof mt4SidecarPlugins> & BoundModule<typeof mt4SidecarBatchReads> & BoundModule<typeof mt4SidecarExternalCommand>, 'MT4'>;
94
+ type MT5Namespace = CleanNamespace<BoundModule<typeof mt5Common> & BoundModule<typeof mt5Groups> & BoundModule<typeof mt5Managers> & BoundModule<typeof mt5Symbols> & BoundModule<typeof mt5Trades> & BoundModule<typeof mt5Users>, 'MT5'>;
95
+ type BoundModule<M> = {
96
+ [K in keyof M]: M[K] extends (...args: infer A) => Promise<infer R> ? (...args: A) => Promise<UnwrapEnvelope<UnwrapEnvelope<R>>> : M[K];
97
+ };
98
+ /**
99
+ * Unified entry point for the CPlugin SaaS WebAPI v2 — MT4 and MT5 trading platform management.
100
+ *
101
+ * Client credentials (ID and secret) and trade platform configuration are managed in the CPlugin Toolbox
102
+ * (staging: https://pre.toolbox.cplugin.com, production: https://toolbox.cplugin.com).
103
+ * Once configured, access all MT4 and MT5 endpoints via the `mt4` and `mt5` namespaces and discover
104
+ * available platforms via `listTradePlatforms()`. Token management (OAuth2 client credentials flow) is
105
+ * handled automatically.
106
+ */
107
+ export declare class CPluginWebApiClient {
108
+ /** All MT4 v2 endpoint functions, pre-wired to this client's context. */
109
+ readonly mt4: MT4Namespace;
110
+ /** All MT5 v2 endpoint functions, pre-wired to this client's context. */
111
+ readonly mt5: MT5Namespace;
112
+ readonly realtime: {
113
+ /** Create an `MT4V2SignalRClient` for the given trade platform, wired to this
114
+ * client's shared token provider and base URL. Call `start()` on the result
115
+ * to open the WebSocket connection. */
116
+ mt4(tradePlatform: string, extras?: SignalRClientExtras): MT4V2SignalRClient;
117
+ /** Create an `MT5V2SignalRClient` for the given trade platform, wired to this
118
+ * client's shared token provider and base URL. Call `start()` on the result
119
+ * to open the WebSocket connection. */
120
+ mt5(tradePlatform: string, extras?: SignalRClientExtras): MT5V2SignalRClient;
121
+ };
122
+ private readonly base;
123
+ constructor(init: CPluginWebApiClientInit);
124
+ paged<T>(call: () => Promise<T[]>): Promise<PagedResult<T>>;
125
+ /**
126
+ * Discover trade platforms available to the authenticated principal.
127
+ *
128
+ * Trade platforms are managed in the CPlugin Toolbox (staging: https://pre.toolbox.cplugin.com,
129
+ * production: https://toolbox.cplugin.com). Use the returned platform `id` values as the
130
+ * `tradePlatform` parameter for all MT4 and MT5 endpoint calls.
131
+ *
132
+ * @returns Array of trade platforms the authenticated user can access.
133
+ * @throws ApiError if authentication fails or the API request returns an error.
134
+ */
135
+ listTradePlatforms(): Promise<TradePlatform[]>;
136
+ }
137
+ export {};
@@ -0,0 +1,13 @@
1
+ export type EnvironmentName = 'prod' | 'staging' | 'custom';
2
+ export interface ResolvedEnvironment {
3
+ apiBaseUrl: string;
4
+ authority: string;
5
+ }
6
+ export type EnvironmentSelector = {
7
+ env: 'prod' | 'staging';
8
+ } | {
9
+ env: 'custom';
10
+ apiBaseUrl: string;
11
+ authority: string;
12
+ };
13
+ export declare function resolveEnvironment(sel: EnvironmentSelector): ResolvedEnvironment;
@@ -0,0 +1,27 @@
1
+ export type WebApiErrorCode = 'Ok' | 'NoConnect' | 'Validation' | 'MT4Error' | 'Forbidden' | 'NotFound' | 'MT5Error' | 'Internal';
2
+ export interface PagingMeta {
3
+ nextCursor?: string | null;
4
+ hasMore: boolean;
5
+ }
6
+ export interface ApiMeta {
7
+ activityId?: string | null;
8
+ paging?: PagingMeta | null;
9
+ }
10
+ export interface ApiErrorBody {
11
+ code: WebApiErrorCode;
12
+ managerCode?: string | number | null;
13
+ message?: string | null;
14
+ }
15
+ export interface ApiEnvelope<T> {
16
+ data?: T | null;
17
+ error?: ApiErrorBody | null;
18
+ meta?: ApiMeta | null;
19
+ }
20
+ export declare class ApiError extends Error {
21
+ readonly code: WebApiErrorCode;
22
+ readonly description: string | undefined;
23
+ readonly activityId: string | undefined;
24
+ readonly managerCode: string | number | undefined;
25
+ readonly status: number;
26
+ constructor(body: ApiErrorBody, meta: ApiMeta | null | undefined, status: number);
27
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Generated by orval v8.19.0 🍺
3
+ * Do not edit manually.
4
+ * JSON-Pure WebAPI for MT4/MT5
5
+ * It uses native MetaQuote ManagerAPI for both MT4 and MT5 connection. Plus, it keep pumping connection active, so all *Get calls will run much faster, than *Request.<br/>Here partially used the idea of JSON-Pure API, only HTTP code 200 is acceptable. Other codes signal about errors on server side, which are out of control of client, like wrong parameters, platform unavailability, etc.
6
+ * OpenAPI spec version: 2.0
7
+ */
8
+ export type ActivationModes = typeof ActivationModes[keyof typeof ActivationModes];
9
+ export declare const ActivationModes: {
10
+ readonly None: "None";
11
+ readonly SL: "SL";
12
+ readonly TP: "TP";
13
+ readonly StopOut: "StopOut";
14
+ };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Generated by orval v8.19.0 🍺
3
+ * Do not edit manually.
4
+ * JSON-Pure WebAPI for MT4/MT5
5
+ * It uses native MetaQuote ManagerAPI for both MT4 and MT5 connection. Plus, it keep pumping connection active, so all *Get calls will run much faster, than *Request.<br/>Here partially used the idea of JSON-Pure API, only HTTP code 200 is acceptable. Other codes signal about errors on server side, which are out of control of client, like wrong parameters, platform unavailability, etc.
6
+ * OpenAPI spec version: 2.0
7
+ */
8
+ export type ActivationType = typeof ActivationType[keyof typeof ActivationType];
9
+ export declare const ActivationType: {
10
+ readonly None: "None";
11
+ readonly SL: "SL";
12
+ readonly TP: "TP";
13
+ readonly Pending: "Pending";
14
+ readonly Stopout: "Stopout";
15
+ readonly StopOutRollback: "StopOutRollback";
16
+ readonly PendingRollback: "PendingRollback";
17
+ readonly TPRollback: "TPRollback";
18
+ readonly SLRollback: "SLRollback";
19
+ };
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Generated by orval v8.19.0 🍺
3
+ * Do not edit manually.
4
+ * JSON-Pure WebAPI for MT4/MT5
5
+ * It uses native MetaQuote ManagerAPI for both MT4 and MT5 connection. Plus, it keep pumping connection active, so all *Get calls will run much faster, than *Request.<br/>Here partially used the idea of JSON-Pure API, only HTTP code 200 is acceptable. Other codes signal about errors on server side, which are out of control of client, like wrong parameters, platform unavailability, etc.
6
+ * OpenAPI spec version: 2.0
7
+ */
8
+ import type { ResultCode } from './resultCode';
9
+ import type { WebApiErrorCode } from './webApiErrorCode';
10
+ /**
11
+ * v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4
12
+ * ResultCode (serialized as a string for a known enum member, or as a number for an
13
+ * unrecognised value returned by MT4); Message is a human-readable description.
14
+ */
15
+ export interface ApiError {
16
+ /** Stable transport-level error code. */
17
+ code?: WebApiErrorCode;
18
+ /** Raw MT4/MT5 manager result code, when the error came from the trading platform; otherwise null. */
19
+ managerCode?: ResultCode | null;
20
+ /**
21
+ * Human-readable error description.
22
+ * @nullable
23
+ */
24
+ message?: string | null;
25
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Generated by orval v8.19.0 🍺
3
+ * Do not edit manually.
4
+ * JSON-Pure WebAPI for MT4/MT5
5
+ * It uses native MetaQuote ManagerAPI for both MT4 and MT5 connection. Plus, it keep pumping connection active, so all *Get calls will run much faster, than *Request.<br/>Here partially used the idea of JSON-Pure API, only HTTP code 200 is acceptable. Other codes signal about errors on server side, which are out of control of client, like wrong parameters, platform unavailability, etc.
6
+ * OpenAPI spec version: 2.0
7
+ */
8
+ import type { PagingMeta } from './pagingMeta';
9
+ /**
10
+ * Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz.
11
+ * Paging is present only on paginated list responses; otherwise it is omitted —
12
+ * the global JSON context policy serialises null fields, so we override that here
13
+ * with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.
14
+ */
15
+ export interface ApiMeta {
16
+ /**
17
+ * W3C trace id for correlating this response in logs and tracing (Seq/SigNoz).
18
+ * @nullable
19
+ */
20
+ activityId?: string | null;
21
+ /** Pagination info; present only on list responses, omitted otherwise. */
22
+ paging?: PagingMeta | null;
23
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Generated by orval v8.19.0 🍺
3
+ * Do not edit manually.
4
+ * JSON-Pure WebAPI for MT4/MT5
5
+ * It uses native MetaQuote ManagerAPI for both MT4 and MT5 connection. Plus, it keep pumping connection active, so all *Get calls will run much faster, than *Request.<br/>Here partially used the idea of JSON-Pure API, only HTTP code 200 is acceptable. Other codes signal about errors on server side, which are out of control of client, like wrong parameters, platform unavailability, etc.
6
+ * OpenAPI spec version: 2.0
7
+ */
8
+ export type ArcBackupExecutionPeriod = typeof ArcBackupExecutionPeriod[keyof typeof ArcBackupExecutionPeriod];
9
+ export declare const ArcBackupExecutionPeriod: {
10
+ readonly M5: "M5";
11
+ readonly M15: "M15";
12
+ readonly M30: "M30";
13
+ readonly H1: "H1";
14
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Generated by orval v8.19.0 🍺
3
+ * Do not edit manually.
4
+ * JSON-Pure WebAPI for MT4/MT5
5
+ * It uses native MetaQuote ManagerAPI for both MT4 and MT5 connection. Plus, it keep pumping connection active, so all *Get calls will run much faster, than *Request.<br/>Here partially used the idea of JSON-Pure API, only HTTP code 200 is acceptable. Other codes signal about errors on server side, which are out of control of client, like wrong parameters, platform unavailability, etc.
6
+ * OpenAPI spec version: 2.0
7
+ */
8
+ export type ArcBackupStorePeriod = typeof ArcBackupStorePeriod[keyof typeof ArcBackupStorePeriod];
9
+ export declare const ArcBackupStorePeriod: {
10
+ readonly W1: "W1";
11
+ readonly W2: "W2";
12
+ readonly Mn1: "Mn1";
13
+ readonly Mn3: "Mn3";
14
+ readonly Mn6: "Mn6";
15
+ };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Generated by orval v8.19.0 🍺
3
+ * Do not edit manually.
4
+ * JSON-Pure WebAPI for MT4/MT5
5
+ * It uses native MetaQuote ManagerAPI for both MT4 and MT5 connection. Plus, it keep pumping connection active, so all *Get calls will run much faster, than *Request.<br/>Here partially used the idea of JSON-Pure API, only HTTP code 200 is acceptable. Other codes signal about errors on server side, which are out of control of client, like wrong parameters, platform unavailability, etc.
6
+ * OpenAPI spec version: 2.0
7
+ */
8
+ export type BackupExecutionPeriod = typeof BackupExecutionPeriod[keyof typeof BackupExecutionPeriod];
9
+ export declare const BackupExecutionPeriod: {
10
+ readonly H1: "H1";
11
+ readonly H4: "H4";
12
+ readonly D1: "D1";
13
+ };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Generated by orval v8.19.0 🍺
3
+ * Do not edit manually.
4
+ * JSON-Pure WebAPI for MT4/MT5
5
+ * It uses native MetaQuote ManagerAPI for both MT4 and MT5 connection. Plus, it keep pumping connection active, so all *Get calls will run much faster, than *Request.<br/>Here partially used the idea of JSON-Pure API, only HTTP code 200 is acceptable. Other codes signal about errors on server side, which are out of control of client, like wrong parameters, platform unavailability, etc.
6
+ * OpenAPI spec version: 2.0
7
+ */
8
+ export type BackupStorePeriod = typeof BackupStorePeriod[keyof typeof BackupStorePeriod];
9
+ export declare const BackupStorePeriod: {
10
+ readonly Mn1: "Mn1";
11
+ readonly Mn3: "Mn3";
12
+ readonly Mn6: "Mn6";
13
+ readonly Y1: "Y1";
14
+ };