shellx-ai 1.1.1 → 1.1.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/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,41 @@ export class ConnectionClient {
502
592
  selector,
503
593
  options,
504
594
  };
505
- return this.sendMessage({ waitElement: waitAction }, "waitElement");
506
- }
507
- /**
508
- * Take a screenshot
509
- * @deprecated Use takeScreenshot() instead for consistency
510
- */
511
- async screenShot(options) {
512
- return this.takeScreenshot(options);
595
+ // 转换为 dataRequest 格式
596
+ return this.sendMessage({ dataRequest: { requestType: "waitElement", params: waitAction } }, "dataRequest");
513
597
  }
514
598
  /**
515
599
  * Take a screenshot
516
600
  */
517
601
  async takeScreenshot(options) {
518
- return this.sendMessage({
519
- screenShot: options || {
602
+ const screenshotAction = {
603
+ type: "screenshot",
604
+ ...(options || {
520
605
  format: "png",
521
606
  quality: 30,
522
607
  scale: 1.0,
523
- region: {
524
- left: 0,
525
- top: 0,
526
- width: 1080,
527
- height: 2340,
528
- },
608
+ }),
609
+ };
610
+ // Use sendMessageWithTaskId to set a longer timeout for screenshots (16 seconds)
611
+ const { promise } = await this.sendMessageWithTaskId({
612
+ action: {
613
+ action: screenshotAction,
529
614
  },
530
- }, "screenShot");
615
+ }, "screenshot", { timeout: 16000 });
616
+ return await promise;
531
617
  }
532
618
  /**
533
- * Get screen information
619
+ * Screenshot method (alias for takeScreenshot)
620
+ * This method is required by IConnectionClient interface
534
621
  */
535
- async getScreenInfo() {
536
- return this.sendMessage({ screenInfo: { keepScreenOn: false, wakeApp: true } }, "screenInfo");
622
+ async screenshot(options = { format: "png" }) {
623
+ return await this.takeScreenshot(options);
537
624
  }
538
625
  /**
539
626
  * Get screen information
540
- * @deprecated Use wakeScreenAndGetInfo() instead for clarity
541
627
  */
542
- async getAndWakeScreen() {
543
- return this.wakeScreenAndGetInfo();
628
+ async getScreenInfo() {
629
+ return this.sendMessage({ screenInfo: { keepScreenOn: false, wakeApp: true } }, "screenInfo");
544
630
  }
545
631
  /**
546
632
  * Wake screen and get screen information
@@ -549,10 +635,10 @@ export class ConnectionClient {
549
635
  return this.sendMessage({ screenInfo: { keepScreenOn: true, wakeApp: true } }, "screenInfo");
550
636
  }
551
637
  /**
552
- * Execute an action sequence
638
+ * Execute an action sequence (using dataRequest)
553
639
  */
554
640
  async executeAction(actionSequence, taskId, timeout) {
555
- const { promise } = await this.sendMessageWithTaskId({ actions: actionSequence }, "action", { taskId, timeout });
641
+ const { promise } = await this.sendMessageWithTaskId({ dataRequest: { requestType: "actions", params: actionSequence } }, "dataRequest", { taskId, timeout });
556
642
  return await promise;
557
643
  }
558
644
  /**
@@ -607,9 +693,19 @@ export class ConnectionClient {
607
693
  }
608
694
  /**
609
695
  * Speak text using TTS (Text-to-Speech)
696
+ * @param text - Text to synthesise
697
+ * @param voiceType - Optional Volcengine voice type (e.g. "BV001_streaming")
610
698
  */
611
- async speak(text) {
612
- return this.sendMessage({ ttsControl: { action: "tts_speak", text } }, "oneway");
699
+ async speak(text, voiceType, volume) {
700
+ const ctrl = {
701
+ action: "tts_speak",
702
+ text,
703
+ };
704
+ if (voiceType)
705
+ ctrl.voice_type = voiceType;
706
+ if (volume !== undefined)
707
+ ctrl.volume = volume;
708
+ return this.sendMessage({ ttsControl: ctrl }, "oneway");
613
709
  }
614
710
  /**
615
711
  * Stop TTS (Text-to-Speech)
@@ -617,6 +713,19 @@ export class ConnectionClient {
617
713
  async stopTts() {
618
714
  return this.sendMessage({ ttsControl: { action: "tts_stop" } }, "oneway");
619
715
  }
716
+ /**
717
+ * Close a terminal session by ID
718
+ *
719
+ * @param sid - Session ID (terminal ID) to close
720
+ *
721
+ * @example
722
+ * // Close terminal with ID 12345
723
+ * await client.closeTerminal(12345);
724
+ */
725
+ async closeTerminal(sid) {
726
+ this.logger.info(`🔌 [ConnectionClient] Closing terminal: sid=${sid}`);
727
+ return this.sendMessage({ close: sid }, "oneway");
728
+ }
620
729
  /**
621
730
  * Send raw message (for custom integrations)
622
731
  */
@@ -629,12 +738,16 @@ export class ConnectionClient {
629
738
  * Detect task type from message content
630
739
  */
631
740
  detectTaskType(message) {
741
+ // Check for dataRequest first (new protocol)
742
+ if (message.dataRequest)
743
+ return "dataRequest";
744
+ // Legacy protocol support
632
745
  if (message.findElement)
633
746
  return "findElement";
634
747
  if (message.waitElement)
635
748
  return "waitElement";
636
- if (message.screenShot)
637
- return "screenShot";
749
+ if (message.screenshot)
750
+ return "screenshot";
638
751
  if (message.screenInfo)
639
752
  return "screenInfo";
640
753
  if (message.appList)
@@ -662,6 +775,8 @@ export class ConnectionClient {
662
775
  return "oneway";
663
776
  if (message.ping)
664
777
  return "oneway";
778
+ if (message.close !== undefined)
779
+ return "oneway";
665
780
  // Default to oneway for unknown message types
666
781
  return "oneway";
667
782
  }
@@ -675,10 +790,7 @@ export class ConnectionClient {
675
790
  async sendMessageWithTaskId(message, taskType, options) {
676
791
  return new Promise((resolve) => {
677
792
  const { timeout, taskId: definedTaskId } = options || {};
678
- let taskId = definedTaskId;
679
- if (taskId == null) {
680
- taskId = uuidv4();
681
- }
793
+ const taskId = definedTaskId ?? uuidv4();
682
794
  this.logger.info(`📋 [ShellX] Created task: ${taskId}, Task type: ${taskType}`);
683
795
  this.logger.info(message);
684
796
  const outgoingMessage = taskId ? { ...message, taskId } : message;
@@ -737,8 +849,30 @@ export class ConnectionClient {
737
849
  else {
738
850
  this.logger.info("⏳ [ShellX] Connection not ready, message queued");
739
851
  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) });
852
+ if (isPendingTask(taskType)) {
853
+ // Attach the real promise to the already-registered pendingTask so the
854
+ // caller actually waits for the response once the connection is flushed.
855
+ // (Previously this branch returned Promise.resolve(undefined), causing
856
+ // callers to receive undefined even though the message was queued and
857
+ // the response would eventually arrive.)
858
+ const promise = new Promise((promiseResolve, promiseReject) => {
859
+ if (taskId != null) {
860
+ const task = this.pendingTasks.get(taskId);
861
+ if (task) {
862
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any
863
+ task.resolve = promiseResolve;
864
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any
865
+ task.reject = promiseReject;
866
+ }
867
+ }
868
+ });
869
+ resolve({ taskId, promise });
870
+ }
871
+ else {
872
+ // Fire-and-forget messages (oneway/command) don't expect a response.
873
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any
874
+ resolve({ taskId, promise: Promise.resolve(undefined) });
875
+ }
742
876
  }
743
877
  });
744
878
  }
@@ -801,6 +935,12 @@ export class ConnectionClient {
801
935
  this.wsConnected = false;
802
936
  this.authenticated = false;
803
937
  this.ws?.close();
938
+ // Cancel all pending task timers and resolve them with a connection-closed
939
+ // result so callers don't hang forever. Must happen before clearing the map.
940
+ for (const [, task] of this.pendingTasks) {
941
+ clearTimeout(task.timer);
942
+ task.resolve(this.createTimeoutResult(task.type, 0));
943
+ }
804
944
  this.pendingTasks.clear();
805
945
  this.messageQueue = [];
806
946
  this.stopPing();
@@ -871,7 +1011,7 @@ export class ConnectionClient {
871
1011
  case "action":
872
1012
  // For action tasks, return a basic result
873
1013
  return baseResult;
874
- case "screenShot":
1014
+ case "screenshot":
875
1015
  return {
876
1016
  ...baseResult,
877
1017
  imageData: "",
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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"}