shellx-ai 1.1.1 → 1.1.3

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/index.js CHANGED
@@ -29,17 +29,18 @@ async function getWebSocket() {
29
29
  }
30
30
  // Dynamically import ws module in Node.js environment
31
31
  try {
32
- const wsModule = await import("ws");
32
+ const wsModule = await import(/* @vite-ignore */ "ws");
33
33
  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access
34
34
  return (wsModule.default || wsModule);
35
35
  }
36
36
  catch {
37
- logger.error("❌ [WebSocket] ws module is not available, please install: npm install ws");
38
- throw new Error("WebSocket not available. Please install ws module: npm install ws");
37
+ logger.error("❌ [WebSocket] Native WebSocket unavailable and 'ws' package not found.", "Node.js < 20 requires: npm install ws");
38
+ throw new Error("WebSocket not available. " +
39
+ "In Node.js < 20 please install the 'ws' package: npm install ws");
39
40
  }
40
41
  }
41
42
  function isPendingTask(taskType) {
42
- return taskType && taskType !== "command" && taskType !== "oneway";
43
+ return taskType && taskType !== "oneway";
43
44
  }
44
45
  /**
45
46
  * Low-level WebSocket Client for direct protocol communication
@@ -120,12 +121,12 @@ export class ConnectionClient {
120
121
  // Resolve initialization promise after WebSocket is connected
121
122
  resolve();
122
123
  // Check if we're in Android sandbox environment
123
- const isAndroidSandbox = process.env["SANDBOX"] === "android";
124
+ const isAndroidSandbox = typeof process !== "undefined" && process?.env["SANDBOX"] === "android";
124
125
  if (isAndroidSandbox) {
125
126
  void this.getScreenInfo();
126
127
  }
127
128
  else {
128
- void this.getAndWakeScreen();
129
+ void this.wakeScreenAndGetInfo();
129
130
  }
130
131
  };
131
132
  this.ws.onmessage = (event) => {
@@ -181,7 +182,7 @@ export class ConnectionClient {
181
182
  const localResp = await fetchWithTimeout("http://127.0.0.1:9091/info", { method: "GET", headers: { Accept: "application/json" } }, 1000);
182
183
  if (localResp.ok) {
183
184
  const info = (await localResp.json());
184
- if (info && (info.status === "ok" || info.status === 1) && info.uuid) {
185
+ if (info && info.uuid) {
185
186
  if (this.deviceId === undefined || this.deviceId === info.uuid) {
186
187
  const localUuid = info.uuid;
187
188
  this.deviceId = localUuid;
@@ -215,8 +216,8 @@ export class ConnectionClient {
215
216
  if (jsonData?.status === "not_registered") {
216
217
  this.logger.error("❌ [Auth] Device not registered");
217
218
  this.logger.error(`📝 [Auth] Status: ${jsonData.message || "Device not registered"}`);
218
- this.logger.error("💡 [Auth] Please register this device on ShellX.ai platform first");
219
- throw new Error(`Device "${this.deviceId}" not registered on ShellX.ai platform. Please visit https://shellx.ai to register the device first.`);
219
+ this.logger.error("💡 [Auth] Please register this device on ShellX platform first");
220
+ throw new Error(`Device "${this.deviceId}" not registered on ShellX platform. Please visit https://shellx.cc to register the device first.`);
220
221
  }
221
222
  // Verify authentication response is valid
222
223
  // If interface returns null or missing required fields, device is not registered
@@ -255,7 +256,7 @@ export class ConnectionClient {
255
256
  return response.json();
256
257
  }
257
258
  try {
258
- const { default: fetch } = await import("node-fetch");
259
+ const { default: fetch } = await import(/* @vite-ignore */ "node-fetch");
259
260
  this.logger.info(`🌐 [Fetch] Request: ${options?.method || "GET"} ${url}`);
260
261
  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument
261
262
  const response = await fetch(url, options);
