MCPcopy Create free account
hub / github.com/agent-tower/core / parseArgs

Function parseArgs

packages/server/src/cli.ts:31–97  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

29let currentDataDir: string | undefined;
30
31function parseArgs(): { port: number; host: string; dataDir: string; webDir: string; disableAccessPassword: boolean } {
32 const args = process.argv.slice(2);
33 let port: number | undefined;
34 let host: string | undefined;
35 let dataDir: string | undefined;
36 let webDir: string | undefined;
37 let disableAccessPassword = process.env.AGENT_TOWER_DISABLE_ACCESS_PASSWORD === '1'
38 || process.env.AGENT_TOWER_DISABLE_ACCESS_PASSWORD === 'true';
39
40 for (let i = 0; i < args.length; i++) {
41 switch (args[i]) {
42 case '--port':
43 case '-p':
44 port = parseInt(args[++i], 10);
45 if (isNaN(port)) {
46 console.error('Error: --port requires a valid number');
47 process.exit(1);
48 }
49 break;
50 case '--host':
51 host = args[++i];
52 if (!host) {
53 console.error('Error: --host requires a valid hostname or IP address');
54 process.exit(1);
55 }
56 break;
57 case '--data-dir':
58 case '-d':
59 dataDir = args[++i];
60 if (!dataDir) {
61 console.error('Error: --data-dir requires a path');
62 process.exit(1);
63 }
64 break;
65 case '--web-dir':
66 webDir = args[++i];
67 if (!webDir) {
68 console.error('Error: --web-dir requires a path');
69 process.exit(1);
70 }
71 break;
72 case '--disable-access-password':
73 disableAccessPassword = true;
74 break;
75 case '--help':
76 case '-h':
77 printHelp();
78 process.exit(0);
79 case '--version':
80 case '-v':
81 printVersion();
82 process.exit(0);
83 default:
84 console.error(`Unknown option: ${args[i]}`);
85 printHelp();
86 process.exit(1);
87 }
88 }

Callers 1

mainFunction · 0.85

Calls 3

printVersionFunction · 0.85
resolveDataDirFunction · 0.85
printHelpFunction · 0.70

Tested by

no test coverage detected