alvin-bot 5.7.0 → 5.8.1
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/CHANGELOG.md +25 -0
- package/README.md +25 -31
- package/dist/claude.js +1 -102
- package/dist/config.js +1 -96
- package/dist/engine.js +1 -90
- package/dist/find-claude-binary.js +1 -98
- package/dist/handlers/async-agent-chunk-handler.js +1 -50
- package/dist/handlers/background-bypass.js +1 -75
- package/dist/handlers/commands.js +1 -2336
- package/dist/handlers/cron-progress.js +1 -52
- package/dist/handlers/document.js +1 -194
- package/dist/handlers/message.js +1 -959
- package/dist/handlers/photo.js +1 -154
- package/dist/handlers/platform-message.js +1 -360
- package/dist/handlers/stuck-timer.js +1 -54
- package/dist/handlers/video.js +1 -237
- package/dist/handlers/voice.js +1 -148
- package/dist/i18n.js +1 -805
- package/dist/index.js +1 -697
- package/dist/init-data-dir.js +1 -98
- package/dist/middleware/auth.js +1 -233
- package/dist/migrate.js +1 -162
- package/dist/paths.js +1 -146
- package/dist/platforms/discord.js +1 -175
- package/dist/platforms/index.js +1 -130
- package/dist/platforms/signal.js +1 -205
- package/dist/platforms/slack-slash-parser.js +1 -32
- package/dist/platforms/slack.js +1 -501
- package/dist/platforms/telegram.js +1 -111
- package/dist/platforms/types.js +1 -8
- package/dist/platforms/whatsapp-auth-helpers.js +1 -53
- package/dist/platforms/whatsapp.js +1 -707
- package/dist/providers/claude-sdk-provider.js +1 -565
- package/dist/providers/codex-cli-provider.js +1 -134
- package/dist/providers/index.js +1 -7
- package/dist/providers/ollama-provider.js +1 -32
- package/dist/providers/openai-compatible.js +1 -406
- package/dist/providers/registry.js +1 -352
- package/dist/providers/runtime-header.js +1 -45
- package/dist/providers/tool-executor.js +1 -475
- package/dist/providers/types.js +1 -227
- package/dist/services/access.js +1 -144
- package/dist/services/allowed-users-gate.js +1 -56
- package/dist/services/alvin-dispatch.js +1 -174
- package/dist/services/alvin-mcp-tools.js +1 -104
- package/dist/services/asset-index.js +1 -224
- package/dist/services/async-agent-parser.js +1 -418
- package/dist/services/async-agent-watcher.js +1 -583
- package/dist/services/auto-diagnostic.js +1 -228
- package/dist/services/broadcast.js +1 -52
- package/dist/services/browser-manager.js +1 -562
- package/dist/services/browser-webfetch.js +1 -127
- package/dist/services/browser.js +1 -121
- package/dist/services/cdp-bootstrap.js +1 -357
- package/dist/services/compaction.js +1 -144
- package/dist/services/critical-notify.js +1 -203
- package/dist/services/cron-resolver.js +1 -58
- package/dist/services/cron-scheduling.js +1 -310
- package/dist/services/cron.js +1 -861
- package/dist/services/custom-tools.js +1 -317
- package/dist/services/delivery-queue.js +1 -173
- package/dist/services/delivery-registry.js +1 -21
- package/dist/services/disk-cleanup.js +1 -203
- package/dist/services/elevenlabs.js +1 -58
- package/dist/services/embeddings/auto-detect.js +1 -74
- package/dist/services/embeddings/fts5.js +1 -108
- package/dist/services/embeddings/gemini.js +1 -65
- package/dist/services/embeddings/index.js +1 -496
- package/dist/services/embeddings/ollama.js +1 -78
- package/dist/services/embeddings/openai.js +1 -49
- package/dist/services/embeddings/provider.js +1 -22
- package/dist/services/embeddings/vector-base.js +1 -113
- package/dist/services/embeddings-migration.js +1 -193
- package/dist/services/embeddings.js +1 -9
- package/dist/services/env-file.js +1 -50
- package/dist/services/exec-guard.js +1 -71
- package/dist/services/fallback-order.js +1 -154
- package/dist/services/file-permissions.js +1 -93
- package/dist/services/heartbeat-file.js +1 -65
- package/dist/services/heartbeat.js +1 -313
- package/dist/services/hooks.js +1 -44
- package/dist/services/imagegen.js +1 -72
- package/dist/services/language-detect.js +1 -154
- package/dist/services/markdown.js +1 -63
- package/dist/services/mcp.js +1 -263
- package/dist/services/memory-extractor.js +1 -178
- package/dist/services/memory-inject-mode.js +1 -43
- package/dist/services/memory-layers.js +1 -156
- package/dist/services/memory.js +1 -146
- package/dist/services/ollama-manager.js +1 -339
- package/dist/services/permissions-wizard.js +1 -291
- package/dist/services/personality.js +1 -376
- package/dist/services/plugins.js +1 -171
- package/dist/services/preflight.js +1 -292
- package/dist/services/process-manager.js +1 -291
- package/dist/services/release-highlights.js +1 -79
- package/dist/services/reminders.js +1 -97
- package/dist/services/restart.js +1 -48
- package/dist/services/security-audit.js +1 -74
- package/dist/services/self-diagnosis.js +1 -272
- package/dist/services/self-search.js +1 -129
- package/dist/services/session-persistence.js +1 -237
- package/dist/services/session.js +1 -282
- package/dist/services/skills.js +1 -290
- package/dist/services/ssrf-guard.js +1 -162
- package/dist/services/standing-orders.js +1 -29
- package/dist/services/steer-channel.js +1 -46
- package/dist/services/stop-controller.js +1 -52
- package/dist/services/subagent-dedup.js +1 -86
- package/dist/services/subagent-delivery.js +1 -452
- package/dist/services/subagent-stats.js +1 -123
- package/dist/services/subagents.js +1 -814
- package/dist/services/sudo.js +1 -329
- package/dist/services/telegram.js +1 -158
- package/dist/services/timing-safe-bearer.js +1 -51
- package/dist/services/tool-discovery.js +1 -214
- package/dist/services/trends.js +1 -580
- package/dist/services/updater.js +1 -291
- package/dist/services/usage-tracker.js +1 -144
- package/dist/services/users.js +1 -271
- package/dist/services/voice.js +1 -104
- package/dist/services/watchdog-brake.js +1 -154
- package/dist/services/watchdog.js +1 -311
- package/dist/services/workspaces.js +1 -276
- package/dist/tui/index.js +1 -667
- package/dist/util/console-formatter.js +1 -109
- package/dist/util/debounce.js +1 -24
- package/dist/util/telegram-error-filter.js +1 -62
- package/dist/version.js +1 -24
- package/dist/web/bind-strategy.js +1 -42
- package/dist/web/canvas.js +1 -30
- package/dist/web/doctor-api.js +1 -604
- package/dist/web/openai-compat.js +1 -252
- package/dist/web/server.js +1 -1902
- package/dist/web/setup-api.js +1 -1101
- package/package.json +5 -2
- package/dist/.metadata_never_index +0 -0
|
@@ -1,50 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { registerPendingAgent } from "../services/async-agent-watcher.js";
|
|
3
|
-
import { getAllSessions } from "../services/session.js";
|
|
4
|
-
/**
|
|
5
|
-
* Inspect a stream chunk; if it's an Agent async_launched tool_result,
|
|
6
|
-
* register the pending agent with the watcher.
|
|
7
|
-
*
|
|
8
|
-
* Safe to call on any chunk type — non-tool_result chunks are ignored.
|
|
9
|
-
*/
|
|
10
|
-
export function handleToolResultChunk(chunk, ctx) {
|
|
11
|
-
if (chunk.type !== "tool_result")
|
|
12
|
-
return;
|
|
13
|
-
if (!chunk.toolResultContent)
|
|
14
|
-
return;
|
|
15
|
-
const info = parseAsyncLaunchedToolResult(chunk.toolResultContent);
|
|
16
|
-
if (!info)
|
|
17
|
-
return;
|
|
18
|
-
// The description and prompt come from the original tool_use input,
|
|
19
|
-
// not the tool_result text. If we don't have them (e.g. test setup
|
|
20
|
-
// forgot to pass lastToolUseInput), fall back to a generic label so
|
|
21
|
-
// the user still sees something meaningful in the delivery banner.
|
|
22
|
-
const description = ctx.lastToolUseInput?.description?.trim() ||
|
|
23
|
-
`Background agent ${info.agentId.slice(0, 8)}`;
|
|
24
|
-
const prompt = ctx.lastToolUseInput?.prompt?.trim() || "";
|
|
25
|
-
registerPendingAgent({
|
|
26
|
-
agentId: info.agentId,
|
|
27
|
-
outputFile: info.outputFile,
|
|
28
|
-
description,
|
|
29
|
-
prompt,
|
|
30
|
-
chatId: ctx.chatId,
|
|
31
|
-
userId: ctx.userId,
|
|
32
|
-
toolUseId: chunk.toolUseId ?? null,
|
|
33
|
-
sessionKey: ctx.sessionKey,
|
|
34
|
-
});
|
|
35
|
-
// v4.12.3 — Increment the session's pendingBackgroundCount so the
|
|
36
|
-
// main handler knows a background task is tying up the SDK's CLI
|
|
37
|
-
// subprocess. The watcher decrements this when it delivers the result.
|
|
38
|
-
// Guarded: missing sessionKey or unknown session is a no-op.
|
|
39
|
-
if (ctx.sessionKey) {
|
|
40
|
-
try {
|
|
41
|
-
const s = getAllSessions().get(ctx.sessionKey);
|
|
42
|
-
if (s) {
|
|
43
|
-
s.pendingBackgroundCount = (s.pendingBackgroundCount ?? 0) + 1;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
catch {
|
|
47
|
-
/* never let counter updates break registration */
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
1
|
+
(function(_0x362dfb,_0x866105){const _0x38716c=_0x35a4,_0xe0766e=_0x35a4,_0x2e050b=_0x362dfb();while(!![]){try{const _0x3bd4c3=parseInt(_0x38716c(0xe4))/(0x20a4+0x763+-0x5e*0x6d)+parseInt(_0x38716c(0xee))/(0x705*-0x3+-0x2*-0xb1f+-0x12d)*(-parseInt(_0x38716c(0xec))/(0x256+0x2*-0x499+0x6df))+parseInt(_0x38716c(0xf8))/(-0x1231*-0x2+-0x6d3+0x1d8b*-0x1)+-parseInt(_0x38716c(0xea))/(0x5*-0x5f2+0x1c3d*-0x1+-0x1cfe*-0x2)+-parseInt(_0x38716c(0xf5))/(-0xb*0x182+0x1c6e*-0x1+-0x1*-0x2d0a)*(-parseInt(_0xe0766e(0xe6))/(0x168c+0xd3c+-0x23c1))+parseInt(_0xe0766e(0xf9))/(0xbdc+0x21cb*0x1+-0x11*0x2af)*(parseInt(_0xe0766e(0xef))/(0x204a*0x1+-0x1d23+-0x7*0x72))+-parseInt(_0xe0766e(0xf4))/(0x12e2+-0x153a*0x1+0x262);if(_0x3bd4c3===_0x866105)break;else _0x2e050b['push'](_0x2e050b['shift']());}catch(_0x20f95e){_0x2e050b['push'](_0x2e050b['shift']());}}}(_0x329e,-0x3df82+0x2f*0x1c13+0x3e9a8));function _0x35a4(_0x41f772,_0x2165d4){_0x41f772=_0x41f772-(0x80e*-0x1+0x1*0x688+0x266*0x1);const _0x4dfff7=_0x329e();let _0x5b2dd5=_0x4dfff7[_0x41f772];if(_0x35a4['vxYRln']===undefined){var _0x46cfaf=function(_0x276096){const _0x955636='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a006e='',_0x3e29f5='',_0x58ef6e=_0x1a006e+_0x46cfaf;for(let _0x2c5bdb=0x1225+-0x11*-0x1e9+-0x329e,_0x32f522,_0x54c093,_0x37bcab=0x1*0x1e5d+-0x9fa+0x133*-0x11;_0x54c093=_0x276096['charAt'](_0x37bcab++);~_0x54c093&&(_0x32f522=_0x2c5bdb%(-0xb*0x16a+0xff7*-0x2+0x2f80)?_0x32f522*(-0x9ef+-0x1e81+0x28b0)+_0x54c093:_0x54c093,_0x2c5bdb++%(0x33*0x91+-0x2b*-0xdd+-0x41fe))?_0x1a006e+=_0x58ef6e['charCodeAt'](_0x37bcab+(-0x4*0xc9+0x221a+0x1*-0x1eec))-(-0x1631*-0x1+-0x22*0x89+0x1*-0x3f5)!==-0x5*0x334+0x925+-0x6df*-0x1?String['fromCharCode'](0xf62+0x1305+-0x2168&_0x32f522>>(-(0xb5+0x2*-0x11ec+0x2325)*_0x2c5bdb&0x7ae*0x2+-0x1*0x1acd+-0x1*-0xb77)):_0x2c5bdb:0x2*-0x1281+-0x1c0b+-0x410d*-0x1){_0x54c093=_0x955636['indexOf'](_0x54c093);}for(let _0x2308b0=-0x43*-0x43+0x7b4*0x4+-0x3059*0x1,_0x571957=_0x1a006e['length'];_0x2308b0<_0x571957;_0x2308b0++){_0x3e29f5+='%'+('00'+_0x1a006e['charCodeAt'](_0x2308b0)['toString'](0x9*0x426+0x1*-0x61f+-0x1f27))['slice'](-(-0x2053+-0x2542+0x4597));}return decodeURIComponent(_0x3e29f5);};_0x35a4['LWQgTe']=_0x46cfaf,_0x35a4['yDdLBq']={},_0x35a4['vxYRln']=!![];}const _0x2baa2b=_0x4dfff7[-0x1dcd+0x457*0x2+-0x151f*-0x1],_0x4b353d=_0x41f772+_0x2baa2b,_0x3fd6c7=_0x35a4['yDdLBq'][_0x4b353d];if(!_0x3fd6c7){const _0xc204b7=function(_0x473a7b){this['MFdSZF']=_0x473a7b,this['aagOte']=[-0x1*-0x61d+-0x1*0x1efe+-0x41*-0x62,0x2*0x100d+0x1c01+-0x3c1b,0x1621+0xf2*-0x10+0xa3*-0xb],this['xXfMKq']=function(){return'newState';},this['ERPrtg']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['FtoXGT']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0xc204b7['prototype']['uuKshC']=function(){const _0x5b3d83=new RegExp(this['ERPrtg']+this['FtoXGT']),_0x2c545a=_0x5b3d83['test'](this['xXfMKq']['toString']())?--this['aagOte'][-0x1*0x2a5+-0x1a05+0x1*0x1cab]:--this['aagOte'][-0x19a5+-0x1231*-0x2+-0xabd];return this['zuYnVC'](_0x2c545a);},_0xc204b7['prototype']['zuYnVC']=function(_0x3b3852){if(!Boolean(~_0x3b3852))return _0x3b3852;return this['FwyMCj'](this['MFdSZF']);},_0xc204b7['prototype']['FwyMCj']=function(_0x21aca4){for(let _0x46bcd4=0x1079+0x208c+0x2f*-0x10b,_0x15c767=this['aagOte']['length'];_0x46bcd4<_0x15c767;_0x46bcd4++){this['aagOte']['push'](Math['round'](Math['random']())),_0x15c767=this['aagOte']['length'];}return _0x21aca4(this['aagOte'][-0x92*-0x1+0x18f4+-0x1986]);},new _0xc204b7(_0x35a4)['uuKshC'](),_0x5b2dd5=_0x35a4['LWQgTe'](_0x5b2dd5),_0x35a4['yDdLBq'][_0x4b353d]=_0x5b2dd5;}else _0x5b2dd5=_0x3fd6c7;return _0x5b2dd5;}const _0x3bcbaa=(function(){let _0x363055=!![];return function(_0x1cd9b7,_0x2ab8e6){const _0x2bda8b=_0x363055?function(){const _0x929584=_0x35a4;if(_0x2ab8e6){const _0x594f02=_0x2ab8e6[_0x929584(0xeb)](_0x1cd9b7,arguments);return _0x2ab8e6=null,_0x594f02;}}:function(){};return _0x363055=![],_0x2bda8b;};}()),_0x5e22d0=_0x3bcbaa(this,function(){const _0x57a62c=_0x35a4,_0x2100f4=_0x35a4;return _0x5e22d0['toString']()[_0x57a62c(0xe9)](_0x2100f4(0xe8)+'+$')['toString']()['constructo'+'r'](_0x5e22d0)['search'](_0x57a62c(0xe8)+'+$');});function _0x329e(){const _0x527c0f=['B3v0Chv0rMLSzq','CgvUzgLUz0jHyW','C2vZC2LVBKTLEq','Dg9VBfjLC3vSDa','BgfZDfrVB2XvCW','q29UDgvUDa','mtmWmdG2DMrby2Pv','C2XPy2u','n0DRzwjHEa','z2v0','kcGOlISPkYKRkq','C2vHCMnO','mtu0ntm0nvvnBuPxqq','yxbWBhK','odm2mu10uNDIAa','ywDLBNrjza','ndq2q2vlAvHu','ntC4n0THrwzuDG','qMfJA2DYB3vUza','y2HHDeLK','zuLUChv0','ChjVBxb0','mZG4oti4mer6qw9wuW','mZC4mJK1ogjzDLHhvG','DhjPBq','A2DYB3vUzenVDq','mJqXnJy3nKvgz0XHta','mZy3mNjNrMPsvq','zgvZy3jPChrPBW','DhLWzq'];_0x329e=function(){return _0x527c0f;};return _0x329e();}_0x5e22d0();import{parseAsyncLaunchedToolResult}from'../services/async-agent-parser.js';import{registerPendingAgent}from'../services/async-agent-watcher.js';import{getAllSessions}from'../services/session.js';export function handleToolResultChunk(_0x3e61c3,_0x237b3f){const _0x2e095b=_0x35a4,_0x539aed=_0x35a4;if(_0x3e61c3[_0x2e095b(0xfb)]!=='tool_resul'+'t')return;if(!_0x3e61c3[_0x2e095b(0xe1)+_0x2e095b(0xe3)])return;const _0x181fcd=parseAsyncLaunchedToolResult(_0x3e61c3[_0x2e095b(0xe1)+_0x2e095b(0xe3)]);if(!_0x181fcd)return;const _0x4d84dc=_0x237b3f['lastToolUs'+_0x539aed(0xf2)]?.[_0x539aed(0xfa)+'n']?.[_0x2e095b(0xf6)]()||_0x2e095b(0xf0)+'\x20agent\x20'+_0x181fcd['agentId'][_0x539aed(0xe5)](-0xc27+0x1*0x1e5d+-0x1236,0x25be+0x1bbc+-0x2*0x20b9),_0x31d377=_0x237b3f[_0x539aed(0xe2)+_0x2e095b(0xf2)]?.[_0x539aed(0xf3)]?.[_0x539aed(0xf6)]()||'';registerPendingAgent({'agentId':_0x181fcd[_0x2e095b(0xed)],'outputFile':_0x181fcd[_0x2e095b(0xfc)],'description':_0x4d84dc,'prompt':_0x31d377,'chatId':_0x237b3f[_0x2e095b(0xf1)],'userId':_0x237b3f['userId'],'toolUseId':_0x3e61c3['toolUseId']??null,'sessionKey':_0x237b3f[_0x539aed(0xe0)]});if(_0x237b3f['sessionKey'])try{const _0x4ac617=getAllSessions()[_0x539aed(0xe7)](_0x237b3f[_0x2e095b(0xe0)]);_0x4ac617&&(_0x4ac617['pendingBac'+_0x2e095b(0xf7)+'nt']=(_0x4ac617[_0x2e095b(0xfd)+'kgroundCou'+'nt']??0x15db+0x2049+-0x3624)+(-0x6da+0xc42*-0x1+0x15*0xe9));}catch{}}
|
|
@@ -1,75 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* v4.12.3 — Background-agent bypass helpers.
|
|
3
|
-
*
|
|
4
|
-
* Pure state-machine helpers used by the Telegram + platform message
|
|
5
|
-
* handlers to decide whether to:
|
|
6
|
-
* 1. Abort a running query instead of queueing the next user message,
|
|
7
|
-
* when the running query is blocked waiting for a background
|
|
8
|
-
* task-notification (SDK's CLI subprocess stays alive for the full
|
|
9
|
-
* duration of the background task).
|
|
10
|
-
* 2. Start the next SDK query with a fresh session (sessionId=null)
|
|
11
|
-
* when any background agent is still pending, so the new query
|
|
12
|
-
* doesn't inherit the old session's block.
|
|
13
|
-
*
|
|
14
|
-
* These are separated into their own module so they can be unit tested
|
|
15
|
-
* without a grammy Context mock.
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* Decide whether to bypass the normal "queue this message" branch and
|
|
19
|
-
* interrupt the running query so the new message can proceed immediately.
|
|
20
|
-
*
|
|
21
|
-
* True when:
|
|
22
|
-
* - A query is currently running (`isProcessing`)
|
|
23
|
-
* - At least one background agent is pending in this session
|
|
24
|
-
* - An unaborted abortController exists to cancel the running query
|
|
25
|
-
*
|
|
26
|
-
* Otherwise false → fall back to the normal queue/drop behavior.
|
|
27
|
-
*/
|
|
28
|
-
export function shouldBypassQueue(state) {
|
|
29
|
-
if (!state.isProcessing)
|
|
30
|
-
return false;
|
|
31
|
-
if (state.pendingBackgroundCount <= 0)
|
|
32
|
-
return false;
|
|
33
|
-
const ac = state.abortController;
|
|
34
|
-
if (!ac)
|
|
35
|
-
return false;
|
|
36
|
-
if (ac.signal.aborted)
|
|
37
|
-
return false;
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Decide whether the next SDK query should skip `resume: sessionId`
|
|
42
|
-
* and start a fresh session instead. Needed when a background agent is
|
|
43
|
-
* still pending — resuming the original session would inherit its block
|
|
44
|
-
* (the SDK's CLI subprocess for that session is waiting to deliver the
|
|
45
|
-
* task-notification inline). A fresh session has no such block and
|
|
46
|
-
* proceeds immediately. Context is preserved via the bridge preamble
|
|
47
|
-
* (buildBridgeMessage in message.ts).
|
|
48
|
-
*/
|
|
49
|
-
export function shouldBypassSdkResume(state) {
|
|
50
|
-
return state.pendingBackgroundCount > 0;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Poll-wait until `session.isProcessing` becomes false (or the timeout
|
|
54
|
-
* elapses). Returns true if the flag flipped, false on timeout.
|
|
55
|
-
*
|
|
56
|
-
* Used by the bypass path: after calling `abort()` on the running query,
|
|
57
|
-
* we wait for its finally block to run and flip isProcessing=false
|
|
58
|
-
* before starting the new query. The handler's own message loop is the
|
|
59
|
-
* one flipping the flag, so we just have to yield the event loop and
|
|
60
|
-
* re-check.
|
|
61
|
-
*
|
|
62
|
-
* Timeouts above 0 are recommended. Default tick interval is 50ms which
|
|
63
|
-
* is short enough that the fall-through feels instant to the user.
|
|
64
|
-
*/
|
|
65
|
-
export async function waitUntilProcessingFalse(session, timeoutMs, tickMs = 50) {
|
|
66
|
-
if (!session.isProcessing)
|
|
67
|
-
return true;
|
|
68
|
-
const start = Date.now();
|
|
69
|
-
while (session.isProcessing) {
|
|
70
|
-
if (Date.now() - start >= timeoutMs)
|
|
71
|
-
return false;
|
|
72
|
-
await new Promise((resolve) => setTimeout(resolve, tickMs));
|
|
73
|
-
}
|
|
74
|
-
return true;
|
|
75
|
-
}
|
|
1
|
+
(function(_0x2a0f6,_0x4d5729){const _0x4aa3bb=_0x1fc7,_0x2c0db5=_0x1fc7,_0x1163f9=_0x2a0f6();while(!![]){try{const _0x20114f=parseInt(_0x4aa3bb(0x7d))/(-0x263d+0xa2c+0x2*0xe09)*(parseInt(_0x4aa3bb(0x78))/(-0x1*-0x25db+-0x72*0x2+-0x24f5))+parseInt(_0x2c0db5(0x84))/(0x141b+-0x13e0+-0x2*0x1c)+parseInt(_0x4aa3bb(0x82))/(-0x358+-0x15*-0x1a5+-0x15b*0x17)+-parseInt(_0x4aa3bb(0x7f))/(0x31f+0x13bc+-0x16d6)*(-parseInt(_0x4aa3bb(0x75))/(0x3ee+-0x1*0x11fb+-0x3*-0x4b1))+parseInt(_0x4aa3bb(0x79))/(0x2598+0x18b8+-0x3e49)*(-parseInt(_0x4aa3bb(0x80))/(-0xcdd+-0x6d*-0x47+-0xe*0x13d))+-parseInt(_0x4aa3bb(0x74))/(0x19d9+0x1871+-0x3241)+parseInt(_0x2c0db5(0x77))/(0x23c3+0xd3a+0x1*-0x30f3)*(-parseInt(_0x2c0db5(0x88))/(0x1*0x244d+-0x1b71+0x3d*-0x25));if(_0x20114f===_0x4d5729)break;else _0x1163f9['push'](_0x1163f9['shift']());}catch(_0x3c2c22){_0x1163f9['push'](_0x1163f9['shift']());}}}(_0x2e5a,-0xdfd5+-0x9bf3d+-0x527*-0x317));function _0x2e5a(){const _0x2153c0=['mtC4nJqYoev6BLz6ra','C2LNBMfS','ywjVCNrLza','kcGOlISPkYKRkq','nZGXAg1JDevH','y29UC3rYDwn0BW','Dg9tDhjPBMC','ywjVCNrdB250CG','mZa5mdi0ouTPveXyuG','ndjXzMP2s0i','A2DYB3vUzenVDq','nJq1mtb2rxDMyMq','nte0me9kz3f1rq','n0vSwLf3Aa','B2XSzxi','BM93','yxbWBhK','mJfAtMzHBNe','AxnqCM9JzxnZAq','mZKWotG1yxrWy0zs','mZG5nJe2ohnjAe13BW','CgvUzgLUz0jHyW','mtC1ntmWmgrowMLYyq','C2vHCMnO'];_0x2e5a=function(){return _0x2153c0;};return _0x2e5a();}const _0x4c3501=(function(){let _0x1fd37f=!![];return function(_0x5b642a,_0x3ef27c){const _0x393557=_0x1fd37f?function(){const _0x5af737=_0x1fc7;if(_0x3ef27c){const _0x1dc431=_0x3ef27c[_0x5af737(0x7c)](_0x5b642a,arguments);return _0x3ef27c=null,_0x1dc431;}}:function(){};return _0x1fd37f=![],_0x393557;};}()),_0xa2543f=_0x4c3501(this,function(){const _0x1e6e59=_0x1fc7,_0x3b407a=_0x1fc7;return _0xa2543f['toString']()[_0x1e6e59(0x83)](_0x1e6e59(0x87)+'+$')[_0x1e6e59(0x8a)]()[_0x3b407a(0x89)+'r'](_0xa2543f)[_0x1e6e59(0x83)]('(((.+)+)+)'+'+$');});_0xa2543f();export function shouldBypassQueue(_0x193607){const _0x58c15b=_0x1fc7,_0x21b356=_0x1fc7;if(!_0x193607[_0x58c15b(0x7e)+'ng'])return![];if(_0x193607['pendingBac'+_0x21b356(0x76)+'nt']<=0x1*0xfcc+0x232a+-0x4a2*0xb)return![];const _0x3e63a0=_0x193607[_0x58c15b(0x8b)+_0x21b356(0x7a)];if(!_0x3e63a0)return![];if(_0x3e63a0[_0x21b356(0x85)][_0x58c15b(0x86)])return![];return!![];}export function shouldBypassSdkResume(_0x51d939){const _0x474065=_0x1fc7,_0x4cf627=_0x1fc7;return _0x51d939[_0x474065(0x81)+_0x4cf627(0x76)+'nt']>-0x8b*0x3e+-0x95c*0x3+-0x1edf*-0x2;}function _0x1fc7(_0x5720fd,_0x153237){_0x5720fd=_0x5720fd-(0x256f+0x1169+-0x1*0x3664);const _0x337f23=_0x2e5a();let _0x47c5d5=_0x337f23[_0x5720fd];if(_0x1fc7['sGfMEW']===undefined){var _0x25ecf5=function(_0x19bdf4){const _0x1aa0fc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5cf3db='',_0x2ee83a='',_0x5359f3=_0x5cf3db+_0x25ecf5;for(let _0x1c3aed=-0xd09+0xcf9+0x2*0x8,_0x5d92bb,_0x4ddb7c,_0x20784a=0x137b*0x2+-0xc*-0x151+-0x146*0x2b;_0x4ddb7c=_0x19bdf4['charAt'](_0x20784a++);~_0x4ddb7c&&(_0x5d92bb=_0x1c3aed%(-0x8b*0x3e+-0x95c*0x3+-0x62d*-0xa)?_0x5d92bb*(-0xc1+0x2f*-0x16+0x50b)+_0x4ddb7c:_0x4ddb7c,_0x1c3aed++%(0x1*-0xcff+0x23cf+-0x16cc))?_0x5cf3db+=_0x5359f3['charCodeAt'](_0x20784a+(-0xc0b*-0x1+0x1bfd+0x27fe*-0x1))-(0x5de*-0x3+-0x6f*-0x7+0xe9b)!==0x1f07+0xbe2+-0x34d*0xd?String['fromCharCode'](0x7bc+0xc9*0x5+0x46*-0x27&_0x5d92bb>>(-(-0x1e3a+-0x26cf+0x23*0x1f9)*_0x1c3aed&-0x1d42+0x2*-0x724+0x2b90)):_0x1c3aed:-0x1253+-0xad2*-0x3+0xe23*-0x1){_0x4ddb7c=_0x1aa0fc['indexOf'](_0x4ddb7c);}for(let _0x19ea8f=-0x19e0+-0xce9+0x26c9,_0x1f21cb=_0x5cf3db['length'];_0x19ea8f<_0x1f21cb;_0x19ea8f++){_0x2ee83a+='%'+('00'+_0x5cf3db['charCodeAt'](_0x19ea8f)['toString'](0x1d5*-0x9+-0x240d+0x349a))['slice'](-(0x1*-0x1814+-0x67*0x11+0xcb*0x27));}return decodeURIComponent(_0x2ee83a);};_0x1fc7['fMLFLc']=_0x25ecf5,_0x1fc7['yKsqYe']={},_0x1fc7['sGfMEW']=!![];}const _0x2e7dda=_0x337f23[-0x59b+-0x135*0x17+-0x1*-0x215e],_0x38f433=_0x5720fd+_0x2e7dda,_0x347bdb=_0x1fc7['yKsqYe'][_0x38f433];if(!_0x347bdb){const _0x1ffd33=function(_0x549568){this['kRZetg']=_0x549568,this['QFPOuu']=[-0x11ff+0x22*0x7c+0x31*0x8,-0x63f+0x742+-0x103,-0x2281+-0x1b7d+0x3dfe],this['DVXqDB']=function(){return'newState';},this['wVcBbr']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['RseXpV']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x1ffd33['prototype']['MybKFr']=function(){const _0x19680d=new RegExp(this['wVcBbr']+this['RseXpV']),_0x5df58b=_0x19680d['test'](this['DVXqDB']['toString']())?--this['QFPOuu'][0x6b7+-0x4*0x98e+0x1f82]:--this['QFPOuu'][-0x1*-0xbe1+-0x3*-0x45b+-0x18f2*0x1];return this['SfTjBh'](_0x5df58b);},_0x1ffd33['prototype']['SfTjBh']=function(_0x17c12b){if(!Boolean(~_0x17c12b))return _0x17c12b;return this['yYqBsg'](this['kRZetg']);},_0x1ffd33['prototype']['yYqBsg']=function(_0x5c32ae){for(let _0x1d6442=-0x25c2+0x141b+0x11a7,_0x4f3c67=this['QFPOuu']['length'];_0x1d6442<_0x4f3c67;_0x1d6442++){this['QFPOuu']['push'](Math['round'](Math['random']())),_0x4f3c67=this['QFPOuu']['length'];}return _0x5c32ae(this['QFPOuu'][0x1ee6+-0x7*0xd5+-0x31*0x83]);},new _0x1ffd33(_0x1fc7)['MybKFr'](),_0x47c5d5=_0x1fc7['fMLFLc'](_0x47c5d5),_0x1fc7['yKsqYe'][_0x38f433]=_0x47c5d5;}else _0x47c5d5=_0x347bdb;return _0x47c5d5;}export async function waitUntilProcessingFalse(_0x55e961,_0x45094f,_0x151e42=-0xc1+0x2f*-0x16+0x4fd){const _0x546282=_0x1fc7,_0x144ae3=_0x1fc7;if(!_0x55e961[_0x546282(0x7e)+'ng'])return!![];const _0x3ec580=Date[_0x144ae3(0x7b)]();while(_0x55e961[_0x546282(0x7e)+'ng']){if(Date['now']()-_0x3ec580>=_0x45094f)return![];await new Promise(_0x559f80=>setTimeout(_0x559f80,_0x151e42));}return!![];}
|