@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.
- package/LICENSE +21 -0
- package/README.md +252 -0
- package/dist/auth.d.ts +54 -0
- package/dist/client.d.ts +137 -0
- package/dist/environments.d.ts +13 -0
- package/dist/errors.d.ts +27 -0
- package/dist/generated/model/activationModes.d.ts +14 -0
- package/dist/generated/model/activationType.d.ts +19 -0
- package/dist/generated/model/apiError.d.ts +25 -0
- package/dist/generated/model/apiMeta.d.ts +23 -0
- package/dist/generated/model/arcBackupExecutionPeriod.d.ts +14 -0
- package/dist/generated/model/arcBackupStorePeriod.d.ts +15 -0
- package/dist/generated/model/backupExecutionPeriod.d.ts +13 -0
- package/dist/generated/model/backupStorePeriod.d.ts +14 -0
- package/dist/generated/model/booleanApiResponse.d.ts +30 -0
- package/dist/generated/model/chartPeriod.d.ts +19 -0
- package/dist/generated/model/dataFeedMode.d.ts +13 -0
- package/dist/generated/model/dateTimeApiResponse.d.ts +30 -0
- package/dist/generated/model/dealAction.d.ts +31 -0
- package/dist/generated/model/dealReason.d.ts +30 -0
- package/dist/generated/model/enAuthMode.d.ts +14 -0
- package/dist/generated/model/enAuthOTPMode.d.ts +13 -0
- package/dist/generated/model/enCalcMode.d.ts +25 -0
- package/dist/generated/model/enChartMode.d.ts +13 -0
- package/dist/generated/model/enCommActionMode.d.ts +13 -0
- package/dist/generated/model/enCommChargeMode.d.ts +13 -0
- package/dist/generated/model/enCommEntryMode.d.ts +13 -0
- package/dist/generated/model/enCommMode.d.ts +13 -0
- package/dist/generated/model/enCommProfitMode.d.ts +13 -0
- package/dist/generated/model/enCommRangeMode.d.ts +15 -0
- package/dist/generated/model/enCommReasonFlags.d.ts +19 -0
- package/dist/generated/model/enCommissionMode.d.ts +18 -0
- package/dist/generated/model/enCommissionVolumeType.d.ts +12 -0
- package/dist/generated/model/enExecutionMode.d.ts +14 -0
- package/dist/generated/model/enExpirationFlags.d.ts +16 -0
- package/dist/generated/model/enFillingFlags.d.ts +15 -0
- package/dist/generated/model/enFreeMarginMode.d.ts +14 -0
- package/dist/generated/model/enGatewayAccountFlags.d.ts +12 -0
- package/dist/generated/model/enGtcMode.d.ts +13 -0
- package/dist/generated/model/enHistoryLimit.d.ts +17 -0
- package/dist/generated/model/enIndustries.d.ts +176 -0
- package/dist/generated/model/enInstantFlags.d.ts +12 -0
- package/dist/generated/model/enInstantMode.d.ts +16 -0
- package/dist/generated/model/enLogType.d.ts +18 -0
- package/dist/generated/model/enMailMode.d.ts +12 -0
- package/dist/generated/model/enManagerLimit.d.ts +17 -0
- package/dist/generated/model/enManagerRights.d.ts +86 -0
- package/dist/generated/model/enMarginCalcFlags.d.ts +12 -0
- package/dist/generated/model/enMarginFlags.d.ts +17 -0
- package/dist/generated/model/enMarginMode.d.ts +13 -0
- package/dist/generated/model/enNewsMode.d.ts +13 -0
- package/dist/generated/model/enOptionMode.d.ts +14 -0
- package/dist/generated/model/enOrderFlags.d.ts +19 -0
- package/dist/generated/model/enPermissionsFlags.d.ts +22 -0
- package/dist/generated/model/enReportsFlags.d.ts +15 -0
- package/dist/generated/model/enReportsMode.d.ts +14 -0
- package/dist/generated/model/enRequestFlags.d.ts +12 -0
- package/dist/generated/model/enSectors.d.ts +26 -0
- package/dist/generated/model/enSpliceTimeType.d.ts +11 -0
- package/dist/generated/model/enSpliceType.d.ts +13 -0
- package/dist/generated/model/enStopOutMode.d.ts +12 -0
- package/dist/generated/model/enSwapDays.d.ts +18 -0
- package/dist/generated/model/enSwapFlags.d.ts +12 -0
- package/dist/generated/model/enSwapMode.d.ts +20 -0
- package/dist/generated/model/enTickFlags.d.ts +16 -0
- package/dist/generated/model/enTradeFlags.d.ts +17 -0
- package/dist/generated/model/enTradeMode.d.ts +15 -0
- package/dist/generated/model/enTradeRightsFlags.d.ts +25 -0
- package/dist/generated/model/enTransferMode.d.ts +14 -0
- package/dist/generated/model/entryFlag.d.ts +14 -0
- package/dist/generated/model/exportExecutionPeriod.d.ts +15 -0
- package/dist/generated/model/gTCMode.d.ts +13 -0
- package/dist/generated/model/getAdmBalanceCheckParams.d.ts +13 -0
- package/dist/generated/model/getAdmTradesRequestGroupParams.d.ts +13 -0
- package/dist/generated/model/getBackupRequestOrdersFileParams.d.ts +17 -0
- package/dist/generated/model/getBackupRequestUsersFileParams.d.ts +17 -0
- package/dist/generated/model/getCfgRequestAccessParams.d.ts +19 -0
- package/dist/generated/model/getCfgRequestDataServerParams.d.ts +19 -0
- package/dist/generated/model/getCfgRequestFeederParams.d.ts +19 -0
- package/dist/generated/model/getCfgRequestGatewayAccountParams.d.ts +19 -0
- package/dist/generated/model/getCfgRequestGatewayMarkupParams.d.ts +19 -0
- package/dist/generated/model/getCfgRequestGatewayRuleParams.d.ts +19 -0
- package/dist/generated/model/getCfgRequestHolidayParams.d.ts +19 -0
- package/dist/generated/model/getCfgRequestLiveUpdateParams.d.ts +19 -0
- package/dist/generated/model/getCfgRequestManagerParams.d.ts +19 -0
- package/dist/generated/model/getCfgRequestSyncParams.d.ts +19 -0
- package/dist/generated/model/getChartRequestSymbolParams.d.ts +27 -0
- package/dist/generated/model/getDailyReportsRequestExParams.d.ts +27 -0
- package/dist/generated/model/getDailyReportsRequestParams.d.ts +27 -0
- package/dist/generated/model/getDealByGroupMaskParams.d.ts +19 -0
- package/dist/generated/model/getGroupsRequestParams.d.ts +19 -0
- package/dist/generated/model/getJournalRequestParams.d.ts +26 -0
- package/dist/generated/model/getOnlineGetParams.d.ts +19 -0
- package/dist/generated/model/getOnlineRequestParams.d.ts +19 -0
- package/dist/generated/model/getOrderByGroupMaskParams.d.ts +19 -0
- package/dist/generated/model/getPerformanceRequestParams.d.ts +15 -0
- package/dist/generated/model/getPositionByGroupMaskParams.d.ts +19 -0
- package/dist/generated/model/getReportsRequestParams.d.ts +27 -0
- package/dist/generated/model/getSrvFeedersParams.d.ts +19 -0
- package/dist/generated/model/getSymbolInfoGetParams.d.ts +13 -0
- package/dist/generated/model/getSymbolInfoUpdatedParams.d.ts +19 -0
- package/dist/generated/model/getTicksRequestSymbolParams.d.ts +22 -0
- package/dist/generated/model/getTradeRecordsRequestParams.d.ts +13 -0
- package/dist/generated/model/getTradesGetBySymbolParams.d.ts +13 -0
- package/dist/generated/model/getTradesGetParams.d.ts +19 -0
- package/dist/generated/model/getTradesRequestParams.d.ts +23 -0
- package/dist/generated/model/getTradesSnapshotParams.d.ts +13 -0
- package/dist/generated/model/getTradesSyncReadParams.d.ts +13 -0
- package/dist/generated/model/getTradesUserHistoryLoginParams.d.ts +17 -0
- package/dist/generated/model/getUserRecordsRequestParams.d.ts +13 -0
- package/dist/generated/model/getUsersRequestParams.d.ts +19 -0
- package/dist/generated/model/getUsersSnapshotParams.d.ts +13 -0
- package/dist/generated/model/getUsersSyncReadParams.d.ts +13 -0
- package/dist/generated/model/groupRights.d.ts +18 -0
- package/dist/generated/model/index.d.ts +323 -0
- package/dist/generated/model/int32ApiResponse.d.ts +30 -0
- package/dist/generated/model/int32MT4DailyReportListDictionaryApiResponse.d.ts +32 -0
- package/dist/generated/model/int32MT4DailyReportListDictionaryApiResponseData.d.ts +14 -0
- package/dist/generated/model/jsonNode.d.ts +13 -0
- package/dist/generated/model/jsonNodeApiResponse.d.ts +31 -0
- package/dist/generated/model/jsonNodeOptions.d.ts +10 -0
- package/dist/generated/model/mT4Access.d.ts +30 -0
- package/dist/generated/model/mT4AccessApiResponse.d.ts +37 -0
- package/dist/generated/model/mT4AccessListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4Backup.d.ts +83 -0
- package/dist/generated/model/mT4BackupApiResponse.d.ts +38 -0
- package/dist/generated/model/mT4BackupInfo.d.ts +27 -0
- package/dist/generated/model/mT4BackupInfoListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4BalanceDiff.d.ts +20 -0
- package/dist/generated/model/mT4BalanceDiffApiResponse.d.ts +38 -0
- package/dist/generated/model/mT4BalanceDiffListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4ChartBar.d.ts +27 -0
- package/dist/generated/model/mT4ChartBarListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4ChartWriteRequest.d.ts +21 -0
- package/dist/generated/model/mT4Common.d.ts +30 -0
- package/dist/generated/model/mT4CommonApiResponse.d.ts +36 -0
- package/dist/generated/model/mT4CommonUpdate.d.ts +49 -0
- package/dist/generated/model/mT4DailyReport.d.ts +51 -0
- package/dist/generated/model/mT4DailyReportListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4DataServer.d.ts +38 -0
- package/dist/generated/model/mT4DataServerApiResponse.d.ts +38 -0
- package/dist/generated/model/mT4DataServerListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4ExternalCommandBinaryRequest.d.ts +20 -0
- package/dist/generated/model/mT4ExternalCommandBinaryResponse.d.ts +17 -0
- package/dist/generated/model/mT4ExternalCommandBinaryResponseApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4Feeder.d.ts +54 -0
- package/dist/generated/model/mT4FeederApiResponse.d.ts +36 -0
- package/dist/generated/model/mT4FeederListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4GatewayAccount.d.ts +42 -0
- package/dist/generated/model/mT4GatewayAccountApiResponse.d.ts +38 -0
- package/dist/generated/model/mT4GatewayAccountListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4GatewayMarkup.d.ts +39 -0
- package/dist/generated/model/mT4GatewayMarkupApiResponse.d.ts +38 -0
- package/dist/generated/model/mT4GatewayMarkupListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4GatewayRule.d.ts +59 -0
- package/dist/generated/model/mT4GatewayRuleApiResponse.d.ts +41 -0
- package/dist/generated/model/mT4GatewayRuleListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4Group.d.ts +126 -0
- package/dist/generated/model/mT4GroupApiResponse.d.ts +57 -0
- package/dist/generated/model/mT4GroupListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4GroupMargin.d.ts +26 -0
- package/dist/generated/model/mT4GroupMarginListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4GroupSec.d.ts +77 -0
- package/dist/generated/model/mT4GroupSecListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4GroupUpdate.d.ts +111 -0
- package/dist/generated/model/mT4Holiday.d.ts +38 -0
- package/dist/generated/model/mT4HolidayApiResponse.d.ts +38 -0
- package/dist/generated/model/mT4HolidayListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4LiveUpdate.d.ts +43 -0
- package/dist/generated/model/mT4LiveUpdateApiResponse.d.ts +41 -0
- package/dist/generated/model/mT4LiveUpdateListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4MailBox.d.ts +34 -0
- package/dist/generated/model/mT4MailBoxListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4MailSendRequest.d.ts +36 -0
- package/dist/generated/model/mT4ManagerRights.d.ts +61 -0
- package/dist/generated/model/mT4ManagerRightsApiResponse.d.ts +39 -0
- package/dist/generated/model/mT4ManagerRightsListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4MarginLevel.d.ts +45 -0
- package/dist/generated/model/mT4MarginLevelApiResponse.d.ts +38 -0
- package/dist/generated/model/mT4MarginLevelListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4NewsSendRequest.d.ts +31 -0
- package/dist/generated/model/mT4NewsTopic.d.ts +53 -0
- package/dist/generated/model/mT4NewsTopicApiResponse.d.ts +42 -0
- package/dist/generated/model/mT4NewsTopicListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4NotificationsSendRequest.d.ts +29 -0
- package/dist/generated/model/mT4Online.d.ts +24 -0
- package/dist/generated/model/mT4OnlineListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4Performance.d.ts +30 -0
- package/dist/generated/model/mT4PerformanceListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4Plugin.d.ts +36 -0
- package/dist/generated/model/mT4PluginConfig.d.ts +23 -0
- package/dist/generated/model/mT4PluginListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4PluginParam.d.ts +22 -0
- package/dist/generated/model/mT4PluginParamApiResponse.d.ts +35 -0
- package/dist/generated/model/mT4PluginParamListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4ServerLog.d.ts +45 -0
- package/dist/generated/model/mT4ServerLogListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4ServerTime.d.ts +26 -0
- package/dist/generated/model/mT4ServerTimeApiResponse.d.ts +42 -0
- package/dist/generated/model/mT4SymbolChangeRequest.d.ts +38 -0
- package/dist/generated/model/mT4SymbolConfig.d.ts +154 -0
- package/dist/generated/model/mT4SymbolConfigApiResponse.d.ts +41 -0
- package/dist/generated/model/mT4SymbolConfigListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4SymbolConfigUpdate.d.ts +82 -0
- package/dist/generated/model/mT4SymbolDaySessions.d.ts +30 -0
- package/dist/generated/model/mT4SymbolDaySessionsListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4SymbolGroup.d.ts +26 -0
- package/dist/generated/model/mT4SymbolGroupApiResponse.d.ts +38 -0
- package/dist/generated/model/mT4SymbolGroupListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4SymbolInfo.d.ts +50 -0
- package/dist/generated/model/mT4SymbolInfoApiResponse.d.ts +42 -0
- package/dist/generated/model/mT4SymbolInfoListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4SymbolSession.d.ts +23 -0
- package/dist/generated/model/mT4Sync.d.ts +41 -0
- package/dist/generated/model/mT4SyncApiResponse.d.ts +37 -0
- package/dist/generated/model/mT4SyncListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4TickInfo.d.ts +28 -0
- package/dist/generated/model/mT4TickInfoApiResponse.d.ts +39 -0
- package/dist/generated/model/mT4TickInfoListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4TickRecord.d.ts +30 -0
- package/dist/generated/model/mT4TickRecordListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4Trade.d.ts +83 -0
- package/dist/generated/model/mT4TradeApiResponse.d.ts +43 -0
- package/dist/generated/model/mT4TradeListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4TradeRestoreInput.d.ts +54 -0
- package/dist/generated/model/mT4TradeRestoreResult.d.ts +18 -0
- package/dist/generated/model/mT4TradeRestoreResultListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4TradeTransaction.d.ts +65 -0
- package/dist/generated/model/mT4TradeTransactionApiResponse.d.ts +44 -0
- package/dist/generated/model/mT4TradeUpdate.d.ts +45 -0
- package/dist/generated/model/mT4User.d.ts +141 -0
- package/dist/generated/model/mT4UserApiResponse.d.ts +48 -0
- package/dist/generated/model/mT4UserCreate.d.ts +63 -0
- package/dist/generated/model/mT4UserListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT4UserRestoreInput.d.ts +46 -0
- package/dist/generated/model/mT4UserUpdate.d.ts +122 -0
- package/dist/generated/model/mT4UsersGroupOp.d.ts +30 -0
- package/dist/generated/model/mT5ConCommTier.d.ts +45 -0
- package/dist/generated/model/mT5ConCommission.d.ts +58 -0
- package/dist/generated/model/mT5ConGroup.d.ts +207 -0
- package/dist/generated/model/mT5ConGroupApiResponse.d.ts +31 -0
- package/dist/generated/model/mT5ConGroupCommissions.d.ts +15 -0
- package/dist/generated/model/mT5ConManager.d.ts +36 -0
- package/dist/generated/model/mT5ConManagerApiResponse.d.ts +31 -0
- package/dist/generated/model/mT5Deal.d.ts +232 -0
- package/dist/generated/model/mT5DealListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT5Order.d.ts +201 -0
- package/dist/generated/model/mT5OrderListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT5Position.d.ts +154 -0
- package/dist/generated/model/mT5PositionListApiResponse.d.ts +32 -0
- package/dist/generated/model/mT5Symbol.d.ts +548 -0
- package/dist/generated/model/mT5SymbolApiResponse.d.ts +31 -0
- package/dist/generated/model/mT5SymbolMarginRateInitial.d.ts +21 -0
- package/dist/generated/model/mT5SymbolMarginRateMaintenance.d.ts +21 -0
- package/dist/generated/model/mT5SymbolSession.d.ts +39 -0
- package/dist/generated/model/mT5Time.d.ts +23 -0
- package/dist/generated/model/mT5TimeApiResponse.d.ts +32 -0
- package/dist/generated/model/mT5User.d.ts +168 -0
- package/dist/generated/model/mT5UserApiResponse.d.ts +36 -0
- package/dist/generated/model/marginCalculationMode.d.ts +15 -0
- package/dist/generated/model/marginControllingType.d.ts +12 -0
- package/dist/generated/model/marginLevelType.d.ts +13 -0
- package/dist/generated/model/marginMode.d.ts +14 -0
- package/dist/generated/model/newsMode.d.ts +13 -0
- package/dist/generated/model/oTPMode.d.ts +12 -0
- package/dist/generated/model/orderFilling.d.ts +14 -0
- package/dist/generated/model/orderReason.d.ts +30 -0
- package/dist/generated/model/orderState.d.ts +20 -0
- package/dist/generated/model/orderTime.d.ts +14 -0
- package/dist/generated/model/orderType.d.ts +19 -0
- package/dist/generated/model/pagingMeta.d.ts +23 -0
- package/dist/generated/model/positionActions.d.ts +15 -0
- package/dist/generated/model/positionReasons.d.ts +30 -0
- package/dist/generated/model/postAdmBalanceFixParams.d.ts +13 -0
- package/dist/generated/model/postAdmTradesDeleteParams.d.ts +14 -0
- package/dist/generated/model/postBackupRestoreOrdersParams.d.ts +13 -0
- package/dist/generated/model/postBackupRestoreUsersParams.d.ts +13 -0
- package/dist/generated/model/postCfgShiftAccessPosParams.d.ts +13 -0
- package/dist/generated/model/postCfgShiftDataServerPosParams.d.ts +13 -0
- package/dist/generated/model/postCfgShiftFeederPosParams.d.ts +13 -0
- package/dist/generated/model/postCfgShiftGatewayAccountPosParams.d.ts +13 -0
- package/dist/generated/model/postCfgShiftGatewayMarkupPosParams.d.ts +13 -0
- package/dist/generated/model/postCfgShiftGatewayRulePosParams.d.ts +13 -0
- package/dist/generated/model/postCfgShiftGroupPosParams.d.ts +13 -0
- package/dist/generated/model/postCfgShiftHolidayPosParams.d.ts +13 -0
- package/dist/generated/model/postCfgShiftLiveUpdatePosParams.d.ts +13 -0
- package/dist/generated/model/postCfgShiftManagerPosParams.d.ts +13 -0
- package/dist/generated/model/postCfgShiftPluginPosParams.d.ts +13 -0
- package/dist/generated/model/postCfgShiftSymbolPosParams.d.ts +13 -0
- package/dist/generated/model/postCfgShiftSyncPosParams.d.ts +13 -0
- package/dist/generated/model/postChartAddSymbolParams.d.ts +14 -0
- package/dist/generated/model/postChartDeleteSymbolParams.d.ts +14 -0
- package/dist/generated/model/postChartUpdateSymbolParams.d.ts +14 -0
- package/dist/generated/model/postDailySyncStartParams.d.ts +14 -0
- package/dist/generated/model/postSrvChartsSyncParams.d.ts +13 -0
- package/dist/generated/model/postSrvFeedsRestartParams.d.ts +13 -0
- package/dist/generated/model/postSrvLiveUpdateStartParams.d.ts +13 -0
- package/dist/generated/model/postSrvRestartParams.d.ts +13 -0
- package/dist/generated/model/postSymbolSendTickParams.d.ts +21 -0
- package/dist/generated/model/postTradeCheckStopsParams.d.ts +13 -0
- package/dist/generated/model/postTradesSyncStartParams.d.ts +14 -0
- package/dist/generated/model/postUserPasswordSetLoginParams.d.ts +17 -0
- package/dist/generated/model/postUsersSyncStartParams.d.ts +14 -0
- package/dist/generated/model/profitCalculationMode.d.ts +13 -0
- package/dist/generated/model/requestMode.d.ts +14 -0
- package/dist/generated/model/resultCode.d.ts +50 -0
- package/dist/generated/model/serverRole.d.ts +13 -0
- package/dist/generated/model/stringApiResponse.d.ts +31 -0
- package/dist/generated/model/swapType.d.ts +14 -0
- package/dist/generated/model/symbolExecMode.d.ts +13 -0
- package/dist/generated/model/symbolPriceDirection.d.ts +13 -0
- package/dist/generated/model/synchronizationMode.d.ts +15 -0
- package/dist/generated/model/tickRequestFlags.d.ts +13 -0
- package/dist/generated/model/tradeActivationFlags.d.ts +19 -0
- package/dist/generated/model/tradeCommand.d.ts +18 -0
- package/dist/generated/model/tradeMode.d.ts +13 -0
- package/dist/generated/model/tradeModifyFlags.d.ts +23 -0
- package/dist/generated/model/tradeRecordReason.d.ts +18 -0
- package/dist/generated/model/tradeRecordState.d.ts +17 -0
- package/dist/generated/model/usersRights.d.ts +32 -0
- package/dist/generated/model/watchdogFailoverMode.d.ts +13 -0
- package/dist/generated/model/watchdogState.d.ts +13 -0
- package/dist/generated/model/webApiErrorCode.d.ts +24 -0
- package/dist/generated/mt4-v2-authentication.d.ts +64 -0
- package/dist/generated/mt4-v2-backup-destructive.d.ts +57 -0
- package/dist/generated/mt4-v2-backup.d.ts +98 -0
- package/dist/generated/mt4-v2-common.d.ts +66 -0
- package/dist/generated/mt4-v2-config.d.ts +948 -0
- package/dist/generated/mt4-v2-groups.d.ts +166 -0
- package/dist/generated/mt4-v2-history.d.ts +28 -0
- package/dist/generated/mt4-v2-mail.d.ts +25 -0
- package/dist/generated/mt4-v2-margins.d.ts +65 -0
- package/dist/generated/mt4-v2-news.d.ts +101 -0
- package/dist/generated/mt4-v2-online.d.ts +49 -0
- package/dist/generated/mt4-v2-plugins.d.ts +41 -0
- package/dist/generated/mt4-v2-prices.d.ts +175 -0
- package/dist/generated/mt4-v2-reports.d.ts +169 -0
- package/dist/generated/mt4-v2-server-admin-destructive.d.ts +87 -0
- package/dist/generated/mt4-v2-server-admin.d.ts +80 -0
- package/dist/generated/mt4-v2-sidecar-batch-reads.d.ts +82 -0
- package/dist/generated/mt4-v2-sidecar-externalcommand.d.ts +43 -0
- package/dist/generated/mt4-v2-sidecar-messaging.d.ts +65 -0
- package/dist/generated/mt4-v2-sidecar-plugins.d.ts +100 -0
- package/dist/generated/mt4-v2-symbols.d.ts +273 -0
- package/dist/generated/mt4-v2-trades.d.ts +356 -0
- package/dist/generated/mt4-v2-users.d.ts +319 -0
- package/dist/generated/mt5-v2-common.d.ts +34 -0
- package/dist/generated/mt5-v2-groups.d.ts +36 -0
- package/dist/generated/mt5-v2-managers.d.ts +21 -0
- package/dist/generated/mt5-v2-symbols.d.ts +36 -0
- package/dist/generated/mt5-v2-trades.d.ts +53 -0
- package/dist/generated/mt5-v2-users.d.ts +36 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +6357 -0
- package/dist/mutator.context.d.ts +13 -0
- package/dist/mutator.d.ts +4 -0
- package/dist/pagination.d.ts +27 -0
- package/dist/retry.d.ts +20 -0
- package/dist/signalr.d.ts +179 -0
- package/dist/signalr.mt5.d.ts +78 -0
- 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
|
+
}
|
package/dist/client.d.ts
ADDED
|
@@ -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;
|
package/dist/errors.d.ts
ADDED
|
@@ -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
|
+
};
|