@aiscene/aiserver 1.1.9 → 1.2.2
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/dist/.env +49 -0
- package/dist/config/index.d.ts +0 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +46 -99
- package/dist/config/index.js.map +1 -1
- package/dist/debug/types.d.ts +9 -1
- package/dist/debug/types.d.ts.map +1 -1
- package/dist/debug/websocket-server.d.ts +24 -0
- package/dist/debug/websocket-server.d.ts.map +1 -1
- package/dist/debug/websocket-server.js +112 -0
- package/dist/debug/websocket-server.js.map +1 -1
- package/dist/executor/android-executor.d.ts.map +1 -1
- package/dist/executor/android-executor.js +2 -2
- package/dist/executor/android-executor.js.map +1 -1
- package/dist/executor/ios-executor.d.ts.map +1 -1
- package/dist/executor/ios-executor.js +2 -2
- package/dist/executor/ios-executor.js.map +1 -1
- package/dist/executor/worker-entry.js +53 -30
- package/dist/executor/worker-entry.js.map +1 -1
- package/dist/task/scheduler.d.ts +2 -0
- package/dist/task/scheduler.d.ts.map +1 -1
- package/dist/task/scheduler.js +26 -129
- package/dist/task/scheduler.js.map +1 -1
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +155 -9
- package/dist/web/server.js.map +1 -1
- package/package.json +2 -1
package/dist/web/server.js
CHANGED
|
@@ -158,6 +158,10 @@ tr:hover{background:#1e293b}
|
|
|
158
158
|
.log-level-error{color:#ef4444}
|
|
159
159
|
.log-level-debug{color:#94a3b8}
|
|
160
160
|
.log-content{color:#cbd5e1}
|
|
161
|
+
.log-new{animation:flashLog 0.5s ease-out}
|
|
162
|
+
@keyframes flashLog{0%{background:#1e3a5f40}100%{background:transparent}}
|
|
163
|
+
.log-live{color:#22c55e;font-size:10px;margin-left:8px;animation:pulse 2s infinite}
|
|
164
|
+
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}
|
|
161
165
|
.detail-panel{background:#1e293b;border:1px solid #334155;border-radius:8px;padding:20px;margin-top:16px}
|
|
162
166
|
.detail-row{display:flex;padding:8px 0;border-bottom:1px solid #33415520}
|
|
163
167
|
.detail-label{width:140px;color:#94a3b8;font-size:13px;flex-shrink:0}
|
|
@@ -198,6 +202,121 @@ let autoRefresh=true;
|
|
|
198
202
|
let refreshTimer=null;
|
|
199
203
|
let detailOpen=false; // track if a detail panel is open
|
|
200
204
|
|
|
205
|
+
// ===== WebSocket for Real-time Task Logs =====
|
|
206
|
+
let ws=null;
|
|
207
|
+
let wsConnected=false;
|
|
208
|
+
let subscribedTasks=new Set(); // 当前订阅的任务ID集合
|
|
209
|
+
let taskLogBuffers=new Map(); // taskId -> 实时日志数组
|
|
210
|
+
|
|
211
|
+
function getWsUrl(){
|
|
212
|
+
const proto=location.protocol==='https:'?'wss://':'ws://';
|
|
213
|
+
return proto+location.hostname+':8002';
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
function initWebSocket(){
|
|
217
|
+
if(ws&&ws.readyState===WebSocket.OPEN)return;
|
|
218
|
+
try{
|
|
219
|
+
ws=new WebSocket(getWsUrl());
|
|
220
|
+
ws.onopen=()=>{
|
|
221
|
+
wsConnected=true;
|
|
222
|
+
console.log('[WS] Connected to debug server');
|
|
223
|
+
// 重新订阅之前订阅过的任务
|
|
224
|
+
subscribedTasks.forEach(taskId=>{
|
|
225
|
+
ws.send(JSON.stringify({type:'subscribe_task_logs',taskId}));
|
|
226
|
+
});
|
|
227
|
+
};
|
|
228
|
+
ws.onmessage=(event)=>{
|
|
229
|
+
try{
|
|
230
|
+
const msg=JSON.parse(event.data);
|
|
231
|
+
if(msg.type==='task_log'){
|
|
232
|
+
handleTaskLog(msg);
|
|
233
|
+
}
|
|
234
|
+
}catch(e){}
|
|
235
|
+
};
|
|
236
|
+
ws.onclose=()=>{
|
|
237
|
+
wsConnected=false;
|
|
238
|
+
console.log('[WS] Disconnected, reconnecting in 3s...');
|
|
239
|
+
setTimeout(initWebSocket,3000);
|
|
240
|
+
};
|
|
241
|
+
ws.onerror=(e)=>{
|
|
242
|
+
console.error('[WS] Error:',e);
|
|
243
|
+
};
|
|
244
|
+
}catch(e){
|
|
245
|
+
console.error('[WS] Failed to connect:',e);
|
|
246
|
+
setTimeout(initWebSocket,3000);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
function subscribeTaskLogs(taskId){
|
|
251
|
+
if(!wsConnected||!ws)return;
|
|
252
|
+
if(!subscribedTasks.has(taskId)){
|
|
253
|
+
subscribedTasks.add(taskId);
|
|
254
|
+
taskLogBuffers.set(taskId,[]);
|
|
255
|
+
ws.send(JSON.stringify({type:'subscribe_task_logs',taskId}));
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
function unsubscribeTaskLogs(taskId){
|
|
260
|
+
if(!wsConnected||!ws)return;
|
|
261
|
+
if(subscribedTasks.has(taskId)){
|
|
262
|
+
subscribedTasks.delete(taskId);
|
|
263
|
+
taskLogBuffers.delete(taskId);
|
|
264
|
+
ws.send(JSON.stringify({type:'unsubscribe_task_logs',taskId}));
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
function handleTaskLog(msg){
|
|
269
|
+
const taskId=msg.taskId;
|
|
270
|
+
if(!taskId)return;
|
|
271
|
+
// 记录到 buffer
|
|
272
|
+
if(!taskLogBuffers.has(taskId)){
|
|
273
|
+
taskLogBuffers.set(taskId,[]);
|
|
274
|
+
}
|
|
275
|
+
taskLogBuffers.get(taskId).push({
|
|
276
|
+
level:msg.level||'info',
|
|
277
|
+
content:msg.content||'',
|
|
278
|
+
timestamp:msg.timestamp
|
|
279
|
+
});
|
|
280
|
+
// 限制 buffer 大小
|
|
281
|
+
const buf=taskLogBuffers.get(taskId);
|
|
282
|
+
if(buf.length>500){
|
|
283
|
+
buf.splice(0,buf.length-500);
|
|
284
|
+
}
|
|
285
|
+
// 更新 UI
|
|
286
|
+
updateTaskLogUI(taskId);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
function updateTaskLogUI(taskId){
|
|
290
|
+
const buf=taskLogBuffers.get(taskId);
|
|
291
|
+
if(!buf||buf.length===0)return;
|
|
292
|
+
// 查找对应的日志显示区域
|
|
293
|
+
const logViewer=document.getElementById('task-log-'+esc(taskId).replace(/[^a-zA-Z0-9-_]/g,'_'));
|
|
294
|
+
if(!logViewer)return;
|
|
295
|
+
// 只添加最新的日志,避免重复
|
|
296
|
+
const existingCount=logViewer.querySelectorAll('.log-line').length;
|
|
297
|
+
const newLogs=buf.slice(existingCount);
|
|
298
|
+
if(newLogs.length===0)return;
|
|
299
|
+
newLogs.forEach(l=>{
|
|
300
|
+
const lvl='log-level-'+esc(l.level||'info');
|
|
301
|
+
const div=document.createElement('div');
|
|
302
|
+
div.className='log-line';
|
|
303
|
+
div.innerHTML='<span class="log-time">'+(l.timestamp?new Date(l.timestamp).toLocaleTimeString():'')+'</span><span class="'+lvl+'">['+esc(l.level||'info').toUpperCase()+']</span> <span class="log-content">'+esc(l.content||'')+'</span>';
|
|
304
|
+
logViewer.appendChild(div);
|
|
305
|
+
});
|
|
306
|
+
// 更新计数
|
|
307
|
+
const countEl=document.getElementById('task-log-count-'+esc(taskId).replace(/[^a-zA-Z0-9-_]/g,'_'));
|
|
308
|
+
if(countEl){
|
|
309
|
+
const total=(parseInt(countEl.textContent)||0)+newLogs.length;
|
|
310
|
+
countEl.textContent=total;
|
|
311
|
+
}
|
|
312
|
+
// 自动滚动到底部
|
|
313
|
+
logViewer.scrollTop=logViewer.scrollHeight;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
// ===== Tab: load realtime logs for running tasks =====
|
|
317
|
+
let currentDetailTaskId=null;
|
|
318
|
+
let currentDetailTaskStatus=null;
|
|
319
|
+
|
|
201
320
|
function switchTab(tab){
|
|
202
321
|
currentTab=tab;
|
|
203
322
|
detailOpen=false;
|
|
@@ -335,10 +454,15 @@ async function loadTasks(){
|
|
|
335
454
|
|
|
336
455
|
async function showTaskDetail(taskId){
|
|
337
456
|
detailOpen=true;
|
|
457
|
+
currentDetailTaskId=taskId;
|
|
458
|
+
currentDetailTaskStatus=null;
|
|
338
459
|
const task=await api('/tasks/'+encodeURIComponent(taskId));
|
|
339
460
|
const logs=await api('/tasks/'+encodeURIComponent(taskId)+'/logs');
|
|
340
461
|
const panel=document.getElementById('task-detail');
|
|
341
|
-
if(!task){panel.innerHTML='<p style="color:#ef4444">Task not found</p>';detailOpen=false;return}
|
|
462
|
+
if(!task){panel.innerHTML='<p style="color:#ef4444">Task not found</p>';detailOpen=false;currentDetailTaskId=null;return}
|
|
463
|
+
|
|
464
|
+
currentDetailTaskStatus=task.status;
|
|
465
|
+
const isRunning=task.status==='running'||task.status==='pending';
|
|
342
466
|
|
|
343
467
|
let h='<div class="detail-panel"><div class="section-title">Task Detail: '+esc(task.taskId)+' <button class="btn btn-sm" style="background:#334155;color:#94a3b8;margin-left:12px" onclick="closeTaskDetail()">Close</button></div>';
|
|
344
468
|
h+='<div class="detail-row"><div class="detail-label">Task ID</div><div class="detail-value mono">'+esc(task.taskId)+'</div></div>';
|
|
@@ -357,14 +481,20 @@ async function showTaskDetail(taskId){
|
|
|
357
481
|
h+='<div class="detail-row"><div class="detail-label">Result</div><div class="detail-value mono" style="white-space:pre-wrap;font-size:11px">'+esc(typeof task.result==='object'?JSON.stringify(task.result,null,2):task.result)+'</div></div>';
|
|
358
482
|
}
|
|
359
483
|
|
|
360
|
-
// Execution logs
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
484
|
+
// Execution logs with real-time support
|
|
485
|
+
const logSafeId=esc(taskId).replace(/[^a-zA-Z0-9-_]/g,'_');
|
|
486
|
+
const existingLogsCount=logs?logs.length:0;
|
|
487
|
+
if(existingLogsCount>0||isRunning){
|
|
488
|
+
h+='<div class="section-title" style="margin-top:20px">Execution Logs <span id="task-log-count-'+logSafeId+'" style="color:#64748b;font-size:12px">'+(existingLogsCount||'')+'</span>';
|
|
489
|
+
if(isRunning)h+=' <span style="color:#22c55e;font-size:12px">● LIVE</span>';
|
|
490
|
+
h+='</div>';
|
|
491
|
+
h+='<div class="log-viewer" id="task-log-'+logSafeId+'" style="max-height:400px">';
|
|
492
|
+
if(logs&&logs.length>0){
|
|
493
|
+
logs.forEach(l=>{
|
|
494
|
+
const lvl='log-level-'+esc(l.level||'info');
|
|
495
|
+
h+='<div class="log-line"><span class="log-time">'+fmtTime(l.createdAt)+'</span><span class="'+lvl+'">['+esc(l.level||'info').toUpperCase()+']</span> <span class="log-content">'+esc(l.content)+'</span></div>';
|
|
496
|
+
});
|
|
497
|
+
}
|
|
368
498
|
h+='</div>';
|
|
369
499
|
}else{
|
|
370
500
|
h+='<div class="section-title" style="margin-top:20px">Execution Logs</div><p style="color:#64748b">No logs available</p>';
|
|
@@ -373,6 +503,15 @@ async function showTaskDetail(taskId){
|
|
|
373
503
|
h+='</div>';
|
|
374
504
|
panel.innerHTML=h;
|
|
375
505
|
panel.scrollIntoView({behavior:'smooth'});
|
|
506
|
+
|
|
507
|
+
// 滚动到日志底部
|
|
508
|
+
const logViewer=document.getElementById('task-log-'+logSafeId);
|
|
509
|
+
if(logViewer)logViewer.scrollTop=logViewer.scrollHeight;
|
|
510
|
+
|
|
511
|
+
// 订阅实时日志
|
|
512
|
+
if(isRunning){
|
|
513
|
+
subscribeTaskLogs(taskId);
|
|
514
|
+
}
|
|
376
515
|
}
|
|
377
516
|
|
|
378
517
|
function showTaskLogs(taskId){
|
|
@@ -446,9 +585,15 @@ function showDebugLogs(sessionId){
|
|
|
446
585
|
}
|
|
447
586
|
|
|
448
587
|
function closeTaskDetail(){
|
|
588
|
+
// 取消订阅实时日志
|
|
589
|
+
if(currentDetailTaskId&&(currentDetailTaskStatus==='running'||currentDetailTaskStatus==='pending')){
|
|
590
|
+
unsubscribeTaskLogs(currentDetailTaskId);
|
|
591
|
+
}
|
|
449
592
|
const panel=document.getElementById('task-detail');
|
|
450
593
|
if(panel)panel.innerHTML='';
|
|
451
594
|
detailOpen=false;
|
|
595
|
+
currentDetailTaskId=null;
|
|
596
|
+
currentDetailTaskStatus=null;
|
|
452
597
|
}
|
|
453
598
|
|
|
454
599
|
function closeDebugDetail(){
|
|
@@ -458,6 +603,7 @@ function closeDebugDetail(){
|
|
|
458
603
|
}
|
|
459
604
|
|
|
460
605
|
// ===== Init =====
|
|
606
|
+
initWebSocket(); // 初始化 WebSocket 连接以接收实时日志
|
|
461
607
|
refresh();
|
|
462
608
|
refreshTimer=setInterval(()=>{if(autoRefresh&&!detailOpen)refresh()},5000);
|
|
463
609
|
</script>
|
package/dist/web/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aiscene/aiserver",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "AI automation server with device management, task scheduling, and debug capabilities",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"scripts": {
|
|
14
14
|
"build": "tsc",
|
|
15
15
|
"start": "node dist/index.js",
|
|
16
|
+
"start:prod": "node dist/index.js",
|
|
16
17
|
"dev": "tsx watch src/index.ts",
|
|
17
18
|
"lint": "eslint src/",
|
|
18
19
|
"format": "prettier --write src/"
|