@mobileaidev/ai-app-bridge 0.2.3 → 0.2.4

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.
Files changed (2) hide show
  1. package/bin/mcp-server.js +74 -46
  2. package/package.json +1 -1
package/bin/mcp-server.js CHANGED
@@ -17,13 +17,15 @@ const serverInstructions = [
17
17
  ].join(' ');
18
18
 
19
19
  let buffer = Buffer.alloc(0);
20
-
21
- process.stdin.on('data', (chunk) => {
22
- buffer = Buffer.concat([buffer, chunk]);
23
- drainMessages();
24
- });
25
-
26
- process.stdin.on('error', () => {});
20
+
21
+ function startServer() {
22
+ process.stdin.on('data', (chunk) => {
23
+ buffer = Buffer.concat([buffer, chunk]);
24
+ drainMessages();
25
+ });
26
+
27
+ process.stdin.on('error', () => {});
28
+ }
27
29
 
28
30
  function drainMessages() {
29
31
  while (true) {
@@ -565,9 +567,13 @@ function runBridgeChecked(command, args = {}) {
565
567
  return runBridge(command, args);
566
568
  }
567
569
 
568
- async function runBridge(command, args) {
569
- const cliArgs = [cliScript, command];
570
- addCommonArgs(cliArgs, args);
570
+ async function runBridge(command, args) {
571
+ return runProcess(buildBridgeCliArgs(command, args));
572
+ }
573
+
574
+ function buildBridgeCliArgs(command, args = {}) {
575
+ const cliArgs = [cliScript, command];
576
+ addCommonArgs(cliArgs, args);
571
577
  addArg(cliArgs, 'initial-route', args.initialRoute);
572
578
  addArg(cliArgs, 'activity', args.activity);
573
579
  addArg(cliArgs, 'component', args.component);
@@ -601,33 +607,45 @@ async function runBridge(command, args) {
601
607
  addArg(cliArgs, 'page-url-filter', args.pageUrlFilter);
602
608
  addArg(cliArgs, 'url-filter', args.urlFilter);
603
609
  addArg(cliArgs, 'method', args.method);
604
- addArg(cliArgs, 'status-code', args.statusCode);
605
- addArg(cliArgs, 'compact', args.compact);
606
- addArg(cliArgs, 'full', args.full);
607
- addArg(cliArgs, 'no-bodies', args.noBodies);
608
- addArg(cliArgs, 'duration-ms', args.durationMs);
609
- addArg(cliArgs, 'include-response-body', args.includeResponseBody);
610
- addArg(cliArgs, 'body-max-bytes', args.bodyMaxBytes);
611
- addArg(cliArgs, 'max-events', args.maxEvents);
612
- addArg(cliArgs, 'keep-forward', args.keepForward);
613
- addArg(cliArgs, 'key-code', args.keyCode);
614
- addArg(cliArgs, 'permission', args.permission);
615
- addArg(cliArgs, 'op', args.op);
616
- addArg(cliArgs, 'mode', args.mode);
617
- addArg(cliArgs, 'script', args.script);
618
- addArg(cliArgs, 'selector', args.selector);
610
+ addArg(cliArgs, 'status-code', args.statusCode);
611
+ addArg(cliArgs, 'compact', args.compact);
612
+ addArg(cliArgs, 'full', args.full);
613
+ addArg(cliArgs, 'text-filter', args.textFilter);
614
+ addArg(cliArgs, 'resource-id-filter', args.resourceIdFilter);
615
+ addArg(cliArgs, 'class-filter', args.classFilter);
616
+ addArg(cliArgs, 'visible-only', args.visibleOnly);
617
+ addArg(cliArgs, 'max-nodes', args.maxNodes);
618
+ addArg(cliArgs, 'max-depth', args.maxDepth);
619
+ addArg(cliArgs, 'no-bodies', args.noBodies);
620
+ addArg(cliArgs, 'duration-ms', args.durationMs);
621
+ addArg(cliArgs, 'include-response-body', args.includeResponseBody);
622
+ addArg(cliArgs, 'body-max-bytes', args.bodyMaxBytes);
623
+ addArg(cliArgs, 'max-events', args.maxEvents);
624
+ addArg(cliArgs, 'keep-forward', args.keepForward);
625
+ addArg(cliArgs, 'key-code', args.keyCode);
626
+ addArg(cliArgs, 'payload', args.payload);
627
+ addArg(cliArgs, 'delta', args.delta);
628
+ addArg(cliArgs, 'max-swipes', args.maxSwipes);
629
+ addArg(cliArgs, 'permission', args.permission);
630
+ addArg(cliArgs, 'op', args.op);
631
+ addArg(cliArgs, 'mode', args.mode);
632
+ addArg(cliArgs, 'script', args.script);
633
+ addArg(cliArgs, 'selector', args.selector);
619
634
  addArg(cliArgs, 'target-text', args.targetText);
620
635
  addArg(cliArgs, 'value', args.value);
621
636
  addArg(cliArgs, 'exact', args.exact);
622
637
  addArg(cliArgs, 'button-text', args.buttonText);
623
638
  addArg(cliArgs, 'resource-id', args.resourceId);
624
- addArg(cliArgs, 'attempts', args.attempts);
625
- addArg(cliArgs, 'interval-ms', args.intervalMs);
626
- addArg(cliArgs, 'delta-x', args.deltaX);
627
- addArg(cliArgs, 'delta-y', args.deltaY);
628
- addArg(cliArgs, 'since-id', args.sinceId);
629
- addArg(cliArgs, 'since-ms', args.sinceMs);
630
- addArg(cliArgs, 'limit', args.limit);
639
+ addArg(cliArgs, 'attempts', args.attempts);
640
+ addArg(cliArgs, 'interval-ms', args.intervalMs);
641
+ addArg(cliArgs, 'delta-x', args.deltaX);
642
+ addArg(cliArgs, 'delta-y', args.deltaY);
643
+ addArg(cliArgs, 'require-text', args.requireText);
644
+ addArg(cliArgs, 'absent-text', args.absentText);
645
+ addArg(cliArgs, 'require-activity', args.requireActivity);
646
+ addArg(cliArgs, 'since-id', args.sinceId);
647
+ addArg(cliArgs, 'since-ms', args.sinceMs);
648
+ addArg(cliArgs, 'limit', args.limit);
631
649
  addArg(cliArgs, 'pid', args.pid);
632
650
  addArg(cliArgs, 'app-pid', args.appPid);
633
651
  addArg(cliArgs, 'tag', args.tag);
@@ -635,19 +653,21 @@ async function runBridge(command, args) {
635
653
  addArg(cliArgs, 'grep', args.grep);
636
654
  addArg(cliArgs, 'lines', args.lines);
637
655
  addArg(cliArgs, 'since', args.since);
638
- addArg(cliArgs, 'follow', args.follow);
639
- addArg(cliArgs, 'duration-sec', args.durationSec);
640
- addArg(cliArgs, 'clear', args.clear);
641
- return runProcess(cliArgs);
642
- }
656
+ addArg(cliArgs, 'follow', args.follow);
657
+ addArg(cliArgs, 'duration-sec', args.durationSec);
658
+ addArg(cliArgs, 'clear', args.clear);
659
+ addArg(cliArgs, 'skip-flutter-launch', args.skipFlutterLaunch);
660
+ return cliArgs;
661
+ }
643
662
 
644
663
  async function runSmoke(args) {
645
664
  const cliArgs = [cliScript, 'smoke'];
646
- addCommonArgs(cliArgs, args);
647
- addArg(cliArgs, 'out-file', args.outFile);
648
- addArg(cliArgs, 'artifact-dir', args.artifactDir || defaultArtifactDirFor('smoke', args));
649
- return runProcess(cliArgs);
650
- }
665
+ addCommonArgs(cliArgs, args);
666
+ addArg(cliArgs, 'out-file', args.outFile);
667
+ addArg(cliArgs, 'artifact-dir', args.artifactDir || defaultArtifactDirFor('smoke', args));
668
+ addArg(cliArgs, 'skip-flutter-launch', args.skipFlutterLaunch);
669
+ return runProcess(cliArgs);
670
+ }
651
671
 
652
672
  function defaultArtifactDirFor(command, args) {
653
673
  if (args.outFile) return '';
@@ -776,7 +796,15 @@ function send(message) {
776
796
  process.stdout.write(body);
777
797
  }
778
798
 
779
- function writeLog(text) {
780
- process.stderr.write(`${text}\n`);
781
- }
782
-
799
+ function writeLog(text) {
800
+ process.stderr.write(`${text}\n`);
801
+ }
802
+
803
+ if (require.main === module) {
804
+ startServer();
805
+ }
806
+
807
+ module.exports = {
808
+ buildBridgeCliArgs,
809
+ startServer,
810
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mobileaidev/ai-app-bridge",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "Desktop CLI and MCP server for AI App Bridge.",
5
5
  "repository": {
6
6
  "type": "git",