@gooin/garmin-connect 1.8.6 → 1.8.7

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 (63) hide show
  1. package/dist/common/FileMFASessionStorage.js +1 -1
  2. package/dist/common/HttpClient copy.js +1 -1
  3. package/dist/common/HttpClient.d.ts +1 -0
  4. package/dist/common/HttpClient.js +1 -1
  5. package/dist/common/HttpClient.js.map +1 -1
  6. package/dist/common/HttpClientOLD.js +1 -1
  7. package/dist/common/HttpClientOLDV1.js +1 -1
  8. package/dist/common/HttpClientV1.js +1 -1
  9. package/dist/common/MFAManager.js +1 -1
  10. package/dist/common/MFASessionStorage.js +1 -1
  11. package/dist/common/RedisMFASessionStorage.js +1 -1
  12. package/dist/garmin/GarminConnect.js +1 -1
  13. package/dist/garmin/UrlClass.js +1 -1
  14. package/dist/garmin/common/DateUtils.js +1 -1
  15. package/dist/garmin/common/HydrationUtils.js +1 -1
  16. package/dist/garmin/common/WeightUtils.js +1 -1
  17. package/dist/garmin/modules/activity/base.js +1 -1
  18. package/dist/garmin/modules/activity/cycling.js +1 -1
  19. package/dist/garmin/modules/activity/running.js +1 -1
  20. package/dist/garmin/modules/activity/training-status.js +1 -1
  21. package/dist/garmin/modules/coach/activity-summary.js +1 -1
  22. package/dist/garmin/modules/coach/helpers.js +1 -1
  23. package/dist/garmin/modules/coach/sleep-analysis.js +1 -1
  24. package/dist/garmin/modules/coach/training-overview.js +1 -1
  25. package/dist/garmin/modules/coach/wellness-overview.js +1 -1
  26. package/dist/garmin/modules/coach/wellness-summary.js +1 -1
  27. package/dist/garmin/modules/coach.js +1 -1
  28. package/dist/garmin/modules/course.js +1 -1
  29. package/dist/garmin/modules/device.js +1 -1
  30. package/dist/garmin/modules/misc.js +1 -1
  31. package/dist/garmin/modules/types.js +1 -1
  32. package/dist/garmin/modules/user.js +1 -1
  33. package/dist/garmin/modules/wellness/body-battery.js +1 -1
  34. package/dist/garmin/modules/wellness/heart-rate.js +1 -1
  35. package/dist/garmin/modules/wellness/hrv.js +1 -1
  36. package/dist/garmin/modules/wellness/hydration.js +1 -1
  37. package/dist/garmin/modules/wellness/sleep.js +1 -1
  38. package/dist/garmin/modules/wellness/weight.js +1 -1
  39. package/dist/garmin/modules/workout.js +1 -1
  40. package/dist/garmin/types/activity-stats.js +1 -1
  41. package/dist/garmin/types/activity.js +1 -1
  42. package/dist/garmin/types/body-battery.js +1 -1
  43. package/dist/garmin/types/coach.js +1 -1
  44. package/dist/garmin/types/course.js +1 -1
  45. package/dist/garmin/types/cycling.js +1 -1
  46. package/dist/garmin/types/device.js +1 -1
  47. package/dist/garmin/types/golf.js +1 -1
  48. package/dist/garmin/types/heartrate.js +1 -1
  49. package/dist/garmin/types/hrv.js +1 -1
  50. package/dist/garmin/types/hydration.js +1 -1
  51. package/dist/garmin/types/index.js +1 -1
  52. package/dist/garmin/types/personal-info.js +1 -1
  53. package/dist/garmin/types/race-prediction.js +1 -1
  54. package/dist/garmin/types/sleep.js +1 -1
  55. package/dist/garmin/types/training-status.js +1 -1
  56. package/dist/garmin/types/weight.js +1 -1
  57. package/dist/garmin/types/workout.js +1 -1
  58. package/dist/garmin/workouts/Running.js +1 -1
  59. package/dist/garmin/workouts/templates/RunningTemplate.js +1 -1
  60. package/dist/garmin/workouts/workout-draft.js +1 -1
  61. package/dist/index.js +1 -1
  62. package/dist/utils.js +1 -1
  63. package/package.json +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x5c6317=a0_0x33a1;(function(_0x858e43,_0x4f861e){const _0xb43b40=a0_0x33a1,_0x4c7b8f=_0x858e43();while(!![]){try{const _0x3d2bab=parseInt(_0xb43b40(0x154))/0x1*(-parseInt(_0xb43b40(0x13e))/0x2)+-parseInt(_0xb43b40(0x178))/0x3*(parseInt(_0xb43b40(0x177))/0x4)+-parseInt(_0xb43b40(0x173))/0x5*(-parseInt(_0xb43b40(0x158))/0x6)+parseInt(_0xb43b40(0x15d))/0x7+-parseInt(_0xb43b40(0x14a))/0x8*(parseInt(_0xb43b40(0x16e))/0x9)+-parseInt(_0xb43b40(0x15b))/0xa+parseInt(_0xb43b40(0x162))/0xb;if(_0x3d2bab===_0x4f861e)break;else _0x4c7b8f['push'](_0x4c7b8f['shift']());}catch(_0x1ca367){_0x4c7b8f['push'](_0x4c7b8f['shift']());}}}(a0_0x339f,0xd4572));function a0_0x339f(){const _0x274adb=['MFA验证已取消','8488452YjBYBc','waiting','code','readdir','创建MFA存储目录失败:','14211725Nvvvtg','mkdir','log','unlink','未找到MFA验证会话:\x20','FileMFASessionStorage','replace','清理了\x20','__importDefault','access','join','resolvedAt','18aiccJA','storageDir','endsWith','default',',\x20状态:\x20','15GhxkWN','error','cleanupExpiredRequests','submitMFACode','5636dyWLuN','921UdrSVz','__esModule','readFile','map','resolved','now','2jslwgZ','status','rejected','message','rejectedAt','toISOString','writeFile','stringify','promises','.json','parse','utf8','2161336JQcgbv','getSessionFilePath','清理过期请求失败:','defineProperty','getActiveSessions','MFA验证会话状态不正确:\x20','cleanupRequest',',\x20sessionId\x20','ensureStorageDir',',\x20错误:\x20','503541ITqlBA','getTime',',\x20原因:\x20','\x20个过期的MFA验证会话','2913066RzhRft','获取活跃会话失败:','DEFAULT_TIMEOUT','16149600BSimjJ'];a0_0x339f=function(){return _0x274adb;};return a0_0x339f();}var __importDefault=this&&this[a0_0x5c6317(0x16a)]||function(_0x33642d){return _0x33642d&&_0x33642d['__esModule']?_0x33642d:{'default':_0x33642d};};Object[a0_0x5c6317(0x14d)](exports,a0_0x5c6317(0x179),{'value':!![]}),exports[a0_0x5c6317(0x167)]=void 0x0;const fs_1=require('fs'),path_1=__importDefault(require('path'));function a0_0x33a1(_0xc48a8d,_0x4212c9){_0xc48a8d=_0xc48a8d-0x13c;const _0x339f70=a0_0x339f();let _0x33a132=_0x339f70[_0xc48a8d];return _0x33a132;}class FileMFASessionStorage{constructor(_0x3e185e){const _0x41d434=a0_0x5c6317;this[_0x41d434(0x15a)]=0x5*0x3c*0x3e8,this[_0x41d434(0x16f)]=_0x3e185e,this[_0x41d434(0x152)]();}async[a0_0x5c6317(0x152)](){const _0x3dd3d9=a0_0x5c6317;try{await fs_1[_0x3dd3d9(0x146)][_0x3dd3d9(0x163)](this[_0x3dd3d9(0x16f)],{'recursive':!![]});}catch(_0x26920d){console[_0x3dd3d9(0x174)](_0x3dd3d9(0x161),_0x26920d);}}[a0_0x5c6317(0x14b)](_0x3d6d62){const _0x996659=a0_0x5c6317;return path_1[_0x996659(0x171)]['join'](this['storageDir'],_0x3d6d62+_0x996659(0x147));}async['waitForMFACode'](_0x2f8861,_0x4963ff=this['DEFAULT_TIMEOUT']){const _0x309714=a0_0x5c6317;await this[_0x309714(0x152)](),await this[_0x309714(0x150)](_0x2f8861);const _0x2d810a={'sessionId':_0x2f8861,'status':_0x309714(0x15e),'createdAt':new Date()[_0x309714(0x143)](),'timeout':_0x4963ff},_0x27b5b4=this[_0x309714(0x14b)](_0x2f8861);return await fs_1[_0x309714(0x146)][_0x309714(0x144)](_0x27b5b4,JSON[_0x309714(0x145)](_0x2d810a),_0x309714(0x149)),console[_0x309714(0x164)]('MFA验证会话已创建:\x20'+_0x2f8861),new Promise((_0x276d1f,_0x1ce846)=>{const _0x26541d=Date['now'](),_0x15eb4a=setInterval(async()=>{const _0x1c6cc1=a0_0x33a1;try{if(Date[_0x1c6cc1(0x13d)]()-_0x26541d>_0x4963ff){clearInterval(_0x15eb4a),await this[_0x1c6cc1(0x150)](_0x2f8861),_0x1ce846(new Error('MFA验证超时,请重新登录'));return;}try{const _0x78c200=await fs_1['promises'][_0x1c6cc1(0x17a)](_0x27b5b4,_0x1c6cc1(0x149)),_0x458463=JSON[_0x1c6cc1(0x148)](_0x78c200);if(_0x458463[_0x1c6cc1(0x13f)]===_0x1c6cc1(0x13c)&&_0x458463[_0x1c6cc1(0x15f)]){clearInterval(_0x15eb4a),await this[_0x1c6cc1(0x150)](_0x2f8861),_0x276d1f(_0x458463[_0x1c6cc1(0x15f)]);return;}if(_0x458463[_0x1c6cc1(0x13f)]===_0x1c6cc1(0x140)&&_0x458463[_0x1c6cc1(0x174)]){clearInterval(_0x15eb4a),await this[_0x1c6cc1(0x150)](_0x2f8861),_0x1ce846(new Error(_0x458463[_0x1c6cc1(0x174)]));return;}}catch(_0x55bc47){}}catch(_0x29824d){clearInterval(_0x15eb4a),await this[_0x1c6cc1(0x150)](_0x2f8861),_0x1ce846(_0x29824d instanceof Error?_0x29824d:new Error(String(_0x29824d)));}},0x3e8);});}async[a0_0x5c6317(0x176)](_0x4e8de3,_0x7a277a){const _0x8b9abc=a0_0x5c6317,_0x5d73ce=this[_0x8b9abc(0x14b)](_0x4e8de3);try{const _0x5c27a2=await fs_1['promises'][_0x8b9abc(0x17a)](_0x5d73ce,_0x8b9abc(0x149)),_0x922930=JSON[_0x8b9abc(0x148)](_0x5c27a2);if(_0x922930['status']!=='waiting')return console[_0x8b9abc(0x164)](_0x8b9abc(0x14f)+_0x4e8de3+_0x8b9abc(0x172)+_0x922930['status']),![];return _0x922930[_0x8b9abc(0x13f)]='resolved',_0x922930[_0x8b9abc(0x15f)]=_0x7a277a,_0x922930[_0x8b9abc(0x16d)]=new Date()['toISOString'](),await fs_1[_0x8b9abc(0x146)]['writeFile'](_0x5d73ce,JSON[_0x8b9abc(0x145)](_0x922930),_0x8b9abc(0x149)),console['log']('MFA验证码已提交:\x20code\x20'+_0x7a277a+_0x8b9abc(0x151)+_0x4e8de3),!![];}catch(_0x2de17a){return console['log'](_0x8b9abc(0x166)+_0x4e8de3+',\x20错误:\x20'+(_0x2de17a instanceof Error?_0x2de17a[_0x8b9abc(0x141)]:String(_0x2de17a))),![];}}async['cancelMFARequest'](_0x42c823,_0x287ac1=a0_0x5c6317(0x15c)){const _0x4c2bb8=a0_0x5c6317,_0x5cb2b3=this[_0x4c2bb8(0x14b)](_0x42c823);try{const _0x523f9a=await fs_1[_0x4c2bb8(0x146)][_0x4c2bb8(0x17a)](_0x5cb2b3,_0x4c2bb8(0x149)),_0x4e0c37=JSON[_0x4c2bb8(0x148)](_0x523f9a);return _0x4e0c37[_0x4c2bb8(0x13f)]=_0x4c2bb8(0x140),_0x4e0c37[_0x4c2bb8(0x174)]=_0x287ac1,_0x4e0c37[_0x4c2bb8(0x142)]=new Date()[_0x4c2bb8(0x143)](),await fs_1[_0x4c2bb8(0x146)]['writeFile'](_0x5cb2b3,JSON[_0x4c2bb8(0x145)](_0x4e0c37),_0x4c2bb8(0x149)),console['log']('MFA验证已取消:\x20'+_0x42c823+_0x4c2bb8(0x156)+_0x287ac1),!![];}catch(_0x572c3a){return console[_0x4c2bb8(0x164)](_0x4c2bb8(0x166)+_0x42c823+_0x4c2bb8(0x153)+(_0x572c3a instanceof Error?_0x572c3a[_0x4c2bb8(0x141)]:String(_0x572c3a))),![];}}async['hasSession'](_0x3b1136){const _0x15db75=a0_0x5c6317,_0x3a700e=this[_0x15db75(0x14b)](_0x3b1136);try{return await fs_1['promises'][_0x15db75(0x16b)](_0x3a700e),!![];}catch(_0x3e4edf){return![];}}async[a0_0x5c6317(0x14e)](){const _0x4b3b4b=a0_0x5c6317;try{await this[_0x4b3b4b(0x152)]();const _0x1e97f3=await fs_1[_0x4b3b4b(0x146)][_0x4b3b4b(0x160)](this[_0x4b3b4b(0x16f)]);return _0x1e97f3['filter'](_0x10eb54=>_0x10eb54[_0x4b3b4b(0x170)](_0x4b3b4b(0x147)))[_0x4b3b4b(0x17b)](_0x2ed9fa=>_0x2ed9fa[_0x4b3b4b(0x168)](_0x4b3b4b(0x147),''));}catch(_0x4ecc58){return console[_0x4b3b4b(0x174)](_0x4b3b4b(0x159),_0x4ecc58 instanceof Error?_0x4ecc58:String(_0x4ecc58)),[];}}async[a0_0x5c6317(0x175)](_0x122db9=this['DEFAULT_TIMEOUT']){const _0x1c8ab0=a0_0x5c6317;try{await this[_0x1c8ab0(0x152)]();const _0xc4ec71=await fs_1[_0x1c8ab0(0x146)]['readdir'](this[_0x1c8ab0(0x16f)]),_0x165841=new Date();let _0x294014=0x0;for(const _0x17dc34 of _0xc4ec71){if(!_0x17dc34[_0x1c8ab0(0x170)]('.json'))continue;try{const _0x57935c=path_1[_0x1c8ab0(0x171)][_0x1c8ab0(0x16c)](this[_0x1c8ab0(0x16f)],_0x17dc34),_0x2c74cb=await fs_1[_0x1c8ab0(0x146)][_0x1c8ab0(0x17a)](_0x57935c,'utf8'),_0x48356e=JSON[_0x1c8ab0(0x148)](_0x2c74cb),_0x2ae058=new Date(_0x48356e['createdAt']);_0x165841[_0x1c8ab0(0x155)]()-_0x2ae058[_0x1c8ab0(0x155)]()>_0x122db9&&(await fs_1[_0x1c8ab0(0x146)][_0x1c8ab0(0x165)](_0x57935c),_0x294014++);}catch(_0x23bad8){try{await fs_1[_0x1c8ab0(0x146)][_0x1c8ab0(0x165)](path_1[_0x1c8ab0(0x171)][_0x1c8ab0(0x16c)](this[_0x1c8ab0(0x16f)],_0x17dc34)),_0x294014++;}catch(_0x1ef3b7){console['error']('删除过期会话文件失败:\x20'+_0x17dc34,_0x1ef3b7 instanceof Error?_0x1ef3b7:String(_0x1ef3b7));}}}_0x294014>0x0&&console[_0x1c8ab0(0x164)](_0x1c8ab0(0x169)+_0x294014+_0x1c8ab0(0x157));}catch(_0x55ce66){console[_0x1c8ab0(0x174)](_0x1c8ab0(0x14c),_0x55ce66 instanceof Error?_0x55ce66:String(_0x55ce66));}}async[a0_0x5c6317(0x150)](_0x40f669){const _0x3609ed=a0_0x5c6317,_0x2f6c52=this[_0x3609ed(0x14b)](_0x40f669);try{await fs_1[_0x3609ed(0x146)][_0x3609ed(0x165)](_0x2f6c52);}catch(_0x18667d){}}}exports[a0_0x5c6317(0x167)]=FileMFASessionStorage;
