devicely 1.0.5
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/LICENSE +7 -0
- package/README.md +243 -0
- package/bin/devicely.js +3 -0
- package/config/apps_presets.conf +271 -0
- package/config/devices.conf +20 -0
- package/lib/aiProviders.js +518 -0
- package/lib/aiProviders.js.backup +301 -0
- package/lib/aiProvidersConfig.js +176 -0
- package/lib/aiProviders_new.js +70 -0
- package/lib/androidDeviceDetection.js +2 -0
- package/lib/appMappings.js +1 -0
- package/lib/deviceDetection.js +2 -0
- package/lib/devices.conf +20 -0
- package/lib/devices.js +1 -0
- package/lib/doctor.js +1 -0
- package/lib/executor.js +1 -0
- package/lib/fix_logs.sh +18 -0
- package/lib/frontend/asset-manifest.json +13 -0
- package/lib/frontend/index.html +1 -0
- package/lib/frontend/static/css/main.23bd35c0.css +2 -0
- package/lib/frontend/static/css/main.23bd35c0.css.map +1 -0
- package/lib/frontend/static/js/main.3f13aeaf.js +1 -0
- package/lib/frontend/static/js/main.3f13aeaf.js.LICENSE.txt +48 -0
- package/lib/frontend/static/js/main.3f13aeaf.js.map +1 -0
- package/lib/frontend/voice-test.html +156 -0
- package/lib/index.js +1 -0
- package/lib/package-lock.json +1678 -0
- package/lib/package.json +30 -0
- package/lib/server.js +1 -0
- package/lib/server.js.bak +3380 -0
- package/package.json +78 -0
- package/scripts/postinstall.js +110 -0
- package/scripts/shell/android_device_control +0 -0
- package/scripts/shell/connect_android_usb +0 -0
- package/scripts/shell/connect_android_usb_multi_final +0 -0
- package/scripts/shell/connect_android_wireless +0 -0
- package/scripts/shell/connect_android_wireless_multi_final +0 -0
- package/scripts/shell/connect_ios_usb +0 -0
- package/scripts/shell/connect_ios_usb_multi_final +0 -0
- package/scripts/shell/connect_ios_wireless_multi_final +0 -0
- package/scripts/shell/find_element_coordinates +0 -0
- package/scripts/shell/find_wda +0 -0
- package/scripts/shell/install_uiautomator2 +0 -0
- package/scripts/shell/ios_device_control +0 -0
- package/scripts/shell/setup +0 -0
- package/scripts/shell/setup_android +0 -0
- package/scripts/shell/start +0 -0
- package/scripts/shell/test_android_locators +0 -0
- package/scripts/shell/test_connect +0 -0
- package/scripts/shell/test_device_detection +0 -0
- package/scripts/shell/test_fixes +0 -0
- package/scripts/shell/test_getlocators_fix +0 -0
- package/scripts/shell/test_recording_feature +0 -0
- package/scripts/shell/verify_distribution +0 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Voice Input Test</title>
|
|
7
|
+
<style>
|
|
8
|
+
body {
|
|
9
|
+
font-family: Arial, sans-serif;
|
|
10
|
+
max-width: 800px;
|
|
11
|
+
margin: 50px auto;
|
|
12
|
+
padding: 20px;
|
|
13
|
+
}
|
|
14
|
+
button {
|
|
15
|
+
padding: 15px 30px;
|
|
16
|
+
font-size: 18px;
|
|
17
|
+
margin: 10px;
|
|
18
|
+
cursor: pointer;
|
|
19
|
+
}
|
|
20
|
+
#status {
|
|
21
|
+
padding: 20px;
|
|
22
|
+
margin: 20px 0;
|
|
23
|
+
border: 2px solid #ddd;
|
|
24
|
+
border-radius: 8px;
|
|
25
|
+
min-height: 100px;
|
|
26
|
+
}
|
|
27
|
+
.listening { background: #ffe6e6; border-color: #ff0000; }
|
|
28
|
+
.processing { background: #e6f3ff; border-color: #0066ff; }
|
|
29
|
+
.result { background: #e6ffe6; border-color: #00ff00; }
|
|
30
|
+
#logs {
|
|
31
|
+
background: #f5f5f5;
|
|
32
|
+
padding: 15px;
|
|
33
|
+
border-radius: 8px;
|
|
34
|
+
max-height: 300px;
|
|
35
|
+
overflow-y: auto;
|
|
36
|
+
font-family: monospace;
|
|
37
|
+
font-size: 12px;
|
|
38
|
+
}
|
|
39
|
+
</style>
|
|
40
|
+
</head>
|
|
41
|
+
<body>
|
|
42
|
+
<h1>đ¤ Voice Input Test</h1>
|
|
43
|
+
|
|
44
|
+
<button id="startBtn">Start Listening</button>
|
|
45
|
+
<button id="stopBtn" disabled>Stop</button>
|
|
46
|
+
|
|
47
|
+
<div id="status">
|
|
48
|
+
<h3>Status: <span id="statusText">Ready</span></h3>
|
|
49
|
+
<p><strong>Transcript:</strong> <span id="transcript">...</span></p>
|
|
50
|
+
<p><strong>Is Final:</strong> <span id="isFinal">-</span></p>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<h3>Console Logs:</h3>
|
|
54
|
+
<div id="logs"></div>
|
|
55
|
+
|
|
56
|
+
<script>
|
|
57
|
+
const startBtn = document.getElementById('startBtn');
|
|
58
|
+
const stopBtn = document.getElementById('stopBtn');
|
|
59
|
+
const statusDiv = document.getElementById('status');
|
|
60
|
+
const statusText = document.getElementById('statusText');
|
|
61
|
+
const transcriptSpan = document.getElementById('transcript');
|
|
62
|
+
const isFinalSpan = document.getElementById('isFinal');
|
|
63
|
+
const logsDiv = document.getElementById('logs');
|
|
64
|
+
|
|
65
|
+
function log(msg, ...args) {
|
|
66
|
+
console.log(msg, ...args);
|
|
67
|
+
const time = new Date().toLocaleTimeString();
|
|
68
|
+
logsDiv.innerHTML += `[${time}] ${msg} ${args.join(' ')}<br>`;
|
|
69
|
+
logsDiv.scrollTop = logsDiv.scrollHeight;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
log('đ§ Initializing...');
|
|
73
|
+
|
|
74
|
+
const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
|
|
75
|
+
|
|
76
|
+
if (!SpeechRecognition) {
|
|
77
|
+
log('â Speech Recognition NOT SUPPORTED');
|
|
78
|
+
statusText.textContent = 'Not Supported';
|
|
79
|
+
startBtn.disabled = true;
|
|
80
|
+
} else {
|
|
81
|
+
log('â
Speech Recognition API available');
|
|
82
|
+
|
|
83
|
+
const recognition = new SpeechRecognition();
|
|
84
|
+
recognition.continuous = false;
|
|
85
|
+
recognition.interimResults = true;
|
|
86
|
+
recognition.lang = 'en-US';
|
|
87
|
+
|
|
88
|
+
log('âī¸ Settings configured');
|
|
89
|
+
|
|
90
|
+
recognition.onstart = () => {
|
|
91
|
+
log('đ¤ STARTED - Listening...');
|
|
92
|
+
statusText.textContent = 'Listening...';
|
|
93
|
+
statusDiv.className = 'listening';
|
|
94
|
+
startBtn.disabled = true;
|
|
95
|
+
stopBtn.disabled = false;
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
recognition.onresult = (event) => {
|
|
99
|
+
log('đ RESULT received');
|
|
100
|
+
const result = event.results[event.results.length - 1];
|
|
101
|
+
const transcript = result[0].transcript;
|
|
102
|
+
const confidence = result[0].confidence;
|
|
103
|
+
|
|
104
|
+
transcriptSpan.textContent = transcript;
|
|
105
|
+
isFinalSpan.textContent = result.isFinal ? 'Yes' : 'No';
|
|
106
|
+
|
|
107
|
+
if (result.isFinal) {
|
|
108
|
+
log('â
FINAL:', transcript, 'Confidence:', confidence);
|
|
109
|
+
statusText.textContent = 'Got Result!';
|
|
110
|
+
statusDiv.className = 'result';
|
|
111
|
+
} else {
|
|
112
|
+
log('âŗ Interim:', transcript);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
recognition.onerror = (event) => {
|
|
117
|
+
log('â ERROR:', event.error);
|
|
118
|
+
statusText.textContent = 'Error: ' + event.error;
|
|
119
|
+
statusDiv.className = '';
|
|
120
|
+
startBtn.disabled = false;
|
|
121
|
+
stopBtn.disabled = true;
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
recognition.onend = () => {
|
|
125
|
+
log('đ ENDED');
|
|
126
|
+
statusText.textContent = 'Stopped';
|
|
127
|
+
statusDiv.className = '';
|
|
128
|
+
startBtn.disabled = false;
|
|
129
|
+
stopBtn.disabled = true;
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
startBtn.onclick = () => {
|
|
133
|
+
log('âļī¸ Start button clicked');
|
|
134
|
+
try {
|
|
135
|
+
recognition.start();
|
|
136
|
+
log('â
recognition.start() called');
|
|
137
|
+
} catch (e) {
|
|
138
|
+
log('â Failed to start:', e.message);
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
stopBtn.onclick = () => {
|
|
143
|
+
log('âšī¸ Stop button clicked');
|
|
144
|
+
try {
|
|
145
|
+
recognition.stop();
|
|
146
|
+
log('â
recognition.stop() called');
|
|
147
|
+
} catch (e) {
|
|
148
|
+
log('â Failed to stop:', e.message);
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
log('â
Ready to test!');
|
|
153
|
+
}
|
|
154
|
+
</script>
|
|
155
|
+
</body>
|
|
156
|
+
</html>
|
package/lib/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _0x465c(_0x285d54,_0x424148){_0x285d54=_0x285d54-(0x5*-0x70d+0x21*-0xbf+-0x3d73*-0x1);var _0x43ddc6=_0x45e5();var _0x39af25=_0x43ddc6[_0x285d54];if(_0x465c['FQiQsu']===undefined){var _0x44b34f=function(_0xf55d7a){var _0x194820='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x320f1a='',_0x575425='',_0x3ed770=_0x320f1a+_0x44b34f;for(var _0x347ff6=-0x1a03+0x1ff0+-0x5ed,_0x24cd92,_0x1e4dd1,_0x1723fe=0x1d*0x41+0xc02*0x1+-0xab*0x1d;_0x1e4dd1=_0xf55d7a['charAt'](_0x1723fe++);~_0x1e4dd1&&(_0x24cd92=_0x347ff6%(0x1*-0x1eb1+0x1101+0xdb4)?_0x24cd92*(0x1e15+0x2111*-0x1+0x33c)+_0x1e4dd1:_0x1e4dd1,_0x347ff6++%(-0xd27+-0x16be+0x23e9))?_0x320f1a+=_0x3ed770['charCodeAt'](_0x1723fe+(-0x1*-0x15aa+0xe5c+-0x23fc))-(-0x35e*0x7+0xce+-0x16ce*-0x1)!==0xa3*0x3+0x1*0x20f6+-0x22df?String['fromCharCode'](-0x1*-0x2e9+-0x1*0x1d+-0x1cd&_0x24cd92>>(-(-0x2655*-0x1+-0x1275+-0x9ef*0x2)*_0x347ff6&-0x1*-0x1750+-0xc8c+0xa*-0x113)):_0x347ff6:-0x1e3+0x56*-0x39+0x3*0x703){_0x1e4dd1=_0x194820['indexOf'](_0x1e4dd1);}for(var _0x3beb03=0x1*0x1556+-0x1*-0xeb9+-0x240f*0x1,_0x2e59e8=_0x320f1a['length'];_0x3beb03<_0x2e59e8;_0x3beb03++){_0x575425+='%'+('00'+_0x320f1a['charCodeAt'](_0x3beb03)['toString'](-0x3*0xb55+-0x21a3+-0x43b2*-0x1))['slice'](-(-0x2a2*-0x1+-0x11d1+0xf31*0x1));}return decodeURIComponent(_0x575425);};_0x465c['mFmXBX']=_0x44b34f,_0x465c['RomsKq']={},_0x465c['FQiQsu']=!![];}var _0x397a6a=_0x43ddc6[-0x1acc+0x80d+0x12bf],_0x21bfc6=_0x285d54+_0x397a6a,_0x48fa11=_0x465c['RomsKq'][_0x21bfc6];if(!_0x48fa11){var _0x3d9ad4=function(_0x4584dc){this['rVIZYN']=_0x4584dc,this['dTuzjk']=[-0xb*-0x30d+-0x1*0x2a5+-0x1ee9*0x1,0x7d3*-0x3+-0xf3c+-0x3*-0xce7,0x2511*0x1+0x12*0x1e8+-0x4761],this['bHYftA']=function(){return'newState';},this['yPFmMd']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['fjgooe']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x3d9ad4['prototype']['LlxujT']=function(){var _0x14211f=new RegExp(this['yPFmMd']+this['fjgooe']),_0x305218=_0x14211f['test'](this['bHYftA']['toString']())?--this['dTuzjk'][-0x25a*-0x1+-0x401+-0x4*-0x6a]:--this['dTuzjk'][0xee1*-0x1+0x36e*-0xb+0x349b];return this['tCHcoF'](_0x305218);},_0x3d9ad4['prototype']['tCHcoF']=function(_0x143efc){if(!Boolean(~_0x143efc))return _0x143efc;return this['GJkRIj'](this['rVIZYN']);},_0x3d9ad4['prototype']['GJkRIj']=function(_0x3daa3a){for(var _0x2ea6fe=0x9*-0x413+-0x6*0x262+0x32f7*0x1,_0x23ed8c=this['dTuzjk']['length'];_0x2ea6fe<_0x23ed8c;_0x2ea6fe++){this['dTuzjk']['push'](Math['round'](Math['random']())),_0x23ed8c=this['dTuzjk']['length'];}return _0x3daa3a(this['dTuzjk'][-0x1*0x1ad7+0x6*-0x395+0x1*0x3055]);},new _0x3d9ad4(_0x465c)['LlxujT'](),_0x39af25=_0x465c['mFmXBX'](_0x39af25),_0x465c['RomsKq'][_0x21bfc6]=_0x39af25;}else _0x39af25=_0x48fa11;return _0x39af25;}(function(_0x329a65,_0x345757){var _0x23cf94={_0x53617e:0xd6,_0x26d54b:0xe1,_0x1df0d3:0xe8,_0x478464:0xde,_0x44073b:0x8a,_0x44ed2b:0x8f,_0x4b47ae:0x80,_0x33f651:0x87,_0x3d0329:0x7c,_0x3514e7:0xce,_0x2c14ae:0xd5,_0x323455:0x90,_0x750aaf:0x83,_0x4e225b:0x87,_0x3e3720:0xde,_0x17a7b4:0x81,_0x39d290:0x8b,_0x5a67c6:0x8c,_0x2ec92f:0xd8,_0x2d7d24:0xe1};function _0x4ad0ea(_0x4c11fc,_0x134250,_0x462460,_0x27573e){return _0x465c(_0x4c11fc- -0x11b,_0x27573e);}function _0x44a621(_0xa1d3ce,_0x482e13,_0x20d8ef,_0x3f9924){return _0x465c(_0x20d8ef- -0xc8,_0xa1d3ce);}var _0x4aed70=_0x329a65();while(!![]){try{var _0x4e9f82=-parseInt(_0x44a621(_0x23cf94._0x53617e,0xe0,_0x23cf94._0x26d54b,0xd5))/(-0x1*-0x1fb5+0x312*0x4+-0x2bfc)*(parseInt(_0x44a621(0xdd,_0x23cf94._0x1df0d3,_0x23cf94._0x478464,0xdb))/(-0x157e+0x2*0x274+0x6*0x2c4))+parseInt(_0x4ad0ea(_0x23cf94._0x44073b,0x94,0x90,_0x23cf94._0x44ed2b))/(0x6*-0x100+0x6*0x289+-0x933)+-parseInt(_0x4ad0ea(0x84,0x90,0x89,0x8b))/(0x14b8+-0x8d6*0x3+0x1*0x5ce)*(parseInt(_0x4ad0ea(_0x23cf94._0x4b47ae,0x77,_0x23cf94._0x33f651,0x7a))/(-0x8eb+-0x1*0xe3e+0x45*0x56))+-parseInt(_0x4ad0ea(0x87,0x81,0x7f,_0x23cf94._0x3d0329))/(-0x1694+-0x1*-0x85+0x1615)*(parseInt(_0x4ad0ea(0x7f,0x74,0x78,0x7e))/(-0x2214+0x157e+0xc9d))+-parseInt(_0x44a621(0xcf,_0x23cf94._0x3514e7,_0x23cf94._0x2c14ae,0xd1))/(0x30*0xa1+0xd*-0x137+-0x1*0xe5d)*(-parseInt(_0x4ad0ea(_0x23cf94._0x323455,_0x23cf94._0x750aaf,0x89,_0x23cf94._0x4e225b))/(-0x41*-0xd+-0x25b4+0x4c*0x74))+-parseInt(_0x44a621(0xe4,_0x23cf94._0x3e3720,0xe0,0xe3))/(0x249d+0x139e+0x1*-0x3831)+parseInt(_0x4ad0ea(_0x23cf94._0x17a7b4,_0x23cf94._0x39d290,0x8c,_0x23cf94._0x5a67c6))/(0xed*-0x17+0x295*0x3+0xd97)*(parseInt(_0x44a621(0xcc,_0x23cf94._0x2ec92f,0xd6,_0x23cf94._0x2d7d24))/(-0xb2*-0x13+-0x1*-0xcad+-0x89d*0x3));if(_0x4e9f82===_0x345757)break;else _0x4aed70['push'](_0x4aed70['shift']());}catch(_0x261e71){_0x4aed70['push'](_0x4aed70['shift']());}}}(_0x45e5,-0x4b3c8+0xe5a4a+0x47e2d));function _0x45e5(){var _0x49f90a=['lI9HBMrYB2LKra','Dg9tDhjPBMC','kcGOlISPkYKRkq','mJm0odu3wxnrDKnK','ntvvzxLitMK','mtG3BufZCwfm','ogTWu1n3tW','otm3odeYwKzuA2jX','ntq5mNjPrMfcBW','C2vHCMnO','zxjZq29UzMLN','mtK4rNrZyvD5','BMDZ','lI9Zzxj2zxi','mZG4odm2DujHzgrx','mKvpsKrcsW','zxHWB3j0CW','odC1otm0meHLqNHtyW','mZuYmdGYEw52ue9d','zxjZ','mtyZnZeXnJj3wvDzwu0','lI9LEgvJDxrVCG','lI9KB2n0B3i','yxbWBhK','lI9HAvbYB3zPza','lI9KzxzPy2vezq','DgvJDgLVBG','y29UC3rYDwn0BW'];_0x45e5=function(){return _0x49f90a;};return _0x45e5();}function _0x560dcf(_0x1ca6e2,_0x36299e,_0x421ffe,_0xb2ccfb){return _0x465c(_0xb2ccfb- -0x3e7,_0x1ca6e2);}var _0x423500=(function(){var _0x3c0289={_0x1bedb0:0x92},_0x4d7f10=!![];return function(_0x386a9a,_0x16c12c){var _0x333d62=_0x4d7f10?function(){function _0x5cc332(_0x4337f4,_0xe848de,_0x5a706d,_0x20d118){return _0x465c(_0xe848de- -0x23c,_0x4337f4);}if(_0x16c12c){var _0x2f8c42=_0x16c12c[_0x5cc332(-0x87,-0x8e,-_0x3c0289._0x1bedb0,-0x81)](_0x386a9a,arguments);return _0x16c12c=null,_0x2f8c42;}}:function(){};return _0x4d7f10=![],_0x333d62;};}()),_0x386c4f=_0x423500(this,function(){var _0x437d5c={_0x4fcc1c:0x153,_0x5347a8:0x10b,_0x5879cd:0xf1,_0x2b3591:0x14e,_0x217cdd:0x14c,_0x83e857:0x151,_0x4957f5:0x14a,_0x59872a:0x150,_0x33a61d:0x14d};function _0x1050aa(_0x41a12e,_0x4870f2,_0x5c0a1e,_0x49f00b){return _0x465c(_0x4870f2- -0x296,_0x41a12e);}function _0x26dff3(_0x14b8bb,_0x4da86d,_0x484eff,_0x1928f8){return _0x465c(_0x1928f8- -0x2e6,_0x14b8bb);}return _0x386c4f[_0x26dff3(-0x145,-0x154,-_0x437d5c._0x4fcc1c,-0x14e)]()['search'](_0x1050aa(-_0x437d5c._0x5347a8,-0xfd,-_0x437d5c._0x5879cd,-0xfd)+'+$')[_0x26dff3(-0x157,-0x153,-0x152,-_0x437d5c._0x2b3591)]()[_0x26dff3(-0x14e,-0x15d,-_0x437d5c._0x217cdd,-0x150)+'r'](_0x386c4f)[_0x26dff3(-_0x437d5c._0x83e857,-_0x437d5c._0x217cdd,-0x151,-0x146)](_0x26dff3(-_0x437d5c._0x4957f5,-_0x437d5c._0x59872a,-0x142,-_0x437d5c._0x33a61d)+'+$');});_0x386c4f();function _0x135a55(_0x24752f,_0x36e7a9,_0x4fd5c4,_0x537cfb){var _0x1b02e8={_0x24430b:0x10d};return _0x465c(_0x537cfb- -_0x1b02e8._0x24430b,_0x4fd5c4);}module[_0x560dcf(-0x23a,-0x23a,-0x243,-0x240)]={'server':require(_0x135a55(0x92,0x8e,0xa3,0x97)),'devices':require('./devices'),'deviceDetection':require(_0x135a55(0x7b,0x8e,0x7f,0x87)+_0x135a55(0x8d,0x8e,0x92,0x88)),'androidDeviceDetection':require(_0x135a55(0x8b,0x84,0x98,0x8a)+'eviceDetec'+'tion'),'aiProviders':require(_0x135a55(0x91,0x7d,0x8b,0x86)+_0x135a55(0xa3,0x8f,0x91,0x9d)),'aiProvidersConfig':require(_0x135a55(0x8c,0x88,0x92,0x86)+_0x560dcf(-0x241,-0x242,-0x250,-0x246)),'appMappings':require('./appMappi'+_0x135a55(0xa1,0xa0,0x97,0x96)),'executor':require(_0x560dcf(-0x23c,-0x242,-0x242,-0x23b)),'doctor':require(_0x560dcf(-0x239,-0x238,-0x231,-0x23a))};
|