@@ -372,6 +373,10 @@ export class ConnectionClient {
372
373
  //console.log('📨 [ShellX] Received server message:', message);
373
374
  // Call user-defined message handler
374
375
  this.config.onMessage?.(message);
376
+ // Handle OpenClaw Gateway messages
377
+ if (message.gatewayMsg) {
378
+ this.handleGatewayMessage(message.gatewayMsg);
379
+ }
375
380
  // Handle specific message types and resolve pending tasks
376
381
  if (message.jsonData) {
377
382
  this.handleJsonDataResponse(message.jsonData);
@@ -387,6 +392,65 @@ export class ConnectionClient {
387
392
  this.logger.error("❌ [ShellX] Server error:", message.error);
388
393
  }
389
394
  }
395
+ /**
396
+ * Handle OpenClaw Gateway messages forwarded from the backend
397
+ */
398
+ handleGatewayMessage(gatewayMsgRaw) {
399
+ // gatewayMsg may be a JSON string or already parsed object
400
+ let gatewayMsg;
401
+ if (typeof gatewayMsgRaw === "string") {
402
+ try {
403
+ gatewayMsg = JSON.parse(gatewayMsgRaw);
404
+ this.logger.debug("📨 [Gateway] Parsed Gateway message:", gatewayMsg);
405
+ }
406
+ catch (error) {
407
+ this.logger.error("❌ [Gateway] Failed to parse Gateway message:", gatewayMsgRaw, error);
408
+ return;
409
+ }
410
+ }
411
+ else {
412
+ gatewayMsg = gatewayMsgRaw;
413
+ }
414
+ this.logger.info("📨 [Gateway] Received Gateway message:", gatewayMsg);
415
+ // Call user-defined Gateway message handler
416
+ this.config.onGatewayMessage?.(gatewayMsg);
417
+ // Handle Gateway response messages (for requests sent via gatewayReq)
418
+ if (gatewayMsg.type === "res") {
419
+ // This is a response to a Gateway request
420
+ if (gatewayMsg.ok === false && gatewayMsg.error) {
421
+ this.logger.error("❌ [Gateway] Error response:", gatewayMsg.error.code, gatewayMsg.error.message);
422
+ }
423
+ // Note: Gateway request responses are not matched with pending tasks
424
+ // because Gateway requests are typically fire-and-forget or handled via callbacks
425
+ }
426
+ // Handle Gateway event messages
427
+ if (gatewayMsg.type === "event" && gatewayMsg.event) {
428
+ this.logger.debug("📨 [Gateway] Event:", gatewayMsg.event);
429
+ // Handle specific Gateway events
430
+ switch (gatewayMsg.event) {
431
+ case "chat":
432
+ // Chat events contain streaming responses
433
+ if (gatewayMsg.payload) {
434
+ this.logger.debug("📨 [Gateway] Chat payload:", gatewayMsg.payload);
435
+ }
436
+ break;
437
+ case "agent":
438
+ // Agent events contain tool execution updates
439
+ if (gatewayMsg.payload) {
440
+ this.logger.debug("📨 [Gateway] Agent payload:", gatewayMsg.payload);
441
+ }
442
+ break;
443
+ case "health":
444
+ // Health check events
445
+ if (gatewayMsg.payload) {
446
+ this.logger.debug("📨 [Gateway] Health payload:", gatewayMsg.payload);
447
+ }
448
+ break;
449
+ default:
450
+ this.logger.debug("📨 [Gateway] Unknown event type:", gatewayMsg.event);
451
+ }
452
+ }
453
+ }
390
454
  matchResponseByType(jsonData, taskType) {
391
455
  switch (taskType) {
392
456
  case "findElement":
@@ -399,9 +463,9 @@ export class ConnectionClient {
399
463
  return jsonData.waitElement;
400
464
  }
401
465
  break;
402
- case "screenShot":
403
- if (jsonData.screenShot) {
404
- return jsonData.screenShot;
466
+ case "screenshot":
467
+ if (jsonData.screenshot) {
468
+ return jsonData.screenshot;
405
469
  }
406
470
  break;
407
471
  case "screenInfo":
@@ -416,9 +480,17 @@ export class ConnectionClient {
416
480
  }
417
481
  break;
418
482
  case "action":
483
+ // Try multiple possible response fields for action type
419
484
  if (jsonData.action_event) {
420
485
  return jsonData.action_event;
421
486
  }
487
+ // Server may return action-specific fields like screenshot, screenInfo, etc.
488
+ if (jsonData.screenshot) {
489
+ return jsonData.screenshot;
490
+ }
491
+ if (jsonData.screenInfo) {
492
+ return jsonData.screenInfo;
493
+ }
422
494
  break;
423
495
  case "promptflowx":
424
496
  if (jsonData.promptflowx) {
@@ -433,10 +505,26 @@ export class ConnectionClient {
433
505
  case "asrControl":
434
506
  // ASR control doesn't expect a specific response
435
507
  return { success: true };
508
+ case "dataRequest":
509
+ // Data module request response
510
+ if (jsonData.dataRequest) {
511
+ return jsonData.dataRequest.result;
512
+ }
513
+ break;
514
+ case "command":
515
+ // Shell command result (ptyType=0): server responds with commandResult field
516
+ if (jsonData.command !== undefined) {
517
+ return jsonData.command;
518
+ }
519
+ break;
436
520
  }
437
521
  return undefined;
438
522
  }
439
523
  handleJsonDataResponse(jsonData) {
524
+ // Route ASR results (device-initiated, no taskId)
525
+ if (jsonData.asr && this.config.onAsrResult) {
526
+ this.config.onAsrResult(jsonData.asr.text, jsonData.asr.source);
527
+ }
440
528
  const responseTaskId = jsonData?.taskId;
441
529
  if (responseTaskId) {
442
530
  const task = this.pendingTasks.get(responseTaskId);
@@ -456,7 +544,8 @@ export class ConnectionClient {
456
544
  }
457
545
  }
458
546
  else {
459
- this.logger.warn(`⚠️ [ShellX] Received taskId ${responseTaskId} but no pending task found`);
547
+ // 改为 debug 级别,因为可能是延迟的异步响应或已被 fallback 处理
548
+ this.logger.debug(`⚠️ [ShellX] Received taskId ${responseTaskId} but no pending task found (may be handled by fallback)`);
460
549
  }
461
550
  }
462
551
  else {
@@ -483,7 +572,7 @@ export class ConnectionClient {
483
572
  }
484
573
  // ===== PROTOCOL-AWARE TASK METHODS =====
485
574
  /**
486
- * Find UI elements on the screen
575
+ * Find UI elements on the screen (using dataRequest)
487
576
  */
488
577
  async findElement(selector, options) {
489
578
  const findAction = {
@@ -491,10 +580,11 @@ export class ConnectionClient {
491
580
  selector,
492
581
  options,
493
582
  };
494
- return this.sendMessage({ findElement: findAction }, "findElement");
583
+ // 转换为 dataRequest 格式
584
+ return this.sendMessage({ dataRequest: { requestType: "findElement", params: findAction } }, "dataRequest");
495
585
  }
496
586
  /**
497
- * Wait for UI element to appear
587
+ * Wait for UI element to appear (using dataRequest)
498
588
  */
499
589
  async waitElement(selector, options) {
500
590
  const waitAction = {
@@ -502,45 +592,74 @@ export class ConnectionClient {
502
592
  selector,
503
593
  options,
504
594
  };
505
- return this.sendMessage({ waitElement: waitAction }, "waitElement");
595
+ // 转换为 dataRequest 格式
596
+ return this.sendMessage({ dataRequest: { requestType: "waitElement", params: waitAction } }, "dataRequest");
506
597
  }
507
598
  /**
508
- * Take a screenshot
509
- * @deprecated Use takeScreenshot() instead for consistency
599
+ * Execute clipboard action (using dataRequest)
510
600
  */
511
- async screenShot(options) {
512
- return this.takeScreenshot(options);
601
+ async clipboard(clipboardData) {
602
+ const clipboardAction = {
603
+ type: "clipboard",
604
+ ...clipboardData,
605
+ };
606
+ // 转换为 dataRequest 格式
607
+ return this.sendMessage({ dataRequest: { requestType: "clipboard", params: clipboardAction } }, "dataRequest");
513
608
  }
514
609
  /**
515
- * Take a screenshot
610
+ * Take a screenshot with enhanced error handling and logging
516
611
  */
517
612
  async takeScreenshot(options) {
518
- return this.sendMessage({
519
- screenShot: options || {
613
+ const screenshotAction = {
614
+ type: "screenshot",
615
+ ...(options || {
520
616
  format: "png",
521
617
  quality: 30,
522
618
  scale: 1.0,
523
- region: {
524
- left: 0,
525
- top: 0,
526
- width: 1080,
527
- height: 2340,
528
- },
619
+ }),
620
+ };
621
+ // Remove timeout from action (it's not part of ScreenShotAction)
622
+ const { timeout, ...actionOptions } = options || {};
623
+ Object.assign(screenshotAction, actionOptions);
624
+ const format = screenshotAction.format || "png";
625
+ const quality = screenshotAction.quality || 30;
626
+ const requestTimeout = timeout || 30000;
627
+ logger.debug(`📸 Taking screenshot: format=${format}, quality=${quality}, timeout=${requestTimeout}ms`);
628
+ // Use sendMessageWithTaskId to set a longer timeout for screenshots (30 seconds default)
629
+ const { promise } = await this.sendMessageWithTaskId({
630
+ action: {
631
+ action: screenshotAction,
529
632
  },
530
- }, "screenShot");
633
+ }, "screenshot", { timeout: requestTimeout });
634
+ try {
635
+ const result = await promise;
636
+ if (result?.success) {
637
+ const width = result.dimensions?.width || 0;
638
+ const height = result.dimensions?.height || 0;
639
+ logger.debug(`✅ Screenshot success: ${width}x${height}, format=${format}`);
640
+ }
641
+ else {
642
+ logger.warn(`⚠️ Screenshot failed: ${result?.error || "Unknown error"}`);
643
+ }
644
+ return result;
645
+ }
646
+ catch (error) {
647
+ logger.error(`❌ Screenshot error: ${error instanceof Error ? error.message : String(error)}`);
648
+ throw error;
649
+ }
531
650
  }
532
651
  /**
533
- * Get screen information
652
+ * Screenshot method (alias for takeScreenshot)
653
+ * This method is required by IConnectionClient interface
534
654
  */
535
- async getScreenInfo() {
536
- return this.sendMessage({ screenInfo: { keepScreenOn: false, wakeApp: true } }, "screenInfo");
655
+ async screenshot(options = { format: "png" }) {
656
+ return await this.takeScreenshot(options);
537
657
  }
538
658
  /**
539
659
  * Get screen information
540
- * @deprecated Use wakeScreenAndGetInfo() instead for clarity
541
660
  */
542
- async getAndWakeScreen() {
543
- return this.wakeScreenAndGetInfo();
661
+ async getScreenInfo() {
662
+ return this.sendMessage({ screenInfo: { keepScreenOn: false, wakeApp: true } }, "screenInfo");
544
663
  }
545
664
  /**
546
665
  * Wake screen and get screen information
@@ -549,10 +668,10 @@ export class ConnectionClient {
549
668
  return this.sendMessage({ screenInfo: { keepScreenOn: true, wakeApp: true } }, "screenInfo");
550
669
  }
551
670
  /**
552
- * Execute an action sequence
671
+ * Execute an action sequence (using dataRequest)
553
672
  */
554
673
  async executeAction(actionSequence, taskId, timeout) {
555
- const { promise } = await this.sendMessageWithTaskId({ actions: actionSequence }, "action", { taskId, timeout });
674
+ const { promise } = await this.sendMessageWithTaskId({ dataRequest: { requestType: "actions", params: actionSequence } }, "dataRequest", { taskId, timeout });
556
675
  return await promise;
557
676
  }
558
677
  /**
@@ -607,9 +726,19 @@ export class ConnectionClient {
607
726
  }
608
727
  /**
609
728
  * Speak text using TTS (Text-to-Speech)
729
+ * @param text - Text to synthesise
730
+ * @param voiceType - Optional Volcengine voice type (e.g. "BV001_streaming")
610
731
  */
611
- async speak(text) {
612
- return this.sendMessage({ ttsControl: { action: "tts_speak", text } }, "oneway");
732
+ async speak(text, voiceType, volume) {
733
+ const ctrl = {
734
+ action: "tts_speak",
735
+ text,
736
+ };
737
+ if (voiceType)
738
+ ctrl.voice_type = voiceType;
739
+ if (volume !== undefined)
740
+ ctrl.volume = volume;
741
+ return this.sendMessage({ ttsControl: ctrl }, "oneway");
613
742
  }
614
743
  /**
615
744
  * Stop TTS (Text-to-Speech)
@@ -617,6 +746,19 @@ export class ConnectionClient {
617
746
  async stopTts() {
618
747
  return this.sendMessage({ ttsControl: { action: "tts_stop" } }, "oneway");
619
748
  }
749
+ /**
750
+ * Close a terminal session by ID
751
+ *
752
+ * @param sid - Session ID (terminal ID) to close
753
+ *
754
+ * @example
755
+ * // Close terminal with ID 12345
756
+ * await client.closeTerminal(12345);
757
+ */
758
+ async closeTerminal(sid) {
759
+ this.logger.info(`🔌 [ConnectionClient] Closing terminal: sid=${sid}`);
760
+ return this.sendMessage({ close: sid }, "oneway");
761
+ }
620
762
  /**
621
763
  * Send raw message (for custom integrations)
622
764
  */
@@ -629,12 +771,16 @@ export class ConnectionClient {
629
771
  * Detect task type from message content
630
772
  */
631
773
  detectTaskType(message) {
774
+ // Check for dataRequest first (new protocol)
775
+ if (message.dataRequest)
776
+ return "dataRequest";
777
+ // Legacy protocol support
632
778
  if (message.findElement)
633
779
  return "findElement";
634
780
  if (message.waitElement)
635
781
  return "waitElement";
636
- if (message.screenShot)
637
- return "screenShot";
782
+ if (message.screenshot)
783
+ return "screenshot";
638
784
  if (message.screenInfo)
639
785
  return "screenInfo";
640
786
  if (message.appList)
@@ -662,6 +808,8 @@ export class ConnectionClient {
662
808
  return "oneway";
663
809
  if (message.ping)
664
810
  return "oneway";
811
+ if (message.close !== undefined)
812
+ return "oneway";
665
813
  // Default to oneway for unknown message types
666
814
  return "oneway";
667
815
  }
@@ -675,10 +823,7 @@ export class ConnectionClient {
675
823
  async sendMessageWithTaskId(message, taskType, options) {
676
824
  return new Promise((resolve) => {
677
825
  const { timeout, taskId: definedTaskId } = options || {};
678
- let taskId = definedTaskId;
679
- if (taskId == null) {
680
- taskId = uuidv4();
681
- }
826
+ const taskId = definedTaskId ?? uuidv4();
682
827
  this.logger.info(`📋 [ShellX] Created task: ${taskId}, Task type: ${taskType}`);
683
828
  this.logger.info(message);
684
829
  const outgoingMessage = taskId ? { ...message, taskId } : message;
@@ -737,8 +882,30 @@ export class ConnectionClient {
737
882
  else {
738
883
  this.logger.info("⏳ [ShellX] Connection not ready, message queued");
739
884
  this.messageQueue.push(outgoingMessage);
740
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment
741
- resolve({ taskId, promise: Promise.resolve(undefined) });
885
+ if (isPendingTask(taskType)) {
886
+ // Attach the real promise to the already-registered pendingTask so the
887
+ // caller actually waits for the response once the connection is flushed.
888
+ // (Previously this branch returned Promise.resolve(undefined), causing
889
+ // callers to receive undefined even though the message was queued and
890
+ // the response would eventually arrive.)
891
+ const promise = new Promise((promiseResolve, promiseReject) => {
892
+ if (taskId != null) {
893
+ const task = this.pendingTasks.get(taskId);
894
+ if (task) {
895
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any
896
+ task.resolve = promiseResolve;
897
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any
898
+ task.reject = promiseReject;
899
+ }
900
+ }
901
+ });
902
+ resolve({ taskId, promise });
903
+ }
904
+ else {
905
+ // Fire-and-forget messages (oneway/command) don't expect a response.
906
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any
907
+ resolve({ taskId, promise: Promise.resolve(undefined) });
908
+ }
742
909
  }
743
910
  });
744
911
  }
@@ -801,6 +968,12 @@ export class ConnectionClient {
801
968
  this.wsConnected = false;
802
969
  this.authenticated = false;
803
970
  this.ws?.close();
971
+ // Cancel all pending task timers and resolve them with a connection-closed
972
+ // result so callers don't hang forever. Must happen before clearing the map.
973
+ for (const [, task] of this.pendingTasks) {
974
+ clearTimeout(task.timer);
975
+ task.resolve(this.createTimeoutResult(task.type, 0));
976
+ }
804
977
  this.pendingTasks.clear();
805
978
  this.messageQueue = [];
806
979
  this.stopPing();
@@ -871,7 +1044,7 @@ export class ConnectionClient {
871
1044
  case "action":
872
1045
  // For action tasks, return a basic result
873
1046
  return baseResult;
874
- case "screenShot":
1047
+ case "screenshot":
875
1048
  return {
876
1049
  ...baseResult,
877
1050
  imageData: "",
@@ -1004,4 +1177,6 @@ export { createErrorResponse, createOperationResult, ErrorCode, ShellXError, Con
1004
1177
  export { extractErrorMessage, createErrorResult, createSuccessResult, handleOperation, handleOperationWithRetry, validateRequired, validateOneOfRequired, wrapErrorWithContext, } from "./error-handler.js";
1005
1178
  // Domain management exports
1006
1179
  export { buildDeviceApiUrl, buildDeviceConfigUrl, buildDeviceRegisterUrl, buildTokenVerifyUrl, buildTokenRefreshUrl, getApiBaseUrl, getWsServerUrl, getCurrentDomainInfo, createDomainConfig, isChineseUser, } from "./domain-manager.js";
1180
+ // UI Analyzer exports
1181
+ export { getAllUIElements, extractOnlineCount, extractComments, analyzeScreen, formatScreenAnalysis, formatOnlineCount, formatComments, extractAllTextContent, formatAllTextContent, } from "./ui-analyzer.js";
1007
1182
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}