1
+ 'use strict';function a0_0x4b00(_0x46729b,_0x382ef4){_0x46729b=_0x46729b-0x65;const _0x9bde0=a0_0x9bde();let _0x4b001d=_0x9bde0[_0x46729b];return _0x4b001d;}const a0_0x4fe206=a0_0x4b00;(function(_0x49d586,_0x352705){const _0x2c157f=a0_0x4b00,_0x42bb4d=_0x49d586();while(!![]){try{const _0x1c7ce4=-parseInt(_0x2c157f(0x8a))/0x1+-parseInt(_0x2c157f(0x95))/0x2+-parseInt(_0x2c157f(0x78))/0x3*(parseInt(_0x2c157f(0x8f))/0x4)+parseInt(_0x2c157f(0x90))/0x5*(parseInt(_0x2c157f(0xa1))/0x6)+parseInt(_0x2c157f(0x84))/0x7+parseInt(_0x2c157f(0xa3))/0x8*(-parseInt(_0x2c157f(0x77))/0x9)+-parseInt(_0x2c157f(0x96))/0xa*(-parseInt(_0x2c157f(0x74))/0xb);if(_0x1c7ce4===_0x352705)break;else _0x42bb4d['push'](_0x42bb4d['shift']());}catch(_0x41165c){_0x42bb4d['push'](_0x42bb4d['shift']());}}}(a0_0x9bde,0xcfa74));var __importDefault=this&&this[a0_0x4fe206(0x8e)]||function(_0x1a6281){const _0x4c0fbd=a0_0x4fe206;return _0x1a6281&&_0x1a6281[_0x4c0fbd(0x6c)]?_0x1a6281:{'default':_0x1a6281};};Object[a0_0x4fe206(0x89)](exports,a0_0x4fe206(0x6c),{'value':!![]}),exports[a0_0x4fe206(0x6a)]=void 0x0;const fs_1=require('fs'),path_1=__importDefault(require(a0_0x4fe206(0x85)));class FileMFASessionStorage{constructor(_0x54bb95){const _0x1fe5ba=a0_0x4fe206;this[_0x1fe5ba(0x73)]=0x5*0x3c*0x3e8,this[_0x1fe5ba(0x86)]=_0x54bb95,this[_0x1fe5ba(0x9d)]();}async[a0_0x4fe206(0x9d)](){const _0x1835f9=a0_0x4fe206;try{await fs_1[_0x1835f9(0x69)][_0x1835f9(0x66)](this[_0x1835f9(0x86)],{'recursive':!![]});}catch(_0x4cf74b){console[_0x1835f9(0x83)](_0x1835f9(0x6f),_0x4cf74b);}}['getSessionFilePath'](_0x227534){const _0x25ef00=a0_0x4fe206;return path_1[_0x25ef00(0x68)][_0x25ef00(0xa0)](this[_0x25ef00(0x86)],_0x227534+_0x25ef00(0x8c));}async[a0_0x4fe206(0x7e)](_0x454e51,_0xd5647e=this['DEFAULT_TIMEOUT']){const _0x53e83f=a0_0x4fe206;await this[_0x53e83f(0x9d)](),await this[_0x53e83f(0x76)](_0x454e51);const _0x5c97f9={'sessionId':_0x454e51,'status':'waiting','createdAt':new Date()[_0x53e83f(0x88)](),'timeout':_0xd5647e},_0x3e4716=this[_0x53e83f(0x72)](_0x454e51);return await fs_1[_0x53e83f(0x69)][_0x53e83f(0x9e)](_0x3e4716,JSON[_0x53e83f(0x6e)](_0x5c97f9),_0x53e83f(0x65)),console['log']('MFA验证会话已创建:\x20'+_0x454e51),new Promise((_0x51b897,_0x1c8afa)=>{const _0x573f03=_0x53e83f,_0x1a089d=Date[_0x573f03(0x7f)](),_0x47fc86=setInterval(async()=>{const _0x7cb0d7=_0x573f03;try{if(Date[_0x7cb0d7(0x7f)]()-_0x1a089d>_0xd5647e){clearInterval(_0x47fc86),await this[_0x7cb0d7(0x76)](_0x454e51),_0x1c8afa(new Error('MFA验证超时,请重新登录'));return;}try{const _0x3885b9=await fs_1[_0x7cb0d7(0x69)][_0x7cb0d7(0x9b)](_0x3e4716,_0x7cb0d7(0x65)),_0x3b8fe5=JSON[_0x7cb0d7(0x81)](_0x3885b9);if(_0x3b8fe5[_0x7cb0d7(0x70)]===_0x7cb0d7(0x9f)&&_0x3b8fe5[_0x7cb0d7(0x91)]){clearInterval(_0x47fc86),await this[_0x7cb0d7(0x76)](_0x454e51),_0x51b897(_0x3b8fe5[_0x7cb0d7(0x91)]);return;}if(_0x3b8fe5[_0x7cb0d7(0x70)]===_0x7cb0d7(0x98)&&_0x3b8fe5[_0x7cb0d7(0x83)]){clearInterval(_0x47fc86),await this[_0x7cb0d7(0x76)](_0x454e51),_0x1c8afa(new Error(_0x3b8fe5['error']));return;}}catch(_0x447d13){}}catch(_0x688e16){clearInterval(_0x47fc86),await this[_0x7cb0d7(0x76)](_0x454e51),_0x1c8afa(_0x688e16 instanceof Error?_0x688e16:new Error(String(_0x688e16)));}},0x3e8);});}async[a0_0x4fe206(0xa2)](_0x55aa69,_0x925da1){const _0x313fad=a0_0x4fe206,_0xb349b0=this['getSessionFilePath'](_0x55aa69);try{const _0x2ec341=await fs_1['promises'][_0x313fad(0x9b)](_0xb349b0,'utf8'),_0x2fad92=JSON['parse'](_0x2ec341);if(_0x2fad92[_0x313fad(0x70)]!==_0x313fad(0x99))return console[_0x313fad(0x9a)](_0x313fad(0x71)+_0x55aa69+',\x20状态:\x20'+_0x2fad92[_0x313fad(0x70)]),![];return _0x2fad92[_0x313fad(0x70)]='resolved',_0x2fad92[_0x313fad(0x91)]=_0x925da1,_0x2fad92['resolvedAt']=new Date()[_0x313fad(0x88)](),await fs_1[_0x313fad(0x69)][_0x313fad(0x9e)](_0xb349b0,JSON['stringify'](_0x2fad92),_0x313fad(0x65)),console[_0x313fad(0x9a)]('MFA验证码已提交:\x20code\x20'+_0x925da1+_0x313fad(0x6d)+_0x55aa69),!![];}catch(_0x4e2060){return console[_0x313fad(0x9a)](_0x313fad(0x93)+_0x55aa69+_0x313fad(0x7d)+(_0x4e2060 instanceof Error?_0x4e2060['message']:String(_0x4e2060))),![];}}async['cancelMFARequest'](_0x121ed6,_0x459850='MFA验证已取消'){const _0x2db68c=a0_0x4fe206,_0x40b3b4=this[_0x2db68c(0x72)](_0x121ed6);try{const _0x5ed425=await fs_1[_0x2db68c(0x69)]['readFile'](_0x40b3b4,'utf8'),_0x54d502=JSON[_0x2db68c(0x81)](_0x5ed425);return _0x54d502[_0x2db68c(0x70)]=_0x2db68c(0x98),_0x54d502[_0x2db68c(0x83)]=_0x459850,_0x54d502[_0x2db68c(0x7b)]=new Date()[_0x2db68c(0x88)](),await fs_1[_0x2db68c(0x69)][_0x2db68c(0x9e)](_0x40b3b4,JSON['stringify'](_0x54d502),_0x2db68c(0x65)),console['log'](_0x2db68c(0x75)+_0x121ed6+_0x2db68c(0x94)+_0x459850),!![];}catch(_0x2998c1){return console[_0x2db68c(0x9a)](_0x2db68c(0x93)+_0x121ed6+_0x2db68c(0x7d)+(_0x2998c1 instanceof Error?_0x2998c1[_0x2db68c(0x82)]:String(_0x2998c1))),![];}}async[a0_0x4fe206(0x79)](_0x3a9bda){const _0x139219=a0_0x4fe206,_0x12412b=this[_0x139219(0x72)](_0x3a9bda);try{return await fs_1[_0x139219(0x69)][_0x139219(0x67)](_0x12412b),!![];}catch(_0x54c84a){return![];}}async[a0_0x4fe206(0x8b)](){const _0x57090c=a0_0x4fe206;try{await this[_0x57090c(0x9d)]();const _0xf9f7af=await fs_1[_0x57090c(0x69)][_0x57090c(0x97)](this[_0x57090c(0x86)]);return _0xf9f7af['filter'](_0x3948f2=>_0x3948f2['endsWith'](_0x57090c(0x8c)))[_0x57090c(0x92)](_0x2c9d50=>_0x2c9d50['replace'](_0x57090c(0x8c),''));}catch(_0x5983cd){return console[_0x57090c(0x83)](_0x57090c(0x87),_0x5983cd instanceof Error?_0x5983cd:String(_0x5983cd)),[];}}async[a0_0x4fe206(0x7c)](_0x4f86a7=this[a0_0x4fe206(0x73)]){const _0x54431e=a0_0x4fe206;try{await this['ensureStorageDir']();const _0x15c4e7=await fs_1['promises'][_0x54431e(0x97)](this[_0x54431e(0x86)]),_0x53ce6e=new Date();let _0x5b7927=0x0;for(const _0x5a8a69 of _0x15c4e7){if(!_0x5a8a69[_0x54431e(0x6b)]('.json'))continue;try{const _0x3f36d5=path_1[_0x54431e(0x68)][_0x54431e(0xa0)](this[_0x54431e(0x86)],_0x5a8a69),_0x4eefc9=await fs_1[_0x54431e(0x69)][_0x54431e(0x9b)](_0x3f36d5,_0x54431e(0x65)),_0x277f02=JSON['parse'](_0x4eefc9),_0x1fe5a7=new Date(_0x277f02[_0x54431e(0xa4)]);_0x53ce6e[_0x54431e(0x8d)]()-_0x1fe5a7[_0x54431e(0x8d)]()>_0x4f86a7&&(await fs_1[_0x54431e(0x69)][_0x54431e(0x80)](_0x3f36d5),_0x5b7927++);}catch(_0x385402){try{await fs_1[_0x54431e(0x69)][_0x54431e(0x80)](path_1[_0x54431e(0x68)][_0x54431e(0xa0)](this[_0x54431e(0x86)],_0x5a8a69)),_0x5b7927++;}catch(_0x155880){console[_0x54431e(0x83)](_0x54431e(0x7a)+_0x5a8a69,_0x155880 instanceof Error?_0x155880:String(_0x155880));}}}_0x5b7927>0x0&&console[_0x54431e(0x9a)]('清理了\x20'+_0x5b7927+_0x54431e(0x9c));}catch(_0x149993){console['error']('清理过期请求失败:',_0x149993 instanceof Error?_0x149993:String(_0x149993));}}async[a0_0x4fe206(0x76)](_0x4b19f9){const _0x1e0f37=a0_0x4fe206,_0x1380f4=this['getSessionFilePath'](_0x4b19f9);try{await fs_1[_0x1e0f37(0x69)][_0x1e0f37(0x80)](_0x1380f4);}catch(_0x1c9ddc){}}}exports['FileMFASessionStorage']=FileMFASessionStorage;function a0_0x9bde(){const _0x31ae1b=['7847175zfYuXC','path','storageDir','获取活跃会话失败:','toISOString','defineProperty','1245228fLqogC','getActiveSessions','.json','getTime','__importDefault','3301148ZWnpkt','442135ypzjCM','code','map','未找到MFA验证会话:\x20',',\x20原因:\x20','2965610QLKjYd','3477340PEwmWf','readdir','rejected','waiting','log','readFile','\x20个过期的MFA验证会话','ensureStorageDir','writeFile','resolved','join','12pJfzBe','submitMFACode','665672iuAKKQ','createdAt','utf8','mkdir','access','default','promises','FileMFASessionStorage','endsWith','__esModule',',\x20sessionId\x20','stringify','创建MFA存储目录失败:','status','MFA验证会话状态不正确:\x20','getSessionFilePath','DEFAULT_TIMEOUT','143pBPhHj','MFA验证已取消:\x20','cleanupRequest','153rfbvpk','3yBSZLM','hasSession','删除过期会话文件失败:\x20','rejectedAt','cleanupExpiredRequests',',\x20错误:\x20','waitForMFACode','now','unlink','parse','message','error'];a0_0x9bde=function(){return _0x31ae1b;};return a0_0x9bde();}