@vmosedge/cli 0.9.0 → 1.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/README.md +138 -92
- package/dist/browser-BOXQHIJZ.js +1 -1
- package/dist/chunk-BAR2S7DM.js +1 -1
- package/dist/chunk-IT7VUU3U.js +1 -1
- package/dist/chunk-OIIGCK2D.js +1 -1
- package/dist/chunk-P2X57GXU.js +1 -1
- package/dist/chunk-WVMZSMOU.js +1 -1
- package/dist/chunk-YXRFZZ7M.js +1 -1
- package/dist/config-KZ47VBPI.js +1 -1
- package/dist/http-JTBJXUJM.js +1 -1
- package/dist/launcher-3UIWSOQB.js +1 -1
- package/dist/main.js +1 -1
- package/dist/session-RKA4CJJU.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,139 +1,185 @@
|
|
|
1
1
|
# @vmosedge/cli
|
|
2
2
|
|
|
3
|
-
VMOS Edge Desktop CLI
|
|
3
|
+
VMOS Edge Desktop CLI. Designed for AI agents — all output is JSON.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Install
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
npm install -g @vmosedge/cli
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Setup
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
#
|
|
15
|
-
# macOS
|
|
16
|
-
vmos-edge-cli config set app.bin-path "
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
vmos-edge-cli
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
14
|
+
# Set app path (required before app start)
|
|
15
|
+
vmos-edge-cli config set app.bin-path "/Applications/VMOS Edge 2.0.app" # macOS
|
|
16
|
+
vmos-edge-cli config set app.bin-path "C:\Program Files\VMOS Edge 2.0\VMOS Edge 2.0.exe" # Windows
|
|
17
|
+
|
|
18
|
+
# Start app
|
|
19
|
+
vmos-edge-cli app start
|
|
20
|
+
vmos-edge-cli app wait-ready
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Three Invocation Modes
|
|
24
|
+
|
|
25
|
+
| | Direct | Batch | Run |
|
|
26
|
+
|---|--------|-------|-----|
|
|
27
|
+
| CLI | `vmos-edge-cli device list --host <ip>` | `vmos-edge-cli batch '<json>'` | `vmos-edge-cli run <file.yaml>` |
|
|
28
|
+
| Notation | spaces: `device list` | dots: `device.list` | dots: `device.list` |
|
|
29
|
+
| Params | CLI flags: `--host <ip>` | JSON: `"args":{"host":"..."}` | YAML: `args: { host: "..." }` |
|
|
30
|
+
| Variables | — | `$name.path` | `${{ name.field }}` |
|
|
31
|
+
|
|
32
|
+
**Key rule:** Consecutive actions safe to run unconditionally → `batch`. Actions that require result inspection → direct, one at a time.
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# ❌ 3 separate calls
|
|
36
|
+
vmos-edge-cli device list --host 10.0.0.5
|
|
37
|
+
vmos-edge-cli image list --host 10.0.0.5
|
|
38
|
+
vmos-edge-cli host hardware 10.0.0.5
|
|
39
|
+
|
|
40
|
+
# ✅ 1 batch call
|
|
41
|
+
vmos-edge-cli batch '[
|
|
42
|
+
{"action":"device.list","args":{"host":"10.0.0.5"}},
|
|
43
|
+
{"action":"image.list","args":{"host":"10.0.0.5"}},
|
|
44
|
+
{"action":"host.hardware","args":{"ip":"10.0.0.5"}}
|
|
45
|
+
]'
|
|
24
46
|
```
|
|
25
47
|
|
|
26
|
-
##
|
|
48
|
+
## Commands
|
|
27
49
|
|
|
28
|
-
###
|
|
50
|
+
### Device
|
|
29
51
|
|
|
30
52
|
```bash
|
|
31
|
-
vmos-edge-cli
|
|
32
|
-
vmos-edge-cli
|
|
33
|
-
vmos-edge-cli
|
|
34
|
-
vmos-edge-cli
|
|
53
|
+
vmos-edge-cli device list --host <ip>
|
|
54
|
+
vmos-edge-cli device create --host <ip> --image <repo> --name <name> --count 3 --start
|
|
55
|
+
vmos-edge-cli device info --host <ip> <id>
|
|
56
|
+
vmos-edge-cli device start --host <ip> <ids...>
|
|
57
|
+
vmos-edge-cli device stop --host <ip> <ids...>
|
|
58
|
+
vmos-edge-cli device restart --host <ip> <ids...>
|
|
59
|
+
vmos-edge-cli device reset --host <ip> <ids...> # Factory reset (data erased)
|
|
60
|
+
vmos-edge-cli device delete --host <ip> <ids...>
|
|
61
|
+
vmos-edge-cli device rename --host <ip> <id> <name>
|
|
62
|
+
vmos-edge-cli device shell --host <ip> <id> "ls /sdcard"
|
|
63
|
+
vmos-edge-cli device screenshot --host <ip> <id> -o shot.png
|
|
35
64
|
```
|
|
36
65
|
|
|
37
|
-
###
|
|
66
|
+
### Host
|
|
38
67
|
|
|
39
68
|
```bash
|
|
40
|
-
|
|
41
|
-
vmos-edge-cli device list
|
|
42
|
-
vmos-edge-cli device create --image <id> --count 1
|
|
43
|
-
vmos-edge-cli device start <id>
|
|
44
|
-
vmos-edge-cli device stop <id>
|
|
45
|
-
vmos-edge-cli device delete <id>
|
|
46
|
-
vmos-edge-cli device screenshot <id> -o shot.png
|
|
47
|
-
|
|
48
|
-
# 主机管理
|
|
49
|
-
vmos-edge-cli host scan
|
|
69
|
+
vmos-edge-cli host check <ip>
|
|
50
70
|
vmos-edge-cli host info <ip>
|
|
71
|
+
vmos-edge-cli host hardware <ip>
|
|
72
|
+
vmos-edge-cli host network <ip>
|
|
73
|
+
vmos-edge-cli host templates <ip>
|
|
74
|
+
vmos-edge-cli host list --hosts <ip,ip,...>
|
|
75
|
+
```
|
|
51
76
|
|
|
52
|
-
|
|
53
|
-
vmos-edge-cli image list
|
|
77
|
+
### App
|
|
54
78
|
|
|
55
|
-
|
|
56
|
-
vmos-edge-cli
|
|
57
|
-
vmos-edge-cli
|
|
58
|
-
vmos-edge-cli
|
|
59
|
-
vmos-edge-cli
|
|
60
|
-
vmos-edge-cli ui screenshot -o ui.png
|
|
61
|
-
vmos-edge-cli ui form-state # 提取表单
|
|
79
|
+
```bash
|
|
80
|
+
vmos-edge-cli app start [--cdp-port <port>]
|
|
81
|
+
vmos-edge-cli app stop
|
|
82
|
+
vmos-edge-cli app status
|
|
83
|
+
vmos-edge-cli app wait-ready [-t <ms>] # Default 30s
|
|
62
84
|
```
|
|
63
85
|
|
|
64
|
-
|
|
86
|
+
### Image
|
|
65
87
|
|
|
66
|
-
```
|
|
67
|
-
|
|
88
|
+
```bash
|
|
89
|
+
vmos-edge-cli image list --host <ip>
|
|
90
|
+
```
|
|
68
91
|
|
|
69
|
-
|
|
70
|
-
- action: ui.eval
|
|
71
|
-
args: { expression: "location.hash='#/proxy'" }
|
|
92
|
+
### UI Automation
|
|
72
93
|
|
|
73
|
-
|
|
74
|
-
|
|
94
|
+
```bash
|
|
95
|
+
vmos-edge-cli ui state # Page snapshot with [N] indices
|
|
96
|
+
vmos-edge-cli ui click <target>
|
|
97
|
+
vmos-edge-cli ui type <target> <text>
|
|
98
|
+
vmos-edge-cli ui native-type <text> # CJK/IME safe, click to focus first
|
|
99
|
+
vmos-edge-cli ui native-key <key> [-m Ctrl] # Modifier key support
|
|
100
|
+
vmos-edge-cli ui click-precise <target> # CDP getContentQuads
|
|
101
|
+
vmos-edge-cli ui press-key <key>
|
|
102
|
+
vmos-edge-cli ui select <target> <value>
|
|
103
|
+
vmos-edge-cli ui hover <target>
|
|
104
|
+
vmos-edge-cli ui goto <url>
|
|
105
|
+
vmos-edge-cli ui back
|
|
106
|
+
vmos-edge-cli ui scroll <direction>
|
|
107
|
+
vmos-edge-cli ui scroll-to <target>
|
|
108
|
+
vmos-edge-cli ui wait <target>
|
|
109
|
+
vmos-edge-cli ui wait-text <text>
|
|
110
|
+
vmos-edge-cli ui upload <files...> [-t <target>]
|
|
111
|
+
vmos-edge-cli ui dialog [--accept|--dismiss]
|
|
112
|
+
vmos-edge-cli ui windows
|
|
113
|
+
vmos-edge-cli ui form-state
|
|
114
|
+
vmos-edge-cli ui network
|
|
115
|
+
vmos-edge-cli ui screenshot -o ui.png
|
|
116
|
+
vmos-edge-cli ui eval <expression>
|
|
117
|
+
vmos-edge-cli ui cdp <method> [json-params]
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Other
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
vmos-edge-cli schema # All actions, params, error codes
|
|
124
|
+
vmos-edge-cli batch '<json>' # Multiple actions in one call
|
|
125
|
+
vmos-edge-cli run <file.yaml> # YAML playbook
|
|
126
|
+
vmos-edge-cli run <file.yaml> --dry-run
|
|
127
|
+
vmos-edge-cli run <file.yaml> --report html
|
|
128
|
+
vmos-edge-cli config show | set | get
|
|
129
|
+
```
|
|
75
130
|
|
|
76
|
-
|
|
77
|
-
args: { target: "placeholder=请输入端口", text: "9090" }
|
|
131
|
+
## Element Selection (Index-First)
|
|
78
132
|
|
|
79
|
-
|
|
80
|
-
args: { target: "text=保存" }
|
|
133
|
+
`ui state` marks each interactive element with `[N]` (starting from 1). Use the index as default target:
|
|
81
134
|
|
|
82
|
-
|
|
135
|
+
```bash
|
|
136
|
+
vmos-edge-cli ui state # Read indices
|
|
137
|
+
vmos-edge-cli ui click 3 # Click element [3]
|
|
83
138
|
```
|
|
84
139
|
|
|
85
|
-
|
|
140
|
+
Fallback to semantic selectors when index is impractical:
|
|
141
|
+
|
|
142
|
+
| Selector | Example |
|
|
143
|
+
|----------|---------|
|
|
144
|
+
| `text=` | `"text=Save"` |
|
|
145
|
+
| `placeholder=` | `"placeholder=Enter email"` |
|
|
146
|
+
| `role=` | `"role=button text=OK"` |
|
|
147
|
+
| `testid=` | `"testid=submit-btn"` |
|
|
148
|
+
| `label=` | `"label=Username"` |
|
|
149
|
+
| CSS | `"button.primary"` |
|
|
86
150
|
|
|
87
|
-
|
|
151
|
+
## Param Name Convention
|
|
88
152
|
|
|
89
|
-
|
|
153
|
+
CLI flags use `--kebab-case`. Batch/YAML args use `snake_case`:
|
|
90
154
|
|
|
91
|
-
|
|
92
|
-
|------|------|------|
|
|
93
|
-
| 数字 | `9` | [N] 索引(ui state 获取) |
|
|
94
|
-
| `text=` | `text=添加代理` | 按文本 |
|
|
95
|
-
| `placeholder=` | `placeholder=请输入名称` | 按 placeholder |
|
|
96
|
-
| `role=` | `role=button text=保存` | 按 ARIA role |
|
|
97
|
-
| `testid=` | `testid=add-btn` | 按 data-testid |
|
|
98
|
-
| `label=` | `label=用户名` | 按 label |
|
|
99
|
-
| CSS | `#my-id` `.my-class` | CSS 选择器 |
|
|
155
|
+
`--device-type` → `device_type`, `--adi-name` → `adi_name`, `-o` → `output`
|
|
100
156
|
|
|
101
|
-
##
|
|
157
|
+
## Output Format
|
|
102
158
|
|
|
103
|
-
|
|
159
|
+
All commands return JSON:
|
|
104
160
|
|
|
105
161
|
```json
|
|
106
162
|
{"ok": true, "data": ...}
|
|
107
163
|
{"ok": false, "error": "...", "code": "HOST_UNREACHABLE"}
|
|
108
164
|
```
|
|
109
165
|
|
|
110
|
-
##
|
|
166
|
+
## Error Codes
|
|
111
167
|
|
|
112
|
-
|
|
|
113
|
-
|
|
114
|
-
| `HOST_NOT_SET` | 2 |
|
|
115
|
-
| `INVALID_ARGS` | 2 |
|
|
116
|
-
| `DEVICE_NOT_FOUND` | 66 | `device list`
|
|
117
|
-
| `
|
|
168
|
+
| Code | Exit | Action |
|
|
169
|
+
|------|------|--------|
|
|
170
|
+
| `HOST_NOT_SET` | 2 | Pass `--host <ip>` |
|
|
171
|
+
| `INVALID_ARGS` | 2 | Fix params |
|
|
172
|
+
| `DEVICE_NOT_FOUND` | 66 | `device list` for correct ID |
|
|
173
|
+
| `IMAGE_NOT_FOUND` | 66 | `image list` for correct image |
|
|
174
|
+
| `ELEMENT_NOT_FOUND` | 66 | `ui state` to refresh indices |
|
|
118
175
|
| `APP_NOT_RUNNING` | 69 | `app start` |
|
|
119
|
-
| `HOST_UNREACHABLE` | 69 |
|
|
120
|
-
| `CDP_NOT_READY` | 69 |
|
|
121
|
-
| `TIMEOUT` | 75 |
|
|
176
|
+
| `HOST_UNREACHABLE` | 69 | Check network |
|
|
177
|
+
| `CDP_NOT_READY` | 69 | Wait for app startup |
|
|
178
|
+
| `TIMEOUT` | 75 | Retry |
|
|
179
|
+
| `TRANSIENT` | 75 | Retry once, then inspect state |
|
|
180
|
+
| `OPERATION_FAILED` | 1 | Check error message |
|
|
181
|
+
| `ASSERTION_FAILED` | 1 | Re-inspect state |
|
|
122
182
|
| `CONFIG_MISSING` | 78 | `config set` |
|
|
183
|
+
| `UNKNOWN` | 1 | Check raw error |
|
|
123
184
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
```
|
|
127
|
-
vmos-edge-cli run <target> 执行 YAML 自动化任务
|
|
128
|
-
vmos-edge-cli config 配置管理
|
|
129
|
-
vmos-edge-cli context 会话上下文
|
|
130
|
-
vmos-edge-cli app 应用生命周期
|
|
131
|
-
vmos-edge-cli host 主机管理
|
|
132
|
-
vmos-edge-cli device 设备管理
|
|
133
|
-
vmos-edge-cli image 镜像管理
|
|
134
|
-
vmos-edge-cli ui UI 自动化
|
|
135
|
-
vmos-edge-cli batch <json> 批量执行
|
|
136
|
-
vmos-edge-cli schema 输出 action 定义
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
37 个 action,详见 `vmos-edge-cli schema`。
|
|
185
|
+
47 actions — run `vmos-edge-cli schema` for full details.
|
package/dist/browser-BOXQHIJZ.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
function
|
|
2
|
+
(function(_0xcf8ec2,_0x341087){const _0xc417bc=_0x33e0,_0x228248=_0xcf8ec2();while(!![]){try{const _0x13e3b4=parseInt(_0xc417bc(0x175))/0x1+parseInt(_0xc417bc(0x17a))/0x2+-parseInt(_0xc417bc(0x17b))/0x3+-parseInt(_0xc417bc(0x176))/0x4+parseInt(_0xc417bc(0x173))/0x5*(parseInt(_0xc417bc(0x179))/0x6)+-parseInt(_0xc417bc(0x174))/0x7+-parseInt(_0xc417bc(0x178))/0x8;if(_0x13e3b4===_0x341087)break;else _0x228248['push'](_0x228248['shift']());}catch(_0x41d455){_0x228248['push'](_0x228248['shift']());}}}(_0x32a2,0xaa8e6));import{CDPBridge as _0x5330b2,Page as _0x40b67e,withSession as _0x575804}from'./chunk-WVMZSMOU.js';import{probeCDP as _0x4266e0,resolveEndpoint as _0x219f4d}from'./chunk-BAR2S7DM.js';import'./chunk-IT7VUU3U.js';import'./chunk-P2X57GXU.js';import'./chunk-OIIGCK2D.js';function _0x33e0(_0x5db9c3,_0x67e77c){_0x5db9c3=_0x5db9c3-0x173;const _0x32a2e9=_0x32a2();let _0x33e016=_0x32a2e9[_0x5db9c3];if(_0x33e0['EsxVvr']===undefined){var _0x3cf96f=function(_0x35355f){const _0x10aac6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ab390='',_0x17f423='';for(let _0x2f9921=0x0,_0x413ecc,_0x477bdd,_0x33ffdc=0x0;_0x477bdd=_0x35355f['charAt'](_0x33ffdc++);~_0x477bdd&&(_0x413ecc=_0x2f9921%0x4?_0x413ecc*0x40+_0x477bdd:_0x477bdd,_0x2f9921++%0x4)?_0x2ab390+=String['fromCharCode'](0xff&_0x413ecc>>(-0x2*_0x2f9921&0x6)):0x0){_0x477bdd=_0x10aac6['indexOf'](_0x477bdd);}for(let _0x5daab6=0x0,_0x3e089c=_0x2ab390['length'];_0x5daab6<_0x3e089c;_0x5daab6++){_0x17f423+='%'+('00'+_0x2ab390['charCodeAt'](_0x5daab6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17f423);};_0x33e0['oGWMxc']=_0x3cf96f,_0x33e0['WkEVKC']={},_0x33e0['EsxVvr']=!![];}const _0x2bcb96=_0x32a2e9[0x0],_0x4d5a24=_0x5db9c3+_0x2bcb96,_0x37e564=_0x33e0['WkEVKC'][_0x4d5a24];return!_0x37e564?(_0x33e016=_0x33e0['oGWMxc'](_0x33e016),_0x33e0['WkEVKC'][_0x4d5a24]=_0x33e016):_0x33e016=_0x37e564,_0x33e016;}async function i(_0x574e2d){const _0x2be7f5=_0x33e0,_0x32c594={'tHYMy':function(_0x206f32){return _0x206f32();}},_0x5ce951=await _0x32c594['tHYMy'](_0x219f4d),_0xd2201c=new _0x5330b2();try{return await _0xd2201c['connect'](_0x5ce951),await _0x574e2d(new _0x40b67e(_0xd2201c));}finally{await _0xd2201c['close']()[_0x2be7f5(0x177)](()=>{});}}export{_0x5330b2 as CDPBridge,_0x40b67e as Page,_0x4266e0 as probeCDP,_0x219f4d as resolveEndpoint,i as withPage,_0x575804 as withSession};function _0x32a2(){const _0x394ceb=['mti3nZeWnNfoCgLcrW','mJq0mdiYmKzxwxDhDa','mJi4nZe4ofDwvuzeBW','mJvwzffvs1y','odKWode0nfPZswnssG','otaWmZCWvgTcsLnl','mtuZodeXnMnxwwfKuq','y2f0y2G','ntmYoty4zM9hzKjK'];_0x32a2=function(){return _0x394ceb;};return _0x32a2();}
|
package/dist/chunk-BAR2S7DM.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
(function(
|
|
2
|
+
(function(_0x5f10c4,_0x245a95){const _0x26b5e2=_0x4ea5,_0x5578fe=_0x5f10c4();while(!![]){try{const _0x4dff8a=-parseInt(_0x26b5e2(0x165))/0x1*(parseInt(_0x26b5e2(0x161))/0x2)+-parseInt(_0x26b5e2(0x155))/0x3*(-parseInt(_0x26b5e2(0x159))/0x4)+parseInt(_0x26b5e2(0x16f))/0x5+parseInt(_0x26b5e2(0x166))/0x6*(-parseInt(_0x26b5e2(0x15b))/0x7)+-parseInt(_0x26b5e2(0x164))/0x8+parseInt(_0x26b5e2(0x153))/0x9+parseInt(_0x26b5e2(0x15e))/0xa;if(_0x4dff8a===_0x245a95)break;else _0x5578fe['push'](_0x5578fe['shift']());}catch(_0x11d69f){_0x5578fe['push'](_0x5578fe['shift']());}}}(_0xe14a,0x397b6));function _0x4ea5(_0x30e2a5,_0x4c6814){_0x30e2a5=_0x30e2a5-0x153;const _0xe14a32=_0xe14a();let _0x4ea535=_0xe14a32[_0x30e2a5];if(_0x4ea5['lcvcRz']===undefined){var _0x3b2ffc=function(_0x13b226){const _0x2bc490='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x193ada='',_0x366373='';for(let _0xdfc20=0x0,_0x49257c,_0x55722c,_0x48cce8=0x0;_0x55722c=_0x13b226['charAt'](_0x48cce8++);~_0x55722c&&(_0x49257c=_0xdfc20%0x4?_0x49257c*0x40+_0x55722c:_0x55722c,_0xdfc20++%0x4)?_0x193ada+=String['fromCharCode'](0xff&_0x49257c>>(-0x2*_0xdfc20&0x6)):0x0){_0x55722c=_0x2bc490['indexOf'](_0x55722c);}for(let _0x171ba7=0x0,_0x1f2a87=_0x193ada['length'];_0x171ba7<_0x1f2a87;_0x171ba7++){_0x366373+='%'+('00'+_0x193ada['charCodeAt'](_0x171ba7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x366373);};_0x4ea5['DigjgH']=_0x3b2ffc,_0x4ea5['LzPdEQ']={},_0x4ea5['lcvcRz']=!![];}const _0x239043=_0xe14a32[0x0],_0x5b6a65=_0x30e2a5+_0x239043,_0x387f6a=_0x4ea5['LzPdEQ'][_0x5b6a65];return!_0x387f6a?(_0x4ea535=_0x4ea5['DigjgH'](_0x4ea535),_0x4ea5['LzPdEQ'][_0x5b6a65]=_0x4ea535):_0x4ea535=_0x387f6a,_0x4ea535;}import{CliError as _0x146e05}from'./chunk-IT7VUU3U.js';import{loadConfig as _0x32a05b,resolveBinPath as _0x3619e7}from'./chunk-OIIGCK2D.js';import{spawn as _0x47ce21}from'child_process';function _0xe14a(){const _0x13ddf8=['nZuWmtjVsNDwt0S','wgjvyvi','vvLpvha','mZaYmdqWmgf2AuPgvq','su1Wvvu','r0vu','mZK0nKzoCM5XCq','Dw5Yzwy','sNvKqxy','mJe5mZiWB25itg9A','mJaXre9gAuXK','odrtA2LvsNC','BM93','Ahr0CdOVlZeYnY4WlJaUmtO','q09orKLhx01ju1njtKC','zw5K','ww1OCuW','D2LUmZi','iowCQcaXnxmG5yAf5PYQ5BcX57UQ','y2rWlxbVCNq','mte3mZq0mfL1rvjJBG','CgXHDgzVCM0','C3rHDhvZq29Kzq','yxbW','mJa3mJq2nKn6yu1rrq','yMLUlxbHDgG','mtGZs1z4v1n3','AwDUB3jL','ls1Yzw1VDguTzgvIDwDNAw5NlxbVCNq9','uLb3s2y','mJC4nfnQv2rXyq','zxjYB3i'];_0xe14a=function(){return _0x13ddf8;};return _0xe14a();}import{request as _0x2c3ea3}from'http';function s(_0x404b0a,_0x9ebf1a=0x7d0){const _0x11284=_0x4ea5,_0x3c888f={'HOkaO':function(_0x21d00e,_0x4230d8){return _0x21d00e(_0x4230d8);},'UYOTp':'127.0.0.1','JudAv':_0x11284(0x15a)};return new Promise(_0x1daa81=>{const _0x548154=_0x11284,_0x4fed76=_0x2c3ea3({'hostname':_0x3c888f[_0x548154(0x15d)],'port':_0x404b0a,'path':'/json','method':_0x548154(0x160),'timeout':_0x9ebf1a},_0x1b49ae=>{const _0x14040f=_0x548154;_0x1b49ae['resume'](),_0x3c888f['HOkaO'](_0x1daa81,!!_0x1b49ae[_0x14040f(0x171)]&&_0x1b49ae['statusCode']>=0xc8&&_0x1b49ae[_0x14040f(0x171)]<0x12c);});_0x4fed76['on'](_0x3c888f[_0x548154(0x163)],()=>_0x1daa81(!0x1)),_0x4fed76['on']('timeout',()=>{_0x4fed76['destroy'](),_0x1daa81(!0x1);}),_0x4fed76[_0x548154(0x16a)]();});}async function i(){const _0x101972=_0x4ea5,_0x1db050={'XbUaR':function(_0x51424d,_0x22e557){return _0x51424d+_0x22e557;},'RPwKf':function(_0x1ea1eb){return _0x1ea1eb();},'vzWJe':_0x101972(0x169),'IMpUU':function(_0x29eeea,_0x14ebd4,_0x76d43b,_0x2753d0){return _0x29eeea(_0x14ebd4,_0x76d43b,_0x2753d0);},'YmhqL':function(_0x353d59,_0x5e3e3f){return _0x353d59(_0x5e3e3f);}},_0x175f0b=_0x1db050[_0x101972(0x158)](_0x32a05b),_0x274e09=_0x175f0b[_0x101972(0x172)][_0x101972(0x16e)]||0x2406,_0x136cd8=_0x101972(0x168)+_0x274e09;if(await s(_0x274e09))return _0x136cd8;const _0x10f9b2=_0x175f0b[_0x101972(0x172)][_0x101972(0x154)];if(!_0x10f9b2)throw new _0x146e05('CDP\x20不可达且未配置应用路径。请先:\x20config\x20set\x20app.bin-path\x20<可执行文件路径>',_0x1db050['vzWJe']);return _0x1db050[_0x101972(0x15f)](_0x47ce21,_0x1db050[_0x101972(0x16b)](_0x3619e7,_0x10f9b2),[_0x101972(0x157)+_0x274e09],{'detached':!0x0,'stdio':_0x101972(0x156),'shell':_0x101972(0x16c)===process[_0x101972(0x170)]})[_0x101972(0x162)](),await async function(_0x269ac3){const _0x5be1f2=_0x101972,_0x23dac5=_0x1db050[_0x5be1f2(0x15c)](Date[_0x5be1f2(0x167)](),0x3a98);for(;Date[_0x5be1f2(0x167)]()<_0x23dac5;){if(await s(_0x269ac3,0x3e8))return;await new Promise(_0xb5eba1=>setTimeout(_0xb5eba1,0x1f4));}throw new _0x146e05('CDP\x20端口\x20'+_0x269ac3+_0x5be1f2(0x16d),'TIMEOUT');}(_0x274e09),_0x136cd8;}export{s as probeCDP,i as resolveEndpoint};
|
package/dist/chunk-IT7VUU3U.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
function
|
|
2
|
+
var _0x685538=_0x8ca7;(function(_0x39b9aa,_0x51cf86){var _0x41781c=_0x8ca7,_0x32b2ef=_0x39b9aa();while(!![]){try{var _0xdfbc9d=parseInt(_0x41781c(0x148))/0x1+parseInt(_0x41781c(0x137))/0x2+parseInt(_0x41781c(0x131))/0x3+parseInt(_0x41781c(0x140))/0x4*(-parseInt(_0x41781c(0x13a))/0x5)+-parseInt(_0x41781c(0x135))/0x6+parseInt(_0x41781c(0x142))/0x7+parseInt(_0x41781c(0x147))/0x8*(-parseInt(_0x41781c(0x12f))/0x9);if(_0xdfbc9d===_0x51cf86)break;else _0x32b2ef['push'](_0x32b2ef['shift']());}catch(_0x47caaf){_0x32b2ef['push'](_0x32b2ef['shift']());}}}(_0x16f8,0x9efd5));function _0x8ca7(_0x5119a8,_0xd71b57){_0x5119a8=_0x5119a8-0x127;var _0x16f8de=_0x16f8();var _0x8ca71=_0x16f8de[_0x5119a8];if(_0x8ca7['UvOTBs']===undefined){var _0x5f4be8=function(_0x3834c4){var _0x49da74='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0xa16297='',_0x30f3fb='';for(var _0x51494b=0x0,_0x23df6c,_0x5a3f19,_0x1e913e=0x0;_0x5a3f19=_0x3834c4['charAt'](_0x1e913e++);~_0x5a3f19&&(_0x23df6c=_0x51494b%0x4?_0x23df6c*0x40+_0x5a3f19:_0x5a3f19,_0x51494b++%0x4)?_0xa16297+=String['fromCharCode'](0xff&_0x23df6c>>(-0x2*_0x51494b&0x6)):0x0){_0x5a3f19=_0x49da74['indexOf'](_0x5a3f19);}for(var _0x52bfc3=0x0,_0x1cc634=_0xa16297['length'];_0x52bfc3<_0x1cc634;_0x52bfc3++){_0x30f3fb+='%'+('00'+_0xa16297['charCodeAt'](_0x52bfc3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x30f3fb);};_0x8ca7['HOxEnw']=_0x5f4be8,_0x8ca7['ELabbU']={},_0x8ca7['UvOTBs']=!![];}var _0x4ba4ff=_0x16f8de[0x0],_0x30ffb4=_0x5119a8+_0x4ba4ff,_0x1bba99=_0x8ca7['ELabbU'][_0x30ffb4];return!_0x1bba99?(_0x8ca71=_0x8ca7['HOxEnw'](_0x8ca71),_0x8ca7['ELabbU'][_0x30ffb4]=_0x8ca71):_0x8ca71=_0x1bba99,_0x8ca71;}function _0x16f8(){var _0x5af2aa=['5PYQ5OM+5yIW5ywd57sG','5BQu55sO5BEY5lIn5A2y5zYO','se9tvf9vtLjfquniqujmrq','wgzfEha','se9tvf9ot1rFu0vu','y29UzMLNigLUAxq','runptK5sruzvu0ve','Aw5JBhvKzxm','mZzlz1Lgte0','5PYQ5OM+5yIW6l+q6kgm5lIT','mZG2nZG5n1bis09cBa','mtGXodi','5PYQ5OM+5yIW6k6+5Ash','rwP4BKq','ndu1nJGYnLPUshDMtW','q0rqx05pvf9srufewq','mtCXndaYsvfTD2Xj','rvrjtuvet1vu','5lI75PY6iefqssdKUi3LJ6/OVR46ia','nte5mJvbvhzXEha','5ywd57sG5lIn5y+V6kEb','mtGXodu','revwsunfx05pvf9gt1vora','y29Kzq','v2D2Bvm','mZC2wLDKsLvH','BxPJDuy','nJu1ndi3nvHxELrgra','qvbqx05pvf9svu5osu5h','q09orKLhx01ju1njtKC','zgv2AwnLig5VDcbMB3vUza','vu5ltK9xtG','mti2mtKYofbks3HTAa','nZa2ntiXzuvTEMjI','q2XPrxjYB3i','q0rq','DgLTzw91Da','BMfTzq'];_0x16f8=function(){return _0x5af2aa;};return _0x16f8();}var e={'INVALID_ARGS':0x2,'DEVICE_NOT_FOUND':0x42,'IMAGE_NOT_FOUND':0x42,'HOST_NOT_SET':0x2,'APP_NOT_RUNNING':0x45,'HOST_UNREACHABLE':0x45,'CDP_NOT_READY':0x45,'TIMEOUT':0x4b,'TRANSIENT':0x4b,'OPERATION_FAILED':0x1,'ELEMENT_NOT_FOUND':0x42,'ASSERTION_FAILED':0x1,'CONFIG_MISSING':0x4e,'UNKNOWN':0x1};function s(_0x87b0f){return e[_0x87b0f]||0x1;}var N=class extends Error{[_0x685538(0x13e)];constructor(_0x5c1fea,_0x122e80){var _0x54c15=_0x685538;super(_0x5c1fea),this[_0x54c15(0x13e)]=_0x122e80,this[_0x54c15(0x14c)]=_0x54c15(0x149);}};function c(_0x2e7682){var _0x362c70=_0x685538,_0x35946a={'IedGh':_0x362c70(0x12b)};if(_0x2e7682)return _0x2e7682;throw new N('未指定主机\x20IP。请使用\x20--host\x20<ip>',_0x35946a['IedGh']);}function n(_0x322487){var _0x4e56df=_0x685538,_0x10f102={'FMbGd':'9222','XfExp':_0x4e56df(0x129),'WgvmS':'TIMEOUT','EjxnD':_0x4e56df(0x133),'xQKBv':_0x4e56df(0x13d),'mzcuF':'ELEMENT_NOT_FOUND'};if(_0x322487 instanceof N)return{'message':_0x322487['message'],'code':_0x322487[_0x4e56df(0x13e)]};const _0x161cce=_0x322487?.['message']||String(_0x322487);return _0x4e56df(0x12d)===_0x322487?.[_0x4e56df(0x13e)]?_0x161cce[_0x4e56df(0x12e)]('18181')||_0x161cce[_0x4e56df(0x12e)](_0x4e56df(0x132))||_0x161cce[_0x4e56df(0x12e)](_0x4e56df(0x13c))?{'message':_0x4e56df(0x139)+_0x161cce,'code':_0x4e56df(0x129)}:_0x161cce[_0x4e56df(0x12e)](_0x10f102['FMbGd'])||_0x161cce[_0x4e56df(0x12e)](_0x4e56df(0x14a))||_0x161cce['includes']('cdp')?{'message':'CDP\x20端口不可达,应用可能未启动:\x20'+_0x161cce,'code':_0x4e56df(0x136)}:{'message':_0x161cce,'code':_0x10f102[_0x4e56df(0x12a)]}:_0x4e56df(0x138)===_0x322487?.[_0x4e56df(0x13e)]||_0x161cce[_0x4e56df(0x12e)]('超时')||_0x161cce['includes'](_0x4e56df(0x14b))?{'message':_0x161cce,'code':_0x10f102[_0x4e56df(0x13f)]}:_0x161cce[_0x4e56df(0x12e)](_0x10f102[_0x4e56df(0x134)])||_0x161cce[_0x4e56df(0x12e)](_0x4e56df(0x145))?{'message':_0x161cce,'code':_0x10f102['xQKBv']}:_0x161cce['includes'](_0x4e56df(0x127))||_0x161cce[_0x4e56df(0x12e)](_0x4e56df(0x13b))?{'message':_0x161cce,'code':_0x10f102[_0x4e56df(0x141)]}:_0x161cce['includes']('未配置')||_0x161cce[_0x4e56df(0x12e)](_0x4e56df(0x12c))?{'message':_0x161cce,'code':_0x4e56df(0x144)}:_0x161cce[_0x4e56df(0x12e)](_0x4e56df(0x128))||_0x161cce[_0x4e56df(0x12e)](_0x4e56df(0x130))?{'message':_0x161cce,'code':_0x4e56df(0x143)}:{'message':_0x161cce,'code':_0x4e56df(0x146)};}export{s as getExitCode,N as CliError,c as resolveHost,n as classifyError};
|
package/dist/chunk-OIIGCK2D.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const
|
|
2
|
+
const _0x4809ea=_0x9764;(function(_0x2b7400,_0x266483){const _0x1280dc=_0x9764,_0xb80a46=_0x2b7400();while(!![]){try{const _0x4cc2cd=-parseInt(_0x1280dc(0x9f))/0x1+-parseInt(_0x1280dc(0x9e))/0x2+parseInt(_0x1280dc(0x8c))/0x3*(parseInt(_0x1280dc(0xa2))/0x4)+-parseInt(_0x1280dc(0x95))/0x5*(-parseInt(_0x1280dc(0x90))/0x6)+parseInt(_0x1280dc(0x8a))/0x7*(-parseInt(_0x1280dc(0x99))/0x8)+parseInt(_0x1280dc(0xa7))/0x9*(parseInt(_0x1280dc(0x8b))/0xa)+parseInt(_0x1280dc(0x87))/0xb;if(_0x4cc2cd===_0x266483)break;else _0xb80a46['push'](_0xb80a46['shift']());}catch(_0x2e1a64){_0xb80a46['push'](_0xb80a46['shift']());}}}(_0x5044,0x564e9));import _0x46564b from'fs';import _0x4d6aa8 from'path';function _0x5044(){const _0x559047=['zxHPC3rZu3LUyW','Ag9TzwrPCG','ouHfvvzRCa','ioAyR+EBRUw9LEIaJoMDNUwpR+AjP+IHJoAwH+s7TG','CgXHDgzVCM0','yK1yruu','q29UDgvUDhm','lNzTB3mTzwrNzs1JBgK','twfJt1m','nJm0nZy0ovvLEwjxwa','zw5KC1DPDgG','AxneAxjLy3rVCNK','n2LurKvuCa','mJuYodq0meLVDerIsG','ntDlqMzTBgO','tKDluKe','lI9Zy3jLzw5ZAg90CW','DxrMltG','mZqXnhjOshLrCq','C3rHDfn5BMm','B2jQzwn0','zhvTCa','Bg9Hza','ntKZnwnXEvHqtG','yxv0BW','CMvHzezPBgvtEw5J','y29UzMLNlNLHBwW','mtK1nta5nLDjB25rqq','A2v5CW','lMfWCa','ioAyRYaUyxbWioEBRUw9LE+8JoACQUAjVUwiSca','yMfZzw5HBwu','mtm2mJe2mNvHuwP0vW','mJmZmti3EfvoDvjn','77Ym6k+36ywn572U5A6E6zMf5y+V5OMN6kgm5PAh5lU26lEV5B6e','D3jPDgvgAwXLu3LUyW','mtqZmMPxBLPxAG','AM9PBG','tLbgDNC'];_0x5044=function(){return _0x559047;};return _0x5044();}import _0x44d5d7 from'os';import _0x4ff67b from'js-yaml';function _0x9764(_0x34d621,_0x473120){_0x34d621=_0x34d621-0x85;const _0x504441=_0x5044();let _0x97641d=_0x504441[_0x34d621];if(_0x9764['XkqNhK']===undefined){var _0x2bbb64=function(_0x171e28){const _0x3a1d6c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x21a46f='',_0x4a34ca='';for(let _0x2fbf25=0x0,_0x5c3e2a,_0x692a06,_0x16a302=0x0;_0x692a06=_0x171e28['charAt'](_0x16a302++);~_0x692a06&&(_0x5c3e2a=_0x2fbf25%0x4?_0x5c3e2a*0x40+_0x692a06:_0x692a06,_0x2fbf25++%0x4)?_0x21a46f+=String['fromCharCode'](0xff&_0x5c3e2a>>(-0x2*_0x2fbf25&0x6)):0x0){_0x692a06=_0x3a1d6c['indexOf'](_0x692a06);}for(let _0x54b8ec=0x0,_0x23eaf5=_0x21a46f['length'];_0x54b8ec<_0x23eaf5;_0x54b8ec++){_0x4a34ca+='%'+('00'+_0x21a46f['charCodeAt'](_0x54b8ec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a34ca);};_0x9764['uvalEi']=_0x2bbb64,_0x9764['yFnYXb']={},_0x9764['XkqNhK']=!![];}const _0x359de5=_0x504441[0x0],_0x4e868c=_0x34d621+_0x359de5,_0x234a18=_0x9764['yFnYXb'][_0x4e868c];return!_0x234a18?(_0x97641d=_0x9764['uvalEi'](_0x97641d),_0x9764['yFnYXb'][_0x4e868c]=_0x97641d):_0x97641d=_0x234a18,_0x97641d;}var e=_0x4d6aa8['join'](_0x44d5d7[_0x4809ea(0xa6)](),_0x4809ea(0x85)),i=_0x4d6aa8['join'](e,_0x4809ea(0x98)),c={'app':{'bin-path':'','cdp-port':0x2406},'api':{'copilot-port':0x4705,'control-port':0x4706,'direct-port':0x4709},'control-mode':_0x4809ea(0x96),'screenshot-dir':_0x4809ea(0x8e)};function s(){return e;}function f(){return i;}function u(){const _0x460933=_0x4809ea;_0x46564b[_0x460933(0xa5)](e)||_0x46564b['mkdirSync'](e,{'recursive':!0x0});}function p(){const _0x577e80=_0x4809ea,_0x318ce7={'bMXEE':function(_0x411517,_0x2af04b,_0x51a1e9){return _0x411517(_0x2af04b,_0x51a1e9);}};if(!_0x46564b[_0x577e80(0xa5)](i))return{...c};const _0x4fec83=_0x46564b[_0x577e80(0x97)](i,_0x577e80(0x8f)),_0x4fc09e=_0x4ff67b[_0x577e80(0x94)](_0x4fec83);return _0x318ce7[_0x577e80(0xaa)](d,c,_0x4fc09e);}function a(){const _0x404d85=_0x4809ea;if(!_0x46564b[_0x404d85(0xa5)](i))return null;const _0x1f5019=_0x46564b[_0x404d85(0x97)](i,_0x404d85(0x8f));return _0x4ff67b['load'](_0x1f5019)||null;}function y(_0x19f967){const _0xc49e80=_0x4809ea;u();const _0x1adcf3=_0x4ff67b[_0xc49e80(0x93)](_0x19f967,{'lineWidth':0x78,'noRefs':!0x0});_0x46564b[_0xc49e80(0xa1)](i,_0x1adcf3,_0xc49e80(0x8f));}function l(){const _0x22a3c6=_0x4809ea;return _0x46564b[_0x22a3c6(0xa5)](i);}function m(_0x2cd441){const _0x4e77c0=_0x4809ea,_0x520eca={'NPFvw':function(_0x5d9956,_0x5d9ebe){return _0x5d9956===_0x5d9ebe;}};if(!_0x46564b['existsSync'](_0x2cd441))return _0x2cd441;if(!_0x46564b[_0x4e77c0(0x91)](_0x2cd441)[_0x4e77c0(0x89)]())return _0x2cd441;if(_0x520eca[_0x4e77c0(0xa4)]('darwin',process[_0x4e77c0(0xa9)])&&_0x2cd441[_0x4e77c0(0x88)](_0x4e77c0(0x9b))){const _0x33546e=_0x4d6aa8[_0x4e77c0(0x9d)](_0x2cd441,'.app'),_0x2fc069=_0x4d6aa8[_0x4e77c0(0xa3)](_0x2cd441,_0x4e77c0(0xab),_0x4e77c0(0x86),_0x33546e);if(_0x46564b[_0x4e77c0(0xa5)](_0x2fc069))return _0x2fc069;throw new Error(_0x2cd441+_0x4e77c0(0x9c)+_0x2fc069+_0x4e77c0(0xa0));}throw new Error(_0x2cd441+_0x4e77c0(0xa8));}function d(_0x56f184,_0x2786ea){const _0x48eb2b=_0x4809ea,_0x312c11={'NGKRA':function(_0xf1b04e,_0x301d98){return _0xf1b04e==_0x301d98;}},_0x42b35d={..._0x56f184};for(const _0x5d1eac of Object[_0x48eb2b(0x9a)](_0x2786ea))_0x2786ea[_0x5d1eac]&&_0x48eb2b(0x92)==typeof _0x2786ea[_0x5d1eac]&&!Array['isArray'](_0x2786ea[_0x5d1eac])&&_0x56f184[_0x5d1eac]&&_0x312c11[_0x48eb2b(0x8d)]('object',typeof _0x56f184[_0x5d1eac])?_0x42b35d[_0x5d1eac]=d(_0x56f184[_0x5d1eac],_0x2786ea[_0x5d1eac]):void 0x0!==_0x2786ea[_0x5d1eac]&&(_0x42b35d[_0x5d1eac]=_0x2786ea[_0x5d1eac]);return _0x42b35d;}export{s as getConfigDir,f as getConfigPath,u as ensureConfigDir,p as loadConfig,a as loadRawConfig,y as saveConfig,l as configExists,m as resolveBinPath};
|
package/dist/chunk-P2X57GXU.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
(function(_0x34d05f,_0x5cf01a){var _0x16d0f9=_0x453c,_0x4f051c=_0x34d05f();while(!![]){try{var _0x4f88d4=parseInt(_0x16d0f9(0xb3))/0x1+parseInt(_0x16d0f9(0xb4))/0x2+-parseInt(_0x16d0f9(0xbc))/0x3+parseInt(_0x16d0f9(0xbe))/0x4+parseInt(_0x16d0f9(0xbd))/0x5*(-parseInt(_0x16d0f9(0xb5))/0x6)+-parseInt(_0x16d0f9(0xb8))/0x7*(-parseInt(_0x16d0f9(0xbf))/0x8)+parseInt(_0x16d0f9(0xb9))/0x9*(-parseInt(_0x16d0f9(0xb7))/0xa);if(_0x4f88d4===_0x5cf01a)break;else _0x4f051c['push'](_0x4f051c['shift']());}catch(_0x5de17b){_0x4f051c['push'](_0x4f051c['shift']());}}}(_0x567d,0x195d3));var r='info',o={'debug':0x0,'info':0x1,'warn':0x2,'error':0x3};function _0x567d(){var _0x3ac535=['nJe1mZDhv2XMEhm','mZK5otKYrLDqBuj1','otK1mJyYwwDLt0Ps','zgvIDwC','nZKWEuLHq2PA','nJy1DMHZChn6','mtq1odLSzuvKvMO','Aw5MBW','zxjYB3i','ntC1nJeWDgnmsuTf','nvnJs255DW','nty1mtK2CenpqMnz','mtu3mZz0zLrRuMy','w0vsuK9sxsa'];_0x567d=function(){return _0x3ac535;};return _0x567d();}function e(_0x51226f){r=_0x51226f;}function _0x453c(_0x2879c7,_0x87ac5c){_0x2879c7=_0x2879c7-0xb3;var _0x567d86=_0x567d();var _0x453cff=_0x567d86[_0x2879c7];if(_0x453c['ZRlfnP']===undefined){var _0x34395c=function(_0xd6f815){var _0x39f3cc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x37bbce='',_0x2698dc='';for(var _0x8ebf67=0x0,_0xa6088d,_0x2ee539,_0x2b9857=0x0;_0x2ee539=_0xd6f815['charAt'](_0x2b9857++);~_0x2ee539&&(_0xa6088d=_0x8ebf67%0x4?_0xa6088d*0x40+_0x2ee539:_0x2ee539,_0x8ebf67++%0x4)?_0x37bbce+=String['fromCharCode'](0xff&_0xa6088d>>(-0x2*_0x8ebf67&0x6)):0x0){_0x2ee539=_0x39f3cc['indexOf'](_0x2ee539);}for(var _0x27068e=0x0,_0x2c94c5=_0x37bbce['length'];_0x27068e<_0x2c94c5;_0x27068e++){_0x2698dc+='%'+('00'+_0x37bbce['charCodeAt'](_0x27068e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2698dc);};_0x453c['pbENAh']=_0x34395c,_0x453c['eTGZvs']={},_0x453c['ZRlfnP']=!![];}var _0x3bc794=_0x567d86[0x0],_0x946841=_0x2879c7+_0x3bc794,_0x49f47f=_0x453c['eTGZvs'][_0x946841];return!_0x49f47f?(_0x453cff=_0x453c['pbENAh'](_0x453cff),_0x453c['eTGZvs'][_0x946841]=_0x453cff):_0x453cff=_0x49f47f,_0x453cff;}var n={'debug'(_0x3c0388,..._0x2292e9){var _0x1979b5=_0x453c;o[_0x1979b5(0xb6)]>=o[r]&&console[_0x1979b5(0xbb)]('[DEBUG]\x20'+_0x3c0388,..._0x2292e9);},'info'(_0x28ca36,..._0x1361a6){var _0x7ceb14=_0x453c;o[_0x7ceb14(0xba)]>=o[r]&&console[_0x7ceb14(0xbb)]('[INFO]\x20'+_0x28ca36,..._0x1361a6);},'warn'(_0x151027,..._0xd5f37f){o['warn']>=o[r]&&console['error']('[WARN]\x20'+_0x151027,..._0xd5f37f);},'error'(_0x13d4cf,..._0x5645a5){var _0x2be5c0=_0x453c;o[_0x2be5c0(0xbb)]>=o[r]&&console[_0x2be5c0(0xbb)](_0x2be5c0(0xc0)+_0x13d4cf,..._0x5645a5);}};export{e as setLogLevel,n as logger};
|