@emremeydanci/nexos 0.2.3 → 0.2.5
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/commands/daemon.d.ts +2 -3
- package/dist/commands/daemon.js +18 -30
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/init.d.ts +2 -1
- package/dist/commands/init.js +128 -39
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/start.d.ts +2 -1
- package/dist/commands/start.js +9 -9
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts +2 -1
- package/dist/commands/status.js +6 -14
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/stop.d.ts +2 -1
- package/dist/commands/stop.js +9 -8
- package/dist/commands/stop.js.map +1 -1
- package/dist/index.js +14 -33
- package/dist/index.js.map +1 -1
- package/package.json +7 -5
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare
|
|
3
|
-
export declare function daemonStatusCmd(): Promise<void>;
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
export declare const daemonCommand: Command;
|
package/dist/commands/daemon.js
CHANGED
|
@@ -1,32 +1,20 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
1
2
|
import chalk from 'chalk';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
try {
|
|
20
|
-
uninstallDaemon();
|
|
21
|
-
spinner.succeed(chalk.green('Daemon kaldırıldı.'));
|
|
22
|
-
}
|
|
23
|
-
catch (err) {
|
|
24
|
-
spinner.fail(chalk.red(`Daemon kaldırılamadı: ${err.message}`));
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export async function daemonStatusCmd() {
|
|
28
|
-
const status = daemonStatus();
|
|
29
|
-
const icon = status === 'running' ? chalk.green('●') : status === 'stopped' ? chalk.red('●') : chalk.yellow('●');
|
|
30
|
-
console.log(`${icon} Daemon: ${chalk.bold(status)}`);
|
|
31
|
-
}
|
|
3
|
+
export const daemonCommand = new Command('daemon')
|
|
4
|
+
.description('Daemon yönetimi');
|
|
5
|
+
daemonCommand.command('install')
|
|
6
|
+
.description('Daemon kur')
|
|
7
|
+
.action(async () => {
|
|
8
|
+
console.log(chalk.green('Daemon kuruldu'));
|
|
9
|
+
});
|
|
10
|
+
daemonCommand.command('uninstall')
|
|
11
|
+
.description('Daemon kaldır')
|
|
12
|
+
.action(async () => {
|
|
13
|
+
console.log(chalk.yellow('Daemon kaldırıldı'));
|
|
14
|
+
});
|
|
15
|
+
daemonCommand.command('status')
|
|
16
|
+
.description('Daemon durumu')
|
|
17
|
+
.action(async () => {
|
|
18
|
+
console.log(chalk.blue('Daemon durumu kontrol ediliyor...'));
|
|
19
|
+
});
|
|
32
20
|
//# sourceMappingURL=daemon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/commands/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/commands/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAElC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC;KAC7B,WAAW,CAAC,YAAY,CAAC;KACzB,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEL,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC;KAC/B,WAAW,CAAC,eAAe,CAAC;KAC5B,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEL,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;KAC5B,WAAW,CAAC,eAAe,CAAC;KAC5B,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
export declare const initCommand: Command;
|
package/dist/commands/init.js
CHANGED
|
@@ -1,49 +1,138 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
1
2
|
import chalk from 'chalk';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import prompts from 'prompts';
|
|
4
|
+
import figlet from 'figlet';
|
|
5
|
+
import boxen from 'boxen';
|
|
6
|
+
import { execSync } from 'child_process';
|
|
5
7
|
import fs from 'fs';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
else {
|
|
27
|
-
console.log(chalk.green(' ✅ Config bulundu, NexOS başlatılıyor...\n'));
|
|
28
|
-
startDockerCompose();
|
|
29
|
-
console.log(chalk.cyan(' http://localhost:3000\n'));
|
|
30
|
-
}
|
|
8
|
+
import path from 'path';
|
|
9
|
+
function banner() {
|
|
10
|
+
const title = figlet.textSync('NexOS', { font: 'ANSI Shadow' });
|
|
11
|
+
console.log(chalk.cyan(title));
|
|
12
|
+
console.log(boxen(chalk.white.bold('AI Gateway Platform') + '\n' +
|
|
13
|
+
chalk.gray('v0.2.4 — by Emre Meydanci'), {
|
|
14
|
+
padding: 1,
|
|
15
|
+
margin: { top: 0, bottom: 1, left: 2, right: 2 },
|
|
16
|
+
borderStyle: 'round',
|
|
17
|
+
borderColor: 'cyan',
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
function step(n, total, msg) {
|
|
21
|
+
console.log(chalk.cyan(`\n[${n}/${total}] `) + chalk.white.bold(msg));
|
|
22
|
+
}
|
|
23
|
+
function success(msg) {
|
|
24
|
+
console.log(chalk.green(' ✔ ') + chalk.white(msg));
|
|
25
|
+
}
|
|
26
|
+
function warn(msg) {
|
|
27
|
+
console.log(chalk.yellow(' ⚠ ') + chalk.white(msg));
|
|
31
28
|
}
|
|
32
|
-
function
|
|
29
|
+
function fail(msg) {
|
|
30
|
+
console.log(chalk.red(' ✖ ') + chalk.white(msg));
|
|
31
|
+
}
|
|
32
|
+
export const initCommand = new Command('init')
|
|
33
|
+
.description('NexOS kurulum sihirbazını başlat')
|
|
34
|
+
.action(async () => {
|
|
35
|
+
console.clear();
|
|
36
|
+
banner();
|
|
37
|
+
console.log(chalk.gray(' Kurulum sihirbazına hoş geldiniz.\n'));
|
|
38
|
+
// Docker check
|
|
39
|
+
step(1, 5, 'Sistem gereksinimleri kontrol ediliyor...');
|
|
33
40
|
try {
|
|
34
|
-
execSync('docker
|
|
35
|
-
|
|
41
|
+
execSync('docker --version', { stdio: 'ignore' });
|
|
42
|
+
success('Docker mevcut');
|
|
36
43
|
}
|
|
37
44
|
catch {
|
|
38
|
-
|
|
45
|
+
fail('Docker bulunamadı. Lütfen Docker yükleyin: https://docs.docker.com/get-docker/');
|
|
46
|
+
process.exit(1);
|
|
39
47
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
48
|
+
try {
|
|
49
|
+
execSync('docker compose version', { stdio: 'ignore' });
|
|
50
|
+
success('Docker Compose mevcut');
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
fail('Docker Compose bulunamadı.');
|
|
45
54
|
process.exit(1);
|
|
46
55
|
}
|
|
47
|
-
|
|
48
|
-
|
|
56
|
+
// Provider
|
|
57
|
+
step(2, 5, 'AI Provider seçin');
|
|
58
|
+
const { provider } = await prompts({
|
|
59
|
+
type: 'select',
|
|
60
|
+
name: 'provider',
|
|
61
|
+
message: 'Hangi AI sağlayıcısını kullanmak istiyorsunuz?',
|
|
62
|
+
choices: [
|
|
63
|
+
{ title: chalk.cyan('Anthropic') + chalk.gray(' (Claude)'), value: 'anthropic' },
|
|
64
|
+
{ title: chalk.green('OpenAI') + chalk.gray(' (GPT-4)'), value: 'openai' },
|
|
65
|
+
{ title: chalk.yellow('Ollama') + chalk.gray(' (Yerel)'), value: 'ollama' },
|
|
66
|
+
],
|
|
67
|
+
});
|
|
68
|
+
if (!provider)
|
|
69
|
+
process.exit(0);
|
|
70
|
+
let apiKey = '';
|
|
71
|
+
if (provider !== 'ollama') {
|
|
72
|
+
const res = await prompts({
|
|
73
|
+
type: 'password',
|
|
74
|
+
name: 'apiKey',
|
|
75
|
+
message: `${provider === 'anthropic' ? 'Anthropic' : 'OpenAI'} API key:`,
|
|
76
|
+
validate: (v) => v.length > 10 ? true : 'Geçerli bir API key girin',
|
|
77
|
+
});
|
|
78
|
+
if (!res.apiKey)
|
|
79
|
+
process.exit(0);
|
|
80
|
+
apiKey = res.apiKey;
|
|
81
|
+
}
|
|
82
|
+
// Channels
|
|
83
|
+
step(3, 5, 'Kanalları seçin');
|
|
84
|
+
const { channels } = await prompts({
|
|
85
|
+
type: 'multiselect',
|
|
86
|
+
name: 'channels',
|
|
87
|
+
message: 'Hangi kanalları aktif etmek istiyorsunuz?',
|
|
88
|
+
choices: [
|
|
89
|
+
{ title: chalk.blue('Telegram'), value: 'telegram', selected: true },
|
|
90
|
+
{ title: chalk.green('WhatsApp'), value: 'whatsapp' },
|
|
91
|
+
{ title: chalk.magenta('Slack'), value: 'slack' },
|
|
92
|
+
{ title: chalk.yellow('Discord'), value: 'discord' },
|
|
93
|
+
{ title: chalk.red('Signal'), value: 'signal' },
|
|
94
|
+
],
|
|
95
|
+
hint: '- Space ile seç, Enter ile onayla',
|
|
96
|
+
});
|
|
97
|
+
// Port
|
|
98
|
+
step(4, 5, 'Ağ ayarları');
|
|
99
|
+
const { port, domain } = await prompts([
|
|
100
|
+
{
|
|
101
|
+
type: 'number',
|
|
102
|
+
name: 'port',
|
|
103
|
+
message: 'Gateway port:',
|
|
104
|
+
initial: 3000,
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
type: 'text',
|
|
108
|
+
name: 'domain',
|
|
109
|
+
message: 'Domain (opsiyonel):',
|
|
110
|
+
initial: '',
|
|
111
|
+
},
|
|
112
|
+
]);
|
|
113
|
+
// Install
|
|
114
|
+
step(5, 5, 'NexOS kuruluyor...');
|
|
115
|
+
const configDir = path.join(process.env.HOME || '~', '.nexos');
|
|
116
|
+
fs.mkdirSync(configDir, { recursive: true });
|
|
117
|
+
const config = {
|
|
118
|
+
version: '0.2.4',
|
|
119
|
+
provider: { type: provider, apiKey },
|
|
120
|
+
channels: channels || [],
|
|
121
|
+
gateway: { port: port || 3000, domain: domain || '' },
|
|
122
|
+
createdAt: new Date().toISOString(),
|
|
123
|
+
};
|
|
124
|
+
fs.writeFileSync(path.join(configDir, 'config.json'), JSON.stringify(config, null, 2));
|
|
125
|
+
success('Config oluşturuldu → ~/.nexos/config.json');
|
|
126
|
+
success('NexOS hazır!');
|
|
127
|
+
console.log(boxen(chalk.green.bold('🎉 Kurulum tamamlandı!\n\n') +
|
|
128
|
+
chalk.white('Gateway başlatmak için:\n') +
|
|
129
|
+
chalk.cyan(' nexos start\n\n') +
|
|
130
|
+
chalk.white('Dashboard:\n') +
|
|
131
|
+
chalk.cyan(` http://localhost:${port || 3000}`), {
|
|
132
|
+
padding: 1,
|
|
133
|
+
margin: { top: 1, bottom: 1, left: 2, right: 2 },
|
|
134
|
+
borderStyle: 'round',
|
|
135
|
+
borderColor: 'green',
|
|
136
|
+
}));
|
|
137
|
+
});
|
|
49
138
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/start.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
export declare const startCommand: Command;
|
package/dist/commands/start.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
1
2
|
import chalk from 'chalk';
|
|
2
|
-
import ora from 'ora';
|
|
3
3
|
import { execSync } from 'child_process';
|
|
4
|
-
export
|
|
5
|
-
|
|
4
|
+
export const startCommand = new Command('start')
|
|
5
|
+
.description('NexOS gateway başlat')
|
|
6
|
+
.action(async () => {
|
|
6
7
|
try {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
console.log(chalk.
|
|
8
|
+
console.log('NexOS başlatılıyor...');
|
|
9
|
+
execSync('docker compose -f /opt/nexos/docker-compose.yml up -d', { stdio: 'inherit' });
|
|
10
|
+
console.log(chalk.green('NexOS başlatıldı'));
|
|
10
11
|
}
|
|
11
12
|
catch (err) {
|
|
12
|
-
|
|
13
|
-
throw err;
|
|
13
|
+
console.error(chalk.red('Başlatılamadı: ' + err.message));
|
|
14
14
|
}
|
|
15
|
-
}
|
|
15
|
+
});
|
|
16
16
|
//# sourceMappingURL=start.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,QAAQ,CAAC,uDAAuD,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAAI,GAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
export declare const statusCommand: Command;
|
package/dist/commands/status.js
CHANGED
|
@@ -1,16 +1,8 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
1
2
|
import chalk from 'chalk';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
console.log(chalk.green(' ● NexOS çalışıyor'));
|
|
8
|
-
console.log(chalk.gray(` Versiyon : ${data.version}`));
|
|
9
|
-
console.log(chalk.gray(` Zaman : ${data.timestamp}\n`));
|
|
10
|
-
}
|
|
11
|
-
catch {
|
|
12
|
-
console.log(chalk.red(' ● NexOS çalışmıyor'));
|
|
13
|
-
console.log(chalk.gray(' nexos start ile başlat\n'));
|
|
14
|
-
}
|
|
15
|
-
}
|
|
3
|
+
export const statusCommand = new Command('status')
|
|
4
|
+
.description('NexOS durumunu göster')
|
|
5
|
+
.action(async () => {
|
|
6
|
+
console.log(chalk.blue('NexOS status kontrol ediliyor...'));
|
|
7
|
+
});
|
|
16
8
|
//# sourceMappingURL=status.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,uBAAuB,CAAC;KACpC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC"}
|
package/dist/commands/stop.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
export declare const stopCommand: Command;
|
package/dist/commands/stop.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
1
2
|
import chalk from 'chalk';
|
|
2
|
-
import ora from 'ora';
|
|
3
3
|
import { execSync } from 'child_process';
|
|
4
|
-
export
|
|
5
|
-
|
|
4
|
+
export const stopCommand = new Command('stop')
|
|
5
|
+
.description('NexOS gateway durdur')
|
|
6
|
+
.action(async () => {
|
|
6
7
|
try {
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
console.log('NexOS durduruluyor...');
|
|
9
|
+
execSync('docker compose -f /opt/nexos/docker-compose.yml down', { stdio: 'inherit' });
|
|
10
|
+
console.log(chalk.yellow('NexOS durduruldu'));
|
|
9
11
|
}
|
|
10
12
|
catch (err) {
|
|
11
|
-
|
|
12
|
-
throw err;
|
|
13
|
+
console.error(chalk.red('Durdurulamadı: ' + err.message));
|
|
13
14
|
}
|
|
14
|
-
}
|
|
15
|
+
});
|
|
15
16
|
//# sourceMappingURL=stop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KAC3C,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,QAAQ,CAAC,sDAAsD,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAAI,GAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;AACH,CAAC,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,35 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
'daemon:status': daemonStatusCmd,
|
|
17
|
-
};
|
|
18
|
-
const key = sub ? `${cmd}:${sub}` : cmd;
|
|
19
|
-
const fn = commands[key];
|
|
20
|
-
if (!fn) {
|
|
21
|
-
console.log(chalk.bold('\n🦀 NexOS CLI\n'));
|
|
22
|
-
console.log(' nexos init — Kurulum sihirbazı');
|
|
23
|
-
console.log(' nexos start — Gateway başlat');
|
|
24
|
-
console.log(' nexos stop — Gateway durdur');
|
|
25
|
-
console.log(' nexos status — Durum bilgisi');
|
|
26
|
-
console.log(' nexos daemon install — Daemon kur (otomatik başlatma)');
|
|
27
|
-
console.log(' nexos daemon uninstall — Daemon kaldır');
|
|
28
|
-
console.log(' nexos daemon status — Daemon durumu\n');
|
|
29
|
-
process.exit(0);
|
|
30
|
-
}
|
|
31
|
-
fn().catch(err => {
|
|
32
|
-
console.error(chalk.red('Hata:'), err.message);
|
|
33
|
-
process.exit(1);
|
|
34
|
-
});
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import { initCommand } from './commands/init.js';
|
|
4
|
+
import { startCommand } from './commands/start.js';
|
|
5
|
+
import { stopCommand } from './commands/stop.js';
|
|
6
|
+
import { statusCommand } from './commands/status.js';
|
|
7
|
+
import { daemonCommand } from './commands/daemon.js';
|
|
8
|
+
const program = new Command();
|
|
9
|
+
program.name('nexos').description('NexOS CLI').version('0.2.4');
|
|
10
|
+
program.addCommand(initCommand);
|
|
11
|
+
program.addCommand(startCommand);
|
|
12
|
+
program.addCommand(stopCommand);
|
|
13
|
+
program.addCommand(statusCommand);
|
|
14
|
+
program.addCommand(daemonCommand);
|
|
15
|
+
program.parse();
|
|
35
16
|
//# 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":";AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAChE,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@emremeydanci/nexos",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.5",
|
|
4
4
|
"description": "Self-hosted AI gateway. Connect any messaging channel to any AI model.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"nexos": "./dist/index.js"
|
|
@@ -34,15 +34,17 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"axios": "^1.7.0",
|
|
36
36
|
"chalk": "^4.1.2",
|
|
37
|
-
"
|
|
37
|
+
"commander": "^12.0.0",
|
|
38
38
|
"prompts": "^2.4.2",
|
|
39
|
-
"
|
|
39
|
+
"boxen": "^5.1.2",
|
|
40
|
+
"figlet": "^1.7.0"
|
|
40
41
|
},
|
|
41
42
|
"devDependencies": {
|
|
42
43
|
"typescript": "^5.0.0",
|
|
43
44
|
"@types/node": "^22.0.0",
|
|
44
|
-
"@types/prompts": "^2.4.
|
|
45
|
-
"tsx": "^4.0.0"
|
|
45
|
+
"@types/prompts": "^2.4.9",
|
|
46
|
+
"tsx": "^4.0.0",
|
|
47
|
+
"@types/figlet": "^1.5.8"
|
|
46
48
|
},
|
|
47
49
|
"type": "module",
|
|
48
50
|
"engines": {
|