/** * Backend action-name values for the mt5 pack (`eaera_mt5/handlers/*`). * * Source of truth: `eaera-docs/cbs/eaera-cms/docs/eaera-cms-api-inventory.md` * §7.6 ("27 actions total: 26 Mt5Account + 1 KalshiFuture"). See §7.1 for * trading, §7.2 for financial, §7.3 for operational/admin, §7.4 for viewer, * and the cross-ref taxonomy in * `eaera-docs/cbs/eaera-cms/docs/eaera-cms-websocket-integration-guide.md` * §12 (narrower scope-grouped view). * * These are the wire-level `actionName` strings the dashboard and SDK use * when: * * - serializing a rule's `executionParams.actionName`, * - dispatching `POST /api/v1/content/{uuid}/actions/{actionName}`, * - resolving an `exec.operationName` back to a friendly label. * * The specialised values that ship in `ACTION_KINDS` (`cms-sdk/.../rules/ * conditions.ts`) are sourced from this constant — `MOVE → CHANGE_GROUP`, * `LEVERAGE → CHANGE_LEVERAGE`, `TAG → TAG_ACCOUNT`, etc. Use this file * whenever you need the bare backend string (no view-model wrapping). * * The frontend `kind` view-model enum lives in `cms-sdk/.../rules/ * conditions.ts` (`ACTION_KIND`); do NOT confuse `ACTION_KIND.TAG` (the * UI kind = `'tag'`) with `MT5_ACTION_NAME.TAG_ACCOUNT` (the backend * actionName = `'tag_account'`). * * Composition (BE §7.6, scope-grouped): * * | Scope | Count | Notes | * |-------------------|-------|------------------------------------------------------| * | mt5:trade | 14 | `place_order` (pending: limit/stop/stop_limit) + | * | | | `place_market_order` (market only) + 11 others + | * | | | `export_history` (local CH query) | * | mt5:financial | 2 | | * | mt5:admin | 8 | incl. `tag_account` & `provision_user` (local) | * | mt5:viewer | 2 | both local (no-bridge) | * | mt5:trade (local) | 1 | `export_history` — local CH query, scope mt5:trade | * | KalshiFuture | 1 | `update_spread` | * | TOTAL | 27 | 26 Mt5Account + 1 KalshiFuture | */ export declare const MT5_ACTION_NAME: { /** * `eaera_mt5.handlers.trading:place_order` — entry point for **pending** * orders only (limit / stop / stop_limit). Accepts `type ∈ {limit, stop, * stop_limit}` and required `price` / `stop_price` per type. Market orders * are routed to {@link MT5_ACTION_NAME.PLACE_MARKET_ORDER} [BE §7.1.1]. * * Success `output`: `{ order_id, ticket, type, side, symbol, volume, price, * stop_price, client_order_id }`. */ readonly PLACE_ORDER: "place_order"; /** * `eaera_mt5.handlers.trading:place_market_order` — canonical **market** * order action. Params `{ symbol, side, volume, comment? }` only; does NOT * accept `type` / `price` / `stop_price` / `duration` / `sl` / `tp` (market * orders carry no SL/TP under the current contract) [BE §7.1.2]. * * Success `output`: `{ request_id, position_id }`. */ readonly PLACE_MARKET_ORDER: "place_market_order"; /** `eaera_mt5.handlers.trading:cancel_order` — FEAT-007 [BE §7.1.3]. */ readonly CANCEL_ORDER: "cancel_order"; /** `eaera_mt5.handlers.trading:cancel_all_orders` [BE §7.1.4]. */ readonly CANCEL_ALL_ORDERS: "cancel_all_orders"; /** `eaera_mt5.handlers.trading:flatten_all_orders` — close everything [BE §7.1.5]. */ readonly FLATTEN_ALL_ORDERS: "flatten_all_orders"; /** `eaera_mt5.handlers.trading:modify_order` [BE §7.1.6]. */ readonly MODIFY_ORDER: "modify_order"; /** `eaera_mt5.handlers.trading:modify_position` — FEAT-006 SL/TP editor [BE §7.1.7]. */ readonly MODIFY_POSITION: "modify_position"; /** `eaera_mt5.handlers.trading:close_position` [BE §7.1.8]. */ readonly CLOSE_POSITION: "close_position"; /** `eaera_mt5.handlers.trading:close_all_positions` [BE §7.1.9]. */ readonly CLOSE_ALL_POSITIONS: "close_all_positions"; /** * `eaera_mt5.handlers.trading:close_selected_positions` — batch close of * selected positions by ticket. Params `{ position_ids: number[], * comment? }` (1..100 per call), result `{ closed, errors, closed_count, * error_count }` (partial success possible). Invoked via WS `action` * frame with `request_id` correlation [api-inventory §B.2, §B.6]. */ readonly CLOSE_SELECTED_POSITIONS: "close_selected_positions"; /** `eaera_mt5.handlers.trading:join_bid` — one-tap BUY LIMIT at bid [BE §7.1.10]. */ readonly JOIN_BID: "join_bid"; /** `eaera_mt5.handlers.trading:join_ask` — one-tap SELL LIMIT at ask [BE §7.1.11]. */ readonly JOIN_ASK: "join_ask"; /** `eaera_mt5.handlers.trading:reverse` — close + open opposite [BE §7.1.12]. */ readonly REVERSE: "reverse"; /** `eaera_mt5.handlers.local:export_history` — local CH query, scope mt5:trade (NO bridge) [BE §7.1.13]. */ readonly EXPORT_HISTORY: "export_history"; /** `eaera_mt5.handlers.financial:deposit` [BE §7.2.1]. */ readonly DEPOSIT: "deposit"; /** `eaera_mt5.handlers.financial:withdraw` [BE §7.2.2]. */ readonly WITHDRAW: "withdraw"; /** `eaera_mt5.handlers.operational:disable_trade` [BE §7.3]. */ readonly DISABLE_TRADE: "disable_trade"; /** `eaera_mt5.handlers.operational:enable_trade` [BE §7.3]. */ readonly ENABLE_TRADE: "enable_trade"; /** `eaera_mt5.handlers.operational:change_group` [BE §7.3]. */ readonly CHANGE_GROUP: "change_group"; /** `eaera_mt5.handlers.operational:change_leverage` [BE §7.3]. */ readonly CHANGE_LEVERAGE: "change_leverage"; /** `eaera_mt5.handlers.operational:close_account` [BE §7.3]. */ readonly CLOSE_ACCOUNT: "close_account"; /** `eaera_mt5.handlers.operational:resync_deals` [BE §7.3]. */ readonly RESYNC_DEALS: "resync_deals"; /** `eaera_mt5.handlers.local:tag_account` — local (NO bridge) [BE §7.3]. */ readonly TAG_ACCOUNT: "tag_account"; /** `eaera_mt5.handlers.local:provision_user` — local (NO bridge); drives `user_sync` ContentRule [BE §7.3]. */ readonly PROVISION_USER: "provision_user"; /** `eaera_mt5.handlers.local:generate_report` — local (NO bridge) [BE §7.4]. */ readonly GENERATE_REPORT: "generate_report"; /** `eaera_mt5.handlers.local:generate_ai_summary` — local (NO bridge) [BE §7.4]. */ readonly GENERATE_AI_SUMMARY: "generate_ai_summary"; /** `kalshi.handlers.future:update_spread` [BE §7]. */ readonly UPDATE_SPREAD: "update_spread"; }; /** Wire-level mt5 pack action-name union (snake_case BE strings). */ export type Mt5ActionName = (typeof MT5_ACTION_NAME)[keyof typeof MT5_ACTION_NAME]; /** Trading actions — `mt5:trade` scope. Bridge to the MT5 worker via Redis-Stream, except `EXPORT_HISTORY` (local CH query). */ export declare const MT5_TRADING_ACTIONS: readonly Mt5ActionName[]; /** Financial actions — `mt5:financial` scope. All bridge to the MT5 worker. */ export declare const MT5_FINANCIAL_ACTIONS: readonly Mt5ActionName[]; /** Operational / admin actions — `mt5:admin` scope. All bridge to the MT5 worker, except `TAG_ACCOUNT` and `PROVISION_USER` (local). */ export declare const MT5_OPERATIONAL_ACTIONS: readonly Mt5ActionName[]; /** Viewer actions — `mt5:viewer` scope. Both local (NO bridge). */ export declare const MT5_VIEWER_ACTIONS: readonly Mt5ActionName[]; /** Local (no-bridge) actions — direct PG/CH, no Redis-Stream dispatch. */ export declare const MT5_LOCAL_ACTIONS: readonly Mt5ActionName[]; /** Every Mt5Account action name (26 — the union of the 4 scope-grouped arrays; BE §7.6). */ export declare const MT5_ALL_ACTIONS: readonly Mt5ActionName[]; /** Narrower scope-grouped unions (handy for action-menu UIs). */ export type Mt5TradingActionName = (typeof MT5_TRADING_ACTIONS)[number]; export type Mt5FinancialActionName = (typeof MT5_FINANCIAL_ACTIONS)[number]; export type Mt5OperationalActionName = (typeof MT5_OPERATIONAL_ACTIONS)[number]; export type Mt5ViewerActionName = (typeof MT5_VIEWER_ACTIONS)[number]; export type Mt5LocalActionName = (typeof MT5_LOCAL_ACTIONS)[number]; //# sourceMappingURL=mt5-action.constant.d.ts.map