diff --git a/agent.user.js b/agent.user.js index 7f45d11..4f3852f 100644 --- a/agent.user.js +++ b/agent.user.js @@ -30,14 +30,16 @@ GM_log('[TL] 🏁 Welcome to Binance Alpha Farm Agent.'); const uuid = () => ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)); - const KEYS = { + const SESSION_STORAGE_KEYS = { SESSION_ID: 'aRah9OhHeijee6sho3baequu9phoovah', SESSION_TOKEN: 'ThiegiecohViuZ1Iecio7gahphiechub', - - AGENT_TOKEN: 'baf-agent-token', + CURRENT_TASK: 'Reebo1eitahh2aotumai5jae1neetoh3', + CURRENT_TASK_DATA: 'cheishailoh5keePoo6oe2Quie1gaxah', + CURRENT_STEP: 'eDusaidu2hooweiMoonahng3fua7aoso', } - if (!sessionStorage.getItem(KEYS.SESSION_ID)) { - sessionStorage.setItem(KEYS.SESSION_ID, uuid()); + + if (!sessionStorage.getItem(SESSION_STORAGE_KEYS.SESSION_ID)) { + sessionStorage.setItem(SESSION_STORAGE_KEYS.SESSION_ID, uuid()); } // ====== CONFIGURATION ====== @@ -53,10 +55,23 @@ GM_log('[TL] 🏁 Welcome to Binance Alpha Farm Agent.'); const AppSession = { - SESSION_ID: sessionStorage.getItem(KEYS.SESSION_ID), + SESSION_ID: sessionStorage.getItem(SESSION_STORAGE_KEYS.SESSION_ID), - getSessionToken: () => sessionStorage.getItem(KEYS.SESSION_TOKEN), - setSessionToken: token => sessionStorage.setItem(KEYS.SESSION_TOKEN, token), + getSessionToken: () => sessionStorage.getItem(SESSION_STORAGE_KEYS.SESSION_TOKEN), + setSessionToken: token => sessionStorage.setItem(SESSION_STORAGE_KEYS.SESSION_TOKEN, token), + + // Task state - Trạng thái task hiện tại (lưu trong sessionStorage) + getCurrentTask: () => sessionStorage.getItem(SESSION_STORAGE_KEYS.CURRENT_TASK), + setCurrentTask: task => sessionStorage.setItem(SESSION_STORAGE_KEYS.CURRENT_TASK, task), + + getCurrentTaskData: () => { + const data = sessionStorage.getItem(SESSION_STORAGE_KEYS.CURRENT_TASK_DATA); + return data ? JSON.parse(data) : null; + }, + setCurrentTaskData: data => sessionStorage.setItem(SESSION_STORAGE_KEYS.CURRENT_TASK_DATA, JSON.stringify(data)), + + getCurrentStep: () => sessionStorage.getItem(SESSION_STORAGE_KEYS.CURRENT_STEP), + setCurrentStep: step => sessionStorage.setItem(SESSION_STORAGE_KEYS.CURRENT_STEP, step), } // ====== APP ENUMS ====== @@ -83,10 +98,6 @@ GM_log('[TL] 🏁 Welcome to Binance Alpha Farm Agent.'); current_page: null, // Trang hiện tại (detected từ URL) is_logged_in: false, // Trạng thái đăng nhập Binance - // UI state - Trạng thái UI - is_loading: false, // Đang loading - error_message: null, // Thông báo lỗi - // Session flags - Flags cho session hiện tại (reset khi reload) menuCreated: false, // Menu đã được tạo popupInitialized: false, // Popup đã được khởi tạo @@ -139,7 +150,6 @@ GM_log('[TL] 🏁 Welcome to Binance Alpha Farm Agent.'); getCurrentPage() { return this.data.current_page; } getIsLoggedIn() { return this.data.is_logged_in; } - getIsLoading() { return this.data.is_loading; } getMenuCreated() { return this.data.menuCreated; } getPopupInitialized() { return this.data.popupInitialized; } getAppInitialized() { return this.data.appInitialized; } @@ -926,9 +936,9 @@ GM_log('[TL] 🏁 Welcome to Binance Alpha Farm Agent.'); logged_in: AppState.getIsLoggedIn(), current_page: AppState.getCurrentPage(), bot_status: AppSettings.getBotStatus(), - current_task: null, // TODO: Add to AppState if needed - current_task_data: null, // TODO: Add to AppState if needed - current_step: null, // TODO: Add to AppState if needed + current_task: AppSession.getCurrentTask(), + current_task_data: AppSession.getCurrentTaskData(), + current_step: AppSession.getCurrentStep(), }; // TL.debug(`HEARTBEAT`, `${JSON.stringify(status, null, 2)}`); @@ -948,13 +958,26 @@ GM_log('[TL] 🏁 Welcome to Binance Alpha Farm Agent.'); } }, + getTask: async () => { + const data = { + logged_in: AppState.getIsLoggedIn(), + current_page: AppState.getCurrentPage(), + bot_status: AppSettings.getBotStatus(), + current_task: AppSession.getCurrentTask(), + current_task_data: AppSession.getCurrentTaskData(), + current_step: AppSession.getCurrentStep(), + }; + const task = await BAF.getTask(data); + return task; + }, + handleTask: (task) => { TL.debug('APP-SERVICES', `Task: ${JSON.stringify(task, null, 2)}`); }, start: async () => { while (true) { - const task = await BAF.getTask(); + const task = await AppServices.getTask(); if (task.ok) { AppServices.handleTask(task.data); }